Eip7702TxData.deserialize constructor
Eip7702TxData.deserialize(
- String hash
Implementation
factory Eip7702TxData.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]));
final authorization = Eip7702Authorization.deserialize(decodeData[9][0]);
if (decodeData.length == 13) {
txData.v = hexToBigInt(dynamicToString(decodeData[10])).toInt();
txData.r = hexToBigInt(dynamicToString(decodeData[11]));
txData.s = hexToBigInt(dynamicToString(decodeData[12]));
}
return Eip7702TxData(
data: txData,
network: TxNetwork(chainId: chainId),
authorization: authorization);
}