@arbitrum/sdk
Version:
Typescript library client-side interactions with Arbitrum
925 lines • 74.4 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.L1AtomicTokenBridgeCreator__factory = void 0;
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
const ethers_1 = require("ethers");
const _abi = [
{
inputs: [],
stateMutability: "nonpayable",
type: "constructor",
},
{
inputs: [],
name: "L1AtomicTokenBridgeCreator_L2FactoryCannotBeChanged",
type: "error",
},
{
inputs: [],
name: "L1AtomicTokenBridgeCreator_OnlyRollupOwner",
type: "error",
},
{
inputs: [],
name: "L1AtomicTokenBridgeCreator_ProxyAdminNotFound",
type: "error",
},
{
inputs: [],
name: "L1AtomicTokenBridgeCreator_RollupOwnershipMisconfig",
type: "error",
},
{
inputs: [],
name: "L1AtomicTokenBridgeCreator_TemplatesNotSet",
type: "error",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "uint8",
name: "version",
type: "uint8",
},
],
name: "Initialized",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "inbox",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "owner",
type: "address",
},
{
components: [
{
internalType: "address",
name: "router",
type: "address",
},
{
internalType: "address",
name: "standardGateway",
type: "address",
},
{
internalType: "address",
name: "customGateway",
type: "address",
},
{
internalType: "address",
name: "wethGateway",
type: "address",
},
{
internalType: "address",
name: "weth",
type: "address",
},
],
indexed: false,
internalType: "struct L1DeploymentAddresses",
name: "l1Deployment",
type: "tuple",
},
{
components: [
{
internalType: "address",
name: "router",
type: "address",
},
{
internalType: "address",
name: "standardGateway",
type: "address",
},
{
internalType: "address",
name: "customGateway",
type: "address",
},
{
internalType: "address",
name: "wethGateway",
type: "address",
},
{
internalType: "address",
name: "weth",
type: "address",
},
{
internalType: "address",
name: "proxyAdmin",
type: "address",
},
{
internalType: "address",
name: "beaconProxyFactory",
type: "address",
},
{
internalType: "address",
name: "upgradeExecutor",
type: "address",
},
{
internalType: "address",
name: "multicall",
type: "address",
},
],
indexed: false,
internalType: "struct L2DeploymentAddresses",
name: "l2Deployment",
type: "tuple",
},
{
indexed: false,
internalType: "address",
name: "proxyAdmin",
type: "address",
},
{
indexed: false,
internalType: "address",
name: "upgradeExecutor",
type: "address",
},
],
name: "OrbitTokenBridgeCreated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "inbox",
type: "address",
},
{
components: [
{
internalType: "address",
name: "router",
type: "address",
},
{
internalType: "address",
name: "standardGateway",
type: "address",
},
{
internalType: "address",
name: "customGateway",
type: "address",
},
{
internalType: "address",
name: "wethGateway",
type: "address",
},
{
internalType: "address",
name: "weth",
type: "address",
},
],
indexed: false,
internalType: "struct L1DeploymentAddresses",
name: "l1",
type: "tuple",
},
{
components: [
{
internalType: "address",
name: "router",
type: "address",
},
{
internalType: "address",
name: "standardGateway",
type: "address",
},
{
internalType: "address",
name: "customGateway",
type: "address",
},
{
internalType: "address",
name: "wethGateway",
type: "address",
},
{
internalType: "address",
name: "weth",
type: "address",
},
{
internalType: "address",
name: "proxyAdmin",
type: "address",
},
{
internalType: "address",
name: "beaconProxyFactory",
type: "address",
},
{
internalType: "address",
name: "upgradeExecutor",
type: "address",
},
{
internalType: "address",
name: "multicall",
type: "address",
},
],
indexed: false,
internalType: "struct L2DeploymentAddresses",
name: "l2",
type: "tuple",
},
],
name: "OrbitTokenBridgeDeploymentSet",
type: "event",
},
{
anonymous: false,
inputs: [],
name: "OrbitTokenBridgeTemplatesUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "previousOwner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "OwnershipTransferred",
type: "event",
},
{
inputs: [],
name: "canonicalL2FactoryAddress",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "inbox",
type: "address",
},
{
internalType: "address",
name: "rollupOwner",
type: "address",
},
{
internalType: "uint256",
name: "maxGasForContracts",
type: "uint256",
},
{
internalType: "uint256",
name: "gasPriceBid",
type: "uint256",
},
],
name: "createTokenBridge",
outputs: [],
stateMutability: "payable",
type: "function",
},
{
inputs: [],
name: "gasLimitForL2FactoryDeployment",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "inbox",
type: "address",
},
],
name: "getRouter",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
name: "inboxToL1Deployment",
outputs: [
{
internalType: "address",
name: "router",
type: "address",
},
{
internalType: "address",
name: "standardGateway",
type: "address",
},
{
internalType: "address",
name: "customGateway",
type: "address",
},
{
internalType: "address",
name: "wethGateway",
type: "address",
},
{
internalType: "address",
name: "weth",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
name: "inboxToL2Deployment",
outputs: [
{
internalType: "address",
name: "router",
type: "address",
},
{
internalType: "address",
name: "standardGateway",
type: "address",
},
{
internalType: "address",
name: "customGateway",
type: "address",
},
{
internalType: "address",
name: "wethGateway",
type: "address",
},
{
internalType: "address",
name: "weth",
type: "address",
},
{
internalType: "address",
name: "proxyAdmin",
type: "address",
},
{
internalType: "address",
name: "beaconProxyFactory",
type: "address",
},
{
internalType: "address",
name: "upgradeExecutor",
type: "address",
},
{
internalType: "address",
name: "multicall",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "contract L1TokenBridgeRetryableSender",
name: "_retryableSender",
type: "address",
},
],
name: "initialize",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "l1Multicall",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "l1Templates",
outputs: [
{
internalType: "contract L1GatewayRouter",
name: "routerTemplate",
type: "address",
},
{
internalType: "contract L1ERC20Gateway",
name: "standardGatewayTemplate",
type: "address",
},
{
internalType: "contract L1CustomGateway",
name: "customGatewayTemplate",
type: "address",
},
{
internalType: "contract L1WethGateway",
name: "wethGatewayTemplate",
type: "address",
},
{
internalType: "contract L1OrbitGatewayRouter",
name: "feeTokenBasedRouterTemplate",
type: "address",
},
{
internalType: "contract L1OrbitERC20Gateway",
name: "feeTokenBasedStandardGatewayTemplate",
type: "address",
},
{
internalType: "contract L1OrbitCustomGateway",
name: "feeTokenBasedCustomGatewayTemplate",
type: "address",
},
{
internalType: "contract IUpgradeExecutor",
name: "upgradeExecutor",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "l1Weth",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "l2CustomGatewayTemplate",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "l2MulticallTemplate",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "l2RouterTemplate",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "l2StandardGatewayTemplate",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "l2TokenBridgeFactoryTemplate",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "l2WethGatewayTemplate",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "l2WethTemplate",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "owner",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "renounceOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "retryableSender",
outputs: [
{
internalType: "contract L1TokenBridgeRetryableSender",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "inbox",
type: "address",
},
{
components: [
{
internalType: "address",
name: "router",
type: "address",
},
{
internalType: "address",
name: "standardGateway",
type: "address",
},
{
internalType: "address",
name: "customGateway",
type: "address",
},
{
internalType: "address",
name: "wethGateway",
type: "address",
},
{
internalType: "address",
name: "weth",
type: "address",
},
],
internalType: "struct L1DeploymentAddresses",
name: "l1Deployment",
type: "tuple",
},
{
components: [
{
internalType: "address",
name: "router",
type: "address",
},
{
internalType: "address",
name: "standardGateway",
type: "address",
},
{
internalType: "address",
name: "customGateway",
type: "address",
},
{
internalType: "address",
name: "wethGateway",
type: "address",
},
{
internalType: "address",
name: "weth",
type: "address",
},
{
internalType: "address",
name: "proxyAdmin",
type: "address",
},
{
internalType: "address",
name: "beaconProxyFactory",
type: "address",
},
{
internalType: "address",
name: "upgradeExecutor",
type: "address",
},
{
internalType: "address",
name: "multicall",
type: "address",
},
],
internalType: "struct L2DeploymentAddresses",
name: "l2Deployment",
type: "tuple",
},
],
name: "setDeployment",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "contract L1GatewayRouter",
name: "routerTemplate",
type: "address",
},
{
internalType: "contract L1ERC20Gateway",
name: "standardGatewayTemplate",
type: "address",
},
{
internalType: "contract L1CustomGateway",
name: "customGatewayTemplate",
type: "address",
},
{
internalType: "contract L1WethGateway",
name: "wethGatewayTemplate",
type: "address",
},
{
internalType: "contract L1OrbitGatewayRouter",
name: "feeTokenBasedRouterTemplate",
type: "address",
},
{
internalType: "contract L1OrbitERC20Gateway",
name: "feeTokenBasedStandardGatewayTemplate",
type: "address",
},
{
internalType: "contract L1OrbitCustomGateway",
name: "feeTokenBasedCustomGatewayTemplate",
type: "address",
},
{
internalType: "contract IUpgradeExecutor",
name: "upgradeExecutor",
type: "address",
},
],
internalType: "struct L1AtomicTokenBridgeCreator.L1Templates",
name: "_l1Templates",
type: "tuple",
},
{
internalType: "address",
name: "_l2TokenBridgeFactoryTemplate",
type: "address",
},
{
internalType: "address",
name: "_l2RouterTemplate",
type: "address",
},
{
internalType: "address",
name: "_l2StandardGatewayTemplate",
type: "address",
},
{
internalType: "address",
name: "_l2CustomGatewayTemplate",
type: "address",
},
{
internalType: "address",
name: "_l2WethGatewayTemplate",
type: "address",
},
{
internalType: "address",
name: "_l2WethTemplate",
type: "address",
},
{
internalType: "address",
name: "_l2MulticallTemplate",
type: "address",
},
{
internalType: "address",
name: "_l1Weth",
type: "address",
},
{
internalType: "address",
name: "_l1Multicall",
type: "address",
},
{
internalType: "uint256",
name: "_gasLimitForL2FactoryDeployment",
type: "uint256",
},
],
name: "setTemplates",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "transferOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
];
const _bytecode = "0x60806040523480156200001157600080fd5b506200001c62000022565b620000e4565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b615c6180620000f46000396000f3fe6080604052600436106200015b5760003560e01c8063888139d411620000c5578063bfd3e5181162000078578063bfd3e518146200050a578063c4d66de8146200052c578063d7eee6ca1462000551578063d9ce0ef91462000573578063f2fde38b14620005e5578063fd40ad85146200060a57600080fd5b8063888139d414620003bd5780638c99e31c14620003e45780638da5cb5b14620004065780639095765e1462000426578063a5595da91462000448578063b1460a7114620004e857600080fd5b806346052706116200011e5780634605270614620002275780634c1496711462000305578063715018a6146200032c57806381fb918414620003445780638277742b14620003695780638369166d146200038057600080fd5b8063146bf4b114620001605780631aeef2e2146200019f57806336dddb9714620001c1578063381c9d9914620001e3578063410831861462000205575b600080fd5b3480156200016d57600080fd5b5060785462000182906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b348015620001ac57600080fd5b5060715462000182906001600160a01b031681565b348015620001ce57600080fd5b5060685462000182906001600160a01b031681565b348015620001f057600080fd5b5060725462000182906001600160a01b031681565b3480156200021257600080fd5b5060745462000182906001600160a01b031681565b3480156200023457600080fd5b50620002aa62000246366004620026c0565b6066602052600090815260409020805460018201546002830154600384015460048501546005860154600687015460078801546008909801546001600160a01b03978816989688169795861696948616959384169492841693918216928216911689565b604080516001600160a01b039a8b168152988a1660208a01529689169688019690965293871660608701529186166080860152851660a0850152841660c0840152831660e08301529091166101008201526101200162000196565b3480156200031257600080fd5b506200032a6200032436600462002817565b6200062c565b005b3480156200033957600080fd5b506200032a6200091c565b3480156200035157600080fd5b506200032a62000363366004620028dc565b62000934565b6200032a6200037a366004620029d0565b62000a58565b3480156200038d57600080fd5b50620001826200039f366004620026c0565b6001600160a01b039081166000908152606560205260409020541690565b348015620003ca57600080fd5b50620003d560675481565b60405190815260200162000196565b348015620003f157600080fd5b5060775462000182906001600160a01b031681565b3480156200041357600080fd5b506033546001600160a01b031662000182565b3480156200043357600080fd5b5060755462000182906001600160a01b031681565b3480156200045557600080fd5b50606954606a54606b54606c54606d54606e54606f5460705462000495976001600160a01b03908116978116968116958116948116938116928116911688565b604080516001600160a01b03998a16815297891660208901529588169587019590955292861660608601529085166080850152841660a0840152831660c083015290911660e08201526101000162000196565b348015620004f557600080fd5b5060795462000182906001600160a01b031681565b3480156200051757600080fd5b50607a5462000182906001600160a01b031681565b3480156200053957600080fd5b506200032a6200054b366004620026c0565b6200199f565b3480156200055e57600080fd5b5060735462000182906001600160a01b031681565b3480156200058057600080fd5b50620005d262000592366004620026c0565b606560205260009081526040902080546001820154600283015460038401546004909401546001600160a01b039384169492841693918216928216911685565b6040516200019695949392919062002a1b565b348015620005f257600080fd5b506200032a62000604366004620026c0565b62001bbd565b3480156200061757600080fd5b5060765462000182906001600160a01b031681565b826001600160a01b031663e78cea926040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200066b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000691919062002a4d565b6001600160a01b031663cb23bcb56040518163ffffffff1660e01b8152600401602060405180830381865afa158015620006cf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006f5919062002a4d565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000733573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000759919062002a4d565b6001600160a01b0316336001600160a01b0316146200078b57604051630dbb2a6f60e11b815260040160405180910390fd5b6001600160a01b038381166000818152606560209081526040808320875181546001600160a01b031990811691881691909117825588840151600180840180548416928a169290921790915589840151600280850180548516928b16929092179091556060808c0151600380870180548716928d16929092179091556080808e0151600497880180548816918e1691909117905560668952988790208c5181548716908d16178155978c015193880180548616948c16949094179093558a86015191870180548516928b169290921790915589015190850180548316918916919091179055938701519083018054851691871691909117905560a0860151600583018054851691871691909117905560c0860151600683018054851691871691909117905560e08601516007830180548516918716919091179055610100860151600890920180549093169190941617905590517e3661d67ef6fa28d5937e796b7701a68fbf54c16d9434eb705715ebc28f424b906200090f908590859062002b50565b60405180910390a2505050565b6200092662001c3c565b62000932600062001c98565b565b6200093e62001c3c565b8a60696200094d828262002b9f565b50506071546001600160a01b0316158015906200097857506071546001600160a01b038b8116911614155b156200099757604051633157c93960e01b815260040160405180910390fd5b607180546001600160a01b03199081166001600160a01b038d8116919091179092556072805482168c84161790556073805482168b84161790556074805482168a84161790556075805482168984161790556076805482168884161790556077805482168784161790556078805482168684161790556079805490911691841691909117905560678190556040517f8a040c53d83c1e62b7c4c7c88774e55775a95bdaadc2c0ef9f63b8d1a118ffdc90600090a15050505050505050505050565b6069546001600160a01b031662000a82576040516376a1604d60e11b815260040160405180910390fd5b6000846001600160a01b031663e78cea926040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000ac3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ae9919062002a4d565b6001600160a01b031663cb23bcb56040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000b27573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000b4d919062002a4d565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000b8b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000bb1919062002a4d565b9050806001600160a01b03166391d14854826001600160a01b03166307bd02656040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000c01573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000c27919062002c81565b6040516001600160e01b031960e084901b16815260048101919091526001600160a01b0387166024820152604401602060405180830381865afa15801562000c73573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000c99919062002c9b565b62000cb757604051632625e8ed60e11b815260040160405180910390fd5b6001600160a01b038581166000908152606560205260408120549091161515908062000ce38862001cea565b6001600160a01b03161415905062000d506040518060a0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681525090565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152831562000e04576001600160a01b03808a16600090815260656020908152604091829020825160a08101845281548516815260018201548516928101929092526002810154841692820192909252600382015483166060820152600490910154909116608082015291505b6000896001600160a01b031663e78cea926040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000e45573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e6b919062002a4d565b6001600160a01b031663cb23bcb56040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000ea9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ecf919062002a4d565b6001600160a01b0316639a8a05926040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000f0d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f33919062002c81565b905062000f5c6040518060400160405280600381526020016226192960e91b8152508262001dc6565b6001600160a01b031682526040805180820190915260058152644c3253475760d81b602082015262000f8f908262001dc6565b82602001906001600160a01b031690816001600160a01b03168152505062000fd5604051806040016040528060058152602001644c3243475760d81b8152508262001dc6565b6001600160a01b0316604083015283620010555762001012604051806040016040528060058152602001644c3257475760d81b8152508262001dc6565b6001600160a01b031660608301526040805180820190915260038152624c325760e81b602082015262001046908262001dc6565b6001600160a01b031660808301525b6200107c604051806040016040528060038152602001624c324560e81b8152508262001dc6565b6001600160a01b031660e0830152620010958162001e85565b6001600160a01b031660a0830152620010ae8162001ef2565b6001600160a01b031660c0830152620010c78162001f32565b8261010001906001600160a01b031690816001600160a01b031681525050506000896001600160a01b0316638b3240a06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001127573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200114d919062002a4d565b90506001600160a01b038116620011775760405163eac0860960e01b815260040160405180910390fd5b84620015705760008462001197576069546001600160a01b0316620011a4565b606d546001600160a01b03165b9050620011d9620011d1604051806040016040528060038152602001622618a960e91b8152508d62001fb1565b828462001fe6565b6001600160a01b0316845250600084620011ff57606a546001600160a01b03166200120c565b606e546001600160a01b03165b90506000620012456200123d604051806040016040528060058152602001644c3153475760d81b8152508e62001fb1565b838562001fe6565b9050806001600160a01b031663a01893bf856020015187600001518f60405180602001620012739062002653565b6020820181038252601f19601f82011660405250805190602001208960c001516040518663ffffffff1660e01b8152600401620012df9594939291906001600160a01b039586168152938516602085015291841660408401526060830152909116608082015260a00190565b600060405180830381600087803b158015620012fa57600080fd5b505af11580156200130f573d6000803e3d6000fd5b505050506001600160a01b03166020850152506000846200133c57606b546001600160a01b031662001349565b606f546001600160a01b03165b905060006200137a6200123d604051806040016040528060058152602001644c3143475760d81b8152508e62001fb1565b60408086015187519151637c643b2f60e11b81526001600160a01b03918216600482015291811660248301528e811660448301528a811660648301529192509082169063f8c8765e90608401600060405180830381600087803b158015620013e157600080fd5b505af1158015620013f6573d6000803e3d6000fd5b505050506001600160a01b031660408501525083620014f8576000620014516200143e604051806040016040528060058152602001644c3157475760d81b8152508d62001fb1565b606c546001600160a01b03168462001fe6565b9050806001600160a01b0316631459457a846060015186600001518e607860009054906101000a90046001600160a01b031688608001516040518663ffffffff1660e01b8152600401620014aa95949392919062002a1b565b600060405180830381600087803b158015620014c557600080fd5b505af1158015620014da573d6000803e3d6000fd5b5050506001600160a01b039182166060860152506078541660808401525b82600001516001600160a01b0316631459457a878560200151600086600001518f6040518663ffffffff1660e01b81526004016200153b95949392919062002a1b565b600060405180830381600087803b1580156200155657600080fd5b505af11580156200156b573d6000803e3d6000fd5b505050505b6200157d8a888662002041565b8315620015bd576000620015918b62001cea565b90506000620015a1898b62002cd5565b9050620015ba6001600160a01b038316338e846200227b565b50505b60006001600160a01b038a163b15620015e25761111161111160901b018a01620015e4565b895b6068549091506001600160a01b031663d5402e898662001605574762001608565b60005b6040518060c001604052808f6001600160a01b03168152602001607a60009054906101000a90046001600160a01b03166001600160a01b03168152602001336001600160a01b03168152602001336001600160a01b031681526020018d81526020018c8152506040518060e00160405280607260009054906101000a90046001600160a01b03166001600160a01b03168152602001607360009054906101000a90046001600160a01b03166001600160a01b03168152602001607460009054906101000a90046001600160a01b03166001600160a01b031681526020018a620016fd576075546001600160a01b031662001700565b60005b6001600160a01b031681526020018a62001726576076546001600160a01b031662001729565b60005b6001600160a01b03168152602001606960070160009054906101000a90046001600160a01b03166001600160a01b03168152602001607760009054906101000a90046001600160a01b03166001600160a01b031681525088886020015187338f8e6040518a63ffffffff1660e01b8152600401620017af98979695949392919062002cf7565b6000604051808303818588803b158015620017c957600080fd5b505af1158015620017de573d6000803e3d6000fd5b5050505050856200199257896001600160a01b03168b6001600160a01b03167f9a9203aa9ddcf21d8523e422e009214f0447efca13201ecdd802d8663092de7e8686868c60405162001834949392919062002df9565b60405180910390a36001600160a01b038b81166000908152606560209081526040808320885181546001600160a01b031990811691871691909117825589840151600180840180548416928916929092179091558a840151600280850180548516928a16929092179091556060808d0151600380870180548716928c16929092179091556080808f0151600497880180548816918d1691909117905560668952988790208d5181548716908c16178155978d015193880180548616948b1694909417909355948b01519086018054841691891691909117905592890151928401805482169387169390931790925592870151928201805482169385169390931790925560a0860151600582018054841691851691909117905560c0860151600682018054841691851691909117905560e086015160078201805484169185169190911790556101008601516008909101805490921692169190911790555b5050505050505050505050565b600054610100900460ff1615808015620019c05750600054600160ff909116105b80620019dc5750303b158015620019dc575060005460ff166001145b62001a455760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562001a69576000805461ff0019166101001790555b62001a73620022d7565b606880546001600160a01b0319166001600160a01b0384169081179091556040805163204a7f0760e21b81529051638129fc1c9160048082019260009290919082900301818387803b15801562001ac957600080fd5b505af115801562001ade573d6000803e3d6000fd5b5050505062001b5262001af93061111161111160901b010190565b604051606b60f91b6020820152602560fa1b60218201526001600160601b0319606083901b166022820152600160ff1b603682015260009060370160408051601f19818403018152919052805160209091012092915050565b607a80546001600160a01b0319166001600160a01b0392909216919091179055801562001bb9576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b62001bc762001c3c565b6001600160a01b03811662001c2e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162001a3c565b62001c398162001c98565b50565b6033546001600160a01b03163314620009325760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162001a3c565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080826001600160a01b031663e78cea926040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001d2c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001d52919062002a4d565b9050806001600160a01b031663e1758bd86040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001db1575060408051601f3d908101601f1916820190925262001dae9181019062002a4d565b60015b62001dbf5750600092915050565b9392505050565b600062001e7c62001dd884846200230b565b60405162001de96020820162002661565b601f1982820381018352601f90910116604052607a546001600160a01b031662001e138662001e85565b604080516020808201835260008252915162001e329493920162002e92565b60408051601f198184030181529082905262001e52929160200162002ec9565b60408051601f198184030181529190528051602090910120607a546001600160a01b031662002345565b90505b92915050565b600062001e7f62001eb3604051806040016040528060048152602001634c32504160e01b815250846200230b565b60405162001ec4602082016200266f565b601f1982820381018352601f90910116604052805160209190910120607a546001600160a01b031662002345565b600062001e7f62001f2160405180604001604052806005815260200164261921282360d91b815250846200230b565b60405162001ec4602082016200267d565b600062001e7f62001f60604051806040016040528060048152602001634c324d4360e01b815250846200230b565b607754604080516001600160a01b03909216803b838101602090810190935280845262001f97939290916000918401903c6200236f565b8051602090910120607a546001600160a01b031662002345565b6000828260405160200162001fc892919062002efc565b60405160208183030381529060405280519060200120905092915050565b600083838360405180602001604052806000815250604051620020099062002661565b620020179392919062002e92565b8190604051809103906000f590508015801562002038573d6000803e3d6000fd5b50949350505050565b6071546040805160206001600160a01b03909316803b808301850190935282825260009362002077939185918401903c6200236f565b90508115620021495760006200208d8562001cea565b9050600084606754620020a1919062002cd5565b9050620020ba6001600160a01b0383163388846200227b565b606754604051632a4f421360e11b81526001600160a01b0388169163549e842691620020fa9160009182918291339182918e908b908e9060040162002f30565b6020604051808303816000875af11580156200211a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002140919062002c81565b50505062002275565b805160405163a66b327d60e01b81526000916001600160a01b0387169163a66b327d9162002184918590600401918252602082015260400190565b602060405180830381865afa158015620021a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620021c8919062002c81565b9050600084606754620021dc919062002cd5565b620021e8908362002f95565b60675460405163679b6ded60e01b81529192506001600160a01b0388169163679b6ded9184916200222b9160009182918991339182918f908e9060040162002fab565b60206040518083038185885af11580156200224a573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062002271919062002c81565b5050505b50505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052620022759085906200239d565b600054610100900460ff16620023015760405162461bcd60e51b815260040162001a3c9062003008565b620009326200247b565b6068546000908390839062002331906001600160a01b031661111161111160901b010190565b60405160200162001fc89392919062003053565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b60608151826040516020016200238792919062003089565b6040516020818303038152906040529050919050565b6000620023f4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620024b09092919063ffffffff16565b80519091501562002476578080602001905181019062002415919062002c9b565b620024765760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840162001a3c565b505050565b600054610100900460ff16620024a55760405162461bcd60e51b815260040162001a3c9062003008565b620009323362001c98565b6060620024c18484600085620024c9565b949350505050565b6060824710156200252c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840162001a3c565b600080866001600160a01b031685876040516200254a9190620030f9565b60006040518083038185875af1925050503d806000811462002589576040519150601f19603f3d011682016040523d82523d6000602084013e6200258e565b606091505b5091509150620025a187838387620025ac565b979650505050505050565b606083156200262057825160000362002618576001600160a01b0385163b620026185760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162001a3c565b5081620024c1565b620024c18383815115620026375781518083602001fd5b8060405162461bcd60e51b815260040162001a3c919062003117565b610881806200312d83390190565b610ebb80620039ae83390190565b61070f806200486983390190565b610cb48062004f7883390190565b6001600160a01b03169052565b6001600160a01b038116811462001c3957600080fd5b8035620026bb8162002698565b919050565b600060208284031215620026d357600080fd5b813562001dbf8162002698565b604051610120810167ffffffffffffffff811182821017156200271357634e487b7160e01b600052604160045260246000fd5b60405290565b60405160a0810167ffffffffffffffff811182821017156200271357634e487b7160e01b600052604160045260246000fd5b600061012082840312156200275f57600080fd5b62002769620026e0565b90506200277682620026ae565b81526200278660208301620026ae565b60208201526200279960408301620026ae565b6040820152620027ac60608301620026ae565b6060820152620027bf60808301620026ae565b6080820152620027d260a08301620026ae565b60a0820152620027e560c08301620026ae565b60c0820152620027f860e08301620026ae565b60e08201526101006200280d818401620026ae565b9082015292915050565b60008060008385036101e08112156200282f57600080fd5b84356200283c8162002698565b935060a0601f19820112156200285157600080fd5b506200285c62002719565b60208501356200286c8162002698565b815260408501356200287e8162002698565b60208201526060850135620028938162002698565b60408201526080850135620028a88162002698565b606082015260a0850135620028bd8162002698565b60808201529150620028d38560c086016200274b565b90509250925092565b60008060008060008060008060008060008b8d036102408112156200290057600080fd5b610100808212156200291157600080fd5b8d9c508c01359050620029248162002698565b99506101208c0135620029378162002698565b98506101408c01356200294a8162002698565b97506101608c01356200295d8162002698565b96506101808c0135620029708162002698565b95506101a08c0135620029838162002698565b9450620029946101c08d01620026ae565b9350620029a56101e08d01620026ae565b9250620029b66102008d01620026ae565b91506102208c013590509295989b509295989b9093969950565b60008060008060808587031215620029e757600080fd5b8435620029f48162002698565b9350602085013562002a068162002698565b93969395505050506040820135916060013590565b6001600160a01b0395861681529385166020850152918416604084015283166060830152909116608082015260a00190565b60006020828403121562002a6057600080fd5b815162001dbf8162002698565b80516001600160a01b03908116835260208083015182169084015260408083015182169084015260608083015182169084015260809182015116910152565b60018060a01b0380825116835280602083015116602084015280604083015116604084015250606081015162002ae660608401826200268b565b50608081015162002afb60808401826200268b565b5060a081015162002b1060a08401826200268b565b5060c081015162002b2560c08401826200268b565b5060e081015162002b3a60e08401826200268b565b506101008082015162002275828501826200268b565b6101c0810162002b61828562002a6d565b62001dbf60a083018462002aac565b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000813562001e7f8162002698565b813562002bac8162002698565b62002bb8818362002b70565b50602082013562002bc98162002698565b62002bd8816001840162002b70565b5062002bf562002beb6040840162002b90565b6002830162002b70565b62002c1162002c076060840162002b90565b6003830162002b70565b62002c2d62002c236080840162002b90565b6004830162002b70565b62002c4962002c3f60a0840162002b90565b6005830162002b70565b62002c6562002c5b60c0840162002b90565b6006830162002b70565b62001bb962002c7760e0840162002b90565b6007830162002b70565b60006020828403121562002c9457600080fd5b5051919050565b60006020828403121562002cae57600080fd5b8151801515811462001dbf57600080fd5b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161562002cf25762002cf262002cbf565b500290565b88516001600160a01b0390811682526020808b01518216818401526040808c01518316818501526060808d01518416818601526080808e01518187015260a0808f0151818801528d51861660c080890191909152948e0151861660e0880152928d01518516610100870152908c015184166101208601528b015183166101408501528a01518216610160840152890151166101808201526102e0810162002da36101a083018962002a6d565b62002db36102408301886200268b565b62002dc36102608301876200268b565b62002dd36102808301866200268b565b62002de36102a08301856200268b565b8215156102c08301529998505050505050505050565b610200810162002e0a828762002a6d565b62002e1960a083018662002aac565b6001600160a01b039384166101c0830152919092166101e09092019190915292915050565b60005b8381101562002e5b57818101518382015260200162002e41565b50506000910152565b6000815180845262002e7e81602086016020860162002e3e565b601f01601f19169290920160200192915050565b6001600160a01b0384811682528316602082015260606040820181905260009062002ec09083018462002e64565b95945050505050565b6000835162002edd81846020880162002e3e565b83519083019062002ef381836020880162002e3e565b01949350505050565b6000835162002f1081846020880162002e3e565b60609390931b6001600160601b0319169190920190815260140192915050565b600061012060018060a01b03808d1684528b60208501528a6040850152808a1660608501528089166080850152508660a08401528560c08401528460e08401528061010084015262002f858184018562002e64565b9c9b505050505050505050505050565b8082018082111562001e7f5762001e7f62002cbf565b600061010060018060a01b03808c1684528a602085015289604085015280891660608501528088166080850152508560a08401528460c08401528060e084015262002ff98184018562002e64565b9b9a5050505050505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600084516200306781846020890162002e3e565b919091019283525060601b6001600160601b0319166020820152603401919050565b710608060405234801561001057600080fd5b560741b8152606160f81b601282015260f083901b6001600160f01b03191660138201526a4030801030001cb00079ff60a91b60158201528151600090620030eb81602080860190870162002e3e565b919091016020019392505050565b600082516200310d81846020870162002e3e565b9190910192915050565b60208152600062001e7c602083018462002e6456fe608060405234801561001057600080fd5b50336001600160a01b03166359659e906040518163ffffffff1660e01b8152600401602060405180830381865afa15801561004f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610073919061046c565b604051806020016040528060008152506100958282600061009c60201b60201c565b5050610508565b6100a583610167565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a26000825111806100e65750805b1561016257610160836001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561012c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610150919061046c565b8361030a60201b6100291760201c565b505b505050565b61017a8161033660201b6100551760201c565b6101d95760405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b60648201526084015b60405180910390fd5b61024d816001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561021a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023e919061046c565b61033660201b6100551760201c565b6102b25760405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b60648201526084016101d0565b806102e97fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5060001b61034560201b6100641760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b606061032f838360405180606001604052806027815260200161085a60279139610348565b9392505050565b6001600160a01b03163b151590565b90565b6060600080856001600160a01b03168560405161036591906104b9565b600060405180830381855af49150503d80600081146103a0576040519150601f19603f3d011682016040523d82523d6000602084013e6103a5565b606091505b5090925090506103b7868383876103c1565b9695505050505050565b60608315610430578251600003610429576001600160a01b0385163b6104295760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101d0565b508161043a565b61043a8383610442565b949350505050565b8151156104525781518083602001fd5b8060405162461bcd60e51b81526004016101d091906104d5565b60006020828403121561047e57600080fd5b81516001600160a01b038116811461032f57600080fd5b60005b838110156104b0578181015183820152602001610498565b50506000910152565b600082516104cb818460208701610495565b9190910192915050565b60208152600082518060208401526104f4816040850160208701610495565b601f01601f19169190910160400192915050565b610343806105176000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610067565b610100565b565b606061004e83836040518060600160405280602781526020016102e760279139610124565b9392505050565b6001600160a01b03163b151590565b90565b600061009a7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50546001600160a01b031690565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100fb919061024a565b905090565b3660008037600080366000845af43d6000803e80801561011f573d6000f35b3d6000fd5b6060600080856001600160a01b0316856040516101419190610297565b600060405180830381855af49150503d806000811461017c576040519150601f19603f3d011682016040523d82523d6000602084013e610181565b606091505b50915091506101928683838761019c565b9695505050505050565b6060831561020e578251600003610207576101b685610055565b6102075760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610218565b6102188383610220565b949350505050565b8151156102305781518083602001fd5b8060405162461bcd60e51b81526004016101fe91906102b3565b60006020828403121561025c57600080fd5b81516001600160a01b038116811461004e57600080fd5b60005b8381101561028e578181015183820152602001610276565b50506000910152565b600082516102a9818460208701610273565b9190910192915050565b60208152600082518060208401526102d2816040850160208701610273565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e9bed491ce4cc7495def60dc616a13f39ccd912637e0c8ba02d45400506de9c064736f6c63430008100033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564608060405260405162000ebb38038062000ebb833981016040819052620000269162000497565b828162000036828260006200004d565b50620000449050826200008a565b505050620005ca565b6200005883620000e5565b600082511180620000665750805b1562000085576200008383836200012760201b620001691760201c565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f620000b562000156565b604080516001600160a01b03928316815291841660208301520160405180910390a1620000e2816200018f565b50565b620000f08162000244565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200014f838360405180606001604052806027815260200162000e9460279139620002f8565b9392505050565b60006200018060008051602062000e7483398151915260001b6200037760201b620001951760201c565b546001600160a01b0316919050565b6001600160a01b038116620001fa5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b806200022360008051602062000e7483398151915260001b6200037760201b620001951760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6200025a816200037a60201b620001981760201c565b620002be5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401620001f1565b80620002237f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6200037760201b620001951760201c565b6060600080856001600160a01b03168560405162000317919062000577565b600060405180830381855af49150503d806000811462000354576040519150601f19603f3d011682016040523d82523d6000602084013e62000359565b606091505b5090925090506200036d8683838762000389565b9695505050505050565b90565b6001600160a01b03163b151590565b60608315620003fd578251600003620003f5576001600160a01b0385163b620003f55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620001f1565b508162000409565b62000409838362000411565b949350505050565b815115620004225781518083602001fd5b8060405162461bcd60e51b8152600401620001f1919062000595565b80516001600160a01b03811681146200045657600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200048e57818101518382015260200162000474565b50506000910152565b600080600060608486031215620004ad57600080fd5b620004b8846200043e565b9250620004c8602085016200043e565b60408501519092506001600160401b0380821115620004e657600080fd5b818601915086601f830112620004fb57600080fd5b8151818111156200051057620005106200045b565b604051601f8201601f19908116603f011681019083821181831017156200053b576200053b6200045b565b816040528281528960208487010111156200055557600080fd5b6200056883602083016020880162000471565b80955050505050509250925092565b600082516200058b81846020870162000471565b9190910192915050565b6020815260008251806020840152620005b681604085016020870162000471565b601f01601f19169190910160400192915050565b61089a80620005da6000396000f3fe60806040523661001357610011610017565b005b6100115b61001f6101a7565b6001600160a01b0316330361015f5760606001600160e01b0319600035166364d3180d60e11b810161005a576100536101da565b9150610157565b63587086bd60e11b6001600160e01b031982160161007a57610053610231565b63070d7c6960e41b6001600160e01b031982160161009a57610053610277565b621eb96f60e61b6001600160e01b03198216016100b9576100536102a8565b63a39f25e560e01b6001600160e01b03198216016100d9576100536102e8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b6101676102fc565b565b606061018e838360405180606001604052806027815260200161083e6027913961030c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101e4610384565b60006101f33660048184610691565b81019061020091906106d7565b905061021d8160405180602001604052806000815250600061038f565b505060408051602081019091526000815290565b60606000806102433660048184610691565b8101906102509190610708565b915091506102608282600161038f565b604051806020016040528060008152509250505090565b6060610281610384565b60006102903660048184610691565b81019061029d91906106d7565b905061021d816103bb565b60606102b2610384565b60006102bc6101a7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b60606102f2610384565b60006102bc610412565b610167610307610412565b610421565b6060600080856001600160a01b03168560405161032991906107ee565b600060405180830381855af49150503d8060008114610364576040519150601f19603f3d011682016040523d82523d6000602084013e610369565b606091505b509150915061037a86838387610445565b9695505050505050565b341561016757600080fd5b610398836104c4565b6000825111806103a55750805b156103b6576103b48383610169565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103e46101a7565b604080516001600160a01b03928316815291841660208301520160405180910390a161040f81610504565b50565b600061041c6105ad565b905090565b3660008037600080366000845af43d6000803e808015610440573d6000f35b3d6000fd5b606083156104b25782516000036104ab5761045f85610198565b6104ab5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161014e565b50816104bc565b6104bc83836105d5565b949350505050565b6104cd816105ff565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105695760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161014e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101cb565b8151156105e55781518083602001fd5b8060405162461bcd60e51b815260040161014e919061080a565b61060881610198565b61066a5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161014e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61058c565b600080858511156106a157600080fd5b838611156106ae57600080fd5b5050820193919092039150565b80356001600160a01b03811681146106d257600080fd5b919050565b6000602082840312156106e957600080fd5b61018e826106bb565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561071b57600080fd5b610724836106bb565b9150602083013567ffffffffffffffff8082111561074157600080fd5b818501915085601f83011261075557600080fd5b813581811115610767576107676106f2565b604051601f8201601f19908116603f0116810190838211818310171561078f5761078f6106f2565b816040528281528860208487010111156107a857600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107e55781810151838201526020016107cd565b50506000910152565b600082516108008184602087016107ca565b9190910192915050565b60208152600082518060208401526108298160408501602087016107ca565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122072007c277cc5d8471be1434c6b2d5b70fb7c2f6f77a0697617733c4d4ae5b76964736f6c63430008100033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6106918061007e6000396000f3fe60806040526004361061006b5760003560e01c8063204e1c7a14610070578063715018a6146100a65780637eff275e146100bd5780638da5cb5b146100dd5780639623609d146100fb57806399a88ec41461010e578063f2fde38b1461012e578063f3b7dead1461014e575b600080fd5b34801561007c57600080fd5b5061009061008b366004610483565b61016e565b60405161009d91906104a7565b60405180910390f35b3480156100b257600080fd5b506100bb6101ff565b005b3480156100c957600080fd5b506100bb6100d83660046104bb565b610213565b3480156100e957600080fd5b506000546001600160a01b0316610090565b6100bb61010936600461050a565b61027d565b34801561011a57600080fd5b506100bb6101293660046104bb565b6102ec565b34801561013a57600080fd5b506100bb610149366004610483565b610320565b34801561015a57600080fd5b50610090610169366004610483565b61039e565b6000806000836001600160a01b031660405161019490635c60da1b60e01b815260040190565b600060405180830381855afa9150503d80600081146101cf576040519150601f19603f3d011682016040523d82523d6000602084013e6101d4565b606091505b5091509150816101e357600080fd5b808060200190518101906101f791906105e0565b949350505050565b6102076103c4565b610211600061041e565b565b61021b6103c4565b6040516308f2839760e41b81526001600160a01b03831690638f283970906102479084906004016104a7565b600060405180830381600087803b15801561026157600080fd5b505af1158015610275573d6000803e3d6000fd5b505050505050565b6102856103c4565b60405163278f794360e11b81526001600160a01b03841690634f1ef2869034906102b590869086906004016105fd565b6000604051808303818588803b1580156102ce57600080fd5b505af11580156102e2573d6000803e3d6000fd5b5050505050505050565b6102f46103c4565b604051631b2ce7f360e11b81526001600160a01b03831690633659cfe6906102479084906004016104a7565b6103286103c4565b6001600160a01b0381166103925760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61039b8161041e565b50565b6000806000836001600160a01b0316604051610194906303e1469160e61b815260040190565b6000546001600160a01b031633146102115760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610389565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461039b57600080fd5b60006020828403121561049557600080fd5b81356104a08161046e565b9392505050565b6001600160a01b0391909116815260200190565b600080604083850312156104ce57600080fd5b82356104d98161046e565b915060208301356104e98161046e565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561051f57600080fd5b833561052a8161046e565b9250602084013561053a8161046e565b9150604084013567ffffffffffffffff8082111561055757600080fd5b818601915086601f83011261056b57600080fd5b81358181111561057d5761057d6104f4565b604051601f8201601f19908116603f011681019083821181831017156105a5576105a56104f4565b816040528281528960208487010111156105be57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156105f257600080fd5b81516104a08161046e565b60018060a01b038316815260006020604081840152835180604085015260005b818110156106395785810183015185820160600152820161061d565b506000606082860101526060601f19601f83011685010192505050939250505056fea26469706673582212208a2d9d6b4833462246845f0898b3da66a9086b54eb9fb2d870a9780af5c177f664736f6c63430008100033608060405234801561001057600080fd5b50610c94806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620000765760003560e01c806329a5c5cf146200007b578063396a5f9514620000af57806359659e9014620000c657806397881f8d14620000da578063b3e3bf4214620000f3578063c4d66de8146200010a578063e75b21411462000123575b600080fd5b620000926200008c36600462000354565b6200013a565b6040516001600160a01b0390911681526020015b60405180910390f35b62000092620000c036600462000354565b62000186565b60005462000092906001600160a01b031681565b620000e4620001c7565b604051908152602001620000a6565b620000e4620001043660046200038b565b620001f6565b620001216200011b366004620003b8565b62000233565b005b62000092620001343660046200038b565b620002ec565b600080620001493384620001f6565b90506000816040516200015c9062000346565b8190604051809103906000f59050801580156200017d573d6000803e3d6000fd5b50949350505050565b6000620001c182604051806020016200019f9062000346565b6020820181038252601f19601f8201166040525080519060200120306200031c565b92915050565b604051620001d86020820162000346565b6020820181038252601f19601f820116604052508051906020012081565b604080516001600160a01b038416602082015290810182905260009060600160405160208183030381529060405280519060200120905092915050565b6001600160a01b038116620002805760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa122a0a1a7a760911b60448201526064015b60405180910390fd5b6000546001600160a01b031615620002ca5760405162461bcd60e51b815260206004820152600c60248201526b1053149150511657d253925560a21b604482015260640162000277565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b600080620002fb8484620001f6565b90506200031481604051806020016200019f9062000346565b949350505050565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b61088180620003de83390190565b6000602082840312156200036757600080fd5b5035919050565b80356001600160a01b03811681146200038657600080fd5b919050565b600080604083850312156200039f57600080fd5b620003aa836200036e565b946020939093013593505050565b600060208284031215620003cb57600080fd5b620003d6826200036e565b939250505056fe608060405234801561001057600080fd5b50336001600160a01b03166359659e906040518163ffffffff1660e01b8152600401602060405180830381865afa15801561004f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610073919061046c565b604051806020016040528060008152506100958282600061009c60201b60201c565b5050610508565b6100a583610167565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a26000825111806100e65750805b1561016257610160836001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561012c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610150919061046c565b8361030a60201b6100291760201c565b505b505050565b61017a8161033660201b6100551760201c565b6101d95760405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b60648201526084015b60405180910390fd5b61024d816001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561021a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023e919061046c565b61033660201b6100551760201c565b6102b25760405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b60648201526084016101d0565b806102e97fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5060001b61034560201b6100641760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b606061032f838360405180606001604052806027815260200161085a60279139610348565b9392505050565b6001600160a01b03163b151590565b90565b6060600080856001600160a01b03168560405161036591906104b9565b600060405180830381855af49150503d80600081146103a0576040519150601f19603f3d011682016040523d82523d6000602084013e6103a5565b606091505b5090925090506103b7868383876103c1565b9695505050505050565b60608315610430578251600003610429576001600160a01b0385163b6104295760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101d0565b508161043a565b61043a8383610442565b949350505050565b8151156104525781518083602001fd5b8060405162461bcd60e51b81526004016101d091906104d5565b60006020828403121561047e57600080fd5b81516001600160a01b038116811461032f57600080fd5b60005b838110156104b0578181015183820152602001610498565b50506000910152565b600082516104cb818460208701610495565b9190910192915050565b60208152600082518060208401526104f4816040850160208701610495565b601f01601f19169190910160400192915050565b610343806105176000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610067565b610100565b565b606061004e83836040518060600160405280602781526020016102e760279139610124565b9392505050565b6001600160a01b03163b151590565b90565b600061009a7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50546001600160a01b031690565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100fb919061024a565b905090565b3660008037600080366000845af43d6000803e80801561011f573d6000f35b3d6000fd5b6060600080856001600160a01b0316856040516101419190610297565b600060405180830381855af49150503d806000811461017c576040519150601f19603f3d011682016040523d82523d6000602084013e610181565b606091505b50915091506101928683838761019c565b9695505050505050565b6060831561020e578251600003610207576101b685610055565b6102075760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610218565b6102188383610220565b949350505050565b8151156102305781518083602001fd5b8060405162461bcd60e51b81526004016101fe91906102b3565b60006020828403121561025c57600080fd5b81516001600160a01b038116811461004e57600080fd5b60005b8381101561028e578181015183820152602001610276565b50506000910152565b600082516102a9818460208701610273565b9190910192915050565b60208152600082518060208401526102d2816040850160208701610273565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e9bed491ce4cc7495def60dc616a13f39ccd912637e0c8ba02d45400506de9c064736f6c63430008100033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220237fb73aef7b871fb5f0c1ef15f58a63a1b7502356cc319c2d83ad0717d2cd7264736f6c63430008100033a2646970667358221220f2ebf3ce6aa6338298082daf35103a2f1a9bd2b9b46efba5628fa07901da19ab64736f6c63430008100033";
const isSuperArgs = (xs) => xs.length > 1;
class L1AtomicTokenBridgeCreator__factory extends ethers_1.ContractFactory {
constructor(...args) {
if (isSuperArgs(args)) {
super(...args);
}
else {
super(_abi, _bytecode, args[0]);
}
this.contractName = "L1AtomicTokenBridgeCreator";
}
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.L1AtomicTokenBridgeCreator__factory = L1AtomicTokenBridgeCreator__factory;
L1AtomicTokenBridgeCreator__factory.bytecode = _bytecode;
L1AtomicTokenBridgeCreator__factory.abi = _abi;