UNPKG

@terminusbet/stake-vote-sdk

Version:

A simple SDK for interacting with terminusbet governance

42 lines 1.43 kB
import { struct, u64, publicKey, vec } from "@coral-xyz/borsh"; import { PublicKey } from "@solana/web3.js"; export class ActiveBallotBoxState { discriminator; ballotBots; constructor(discriminator, ballotBots) { this.discriminator = discriminator; this.ballotBots = ballotBots; } static fromBuffer(buffer) { const structure = struct([ u64("discriminator"), vec(publicKey(), 'ballotBots') ]); let value = structure.decode(buffer); return new ActiveBallotBoxState(BigInt(value.discriminator), value.ballotBots); } } export class UserActiveBallotBoxState { discriminator; user; ballotLocks; constructor(discriminator, user, ballotLocks) { this.discriminator = discriminator; this.user = user; this.ballotLocks = ballotLocks; } static fromBuffer(buffer) { const userActiveBallotAndLockStructure = struct([ publicKey('ballotBot'), u64('stakeLock'), ]); const structure = struct([ u64("discriminator"), publicKey("user"), vec(userActiveBallotAndLockStructure, 'ballotLocks'), ]); let value = structure.decode(buffer); return new UserActiveBallotBoxState(BigInt(value.discriminator), new PublicKey(value.user), value.ballotLocks); } } //# sourceMappingURL=activeBallotBoxState.js.map