@gotake/gotake-sdk
Version:
SDK for interacting with GoTake blockchain contracts
50 lines • 1.45 kB
TypeScript
import { ethers } from 'ethers';
import { Provider } from '@ethersproject/providers';
import { NetworkId } from '../utils';
/**
* Base class for all API modules, providing shared functionality
*/
export declare abstract class BaseApi {
protected _provider: Provider;
protected _signer: ethers.Signer;
protected _networkId?: NetworkId;
protected _initialized: boolean;
/**
* Create API module 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>;
/**
* Update connection information (when network changes)
* @param provider New Provider
* @param signer New Signer
*/
updateConnection(provider: Provider, signer: ethers.Signer): void;
/**
* Method called when connection is updated, can be overridden by subclasses
*/
protected onConnectionUpdated(): Promise<void>;
/**
* Get current network ID
*/
get networkId(): NetworkId | undefined;
/**
* Get current Provider
*/
get provider(): Provider;
/**
* Get current Signer
*/
get signer(): ethers.Signer;
/**
* Get current user address
*/
getAddress(): Promise<string>;
}
//# sourceMappingURL=base-api.d.ts.map