This module contains the error code for auth_validator module The auth_validator implementation should contain the following functions public fun validate(ctx: &Context, authenticator_payload: vector) fun pre_execute(ctx: &mut Context) fun post_execute(ctx: &mut Context)
- Struct
AuthValidator
- Struct
TxValidateResult
- Constants
- Function
error_invalid_account_auth_key
- Function
error_invalid_authenticator
- Function
new_auth_validator
- Function
validator_id
- Function
validator_module_address
- Function
validator_module_name
- Function
new_tx_validate_result
- Function
get_validate_result_from_ctx
- Function
get_validator_id_from_ctx
- Function
get_session_key_from_ctx_option
- Function
is_validate_via_session_key
- Function
get_session_key_from_ctx
use 0x1::ascii;
use 0x1::option;
use 0x2::context;
The Authentication Validator
struct AuthValidator has copy, drop, store
The Transaction Validate Result this result will be stored in the TxContext
struct TxValidateResult has copy, drop, store
The function must be executed after the transaction is validated
const ErrorMustExecuteAfterValidate: u64 = 1;
The AuthKey in transaction's authenticator do not match with the sender's account auth key
const ErrorValidateInvalidAccountAuthKey: u64 = 1001;
InvalidAuthenticator, include invalid signature
const ErrorValidateInvalidAuthenticator: u64 = 1002;
public fun error_invalid_account_auth_key(): u64
public fun error_invalid_authenticator(): u64
public(friend) fun new_auth_validator(id: u64, module_address: address, module_name: ascii::String): auth_validator::AuthValidator
public fun validator_id(validator: &auth_validator::AuthValidator): u64
public fun validator_module_address(validator: &auth_validator::AuthValidator): address
public fun validator_module_name(validator: &auth_validator::AuthValidator): ascii::String
public(friend) fun new_tx_validate_result(auth_validator_id: u64, auth_validator: option::Option<auth_validator::AuthValidator>, session_key: option::Option<vector<u8>>): auth_validator::TxValidateResult
Get the TxValidateResult from the TxContext, Only can be called after the transaction is validated
public fun get_validate_result_from_ctx(ctx: &context::Context): auth_validator::TxValidateResult
Get the auth validator's id from the TxValidateResult in the TxContext
public fun get_validator_id_from_ctx(ctx: &context::Context): u64
Get the session key from the TxValidateResult in the TxContext If the TxValidateResult is None or SessionKey is None, return None
public fun get_session_key_from_ctx_option(ctx: &context::Context): option::Option<vector<u8>>
The current tx is validate via the session key or not
public fun is_validate_via_session_key(ctx: &context::Context): bool
Get the session key from the TxValidateResult in the TxContext Only can be called after the transaction is validated
public fun get_session_key_from_ctx(ctx: &context::Context): vector<u8>