UNPKG

@q-dev/qdex-js-sdk

Version:

Typescript Library to interact with Q DEX Contracts

47 lines (46 loc) 2.16 kB
import Web3 from 'web3'; import { TransactionReceipt } from 'web3-eth'; import { IVoting } from '@q-dev/q-js-sdk/lib/web3-contracts/IVoting'; import { IVetoable } from '@q-dev/q-js-sdk/lib/web3-contracts/IVetoable'; import { BaseVotingVetoableInstance } from '@q-dev/q-js-sdk/lib/contracts/BaseVotingVetoableInstance'; import { ProposalWithBaseInfo, QNonPayableTx, QPayableTx } from '@q-dev/q-js-sdk'; import { NonPayableTransactionObject, PayableTransactionObject } from '@q-dev/q-js-sdk/lib/web3-contracts/types'; export declare abstract class DEXVotingVetoableInstance<T extends IVoting & IVetoable, P extends ProposalWithBaseInfo> extends BaseVotingVetoableInstance<T, P> { readonly address: string; /** * Constructor * @param web3 web3 instance * @param abiFile abi json file * @param address contract address */ constructor(web3: Web3, abiFile: string, address: string); submitTransactionWithHash<T>(txObject: NonPayableTransactionObject<T> | PayableTransactionObject<T>, txOptions?: QNonPayableTx | QPayableTx): Promise<TransactionReceipt>; /** * Vote for proposal * @param proposalId current proposal id * @param txOptions transaction options * @returns transaction receipt */ voteFor(proposalId: string | number, txOptions?: QNonPayableTx): Promise<TransactionReceipt>; /** * Vote against proposal * @param proposalId current proposal id * @param txOptions transaction options * @returns transaction receipt */ voteAgainst(proposalId: string | number, txOptions?: QNonPayableTx): Promise<TransactionReceipt>; /** * Veto specific proposal * @param proposalId proposal id * @param txOptions transaction options * @returns transaction receipt */ veto(proposalId: string | number, txOptions?: QNonPayableTx): Promise<TransactionReceipt>; /** * execute proposal * @param proposalId current proposal id * @param txOptions transaction options * @returns transaction receipt */ execute(proposalId: string | number, txOptions?: QNonPayableTx): Promise<TransactionReceipt>; }