@broxus/js-core
Version:
MobX-based JavaScript Core library
85 lines (84 loc) • 4.22 kB
TypeScript
import { type Address, type DelayedMessageExecution, type FullContractState, type ProviderRpcClient, type SendInternalParams } from 'everscale-inpage-provider';
export interface TvmTokenOwnerAbiParams {
ownerAddress: Address | string;
tokenAddress: Address | string;
}
export interface TvmTokenWalletAddressAbiParams {
walletAddress: Address | string;
}
export interface TvmTokenWalletTransferAbiParams {
amount: string | number;
deployWalletValue?: string | number;
notify?: boolean;
payload?: string;
recipient: Address | string;
remainingGasTo: Address | string;
}
export interface TvmTokenWalletTransferToWalletAbiParams {
amount: string | number;
notify?: boolean;
payload?: string;
recipientTokenWallet: Address | string;
remainingGasTo: Address | string;
}
export interface TvmTokenWalletBurnAbiParams {
amount: string | number;
callbackTo: Address | string;
payload?: string;
remainingGasTo: Address | string;
}
export interface TvmTokenWalletDestroyAbiParams {
remainingGasTo: Address | string;
}
export declare abstract class TvmTokenWalletUtils {
/**
* Transfer - makes the transaction via token wallet contract to send message
* @param {ProviderRpcClient} provider
* @param {Address | string} tokenWalletAddress
* @param {TvmTokenWalletTransferAbiParams} params
* @param {Partial<SendInternalParams>} [args]
*/
static transfer(provider: ProviderRpcClient, tokenWalletAddress: Address | string, params: TvmTokenWalletTransferAbiParams, args?: Partial<SendInternalParams>): Promise<DelayedMessageExecution>;
/**
* Transfer to wallet - makes the transaction via token wallet contract to send message to a
* token wallet
* @param {ProviderRpcClient} provider
* @param {Address | string} tokenWalletAddress
* @param {TvmTokenWalletTransferToWalletAbiParams} params
* @param {Partial<SendInternalParams>} [args]
*/
static transferToWallet(provider: ProviderRpcClient, tokenWalletAddress: Address | string, params: TvmTokenWalletTransferToWalletAbiParams, args?: Partial<SendInternalParams>): Promise<DelayedMessageExecution>;
/**
* Burns assets in favor of the address specified in callbackTo
* @param {ProviderRpcClient} provider
* @param {Address | string} tokenWalletAddress
* @param {TvmTokenWalletBurnAbiParams} params
* @param {Partial<SendInternalParams>} [args]
*/
static burn(provider: ProviderRpcClient, tokenWalletAddress: Address | string, params: TvmTokenWalletBurnAbiParams, args?: Partial<SendInternalParams>): Promise<DelayedMessageExecution>;
/**
* Destroy wallet
* @param {ProviderRpcClient} provider
* @param {Address | string} tokenWalletAddress
* @param {TvmTokenWalletDestroyAbiParams} params
* @param {Partial<SendInternalParams>} [args]
*/
static destroy(provider: ProviderRpcClient, tokenWalletAddress: Address | string, params: TvmTokenWalletDestroyAbiParams, args?: Partial<SendInternalParams>): Promise<DelayedMessageExecution>;
/**
* Returns token wallet balance in this token by the given token root address and owner wallet
* address.
* @param {ProviderRpcClient} connection
* @param {TvmTokenOwnerAbiParams} params
* @param {FullContractState} [cachedState]
*/
static balance(connection: ProviderRpcClient, params: TvmTokenOwnerAbiParams, cachedState?: FullContractState): Promise<string | undefined>;
/**
* Returns token wallet balance in this token by the given owner token wallet address.
* @param {ProviderRpcClient} connection
* @param {TvmTokenWalletAddressAbiParams} params
* @param {FullContractState} [cachedState]
*/
static balance(connection: ProviderRpcClient, params: TvmTokenWalletAddressAbiParams, cachedState?: FullContractState): Promise<string | undefined>;
static owner(connection: ProviderRpcClient, tokenWalletAddress: Address | string, cachedState?: FullContractState): Promise<Address | undefined>;
static root(connection: ProviderRpcClient, tokenWalletAddress: Address | string, cachedState?: FullContractState): Promise<Address | undefined>;
}