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 UnwindSafe for TokenManager
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more