Skip to content

Type Alias: SimulateError

type SimulateError = {
  error: string;
  revertData?: Bytes;
  status: Exclude<SimulateStatus, typeof Success>;
};

Defined in: apps/submitter/lib/handlers/simulate/types.ts:77

Failed simulate call.

It was either attempted but failed onchain (mostly likely due to failing validation), or it failed to be carried out for offchain operational reasons (communication with the node, submitter capacity, etc...).

You can use call isOnchain and isSubmitterError function on the status to check if the error belongs to the respective categories.

Properties

error

error: string;

Defined in: apps/submitter/lib/handlers/simulate/types.ts:95

Description of the problem.


revertData?

optional revertData: Bytes;

Defined in: apps/submitter/lib/handlers/simulate/types.ts:92

If the status string ends in "Reverted" or "Rejected", this will hold the associated revert or rejection data, if available.

Note that this will be different from the revert data of the simulation of the EVM tx that carried the boop, as first of all it might not have reverted (e.g. Onchain.ExecuteReverted does not cause the transaction to revert when executed onchain), and second we use "carrier errors" to transmit to tag the real errors with their context.

True onchain reverts (as opposed to rejections) should be rare, as the system is set up to avoid them — they can only result from incorrectly implemented accounts and paymasters, or from bugs in the submitter.


status

status: Exclude<SimulateStatus, typeof Success>;

Defined in: apps/submitter/lib/handlers/simulate/types.ts:78