@wuwei-labs/srsly
Version:
TypeScript SDK for SRSLY
68 lines • 3.49 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, getArrayDecoder, getArrayEncoder, getBytesDecoder, getBytesEncoder, getI64Decoder, getI64Encoder, getStructDecoder, getStructEncoder, getU16Decoder, getU16Encoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, getU8Decoder, getU8Encoder, transformEncoder, } from '@solana/kit';
export const BORROWER_STATE_DISCRIMINATOR = new Uint8Array([160, 47, 174, 209, 255, 213, 193, 235]);
export function getBorrowerStateDiscriminatorBytes() {
return fixEncoderSize(getBytesEncoder(), 8).encode(BORROWER_STATE_DISCRIMINATOR);
}
/** Gets the encoder for {@link BorrowerStateArgs} account data. */
export function getBorrowerStateEncoder() {
return transformEncoder(getStructEncoder([
['discriminator', fixEncoderSize(getBytesEncoder(), 8)],
['version', getU32Encoder()],
['bump', getU8Encoder()],
['authority', getAddressEncoder()],
['activeRentals', getArrayEncoder(getAddressEncoder())],
['activeRentalCount', getU16Encoder()],
['capturePoints', getU64Encoder()],
['managedTokenAccount', getAddressEncoder()],
['createdAt', getI64Encoder()],
['updatedAt', getI64Encoder()],
]), value => ({ ...value, discriminator: BORROWER_STATE_DISCRIMINATOR }));
}
/** Gets the decoder for {@link BorrowerState} account data. */
export function getBorrowerStateDecoder() {
return getStructDecoder([
['discriminator', fixDecoderSize(getBytesDecoder(), 8)],
['version', getU32Decoder()],
['bump', getU8Decoder()],
['authority', getAddressDecoder()],
['activeRentals', getArrayDecoder(getAddressDecoder())],
['activeRentalCount', getU16Decoder()],
['capturePoints', getU64Decoder()],
['managedTokenAccount', getAddressDecoder()],
['createdAt', getI64Decoder()],
['updatedAt', getI64Decoder()],
]);
}
/** Gets the codec for {@link BorrowerState} account data. */
export function getBorrowerStateCodec() {
return combineCodec(getBorrowerStateEncoder(), getBorrowerStateDecoder());
}
export function decodeBorrowerState(encodedAccount) {
return decodeAccount(encodedAccount, getBorrowerStateDecoder());
}
export async function fetchBorrowerState(rpc, address, config) {
const maybeAccount = await fetchMaybeBorrowerState(rpc, address, config);
assertAccountExists(maybeAccount);
return maybeAccount;
}
export async function fetchMaybeBorrowerState(rpc, address, config) {
const maybeAccount = await fetchEncodedAccount(rpc, address, config);
return decodeBorrowerState(maybeAccount);
}
export async function fetchAllBorrowerState(rpc, addresses, config) {
const maybeAccounts = await fetchAllMaybeBorrowerState(rpc, addresses, config);
assertAccountsExist(maybeAccounts);
return maybeAccounts;
}
export async function fetchAllMaybeBorrowerState(rpc, addresses, config) {
const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);
return maybeAccounts.map(maybeAccount => decodeBorrowerState(maybeAccount));
}
//# sourceMappingURL=borrowerState.js.map