use 0x1::option;
use 0x2::context;
use 0x2::tx_result;
use 0x3::account;
use 0x3::account_authentication;
use 0x3::address_mapping;
use 0x3::auth_validator;
use 0x3::auth_validator_registry;
use 0x3::builtin_validators;
use 0x3::chain_id;
use 0x3::coin;
use 0x3::gas_coin;
use 0x3::multichain_address;
use 0x3::session_key;
use 0x3::transaction_fee;
const MAX_U64: u128 = 18446744073709551615;
Transaction exceeded its allocated max gas
const ErrorOutOfGas: u64 = 1;
const ErrorValidateAccountDoesNotExist: u64 = 1003;
const ErrorValidateBadChainId: u64 = 1006;
const ErrorValidateCantPayGasDeposit: u64 = 1004;
The authenticator's auth validator id is not installed to the sender's account
const ErrorValidateNotInstalledAuthValidator: u64 = 1010;
Validate errors. These are separated out from the other errors in this module since they are mapped separately to major VM statuses, and are important to the semantics of the system.
const ErrorValidateSequenceNuberTooOld: u64 = 1001;
const ErrorValidateSequenceNumberTooBig: u64 = 1007;
const ErrorValidateSequenceNumberTooNew: u64 = 1002;
const ErrorValidateTransactionExpired: u64 = 1005;
This function is for Rooch to validate the transaction sender's authenticator. If the authenticator is invaid, abort this function.
public fun validate(ctx: &context::Context, chain_id: u64, auth_validator_id: u64, authenticator_payload: vector<u8>): auth_validator::TxValidateResult