"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AdminRelayTokensAdapter__factory = void 0;
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
const ethers_1 = require("ethers");
const _abi = [
    {
        type: "constructor",
        inputs: [
            {
                name: "underlyingAdapter",
                type: "address",
                internalType: "address",
            },
        ],
        stateMutability: "nonpayable",
    },
    {
        type: "function",
        name: "UNDERLYING_ADAPTER",
        inputs: [],
        outputs: [
            {
                name: "",
                type: "address",
                internalType: "address",
            },
        ],
        stateMutability: "view",
    },
    {
        type: "function",
        name: "relayMessage",
        inputs: [
            {
                name: "target",
                type: "address",
                internalType: "address",
            },
            {
                name: "message",
                type: "bytes",
                internalType: "bytes",
            },
        ],
        outputs: [],
        stateMutability: "payable",
    },
    {
        type: "function",
        name: "relayTokens",
        inputs: [
            {
                name: "",
                type: "address",
                internalType: "address",
            },
            {
                name: "",
                type: "address",
                internalType: "address",
            },
            {
                name: "",
                type: "uint256",
                internalType: "uint256",
            },
            {
                name: "",
                type: "address",
                internalType: "address",
            },
        ],
        outputs: [],
        stateMutability: "payable",
    },
    {
        type: "event",
        name: "MessageRelayed",
        inputs: [
            {
                name: "target",
                type: "address",
                indexed: false,
                internalType: "address",
            },
            {
                name: "message",
                type: "bytes",
                indexed: false,
                internalType: "bytes",
            },
        ],
        anonymous: false,
    },
    {
        type: "event",
        name: "TokensRelayed",
        inputs: [
            {
                name: "l1Token",
                type: "address",
                indexed: false,
                internalType: "address",
            },
            {
                name: "l2Token",
                type: "address",
                indexed: false,
                internalType: "address",
            },
            {
                name: "amount",
                type: "uint256",
                indexed: false,
                internalType: "uint256",
            },
            {
                name: "to",
                type: "address",
                indexed: false,
                internalType: "address",
            },
        ],
        anonymous: false,
    },
    {
        type: "error",
        name: "DelegateCallFailed",
        inputs: [],
    },
    {
        type: "error",
        name: "RelayTokensNotSupported",
        inputs: [],
    },
    {
        type: "error",
        name: "TargetSpokeMismatch",
        inputs: [],
    },
];
const _bytecode = "0x60a034606c57601f61036438819003918201601f19168301916001600160401b03831184841017607057808492602094604052833981010312606c57516001600160a01b0381168103606c576080526040516102df90816100858239608051818181605901526101640152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c806352c8c75c146101fb578063e6eb8ade146100815763ecf698631461003a575f80fd5b3461007d575f36600319011261007d5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b5f80fd5b604036600319011261007d57610095610231565b60243567ffffffffffffffff811161007d573660238201121561007d57806004013567ffffffffffffffff811161007d57810136602482011161007d576080908290031261007d576001600160a01b03916100f260248301610273565b906100ff60448401610273565b908461010d60848601610273565b1694859116036101ec575f93606485946001600160a01b03604051948160208701976314b231d760e21b89521660248701521660448501520135606483015260848201526084815261016060a482610287565b51907f00000000000000000000000000000000000000000000000000000000000000005af43d156101e7573d67ffffffffffffffff81116101d357604051906101b3601f8201601f191660200183610287565b81525f60203d92013e5b156101c457005b6318cecad560e01b5f5260045ffd5b634e487b7160e01b5f52604160045260245ffd5b6101bd565b63d9050a2760e01b5f5260045ffd5b608036600319011261007d5761020f610231565b50610218610247565b5061022161025d565b506309be06e560e31b5f5260045ffd5b600435906001600160a01b038216820361007d57565b602435906001600160a01b038216820361007d57565b606435906001600160a01b038216820361007d57565b35906001600160a01b038216820361007d57565b90601f8019910116810190811067ffffffffffffffff8211176101d35760405256fea2646970667358221220a8d7b4af98ada307d807fff980957045000bb8a902834a1c56bfa5e4ea34dfa464736f6c634300081e0033";
const isSuperArgs = (xs) => xs.length > 1;
class AdminRelayTokensAdapter__factory extends ethers_1.ContractFactory {
    constructor(...args) {
        if (isSuperArgs(args)) {
            super(...args);
        }
        else {
            super(_abi, _bytecode, args[0]);
        }
    }
    deploy(underlyingAdapter, overrides) {
        return super.deploy(underlyingAdapter, overrides || {});
    }
    getDeployTransaction(underlyingAdapter, overrides) {
        return super.getDeployTransaction(underlyingAdapter, 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.AdminRelayTokensAdapter__factory = AdminRelayTokensAdapter__factory;
AdminRelayTokensAdapter__factory.bytecode = _bytecode;
AdminRelayTokensAdapter__factory.abi = _abi;
