@nosana/kit
Version:
Nosana KIT
97 lines • 4.71 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, getBooleanDecoder, getBooleanEncoder, getBytesDecoder, getBytesEncoder, getI64Decoder, getI64Encoder, getStructDecoder, getStructEncoder, getU64Decoder, getU64Encoder, getU8Decoder, getU8Encoder, transformEncoder, } from '@solana/kit';
export const MERKLE_DISTRIBUTOR_DISCRIMINATOR = new Uint8Array([
77, 119, 139, 70, 84, 247, 12, 26,
]);
export function getMerkleDistributorDiscriminatorBytes() {
return fixEncoderSize(getBytesEncoder(), 8).encode(MERKLE_DISTRIBUTOR_DISCRIMINATOR);
}
/** Gets the encoder for {@link MerkleDistributorArgs} account data. */
export function getMerkleDistributorEncoder() {
return transformEncoder(getStructEncoder([
['discriminator', fixEncoderSize(getBytesEncoder(), 8)],
['bump', getU8Encoder()],
['version', getU64Encoder()],
['root', fixEncoderSize(getBytesEncoder(), 32)],
['mint', getAddressEncoder()],
['tokenVault', getAddressEncoder()],
['maxTotalClaim', getU64Encoder()],
['maxNumNodes', getU64Encoder()],
['totalAmountClaimed', getU64Encoder()],
['totalAmountForgone', getU64Encoder()],
['numNodesClaimed', getU64Encoder()],
['startTs', getI64Encoder()],
['endTs', getI64Encoder()],
['clawbackStartTs', getI64Encoder()],
['clawbackReceiver', getAddressEncoder()],
['admin', getAddressEncoder()],
['clawedBack', getBooleanEncoder()],
['enableSlot', getU64Encoder()],
['closable', getBooleanEncoder()],
['buffer0', fixEncoderSize(getBytesEncoder(), 32)],
['buffer1', fixEncoderSize(getBytesEncoder(), 32)],
['buffer2', fixEncoderSize(getBytesEncoder(), 32)],
]), (value) => ({ ...value, discriminator: MERKLE_DISTRIBUTOR_DISCRIMINATOR }));
}
/** Gets the decoder for {@link MerkleDistributor} account data. */
export function getMerkleDistributorDecoder() {
return getStructDecoder([
['discriminator', fixDecoderSize(getBytesDecoder(), 8)],
['bump', getU8Decoder()],
['version', getU64Decoder()],
['root', fixDecoderSize(getBytesDecoder(), 32)],
['mint', getAddressDecoder()],
['tokenVault', getAddressDecoder()],
['maxTotalClaim', getU64Decoder()],
['maxNumNodes', getU64Decoder()],
['totalAmountClaimed', getU64Decoder()],
['totalAmountForgone', getU64Decoder()],
['numNodesClaimed', getU64Decoder()],
['startTs', getI64Decoder()],
['endTs', getI64Decoder()],
['clawbackStartTs', getI64Decoder()],
['clawbackReceiver', getAddressDecoder()],
['admin', getAddressDecoder()],
['clawedBack', getBooleanDecoder()],
['enableSlot', getU64Decoder()],
['closable', getBooleanDecoder()],
['buffer0', fixDecoderSize(getBytesDecoder(), 32)],
['buffer1', fixDecoderSize(getBytesDecoder(), 32)],
['buffer2', fixDecoderSize(getBytesDecoder(), 32)],
]);
}
/** Gets the codec for {@link MerkleDistributor} account data. */
export function getMerkleDistributorCodec() {
return combineCodec(getMerkleDistributorEncoder(), getMerkleDistributorDecoder());
}
export function decodeMerkleDistributor(encodedAccount) {
return decodeAccount(encodedAccount, getMerkleDistributorDecoder());
}
export async function fetchMerkleDistributor(rpc, address, config) {
const maybeAccount = await fetchMaybeMerkleDistributor(rpc, address, config);
assertAccountExists(maybeAccount);
return maybeAccount;
}
export async function fetchMaybeMerkleDistributor(rpc, address, config) {
const maybeAccount = await fetchEncodedAccount(rpc, address, config);
return decodeMerkleDistributor(maybeAccount);
}
export async function fetchAllMerkleDistributor(rpc, addresses, config) {
const maybeAccounts = await fetchAllMaybeMerkleDistributor(rpc, addresses, config);
assertAccountsExist(maybeAccounts);
return maybeAccounts;
}
export async function fetchAllMaybeMerkleDistributor(rpc, addresses, config) {
const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);
return maybeAccounts.map((maybeAccount) => decodeMerkleDistributor(maybeAccount));
}
export function getMerkleDistributorSize() {
return 347;
}
//# sourceMappingURL=merkleDistributor.js.map