"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Ethereum_Adapter__factory = void 0;
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
const ethers_1 = require("ethers");
const _abi = [
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: "address",
                name: "target",
                type: "address",
            },
            {
                indexed: false,
                internalType: "bytes",
                name: "message",
                type: "bytes",
            },
        ],
        name: "MessageRelayed",
        type: "event",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: "address",
                name: "l1Token",
                type: "address",
            },
            {
                indexed: false,
                internalType: "address",
                name: "l2Token",
                type: "address",
            },
            {
                indexed: false,
                internalType: "uint256",
                name: "amount",
                type: "uint256",
            },
            {
                indexed: false,
                internalType: "address",
                name: "to",
                type: "address",
            },
        ],
        name: "TokensRelayed",
        type: "event",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "target",
                type: "address",
            },
            {
                internalType: "bytes",
                name: "message",
                type: "bytes",
            },
        ],
        name: "relayMessage",
        outputs: [],
        stateMutability: "payable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "l1Token",
                type: "address",
            },
            {
                internalType: "address",
                name: "l2Token",
                type: "address",
            },
            {
                internalType: "uint256",
                name: "amount",
                type: "uint256",
            },
            {
                internalType: "address",
                name: "to",
                type: "address",
            },
        ],
        name: "relayTokens",
        outputs: [],
        stateMutability: "payable",
        type: "function",
    },
];
const _bytecode = "0x60808060405234601557610505908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c806352c8c75c146100345763e6eb8ade1461002f575f80fd5b610260565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101f3577fd7e09655439c3932e55857df3220186e5a7f0980825f20691c2b35d941dee75b6100876101f7565b61008f61021a565b906101cc60443561009e61023d565b9061019261017e73ffffffffffffffffffffffffffffffffffffffff86167fa9059cbb0000000000000000000000000000000000000000000000000000000060a05273ffffffffffffffffffffffffffffffffffffffff851660a4528360c452604460805261010d60646103c3565b6040519061011c60408361040a565b602082527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656460208301525f8060805160a082855af13d156101eb573d916101628361044b565b92610170604051948561040a565b83523d5f602085013e6104a4565b80519081159182156101d1575b5050610485565b6040805173ffffffffffffffffffffffffffffffffffffffff95861681529585166020870152850152909116606083015281906080820190565b0390a1005b6101e4925060208091830101910161048c565b888061018b565b6060916104a4565b5f80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036101f357565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036101f357565b6064359073ffffffffffffffffffffffffffffffffffffffff821682036101f357565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101f3576102926101f7565b60243567ffffffffffffffff81116101f357366023820112156101f35780600401359067ffffffffffffffff82116101f357602481019060248336920101116101f3575f806102e08461044b565b6102ed604051918261040a565b8481526020810190858583378260208783010152519082875af1156101f3577f9e6c52944e331ba6270e7fe4cea2a4086bae8f7a27e1cdba07f416806f5d0ac4927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8473ffffffffffffffffffffffffffffffffffffffff9560609560405197889616865260406020870152816040870152868601375f85828601015201168101030190a1005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09101166080016080811067ffffffffffffffff82111761040557604052565b610396565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761040557604052565b67ffffffffffffffff811161040557601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b156101f357565b908160209103126101f3575180151581036101f35790565b919250156104c0578151156104b7575090565b3b156101f35790565b5080519081156101f357602001fdfea264697066735822122078da3f5dc80947cec2bacb3661f1fbdb18c7670b472fcb0c1ddbfdd539f4889964736f6c634300081e0033";
const isSuperArgs = (xs) => xs.length > 1;
class Ethereum_Adapter__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.Ethereum_Adapter__factory = Ethereum_Adapter__factory;
Ethereum_Adapter__factory.bytecode = _bytecode;
Ethereum_Adapter__factory.abi = _abi;
