@wuwei-labs/srsly
Version:
TypeScript SDK for SRSLY
101 lines • 4.88 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, getF32Decoder, getF32Encoder, getI64Decoder, getI64Encoder, getStructDecoder, getStructEncoder, getU16Decoder, getU16Encoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, getU8Decoder, getU8Encoder, transformEncoder, } from '@solana/kit';
export const CONFIG_STATE_DISCRIMINATOR = new Uint8Array([193, 77, 160, 128, 208, 254, 180, 135]);
export function getConfigStateDiscriminatorBytes() {
return fixEncoderSize(getBytesEncoder(), 8).encode(CONFIG_STATE_DISCRIMINATOR);
}
/** Gets the encoder for {@link ConfigStateArgs} account data. */
export function getConfigStateEncoder() {
return transformEncoder(getStructEncoder([
['discriminator', fixEncoderSize(getBytesEncoder(), 8)],
['version', getU32Encoder()],
['bump', getU8Encoder()],
['admin', getAddressEncoder()],
['stardustToAtlas', getU64Encoder()],
['serviceFeeBps', getU64Encoder()],
['baseBps', getU16Encoder()],
['rentalDurationMinSeconds', getI64Encoder()],
['rentalDurationMaxSeconds', getI64Encoder()],
['atlasMint', getAddressEncoder()],
['slyvault', getAddressEncoder()],
['reservationsEnabled', getBooleanEncoder()],
['pointsPerDay', getU64Encoder()],
['cancellationPenalty', getU64Encoder()],
['minCaptureThreshold', getU64Encoder()],
['weightBase', getU32Encoder()],
['weightMultiplier', getF32Encoder()],
['maxWeight', getU8Encoder()],
['captureRateBps', getU64Encoder()],
['atlasPerPoint', getU64Encoder()],
['contestedMultiplierMaxBps', getU16Encoder()],
['rentalsCompleted', getU64Encoder()],
['lookupTable', getAddressEncoder()],
['createdAt', getI64Encoder()],
['updatedAt', getI64Encoder()],
]), value => ({ ...value, discriminator: CONFIG_STATE_DISCRIMINATOR }));
}
/** Gets the decoder for {@link ConfigState} account data. */
export function getConfigStateDecoder() {
return getStructDecoder([
['discriminator', fixDecoderSize(getBytesDecoder(), 8)],
['version', getU32Decoder()],
['bump', getU8Decoder()],
['admin', getAddressDecoder()],
['stardustToAtlas', getU64Decoder()],
['serviceFeeBps', getU64Decoder()],
['baseBps', getU16Decoder()],
['rentalDurationMinSeconds', getI64Decoder()],
['rentalDurationMaxSeconds', getI64Decoder()],
['atlasMint', getAddressDecoder()],
['slyvault', getAddressDecoder()],
['reservationsEnabled', getBooleanDecoder()],
['pointsPerDay', getU64Decoder()],
['cancellationPenalty', getU64Decoder()],
['minCaptureThreshold', getU64Decoder()],
['weightBase', getU32Decoder()],
['weightMultiplier', getF32Decoder()],
['maxWeight', getU8Decoder()],
['captureRateBps', getU64Decoder()],
['atlasPerPoint', getU64Decoder()],
['contestedMultiplierMaxBps', getU16Decoder()],
['rentalsCompleted', getU64Decoder()],
['lookupTable', getAddressDecoder()],
['createdAt', getI64Decoder()],
['updatedAt', getI64Decoder()],
]);
}
/** Gets the codec for {@link ConfigState} account data. */
export function getConfigStateCodec() {
return combineCodec(getConfigStateEncoder(), getConfigStateDecoder());
}
export function decodeConfigState(encodedAccount) {
return decodeAccount(encodedAccount, getConfigStateDecoder());
}
export async function fetchConfigState(rpc, address, config) {
const maybeAccount = await fetchMaybeConfigState(rpc, address, config);
assertAccountExists(maybeAccount);
return maybeAccount;
}
export async function fetchMaybeConfigState(rpc, address, config) {
const maybeAccount = await fetchEncodedAccount(rpc, address, config);
return decodeConfigState(maybeAccount);
}
export async function fetchAllConfigState(rpc, addresses, config) {
const maybeAccounts = await fetchAllMaybeConfigState(rpc, addresses, config);
assertAccountsExist(maybeAccounts);
return maybeAccounts;
}
export async function fetchAllMaybeConfigState(rpc, addresses, config) {
const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);
return maybeAccounts.map(maybeAccount => decodeConfigState(maybeAccount));
}
export function getConfigStateSize() {
return 251;
}
//# sourceMappingURL=configState.js.map