ETH Price: $2,738.53 (+1.19%)

Contract

0x659a00c33263d9254Fed382dE81349426C795BB6
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Deposit194024392024-03-10 4:54:35334 days ago1710046475IN
StarkGate: Deprecated - DAI Bridge
0 ETH0.0011687848.12584099
Withdraw162402392022-12-22 12:27:35778 days ago1671712055IN
StarkGate: Deprecated - DAI Bridge
0 ETH0.0011833116.04931522
Deposit162250872022-12-20 9:43:23780 days ago1671529403IN
StarkGate: Deprecated - DAI Bridge
0 ETH0.0003005412.37530107
Withdraw161136192022-12-04 19:46:59795 days ago1670183219IN
StarkGate: Deprecated - DAI Bridge
0 ETH0.0008627811.70200929
Withdraw160623682022-11-27 15:58:11802 days ago1669564691IN
StarkGate: Deprecated - DAI Bridge
0 ETH0.0004137411.47469844
Withdraw160616172022-11-27 13:26:59803 days ago1669555619IN
StarkGate: Deprecated - DAI Bridge
0 ETH0.0003794210.52302995
Withdraw159854862022-11-16 22:13:11813 days ago1668636791IN
StarkGate: Deprecated - DAI Bridge
0 ETH0.0010071617.78129005
Withdraw159217332022-11-08 0:29:11822 days ago1667867351IN
StarkGate: Deprecated - DAI Bridge
0 ETH0.0007145212.61470055
Withdraw158603402022-10-30 10:40:23831 days ago1667126423IN
StarkGate: Deprecated - DAI Bridge
0 ETH0.0007438510.08729311
Deposit158602782022-10-30 10:27:59831 days ago1667125679IN
StarkGate: Deprecated - DAI Bridge
0 ETH0.000865818.97474243
Withdraw158555162022-10-29 18:31:47831 days ago1667068307IN
StarkGate: Deprecated - DAI Bridge
0 ETH0.0010966614.87171344
Deposit158532752022-10-29 10:59:47832 days ago1667041187IN
StarkGate: Deprecated - DAI Bridge
0 ETH0.0012127912.57304694
Deposit158485402022-10-28 19:05:59832 days ago1666983959IN
StarkGate: Deprecated - DAI Bridge
0 ETH0.0012812323.94476127
Withdraw158452542022-10-28 8:06:35833 days ago1666944395IN
StarkGate: Deprecated - DAI Bridge
0 ETH0.0008585111.64210579
Deposit158378902022-10-27 7:22:23834 days ago1666855343IN
StarkGate: Deprecated - DAI Bridge
0 ETH0.0015181715.73892305
Withdraw158358722022-10-27 0:37:11834 days ago1666831031IN
StarkGate: Deprecated - DAI Bridge
0 ETH0.0008789711.9214757
Withdraw158328192022-10-26 14:22:59835 days ago1666794179IN
StarkGate: Deprecated - DAI Bridge
0 ETH0.0028597950.49973383
Withdraw158084592022-10-23 4:35:59838 days ago1666499759IN
StarkGate: Deprecated - DAI Bridge
0 ETH0.001052714.27786962
Deposit158068712022-10-22 23:16:47838 days ago1666480607IN
StarkGate: Deprecated - DAI Bridge
0 ETH0.0014346814.87341674
Deposit158064852022-10-22 21:59:11838 days ago1666475951IN
StarkGate: Deprecated - DAI Bridge
0 ETH0.0014799215.34234894
Withdraw158059922022-10-22 20:19:35838 days ago1666469975IN
StarkGate: Deprecated - DAI Bridge
0 ETH0.0015513121.03703436
Deposit158053972022-10-22 18:19:59838 days ago1666462799IN
StarkGate: Deprecated - DAI Bridge
0 ETH0.0018053419.69867073
Deposit158041822022-10-22 14:15:59839 days ago1666448159IN
StarkGate: Deprecated - DAI Bridge
0 ETH0.0018971819.66814642
Deposit158036832022-10-22 12:35:11839 days ago1666442111IN
StarkGate: Deprecated - DAI Bridge
0 ETH0.0010359119.35998946
Deposit158036602022-10-22 12:30:35839 days ago1666441835IN
StarkGate: Deprecated - DAI Bridge
0 ETH0.0010522819.66590503
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:
L1DAIBridge

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 800 runs

Other Settings:
default evmVersion
File 1 of 1 : L1DAIBridge.sol
// SPDX-License-Identifier: AGPL-3.0-or-later
// Copyright (C) 2021 Dai Foundation
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program.  If not, see <https://www.gnu.org/licenses/>.

pragma solidity ^0.7.6;

interface TokenLike {
    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool success);

    function balanceOf(address account) external view returns (uint256);
}

