@kamino-finance/kliquidity-sdk
Version:
Typescript SDK for interacting with the Kamino Liquidity (kliquidity) protocol
60 lines • 4.09 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
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.PRESET_PARAMETER_DISCRIMINATOR = void 0;
exports.getPresetParameterDiscriminatorBytes = getPresetParameterDiscriminatorBytes;
exports.getPresetParameterEncoder = getPresetParameterEncoder;
exports.getPresetParameterDecoder = getPresetParameterDecoder;
exports.getPresetParameterCodec = getPresetParameterCodec;
exports.decodePresetParameter = decodePresetParameter;
exports.fetchPresetParameter = fetchPresetParameter;
exports.fetchMaybePresetParameter = fetchMaybePresetParameter;
exports.fetchAllPresetParameter = fetchAllPresetParameter;
exports.fetchAllMaybePresetParameter = fetchAllMaybePresetParameter;
exports.getPresetParameterSize = getPresetParameterSize;
const kit_1 = require("@solana/kit");
exports.PRESET_PARAMETER_DISCRIMINATOR = new Uint8Array([242, 62, 244, 34, 181, 112, 58, 170]);
function getPresetParameterDiscriminatorBytes() { return (0, kit_1.fixEncoderSize)((0, kit_1.getBytesEncoder)(), 8).encode(exports.PRESET_PARAMETER_DISCRIMINATOR); }
/** Gets the encoder for {@link PresetParameterArgs} account data. */
function getPresetParameterEncoder() {
return (0, kit_1.transformEncoder)((0, kit_1.getStructEncoder)([['discriminator', (0, kit_1.fixEncoderSize)((0, kit_1.getBytesEncoder)(), 8)], ['binStep', (0, kit_1.getU16Encoder)()], ['baseFactor', (0, kit_1.getU16Encoder)()], ['filterPeriod', (0, kit_1.getU16Encoder)()], ['decayPeriod', (0, kit_1.getU16Encoder)()], ['reductionFactor', (0, kit_1.getU16Encoder)()], ['variableFeeControl', (0, kit_1.getU32Encoder)()], ['maxVolatilityAccumulator', (0, kit_1.getU32Encoder)()], ['minBinId', (0, kit_1.getI32Encoder)()], ['maxBinId', (0, kit_1.getI32Encoder)()], ['protocolShare', (0, kit_1.getU16Encoder)()]]), (value) => ({ ...value, discriminator: exports.PRESET_PARAMETER_DISCRIMINATOR }));
}
/** Gets the decoder for {@link PresetParameter} account data. */
function getPresetParameterDecoder() {
return (0, kit_1.getStructDecoder)([['discriminator', (0, kit_1.fixDecoderSize)((0, kit_1.getBytesDecoder)(), 8)], ['binStep', (0, kit_1.getU16Decoder)()], ['baseFactor', (0, kit_1.getU16Decoder)()], ['filterPeriod', (0, kit_1.getU16Decoder)()], ['decayPeriod', (0, kit_1.getU16Decoder)()], ['reductionFactor', (0, kit_1.getU16Decoder)()], ['variableFeeControl', (0, kit_1.getU32Decoder)()], ['maxVolatilityAccumulator', (0, kit_1.getU32Decoder)()], ['minBinId', (0, kit_1.getI32Decoder)()], ['maxBinId', (0, kit_1.getI32Decoder)()], ['protocolShare', (0, kit_1.getU16Decoder)()]]);
}
/** Gets the codec for {@link PresetParameter} account data. */
function getPresetParameterCodec() {
return (0, kit_1.combineCodec)(getPresetParameterEncoder(), getPresetParameterDecoder());
}
function decodePresetParameter(encodedAccount) {
return (0, kit_1.decodeAccount)(encodedAccount, getPresetParameterDecoder());
}
async function fetchPresetParameter(rpc, address, config) {
const maybeAccount = await fetchMaybePresetParameter(rpc, address, config);
(0, kit_1.assertAccountExists)(maybeAccount);
return maybeAccount;
}
async function fetchMaybePresetParameter(rpc, address, config) {
const maybeAccount = await (0, kit_1.fetchEncodedAccount)(rpc, address, config);
return decodePresetParameter(maybeAccount);
}
async function fetchAllPresetParameter(rpc, addresses, config) {
const maybeAccounts = await fetchAllMaybePresetParameter(rpc, addresses, config);
(0, kit_1.assertAccountsExist)(maybeAccounts);
return maybeAccounts;
}
async function fetchAllMaybePresetParameter(rpc, addresses, config) {
const maybeAccounts = await (0, kit_1.fetchEncodedAccounts)(rpc, addresses, config);
return maybeAccounts.map((maybeAccount) => decodePresetParameter(maybeAccount));
}
function getPresetParameterSize() {
return 36;
}
//# sourceMappingURL=presetParameter.js.map