Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
OptimismMessengerWrapper
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-09-10 */ // Sources flattened with hardhat v2.3.3 https://hardhat.org // File @openzeppelin/contracts/utils/[email protected] // SPDX-License-Identifier: MIT pragma solidity >=0.6.0 <0.8.0; /* * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with GSN meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } // File @openzeppelin/contracts/access/[email protected] pragma solidity >=0.6.0 <0.8.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () internal { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } // File contracts/interfaces/optimism/messengers/iOVM_BaseCrossDomainMessenger.sol // +build ovm pragma solidity >0.5.0 <0.8.0; pragma experimental ABIEncoderV2; /** * @title iOVM_BaseCrossDomainMessenger */ interface iOVM_BaseCrossDomainMessenger { /********** * Events * **********/ event SentMessage(bytes message); event RelayedMessage(bytes32 msgHash); /********************** * Contract Variables * **********************/ function xDomainMessageSender() external view returns (address); /******************** * Public Functions * ********************/ /** * Sends a cross domain message to the target messenger. * @param _target Target contract address. * @param _message Message to send to the target. * @param _gasLimit Gas limit for the provided message. */ function sendMessage( address _target, bytes calldata _message, uint32 _gasLimit ) external; function deposit( address _depositor, uint256 _amount, bool _send ) external; } // File contracts/interfaces/optimism/messengers/iOVM_L1CrossDomainMessenger.sol pragma solidity >0.5.0 <0.8.0; /** * @title iOVM_L1CrossDomainMessenger */ interface iOVM_L1CrossDomainMessenger is iOVM_BaseCrossDomainMessenger {} // File contracts/interfaces/IMessengerWrapper.sol pragma solidity >=0.6.12 <0.8.0; interface IMessengerWrapper { function sendCrossDomainMessage(bytes memory _calldata) external; function verifySender(address l1BridgeCaller, bytes memory _data) external; } // File contracts/wrappers/MessengerWrapper.sol pragma solidity >=0.6.12 <0.8.0; abstract contract MessengerWrapper is IMessengerWrapper { address public immutable l1BridgeAddress; constructor(address _l1BridgeAddress) internal { l1BridgeAddress = _l1BridgeAddress; } modifier onlyL1Bridge { require(msg.sender == l1BridgeAddress, "MW: Sender must be the L1 Bridge"); _; } } // File contracts/wrappers/OptimismMessengerWrapper.sol pragma solidity 0.6.12; /** * @dev A MessengerWrapper for Optimism - https://community.optimism.io/docs/ * @notice Deployed on layer-1 */ contract OptimismMessengerWrapper is MessengerWrapper, Ownable { iOVM_L1CrossDomainMessenger public immutable l1MessengerAddress; address public immutable l2BridgeAddress; uint256 public defaultL2GasLimit; mapping (bytes4 => uint256) public l2GasLimitForSignature; constructor( address _l1BridgeAddress, address _l2BridgeAddress, iOVM_L1CrossDomainMessenger _l1MessengerAddress, uint256 _defaultL2GasLimit ) public MessengerWrapper(_l1BridgeAddress) { l2BridgeAddress = _l2BridgeAddress; l1MessengerAddress = _l1MessengerAddress; defaultL2GasLimit = _defaultL2GasLimit; } /** * @dev Sends a message to the l2BridgeAddress from layer-1 * @param _calldata The data that l2BridgeAddress will be called with */ function sendCrossDomainMessage(bytes memory _calldata) public override onlyL1Bridge { uint256 l2GasLimit = l2GasLimitForCalldata(_calldata); l1MessengerAddress.sendMessage( l2BridgeAddress, _calldata, uint32(l2GasLimit) ); } function verifySender(address l1BridgeCaller, bytes memory /*_data*/) public override { require(l1BridgeCaller == address(l1MessengerAddress), "OVM_MSG_WPR: Caller is not l1MessengerAddress"); // Verify that cross-domain sender is l2BridgeAddress require(l1MessengerAddress.xDomainMessageSender() == l2BridgeAddress, "OVM_MSG_WPR: Invalid cross-domain sender"); } function setDefaultL2GasLimit(uint256 _l2GasLimit) external onlyOwner { defaultL2GasLimit = _l2GasLimit; } function setL2GasLimitForSignature(uint256 _l2GasLimit, bytes4 signature) external onlyOwner { l2GasLimitForSignature[signature] = _l2GasLimit; } // Private functions function l2GasLimitForCalldata(bytes memory _calldata) private view returns (uint256) { uint256 l2GasLimit; if (_calldata.length >= 4) { bytes4 functionSignature = bytes4(toUint32(_calldata, 0)); l2GasLimit = l2GasLimitForSignature[functionSignature]; } if (l2GasLimit == 0) { l2GasLimit = defaultL2GasLimit; } return l2GasLimit; } // source: https://github.com/GNSPS/solidity-bytes-utils/blob/master/contracts/BytesLib.sol function toUint32(bytes memory _bytes, uint256 _start) private pure returns (uint32) { require(_bytes.length >= _start + 4, "OVM_MSG_WPR: out of bounds"); uint32 tempUint; assembly { tempUint := mload(add(add(_bytes, 0x4), _start)) } return tempUint; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_l1BridgeAddress","type":"address"},{"internalType":"address","name":"_l2BridgeAddress","type":"address"},{"internalType":"contract iOVM_L1CrossDomainMessenger","name":"_l1MessengerAddress","type":"address"},{"internalType":"uint256","name":"_defaultL2GasLimit","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"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":"defaultL2GasLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"l1BridgeAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"l1MessengerAddress","outputs":[{"internalType":"contract iOVM_L1CrossDomainMessenger","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"l2BridgeAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"name":"l2GasLimitForSignature","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[{"internalType":"bytes","name":"_calldata","type":"bytes"}],"name":"sendCrossDomainMessage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_l2GasLimit","type":"uint256"}],"name":"setDefaultL2GasLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_l2GasLimit","type":"uint256"},{"internalType":"bytes4","name":"signature","type":"bytes4"}],"name":"setL2GasLimitForSignature","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"l1BridgeCaller","type":"address"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"verifySender","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60e06040523480156200001157600080fd5b5060405162001613380380620016138339818101604052810190620000379190620001ec565b838073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b81525050506000620000826200019f60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3508273ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508173ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508060018190555050505050620002f8565b600033905090565b600081519050620001b881620002aa565b92915050565b600081519050620001cf81620002c4565b92915050565b600081519050620001e681620002de565b92915050565b600080600080608085870312156200020357600080fd5b60006200021387828801620001a7565b94505060206200022687828801620001a7565b93505060406200023987828801620001be565b92505060606200024c87828801620001d5565b91505092959194509250565b6000620002658262000280565b9050919050565b6000620002798262000258565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b620002b58162000258565b8114620002c157600080fd5b50565b620002cf816200026c565b8114620002db57600080fd5b50565b620002e981620002a0565b8114620002f557600080fd5b50565b60805160601c60a05160601c60c05160601c6112c76200034c600039806102ee5280610578528061062a5250806102b2528061059c5280610661528061084752508061021752806103f152506112c76000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063934746a711610071578063934746a71461015557806399178dd814610173578063b08324f51461018f578063b67efb70146101ab578063c5deebb3146101db578063f2fde38b146101f9576100b4565b8063419cb550146100b957806356f3f181146100d55780635a4846b2146100f35780635ab2a5581461010f578063715018a61461012d5780638da5cb5b14610137575b600080fd5b6100d360048036038101906100ce9190610c7b565b610215565b005b6100dd610363565b6040516100ea91906110bc565b60405180910390f35b61010d60048036038101906101089190610cbc565b610369565b005b6101176103ef565b6040516101249190610f88565b60405180910390f35b610135610413565b005b61013f61054d565b60405161014c9190610f88565b60405180910390f35b61015d610576565b60405161016a9190610f88565b60405180910390f35b61018d60048036038101906101889190610bfe565b61059a565b005b6101a960048036038101906101a49190610ce5565b610757565b005b6101c560048036038101906101c09190610c52565b61082d565b6040516101d291906110bc565b60405180910390f35b6101e3610845565b6040516101f09190610fe1565b60405180910390f35b610213600480360381019061020e9190610bac565b610869565b005b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161029a9061109c565b60405180910390fd5b60006102ae82610a12565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16633dbb202b7f000000000000000000000000000000000000000000000000000000000000000084846040518463ffffffff1660e01b815260040161032d93929190610fa3565b600060405180830381600087803b15801561034757600080fd5b505af115801561035b573d6000803e3d6000fd5b505050505050565b60015481565b610371610a9e565b73ffffffffffffffffffffffffffffffffffffffff1661038f61054d565b73ffffffffffffffffffffffffffffffffffffffff16146103e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103dc9061107c565b60405180910390fd5b8060018190555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b61041b610a9e565b73ffffffffffffffffffffffffffffffffffffffff1661043961054d565b73ffffffffffffffffffffffffffffffffffffffff161461048f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104869061107c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061f9061101c565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636e296e456040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c557600080fd5b505afa1580156106d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fd9190610bd5565b73ffffffffffffffffffffffffffffffffffffffff1614610753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074a9061105c565b60405180910390fd5b5050565b61075f610a9e565b73ffffffffffffffffffffffffffffffffffffffff1661077d61054d565b73ffffffffffffffffffffffffffffffffffffffff16146107d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ca9061107c565b60405180910390fd5b8160026000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020819055505050565b60026020528060005260406000206000915090505481565b7f000000000000000000000000000000000000000000000000000000000000000081565b610871610a9e565b73ffffffffffffffffffffffffffffffffffffffff1661088f61054d565b73ffffffffffffffffffffffffffffffffffffffff16146108e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108dc9061107c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094c9061103c565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000806004835110610a86576000610a2b846000610aa6565b60e01b905060026000827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020549150505b6000811415610a955760015490505b80915050919050565b600033905090565b60006004820183511015610aef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae690610ffc565b60405180910390fd5b60008260048501015190508091505092915050565b600081359050610b138161124c565b92915050565b600081519050610b288161124c565b92915050565b600081359050610b3d81611263565b92915050565b600082601f830112610b5457600080fd5b8135610b67610b6282611104565b6110d7565b91508082526020830160208301858383011115610b8357600080fd5b610b8e8382846111f9565b50505092915050565b600081359050610ba68161127a565b92915050565b600060208284031215610bbe57600080fd5b6000610bcc84828501610b04565b91505092915050565b600060208284031215610be757600080fd5b6000610bf584828501610b19565b91505092915050565b60008060408385031215610c1157600080fd5b6000610c1f85828601610b04565b925050602083013567ffffffffffffffff811115610c3c57600080fd5b610c4885828601610b43565b9150509250929050565b600060208284031215610c6457600080fd5b6000610c7284828501610b2e565b91505092915050565b600060208284031215610c8d57600080fd5b600082013567ffffffffffffffff811115610ca757600080fd5b610cb384828501610b43565b91505092915050565b600060208284031215610cce57600080fd5b6000610cdc84828501610b97565b91505092915050565b60008060408385031215610cf857600080fd5b6000610d0685828601610b97565b9250506020610d1785828601610b2e565b9150509250929050565b610d2a8161115d565b82525050565b6000610d3b82611130565b610d45818561113b565b9350610d55818560208601611208565b610d5e8161123b565b840191505092915050565b610d72816111d5565b82525050565b6000610d85601a8361114c565b91507f4f564d5f4d53475f5750523a206f7574206f6620626f756e64730000000000006000830152602082019050919050565b6000610dc5602d8361114c565b91507f4f564d5f4d53475f5750523a2043616c6c6572206973206e6f74206c314d657360008301527f73656e67657241646472657373000000000000000000000000000000000000006020830152604082019050919050565b6000610e2b60268361114c565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610e9160288361114c565b91507f4f564d5f4d53475f5750523a20496e76616c69642063726f73732d646f6d616960008301527f6e2073656e6465720000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610ef760208361114c565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000610f3760208361114c565b91507f4d573a2053656e646572206d75737420626520746865204c31204272696467656000830152602082019050919050565b610f73816111bb565b82525050565b610f82816111c5565b82525050565b6000602082019050610f9d6000830184610d21565b92915050565b6000606082019050610fb86000830186610d21565b8181036020830152610fca8185610d30565b9050610fd96040830184610f79565b949350505050565b6000602082019050610ff66000830184610d69565b92915050565b6000602082019050818103600083015261101581610d78565b9050919050565b6000602082019050818103600083015261103581610db8565b9050919050565b6000602082019050818103600083015261105581610e1e565b9050919050565b6000602082019050818103600083015261107581610e84565b9050919050565b6000602082019050818103600083015261109581610eea565b9050919050565b600060208201905081810360008301526110b581610f2a565b9050919050565b60006020820190506110d16000830184610f6a565b92915050565b6000604051905081810181811067ffffffffffffffff821117156110fa57600080fd5b8060405250919050565b600067ffffffffffffffff82111561111b57600080fd5b601f19601f8301169050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006111688261119b565b9050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b60006111e0826111e7565b9050919050565b60006111f28261119b565b9050919050565b82818337600083830152505050565b60005b8381101561122657808201518184015260208101905061120b565b83811115611235576000848401525b50505050565b6000601f19601f8301169050919050565b6112558161115d565b811461126057600080fd5b50565b61126c8161116f565b811461127757600080fd5b50565b611283816111bb565b811461128e57600080fd5b5056fea2646970667358221220db6c1ad31cc31c72315efb84186ab4b2f8151c3846d20f4d9ba28f39bc4a8c5c64736f6c634300060c00330000000000000000000000003666f603cc164936c1b87e207f36beba4ac5f18a000000000000000000000000a81d244a1814468c734e5b4101f7b9c0c577a8fc00000000000000000000000025ace71c97b33cc4729cf772ae268934f7ab5fa100000000000000000000000000000000000000000000000000000000003567e0
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063934746a711610071578063934746a71461015557806399178dd814610173578063b08324f51461018f578063b67efb70146101ab578063c5deebb3146101db578063f2fde38b146101f9576100b4565b8063419cb550146100b957806356f3f181146100d55780635a4846b2146100f35780635ab2a5581461010f578063715018a61461012d5780638da5cb5b14610137575b600080fd5b6100d360048036038101906100ce9190610c7b565b610215565b005b6100dd610363565b6040516100ea91906110bc565b60405180910390f35b61010d60048036038101906101089190610cbc565b610369565b005b6101176103ef565b6040516101249190610f88565b60405180910390f35b610135610413565b005b61013f61054d565b60405161014c9190610f88565b60405180910390f35b61015d610576565b60405161016a9190610f88565b60405180910390f35b61018d60048036038101906101889190610bfe565b61059a565b005b6101a960048036038101906101a49190610ce5565b610757565b005b6101c560048036038101906101c09190610c52565b61082d565b6040516101d291906110bc565b60405180910390f35b6101e3610845565b6040516101f09190610fe1565b60405180910390f35b610213600480360381019061020e9190610bac565b610869565b005b7f0000000000000000000000003666f603cc164936c1b87e207f36beba4ac5f18a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161029a9061109c565b60405180910390fd5b60006102ae82610a12565b90507f00000000000000000000000025ace71c97b33cc4729cf772ae268934f7ab5fa173ffffffffffffffffffffffffffffffffffffffff16633dbb202b7f000000000000000000000000a81d244a1814468c734e5b4101f7b9c0c577a8fc84846040518463ffffffff1660e01b815260040161032d93929190610fa3565b600060405180830381600087803b15801561034757600080fd5b505af115801561035b573d6000803e3d6000fd5b505050505050565b60015481565b610371610a9e565b73ffffffffffffffffffffffffffffffffffffffff1661038f61054d565b73ffffffffffffffffffffffffffffffffffffffff16146103e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103dc9061107c565b60405180910390fd5b8060018190555050565b7f0000000000000000000000003666f603cc164936c1b87e207f36beba4ac5f18a81565b61041b610a9e565b73ffffffffffffffffffffffffffffffffffffffff1661043961054d565b73ffffffffffffffffffffffffffffffffffffffff161461048f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104869061107c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f000000000000000000000000a81d244a1814468c734e5b4101f7b9c0c577a8fc81565b7f00000000000000000000000025ace71c97b33cc4729cf772ae268934f7ab5fa173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061f9061101c565b60405180910390fd5b7f000000000000000000000000a81d244a1814468c734e5b4101f7b9c0c577a8fc73ffffffffffffffffffffffffffffffffffffffff167f00000000000000000000000025ace71c97b33cc4729cf772ae268934f7ab5fa173ffffffffffffffffffffffffffffffffffffffff16636e296e456040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c557600080fd5b505afa1580156106d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fd9190610bd5565b73ffffffffffffffffffffffffffffffffffffffff1614610753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074a9061105c565b60405180910390fd5b5050565b61075f610a9e565b73ffffffffffffffffffffffffffffffffffffffff1661077d61054d565b73ffffffffffffffffffffffffffffffffffffffff16146107d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ca9061107c565b60405180910390fd5b8160026000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020819055505050565b60026020528060005260406000206000915090505481565b7f00000000000000000000000025ace71c97b33cc4729cf772ae268934f7ab5fa181565b610871610a9e565b73ffffffffffffffffffffffffffffffffffffffff1661088f61054d565b73ffffffffffffffffffffffffffffffffffffffff16146108e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108dc9061107c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094c9061103c565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000806004835110610a86576000610a2b846000610aa6565b60e01b905060026000827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020549150505b6000811415610a955760015490505b80915050919050565b600033905090565b60006004820183511015610aef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae690610ffc565b60405180910390fd5b60008260048501015190508091505092915050565b600081359050610b138161124c565b92915050565b600081519050610b288161124c565b92915050565b600081359050610b3d81611263565b92915050565b600082601f830112610b5457600080fd5b8135610b67610b6282611104565b6110d7565b91508082526020830160208301858383011115610b8357600080fd5b610b8e8382846111f9565b50505092915050565b600081359050610ba68161127a565b92915050565b600060208284031215610bbe57600080fd5b6000610bcc84828501610b04565b91505092915050565b600060208284031215610be757600080fd5b6000610bf584828501610b19565b91505092915050565b60008060408385031215610c1157600080fd5b6000610c1f85828601610b04565b925050602083013567ffffffffffffffff811115610c3c57600080fd5b610c4885828601610b43565b9150509250929050565b600060208284031215610c6457600080fd5b6000610c7284828501610b2e565b91505092915050565b600060208284031215610c8d57600080fd5b600082013567ffffffffffffffff811115610ca757600080fd5b610cb384828501610b43565b91505092915050565b600060208284031215610cce57600080fd5b6000610cdc84828501610b97565b91505092915050565b60008060408385031215610cf857600080fd5b6000610d0685828601610b97565b9250506020610d1785828601610b2e565b9150509250929050565b610d2a8161115d565b82525050565b6000610d3b82611130565b610d45818561113b565b9350610d55818560208601611208565b610d5e8161123b565b840191505092915050565b610d72816111d5565b82525050565b6000610d85601a8361114c565b91507f4f564d5f4d53475f5750523a206f7574206f6620626f756e64730000000000006000830152602082019050919050565b6000610dc5602d8361114c565b91507f4f564d5f4d53475f5750523a2043616c6c6572206973206e6f74206c314d657360008301527f73656e67657241646472657373000000000000000000000000000000000000006020830152604082019050919050565b6000610e2b60268361114c565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610e9160288361114c565b91507f4f564d5f4d53475f5750523a20496e76616c69642063726f73732d646f6d616960008301527f6e2073656e6465720000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610ef760208361114c565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000610f3760208361114c565b91507f4d573a2053656e646572206d75737420626520746865204c31204272696467656000830152602082019050919050565b610f73816111bb565b82525050565b610f82816111c5565b82525050565b6000602082019050610f9d6000830184610d21565b92915050565b6000606082019050610fb86000830186610d21565b8181036020830152610fca8185610d30565b9050610fd96040830184610f79565b949350505050565b6000602082019050610ff66000830184610d69565b92915050565b6000602082019050818103600083015261101581610d78565b9050919050565b6000602082019050818103600083015261103581610db8565b9050919050565b6000602082019050818103600083015261105581610e1e565b9050919050565b6000602082019050818103600083015261107581610e84565b9050919050565b6000602082019050818103600083015261109581610eea565b9050919050565b600060208201905081810360008301526110b581610f2a565b9050919050565b60006020820190506110d16000830184610f6a565b92915050565b6000604051905081810181811067ffffffffffffffff821117156110fa57600080fd5b8060405250919050565b600067ffffffffffffffff82111561111b57600080fd5b601f19601f8301169050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006111688261119b565b9050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b60006111e0826111e7565b9050919050565b60006111f28261119b565b9050919050565b82818337600083830152505050565b60005b8381101561122657808201518184015260208101905061120b565b83811115611235576000848401525b50505050565b6000601f19601f8301169050919050565b6112558161115d565b811461126057600080fd5b50565b61126c8161116f565b811461127757600080fd5b50565b611283816111bb565b811461128e57600080fd5b5056fea2646970667358221220db6c1ad31cc31c72315efb84186ab4b2f8151c3846d20f4d9ba28f39bc4a8c5c64736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000003666f603cc164936c1b87e207f36beba4ac5f18a000000000000000000000000a81d244a1814468c734e5b4101f7b9c0c577a8fc00000000000000000000000025ace71c97b33cc4729cf772ae268934f7ab5fa100000000000000000000000000000000000000000000000000000000003567e0
-----Decoded View---------------
Arg [0] : _l1BridgeAddress (address): 0x3666f603Cc164936C1b87e207F36BEBa4AC5f18a
Arg [1] : _l2BridgeAddress (address): 0xa81D244A1814468C734E5b4101F7b9c0c577a8fC
Arg [2] : _l1MessengerAddress (address): 0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1
Arg [3] : _defaultL2GasLimit (uint256): 3500000
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000003666f603cc164936c1b87e207f36beba4ac5f18a
Arg [1] : 000000000000000000000000a81d244a1814468c734e5b4101f7b9c0c577a8fc
Arg [2] : 00000000000000000000000025ace71c97b33cc4729cf772ae268934f7ab5fa1
Arg [3] : 00000000000000000000000000000000000000000000000000000000003567e0
Deployed Bytecode Sourcemap
5736:2757:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6599:298;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5925:32;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7308:120;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5234:40;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2857:148;;;:::i;:::-;;2206:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5878:40;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6905:395;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7436:159;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5964:57;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5808:63;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3160:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6599:298;5446:15;5432:29;;:10;:29;;;5424:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;6695:18:::1;6716:32;6738:9;6716:21;:32::i;:::-;6695:53;;6761:18;:30;;;6806:15;6836:9;6867:10;6761:128;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5509:1;6599:298:::0;:::o;5925:32::-;;;;:::o;7308:120::-;2437:12;:10;:12::i;:::-;2426:23;;:7;:5;:7::i;:::-;:23;;;2418:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7409:11:::1;7389:17;:31;;;;7308:120:::0;:::o;5234:40::-;;;:::o;2857:148::-;2437:12;:10;:12::i;:::-;2426:23;;:7;:5;:7::i;:::-;:23;;;2418:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2964:1:::1;2927:40;;2948:6;::::0;::::1;;;;;;;;2927:40;;;;;;;;;;;;2995:1;2978:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2857:148::o:0;2206:87::-;2252:7;2279:6;;;;;;;;;;;2272:13;;2206:87;:::o;5878:40::-;;;:::o;6905:395::-;7036:18;7010:45;;:14;:45;;;7002:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;7232:15;7187:60;;:18;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:60;;;7179:113;;;;;;;;;;;;:::i;:::-;;;;;;;;;6905:395;;:::o;7436:159::-;2437:12;:10;:12::i;:::-;2426:23;;:7;:5;:7::i;:::-;:23;;;2418:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7576:11:::1;7540:22;:33;7563:9;7540:33;;;;;;;;;;;;;;;;;:47;;;;7436:159:::0;;:::o;5964:57::-;;;;;;;;;;;;;;;;;:::o;5808:63::-;;;:::o;3160:244::-;2437:12;:10;:12::i;:::-;2426:23;;:7;:5;:7::i;:::-;:23;;;2418:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3269:1:::1;3249:22;;:8;:22;;;;3241:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3359:8;3330:38;;3351:6;::::0;::::1;;;;;;;;3330:38;;;;;;;;;;;;3388:8;3379:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3160:244:::0;:::o;7631:435::-;7708:7;7728:18;7783:1;7763:9;:16;:21;7759:180;;7801:24;7835:22;7844:9;7855:1;7835:8;:22::i;:::-;7828:30;;7801:57;;7886:22;:41;7909:17;7886:41;;;;;;;;;;;;;;;;;;7873:54;;7759:180;;7969:1;7955:10;:15;7951:78;;;8000:17;;7987:30;;7951:78;8048:10;8041:17;;;7631:435;;;:::o;737:106::-;790:15;825:10;818:17;;737:106;:::o;8171:319::-;8248:6;8301:1;8292:6;:10;8275:6;:13;:27;;8267:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;8344:15;8436:6;8430:3;8422:6;8418:16;8414:29;8408:36;8396:48;;8474:8;8467:15;;;8171:319;;;;:::o;5:130:-1:-;;85:6;72:20;63:29;;97:33;124:5;97:33;:::i;:::-;57:78;;;;:::o;142:134::-;;226:6;220:13;211:22;;238:33;265:5;238:33;:::i;:::-;205:71;;;;:::o;283:128::-;;362:6;349:20;340:29;;374:32;400:5;374:32;:::i;:::-;334:77;;;;:::o;419:440::-;;520:3;513:4;505:6;501:17;497:27;487:2;;538:1;535;528:12;487:2;575:6;562:20;597:64;612:48;653:6;612:48;:::i;:::-;597:64;:::i;:::-;588:73;;681:6;674:5;667:21;717:4;709:6;705:17;750:4;743:5;739:16;785:3;776:6;771:3;767:16;764:25;761:2;;;802:1;799;792:12;761:2;812:41;846:6;841:3;836;812:41;:::i;:::-;480:379;;;;;;;:::o;867:130::-;;947:6;934:20;925:29;;959:33;986:5;959:33;:::i;:::-;919:78;;;;:::o;1004:241::-;;1108:2;1096:9;1087:7;1083:23;1079:32;1076:2;;;1124:1;1121;1114:12;1076:2;1159:1;1176:53;1221:7;1212:6;1201:9;1197:22;1176:53;:::i;:::-;1166:63;;1138:97;1070:175;;;;:::o;1252:263::-;;1367:2;1355:9;1346:7;1342:23;1338:32;1335:2;;;1383:1;1380;1373:12;1335:2;1418:1;1435:64;1491:7;1482:6;1471:9;1467:22;1435:64;:::i;:::-;1425:74;;1397:108;1329:186;;;;:::o;1522:470::-;;;1652:2;1640:9;1631:7;1627:23;1623:32;1620:2;;;1668:1;1665;1658:12;1620:2;1703:1;1720:53;1765:7;1756:6;1745:9;1741:22;1720:53;:::i;:::-;1710:63;;1682:97;1838:2;1827:9;1823:18;1810:32;1862:18;1854:6;1851:30;1848:2;;;1894:1;1891;1884:12;1848:2;1914:62;1968:7;1959:6;1948:9;1944:22;1914:62;:::i;:::-;1904:72;;1789:193;1614:378;;;;;:::o;1999:239::-;;2102:2;2090:9;2081:7;2077:23;2073:32;2070:2;;;2118:1;2115;2108:12;2070:2;2153:1;2170:52;2214:7;2205:6;2194:9;2190:22;2170:52;:::i;:::-;2160:62;;2132:96;2064:174;;;;:::o;2245:345::-;;2358:2;2346:9;2337:7;2333:23;2329:32;2326:2;;;2374:1;2371;2364:12;2326:2;2437:1;2426:9;2422:17;2409:31;2460:18;2452:6;2449:30;2446:2;;;2492:1;2489;2482:12;2446:2;2512:62;2566:7;2557:6;2546:9;2542:22;2512:62;:::i;:::-;2502:72;;2388:192;2320:270;;;;:::o;2597:241::-;;2701:2;2689:9;2680:7;2676:23;2672:32;2669:2;;;2717:1;2714;2707:12;2669:2;2752:1;2769:53;2814:7;2805:6;2794:9;2790:22;2769:53;:::i;:::-;2759:63;;2731:97;2663:175;;;;:::o;2845:364::-;;;2965:2;2953:9;2944:7;2940:23;2936:32;2933:2;;;2981:1;2978;2971:12;2933:2;3016:1;3033:53;3078:7;3069:6;3058:9;3054:22;3033:53;:::i;:::-;3023:63;;2995:97;3123:2;3141:52;3185:7;3176:6;3165:9;3161:22;3141:52;:::i;:::-;3131:62;;3102:97;2927:282;;;;;:::o;3216:113::-;3299:24;3317:5;3299:24;:::i;:::-;3294:3;3287:37;3281:48;;:::o;3336:343::-;;3446:38;3478:5;3446:38;:::i;:::-;3496:70;3559:6;3554:3;3496:70;:::i;:::-;3489:77;;3571:52;3616:6;3611:3;3604:4;3597:5;3593:16;3571:52;:::i;:::-;3644:29;3666:6;3644:29;:::i;:::-;3639:3;3635:39;3628:46;;3426:253;;;;;:::o;3686:196::-;3804:72;3870:5;3804:72;:::i;:::-;3799:3;3792:85;3786:96;;:::o;3890:326::-;;4050:67;4114:2;4109:3;4050:67;:::i;:::-;4043:74;;4150:28;4146:1;4141:3;4137:11;4130:49;4207:2;4202:3;4198:12;4191:19;;4036:180;;;:::o;4225:382::-;;4385:67;4449:2;4444:3;4385:67;:::i;:::-;4378:74;;4485:34;4481:1;4476:3;4472:11;4465:55;4554:15;4549:2;4544:3;4540:12;4533:37;4598:2;4593:3;4589:12;4582:19;;4371:236;;;:::o;4616:375::-;;4776:67;4840:2;4835:3;4776:67;:::i;:::-;4769:74;;4876:34;4872:1;4867:3;4863:11;4856:55;4945:8;4940:2;4935:3;4931:12;4924:30;4982:2;4977:3;4973:12;4966:19;;4762:229;;;:::o;5000:377::-;;5160:67;5224:2;5219:3;5160:67;:::i;:::-;5153:74;;5260:34;5256:1;5251:3;5247:11;5240:55;5329:10;5324:2;5319:3;5315:12;5308:32;5368:2;5363:3;5359:12;5352:19;;5146:231;;;:::o;5386:332::-;;5546:67;5610:2;5605:3;5546:67;:::i;:::-;5539:74;;5646:34;5642:1;5637:3;5633:11;5626:55;5709:2;5704:3;5700:12;5693:19;;5532:186;;;:::o;5727:332::-;;5887:67;5951:2;5946:3;5887:67;:::i;:::-;5880:74;;5987:34;5983:1;5978:3;5974:11;5967:55;6050:2;6045:3;6041:12;6034:19;;5873:186;;;:::o;6067:113::-;6150:24;6168:5;6150:24;:::i;:::-;6145:3;6138:37;6132:48;;:::o;6187:110::-;6268:23;6285:5;6268:23;:::i;:::-;6263:3;6256:36;6250:47;;:::o;6304:222::-;;6431:2;6420:9;6416:18;6408:26;;6445:71;6513:1;6502:9;6498:17;6489:6;6445:71;:::i;:::-;6402:124;;;;:::o;6533:524::-;;6732:2;6721:9;6717:18;6709:26;;6746:71;6814:1;6803:9;6799:17;6790:6;6746:71;:::i;:::-;6865:9;6859:4;6855:20;6850:2;6839:9;6835:18;6828:48;6890:76;6961:4;6952:6;6890:76;:::i;:::-;6882:84;;6977:70;7043:2;7032:9;7028:18;7019:6;6977:70;:::i;:::-;6703:354;;;;;;:::o;7064:292::-;;7226:2;7215:9;7211:18;7203:26;;7240:106;7343:1;7332:9;7328:17;7319:6;7240:106;:::i;:::-;7197:159;;;;:::o;7363:416::-;;7563:2;7552:9;7548:18;7540:26;;7613:9;7607:4;7603:20;7599:1;7588:9;7584:17;7577:47;7638:131;7764:4;7638:131;:::i;:::-;7630:139;;7534:245;;;:::o;7786:416::-;;7986:2;7975:9;7971:18;7963:26;;8036:9;8030:4;8026:20;8022:1;8011:9;8007:17;8000:47;8061:131;8187:4;8061:131;:::i;:::-;8053:139;;7957:245;;;:::o;8209:416::-;;8409:2;8398:9;8394:18;8386:26;;8459:9;8453:4;8449:20;8445:1;8434:9;8430:17;8423:47;8484:131;8610:4;8484:131;:::i;:::-;8476:139;;8380:245;;;:::o;8632:416::-;;8832:2;8821:9;8817:18;8809:26;;8882:9;8876:4;8872:20;8868:1;8857:9;8853:17;8846:47;8907:131;9033:4;8907:131;:::i;:::-;8899:139;;8803:245;;;:::o;9055:416::-;;9255:2;9244:9;9240:18;9232:26;;9305:9;9299:4;9295:20;9291:1;9280:9;9276:17;9269:47;9330:131;9456:4;9330:131;:::i;:::-;9322:139;;9226:245;;;:::o;9478:416::-;;9678:2;9667:9;9663:18;9655:26;;9728:9;9722:4;9718:20;9714:1;9703:9;9699:17;9692:47;9753:131;9879:4;9753:131;:::i;:::-;9745:139;;9649:245;;;:::o;9901:222::-;;10028:2;10017:9;10013:18;10005:26;;10042:71;10110:1;10099:9;10095:17;10086:6;10042:71;:::i;:::-;9999:124;;;;:::o;10130:256::-;;10192:2;10186:9;10176:19;;10230:4;10222:6;10218:17;10329:6;10317:10;10314:22;10293:18;10281:10;10278:34;10275:62;10272:2;;;10350:1;10347;10340:12;10272:2;10370:10;10366:2;10359:22;10170:216;;;;:::o;10393:321::-;;10536:18;10528:6;10525:30;10522:2;;;10568:1;10565;10558:12;10522:2;10635:4;10631:9;10624:4;10616:6;10612:17;10608:33;10600:41;;10699:4;10693;10689:15;10681:23;;10459:255;;;:::o;10721:121::-;;10814:5;10808:12;10798:22;;10779:63;;;:::o;10850:162::-;;10964:6;10959:3;10952:19;11001:4;10996:3;10992:14;10977:29;;10945:67;;;;:::o;11021:163::-;;11136:6;11131:3;11124:19;11173:4;11168:3;11164:14;11149:29;;11117:67;;;;:::o;11192:91::-;;11254:24;11272:5;11254:24;:::i;:::-;11243:35;;11237:46;;;:::o;11290:144::-;;11362:66;11355:5;11351:78;11340:89;;11334:100;;;:::o;11441:121::-;;11514:42;11507:5;11503:54;11492:65;;11486:76;;;:::o;11569:72::-;;11631:5;11620:16;;11614:27;;;:::o;11648:88::-;;11720:10;11713:5;11709:22;11698:33;;11692:44;;;:::o;11743:191::-;;11857:72;11923:5;11857:72;:::i;:::-;11844:85;;11838:96;;;:::o;11941:143::-;;12055:24;12073:5;12055:24;:::i;:::-;12042:37;;12036:48;;;:::o;12092:145::-;12173:6;12168:3;12163;12150:30;12229:1;12220:6;12215:3;12211:16;12204:27;12143:94;;;:::o;12246:268::-;12311:1;12318:101;12332:6;12329:1;12326:13;12318:101;;;12408:1;12403:3;12399:11;12393:18;12389:1;12384:3;12380:11;12373:39;12354:2;12351:1;12347:10;12342:15;;12318:101;;;12434:6;12431:1;12428:13;12425:2;;;12499:1;12490:6;12485:3;12481:16;12474:27;12425:2;12295:219;;;;:::o;12522:97::-;;12610:2;12606:7;12601:2;12594:5;12590:14;12586:28;12576:38;;12570:49;;;:::o;12627:117::-;12696:24;12714:5;12696:24;:::i;:::-;12689:5;12686:35;12676:2;;12735:1;12732;12725:12;12676:2;12670:74;:::o;12751:115::-;12819:23;12836:5;12819:23;:::i;:::-;12812:5;12809:34;12799:2;;12857:1;12854;12847:12;12799:2;12793:73;:::o;12873:117::-;12942:24;12960:5;12942:24;:::i;:::-;12935:5;12932:35;12922:2;;12981:1;12978;12971:12;12922:2;12916:74;:::o
Swarm Source
ipfs://db6c1ad31cc31c72315efb84186ab4b2f8151c3846d20f4d9ba28f39bc4a8c5c
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.