UNPKG

biconomy-hyphen

Version:

Hyphen SDK to enable instant and seamless cross-chain deposits & withdrawals

132 lines (131 loc) 3.37 kB
import { Contract } from "@ethersproject/contracts"; import { ethers } from "ethers"; import { config } from "./config"; export declare type Config = { hyphenBaseUrl: object; initiateExitPath: string; getSupportedTokensPath: string; checkRequestStatusPath: string; checkTransferStatusPath: string; getPoolInfoPath: string; liquidityPoolManagerABI: object[]; erc20TokenABI: object[]; defaultSupportedTokens: Map<number, SupportedToken[]>; supportedNetworkIds: number[]; defaultExitCheckInterval: number; maxDepositCheckCallbackCount: number; erc20ABIByNetworkId: Map<number, object>; }; export declare type CheckStatusRequest = { tokenAddress: string; amount: string; fromChainId: number; toChainId: number; userAddress: string; }; export declare type CheckStatusResponse = { code: number; message: string; }; export declare type SupportedToken = { tokenSymbol: string; decimal: number; address: string; }; export declare type Options = { defaultAccount?: string; debug?: boolean; environment?: keyof typeof config.hyphenBaseUrl; signatureType?: string; infiniteApproval?: boolean; exitCheckInterval?: number; onFundsTransfered?: (data: ExitResponse) => void; biconomy?: BiconomyOption; walletProvider?: object; }; export declare type InternalBiconomyOption = { apiKey: string; debug: boolean; walletProvider?: object; }; export declare type BiconomyOption = { enable: boolean; apiKey: string; debug: boolean; }; export declare type FetchOption = { body?: string; method: string; headers: any; }; export declare type ExitRequest = { sender: string; receiver: string; tokenAddress: string; amount: string; fromChainId?: number; toChainId?: number; }; export declare type CheckDepositStatusRequest = { depositHash: string; fromChainId: number; }; export declare type ExitResponse = { code: number; message: string; statusCode: number; fromChainId: number; toChainId: number; amount: string; tokenAddress: string; depositHash: string; exitHash: string; }; export declare type DepositRequest = { sender: string; receiver: string; tokenAddress: string; depositContractAddress: string; amount: string; fromChainId: number; toChainId: number; useBiconomy: boolean; }; export declare type ERC20ApproveRequest = { contract: Contract; abi: ethers.ContractInterface; domainType: object; metaTransactionType: object; userAddress: string; spender: string; amount: string; name: string; version: string; address: string; salt: string; }; export declare type ManualExitResponse = { code: number; message: string; exitHash: string; }; export declare type TransactionResponse = { hash: string; wait: (confirmations?: number) => ethers.providers.TransactionReceipt; }; export declare type Transaction = { from: string; data?: string; to: string; signatureType?: string; value: string; }; export declare type PoolInformationResponse = { code: number; message: string; minDepositAmount: string; maxDepositAmount: string; availableLiquidity: string; fromLPManagerAddress: string; toLPManagerAddress: string; };