UNPKG

@broxus/js-bridge-essentials

Version:

Bridge JavaScript Essentials library

66 lines (65 loc) 3.05 kB
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>; }