import { BigNumber, ethers } from 'ethers'; import { TxOptions, TxOptionsWithSigner } from '../types'; export interface GateInterface { /** * Deposit to Gate * @param quoteAddr the quote address * @param amount the amount(according to the decimals of the quote address,eg: 1USDC = 1000000) * @param txOptions overrides with ethers types */ deposit( quoteAddr: string, amount: BigNumber, txOptions: TxOptionsWithSigner, ): Promise; deposit(quoteAddr: string, amount: BigNumber, txOptions?: TxOptions): Promise; deposit( quoteAddr: string, amount: BigNumber, txOptions?: TxOptions, ): Promise; /** * Deposit to Gate, decimal will be converted * @param quoteAddr the quote address * @param amount the amount(according to the decimals of the quote address,eg: 1USDC = 1000000) * @param txOptions overrides with ethers types */ depositWad( quoteAddr: string, amount: BigNumber, txOptions: TxOptionsWithSigner, ): Promise; depositWad(quoteAddr: string, amount: BigNumber, txOptions?: TxOptions): Promise; depositWad( quoteAddr: string, amount: BigNumber, txOptions?: TxOptions, ): Promise; /** * Withdraw from Gate * @param quoteAddr the quote address * @param amount the amount(according to the decimals of the quote address,eg: 1USDC = 1000000) * @param txOptions overrides with ethers types */ withdraw( quoteAddr: string, amount: BigNumber, txOptions: TxOptionsWithSigner, ): Promise; withdraw(quoteAddr: string, amount: BigNumber, txOptions?: TxOptions): Promise; withdraw( quoteAddr: string, amount: BigNumber, txOptions?: TxOptions, ): Promise; /** * Withdraw from Gate, decimal will be converted * @param quoteAddr the quote address * @param amount the amount(according to the decimals of the quote address,eg: 1USDC = 1000000) * @param txOptions overrides with ethers types */ withdrawWad( quoteAddr: string, amount: BigNumber, txOptions: TxOptionsWithSigner, ): Promise; withdrawWad(quoteAddr: string, amount: BigNumber, txOptions?: TxOptions): Promise; withdrawWad( quoteAddr: string, amount: BigNumber, txOptions?: TxOptions, ): Promise; /** * Get pending params * @param quotes the quotes address list * @param txOptions overrides with ethers types */ getPendingParams( quotes: string[], txOptions?: TxOptions, ): Promise<{ pendingDuration: BigNumber; thresholds: BigNumber[] }>; /** * Claim pending withdraw * @param quote the quote address * @param trader the trader address * @param txOptions overrides with ethers types */ claimPendingWithdraw( quote: string, trader: string, txOptions: TxOptionsWithSigner, ): Promise; claimPendingWithdraw(quote: string, trader: string, txOptions?: TxOptions): Promise; claimPendingWithdraw( quote: string, trader: string, txOptions?: TxOptions, ): Promise; }