getTransaction method
Implementation
Future<Tx> getTransaction(String txHash) async {
var response = Map<String, dynamic>.from(await request(
'blockchain.transaction.get',
[txHash, true],
));
var vins = [
for (Map vin in response['vin'])
if (vin.keys.contains('coinbase'))
TxVin(coinbase: vin['coinbase'], sequence: vin['sequence'])
else
TxVin(
txid: vin['txid'],
vout: vin['vout'],
sequence: vin['sequence'],
scriptSig: TxScriptSig(
asm: vin['scriptSig']['asm'],
hex: vin['scriptSig']['hex'],
))
];
var vouts = [
for (var vout in response['vout'])
TxVout(
value: vout['value'],
n: vout['n'],
valueSat: vout['valueSat'],
scriptPubKey:
TxScriptPubKey.fromScriptPubKey(vout['scriptPubKey'] as Map))
];
return Tx(
txid: response['txid'],
hash: response['hash'],
version: response['version'],
size: response['size'],
vsize: response['vsize'],
locktime: response['locktime'],
vin: vins,
vout: vouts,
hex: response['hex'],
blockhash: response['blockhash'],
height: response['height'],
confirmations: response['confirmations'],
time: response['time'],
blocktime: response['blocktime'],
memo: null, // to be implemented - look for a blank vout with op return?
);
}