"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ArbitrumMockErc20GatewayRouter__factory = void 0;
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
const ethers_1 = require("ethers");
const _abi = [
    {
        inputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        name: "getGateway",
        outputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
            {
                internalType: "address",
                name: "",
                type: "address",
            },
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
            {
                internalType: "bytes",
                name: "_data",
                type: "bytes",
            },
        ],
        name: "outboundTransfer",
        outputs: [
            {
                internalType: "bytes",
                name: "",
                type: "bytes",
            },
        ],
        stateMutability: "payable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
            {
                internalType: "address",
                name: "",
                type: "address",
            },
            {
                internalType: "address",
                name: "",
                type: "address",
            },
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
            {
                internalType: "bytes",
                name: "_data",
                type: "bytes",
            },
        ],
        name: "outboundTransferCustomRefund",
        outputs: [
            {
                internalType: "bytes",
                name: "",
                type: "bytes",
            },
        ],
        stateMutability: "payable",
        type: "function",
    },
];
const _bytecode = "0x60808060405234601557610319908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80634fb1a07b146100f8578063bda009fe146100b65763d2ce7d651461003a575f80fd5b60c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b25761006c610163565b50610075610186565b5060a43567ffffffffffffffff81116100b2576100a261009c6100ae9236906004016101cc565b90610242565b604051918291826101fa565b0390f35b5f80fd5b346100b25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b2576100ed610163565b506020604051308152f35b60e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b25761012a610163565b50610133610186565b5061013c6101a9565b5060c43567ffffffffffffffff81116100b2576100a261009c6100ae9236906004016101cc565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100b257565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100b257565b6044359073ffffffffffffffffffffffffffffffffffffffff821682036100b257565b9181601f840112156100b25782359167ffffffffffffffff83116100b257602083818601950101116100b257565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b9067ffffffffffffffff81116102b657604051917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f8501160116830183811067ffffffffffffffff8211176102b65760405281835236828201116100b257815f92602092838601378301015290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffdfea264697066735822122096a3c3f8ca83f24848e77c9e7f53599408780d16f3dec37a972295114b9cf4f064736f6c634300081e0033";
const isSuperArgs = (xs) => xs.length > 1;
class ArbitrumMockErc20GatewayRouter__factory extends ethers_1.ContractFactory {
    constructor(...args) {
        if (isSuperArgs(args)) {
            super(...args);
        }
        else {
            super(_abi, _bytecode, args[0]);
        }
    }
    deploy(overrides) {
        return super.deploy(overrides || {});
    }
    getDeployTransaction(overrides) {
        return super.getDeployTransaction(overrides || {});
    }
    attach(address) {
        return super.attach(address);
    }
    connect(signer) {
        return super.connect(signer);
    }
    static createInterface() {
        return new ethers_1.utils.Interface(_abi);
    }
    static connect(address, signerOrProvider) {
        return new ethers_1.Contract(address, _abi, signerOrProvider);
    }
}
exports.ArbitrumMockErc20GatewayRouter__factory = ArbitrumMockErc20GatewayRouter__factory;
ArbitrumMockErc20GatewayRouter__factory.bytecode = _bytecode;
ArbitrumMockErc20GatewayRouter__factory.abi = _abi;
