"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.getRelayDataEncoder = getRelayDataEncoder;
exports.getRelayDataDecoder = getRelayDataDecoder;
exports.getRelayDataCodec = getRelayDataCodec;
const web3_v2_js_1 = require("@solana/web3-v2.js");
function getRelayDataEncoder() {
    return (0, web3_v2_js_1.getStructEncoder)([
        ['depositor', (0, web3_v2_js_1.getAddressEncoder)()],
        ['recipient', (0, web3_v2_js_1.getAddressEncoder)()],
        ['exclusiveRelayer', (0, web3_v2_js_1.getAddressEncoder)()],
        ['inputToken', (0, web3_v2_js_1.getAddressEncoder)()],
        ['outputToken', (0, web3_v2_js_1.getAddressEncoder)()],
        ['inputAmount', (0, web3_v2_js_1.getU64Encoder)()],
        ['outputAmount', (0, web3_v2_js_1.getU64Encoder)()],
        ['originChainId', (0, web3_v2_js_1.getU64Encoder)()],
        ['depositId', (0, web3_v2_js_1.fixEncoderSize)((0, web3_v2_js_1.getBytesEncoder)(), 32)],
        ['fillDeadline', (0, web3_v2_js_1.getU32Encoder)()],
        ['exclusivityDeadline', (0, web3_v2_js_1.getU32Encoder)()],
        ['message', (0, web3_v2_js_1.addEncoderSizePrefix)((0, web3_v2_js_1.getBytesEncoder)(), (0, web3_v2_js_1.getU32Encoder)())],
    ]);
}
function getRelayDataDecoder() {
    return (0, web3_v2_js_1.getStructDecoder)([
        ['depositor', (0, web3_v2_js_1.getAddressDecoder)()],
        ['recipient', (0, web3_v2_js_1.getAddressDecoder)()],
        ['exclusiveRelayer', (0, web3_v2_js_1.getAddressDecoder)()],
        ['inputToken', (0, web3_v2_js_1.getAddressDecoder)()],
        ['outputToken', (0, web3_v2_js_1.getAddressDecoder)()],
        ['inputAmount', (0, web3_v2_js_1.getU64Decoder)()],
        ['outputAmount', (0, web3_v2_js_1.getU64Decoder)()],
        ['originChainId', (0, web3_v2_js_1.getU64Decoder)()],
        ['depositId', (0, web3_v2_js_1.fixDecoderSize)((0, web3_v2_js_1.getBytesDecoder)(), 32)],
        ['fillDeadline', (0, web3_v2_js_1.getU32Decoder)()],
        ['exclusivityDeadline', (0, web3_v2_js_1.getU32Decoder)()],
        ['message', (0, web3_v2_js_1.addDecoderSizePrefix)((0, web3_v2_js_1.getBytesDecoder)(), (0, web3_v2_js_1.getU32Decoder)())],
    ]);
}
function getRelayDataCodec() {
    return (0, web3_v2_js_1.combineCodec)(getRelayDataEncoder(), getRelayDataDecoder());
}
