ETH Price: $3,398.52 (+1.92%)

Contract

0x789Ac91519a3344E4845E12870F3364E7Df26D23
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Confirm Roots214889362024-12-26 20:09:592 days ago1735243799IN
0x789Ac915...E7Df26D23
0 ETH0.000470325.58269467
Confirm Roots212757622024-11-27 1:19:2332 days ago1732670363IN
0x789Ac915...E7Df26D23
0 ETH0.00077859.23942785
Confirm Roots212224292024-11-19 14:38:5939 days ago1732027139IN
0x789Ac915...E7Df26D23
0 ETH0.0019338722.95480616
Confirm Roots210521822024-10-26 20:27:4763 days ago1729974467IN
0x789Ac915...E7Df26D23
0 ETH0.00037944.50408265
Confirm Roots209622042024-10-14 7:04:3576 days ago1728889475IN
0x789Ac915...E7Df26D23
0 ETH0.0008771410.41307393
Confirm Roots208053992024-09-22 10:04:1198 days ago1726999451IN
0x789Ac915...E7Df26D23
0 ETH0.0011825114.03626923
Confirm Roots206623772024-09-02 10:45:47118 days ago1725273947IN
0x789Ac915...E7Df26D23
0 ETH0.000358024.24966509
Confirm Roots205615152024-08-19 8:35:23132 days ago1724056523IN
0x789Ac915...E7Df26D23
0 ETH0.000086651.02840454
Confirm Roots205381332024-08-16 2:15:11135 days ago1723774511IN
0x789Ac915...E7Df26D23
0 ETH0.000095571.13465415
Confirm Roots204720972024-08-06 21:04:47144 days ago1722978287IN
0x789Ac915...E7Df26D23
0 ETH0.000277513.29448549
Confirm Roots204242152024-07-31 4:42:35151 days ago1722400955IN
0x789Ac915...E7Df26D23
0 ETH0.000146861.74321254
Confirm Roots204198872024-07-30 14:12:23151 days ago1722348743IN
0x789Ac915...E7Df26D23
0 ETH0.0009957211.81915909
Confirm Roots203737312024-07-24 3:31:59158 days ago1721791919IN
0x789Ac915...E7Df26D23
0 ETH0.000295513.50773041
Confirm Roots202997362024-07-13 19:41:35168 days ago1720899695IN
0x789Ac915...E7Df26D23
0 ETH0.000117341.39284071
Confirm Roots202368862024-07-05 1:01:11177 days ago1720141271IN
0x789Ac915...E7Df26D23
0 ETH0.000709738.42442232
Confirm Roots202354462024-07-04 20:10:59177 days ago1720123859IN
0x789Ac915...E7Df26D23
0 ETH0.000564486.69944005
Confirm Roots202330632024-07-04 12:10:47177 days ago1720095047IN
0x789Ac915...E7Df26D23
0 ETH0.0008890910.55341669
Confirm Roots202329132024-07-04 11:40:35177 days ago1720093235IN
0x789Ac915...E7Df26D23
0 ETH0.000769349.13072165
Confirm Roots201821892024-06-27 9:40:11185 days ago1719481211IN
0x789Ac915...E7Df26D23
0 ETH0.000368064.36952381
Confirm Roots201794982024-06-27 0:39:59185 days ago1719448799IN
0x789Ac915...E7Df26D23
0 ETH0.000264053.13470785
Confirm Roots201429372024-06-21 22:00:47190 days ago1719007247IN
0x789Ac915...E7Df26D23
0 ETH0.000317083.76373875
Confirm Roots201283322024-06-19 21:00:35192 days ago1718830835IN
0x789Ac915...E7Df26D23
0 ETH0.0010029711.90519136
Confirm Roots200810752024-06-13 6:20:11199 days ago1718259611IN
0x789Ac915...E7Df26D23
0 ETH0.0008997210.6796632
Confirm Roots200516902024-06-09 3:49:59203 days ago1717904999IN
0x789Ac915...E7Df26D23
0 ETH0.000351244.16864745
Confirm Roots200294662024-06-06 1:19:47206 days ago1717636787IN
0x789Ac915...E7Df26D23
0 ETH0.0012650615.01834034
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
LineaMessengerWrapper

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 50000 runs

