ETHTransaction.fromJson constructor

ETHTransaction.fromJson(
  1. Map<String, dynamic> json
)

Factory constructor to create an ETHTransaction from JSON.

Implementation

factory ETHTransaction.fromJson(Map<String, dynamic> json) {
  return ETHTransaction(
      nonce: PluginIntUtils.hexToInt(json['nonce']),
      gasLimit: PluginBigintUtils.hexToBigint(json['gasLimit']),
      data: BytesUtils.tryFromHexString(json['data']) ?? const <int>[],
      value: PluginBigintUtils.hexToBigint(json['value']),
      chainId: PluginBigintUtils.hexToBigint(json['chainId']),
      gasPrice: PluginBigintUtils.tryHexToBigint(json['gasPrice']),
      maxFeePerGas: PluginBigintUtils.tryHexToBigint(json['maxFeePerGas']),
      maxPriorityFeePerGas:
          PluginBigintUtils.tryHexToBigint(json['maxPriorityFeePerGas']),
      from: ETHAddress(json['from']),
      to: json['to'] == null ? null : ETHAddress(json['to']),
      type: json['type'] == null
          ? null
          : ETHTransactionType.fromPrefix(
              PluginIntUtils.hexToInt(json['type'])),
      accessList: (json['accessList'] as List?)
          ?.map((e) => AccessListEntry.fromJson(e))
          .toList(),
      signature: json['signature'] == null
          ? null
          : ETHSignature(BigInt.parse(json['signature']['r']),
              BigInt.parse(json['signature']['s']), json['signature']['v']));
}