Skip to content

Instantly share code, notes, and snippets.

@davidawad
Last active June 30, 2020 20:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save davidawad/58bffcd790f41349a5acc2e5ba8c159d to your computer and use it in GitHub Desktop.
Save davidawad/58bffcd790f41349a5acc2e5ba8c159d to your computer and use it in GitHub Desktop.
public TokenIssueFlowInitiator(Party owner, int amount) {
this.owner = owner;
this.amount = amount;
}
@Suspendable
@Override
public SignedTransaction call() throws FlowException {
Party notary = getServiceHub().getNetworkMapCache().getNotaryIdentities().get(0);
Party issuer = getOurIdentity();
TokenState tokenState = new TokenState(issuer, owner, amount);
TransactionBuilder transactionBuilder = new TransactionBuilder(notary);
CommandData commandData = new TokenContract.Commands.Issue();
transactionBuilder.addCommand(commandData, issuer.getOwningKey(), owner.getOwningKey());
transactionBuilder.addOutputState(tokenState, TokenContract.ID);
transactionBuilder.verify(getServiceHub());
FlowSession session = initiateFlow(owner);
SignedTransaction signedTransaction = getServiceHub().signInitialTransaction(transactionBuilder);
SignedTransaction fullySignedTransaction = subFlow(new CollectSignaturesFlow(signedTransaction, singletonList(session)));
return subFlow(new FinalityFlow(fullySignedTransaction, singletonList(session)));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment