UNPKG

@nosana/kit

Version:

Nosana KIT

69 lines 3.21 kB
/** * This code was AUTOGENERATED using the Codama library. * Please DO NOT EDIT THIS FILE, instead use visitors * to add features, then rerun Codama to update it. * * @see https://github.com/codama-idl/codama */ import { assertAccountExists, assertAccountsExist, combineCodec, decodeAccount, fetchEncodedAccount, fetchEncodedAccounts, fixDecoderSize, fixEncoderSize, getAddressDecoder, getAddressEncoder, getBytesDecoder, getBytesEncoder, getI64Decoder, getI64Encoder, getStructDecoder, getStructEncoder, getU128Decoder, getU128Encoder, getU64Decoder, getU64Encoder, getU8Decoder, getU8Encoder, transformEncoder, } from '@solana/kit'; export const STAKE_ACCOUNT_DISCRIMINATOR = new Uint8Array([ 80, 158, 67, 124, 50, 189, 192, 255, ]); export function getStakeAccountDiscriminatorBytes() { return fixEncoderSize(getBytesEncoder(), 8).encode(STAKE_ACCOUNT_DISCRIMINATOR); } /** Gets the encoder for {@link StakeAccountArgs} account data. */ export function getStakeAccountEncoder() { return transformEncoder(getStructEncoder([ ['discriminator', fixEncoderSize(getBytesEncoder(), 8)], ['amount', getU64Encoder()], ['authority', getAddressEncoder()], ['duration', getU64Encoder()], ['timeUnstake', getI64Encoder()], ['vault', getAddressEncoder()], ['vaultBump', getU8Encoder()], ['xnos', getU128Encoder()], ]), (value) => ({ ...value, discriminator: STAKE_ACCOUNT_DISCRIMINATOR })); } /** Gets the decoder for {@link StakeAccount} account data. */ export function getStakeAccountDecoder() { return getStructDecoder([ ['discriminator', fixDecoderSize(getBytesDecoder(), 8)], ['amount', getU64Decoder()], ['authority', getAddressDecoder()], ['duration', getU64Decoder()], ['timeUnstake', getI64Decoder()], ['vault', getAddressDecoder()], ['vaultBump', getU8Decoder()], ['xnos', getU128Decoder()], ]); } /** Gets the codec for {@link StakeAccount} account data. */ export function getStakeAccountCodec() { return combineCodec(getStakeAccountEncoder(), getStakeAccountDecoder()); } export function decodeStakeAccount(encodedAccount) { return decodeAccount(encodedAccount, getStakeAccountDecoder()); } export async function fetchStakeAccount(rpc, address, config) { const maybeAccount = await fetchMaybeStakeAccount(rpc, address, config); assertAccountExists(maybeAccount); return maybeAccount; } export async function fetchMaybeStakeAccount(rpc, address, config) { const maybeAccount = await fetchEncodedAccount(rpc, address, config); return decodeStakeAccount(maybeAccount); } export async function fetchAllStakeAccount(rpc, addresses, config) { const maybeAccounts = await fetchAllMaybeStakeAccount(rpc, addresses, config); assertAccountsExist(maybeAccounts); return maybeAccounts; } export async function fetchAllMaybeStakeAccount(rpc, addresses, config) { const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config); return maybeAccounts.map((maybeAccount) => decodeStakeAccount(maybeAccount)); } export function getStakeAccountSize() { return 113; } //# sourceMappingURL=stakeAccount.js.map