mirror of
https://github.com/corda/corda.git
synced 2025-02-06 11:09:18 +00:00
Add some TODOs
This commit is contained in:
parent
b8c7f949f4
commit
4b9536af04
@ -7,6 +7,11 @@ import java.time.Instant
|
|||||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// Cash
|
// Cash
|
||||||
|
//
|
||||||
|
// Open issues:
|
||||||
|
// - Cannot do currency exchanges this way, as the contract insists that there be a single currency involved!
|
||||||
|
// - Nothing ensures cash states are not created out of thin air.
|
||||||
|
// - Complex logic to do grouping: can it be generalised out into platform code?
|
||||||
|
|
||||||
// Just a fake program identifier for now. In a real system it could be, for instance, the hash of the program bytecode.
|
// Just a fake program identifier for now. In a real system it could be, for instance, the hash of the program bytecode.
|
||||||
val CASH_PROGRAM_ID = SecureHash.sha256("cash")
|
val CASH_PROGRAM_ID = SecureHash.sha256("cash")
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
package core
|
package core
|
||||||
|
|
||||||
|
// TODO: Implement transaction processing logic first pass (selection of contract types to run). Ensure that outputs are all accounted for.
|
||||||
|
//
|
||||||
// TODO: Make a decision on basic timestamping approach (use external TSAs? use fake TSA?)
|
// TODO: Make a decision on basic timestamping approach (use external TSAs? use fake TSA?)
|
||||||
// TODO: Think about how to expose time to the contract
|
|
||||||
// TODO: Pick a serialisation solution for the prototype (kryo?)
|
// TODO: Pick a serialisation solution for the prototype (kryo?)
|
||||||
// TODO: Store transactions to a database, design some conflict detection and rollback
|
// TODO: Store transactions to a database, design some conflict detection and rollback
|
||||||
// TODO: Implement a basic UI that shows contracts and very basic network layer (with chat?)
|
// TODO: Implement a basic UI that shows contracts and very basic network layer (with chat?)
|
||||||
|
|
||||||
|
@ -94,6 +94,7 @@ interface Contract {
|
|||||||
/** Must throw an exception if there's a problem that should prevent state transition. */
|
/** Must throw an exception if there's a problem that should prevent state transition. */
|
||||||
fun verify(inStates: List<ContractState>, outStates: List<ContractState>, args: List<VerifiedSigned<Command>>, time: Instant)
|
fun verify(inStates: List<ContractState>, outStates: List<ContractState>, args: List<VerifiedSigned<Command>>, time: Instant)
|
||||||
|
|
||||||
|
// TODO: This should probably be a hash of a document, rather than a URL to it.
|
||||||
/** Unparsed reference to the natural language contract that this code is supposed to express (usually a URL). */
|
/** Unparsed reference to the natural language contract that this code is supposed to express (usually a URL). */
|
||||||
val legalContractReference: String
|
val legalContractReference: String
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user