@tokamak-network/thanos-sdk
Version:
Tools for working with Thanos
57 lines (56 loc) • 2.78 kB
TypeScript
import { ethers, Overrides, Signer, BigNumber, CallOverrides } from 'ethers';
import { TransactionRequest, TransactionResponse, BlockTag } from '@ethersproject/abstract-provider';
import { TokenBridgeMessage, NumberLike, AddressLike } from '../interfaces';
import { StandardBridgeAdapter } from './standard-bridge';
export declare class NativeTokenBridgeAdapter extends StandardBridgeAdapter {
getDepositsByAddress(address: AddressLike, opts?: {
fromBlock?: BlockTag;
toBlock?: BlockTag;
}): Promise<TokenBridgeMessage[]>;
getWithdrawalsByAddress(address: AddressLike, opts?: {
fromBlock?: BlockTag;
toBlock?: BlockTag;
}): Promise<TokenBridgeMessage[]>;
supportsTokenPair(l1Token: AddressLike, l2Token: AddressLike): Promise<boolean>;
approval(l1Token: AddressLike, l2Token: AddressLike, signer: ethers.Signer): Promise<BigNumber>;
approve(l1Token: AddressLike, l2Token: AddressLike, amount: NumberLike, signer: Signer, opts?: {
overrides?: Overrides;
}): Promise<TransactionResponse>;
deposit(l1Token: AddressLike, l2Token: AddressLike, amount: NumberLike, signer: Signer, opts?: {
recipient?: AddressLike;
l2GasLimit?: NumberLike;
overrides?: Overrides;
}): Promise<TransactionResponse>;
withdraw(l1Token: AddressLike, l2Token: AddressLike, amount: NumberLike, signer: Signer, opts?: {
recipient?: AddressLike;
overrides?: Overrides;
}): Promise<TransactionResponse>;
populateTransaction: {
approve: (l1Token: AddressLike, l2Token: AddressLike, amount: NumberLike, opts?: {
overrides?: Overrides;
}) => Promise<TransactionRequest>;
deposit: (l1Token: AddressLike, l2Token: AddressLike, amount: NumberLike, opts?: {
recipient?: AddressLike;
l2GasLimit?: NumberLike;
overrides?: Overrides;
}) => Promise<TransactionRequest>;
withdraw: (l1Token: AddressLike, l2Token: AddressLike, amount: NumberLike, opts?: {
recipient?: AddressLike;
overrides?: Overrides;
}) => Promise<TransactionRequest>;
};
estimateGas: {
approve: (l1Token: AddressLike, l2Token: AddressLike, amount: NumberLike, opts?: {
overrides?: CallOverrides;
}) => Promise<BigNumber>;
deposit: (l1Token: AddressLike, l2Token: AddressLike, amount: NumberLike, opts?: {
recipient?: AddressLike;
l2GasLimit?: NumberLike;
overrides?: CallOverrides;
}) => Promise<BigNumber>;
withdraw: (l1Token: AddressLike, l2Token: AddressLike, amount: NumberLike, opts?: {
recipient?: AddressLike;
overrides?: CallOverrides;
}) => Promise<BigNumber>;
};
}