@wuwei-labs/srsly
Version:
[](https://www.npmjs.com/package/ts-sdk-example)
77 lines • 4.02 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 { addDecoderSizePrefix, addEncoderSizePrefix, assertAccountExists, assertAccountsExist, combineCodec, decodeAccount, fetchEncodedAccount, fetchEncodedAccounts, fixDecoderSize, fixEncoderSize, getAddressDecoder, getAddressEncoder, getArrayDecoder, getArrayEncoder, getBooleanDecoder, getBooleanEncoder, getBytesDecoder, getBytesEncoder, getOptionDecoder, getOptionEncoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, getU8Decoder, getU8Encoder, getUtf8Decoder, getUtf8Encoder, transformEncoder, } from '@solana/kit';
import { getClockDataDecoder, getClockDataEncoder, getExecContextDecoder, getExecContextEncoder, getSerializableInstructionDecoder, getSerializableInstructionEncoder, getTriggerDecoder, getTriggerEncoder, } from '../types';
export const THREAD_DISCRIMINATOR = new Uint8Array([
186, 27, 154, 111, 51, 36, 159, 90,
]);
export function getThreadDiscriminatorBytes() {
return fixEncoderSize(getBytesEncoder(), 8).encode(THREAD_DISCRIMINATOR);
}
export function getThreadEncoder() {
return transformEncoder(getStructEncoder([
['discriminator', fixEncoderSize(getBytesEncoder(), 8)],
['authority', getAddressEncoder()],
['bump', getU8Encoder()],
['createdAt', getClockDataEncoder()],
['execContext', getOptionEncoder(getExecContextEncoder())],
['fee', getU64Encoder()],
['id', addEncoderSizePrefix(getBytesEncoder(), getU32Encoder())],
['instructions', getArrayEncoder(getSerializableInstructionEncoder())],
['name', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],
[
'nextInstruction',
getOptionEncoder(getSerializableInstructionEncoder()),
],
['paused', getBooleanEncoder()],
['rateLimit', getU64Encoder()],
['trigger', getTriggerEncoder()],
]), (value) => ({ ...value, discriminator: THREAD_DISCRIMINATOR }));
}
export function getThreadDecoder() {
return getStructDecoder([
['discriminator', fixDecoderSize(getBytesDecoder(), 8)],
['authority', getAddressDecoder()],
['bump', getU8Decoder()],
['createdAt', getClockDataDecoder()],
['execContext', getOptionDecoder(getExecContextDecoder())],
['fee', getU64Decoder()],
['id', addDecoderSizePrefix(getBytesDecoder(), getU32Decoder())],
['instructions', getArrayDecoder(getSerializableInstructionDecoder())],
['name', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],
['nextInstruction', getOptionDecoder(getSerializableInstructionDecoder())],
['paused', getBooleanDecoder()],
['rateLimit', getU64Decoder()],
['trigger', getTriggerDecoder()],
]);
}
export function getThreadCodec() {
return combineCodec(getThreadEncoder(), getThreadDecoder());
}
export function decodeThread(encodedAccount) {
return decodeAccount(encodedAccount, getThreadDecoder());
}
export async function fetchThread(rpc, address, config) {
const maybeAccount = await fetchMaybeThread(rpc, address, config);
assertAccountExists(maybeAccount);
return maybeAccount;
}
export async function fetchMaybeThread(rpc, address, config) {
const maybeAccount = await fetchEncodedAccount(rpc, address, config);
return decodeThread(maybeAccount);
}
export async function fetchAllThread(rpc, addresses, config) {
const maybeAccounts = await fetchAllMaybeThread(rpc, addresses, config);
assertAccountsExist(maybeAccounts);
return maybeAccounts;
}
export async function fetchAllMaybeThread(rpc, addresses, config) {
const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);
return maybeAccounts.map((maybeAccount) => decodeThread(maybeAccount));
}
//# sourceMappingURL=thread.js.map