"use strict";
/**
 * 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.getSponsoredCCTPQuoteEncoder = getSponsoredCCTPQuoteEncoder;
exports.getSponsoredCCTPQuoteDecoder = getSponsoredCCTPQuoteDecoder;
exports.getSponsoredCCTPQuoteCodec = getSponsoredCCTPQuoteCodec;
const kit_1 = require("@solana/kit");
function getSponsoredCCTPQuoteEncoder() {
    return (0, kit_1.getStructEncoder)([
        ['sourceDomain', (0, kit_1.getU32Encoder)()],
        ['destinationDomain', (0, kit_1.getU32Encoder)()],
        ['mintRecipient', (0, kit_1.getAddressEncoder)()],
        ['amount', (0, kit_1.getU64Encoder)()],
        ['burnToken', (0, kit_1.getAddressEncoder)()],
        ['destinationCaller', (0, kit_1.getAddressEncoder)()],
        ['maxFee', (0, kit_1.getU64Encoder)()],
        ['minFinalityThreshold', (0, kit_1.getU32Encoder)()],
        ['nonce', (0, kit_1.fixEncoderSize)((0, kit_1.getBytesEncoder)(), 32)],
        ['deadline', (0, kit_1.getU64Encoder)()],
        ['maxBpsToSponsor', (0, kit_1.getU64Encoder)()],
        ['maxUserSlippageBps', (0, kit_1.getU64Encoder)()],
        ['finalRecipient', (0, kit_1.getAddressEncoder)()],
        ['finalToken', (0, kit_1.getAddressEncoder)()],
        ['executionMode', (0, kit_1.getU8Encoder)()],
        ['actionData', (0, kit_1.addEncoderSizePrefix)((0, kit_1.getBytesEncoder)(), (0, kit_1.getU32Encoder)())],
    ]);
}
function getSponsoredCCTPQuoteDecoder() {
    return (0, kit_1.getStructDecoder)([
        ['sourceDomain', (0, kit_1.getU32Decoder)()],
        ['destinationDomain', (0, kit_1.getU32Decoder)()],
        ['mintRecipient', (0, kit_1.getAddressDecoder)()],
        ['amount', (0, kit_1.getU64Decoder)()],
        ['burnToken', (0, kit_1.getAddressDecoder)()],
        ['destinationCaller', (0, kit_1.getAddressDecoder)()],
        ['maxFee', (0, kit_1.getU64Decoder)()],
        ['minFinalityThreshold', (0, kit_1.getU32Decoder)()],
        ['nonce', (0, kit_1.fixDecoderSize)((0, kit_1.getBytesDecoder)(), 32)],
        ['deadline', (0, kit_1.getU64Decoder)()],
        ['maxBpsToSponsor', (0, kit_1.getU64Decoder)()],
        ['maxUserSlippageBps', (0, kit_1.getU64Decoder)()],
        ['finalRecipient', (0, kit_1.getAddressDecoder)()],
        ['finalToken', (0, kit_1.getAddressDecoder)()],
        ['executionMode', (0, kit_1.getU8Decoder)()],
        ['actionData', (0, kit_1.addDecoderSizePrefix)((0, kit_1.getBytesDecoder)(), (0, kit_1.getU32Decoder)())],
    ]);
}
function getSponsoredCCTPQuoteCodec() {
    return (0, kit_1.combineCodec)(getSponsoredCCTPQuoteEncoder(), getSponsoredCCTPQuoteDecoder());
}
