calculateSafeTransactionHash static method

List<int> calculateSafeTransactionHash({
  1. required BigInt chainId,
  2. required ETHAddress safeAddress,
  3. required SafeTransaction safeTransaction,
  4. required SafeContractVersion version,
})

Implementation

static List<int> calculateSafeTransactionHash({
  required BigInt chainId,
  required ETHAddress safeAddress,
  required SafeTransaction safeTransaction,
  required SafeContractVersion version,
}) {
  final encode = switch (version) {
    SafeContractVersion.v1_0_0 ||
    SafeContractVersion.v1_1_1 ||
    SafeContractVersion.v1_2_0 => encodeTransactionData(
      chainId: chainId,
      safeAddress: safeAddress,
      safeTransaction: safeTransaction,
    ),
    _ => preimageSafeTransactionHash(
      chainId: chainId,
      safeAddress: safeAddress,
      safeTransaction: safeTransaction,
    ),
  };
  return QuickCrypto.keccack256Hash(encode);
}