@biconomy-devx/ethers-lib
Version:
Ethers library adapter to be used by Biconomy SDK
38 lines (37 loc) • 2.49 kB
TypeScript
import { TransactionResponse } from '@ethersproject/abstract-provider';
import { Signer } from '@ethersproject/abstract-signer';
import { BigNumber } from '@ethersproject/bignumber';
import { JsonRpcProvider } from '@ethersproject/providers';
import { Eip3770Address, IEvmNetworkManager, IEvmNetworkManagerTransaction, SmartAccountVersion, SmartWalletContract } from '@biconomy-devx/core-types';
import { ethers } from 'ethers';
type Ethers = typeof ethers;
export interface EthersAdapterConfig {
/** ethers - Ethers v5 library */
ethers: Ethers;
/** signer - Ethers signer */
signer: Signer;
provider: JsonRpcProvider;
}
declare class EvmNetworkManager implements IEvmNetworkManager {
#private;
constructor({ ethers, signer, provider }: EthersAdapterConfig);
getProvider(): JsonRpcProvider;
getSigner(): Signer;
getEip3770Address(fullAddress: string): Promise<Eip3770Address>;
getBalance(address: string): Promise<BigNumber>;
getChainId(): Promise<number>;
getSmartWalletContract(smartAccountVersion: SmartAccountVersion, address: string): SmartWalletContract;
getMultiSendContract(smartAccountVersion: SmartAccountVersion, address: string): import("./contracts/MultiSend/v1.0.0/MultiSendEthersContract").default;
getMultiSendCallOnlyContract(smartAccountVersion: SmartAccountVersion, address: string): import("./contracts/MultiSendCallOnly/v1.0.0/MultiSendCallOnlyEthersContract").default;
getSmartWalletFactoryContract(smartAccountVersion: SmartAccountVersion, address: string): import("./contracts/SmartWalletFactory/v1.0.0/SmartWalletProxyFactoryEthersContract").default;
getFallbackGasTankContract(smartAccountVersion: SmartAccountVersion, address: string): import("./contracts/FallbackGasTank/v1.0.0/FallbackGasTankEthersContract").default;
getDefaultCallbackHandlerContract(smartAccountVersion: SmartAccountVersion, address: string): import("./contracts/DefaultCallbackHandlerContract/v1.0.0/DefaultCallbackHandlerEthersContract").default;
getContractCode(address: string): Promise<string>;
isContractDeployed(address: string): Promise<boolean>;
getTransaction(transactionHash: string): Promise<TransactionResponse>;
getSignerAddress(): Promise<string>;
signMessage(message: string): Promise<string>;
estimateGas(transaction: IEvmNetworkManagerTransaction): Promise<number>;
call(transaction: IEvmNetworkManagerTransaction): Promise<string>;
}
export default EvmNetworkManager;