@broxus/js-core
Version:
MobX-based JavaScript Core library
72 lines (71 loc) • 3.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.VoteEscrowAccountUtils = void 0;
const contracts_1 = require("../../models/vote-escrow-account/contracts");
class VoteEscrowAccountUtils {
static async getDetails(connection, voteEscrowAccountAddress, cachedState) {
return (0, contracts_1.voteEscrowAccountContract)(connection, voteEscrowAccountAddress)
.methods.getDetails({ answerId: 0 })
.call({ cachedState, responsible: true })
.then(result => ({
activeDeposits: Number(result._activeDeposits),
currentVersion: Number(result._current_version),
lastEpochVoted: Number(result._lastEpochVoted),
lastUpdateTime: Number(result._lastUpdateTime),
qubeBalance: result._qubeBalance,
unlockedQubes: result._unlockedQubes,
user: result._user,
veQubeAverage: result._veQubeAverage,
veQubeAveragePeriod: Number(result._veQubeAveragePeriod),
veQubeBalance: result._veQubeBalance,
voteEscrow: result._voteEscrow,
}));
}
static async calculateVeAverage(connection, voteEscrowAccountAddress, cachedState) {
return (0, contracts_1.voteEscrowAccountContract)(connection, voteEscrowAccountAddress)
.methods.calculateVeAverage()
.call({ cachedState })
.then(result => ({
expiredVeQubes: result._expiredVeQubes,
qubeBalance: result._qubeBalance,
unlockedQubes: result._unlockedQubes,
veQubeAverage: result._veQubeAverage,
veQubeAveragePeriod: Number(result._veQubeAveragePeriod),
veQubeBalance: result._veQubeBalance,
}));
}
static async calculateMinGas(connection, voteEscrowAccountAddress, cachedState) {
return (0, contracts_1.voteEscrowAccountContract)(connection, voteEscrowAccountAddress)
.methods.calculateMinGas({ answerId: 0 })
.call({ cachedState, responsible: true })
.then(result => result.min_gas);
}
static async castedVotes(connection, voteEscrowAccountAddress, cachedState) {
return (0, contracts_1.voteEscrowAccountContract)(connection, voteEscrowAccountAddress)
.methods.casted_votes()
.call({ cachedState })
.then(result => result.casted_votes);
}
static async createdProposals(connection, voteEscrowAccountAddress, cachedState) {
return (0, contracts_1.voteEscrowAccountContract)(connection, voteEscrowAccountAddress)
.methods.created_proposals()
.call({ cachedState })
.then(result => result.created_proposals);
}
static async lockedTokens(connection, voteEscrowAccountAddress, cachedState) {
return (0, contracts_1.voteEscrowAccountContract)(connection, voteEscrowAccountAddress)
.methods.lockedTokens({ answerId: 0 })
.call({ cachedState, responsible: true })
.then(result => result.value0);
}
static decodeEvent(connection, voteEscrowAccountAddress, args) {
return (0, contracts_1.voteEscrowAccountContract)(connection, voteEscrowAccountAddress).decodeEvent(args);
}
static decodeTransaction(connection, voteEscrowAccountAddress, args) {
return (0, contracts_1.voteEscrowAccountContract)(connection, voteEscrowAccountAddress).decodeTransaction(args);
}
static decodeTransactionEvents(connection, voteEscrowAccountAddress, transaction) {
return (0, contracts_1.voteEscrowAccountContract)(connection, voteEscrowAccountAddress).decodeTransactionEvents({ transaction });
}
}
exports.VoteEscrowAccountUtils = VoteEscrowAccountUtils;