@myclique/governance-sdk
Version:
The SDK is provides easy access to the high level interactions to be governance with an Clique DAO.
39 lines (38 loc) • 1.6 kB
TypeScript
import { Context } from "../../Context";
import { JsonRpcProvider } from "@ethersproject/providers";
import { Contract, ContractInterface } from "@ethersproject/contracts";
import { IClientWeb3Core } from "../interfaces/core";
import { CChainId } from "../constants";
import { Signer } from "@ethersproject/abstract-signer";
/**
* web3, contract
*/
export declare class Web3Module implements IClientWeb3Core {
private _signer;
private _daoAddress;
private _daoChainId;
private _web3Providers;
constructor(context: Context);
/** Replaces the current signer by the given one */
useSigner(signer: Signer): void;
/** Retrieves the current signer */
getSigner(): Signer | null;
/** Returns a signer connected to the current network provider */
getConnectedSigner(): Signer;
/** Returns the currently active network provider */
getProvider(chainId?: CChainId): JsonRpcProvider;
/**
* Returns a contract instance at the given address
*
* @param address Contract instance address
* @param abi The Application Binary Inteface of the contract
* @return A contract instance attached to the given address
*/
attachContract(address: string, abi: ContractInterface, provider: JsonRpcProvider | null, signer: Signer | null): Contract;
getDaoContract(): Contract;
getTokenContract(tokenAddress: string, chainId: CChainId): Contract;
/** Returns the current DAO address */
getDaoAddress(): string;
/** Returns the current DAO chainId */
getDaoChainId(): CChainId;
}