@nosana/kit
Version:
Nosana KIT
62 lines (61 loc) • 2.7 kB
JavaScript
/**
* 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, getU8Decoder, getU8Encoder, transformEncoder, } from '@solana/kit';
export const RUN_ACCOUNT_DISCRIMINATOR = new Uint8Array([
194, 169, 110, 230, 235, 11, 225, 22,
]);
export function getRunAccountDiscriminatorBytes() {
return fixEncoderSize(getBytesEncoder(), 8).encode(RUN_ACCOUNT_DISCRIMINATOR);
}
export function getRunAccountEncoder() {
return transformEncoder(getStructEncoder([
['discriminator', fixEncoderSize(getBytesEncoder(), 8)],
['job', getAddressEncoder()],
['node', getAddressEncoder()],
['payer', getAddressEncoder()],
['state', getU8Encoder()],
['time', getI64Encoder()],
]), (value) => ({ ...value, discriminator: RUN_ACCOUNT_DISCRIMINATOR }));
}
export function getRunAccountDecoder() {
return getStructDecoder([
['discriminator', fixDecoderSize(getBytesDecoder(), 8)],
['job', getAddressDecoder()],
['node', getAddressDecoder()],
['payer', getAddressDecoder()],
['state', getU8Decoder()],
['time', getI64Decoder()],
]);
}
export function getRunAccountCodec() {
return combineCodec(getRunAccountEncoder(), getRunAccountDecoder());
}
export function decodeRunAccount(encodedAccount) {
return decodeAccount(encodedAccount, getRunAccountDecoder());
}
export async function fetchRunAccount(rpc, address, config) {
const maybeAccount = await fetchMaybeRunAccount(rpc, address, config);
assertAccountExists(maybeAccount);
return maybeAccount;
}
export async function fetchMaybeRunAccount(rpc, address, config) {
const maybeAccount = await fetchEncodedAccount(rpc, address, config);
return decodeRunAccount(maybeAccount);
}
export async function fetchAllRunAccount(rpc, addresses, config) {
const maybeAccounts = await fetchAllMaybeRunAccount(rpc, addresses, config);
assertAccountsExist(maybeAccounts);
return maybeAccounts;
}
export async function fetchAllMaybeRunAccount(rpc, addresses, config) {
const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);
return maybeAccounts.map((maybeAccount) => decodeRunAccount(maybeAccount));
}
export function getRunAccountSize() {
return 113;
}