signAndBuildTransaction method
Implementation
ADATransaction signAndBuildTransaction(ONSignADA onSignADA) {
_validateAmounts();
final aux = auxiliaryData;
final trBody = buildTxBody(auxHash: aux?.toHash());
final bodyHash = List<int>.unmodifiable(trBody.toHash().data);
final witnesses = <ADABaseTransactionWitness>[];
final transactionSigners = signers;
for (final i in transactionSigners) {
final witness = onSignADA(address: i, digest: bodyHash);
witnesses.addAll(witness);
}
final vkeys = witnesses.whereType<Vkeywitness>().toSet().toList();
final bootstraps = witnesses.whereType<BootstrapWitness>().toSet().toList();
return ADATransaction(
body: trBody,
data: aux,
witnessSet: TransactionWitnessSet(
vKeys: vkeys.isEmpty ? null : VkeyWitnesses(vkeys),
nativeScripts: nativeScripts,
bootstraps:
bootstraps.isEmpty ? null : BootstrapWitnesses(bootstraps)));
}