"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.getDepositForBurnEncoder = getDepositForBurnEncoder;
exports.getDepositForBurnDecoder = getDepositForBurnDecoder;
exports.getDepositForBurnCodec = getDepositForBurnCodec;
const kit_1 = require("@solana/kit");
function getDepositForBurnEncoder() {
    return (0, kit_1.getStructEncoder)([
        ['burnToken', (0, kit_1.getAddressEncoder)()],
        ['amount', (0, kit_1.getU64Encoder)()],
        ['depositor', (0, kit_1.getAddressEncoder)()],
        ['mintRecipient', (0, kit_1.getAddressEncoder)()],
        ['destinationDomain', (0, kit_1.getU32Encoder)()],
        ['destinationTokenMessenger', (0, kit_1.getAddressEncoder)()],
        ['destinationCaller', (0, kit_1.getAddressEncoder)()],
        ['maxFee', (0, kit_1.getU64Encoder)()],
        ['minFinalityThreshold', (0, kit_1.getU32Encoder)()],
        ['hookData', (0, kit_1.addEncoderSizePrefix)((0, kit_1.getBytesEncoder)(), (0, kit_1.getU32Encoder)())],
    ]);
}
function getDepositForBurnDecoder() {
    return (0, kit_1.getStructDecoder)([
        ['burnToken', (0, kit_1.getAddressDecoder)()],
        ['amount', (0, kit_1.getU64Decoder)()],
        ['depositor', (0, kit_1.getAddressDecoder)()],
        ['mintRecipient', (0, kit_1.getAddressDecoder)()],
        ['destinationDomain', (0, kit_1.getU32Decoder)()],
        ['destinationTokenMessenger', (0, kit_1.getAddressDecoder)()],
        ['destinationCaller', (0, kit_1.getAddressDecoder)()],
        ['maxFee', (0, kit_1.getU64Decoder)()],
        ['minFinalityThreshold', (0, kit_1.getU32Decoder)()],
        ['hookData', (0, kit_1.addDecoderSizePrefix)((0, kit_1.getBytesDecoder)(), (0, kit_1.getU32Decoder)())],
    ]);
}
function getDepositForBurnCodec() {
    return (0, kit_1.combineCodec)(getDepositForBurnEncoder(), getDepositForBurnDecoder());
}
