dop-stick
Version:
Source control tooling for versionable-upgradeable smart contracts
47 lines • 1.52 kB
TypeScript
import { ethers } from 'ethers';
import { FunctionMetadata, EventMetadata } from './types';
export declare class ContractInterface {
private contract;
private readonly metadata;
constructor(address: string, abi: any[], signerOrProvider: ethers.Signer | ethers.providers.Provider, metadata: {
functions: FunctionMetadata[];
events: EventMetadata[];
});
/**
* Get the underlying ethers contract
*/
getContract(): ethers.Contract;
/**
* Get function metadata by name or selector
*/
getFunctionMetadata(nameOrSelector: string): FunctionMetadata | undefined;
/**
* Get all function metadata
*/
getFunctions(): FunctionMetadata[];
/**
* Get event metadata by name or signature
*/
getEventMetadata(nameOrSignature: string): EventMetadata | undefined;
/**
* Get all event metadata
*/
getEvents(): EventMetadata[];
/**
* Call a contract function
*/
call(functionNameOrSelector: string, args?: any[], overrides?: ethers.CallOverrides): Promise<any>;
/**
* Listen to contract events
*/
on(eventNameOrSignature: string, listener: (event: any) => void): void;
/**
* Remove event listener
*/
off(eventNameOrSignature: string, listener: (event: any) => void): void;
/**
* Connect contract to a new signer
*/
connect(signerOrProvider: ethers.Signer | ethers.providers.Provider): ContractInterface;
}
//# sourceMappingURL=interface.d.ts.map