@broxus/js-bridge-essentials
Version:
Bridge JavaScript Essentials library
66 lines (65 loc) • 3.05 kB
TypeScript
import { type Address } from 'everscale-inpage-provider';
import type Web3 from 'web3';
import { type MatchPrimitiveType } from 'web3-types';
export interface EvmMultiVaultDepositAbiParams {
amount: string;
expectedEvers: string;
payload: Uint8Array | string;
recipient: {
addr: string;
wid: string;
};
token: string;
}
export interface EvmMultiVaultTokenMeta {
activation: string;
blacklisted: boolean;
custom: string;
depositFee: string;
isNative: boolean;
withdrawFee: string;
}
export interface EvmMultiVaultFees {
depositFee: string;
withdrawFee: string;
}
export interface EvmMultiVaultWithdrawalLimits {
daily: string;
enabled: boolean;
undeclared: string;
}
export declare abstract class EvmMultiVaultUtils {
static deposit(connection: Web3, vaultAddress: string, params: EvmMultiVaultDepositAbiParams): Promise<any>;
static forceWithdraw(connection: Web3, vaultAddress: string, pendingWithdrawalIds: {
id: MatchPrimitiveType<'uint256', unknown>;
recipient: string;
}[]): Promise<any>;
static bridge(connection: Web3, vaultAddress: string): Promise<string>;
/**
* Get EVM token meta in MultiVault by the given vault and EVM-like token addresses
* @param {Web3} connection
* @param {string} vaultAddress - vault address (eg. 0x00...0000)
* @param {string} tokenAddress - token address (eg. 0x00...0000)
*/
static tokens(connection: Web3, vaultAddress: string, tokenAddress: string): Promise<EvmMultiVaultTokenMeta>;
/**
* Get EVM native token address in MultiVault by the given vault address and TVM-like token addresses
* @param {Web3} connection
* @param {string} vaultAddress - vault address (eg. 0x00...0000)
* @param {Address | string} tokenAddress - token address (eg. 0:00...0000)
*/
static getNativeToken(connection: Web3, vaultAddress: string, tokenAddress: Address | string): Promise<string>;
/**
* Get TVM native token address in MultiVault by the given vault address and EVM-like token address
* @param {Web3} connection
* @param {string} vaultAddress - vault address (eg. 0x00...0000)
* @param {string} tokenAddress - token address (eg. 0x00...0000)
*/
static natives(connection: Web3, vaultAddress: string, tokenAddress: string): Promise<string | undefined>;
static getAlienFees(connection: Web3, vaultAddress: string): Promise<EvmMultiVaultFees>;
static getNativeFees(connection: Web3, vaultAddress: string): Promise<EvmMultiVaultFees>;
static withdrawalLimits(connection: Web3, vaultAddress: string, tokenAddress: string): Promise<EvmMultiVaultWithdrawalLimits>;
static withdrawalIds(connection: Web3, vaultAddress: string, withdrawalId: string): Promise<boolean>;
static pendingWithdrawals(connection: Web3, vaultAddress: string, recipient: string, id: string): Promise<any>;
static pendingWithdrawalsPerUser(connection: Web3, vaultAddress: string, recipient: string): Promise<number>;
}