@newfound8ion/newcoin.daos-js
Version:
JS Library to read data from newcoin.daos smart contract.
199 lines (198 loc) • 6.54 kB
JavaScript
"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, pass_rate, vote_start, vote_end) {
return this._pack(this.contract, authorization, "crtproposal", {
proposer,
dao_id,
title,
summary,
url,
pass_rate,
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, pass_rate, vote_start, vote_end) {
return this._pack(this.contract, authorization, "crtstkprp", {
proposer,
dao_id,
to,
quantity,
pass_rate,
vote_start,
vote_end,
});
}
async createInflateProposal(authorization, proposer, dao_id, to, quantity, pass_rate, vote_start, vote_end) {
return this._pack(this.contract, authorization, "crtinflprp", {
proposer,
dao_id,
to,
quantity,
pass_rate,
vote_start,
vote_end,
});
}
async createDeflateProposal(authorization, proposer, dao_id, from, quantity, pass_rate, vote_start, vote_end) {
return this._pack(this.contract, authorization, "crtdeflprp", {
proposer,
dao_id,
from,
quantity,
pass_rate,
vote_start,
vote_end,
});
}
async createWhiteListProposal(authorization, proposer, dao_id, user, type, pass_rate, vote_start, vote_end) {
return this._pack(this.contract, authorization, "crtwhltprp", {
proposer,
dao_id,
user,
type,
pass_rate,
vote_start,
vote_end,
});
}
async createRemoveWhiteListProposal(authorization, proposer, dao_id, user, pass_rate, vote_start, vote_end) {
return this._pack(this.contract, authorization, "crtrmwhltprp", {
proposer,
dao_id,
user,
pass_rate,
vote_start,
vote_end,
});
}
async approveProposal(authorization, approver, dao_id, proposal_id) {
return this._pack(this.contract, authorization, "appproposal", {
approver,
dao_id,
proposal_id,
});
}
async approveStakeProposal(authorization, approver, dao_id, proposal_id) {
return this._pack(this.contract, authorization, "appstkprp", {
approver,
dao_id,
proposal_id,
});
}
async approveInflateProposal(authorization, approver, dao_id, proposal_id) {
return this._pack(this.contract, authorization, "appinflprp", {
approver,
dao_id,
proposal_id,
});
}
async approveDeflateProposal(authorization, approver, dao_id, proposal_id) {
return this._pack(this.contract, authorization, "appdeflprp", {
approver,
dao_id,
proposal_id,
});
}
async approveWhiteListProposal(authorization, approver, dao_id, proposal_id) {
return this._pack(this.contract, authorization, "appwhlprp", {
approver,
dao_id,
proposal_id,
});
}
async approveRemoveWhiteListProposal(authorization, approver, dao_id, proposal_id) {
return this._pack(this.contract, authorization, "apprmvwhlprp", {
approver,
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 executeRemoveWhiteListProposal(authorization, dao_id, proposal_id) {
return this._pack(this.contract, authorization, "execrmwhlprp", {
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;