Other Settings:
default evmVersion
File 1 of 4 : LineaMessengerWrapper.sol
// SPDX-License-Identifier: MIT

pragma solidity 0.6.12;
pragma experimental ABIEncoderV2;

import "../interfaces/linea/messengers/IBridge.sol";
import "./MessengerWrapper.sol";

/**
 * @dev A MessengerWrapper for Linea - https://docs.linea.build/
 * @notice Deployed on layer-1
 */

contract LineaMessengerWrapper is MessengerWrapper {

    IBridge public lineaL1Bridge;
    address public l2BridgeAddress;

    constructor(
        address _l1BridgeAddress,
        address _l2BridgeAddress,
        IBridge _lineaL1Bridge,
        uint256 _l2ChainId
    )
        public
        MessengerWrapper(_l1BridgeAddress, _l2ChainId)
    {
        l2BridgeAddress = _l2BridgeAddress;
        lineaL1Bridge = _lineaL1Bridge;
    }

    /**
     * @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 {
        lineaL1Bridge.sendMessage(
            l2BridgeAddress,
            0,
            _calldata
        );
    }

    function verifySender(address l1BridgeCaller, bytes memory) public override {
        if (isRootConfirmation) return;

        require(lineaL1Bridge.sender() == l2BridgeAddress, "LINEA_MSG_WRP: Invalid cross-domain sender");
        require(l1BridgeCaller == address(lineaL1Bridge), "LINEA_MSG_WRP: Caller is not the expected sender");
    }
}

File 2 of 4 : IMessengerWrapper.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.6.12 <=0.8.9;
pragma experimental ABIEncoderV2;

interface IMessengerWrapper {
    function sendCrossDomainMessage(bytes memory _calldata) external;
    function verifySender(address l1BridgeCaller, bytes memory _data) external;
    function confirmRoots(
        bytes32[] calldata rootHashes,
        uint256[] calldata destinationChainIds,
        uint256[] calldata totalAmounts,
        uint256[] calldata rootCommittedAts
    ) external;
}

File 3 of 4 : IBridge.sol
// SPDX-License-Identifier: OWNED BY ConsenSys Software Inc.
pragma solidity ^0.6.12;

/// @title The bridge interface implemented on both chains
interface IBridge {
  event MessageDispatched(
    address _from,
    address _to,
    uint256 _fee,
    uint256 _value,
    uint256 _deadline,
    bytes _calldata
  );

  event MessageDelivered(
    address _from,
    address _to,
    uint256 _fee,
    uint256 _value,
    uint256 _deadline,
    bytes _calldata
  );

  function dispatchMessage(
    address _to,
    uint256 _fee,
    uint256 _deadline,
    bytes calldata _calldata
  ) external payable;

  function deliverMessage(
    address _from,
    address _to,
    uint256 _fee,
    uint256 _value,
    uint256 _deadline,
    bytes calldata _calldata
  ) external payable;

  function sender() external view returns (address);

  // New implementation
  function sendMessage(
    address _to,
    uint256 _fee,
    bytes calldata _calldata
  ) external payable;
  function minimumFeeInWei() external view returns (uint256);
}

File 4 of 4 : MessengerWrapper.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.6.12 <=0.8.9;
pragma experimental ABIEncoderV2;

import "../interfaces/IMessengerWrapper.sol";

contract IL1Bridge {
    struct TransferBond {
        address bonder;
        uint256 createdAt;
        uint256 totalAmount;
        uint256 challengeStartTime;
        address challenger;
        bool challengeResolved;
    }
    uint256 public challengePeriod;
    mapping(bytes32 => TransferBond) public transferBonds;
    function getIsBonder(address maybeBonder) public view returns (bool) {}
    function getTransferRootId(bytes32 rootHash, uint256 totalAmount) public pure returns (bytes32) {}
    function confirmTransferRoot(
        uint256 originChainId,
        bytes32 rootHash,
        uint256 destinationChainId,
        uint256 totalAmount,
        uint256 rootCommittedAt
    )
        external
    {}
}

abstract contract MessengerWrapper is IMessengerWrapper {
    address public immutable l1BridgeAddress;
    uint256 public immutable l2ChainId;
    bool public isRootConfirmation = false;

    constructor(address _l1BridgeAddress, uint256 _l2ChainId) internal {
        l1BridgeAddress = _l1BridgeAddress;
        l2ChainId = _l2ChainId;
    }

    modifier onlyL1Bridge {
        require(msg.sender == l1BridgeAddress, "MW: Sender must be the L1 Bridge");
        _;
    }

    modifier rootConfirmation {
        isRootConfirmation = true;
        _;
        isRootConfirmation = false;
    }

    /**
     * @dev Confirm roots that have bonded on L1 and passed the challenge period with no challenge
     * @param rootHashes The root hashes to confirm
     * @param destinationChainIds The destinationChainId of the roots to confirm
     * @param totalAmounts The totalAmount of the roots to confirm
     * @param rootCommittedAts The rootCommittedAt of the roots to confirm
     */
    function confirmRoots (
        bytes32[] calldata rootHashes,
        uint256[] calldata destinationChainIds,
        uint256[] calldata totalAmounts,
        uint256[] calldata rootCommittedAts
    ) external override rootConfirmation {
        IL1Bridge l1Bridge = IL1Bridge(l1BridgeAddress);
        require(l1Bridge.getIsBonder(msg.sender), "MW: Sender must be a bonder");
        require(rootHashes.length == totalAmounts.length, "MW: rootHashes and totalAmounts must be the same length");

        uint256 challengePeriod = l1Bridge.challengePeriod();
        for (uint256 i = 0; i < rootHashes.length; i++) {
            bool canConfirm = canConfirmRoot(l1Bridge, rootHashes[i], totalAmounts[i], challengePeriod);
            require(canConfirm, "MW: Root cannot be confirmed");
            l1Bridge.confirmTransferRoot(
                l2ChainId,
                rootHashes[i],
                destinationChainIds[i],
                totalAmounts[i],
                rootCommittedAts[i]
            );
        }
    }
    
    function canConfirmRoot (IL1Bridge l1Bridge, bytes32 rootHash, uint256 totalAmount, uint256 challengePeriod) public view returns (bool) {
        bytes32 transferRootId = l1Bridge.getTransferRootId(rootHash, totalAmount);
        (,uint256 createdAt,,uint256 challengeStartTime,,) = l1Bridge.transferBonds(transferRootId);

        uint256 timeSinceBondCreation = block.timestamp - createdAt;
        if (
            createdAt != 0 &&
            challengeStartTime == 0 &&
            timeSinceBondCreation > challengePeriod
        ) {
            return true;
        }

        return false;
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 50000
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_l1BridgeAddress","type":"address"},{"internalType":"address","name":"_l2BridgeAddress","type":"address"},{"internalType":"contract IBridge","name":"_lineaL1Bridge","type":"address"},{"internalType":"uint256","name":"_l2ChainId","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"contract IL1Bridge","name":"l1Bridge","type":"address"},{"internalType":"bytes32","name":"rootHash","type":"bytes32"},{"internalType":"uint256","name":"totalAmount","type":"uint256"},{"internalType":"uint256","name":"challengePeriod","type":"uint256"}],"name":"canConfirmRoot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"rootHashes","type":"bytes32[]"},{"internalType":"uint256[]","name":"destinationChainIds","type":"uint256[]"},{"internalType":"uint256[]","name":"totalAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"rootCommittedAts","type":"uint256[]"}],"name":"confirmRoots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isRootConfirmation","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"l1BridgeAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"l2BridgeAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"l2ChainId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lineaL1Bridge","outputs":[{"internalType":"contract IBridge","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"_calldata","type":"bytes"}],"name":"sendCrossDomainMessage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"l1BridgeCaller","type":"address"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"verifySender","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60c06040526000805460ff1916905534801561001a57600080fd5b5060405161109c38038061109c83398101604081905261003991610093565b60609390931b6001600160601b03191660805260a092909252600180546001600160a01b0319166001600160a01b0392831617905560008054610100600160a81b03191661010092909316919091029190911790556100fd565b600080600080608085870312156100a8578384fd5b84516100b3816100e5565b60208601519094506100c4816100e5565b60408601519093506100d5816100e5565b6060959095015193969295505050565b6001600160a01b03811681146100fa57600080fd5b50565b60805160601c60a051610f6a61013260003980610683528061090a5250806102ec52806103e452806104625250610f6a6000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80638b034eb811610076578063934746a71161005b578063934746a71461011e57806399178dd814610126578063d6ae3cd514610139576100a3565b80638b034eb8146101035780638e58736f1461010b576100a3565b80631aae9eed146100a857806336f9d95d146100d1578063419cb550146100e65780635ab2a558146100fb575b600080fd5b6100bb6100b6366004610c11565b61014e565b6040516100c89190610d02565b60405180910390f35b6100d96102b3565b6040516100c89190610c4b565b6100f96100f4366004610bde565b6102d4565b005b6100d96103e2565b6100bb610406565b6100f9610119366004610aeb565b61040f565b6100d9610782565b6100f9610134366004610a34565b61079e565b610141610908565b6040516100c89190610d0d565b6000808573ffffffffffffffffffffffffffffffffffffffff1663960a7afa86866040518363ffffffff1660e01b815260040161018c929190610d16565b60206040518083038186803b1580156101a457600080fd5b505afa1580156101b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101dc9190610bc6565b90506000808773ffffffffffffffffffffffffffffffffffffffff16635a7e1083846040518263ffffffff1660e01b815260040161021a9190610d0d565b60c06040518083038186803b15801561023257600080fd5b505afa158015610246573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026a9190610a82565b50929550935050504283900390508215801590610285575081155b801561029057508581115b156102a25760019450505050506102ab565b60009450505050505b949350505050565b600054610100900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461034c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034390610db8565b60405180910390fd5b600080546001546040517f9f3ce55a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff610100909304831693639f3ce55a936103ad9316918690600401610c6c565b600060405180830381600087803b1580156103c757600080fd5b505af11580156103db573d6000803e3d6000fd5b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005460ff1681565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040517fd5ef75510000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000009073ffffffffffffffffffffffffffffffffffffffff82169063d5ef7551906104ae903390600401610c4b565b60206040518083038186803b1580156104c657600080fd5b505afa1580156104da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104fe9190610baa565b610534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034390610e4a565b87841461056d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034390610ded565b60008173ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b815260040160206040518083038186803b1580156105b557600080fd5b505afa1580156105c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ed9190610bc6565b905060005b8981101561074d57600061062c848d8d8581811061060c57fe5b905060200201358a8a8681811061061f57fe5b905060200201358661014e565b905080610665576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034390610d81565b8373ffffffffffffffffffffffffffffffffffffffff1663ef6ebe5e7f00000000000000000000000000000000000000000000000000000000000000008e8e868181106106ae57fe5b905060200201358d8d878181106106c157fe5b905060200201358c8c888181106106d457fe5b905060200201358b8b898181106106e757fe5b905060200201356040518663ffffffff1660e01b815260040161070e959493929190610ede565b600060405180830381600087803b15801561072857600080fd5b505af115801561073c573d6000803e3d6000fd5b5050600190930192506105f2915050565b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055505050505050505050565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60005460ff16156107ae57610904565b600154600054604080517f67e404ce000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff93841693610100909304909216916367e404ce91600480820192602092909190829003018186803b15801561082657600080fd5b505afa15801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e9190610a11565b73ffffffffffffffffffffffffffffffffffffffff16146108ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034390610e81565b60005473ffffffffffffffffffffffffffffffffffffffff8381166101009092041614610904576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034390610d24565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008083601f84011261093d578182fd5b50813567ffffffffffffffff811115610954578182fd5b602083019150836020808302850101111561096e57600080fd5b9250929050565b600082601f830112610985578081fd5b813567ffffffffffffffff8082111561099c578283fd5b60405160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682010181811083821117156109da578485fd5b6040528281529250828483016020018610156109f557600080fd5b8260208601602083013760006020848301015250505092915050565b600060208284031215610a22578081fd5b8151610a2d81610f01565b9392505050565b60008060408385031215610a46578081fd5b8235610a5181610f01565b9150602083013567ffffffffffffffff811115610a6c578182fd5b610a7885828601610975565b9150509250929050565b60008060008060008060c08789031215610a9a578182fd5b8651610aa581610f01565b809650506020870151945060408701519350606087015192506080870151610acc81610f01565b60a0880151909250610add81610f26565b809150509295509295509295565b6000806000806000806000806080898b031215610b06578182fd5b883567ffffffffffffffff80821115610b1d578384fd5b610b298c838d0161092c565b909a50985060208b0135915080821115610b41578384fd5b610b4d8c838d0161092c565b909850965060408b0135915080821115610b65578384fd5b610b718c838d0161092c565b909650945060608b0135915080821115610b89578384fd5b50610b968b828c0161092c565b999c989b5096995094979396929594505050565b600060208284031215610bbb578081fd5b8151610a2d81610f26565b600060208284031215610bd7578081fd5b5051919050565b600060208284031215610bef578081fd5b813567ffffffffffffffff811115610c05578182fd5b6102ab84828501610975565b60008060008060808587031215610c26578384fd5b8435610c3181610f01565b966020860135965060408601359560600135945092505050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff8516825260208481840152606060408401528351806060850152825b81811015610cbb57858101830151858201608001528201610c9f565b81811115610ccc5783608083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160800195945050505050565b901515815260200190565b90815260200190565b918252602082015260400190565b60208082526030908201527f4c494e45415f4d53475f5752503a2043616c6c6572206973206e6f742074686560408201527f2065787065637465642073656e64657200000000000000000000000000000000606082015260800190565b6020808252601c908201527f4d573a20526f6f742063616e6e6f7420626520636f6e6669726d656400000000604082015260600190565b6020808252818101527f4d573a2053656e646572206d75737420626520746865204c3120427269646765604082015260600190565b60208082526037908201527f4d573a20726f6f7448617368657320616e6420746f74616c416d6f756e74732060408201527f6d757374206265207468652073616d65206c656e677468000000000000000000606082015260800190565b6020808252601b908201527f4d573a2053656e646572206d757374206265206120626f6e6465720000000000604082015260600190565b6020808252602a908201527f4c494e45415f4d53475f5752503a20496e76616c69642063726f73732d646f6d60408201527f61696e2073656e64657200000000000000000000000000000000000000000000606082015260800190565b948552602085019390935260408401919091526060830152608082015260a00190565b73ffffffffffffffffffffffffffffffffffffffff81168114610f2357600080fd5b50565b8015158114610f2357600080fdfea26469706673582212208db819fdc196916b1ac9f663e52509415f45e87553881cc373877e790e61790664736f6c634300060c0033000000000000000000000000b8901acb165ed027e32754e0ffe830802919727f000000000000000000000000cbb852a6274e03fa00fb4895de0463f66df27a11000000000000000000000000d19d4b5d358258f05d7b411e21a1460d11b0876f000000000000000000000000000000000000000000000000000000000000e708

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80638b034eb811610076578063934746a71161005b578063934746a71461011e57806399178dd814610126578063d6ae3cd514610139576100a3565b80638b034eb8146101035780638e58736f1461010b576100a3565b80631aae9eed146100a857806336f9d95d146100d1578063419cb550146100e65780635ab2a558146100fb575b600080fd5b6100bb6100b6366004610c11565b61014e565b6040516100c89190610d02565b60405180910390f35b6100d96102b3565b6040516100c89190610c4b565b6100f96100f4366004610bde565b6102d4565b005b6100d96103e2565b6100bb610406565b6100f9610119366004610aeb565b61040f565b6100d9610782565b6100f9610134366004610a34565b61079e565b610141610908565b6040516100c89190610d0d565b6000808573ffffffffffffffffffffffffffffffffffffffff1663960a7afa86866040518363ffffffff1660e01b815260040161018c929190610d16565b60206040518083038186803b1580156101a457600080fd5b505afa1580156101b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101dc9190610bc6565b90506000808773ffffffffffffffffffffffffffffffffffffffff16635a7e1083846040518263ffffffff1660e01b815260040161021a9190610d0d565b60c06040518083038186803b15801561023257600080fd5b505afa158015610246573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026a9190610a82565b50929550935050504283900390508215801590610285575081155b801561029057508581115b156102a25760019450505050506102ab565b60009450505050505b949350505050565b600054610100900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000b8901acb165ed027e32754e0ffe830802919727f161461034c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034390610db8565b60405180910390fd5b600080546001546040517f9f3ce55a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff610100909304831693639f3ce55a936103ad9316918690600401610c6c565b600060405180830381600087803b1580156103c757600080fd5b505af11580156103db573d6000803e3d6000fd5b5050505050565b7f000000000000000000000000b8901acb165ed027e32754e0ffe830802919727f81565b60005460ff1681565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040517fd5ef75510000000000000000000000000000000000000000000000000000000081527f000000000000000000000000b8901acb165ed027e32754e0ffe830802919727f9073ffffffffffffffffffffffffffffffffffffffff82169063d5ef7551906104ae903390600401610c4b565b60206040518083038186803b1580156104c657600080fd5b505afa1580156104da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104fe9190610baa565b610534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034390610e4a565b87841461056d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034390610ded565b60008173ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b815260040160206040518083038186803b1580156105b557600080fd5b505afa1580156105c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ed9190610bc6565b905060005b8981101561074d57600061062c848d8d8581811061060c57fe5b905060200201358a8a8681811061061f57fe5b905060200201358661014e565b905080610665576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034390610d81565b8373ffffffffffffffffffffffffffffffffffffffff1663ef6ebe5e7f000000000000000000000000000000000000000000000000000000000000e7088e8e868181106106ae57fe5b905060200201358d8d878181106106c157fe5b905060200201358c8c888181106106d457fe5b905060200201358b8b898181106106e757fe5b905060200201356040518663ffffffff1660e01b815260040161070e959493929190610ede565b600060405180830381600087803b15801561072857600080fd5b505af115801561073c573d6000803e3d6000fd5b5050600190930192506105f2915050565b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055505050505050505050565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60005460ff16156107ae57610904565b600154600054604080517f67e404ce000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff93841693610100909304909216916367e404ce91600480820192602092909190829003018186803b15801561082657600080fd5b505afa15801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e9190610a11565b73ffffffffffffffffffffffffffffffffffffffff16146108ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034390610e81565b60005473ffffffffffffffffffffffffffffffffffffffff8381166101009092041614610904576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034390610d24565b5050565b7f000000000000000000000000000000000000000000000000000000000000e70881565b60008083601f84011261093d578182fd5b50813567ffffffffffffffff811115610954578182fd5b602083019150836020808302850101111561096e57600080fd5b9250929050565b600082601f830112610985578081fd5b813567ffffffffffffffff8082111561099c578283fd5b60405160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682010181811083821117156109da578485fd5b6040528281529250828483016020018610156109f557600080fd5b8260208601602083013760006020848301015250505092915050565b600060208284031215610a22578081fd5b8151610a2d81610f01565b9392505050565b60008060408385031215610a46578081fd5b8235610a5181610f01565b9150602083013567ffffffffffffffff811115610a6c578182fd5b610a7885828601610975565b9150509250929050565b60008060008060008060c08789031215610a9a578182fd5b8651610aa581610f01565b809650506020870151945060408701519350606087015192506080870151610acc81610f01565b60a0880151909250610add81610f26565b809150509295509295509295565b6000806000806000806000806080898b031215610b06578182fd5b883567ffffffffffffffff80821115610b1d578384fd5b610b298c838d0161092c565b909a50985060208b0135915080821115610b41578384fd5b610b4d8c838d0161092c565b909850965060408b0135915080821115610b65578384fd5b610b718c838d0161092c565b909650945060608b0135915080821115610b89578384fd5b50610b968b828c0161092c565b999c989b5096995094979396929594505050565b600060208284031215610bbb578081fd5b8151610a2d81610f26565b600060208284031215610bd7578081fd5b5051919050565b600060208284031215610bef578081fd5b813567ffffffffffffffff811115610c05578182fd5b6102ab84828501610975565b60008060008060808587031215610c26578384fd5b8435610c3181610f01565b966020860135965060408601359560600135945092505050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff8516825260208481840152606060408401528351806060850152825b81811015610cbb57858101830151858201608001528201610c9f565b81811115610ccc5783608083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160800195945050505050565b901515815260200190565b90815260200190565b918252602082015260400190565b60208082526030908201527f4c494e45415f4d53475f5752503a2043616c6c6572206973206e6f742074686560408201527f2065787065637465642073656e64657200000000000000000000000000000000606082015260800190565b6020808252601c908201527f4d573a20526f6f742063616e6e6f7420626520636f6e6669726d656400000000604082015260600190565b6020808252818101527f4d573a2053656e646572206d75737420626520746865204c3120427269646765604082015260600190565b60208082526037908201527f4d573a20726f6f7448617368657320616e6420746f74616c416d6f756e74732060408201527f6d757374206265207468652073616d65206c656e677468000000000000000000606082015260800190565b6020808252601b908201527f4d573a2053656e646572206d757374206265206120626f6e6465720000000000604082015260600190565b6020808252602a908201527f4c494e45415f4d53475f5752503a20496e76616c69642063726f73732d646f6d60408201527f61696e2073656e64657200000000000000000000000000000000000000000000606082015260800190565b948552602085019390935260408401919091526060830152608082015260a00190565b73ffffffffffffffffffffffffffffffffffffffff81168114610f2357600080fd5b50565b8015158114610f2357600080fdfea26469706673582212208db819fdc196916b1ac9f663e52509415f45e87553881cc373877e790e61790664736f6c634300060c0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000b8901acb165ed027e32754e0ffe830802919727f000000000000000000000000cbb852a6274e03fa00fb4895de0463f66df27a11000000000000000000000000d19d4b5d358258f05d7b411e21a1460d11b0876f000000000000000000000000000000000000000000000000000000000000e708

-----Decoded View---------------
Arg [0] : _l1BridgeAddress (address): 0xb8901acB165ed027E32754E0FFe830802919727f
Arg [1] : _l2BridgeAddress (address): 0xCbb852A6274e03fA00fb4895dE0463f66dF27a11
Arg [2] : _lineaL1Bridge (address): 0xd19d4B5d358258f05D7B411E21A1460D11B0876F
Arg [3] : _l2ChainId (uint256): 59144

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000b8901acb165ed027e32754e0ffe830802919727f
Arg [1] : 000000000000000000000000cbb852a6274e03fa00fb4895de0463f66df27a11
Arg [2] : 000000000000000000000000d19d4b5d358258f05d7b411e21a1460d11b0876f
Arg [3] : 000000000000000000000000000000000000000000000000000000000000e708


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.