encodeTransactionData static method
List<int>
encodeTransactionData({
- required BigInt chainId,
- required ETHAddress safeAddress,
- required SafeTransaction safeTransaction,
Implementation
static List<int> encodeTransactionData({
required BigInt chainId,
required ETHAddress safeAddress,
required SafeTransaction safeTransaction,
}) {
final encode = ABIUtils.encodeKeccack256(
types: [
"bytes32",
"address",
"uint256",
"bytes32",
"uint256",
"uint256",
"uint256",
"uint256",
"address",
"address",
"uint256",
],
params: [
"0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8",
safeTransaction.to,
safeTransaction.value,
QuickCrypto.keccack256Hash(safeTransaction.data),
safeTransaction.operation.value,
safeTransaction.gasParams.safeTxGas,
safeTransaction.gasParams.baseGas,
safeTransaction.gasParams.gasPrice,
safeTransaction.gasParams.gasToken,
safeTransaction.gasParams.refundReceiver,
safeTransaction.nonce,
],
);
return ABIUtils.encodePacked(
types: ["bytes1", "bytes1", "bytes32", "bytes32"],
params: [
[0x19],
[0x01],
ABIUtils.encodeKeccack256(
types: ["bytes32", "address"],
params: [
"0x035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d4749",
safeAddress,
],
),
encode,
],
);
}