UNPKG

@nosana/kit

Version:

Nosana KIT

71 lines (70 loc) 3.37 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, getArrayDecoder, getArrayEncoder, getBytesDecoder, getBytesEncoder, getI64Decoder, getI64Encoder, getStructDecoder, getStructEncoder, getU128Decoder, getU128Encoder, getU64Decoder, getU64Encoder, getU8Decoder, getU8Encoder, transformEncoder, } from '@solana/kit'; export const MARKET_ACCOUNT_DISCRIMINATOR = new Uint8Array([ 201, 78, 187, 225, 240, 198, 201, 251, ]); export function getMarketAccountDiscriminatorBytes() { return fixEncoderSize(getBytesEncoder(), 8).encode(MARKET_ACCOUNT_DISCRIMINATOR); } export function getMarketAccountEncoder() { return transformEncoder(getStructEncoder([ ['discriminator', fixEncoderSize(getBytesEncoder(), 8)], ['authority', getAddressEncoder()], ['jobExpiration', getI64Encoder()], ['jobPrice', getU64Encoder()], ['jobTimeout', getI64Encoder()], ['jobType', getU8Encoder()], ['vault', getAddressEncoder()], ['vaultBump', getU8Encoder()], ['nodeAccessKey', getAddressEncoder()], ['nodeXnosMinimum', getU128Encoder()], ['queueType', getU8Encoder()], ['queue', getArrayEncoder(getAddressEncoder())], ]), (value) => ({ ...value, discriminator: MARKET_ACCOUNT_DISCRIMINATOR })); } export function getMarketAccountDecoder() { return getStructDecoder([ ['discriminator', fixDecoderSize(getBytesDecoder(), 8)], ['authority', getAddressDecoder()], ['jobExpiration', getI64Decoder()], ['jobPrice', getU64Decoder()], ['jobTimeout', getI64Decoder()], ['jobType', getU8Decoder()], ['vault', getAddressDecoder()], ['vaultBump', getU8Decoder()], ['nodeAccessKey', getAddressDecoder()], ['nodeXnosMinimum', getU128Decoder()], ['queueType', getU8Decoder()], ['queue', getArrayDecoder(getAddressDecoder())], ]); } export function getMarketAccountCodec() { return combineCodec(getMarketAccountEncoder(), getMarketAccountDecoder()); } export function decodeMarketAccount(encodedAccount) { return decodeAccount(encodedAccount, getMarketAccountDecoder()); } export async function fetchMarketAccount(rpc, address, config) { const maybeAccount = await fetchMaybeMarketAccount(rpc, address, config); assertAccountExists(maybeAccount); return maybeAccount; } export async function fetchMaybeMarketAccount(rpc, address, config) { const maybeAccount = await fetchEncodedAccount(rpc, address, config); return decodeMarketAccount(maybeAccount); } export async function fetchAllMarketAccount(rpc, addresses, config) { const maybeAccounts = await fetchAllMaybeMarketAccount(rpc, addresses, config); assertAccountsExist(maybeAccounts); return maybeAccounts; } export async function fetchAllMaybeMarketAccount(rpc, addresses, config) { const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config); return maybeAccounts.map((maybeAccount) => decodeMarketAccount(maybeAccount)); }