UNPKG

@robertprp/intents-sdk

Version:

Shogun Network Intent-based cross-chain swaps SDK

75 lines 3.61 kB
/** * 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, decodeAccount, fetchEncodedAccount, fetchEncodedAccounts, } from '@solana/kit'; import { getAddressDecoder, getAddressEncoder } from '@solana/kit'; import { combineCodec, fixDecoderSize, fixEncoderSize, getArrayDecoder, getArrayEncoder, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, transformEncoder, } from '@solana/kit'; export const DCA_ORDER_DISCRIMINATOR = new Uint8Array([55, 1, 103, 253, 215, 66, 27, 57]); export function getDcaOrderDiscriminatorBytes() { return fixEncoderSize(getBytesEncoder(), 8).encode(DCA_ORDER_DISCRIMINATOR); } export function getDcaOrderEncoder() { return transformEncoder(getStructEncoder([ ['discriminator', fixEncoderSize(getBytesEncoder(), 8)], ['user', getAddressEncoder()], ['guard', getAddressEncoder()], ['tokenInMint', getAddressEncoder()], ['amountInPerInterval', getU64Encoder()], ['amountOutMin', getU64Encoder()], ['startTime', getU32Encoder()], ['deadline', getU32Encoder()], ['totalIntervals', getU32Encoder()], ['intervalDuration', getU32Encoder()], ['secretHash', fixEncoderSize(getBytesEncoder(), 32)], ['extraTransfersAmounts', getArrayEncoder(getU64Encoder())], ['totalExecutedIntervals', getU32Encoder()], ['lastExecutedIntervalIndex', getU32Encoder()], ]), (value) => ({ ...value, discriminator: DCA_ORDER_DISCRIMINATOR })); } export function getDcaOrderDecoder() { return getStructDecoder([ ['discriminator', fixDecoderSize(getBytesDecoder(), 8)], ['user', getAddressDecoder()], ['guard', getAddressDecoder()], ['tokenInMint', getAddressDecoder()], ['amountInPerInterval', getU64Decoder()], ['amountOutMin', getU64Decoder()], ['startTime', getU32Decoder()], ['deadline', getU32Decoder()], ['totalIntervals', getU32Decoder()], ['intervalDuration', getU32Decoder()], ['secretHash', fixDecoderSize(getBytesDecoder(), 32)], ['extraTransfersAmounts', getArrayDecoder(getU64Decoder())], ['totalExecutedIntervals', getU32Decoder()], ['lastExecutedIntervalIndex', getU32Decoder()], ]); } export function getDcaOrderCodec() { return combineCodec(getDcaOrderEncoder(), getDcaOrderDecoder()); } export function decodeDcaOrder(encodedAccount) { return decodeAccount(encodedAccount, getDcaOrderDecoder()); } export async function fetchDcaOrder(rpc, address, config) { const maybeAccount = await fetchMaybeDcaOrder(rpc, address, config); assertAccountExists(maybeAccount); return maybeAccount; } export async function fetchMaybeDcaOrder(rpc, address, config) { const maybeAccount = await fetchEncodedAccount(rpc, address, config); return decodeDcaOrder(maybeAccount); } export async function fetchAllDcaOrder(rpc, addresses, config) { const maybeAccounts = await fetchAllMaybeDcaOrder(rpc, addresses, config); assertAccountsExist(maybeAccounts); return maybeAccounts; } export async function fetchAllMaybeDcaOrder(rpc, addresses, config) { const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config); return maybeAccounts.map((maybeAccount) => decodeDcaOrder(maybeAccount)); } //# sourceMappingURL=dcaOrder.js.map