@robertprp/intents-sdk
Version:
Shogun Network Intent-based cross-chain swaps SDK
75 lines • 3.61 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, 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