interface StarkNetLike {
    function sendMessageToL2(
        uint256 to,
        uint256 selector,
        uint256[] calldata payload
    ) external returns (bytes32);

    function consumeMessageFromL2(
        uint256 from,
        uint256[] calldata payload
    ) external returns (bytes32);

    function startL1ToL2MessageCancellation(
        uint256 toAddress,
        uint256 selector,
        uint256[] calldata payload,
        uint256 nonce
    ) external;

    function cancelL1ToL2Message(
        uint256 toAddress,
        uint256 selector,
        uint256[] calldata payload,
        uint256 nonce
    ) external;
}

contract L1DAIBridge {
    // --- Auth ---
    mapping(address => uint256) public wards;

    function rely(address usr) external auth {
        wards[usr] = 1;
        emit Rely(usr);
    }

    function deny(address usr) external auth {
        wards[usr] = 0;
        emit Deny(usr);
    }

    modifier auth() {
        require(wards[msg.sender] == 1, "L1DAIBridge/not-authorized");
        _;
    }

    event Rely(address indexed usr);
    event Deny(address indexed usr);


    uint256 public isOpen = 1;

    modifier whenOpen() {
        require(isOpen == 1, "L1DAIBridge/closed");
        _;
    }

    function close() external auth {
        isOpen = 0;
        emit Closed();
    }

    event Closed();

    address public immutable starkNet;
    address public immutable dai;
    uint256 public immutable l2Dai;
    address public immutable escrow;
    uint256 public immutable l2DaiBridge;

    uint256 public ceiling = 0;
    uint256 public maxDeposit = type(uint256).max;

    uint256 constant HANDLE_WITHDRAW = 0;

    // src/starkware/cairo/lang/cairo_constants.py
    //  2 ** 251 + 17 * 2 ** 192 + 1;
    uint256 constant SN_PRIME =
        3618502788666131213697322783095070105623107215331596699973092056135872020481;

    //  from starkware.starknet.compiler.compile import get_selector_from_name
    //  print(get_selector_from_name('handle_deposit'))
    uint256 constant DEPOSIT =
        1285101517810983806491589552491143496277809242732141897358598292095611420389;

    //  print(get_selector_from_name('handle_force_withdrawal'))
    uint256 constant FORCE_WITHDRAW =
        1137729855293860737061629600728503767337326808607526258057644140918272132445;

    event LogCeiling(uint256 ceiling);
    event LogMaxDeposit(uint256 maxDeposit);
    event LogDeposit(address indexed l1Sender, uint256 amount, uint256 l2Recipient);
    event LogWithdrawal(address indexed l1Recipient, uint256 amount);
    event LogForceWithdrawal(address indexed l1Recipient, uint256 amount, uint256 indexed l2Sender);
    event LogStartDepositCancellation(uint256 indexed l2Receipient, uint256 amount, uint256 nonce);
    event LogCancelDeposit(
        uint256 indexed l2Recipient, address l1Recipient, uint256 amount, uint256 nonce
    );

    constructor(
        address _starkNet,
        address _dai,
        uint256 _l2Dai,
        address _escrow,
        uint256 _l2DaiBridge
    ) {
        wards[msg.sender] = 1;
        emit Rely(msg.sender);

        starkNet = _starkNet;
        dai = _dai;
        l2Dai = _l2Dai;
        escrow = _escrow;
        l2DaiBridge = _l2DaiBridge;
    }

    function setCeiling(uint256 _ceiling) external auth whenOpen {
        ceiling = _ceiling;
        emit LogCeiling(_ceiling);
    }

    function setMaxDeposit(uint256 _maxDeposit) external auth whenOpen {
        maxDeposit = _maxDeposit;
        emit LogMaxDeposit(_maxDeposit);
    }

    // slither-disable-next-line similar-names
    function deposit(
        uint256 amount,
        uint256 l2Recipient
    ) external whenOpen {
        emit LogDeposit(msg.sender, amount, l2Recipient);

        require(l2Recipient != 0 && l2Recipient != l2Dai && l2Recipient < SN_PRIME, "L1DAIBridge/invalid-address");

        require(amount <= maxDeposit, "L1DAIBridge/above-max-deposit");

        TokenLike(dai).transferFrom(msg.sender, escrow, amount);

        require(
            TokenLike(dai).balanceOf(escrow) <= ceiling,
            "L1DAIBridge/above-ceiling"
        );

        uint256[] memory payload = new uint256[](4);
        payload[0] = l2Recipient;
        (payload[1], payload[2]) = toSplitUint(amount);
        payload[3] = uint256(uint160(msg.sender));

        StarkNetLike(starkNet).sendMessageToL2(l2DaiBridge, DEPOSIT, payload);
    }

    function toSplitUint(uint256 value) internal pure returns (uint256, uint256) {
      uint256 low = value & ((1 << 128) - 1);
      uint256 high = value >> 128;
      return (low, high);
    }

    // slither-disable-next-line similar-names
    function withdraw(uint256 amount, address l1Recipient) external {
        emit LogWithdrawal(l1Recipient, amount);

        uint256[] memory payload = new uint256[](4);
        payload[0] = HANDLE_WITHDRAW;
        payload[1] = uint256(uint160(msg.sender));
        (payload[2], payload[3]) = toSplitUint(amount);

        StarkNetLike(starkNet).consumeMessageFromL2(l2DaiBridge, payload);
        TokenLike(dai).transferFrom(escrow, l1Recipient, amount);
    }

    function forceWithdrawal(uint256 amount, uint256 l2Sender) external whenOpen {
        emit LogForceWithdrawal(msg.sender, amount, l2Sender);

        uint256[] memory payload = new uint256[](4);
        payload[0] = l2Sender;
        payload[1] = uint256(uint160(msg.sender));
        (payload[2], payload[3]) = toSplitUint(amount);

        StarkNetLike(starkNet).sendMessageToL2(l2DaiBridge, FORCE_WITHDRAW, payload);
    }

    function startDepositCancellation(
        uint256 amount,
        uint256 l2Recipient,
        uint256 nonce
    ) external {
        emit LogStartDepositCancellation(l2Recipient, amount, nonce);

        uint256[] memory payload = new uint256[](4);
        payload[0] = l2Recipient;
        (payload[1], payload[2]) = toSplitUint(amount);
        payload[3] = uint256(uint160(msg.sender));

        StarkNetLike(starkNet).startL1ToL2MessageCancellation(l2DaiBridge, DEPOSIT, payload, nonce);
    }

    function cancelDeposit(
        uint256 amount,
        uint256 l2Recipient,
        // slither-disable-next-line similar-names
        address l1Recipient,
        uint256 nonce
    ) external {
        emit LogCancelDeposit(l2Recipient, l1Recipient, amount, nonce);

        uint256[] memory payload = new uint256[](4);
        payload[0] = l2Recipient;
        (payload[1], payload[2]) = toSplitUint(amount);
        payload[3] = uint256(uint160(msg.sender));

        StarkNetLike(starkNet).cancelL1ToL2Message(l2DaiBridge, DEPOSIT, payload, nonce);
        TokenLike(dai).transferFrom(escrow, l1Recipient, amount);
    }
}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_starkNet","type":"address"},{"internalType":"address","name":"_dai","type":"address"},{"internalType":"uint256","name":"_l2Dai","type":"uint256"},{"internalType":"address","name":"_escrow","type":"address"},{"internalType":"uint256","name":"_l2DaiBridge","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"Closed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"}],"name":"Deny","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"l2Recipient","type":"uint256"},{"indexed":false,"internalType":"address","name":"l1Recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"nonce","type":"uint256"}],"name":"LogCancelDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"ceiling","type":"uint256"}],"name":"LogCeiling","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"l1Sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"l2Recipient","type":"uint256"}],"name":"LogDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"l1Recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"l2Sender","type":"uint256"}],"name":"LogForceWithdrawal","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxDeposit","type":"uint256"}],"name":"LogMaxDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"l2Receipient","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"nonce","type":"uint256"}],"name":"LogStartDepositCancellation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"l1Recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LogWithdrawal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"}],"name":"Rely","type":"event"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"l2Recipient","type":"uint256"},{"internalType":"address","name":"l1Recipient","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"}],"name":"cancelDeposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ceiling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"close","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dai","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"deny","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"l2Recipient","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"escrow","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"l2Sender","type":"uint256"}],"name":"forceWithdrawal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isOpen","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"l2Dai","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"l2DaiBridge","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"rely","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_ceiling","type":"uint256"}],"name":"setCeiling","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxDeposit","type":"uint256"}],"name":"setMaxDeposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"starkNet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"l2Recipient","type":"uint256"},{"internalType":"uint256","name":"nonce","type":"uint256"}],"name":"startDepositCancellation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"wards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"l1Recipient","type":"address"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

