"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.IHyperCoreFlowExecutor__factory = void 0;
const ethers_1 = require("ethers");
const _abi = [
    {
        type: "function",
        name: "ONEX1e8",
        inputs: [],
        outputs: [
            {
                name: "",
                type: "uint64",
                internalType: "uint64",
            },
        ],
        stateMutability: "nonpayable",
    },
    {
        type: "function",
        name: "PPM_DECIMALS",
        inputs: [],
        outputs: [
            {
                name: "",
                type: "uint256",
                internalType: "uint256",
            },
        ],
        stateMutability: "nonpayable",
    },
    {
        type: "function",
        name: "PPM_SCALAR",
        inputs: [],
        outputs: [
            {
                name: "",
                type: "uint256",
                internalType: "uint256",
            },
        ],
        stateMutability: "nonpayable",
    },
    {
        type: "function",
        name: "PX_D",
        inputs: [],
        outputs: [
            {
                name: "",
                type: "uint8",
                internalType: "uint8",
            },
        ],
        stateMutability: "nonpayable",
    },
    {
        type: "function",
        name: "activateUserAccount",
        inputs: [
            {
                name: "quoteNonce",
                type: "bytes32",
                internalType: "bytes32",
            },
            {
                name: "finalRecipient",
                type: "address",
                internalType: "address",
            },
            {
                name: "fundingToken",
                type: "address",
                internalType: "address",
            },
        ],
        outputs: [],
        stateMutability: "nonpayable",
    },
    {
        type: "function",
        name: "baseToken",
        inputs: [],
        outputs: [
            {
                name: "",
                type: "address",
                internalType: "address",
            },
        ],
        stateMutability: "nonpayable",
    },
    {
        type: "function",
        name: "cancelLimitOrderByCloid",
        inputs: [
            {
                name: "finalToken",
                type: "address",
                internalType: "address",
            },
            {
                name: "cloid",
                type: "uint128",
                internalType: "uint128",
            },
        ],
        outputs: [],
        stateMutability: "nonpayable",
    },
    {
        type: "function",
        name: "donationBox",
        inputs: [],
        outputs: [
            {
                name: "",
                type: "address",
                internalType: "contract DonationBox",
            },
        ],
        stateMutability: "nonpayable",
    },
    {
        type: "function",
        name: "executeFlow",
        inputs: [
            {
                name: "params",
                type: "tuple",
                internalType: "struct CommonFlowParams",
                components: [
                    {
                        name: "amountInEVM",
                        type: "uint256",
                        internalType: "uint256",
                    },
                    {
                        name: "quoteNonce",
                        type: "bytes32",
                        internalType: "bytes32",
                    },
                    {
                        name: "finalRecipient",
                        type: "address",
                        internalType: "address",
                    },
                    {
                        name: "finalToken",
                        type: "address",
                        internalType: "address",
                    },
                    {
                        name: "destinationDex",
                        type: "uint32",
                        internalType: "uint32",
                    },
                    {
                        name: "accountCreationMode",
                        type: "uint8",
                        internalType: "enum AccountCreationMode",
                    },
                    {
                        name: "maxBpsToSponsor",
                        type: "uint256",
                        internalType: "uint256",
                    },
                    {
                        name: "extraFeesIncurred",
                        type: "uint256",
                        internalType: "uint256",
                    },
                ],
            },
            {
                name: "maxUserSlippageBps",
                type: "uint256",
                internalType: "uint256",
            },
        ],
        outputs: [],
        stateMutability: "nonpayable",
    },
    {
        type: "function",
        name: "executeSimpleTransferFlow",
        inputs: [
            {
                name: "params",
                type: "tuple",
                internalType: "struct CommonFlowParams",
                components: [
                    {
                        name: "amountInEVM",
                        type: "uint256",
                        internalType: "uint256",
                    },
                    {
                        name: "quoteNonce",
                        type: "bytes32",
                        internalType: "bytes32",
                    },
                    {
                        name: "finalRecipient",
                        type: "address",
                        internalType: "address",
                    },
                    {
                        name: "finalToken",
                        type: "address",
                        internalType: "address",
                    },
                    {
                        name: "destinationDex",
                        type: "uint32",
                        internalType: "uint32",
                    },
                    {
                        name: "accountCreationMode",
                        type: "uint8",
                        internalType: "enum AccountCreationMode",
                    },
                    {
                        name: "maxBpsToSponsor",
                        type: "uint256",
                        internalType: "uint256",
                    },
                    {
                        name: "extraFeesIncurred",
                        type: "uint256",
                        internalType: "uint256",
                    },
                ],
            },
        ],
        outputs: [],
        stateMutability: "nonpayable",
    },
    {
        type: "function",
        name: "fallbackHyperEVMFlow",
        inputs: [
            {
                name: "params",
                type: "tuple",
                internalType: "struct CommonFlowParams",
                components: [
                    {
                        name: "amountInEVM",
                        type: "uint256",
                        internalType: "uint256",
                    },
                    {
                        name: "quoteNonce",
                        type: "bytes32",
                        internalType: "bytes32",
                    },
                    {
                        name: "finalRecipient",
                        type: "address",
                        internalType: "address",
                    },
                    {
                        name: "finalToken",
                        type: "address",
                        internalType: "address",
                    },
                    {
                        name: "destinationDex",
                        type: "uint32",
                        internalType: "uint32",
                    },
                    {
                        name: "accountCreationMode",
                        type: "uint8",
                        internalType: "enum AccountCreationMode",
                    },
                    {
                        name: "maxBpsToSponsor",
                        type: "uint256",
                        internalType: "uint256",
                    },
                    {
                        name: "extraFeesIncurred",
                        type: "uint256",
                        internalType: "uint256",
                    },
                ],
            },
        ],
        outputs: [],
        stateMutability: "nonpayable",
    },
    {
        type: "function",
        name: "finalizeSwapFlows",
        inputs: [
            {
                name: "finalToken",
                type: "address",
                internalType: "address",
            },
            {
                name: "quoteNonces",
                type: "bytes32[]",
                internalType: "bytes32[]",
            },
            {
                name: "limitOrderOuts",
                type: "uint64[]",
                internalType: "uint64[]",
            },
        ],
        outputs: [
            {
                name: "finalized",
                type: "uint256",
                internalType: "uint256",
            },
        ],
        stateMutability: "nonpayable",
    },
    {
        type: "function",
        name: "predictSwapHandler",
        inputs: [
            {
                name: "finalToken",
                type: "address",
                internalType: "address",
            },
        ],
        outputs: [
            {
                name: "",
                type: "address",
                internalType: "address",
            },
        ],
        stateMutability: "view",
    },
    {
        type: "function",
        name: "sendSponsorshipFundsToSwapHandler",
        inputs: [
            {
                name: "token",
                type: "address",
                internalType: "address",
            },
            {
                name: "amount",
                type: "uint256",
                internalType: "uint256",
            },
        ],
        outputs: [],
        stateMutability: "nonpayable",
    },
    {
        type: "function",
        name: "setCoreTokenInfo",
        inputs: [
            {
                name: "token",
                type: "address",
                internalType: "address",
            },
            {
                name: "coreIndex",
                type: "uint32",
                internalType: "uint32",
            },
            {
                name: "canBeUsedForAccountActivation",
                type: "bool",
                internalType: "bool",
            },
            {
                name: "accountActivationFeeCore",
                type: "uint64",
                internalType: "uint64",
            },
            {
                name: "bridgeSafetyBufferCore",
                type: "uint64",
                internalType: "uint64",
            },
        ],
        outputs: [],
        stateMutability: "nonpayable",
    },
    {
        type: "function",
        name: "setFinalTokenInfo",
        inputs: [
            {
                name: "finalToken",
                type: "address",
                internalType: "address",
            },
            {
                name: "assetIndex",
                type: "uint32",
                internalType: "uint32",
            },
            {
                name: "isBuy",
                type: "bool",
                internalType: "bool",
            },
            {
                name: "feePpm",
                type: "uint32",
                internalType: "uint32",
            },
            {
                name: "suggestedDiscountBps",
                type: "uint32",
                internalType: "uint32",
            },
            {
                name: "accountActivationFeeToken",
                type: "address",
                internalType: "address",
            },
        ],
        outputs: [],
        stateMutability: "nonpayable",
    },
    {
        type: "function",
        name: "submitLimitOrderFromBot",
        inputs: [
            {
                name: "finalToken",
                type: "address",
                internalType: "address",
            },
            {
                name: "priceX1e8",
                type: "uint64",
                internalType: "uint64",
            },
            {
                name: "sizeX1e8",
                type: "uint64",
                internalType: "uint64",
            },
            {
                name: "cloid",
                type: "uint128",
                internalType: "uint128",
            },
        ],
        outputs: [],
        stateMutability: "nonpayable",
    },
    {
        type: "function",
        name: "sweepERC20FromSwapHandler",
        inputs: [
            {
                name: "token",
                type: "address",
                internalType: "address",
            },
            {
                name: "amount",
                type: "uint256",
                internalType: "uint256",
            },
        ],
        outputs: [],
        stateMutability: "nonpayable",
    },
    {
        type: "function",
        name: "sweepErc20",
        inputs: [
            {
                name: "token",
                type: "address",
                internalType: "address",
            },
            {
                name: "amount",
                type: "uint256",
                internalType: "uint256",
            },
        ],
        outputs: [],
        stateMutability: "nonpayable",
    },
    {
        type: "function",
        name: "sweepErc20FromDonationBox",
        inputs: [
            {
                name: "token",
                type: "address",
                internalType: "address",
            },
            {
                name: "amount",
                type: "uint256",
                internalType: "uint256",
            },
        ],
        outputs: [],
        stateMutability: "nonpayable",
    },
    {
        type: "function",
        name: "sweepOnCore",
        inputs: [
            {
                name: "token",
                type: "address",
                internalType: "address",
            },
            {
                name: "amount",
                type: "uint64",
                internalType: "uint64",
            },
        ],
        outputs: [],
        stateMutability: "nonpayable",
    },
    {
        type: "function",
        name: "sweepOnCoreFromSwapHandler",
        inputs: [
            {
                name: "token",
                type: "address",
                internalType: "address",
            },
            {
                name: "amount",
                type: "uint64",
                internalType: "uint64",
            },
        ],
        outputs: [],
        stateMutability: "nonpayable",
    },
];
class IHyperCoreFlowExecutor__factory {
    static abi = _abi;
    static createInterface() {
        return new ethers_1.utils.Interface(_abi);
    }
    static connect(address, signerOrProvider) {
        return new ethers_1.Contract(address, _abi, signerOrProvider);
    }
}
exports.IHyperCoreFlowExecutor__factory = IHyperCoreFlowExecutor__factory;
//# sourceMappingURL=IHyperCoreFlowExecutor__factory.js.map