UNPKG

@biconomy-devx/ethers-lib

Version:

Ethers library adapter to be used by Biconomy SDK

38 lines (37 loc) 2.49 kB
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;