evx-sdk
Version:
The Evx SDK is a developer toolkit designed to simplify interaction with the Evx decentralized liquidity protocol. It provides an abstraction layer over the smart contracts, allowing developers to easily build applications, integrate liquidity pools, fetc
32 lines (31 loc) • 956 B
TypeScript
import { ChainName, ContractName } from '@interfaces';
import { ethers, Signer } from 'ethers';
import { RPC } from '@providers';
/**
* @title Base Contract Interface
* @notice Interface for contract interactions
* @dev Defines the base contract structure for all contract implementations
*/
export interface IBaseContract {
signer: Signer | null | undefined;
instance: ethers.Contract;
name: ContractName;
chain: ChainName;
rpc: RPC;
abi: any;
/**
* @notice Sets the signer for contract interactions
* @param signer The signer to use for transactions
*/
setSigner(signer: Signer): void;
/**
* @notice Sets the chain for contract interactions
* @param chain The chain to use for contract interactions
*/
setChain(chain: ChainName): void;
/**
* @notice Gets the contract address for the current chain
* @returns The contract address
*/
getAddress(): string;
}