biconomy-hyphen
Version:
Hyphen SDK to enable instant and seamless cross-chain deposits & withdrawals
56 lines (55 loc) • 2.95 kB
TypeScript
import { ethers } from "ethers";
import { config, RESPONSE_CODES, EXIT_STATUS, SIGNATURE_TYPES } from "./config";
import { CheckDepositStatusRequest, CheckStatusRequest, CheckStatusResponse, DepositRequest, ManualExitResponse, Options, PoolInformationResponse, SupportedToken, Transaction, TransactionResponse } from "./types";
declare class Hyphen {
provider: ethers.providers.Provider;
walletProvider: any;
biconomyProvider: any;
biconomy: any;
options: Options;
supportedTokens: Map<number, void | SupportedToken[]>;
depositTransactionListenerMap: Map<string, any>;
constructor(provider: any, options: Options);
init: () => Promise<void>;
_init: () => Promise<void>;
_validate: (options: Options) => void;
_getProvider: (useBiconomy: boolean) => any;
_getProviderWithAccounts: (useBiconomy: boolean) => any;
getERC20TokenDecimals: (address: string) => any;
getFetchOptions: (method: string) => {
method: string;
headers: {
"Content-Type": string;
};
};
getSupportedTokens: (networkId: number) => SupportedToken[] | void;
preDepositStatus: (checkStatusRequest: CheckStatusRequest) => Promise<CheckStatusResponse>;
_getSupportedTokensFromServer: (networkId: number) => Promise<SupportedToken[] | void>;
getERC20Allowance: (tokenAddress: string, userAddress: string, spender: string) => Promise<unknown>;
deposit: (request: DepositRequest) => Promise<TransactionResponse | undefined>;
listenForExitTransaction: (transaction: TransactionResponse, fromChainId: number) => Promise<void>;
checkDepositStatus: (depositRequest: CheckDepositStatusRequest) => Promise<{
code: number;
message: string;
statusCode: number;
fromChainId: number;
toChainId: number;
amount: string;
tokenAddress: string;
depositHash: string;
exitHash: string;
}>;
getPoolInformation(tokenAddress: string, fromChainId: number, toChainId: number): Promise<PoolInformationResponse>;
approveERC20: (tokenAddress: string, spender: string, amount: string, userAddress: string, infiniteApproval: boolean, useBiconomy: boolean) => Promise<TransactionResponse | undefined>;
triggerManualTransfer: (depositHash: string, chainId: string) => Promise<ManualExitResponse | undefined>;
_getERC20ABI: (networkId: number, tokenAddress: string) => ethers.ContractInterface | undefined;
_depositTokensToLiquidityPoolManager: (request: DepositRequest) => Promise<TransactionResponse | undefined>;
_sendTransaction: (_provider: any, rawTransaction: Transaction) => Promise<TransactionResponse>;
_getHyphenBaseURL: () => string;
formatMessage: (code: number, message: string) => {
code: number;
message: string;
};
_logMessage: (message: object | string) => void;
}
export { Hyphen, config, RESPONSE_CODES, EXIT_STATUS, SIGNATURE_TYPES };