UNPKG

@terminusbet/stake-vote-sdk

Version:

A simple SDK for interacting with terminusbet governance

47 lines 1.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.UserActiveBallotBoxState = exports.ActiveBallotBoxState = void 0; const borsh_1 = require("@coral-xyz/borsh"); const web3_js_1 = require("@solana/web3.js"); class ActiveBallotBoxState { discriminator; ballotBots; constructor(discriminator, ballotBots) { this.discriminator = discriminator; this.ballotBots = ballotBots; } static fromBuffer(buffer) { const structure = (0, borsh_1.struct)([ (0, borsh_1.u64)("discriminator"), (0, borsh_1.vec)((0, borsh_1.publicKey)(), 'ballotBots') ]); let value = structure.decode(buffer); return new ActiveBallotBoxState(BigInt(value.discriminator), value.ballotBots); } } exports.ActiveBallotBoxState = ActiveBallotBoxState; class UserActiveBallotBoxState { discriminator; user; ballotLocks; constructor(discriminator, user, ballotLocks) { this.discriminator = discriminator; this.user = user; this.ballotLocks = ballotLocks; } static fromBuffer(buffer) { const userActiveBallotAndLockStructure = (0, borsh_1.struct)([ (0, borsh_1.publicKey)('ballotBot'), (0, borsh_1.u64)('stakeLock'), ]); const structure = (0, borsh_1.struct)([ (0, borsh_1.u64)("discriminator"), (0, borsh_1.publicKey)("user"), (0, borsh_1.vec)(userActiveBallotAndLockStructure, 'ballotLocks'), ]); let value = structure.decode(buffer); return new UserActiveBallotBoxState(BigInt(value.discriminator), new web3_js_1.PublicKey(value.user), value.ballotLocks); } } exports.UserActiveBallotBoxState = UserActiveBallotBoxState; //# sourceMappingURL=activeBallotBoxState.js.map