61012060405260018055600060025560001960035534801561002057600080fd5b506040516117c03803806117c0833981810160405260a081101561004357600080fd5b5080516020808301516040808501516060860151608090960151336000818152958690528386206001905592519596939591949092917fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609190a26001600160601b0319606095861b811660805293851b841660a05260c09290925290921b1660e0526101005260805160601c60a05160601c60c05160e05160601c610100516116506101706000398061045852806106d052806108b95280610b835280611331528061158b52508061053752806109cd52806110b6528061117352806113f65250806106125280610f8e525080610570528061099e5280611086528061119d528061141a52508061042952806105ee528061088a5280610b545280611302528061155c52506116506000f3fe608060405234801561001057600080fd5b50600436106101505760003560e01c8063753ed1bd116100cd578063bf353dbb11610081578063e2fdcc1711610066578063e2fdcc1714610319578063f4b9fa7514610321578063fd1275eb1461032957610150565b8063bf353dbb146102d0578063e2bbb158146102f657610150565b80638f02cf97116100b25780638f02cf97146102705780639c52a7f11461028d578063bb371fdd146102b357610150565b8063753ed1bd1461023f5780637c1c29ac1461024757610150565b806347535d7b116101245780636083e59a116101095780636083e59a146101d957806365fae35e146101e15780636c6e4ae31461020757610150565b806347535d7b146101c95780635417908f146101d157610150565b8062f714ce146101555780630b43773e14610183578063422e67f4146101a757806343d726d6146101c1575b600080fd5b6101816004803603604081101561016b57600080fd5b50803590602001356001600160a01b031661034c565b005b61018b6105ec565b604080516001600160a01b039092168252519081900360200190f35b6101af610610565b60408051918252519081900360200190f35b610181610634565b6101af6106c8565b6101af6106ce565b6101af6106f2565b610181600480360360208110156101f757600080fd5b50356001600160a01b03166106f8565b6101816004803603608081101561021d57600080fd5b508035906020810135906001600160a01b0360408201351690606001356107a1565b6101af610a77565b6101816004803603606081101561025d57600080fd5b5080359060208101359060400135610a7d565b6101816004803603602081101561028657600080fd5b5035610c6c565b610181600480360360208110156102a357600080fd5b50356001600160a01b0316610d57565b610181600480360360208110156102c957600080fd5b5035610dff565b6101af600480360360208110156102e657600080fd5b50356001600160a01b0316610eea565b6101816004803603604081101561030c57600080fd5b5080359060200135610efc565b61018b6113f4565b61018b611418565b6101816004803603604081101561033f57600080fd5b508035906020013561143c565b6040805183815290516001600160a01b038316917fb4214c8c54fc7442f36d3682f59aebaf09358a4431835b30efb29d52cf9e1e91919081900360200190a260408051600480825260a08201909252600091602082016080803683370190505090506000816000815181106103bd57fe5b602002602001018181525050336001600160a01b0316816001815181106103e057fe5b6020026020010181815250506103f583611626565b8260028151811061040257fe5b602002602001018360038151811061041657fe5b60200260200101828152508281525050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632c9dd5c07f0000000000000000000000000000000000000000000000000000000000000000836040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156104cd5781810151838201526020016104b5565b505050509050019350505050602060405180830381600087803b1580156104f357600080fd5b505af1158015610507573d6000803e3d6000fd5b505050506040513d602081101561051d57600080fd5b5050604080516323b872dd60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015284811660248301526044820186905291517f0000000000000000000000000000000000000000000000000000000000000000909216916323b872dd916064808201926020929091908290030181600087803b1580156105bb57600080fd5b505af11580156105cf573d6000803e3d6000fd5b505050506040513d60208110156105e557600080fd5b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b33600090815260208190526040902054600114610698576040805162461bcd60e51b815260206004820152601a60248201527f4c314441494272696467652f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b600060018190556040517f1cdde67b72a90f19919ac732a437ac2f7a10fc128d28c2a6e525d89ce5cd9d3a9190a1565b60015481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60035481565b3360009081526020819052604090205460011461075c576040805162461bcd60e51b815260206004820152601a60248201527f4c314441494272696467652f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b6001600160a01b03811660008181526020819052604080822060019055517fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609190a250565b604080516001600160a01b038416815260208101869052808201839052905184917f27342a36c014a937136f67690b80039f954cc7acd1d6a2f5bca3f3d3e7b94837919081900360600190a260408051600480825260a0820190925260009160208201608080368337019050509050838160008151811061081e57fe5b60200260200101818152505061083385611626565b8260018151811061084057fe5b602002602001018360028151811061085457fe5b6020026020010182815250828152505050336001600160a01b03168160038151811061087c57fe5b6020026020010181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636170ff1b7f00000000000000000000000000000000000000000000000000000000000000007f02d757788a8d8d6f21d1cd40bce38a8222d70654214e96ff95d8086e684fbee584866040518563ffffffff1660e01b81526004018085815260200184815260200180602001838152602001828103825284818151815260200191508051906020019060200280838360005b8381101561095c578181015183820152602001610944565b5050505090500195505050505050600060405180830381600087803b15801561098457600080fd5b505af1158015610998573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166323b872dd7f000000000000000000000000000000000000000000000000000000000000000085886040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050602060405180830381600087803b158015610a4457600080fd5b505af1158015610a58573d6000803e3d6000fd5b505050506040513d6020811015610a6e57600080fd5b50505050505050565b60025481565b6040805184815260208101839052815184927fb8b6bc18e48f410a36e8867df19f26eb867bad25616833b0ed9141f6d8933929928290030190a260408051600480825260a08201909252600091602082016080803683370190505090508281600081518110610ae857fe5b602002602001018181525050610afd84611626565b82600181518110610b0a57fe5b6020026020010183600281518110610b1e57fe5b6020026020010182815250828152505050336001600160a01b031681600381518110610b4657fe5b6020026020010181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637a98660b7f00000000000000000000000000000000000000000000000000000000000000007f02d757788a8d8d6f21d1cd40bce38a8222d70654214e96ff95d8086e684fbee584866040518563ffffffff1660e01b81526004018085815260200184815260200180602001838152602001828103825284818151815260200191508051906020019060200280838360005b83811015610c26578181015183820152602001610c0e565b5050505090500195505050505050600060405180830381600087803b158015610c4e57600080fd5b505af1158015610c62573d6000803e3d6000fd5b5050505050505050565b33600090815260208190526040902054600114610cd0576040805162461bcd60e51b815260206004820152601a60248201527f4c314441494272696467652f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b600154600114610d1c576040805162461bcd60e51b8152602060048201526012602482015271130c511052509c9a5919d94bd8db1bdcd95960721b604482015290519081900360640190fd5b60028190556040805182815290517f6defc6f2eb7fe7d2a05d39d89d53405300c4dafb0e9cd1d6affeb7c02a9c3e549181900360200190a150565b33600090815260208190526040902054600114610dbb576040805162461bcd60e51b815260206004820152601a60248201527f4c314441494272696467652f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b6001600160a01b038116600081815260208190526040808220829055517f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b9190a250565b33600090815260208190526040902054600114610e63576040805162461bcd60e51b815260206004820152601a60248201527f4c314441494272696467652f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b600154600114610eaf576040805162461bcd60e51b8152602060048201526012602482015271130c511052509c9a5919d94bd8db1bdcd95960721b604482015290519081900360640190fd5b60038190556040805182815290517f0abf56f125eb3b9ec6b166b22f262406810c29da2da4c902a6ee31694ae11a399181900360200190a150565b60006020819052908152604090205481565b600154600114610f48576040805162461bcd60e51b8152602060048201526012602482015271130c511052509c9a5919d94bd8db1bdcd95960721b604482015290519081900360640190fd5b6040805183815260208101839052815133927f9dbb0e7dda3e09710ce75b801addc87cf9d9c6c581641b3275fca409ad086c62928290030190a28015801590610fb157507f00000000000000000000000000000000000000000000000000000000000000008114155b8015610fdc57507f080000000000001100000000000000000000000000000000000000000000000181105b61102d576040805162461bcd60e51b815260206004820152601b60248201527f4c314441494272696467652f696e76616c69642d616464726573730000000000604482015290519081900360640190fd5b600354821115611084576040805162461bcd60e51b815260206004820152601d60248201527f4c314441494272696467652f61626f76652d6d61782d6465706f736974000000604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166323b872dd337f0000000000000000000000000000000000000000000000000000000000000000856040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050602060405180830381600087803b15801561112c57600080fd5b505af1158015611140573d6000803e3d6000fd5b505050506040513d602081101561115657600080fd5b5050600254604080516370a0823160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015291517f0000000000000000000000000000000000000000000000000000000000000000909216916370a0823191602480820192602092909190829003018186803b1580156111e657600080fd5b505afa1580156111fa573d6000803e3d6000fd5b505050506040513d602081101561121057600080fd5b50511115611265576040805162461bcd60e51b815260206004820152601960248201527f4c314441494272696467652f61626f76652d6365696c696e6700000000000000604482015290519081900360640190fd5b60408051600480825260a0820190925260009160208201608080368337019050509050818160008151811061129657fe5b6020026020010181815250506112ab83611626565b826001815181106112b857fe5b60200260200101836002815181106112cc57fe5b6020026020010182815250828152505050336001600160a01b0316816003815181106112f457fe5b6020026020010181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633e3aa6c57f00000000000000000000000000000000000000000000000000000000000000007f02d757788a8d8d6f21d1cd40bce38a8222d70654214e96ff95d8086e684fbee5846040518463ffffffff1660e01b81526004018084815260200183815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156113cd5781810151838201526020016113b5565b50505050905001945050505050602060405180830381600087803b1580156105bb57600080fd5b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600154600114611488576040805162461bcd60e51b8152602060048201526012602482015271130c511052509c9a5919d94bd8db1bdcd95960721b604482015290519081900360640190fd5b604080518381529051829133917fdee288762e02cf1a2e99896626b9675625e9fa32cce23d9ee7d490763436eaa39181900360200190a360408051600480825260a082019092526000916020820160808036833701905050905081816000815181106114f057fe5b602002602001018181525050336001600160a01b03168160018151811061151357fe5b60200260200101818152505061152883611626565b8260028151811061153557fe5b602002602001018360038151811061154957fe5b60200260200101828152508281525050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633e3aa6c57f00000000000000000000000000000000000000000000000000000000000000007f0283eea9c550fc21d0a9053ca1a8ee6f1cb531fd758474d1b82cc67c236b855d846040518463ffffffff1660e01b8152600401808481526020018381526020018060200182810382528381815181526020019150805190602001906020028083836000838110156113cd5781810151838201526020016113b5565b6fffffffffffffffffffffffffffffffff8116608082901c91509156fea164736f6c6343000706000a000000000000000000000000c662c410c0ecf747543f5ba90660f6abebd9c8c40000000000000000000000006b175474e89094c44da98b954eedeac495271d0f00da114221cb83fa859dbdb4c44beeaa0bb37c7537ad5ae66fe5e0efd20e6eb30000000000000000000000000437465dfb5b79726e35f08559b0cbea55bb585c001108cdbe5d82737b9057590adaf97d34e74b5452f0628161d237746b6fe69e

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101505760003560e01c8063753ed1bd116100cd578063bf353dbb11610081578063e2fdcc1711610066578063e2fdcc1714610319578063f4b9fa7514610321578063fd1275eb1461032957610150565b8063bf353dbb146102d0578063e2bbb158146102f657610150565b80638f02cf97116100b25780638f02cf97146102705780639c52a7f11461028d578063bb371fdd146102b357610150565b8063753ed1bd1461023f5780637c1c29ac1461024757610150565b806347535d7b116101245780636083e59a116101095780636083e59a146101d957806365fae35e146101e15780636c6e4ae31461020757610150565b806347535d7b146101c95780635417908f146101d157610150565b8062f714ce146101555780630b43773e14610183578063422e67f4146101a757806343d726d6146101c1575b600080fd5b6101816004803603604081101561016b57600080fd5b50803590602001356001600160a01b031661034c565b005b61018b6105ec565b604080516001600160a01b039092168252519081900360200190f35b6101af610610565b60408051918252519081900360200190f35b610181610634565b6101af6106c8565b6101af6106ce565b6101af6106f2565b610181600480360360208110156101f757600080fd5b50356001600160a01b03166106f8565b6101816004803603608081101561021d57600080fd5b508035906020810135906001600160a01b0360408201351690606001356107a1565b6101af610a77565b6101816004803603606081101561025d57600080fd5b5080359060208101359060400135610a7d565b6101816004803603602081101561028657600080fd5b5035610c6c565b610181600480360360208110156102a357600080fd5b50356001600160a01b0316610d57565b610181600480360360208110156102c957600080fd5b5035610dff565b6101af600480360360208110156102e657600080fd5b50356001600160a01b0316610eea565b6101816004803603604081101561030c57600080fd5b5080359060200135610efc565b61018b6113f4565b61018b611418565b6101816004803603604081101561033f57600080fd5b508035906020013561143c565b6040805183815290516001600160a01b038316917fb4214c8c54fc7442f36d3682f59aebaf09358a4431835b30efb29d52cf9e1e91919081900360200190a260408051600480825260a08201909252600091602082016080803683370190505090506000816000815181106103bd57fe5b602002602001018181525050336001600160a01b0316816001815181106103e057fe5b6020026020010181815250506103f583611626565b8260028151811061040257fe5b602002602001018360038151811061041657fe5b60200260200101828152508281525050507f000000000000000000000000c662c410c0ecf747543f5ba90660f6abebd9c8c46001600160a01b0316632c9dd5c07f001108cdbe5d82737b9057590adaf97d34e74b5452f0628161d237746b6fe69e836040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156104cd5781810151838201526020016104b5565b505050509050019350505050602060405180830381600087803b1580156104f357600080fd5b505af1158015610507573d6000803e3d6000fd5b505050506040513d602081101561051d57600080fd5b5050604080516323b872dd60e01b81526001600160a01b037f0000000000000000000000000437465dfb5b79726e35f08559b0cbea55bb585c8116600483015284811660248301526044820186905291517f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f909216916323b872dd916064808201926020929091908290030181600087803b1580156105bb57600080fd5b505af11580156105cf573d6000803e3d6000fd5b505050506040513d60208110156105e557600080fd5b5050505050565b7f000000000000000000000000c662c410c0ecf747543f5ba90660f6abebd9c8c481565b7f00da114221cb83fa859dbdb4c44beeaa0bb37c7537ad5ae66fe5e0efd20e6eb381565b33600090815260208190526040902054600114610698576040805162461bcd60e51b815260206004820152601a60248201527f4c314441494272696467652f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b600060018190556040517f1cdde67b72a90f19919ac732a437ac2f7a10fc128d28c2a6e525d89ce5cd9d3a9190a1565b60015481565b7f001108cdbe5d82737b9057590adaf97d34e74b5452f0628161d237746b6fe69e81565b60035481565b3360009081526020819052604090205460011461075c576040805162461bcd60e51b815260206004820152601a60248201527f4c314441494272696467652f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b6001600160a01b03811660008181526020819052604080822060019055517fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609190a250565b604080516001600160a01b038416815260208101869052808201839052905184917f27342a36c014a937136f67690b80039f954cc7acd1d6a2f5bca3f3d3e7b94837919081900360600190a260408051600480825260a0820190925260009160208201608080368337019050509050838160008151811061081e57fe5b60200260200101818152505061083385611626565b8260018151811061084057fe5b602002602001018360028151811061085457fe5b6020026020010182815250828152505050336001600160a01b03168160038151811061087c57fe5b6020026020010181815250507f000000000000000000000000c662c410c0ecf747543f5ba90660f6abebd9c8c46001600160a01b0316636170ff1b7f001108cdbe5d82737b9057590adaf97d34e74b5452f0628161d237746b6fe69e7f02d757788a8d8d6f21d1cd40bce38a8222d70654214e96ff95d8086e684fbee584866040518563ffffffff1660e01b81526004018085815260200184815260200180602001838152602001828103825284818151815260200191508051906020019060200280838360005b8381101561095c578181015183820152602001610944565b5050505090500195505050505050600060405180830381600087803b15801561098457600080fd5b505af1158015610998573d6000803e3d6000fd5b505050507f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f6001600160a01b03166323b872dd7f0000000000000000000000000437465dfb5b79726e35f08559b0cbea55bb585c85886040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050602060405180830381600087803b158015610a4457600080fd5b505af1158015610a58573d6000803e3d6000fd5b505050506040513d6020811015610a6e57600080fd5b50505050505050565b60025481565b6040805184815260208101839052815184927fb8b6bc18e48f410a36e8867df19f26eb867bad25616833b0ed9141f6d8933929928290030190a260408051600480825260a08201909252600091602082016080803683370190505090508281600081518110610ae857fe5b602002602001018181525050610afd84611626565b82600181518110610b0a57fe5b6020026020010183600281518110610b1e57fe5b6020026020010182815250828152505050336001600160a01b031681600381518110610b4657fe5b6020026020010181815250507f000000000000000000000000c662c410c0ecf747543f5ba90660f6abebd9c8c46001600160a01b0316637a98660b7f001108cdbe5d82737b9057590adaf97d34e74b5452f0628161d237746b6fe69e7f02d757788a8d8d6f21d1cd40bce38a8222d70654214e96ff95d8086e684fbee584866040518563ffffffff1660e01b81526004018085815260200184815260200180602001838152602001828103825284818151815260200191508051906020019060200280838360005b83811015610c26578181015183820152602001610c0e565b5050505090500195505050505050600060405180830381600087803b158015610c4e57600080fd5b505af1158015610c62573d6000803e3d6000fd5b5050505050505050565b33600090815260208190526040902054600114610cd0576040805162461bcd60e51b815260206004820152601a60248201527f4c314441494272696467652f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b600154600114610d1c576040805162461bcd60e51b8152602060048201526012602482015271130c511052509c9a5919d94bd8db1bdcd95960721b604482015290519081900360640190fd5b60028190556040805182815290517f6defc6f2eb7fe7d2a05d39d89d53405300c4dafb0e9cd1d6affeb7c02a9c3e549181900360200190a150565b33600090815260208190526040902054600114610dbb576040805162461bcd60e51b815260206004820152601a60248201527f4c314441494272696467652f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b6001600160a01b038116600081815260208190526040808220829055517f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b9190a250565b33600090815260208190526040902054600114610e63576040805162461bcd60e51b815260206004820152601a60248201527f4c314441494272696467652f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b600154600114610eaf576040805162461bcd60e51b8152602060048201526012602482015271130c511052509c9a5919d94bd8db1bdcd95960721b604482015290519081900360640190fd5b60038190556040805182815290517f0abf56f125eb3b9ec6b166b22f262406810c29da2da4c902a6ee31694ae11a399181900360200190a150565b60006020819052908152604090205481565b600154600114610f48576040805162461bcd60e51b8152602060048201526012602482015271130c511052509c9a5919d94bd8db1bdcd95960721b604482015290519081900360640190fd5b6040805183815260208101839052815133927f9dbb0e7dda3e09710ce75b801addc87cf9d9c6c581641b3275fca409ad086c62928290030190a28015801590610fb157507f00da114221cb83fa859dbdb4c44beeaa0bb37c7537ad5ae66fe5e0efd20e6eb38114155b8015610fdc57507f080000000000001100000000000000000000000000000000000000000000000181105b61102d576040805162461bcd60e51b815260206004820152601b60248201527f4c314441494272696467652f696e76616c69642d616464726573730000000000604482015290519081900360640190fd5b600354821115611084576040805162461bcd60e51b815260206004820152601d60248201527f4c314441494272696467652f61626f76652d6d61782d6465706f736974000000604482015290519081900360640190fd5b7f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f6001600160a01b03166323b872dd337f0000000000000000000000000437465dfb5b79726e35f08559b0cbea55bb585c856040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050602060405180830381600087803b15801561112c57600080fd5b505af1158015611140573d6000803e3d6000fd5b505050506040513d602081101561115657600080fd5b5050600254604080516370a0823160e01b81526001600160a01b037f0000000000000000000000000437465dfb5b79726e35f08559b0cbea55bb585c8116600483015291517f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f909216916370a0823191602480820192602092909190829003018186803b1580156111e657600080fd5b505afa1580156111fa573d6000803e3d6000fd5b505050506040513d602081101561121057600080fd5b50511115611265576040805162461bcd60e51b815260206004820152601960248201527f4c314441494272696467652f61626f76652d6365696c696e6700000000000000604482015290519081900360640190fd5b60408051600480825260a0820190925260009160208201608080368337019050509050818160008151811061129657fe5b6020026020010181815250506112ab83611626565b826001815181106112b857fe5b60200260200101836002815181106112cc57fe5b6020026020010182815250828152505050336001600160a01b0316816003815181106112f457fe5b6020026020010181815250507f000000000000000000000000c662c410c0ecf747543f5ba90660f6abebd9c8c46001600160a01b0316633e3aa6c57f001108cdbe5d82737b9057590adaf97d34e74b5452f0628161d237746b6fe69e7f02d757788a8d8d6f21d1cd40bce38a8222d70654214e96ff95d8086e684fbee5846040518463ffffffff1660e01b81526004018084815260200183815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156113cd5781810151838201526020016113b5565b50505050905001945050505050602060405180830381600087803b1580156105bb57600080fd5b7f0000000000000000000000000437465dfb5b79726e35f08559b0cbea55bb585c81565b7f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f81565b600154600114611488576040805162461bcd60e51b8152602060048201526012602482015271130c511052509c9a5919d94bd8db1bdcd95960721b604482015290519081900360640190fd5b604080518381529051829133917fdee288762e02cf1a2e99896626b9675625e9fa32cce23d9ee7d490763436eaa39181900360200190a360408051600480825260a082019092526000916020820160808036833701905050905081816000815181106114f057fe5b602002602001018181525050336001600160a01b03168160018151811061151357fe5b60200260200101818152505061152883611626565b8260028151811061153557fe5b602002602001018360038151811061154957fe5b60200260200101828152508281525050507f000000000000000000000000c662c410c0ecf747543f5ba90660f6abebd9c8c46001600160a01b0316633e3aa6c57f001108cdbe5d82737b9057590adaf97d34e74b5452f0628161d237746b6fe69e7f0283eea9c550fc21d0a9053ca1a8ee6f1cb531fd758474d1b82cc67c236b855d846040518463ffffffff1660e01b8152600401808481526020018381526020018060200182810382528381815181526020019150805190602001906020028083836000838110156113cd5781810151838201526020016113b5565b6fffffffffffffffffffffffffffffffff8116608082901c91509156fea164736f6c6343000706000a

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

