@broxus/js-core
Version:
MobX-based JavaScript Core library
58 lines (57 loc) • 4.38 kB
TypeScript
import { type Address, type DecodedAbiFunctionInputs, type DelayedMessageExecution, type FullContractState, type ProviderRpcClient, type SendInternalParams } from 'everscale-inpage-provider';
import { type VaultTokenOwnerAbiParams } from '../../models/vault-token-wallet';
import { type VaultTokenRootAbi } from '../../models/vault-token/abi';
import { type VaultTokenData } from '../../models/vault-token/VaultToken';
export interface VaultTokenDeployWalletAbiParams {
deployWalletValue?: string | number;
walletOwner: Address | string;
}
export interface VaultTokenBurnAbiParams {
amount: string | number;
callbackTo: Address | string;
payload: string;
remainingGasTo: Address | string;
walletOwner: Address | string;
}
export interface VaultTokenMintAbiParams {
amount: string | number;
deployWalletValue?: string | number;
notify?: boolean;
payload?: string;
recipient: Address | string;
remainingGasTo: Address | string;
}
export interface VaultTokenTransferOwnershipAbiParams {
callbacks?: [address: Address, value: {
payload: string;
value: string | number;
}][];
newOwner: Address | string;
remainingGasTo: Address | string;
}
export declare abstract class VaultTokenUtils {
static deployWallet(provider: ProviderRpcClient, tokenAddress: Address | string, params: VaultTokenDeployWalletAbiParams, args?: Partial<SendInternalParams>): Promise<DelayedMessageExecution>;
static burn(provider: ProviderRpcClient, tokenAddress: Address | string, params: VaultTokenBurnAbiParams, args?: Partial<SendInternalParams>): Promise<DelayedMessageExecution>;
static mint(provider: ProviderRpcClient, tokenAddress: Address | string, params: VaultTokenMintAbiParams, args?: Partial<SendInternalParams>): Promise<DelayedMessageExecution>;
static transferOwnership(provider: ProviderRpcClient, tokenAddress: Address | string, params: VaultTokenTransferOwnershipAbiParams, args: Partial<SendInternalParams>): Promise<DelayedMessageExecution>;
static disableBurnByRoot(provider: ProviderRpcClient, tokenAddress: Address | string, args: Pick<SendInternalParams, 'from'> & Omit<Partial<SendInternalParams>, 'from'>): Promise<DelayedMessageExecution>;
static disableMint(provider: ProviderRpcClient, tokenAddress: Address | string, args: Pick<SendInternalParams, 'from'> & Omit<Partial<SendInternalParams>, 'from'>): Promise<DelayedMessageExecution>;
static setBurnPaused(provider: ProviderRpcClient, tokenAddress: Address | string, params: Omit<DecodedAbiFunctionInputs<typeof VaultTokenRootAbi, 'setBurnPaused'>, 'answerId'>, args: Pick<SendInternalParams, 'from'> & Omit<Partial<SendInternalParams>, 'from'>): Promise<DelayedMessageExecution>;
static getDetails(connection: ProviderRpcClient, tokenAddress: Address | string, cachedState?: FullContractState): Promise<VaultTokenData | undefined>;
static getDecimals(connection: ProviderRpcClient, tokenAddress: Address | string, cachedState?: FullContractState): Promise<number>;
static getSymbol(connection: ProviderRpcClient, tokenAddress: Address | string, cachedState?: FullContractState): Promise<string>;
static getName(connection: ProviderRpcClient, tokenAddress: Address | string, cachedState?: FullContractState): Promise<string>;
static rootOwnerAddress(connection: ProviderRpcClient, tokenAddress: Address | string, cachedState?: FullContractState): Promise<Address>;
static totalSupply(connection: ProviderRpcClient, tokenAddress: Address | string, cachedState?: FullContractState): Promise<string>;
static burnPaused(connection: ProviderRpcClient, tokenAddress: Address | string, cachedState?: FullContractState): Promise<boolean>;
static burnByRootDisabled(connection: ProviderRpcClient, tokenAddress: Address | string, cachedState?: FullContractState): Promise<boolean>;
static mintDisabled(connection: ProviderRpcClient, tokenAddress: Address | string, cachedState?: FullContractState): Promise<boolean>;
/**
* Returns expected token wallet address
* @param {ProviderRpcClient} connection
* @param {VaultTokenOwnerAbiParams} params
* @param {FullContractState} [cachedState]
* @returns Promise<Address>
*/
static walletOf(connection: ProviderRpcClient, params: VaultTokenOwnerAbiParams, cachedState?: FullContractState): Promise<Address>;
}