@q-dev/gdk-sdk
Version:
Typescript Library to interact with GDK Contracts
29 lines (28 loc) • 1.98 kB
TypeScript
import { ContractTransaction, providers, Signer } from "ethers";
import { SystemContractInstance } from "../SystemContractInstance";
import { TxOptions } from "../../types";
import { DAOVault, IDAOVault } from "../../ethers-contracts/DAOVault";
export declare class DAOVaultInstance extends SystemContractInstance<DAOVault> {
constructor(signer: Signer | providers.Provider, address: string);
/**
* Constructor
* @param signer ethers signer, basically the one who wants to sign the constitution hash.
* @param signature signature of the constitution hash.
* @param txOptions transaction options
*
* Constitution hash is retrieved from the DAOParameterStorage contract.
* The name of this contract in the registry is "DAO_CONF_PARAMETER_STORAGE:DAO Token Holder".
* This is the main storage for all constitution parameters.
*/
signConstitution(signer: string, signature: string, txOptions?: TxOptions): Promise<ContractTransaction>;
depositNative(txOptions?: TxOptions): Promise<ContractTransaction>;
depositERC20(tokenAddress: string, amount: string, txOptions?: TxOptions): Promise<ContractTransaction>;
depositNFT(tokenAddress: string, tokenId: string, txOptions?: TxOptions): Promise<ContractTransaction>;
authorizeBySBT(tokenAddress: string, txOptions?: TxOptions): Promise<ContractTransaction>;
withdrawNative(amount: string, txOptions?: TxOptions): Promise<ContractTransaction>;
withdrawERC20(tokenAddress: string, amount: string, txOptions?: TxOptions): Promise<ContractTransaction>;
withdrawNFT(tokenAddress: string, tokenId: string, txOptions?: TxOptions): Promise<ContractTransaction>;
revokeSBTAuthorization(tokenAddress: string, txOptions?: TxOptions): Promise<ContractTransaction>;
getTimeLockInfo(user: string, tokenAddress: string): Promise<IDAOVault.TomeLockInfoStructOutput>;
getUserConstitutionData(user: string): Promise<IDAOVault.ConstitutionDataInfoStructOutput>;
}