@terminusbet/stake-vote-sdk
Version:
A simple SDK for interacting with terminusbet governance
47 lines • 1.82 kB
JavaScript
;
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