IAccount

Git Source

Author: Matter Labs

Note: security-contact: security@matterlabs.dev

Functions

validateTransaction

Called by the bootloader to validate that an account agrees to process the transaction (and potentially pay for it).

The developer should strive to preserve as many steps as possible both for valid and invalid transactions as this very method is also used during the gas fee estimation (without some of the necessary data, e.g. signature).

function validateTransaction(
  bytes32 _txHash,
  bytes32 _suggestedSignedHash,
  Transaction calldata _transaction
) external payable returns (bytes4 magic);

Parameters

NameTypeDescription
_txHashbytes32The hash of the transaction to be used in the explorer
_suggestedSignedHashbytes32The hash of the transaction is signed by EOAs
_transactionTransactionThe transaction itself

Returns

NameTypeDescription
magicbytes4The magic value that should be equal to the signature of this function if the user agrees to proceed with the transaction.

executeTransaction

function executeTransaction(
  bytes32 _txHash,
  bytes32 _suggestedSignedHash,
  Transaction calldata _transaction
) external payable;

executeTransactionFromOutside

function executeTransactionFromOutside(Transaction calldata _transaction)
  external
  payable;

payForTransaction

function payForTransaction(
  bytes32 _txHash,
  bytes32 _suggestedSignedHash,
  Transaction calldata _transaction
) external payable;

prepareForPaymaster

function prepareForPaymaster(
  bytes32 _txHash,
  bytes32 _possibleSignedHash,
  Transaction calldata _transaction
) external payable;