@gotake/gotake-sdk
Version:
SDK for interacting with GoTake blockchain contracts
54 lines • 1.56 kB
TypeScript
import { ethers } from 'ethers';
import { Provider } from '@ethersproject/providers';
import { NetworkId } from '../utils';
/**
* Base class for all contract wrappers, providing common functionality
*/
export declare abstract class BaseWrapper {
protected _provider: Provider;
protected _signer: ethers.Signer;
protected _networkId?: NetworkId;
protected _initialized: boolean;
/**
* Create wrapper instance
* @param provider Provider instance
* @param signer Signer instance
*/
constructor(provider: Provider, signer: ethers.Signer);
/**
* Initialize network ID from signer
* Must be called before using methods that depend on networkId
*/
init(): Promise<void>;
/**
* Get contract address
* @param contractName Contract name
* @returns Contract address
*/
protected getContractAddress(contractName: string): string;
/**
* Convert NetworkId to network key string
* @param networkId Network ID
* @returns Network key
*/
private getNetworkKey;
/**
* Update Provider and Signer (when network changes)
* @param provider New Provider
* @param signer New Signer
*/
updateConnection(provider: Provider, signer: ethers.Signer): void;
/**
* Get current Provider
*/
get provider(): Provider;
/**
* Get current Signer
*/
get signer(): ethers.Signer;
/**
* Get current network ID
*/
get networkId(): NetworkId | undefined;
}
//# sourceMappingURL=base-wrapper.d.ts.map