pub struct TokenManager;Expand description
token search manager
Implementations§
Source§impl TokenManager
impl TokenManager
Sourcepub async fn create_token(
client: Arc<Aptos>,
wallet: Arc<Wallet>,
name: &str,
symbol: &str,
decimals: u8,
initial_supply: u64,
) -> Result<Value, String>
pub async fn create_token( client: Arc<Aptos>, wallet: Arc<Wallet>, name: &str, symbol: &str, decimals: u8, initial_supply: u64, ) -> Result<Value, String>
create token
§Params
client - aptos client wallet - wallet name - full name of the token symbol - token symbol decimals - number of decimal places initial_supply - Initial token supply
§Example
use std::sync::Arc;
use crate::{Aptos, Wallet, token::TokenManager};
use crate::global::rpc::APTOS_MAINNET_URL;
async fn example() -> Result<(), String> {
let client = Arc::new(Aptos::new(APTOS_MAINNET_URL));
let wallet = Arc::new(Wallet::from_private_key("0x..."));
let result = TokenManager::create_token(
client,
wallet,
"Test Token",
"TT",
8,
1_000_000_000,
).await?;
Ok(())
}Sourcepub async fn register_token(
client: Arc<Aptos>,
wallet: Arc<Wallet>,
token_type: &str,
) -> Result<Value, String>
pub async fn register_token( client: Arc<Aptos>, wallet: Arc<Wallet>, token_type: &str, ) -> Result<Value, String>
register token
§Params
client - Aptos client wallet - Wallet token_type - Full token type string (“0x1::coin::CoinStore<0x123::my_token::MyToken>”)
§Example
use std::sync::Arc;
use crate::{Aptos, Wallet, token::TokenManager};
use crate::global::rpc::APTOS_MAINNET_URL;
async fn example() -> Result<(), String> {
let client = Arc::new(Aptos::new(APTOS_MAINNET_URL));
let wallet = Arc::new(Wallet::from_private_key("0x..."));
let token_type = "0x123::my_token::MyToken";
let result = TokenManager::register_token(client, wallet, token_type).await?;
Ok(())
}Sourcepub async fn mint_token(
client: Arc<Aptos>,
wallet: Arc<Wallet>,
token_type: &str,
recipient: &str,
amount: u64,
) -> Result<Value, String>
pub async fn mint_token( client: Arc<Aptos>, wallet: Arc<Wallet>, token_type: &str, recipient: &str, amount: u64, ) -> Result<Value, String>
mint token
§Arguments
client - aptos client wallet - wallet token_type - full token type string recipient - recipient address amount - amount of tokens to mint
§Example
use std::sync::Arc;
use crate::{Aptos, Wallet, token::TokenManager};
use crate::global::rpc::APTOS_MAINNET_URL;
async fn example() -> Result<(), String> {
let client = Arc::new(Aptos::new(APTOS_MAINNET_URL));
let wallet = Arc::new(Wallet::from_private_key("0x..."));
let token_type = "0x123::my_token::MyToken";
let result = TokenManager::mint_token(
client,
wallet,
token_type,
"0x789...",
100_000_000,
).await?;
Ok(())
}Sourcepub async fn burn_token(
client: Arc<Aptos>,
wallet: Arc<Wallet>,
token_type: &str,
amount: u64,
) -> Result<Value, String>
pub async fn burn_token( client: Arc<Aptos>, wallet: Arc<Wallet>, token_type: &str, amount: u64, ) -> Result<Value, String>
burn token
Sourcepub async fn get_token_metadata(
client: Arc<Aptos>,
token_type: &str,
) -> Result<Value, String>
pub async fn get_token_metadata( client: Arc<Aptos>, token_type: &str, ) -> Result<Value, String>
get token metadata
§Params
client - aptos client token_type - full token type string
§Example
use std::sync::Arc;
use crate::{Aptos, token::TokenManager};
use crate::global::rpc::APTOS_MAINNET_URL;
let client = Arc::new(Aptos::new(APTOS_MAINNET_URL));
let token_type = "0x1::aptos_coin::AptosCoin";
let metadata = TokenManager::get_token_metadata(client, token_type).await?;
println!("Token metadata: {:?}", metadata);
Ok(())
}Sourcepub async fn get_token_balance(
client: Arc<Aptos>,
address: &str,
token_type: &str,
) -> Result<u64, String>
pub async fn get_token_balance( client: Arc<Aptos>, address: &str, token_type: &str, ) -> Result<u64, String>
get token balance
§Arguments
client - aptos client instance address - account address to check balance for token_type - full token type string
§Example
use std::sync::Arc;
use crate::{Aptos, token::TokenManager};
use crate::global::rpc::APTOS_MAINNET_URL;
async fn example() -> Result<(), String> {
let client = Arc::new(Aptos::new(APTOS_MAINNET_URL));
let address = "0x123...";
let token_type = "0x1::aptos_coin::AptosCoin";
let balance = TokenManager::get_token_balance(client, address, token_type).await?;
println!("Balance: {}", balance);
Ok(())
}Auto Trait Implementations§
impl Freeze for TokenManager
impl RefUnwindSafe for TokenManager
impl Send for TokenManager
impl Sync for TokenManager
impl Unpin for TokenManager
impl UnsafeUnpin for TokenManager
impl UnwindSafe for TokenManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more