@q-dev/q-ts-gdk-sdk
Version:
Typescript Library to interact with GDK Contracts
38 lines (32 loc) • 1.29 kB
text/typescript
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_;
}
}