buildAsync method

Future<Tx> buildAsync(
  1. AsyncSignerCallback signer
)

Async variant of build for hardware wallets / remote signers.

Implementation

Future<Tx> buildAsync(AsyncSignerCallback signer) async {
  final ordered = orderedInputs();
  final outs = orderedOutputs();
  final tx = unsignedTx(ordered, outs);

  final signed = <TxInput>[];
  for (var i = 0; i < ordered.length; i++) {
    final meta = ordered[i];
    final digest = computeDigest(tx, i, meta);
    final sig = await signer(tx, i, digest, meta.hashType);
    signed.add(buildSignedInput(meta, sig));
  }

  return Tx(
    version: version,
    inputs: signed,
    outputs: outs,
    locktime: locktime,
  );
}