ETH Price: $3,386.12 (-1.76%)
Gas: 1 Gwei

Contract

0xA10c7CE4b876998858b1a9E12b10092229539400
 
Transaction Hash
Method
Block
From
To
Value
0x68747470139236852022-01-02 3:46:15908 days ago1641095175IN
Arbitrum: DAI L1 Escrow
0 ETH0.0020662491
0x68747470139236852022-01-02 3:46:15908 days ago1641095175IN
Arbitrum: DAI L1 Escrow
0 ETH0.0020662491
0x68747470139236852022-01-02 3:46:15908 days ago1641095175IN
Arbitrum: DAI L1 Escrow
0 ETH0.0020662491
0x68747470139236852022-01-02 3:46:15908 days ago1641095175IN
Arbitrum: DAI L1 Escrow
0 ETH0.0020662491
0x68747470139236852022-01-02 3:46:15908 days ago1641095175IN
Arbitrum: DAI L1 Escrow
0 ETH0.0020662491
0x68747470139236852022-01-02 3:46:15908 days ago1641095175IN
Arbitrum: DAI L1 Escrow
0 ETH0.0020662491
0x68747470139236852022-01-02 3:46:15908 days ago1641095175IN
Arbitrum: DAI L1 Escrow
0 ETH0.0020662491
0x68747470139236852022-01-02 3:46:15908 days ago1641095175IN
Arbitrum: DAI L1 Escrow
0 ETH0.0020662491
0x68747470139236852022-01-02 3:46:15908 days ago1641095175IN
Arbitrum: DAI L1 Escrow
0 ETH0.0020662491
0x68747470139236852022-01-02 3:46:15908 days ago1641095175IN
Arbitrum: DAI L1 Escrow
0 ETH0.0020662491
0x68747470139236852022-01-02 3:46:15908 days ago1641095175IN
Arbitrum: DAI L1 Escrow
0 ETH0.0020662491
0x68747470139236792022-01-02 3:45:21908 days ago1641095121IN
Arbitrum: DAI L1 Escrow
0 ETH0.0020662491
0x68747470139236782022-01-02 3:45:13908 days ago1641095113IN
Arbitrum: DAI L1 Escrow
0 ETH0.0020662491
0x68747470139236782022-01-02 3:45:13908 days ago1641095113IN
Arbitrum: DAI L1 Escrow
0 ETH0.0020662491
0x68747470139236782022-01-02 3:45:13908 days ago1641095113IN
Arbitrum: DAI L1 Escrow
0 ETH0.0020662491
0x68747470139236782022-01-02 3:45:13908 days ago1641095113IN
Arbitrum: DAI L1 Escrow
0 ETH0.0020662491
0x68747470139236772022-01-02 3:44:52908 days ago1641095092IN
Arbitrum: DAI L1 Escrow
0 ETH0.0020662491
0x68747470139236772022-01-02 3:44:52908 days ago1641095092IN
Arbitrum: DAI L1 Escrow
0 ETH0.0020662491
0x68747470139236772022-01-02 3:44:52908 days ago1641095092IN
Arbitrum: DAI L1 Escrow
0 ETH0.0020662491
0x68747470139236772022-01-02 3:44:52908 days ago1641095092IN
Arbitrum: DAI L1 Escrow
0 ETH0.0020662491
0x68747470139236772022-01-02 3:44:52908 days ago1641095092IN
Arbitrum: DAI L1 Escrow
0 ETH0.0020662491
0x68747470139236772022-01-02 3:44:52908 days ago1641095092IN
Arbitrum: DAI L1 Escrow
0 ETH0.0020662491
0x68747470139236772022-01-02 3:44:52908 days ago1641095092IN
Arbitrum: DAI L1 Escrow
0 ETH0.0020662491
0x68747470139236772022-01-02 3:44:52908 days ago1641095092IN
Arbitrum: DAI L1 Escrow
0 ETH0.0020662491
0x68747470139236762022-01-02 3:44:48908 days ago1641095088IN
Arbitrum: DAI L1 Escrow
0 ETH0.0020662491
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:
L1Escrow

Compiler Version
v0.6.11+commit.5ef660b1

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : L1Escrow.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.6.11;

interface ApproveLike {
  function approve(address, uint256) external;
}

// Escrow funds on L1, manage approval rights

contract L1Escrow {
  // --- 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, "L1Escrow/not-authorized");
    _;
  }

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

  event Approve(address indexed token, address indexed spender, uint256 value);

  constructor() public {
    wards[msg.sender] = 1;
    emit Rely(msg.sender);
  }

  function approve(
    address token,
    address spender,
    uint256 value
  ) external auth {
    emit Approve(token, spender, value);

    ApproveLike(token).approve(spender, value);
  }
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approve","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"}],"name":"Deny","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"}],"name":"Rely","type":"event"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"deny","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"rely","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"wards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b5060016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a6060405160405180910390a2610626806100a76000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806365fae35e146100515780639c52a7f114610095578063bf353dbb146100d9578063e1f21c6714610131575b600080fd5b6100936004803603602081101561006757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061019f565b005b6100d7600480360360208110156100ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102dd565b005b61011b600480360360208110156100ef57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061041b565b6040518082815260200191505060405180910390f35b61019d6004803603606081101561014757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610433565b005b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610253576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4c31457363726f772f6e6f742d617574686f72697a656400000000000000000081525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a6060405160405180910390a250565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610391576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4c31457363726f772f6e6f742d617574686f72697a656400000000000000000081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b60405160405180910390a250565b60006020528060005260406000206000915090505481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146104e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4c31457363726f772f6e6f742d617574686f72697a656400000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f6e11fb1b7f119e3f2fa29896ef5fdf8b8a2d0d4df6fe90ba8668e7d8b2ffa25e836040518082815260200191505060405180910390a38273ffffffffffffffffffffffffffffffffffffffff1663095ea7b383836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156105d357600080fd5b505af11580156105e7573d6000803e3d6000fd5b5050505050505056fea264697066735822122049ab4ef9ffbcbb6b57a0fd53291382ada505c9ed0009c9e9ed15883c44f3b9b364736f6c634300060b0033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806365fae35e146100515780639c52a7f114610095578063bf353dbb146100d9578063e1f21c6714610131575b600080fd5b6100936004803603602081101561006757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061019f565b005b6100d7600480360360208110156100ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102dd565b005b61011b600480360360208110156100ef57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061041b565b6040518082815260200191505060405180910390f35b61019d6004803603606081101561014757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610433565b005b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610253576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4c31457363726f772f6e6f742d617574686f72697a656400000000000000000081525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a6060405160405180910390a250565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610391576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4c31457363726f772f6e6f742d617574686f72697a656400000000000000000081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b60405160405180910390a250565b60006020528060005260406000206000915090505481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146104e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4c31457363726f772f6e6f742d617574686f72697a656400000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f6e11fb1b7f119e3f2fa29896ef5fdf8b8a2d0d4df6fe90ba8668e7d8b2ffa25e836040518082815260200191505060405180910390a38273ffffffffffffffffffffffffffffffffffffffff1663095ea7b383836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156105d357600080fd5b505af11580156105e7573d6000803e3d6000fd5b5050505050505056fea264697066735822122049ab4ef9ffbcbb6b57a0fd53291382ada505c9ed0009c9e9ed15883c44f3b9b364736f6c634300060b0033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

DAI Vault for custom DAI Gateway managed by MakerDAO.

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.