UNPKG

@q-dev/q-ts-gdk-sdk

Version:

Typescript Library to interact with GDK Contracts

38 lines (32 loc) 1.29 kB
import Web3 from "web3"; import { MasterDAOFactory } from "../../web3-contracts"; import { SystemContractInstance } from "../SystemContractInstance"; import { TransactionReceipt } from "web3-eth"; import { QNonPayableTx, DAOConstructorParametersStructOutput, DAOPanelConstructorParametersStructOutput, SubmitTransactionResponse, } from "../../types"; import { EventNames } from "../../utils/constants"; export class MasterDAOFactoryInstance extends SystemContractInstance<MasterDAOFactory> { constructor(web3: Web3, address: string) { super(web3, "MasterDAOFactory.json", address); } async deployDAO( params: DAOConstructorParametersStructOutput, txOptions?: QNonPayableTx ): Promise<SubmitTransactionResponse> { return this.submitTransaction(this.instance.methods.deployDAO(params), txOptions); } async deployDAOPanel( dao: string, params: DAOPanelConstructorParametersStructOutput, txOptions?: QNonPayableTx ): Promise<SubmitTransactionResponse> { return this.submitTransaction(this.instance.methods.deployDAOPanel(dao, params), txOptions); } getDAORegistryAddressFromTx(deployDAOReceipt: TransactionReceipt): string { return deployDAOReceipt.events[EventNames.DeployedDAORegistry].returnValues.daoRegistryProxy_; } }