000000000000000000000000c662c410c0ecf747543f5ba90660f6abebd9c8c40000000000000000000000006b175474e89094c44da98b954eedeac495271d0f00da114221cb83fa859dbdb4c44beeaa0bb37c7537ad5ae66fe5e0efd20e6eb30000000000000000000000000437465dfb5b79726e35f08559b0cbea55bb585c001108cdbe5d82737b9057590adaf97d34e74b5452f0628161d237746b6fe69e

-----Decoded View---------------
Arg [0] : _starkNet (address): 0xc662c410C0ECf747543f5bA90660f6ABeBD9C8c4
Arg [1] : _dai (address): 0x6B175474E89094C44Da98b954EedeAC495271d0F
Arg [2] : _l2Dai (uint256): 385291772725090318157700937045086145273563247402457518748197066808155336371
Arg [3] : _escrow (address): 0x0437465dfb5B79726e35F08559B0cBea55bb585C
Arg [4] : _l2DaiBridge (uint256): 30097160908876648820186558578205092597541264579458245618642493561688286878

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 000000000000000000000000c662c410c0ecf747543f5ba90660f6abebd9c8c4
Arg [1] : 0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f
Arg [2] : 00da114221cb83fa859dbdb4c44beeaa0bb37c7537ad5ae66fe5e0efd20e6eb3
Arg [3] : 0000000000000000000000000437465dfb5b79726e35f08559b0cbea55bb585c
Arg [4] : 001108cdbe5d82737b9057590adaf97d34e74b5452f0628161d237746b6fe69e


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.