buildSafeTransactionBuilder method
Future<ETHTransactionBuilder>
buildSafeTransactionBuilder({
- required SafeTransaction safeTx,
- required ETHAddress excuter,
- required EthereumSigner excuterSigner,
- required List<
SafeSignature> signatures, - ETHTransactionParams? params,
Implementation
Future<ETHTransactionBuilder> buildSafeTransactionBuilder({
required SafeTransaction safeTx,
required ETHAddress excuter,
required EthereumSigner excuterSigner,
required List<SafeSignature> signatures,
ETHTransactionParams? params,
}) async {
final sort =
signatures.clone()..sort(
(a, b) => a.address.address.toLowerCase().compareTo(
b.address.address.toLowerCase(),
),
);
return ETHTransactionBuilder(
from: excuter,
to: contract.contractAddress,
value: BigInt.zero,
data:
(await contract.execTransaction(
to: safeTx.to,
baseGas: safeTx.gasParams.baseGas,
data: safeTx.data,
gasPrice: safeTx.gasParams.gasPrice,
gasToken: safeTx.gasParams.gasToken,
operation: safeTx.operation,
refundReceiver: safeTx.gasParams.refundReceiver,
safeTxGas: safeTx.gasParams.safeTxGas,
value: safeTx.value,
signatures: sort.expand((e) => e.signature).toList(),
)).encode,
chainId: chainId,
);
}