@nosana/kit
Version:
Nosana KIT
74 lines (73 loc) • 3.3 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, getU64Decoder, getU64Encoder, getU8Decoder, getU8Encoder, transformEncoder, } from '@solana/kit';
export const JOB_ACCOUNT_DISCRIMINATOR = new Uint8Array([
91, 16, 162, 5, 45, 210, 125, 65,
]);
export function getJobAccountDiscriminatorBytes() {
return fixEncoderSize(getBytesEncoder(), 8).encode(JOB_ACCOUNT_DISCRIMINATOR);
}
export function getJobAccountEncoder() {
return transformEncoder(getStructEncoder([
['discriminator', fixEncoderSize(getBytesEncoder(), 8)],
['ipfsJob', fixEncoderSize(getBytesEncoder(), 32)],
['ipfsResult', fixEncoderSize(getBytesEncoder(), 32)],
['market', getAddressEncoder()],
['node', getAddressEncoder()],
['payer', getAddressEncoder()],
['price', getU64Encoder()],
['project', getAddressEncoder()],
['state', getU8Encoder()],
['timeEnd', getI64Encoder()],
['timeStart', getI64Encoder()],
['timeout', getI64Encoder()],
]), (value) => ({ ...value, discriminator: JOB_ACCOUNT_DISCRIMINATOR }));
}
export function getJobAccountDecoder() {
return getStructDecoder([
['discriminator', fixDecoderSize(getBytesDecoder(), 8)],
['ipfsJob', fixDecoderSize(getBytesDecoder(), 32)],
['ipfsResult', fixDecoderSize(getBytesDecoder(), 32)],
['market', getAddressDecoder()],
['node', getAddressDecoder()],
['payer', getAddressDecoder()],
['price', getU64Decoder()],
['project', getAddressDecoder()],
['state', getU8Decoder()],
['timeEnd', getI64Decoder()],
['timeStart', getI64Decoder()],
['timeout', getI64Decoder()],
]);
}
export function getJobAccountCodec() {
return combineCodec(getJobAccountEncoder(), getJobAccountDecoder());
}
export function decodeJobAccount(encodedAccount) {
return decodeAccount(encodedAccount, getJobAccountDecoder());
}
export async function fetchJobAccount(rpc, address, config) {
const maybeAccount = await fetchMaybeJobAccount(rpc, address, config);
assertAccountExists(maybeAccount);
return maybeAccount;
}
export async function fetchMaybeJobAccount(rpc, address, config) {
const maybeAccount = await fetchEncodedAccount(rpc, address, config);
return decodeJobAccount(maybeAccount);
}
export async function fetchAllJobAccount(rpc, addresses, config) {
const maybeAccounts = await fetchAllMaybeJobAccount(rpc, addresses, config);
assertAccountsExist(maybeAccounts);
return maybeAccounts;
}
export async function fetchAllMaybeJobAccount(rpc, addresses, config) {
const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);
return maybeAccounts.map((maybeAccount) => decodeJobAccount(maybeAccount));
}
export function getJobAccountSize() {
return 233;
}