@wuwei-labs/srsly
Version:
[](https://www.npmjs.com/package/ts-sdk-example)
83 lines • 3.11 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 { addDecoderSizePrefix, addEncoderSizePrefix, combineCodec, getAddressDecoder, getAddressEncoder, getBooleanDecoder, getBooleanEncoder, getDiscriminatedUnionDecoder, getDiscriminatedUnionEncoder, getI64Decoder, getI64Encoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, getUnitDecoder, getUnitEncoder, getUtf8Decoder, getUtf8Encoder, } from '@solana/kit';
import { getEqualityDecoder, getEqualityEncoder, } from '.';
export function getTriggerEncoder() {
return getDiscriminatedUnionEncoder([
[
'Account',
getStructEncoder([
['address', getAddressEncoder()],
['offset', getU64Encoder()],
['size', getU64Encoder()],
]),
],
[
'Cron',
getStructEncoder([
['schedule', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],
['skippable', getBooleanEncoder()],
]),
],
['Now', getUnitEncoder()],
['Slot', getStructEncoder([['slot', getU64Encoder()]])],
['Epoch', getStructEncoder([['epoch', getU64Encoder()]])],
['Timestamp', getStructEncoder([['unixTs', getI64Encoder()]])],
[
'Pyth',
getStructEncoder([
['priceFeed', getAddressEncoder()],
['equality', getEqualityEncoder()],
['limit', getI64Encoder()],
]),
],
]);
}
export function getTriggerDecoder() {
return getDiscriminatedUnionDecoder([
[
'Account',
getStructDecoder([
['address', getAddressDecoder()],
['offset', getU64Decoder()],
['size', getU64Decoder()],
]),
],
[
'Cron',
getStructDecoder([
['schedule', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],
['skippable', getBooleanDecoder()],
]),
],
['Now', getUnitDecoder()],
['Slot', getStructDecoder([['slot', getU64Decoder()]])],
['Epoch', getStructDecoder([['epoch', getU64Decoder()]])],
['Timestamp', getStructDecoder([['unixTs', getI64Decoder()]])],
[
'Pyth',
getStructDecoder([
['priceFeed', getAddressDecoder()],
['equality', getEqualityDecoder()],
['limit', getI64Decoder()],
]),
],
]);
}
export function getTriggerCodec() {
return combineCodec(getTriggerEncoder(), getTriggerDecoder());
}
export function trigger(kind, data) {
return Array.isArray(data)
? { __kind: kind, fields: data }
: { __kind: kind, ...(data ?? {}) };
}
export function isTrigger(kind, value) {
return value.__kind === kind;
}
//# sourceMappingURL=trigger.js.map