UNPKG

@newcoin-foundation/newcoin.daos-js

Version:

JS Library to read data from newcoin.daos smart contract.

165 lines (164 loc) 5.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ActionGenerator = void 0; /* tslint:disable:variable-name */ class ActionGenerator { constructor(contract, token_contract) { this.contract = contract; this.token_contract = token_contract; } async createDao(authorization, owner, description) { return this._pack(this.contract, authorization, "crtdao", { owner, description, }); } async createProposal(authorization, proposer, dao_id, title, summary, url, vote_start, vote_end) { return this._pack(this.contract, authorization, "crtproposal", { proposer, dao_id, title, summary, url, vote_start, vote_end, }); } // async createNFTProposal( // authorization: EosioAuthorizationObject[], // proposer: string, // dao_id: number, // side: string, // asset_ids: number[], // price: string, // vote_start: string, // vote_end: string // ): Promise<EosioActionObject[]> { // return this._pack(this.contract, authorization, "crtnftprl", { // proposer, // dao_id, // side, // asset_ids, // price, // vote_start, // vote_end // }); // } async createStakeProposal(authorization, proposer, dao_id, to, quantity, vote_start, vote_end) { return this._pack(this.contract, authorization, "crtstkprp", { proposer, dao_id, to, quantity, vote_start, vote_end, }); } async createInflateProposal(authorization, proposer, dao_id, to, quantity, vote_start, vote_end) { return this._pack(this.contract, authorization, "crtinflprp", { proposer, dao_id, to, quantity, vote_start, vote_end, }); } async createDeflateProposal(authorization, proposer, dao_id, from, quantity, vote_start, vote_end) { return this._pack(this.contract, authorization, "crtdeflprp", { proposer, dao_id, from, quantity, vote_start, vote_end, }); } async createWhiteListProposal(authorization, proposer, dao_id, user, vote_start, vote_end) { return this._pack(this.contract, authorization, "crtwhltprp", { proposer, dao_id, user, vote_start, vote_end, }); } async approveProposal(authorization, dao_id, proposal_id) { return this._pack(this.contract, authorization, "appproposal", { dao_id, proposal_id, }); } async approveStakeProposal(authorization, dao_id, proposal_id) { return this._pack(this.contract, authorization, "appstkprp", { dao_id, proposal_id, }); } async approveInflateProposal(authorization, dao_id, proposal_id) { return this._pack(this.contract, authorization, "appinflprp", { dao_id, proposal_id, }); } async approveDeflateProposal(authorization, dao_id, proposal_id) { return this._pack(this.contract, authorization, "appdeflprp", { dao_id, proposal_id, }); } async approveWhiteListProposal(authorization, dao_id, proposal_id) { return this._pack(this.contract, authorization, "appwhlprp", { dao_id, proposal_id, }); } async executeProposal(authorization, dao_id, proposal_id) { return this._pack(this.contract, authorization, "execproposal", { dao_id, proposal_id, }); } async executeStakeProposal(authorization, dao_id, proposal_id) { return this._pack(this.contract, authorization, "execstkprp", { dao_id, proposal_id, }); } async executeInflateProposal(authorization, dao_id, proposal_id) { return this._pack(this.contract, authorization, "execinflprp", { dao_id, proposal_id, }); } async executeDeflateProposal(authorization, dao_id, proposal_id) { return this._pack(this.contract, authorization, "execdeflprp", { dao_id, proposal_id, }); } async executeWhiteListProposal(authorization, dao_id, proposal_id) { return this._pack(this.contract, authorization, "execwhlprp", { dao_id, proposal_id, }); } async withdraw(authorization, owner, vote_id) { return this._pack(this.contract, authorization, "withdraw", { owner, vote_id, }); } async vote(authorization, from, quantity, proposal_type, dao_id, proposal_id, option) { return this._pack(this.token_contract, authorization, "transfer", { from: from, to: this.contract, quantity: quantity, memo: `vote:${proposal_type};dao_id:${dao_id};proposal_id:${proposal_id};option:${option}`, }); } _pack(account, authorization, name, data) { return [{ account, name, authorization, data }]; } } exports.ActionGenerator = ActionGenerator;