mirror of
https://github.com/corda/corda.git
synced 2024-12-30 01:39:04 +00:00
Sync notary demo fixes from M14
* Use Cash contract instead of DummyContract in notary demo to remove dependency on test utils * Check transactions to be recorded before filtering rather than after, as currently if the entire list of transactions is already recorded, it's mis-reported as an empty input.
This commit is contained in:
parent
32ee332d16
commit
f81f374377
@ -1,8 +1,8 @@
|
|||||||
package net.corda.notarydemo.flows
|
package net.corda.notarydemo.flows
|
||||||
|
|
||||||
import co.paralleluniverse.fibers.Suspendable
|
import co.paralleluniverse.fibers.Suspendable
|
||||||
import net.corda.core.contracts.Contract
|
import net.corda.contracts.asset.Cash
|
||||||
import net.corda.core.contracts.ContractState
|
import net.corda.core.contracts.*
|
||||||
import net.corda.core.crypto.sha256
|
import net.corda.core.crypto.sha256
|
||||||
import net.corda.core.flows.FlowLogic
|
import net.corda.core.flows.FlowLogic
|
||||||
import net.corda.core.flows.StartableByRPC
|
import net.corda.core.flows.StartableByRPC
|
||||||
@ -26,16 +26,16 @@ class DummyIssueAndMove(private val notary: Party, private val counterpartyNode:
|
|||||||
@Suspendable
|
@Suspendable
|
||||||
override fun call() = serviceHub.run {
|
override fun call() = serviceHub.run {
|
||||||
// Self issue an asset
|
// Self issue an asset
|
||||||
val state = State(listOf(myInfo.legalIdentity), discriminator)
|
val amount = Amount(1000000, Issued(myInfo.legalIdentity.ref(0), GBP))
|
||||||
val issueTx = signInitialTransaction(TransactionBuilder(notary).apply {
|
val issueTxBuilder = TransactionBuilder(notary = notary)
|
||||||
addOutputState(state)
|
val signers = Cash().generateIssue(issueTxBuilder, amount, serviceHub.myInfo.legalIdentity, notary)
|
||||||
})
|
val issueTx = serviceHub.signInitialTransaction(issueTxBuilder, signers)
|
||||||
recordTransactions(issueTx)
|
serviceHub.recordTransactions(issueTx)
|
||||||
// Move ownership of the asset to the counterparty
|
// Move ownership of the asset to the counterparty
|
||||||
|
val moveTxBuilder = TransactionBuilder(notary = notary)
|
||||||
|
|
||||||
|
val (_, keys) = vaultService.generateSpend(moveTxBuilder, Amount(amount.quantity, GBP), counterpartyNode)
|
||||||
// We don't check signatures because we know that the notary's signature is missing
|
// We don't check signatures because we know that the notary's signature is missing
|
||||||
signInitialTransaction(TransactionBuilder(notary).apply {
|
signInitialTransaction(moveTxBuilder, keys)
|
||||||
addInputState(issueTx.tx.outRef<ContractState>(0))
|
|
||||||
addOutputState(state.copy(participants = listOf(counterpartyNode)))
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user