Eip1559TxData.deserialize constructor

Eip1559TxData.deserialize(
  1. String hash
)

Implementation

factory Eip1559TxData.deserialize(String hash) {
  /// delete transaction type
  final data = hash.substring(2);
  final decodeData = Rlp.decode(dynamicToUint8List(data));

  final chainId = hexToBigInt(dynamicToString(decodeData[0])).toInt();

  final txData = EthTxDataRaw(
    nonce: hexToBigInt(dynamicToString(decodeData[1])).toInt(),
    maxPriorityFeePerGas: hexToBigInt(dynamicToString(decodeData[2])).toInt(),
    maxFeePerGas: hexToBigInt(dynamicToString(decodeData[3])).toInt(),
    gasLimit: hexToBigInt(dynamicToString(decodeData[4])).toInt(),
    to: dynamicToHex(decodeData[5]),
    value: hexToBigInt(dynamicToString(decodeData[6])),
    data: dynamicToHex(decodeData[7])
  );

  if (decodeData.length == 12) {
    txData.v = hexToBigInt(dynamicToString(decodeData[9])).toInt();
    txData.r = hexToBigInt(dynamicToString(decodeData[10]));
    txData.s = hexToBigInt(dynamicToString(decodeData[11]));
  }
  return Eip1559TxData(data: txData, network: TxNetwork(chainId: chainId));
}