Skip to content

common_account_abstractions_utils - [mainnet]

use 0x1::chain_id;
use 0x1::string;
use 0x1::string_utils;
use 0x1::transaction_context;
use 0x1::vector;

Functions

network_name

public(friend) fun network_name(): vector<u8>
Implementation
public(friend) fun network_name(): vector<u8> {
let chain_id = chain_id::get();
if (chain_id == 1) {
b"mainnet"
} else if (chain_id == 2) {
b"testnet"
} else if (chain_id == 4) {
b"local"
} else {
let network_name = &mut vector[];
network_name.append(b"custom network: ");
network_name.append(*string_utils::to_string(&chain_id).bytes());
*network_name
}
}

entry_function_name

public(friend) fun entry_function_name(entry_function_payload: &transaction_context::EntryFunctionPayload): vector<u8>
Implementation
public(friend) fun entry_function_name(entry_function_payload: &EntryFunctionPayload): vector<u8> {
let entry_function_name = &mut vector[];
let addr_str = string_utils::to_string(
&transaction_context::account_address(entry_function_payload)
).bytes();
// .slice(1) to remove the leading '@' char
entry_function_name.append(addr_str.slice(1, addr_str.length()));
entry_function_name.append(b"::");
entry_function_name.append(
*transaction_context::module_name(entry_function_payload).bytes()
);
entry_function_name.append(b"::");
entry_function_name.append(
*transaction_context::function_name(entry_function_payload).bytes()
);
*entry_function_name
}