"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.getFilledRelayEncoder = getFilledRelayEncoder;
exports.getFilledRelayDecoder = getFilledRelayDecoder;
exports.getFilledRelayCodec = getFilledRelayCodec;
const kit_1 = require("@solana/kit");
const _1 = require(".");
function getFilledRelayEncoder() {
    return (0, kit_1.getStructEncoder)([
        ['inputToken', (0, kit_1.getAddressEncoder)()],
        ['outputToken', (0, kit_1.getAddressEncoder)()],
        ['inputAmount', (0, kit_1.getU64Encoder)()],
        ['outputAmount', (0, kit_1.getU64Encoder)()],
        ['repaymentChainId', (0, kit_1.getU64Encoder)()],
        ['originChainId', (0, kit_1.getU64Encoder)()],
        ['depositId', (0, kit_1.fixEncoderSize)((0, kit_1.getBytesEncoder)(), 32)],
        ['fillDeadline', (0, kit_1.getU32Encoder)()],
        ['exclusivityDeadline', (0, kit_1.getU32Encoder)()],
        ['exclusiveRelayer', (0, kit_1.getAddressEncoder)()],
        ['relayer', (0, kit_1.getAddressEncoder)()],
        ['depositor', (0, kit_1.getAddressEncoder)()],
        ['recipient', (0, kit_1.getAddressEncoder)()],
        ['messageHash', (0, kit_1.fixEncoderSize)((0, kit_1.getBytesEncoder)(), 32)],
        ['relayExecutionInfo', (0, _1.getRelayExecutionEventInfoEncoder)()],
    ]);
}
function getFilledRelayDecoder() {
    return (0, kit_1.getStructDecoder)([
        ['inputToken', (0, kit_1.getAddressDecoder)()],
        ['outputToken', (0, kit_1.getAddressDecoder)()],
        ['inputAmount', (0, kit_1.getU64Decoder)()],
        ['outputAmount', (0, kit_1.getU64Decoder)()],
        ['repaymentChainId', (0, kit_1.getU64Decoder)()],
        ['originChainId', (0, kit_1.getU64Decoder)()],
        ['depositId', (0, kit_1.fixDecoderSize)((0, kit_1.getBytesDecoder)(), 32)],
        ['fillDeadline', (0, kit_1.getU32Decoder)()],
        ['exclusivityDeadline', (0, kit_1.getU32Decoder)()],
        ['exclusiveRelayer', (0, kit_1.getAddressDecoder)()],
        ['relayer', (0, kit_1.getAddressDecoder)()],
        ['depositor', (0, kit_1.getAddressDecoder)()],
        ['recipient', (0, kit_1.getAddressDecoder)()],
        ['messageHash', (0, kit_1.fixDecoderSize)((0, kit_1.getBytesDecoder)(), 32)],
        ['relayExecutionInfo', (0, _1.getRelayExecutionEventInfoDecoder)()],
    ]);
}
function getFilledRelayCodec() {
    return (0, kit_1.combineCodec)(getFilledRelayEncoder(), getFilledRelayDecoder());
}
