ETH Price: $3,102.22 (+1.01%)
Gas: 3 Gwei

Contract

0x349F02C1A4Fe499A33b68BBaAc5e3a718f706966
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
Value
Exchange197602912024-04-29 10:11:4772 days ago1714385507IN
0x349F02C1...18f706966
0 ETH0.002344588.2585161
Exchange193884092024-03-08 5:37:59124 days ago1709876279IN
0x349F02C1...18f706966
0 ETH0.0122024342.92703661
Exchange190323992024-01-18 7:56:11174 days ago1705564571IN
0x349F02C1...18f706966
0 ETH0.0081151128.54721259
Exchange190316102024-01-18 5:17:35174 days ago1705555055IN
0x349F02C1...18f706966
0 ETH0.0072183924.22768766
Exchange189650572024-01-08 21:47:35184 days ago1704750455IN
0x349F02C1...18f706966
0 ETH0.0060113821.17438431
Exchange188914312023-12-29 13:07:23194 days ago1703855243IN
0x349F02C1...18f706966
0 ETH0.0060230121.21533149
Exchange188458232023-12-23 3:24:11200 days ago1703301851IN
0x349F02C1...18f706966
0 ETH0.0062562322.03684879
Exchange188067452023-12-17 15:50:23206 days ago1702828223IN
0x349F02C1...18f706966
0 ETH0.0125846744.32955557
Exchange187952972023-12-16 1:12:23208 days ago1702689143IN
0x349F02C1...18f706966
0 ETH0.0117473941.38023955
Exchange187605472023-12-11 4:21:35212 days ago1702268495IN
0x349F02C1...18f706966
0 ETH0.0071733425.26725359
Exchange187404242023-12-08 8:43:47215 days ago1702025027IN
0x349F02C1...18f706966
0 ETH0.0091245332.09924741
Exchange187257652023-12-06 7:22:35217 days ago1701847355IN
0x349F02C1...18f706966
0 ETH0.0147087451.74216022
Exchange187185842023-12-05 7:13:59218 days ago1701760439IN
0x349F02C1...18f706966
0 ETH0.0114666540.3386068
Exchange187111002023-12-04 6:04:59219 days ago1701669899IN
0x349F02C1...18f706966
0 ETH0.0231622881.4827295
Exchange186844532023-11-30 12:34:47223 days ago1701347687IN
0x349F02C1...18f706966
0 ETH0.0084621329.76794606
Exchange186426502023-11-24 16:06:59229 days ago1700842019IN
0x349F02C1...18f706966
0 ETH0.0123838343.56516313
Exchange186303912023-11-22 22:54:59231 days ago1700693699IN
0x349F02C1...18f706966
0 ETH0.0123937543.59853819
Exchange186084872023-11-19 21:19:11234 days ago1700428751IN
0x349F02C1...18f706966
0 ETH0.0101067835.55472044
Exchange186016182023-11-18 22:13:23235 days ago1700345603IN
0x349F02C1...18f706966
0 ETH0.0046613116.39750794
Exchange185895102023-11-17 5:26:23236 days ago1700198783IN
0x349F02C1...18f706966
0 ETH0.0059510720.9359964
Exchange185826162023-11-16 6:20:35237 days ago1700115635IN
0x349F02C1...18f706966
0 ETH0.0065368823.0253748
Exchange185818662023-11-16 3:49:47237 days ago1700106587IN
0x349F02C1...18f706966
0 ETH0.00922132.47989016
Exchange185814202023-11-16 2:20:11237 days ago1700101211IN
0x349F02C1...18f706966
0 ETH0.00869230.61760297
Exchange185745902023-11-15 3:23:11238 days ago1700018591IN
0x349F02C1...18f706966
0 ETH0.0071482725.17893168
Exchange185725162023-11-14 20:26:11239 days ago1699993571IN
0x349F02C1...18f706966
0 ETH0.0105626737.20704973
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
197602912024-04-29 10:11:4772 days ago1714385507
0x349F02C1...18f706966
24.54947288 ETH
197602912024-04-29 10:11:4772 days ago1714385507
0x349F02C1...18f706966
24.54947288 ETH
193884092024-03-08 5:37:59124 days ago1709876279
0x349F02C1...18f706966
23.69109909 ETH
193884092024-03-08 5:37:59124 days ago1709876279
0x349F02C1...18f706966
23.69109909 ETH
190323992024-01-18 7:56:11174 days ago1705564571
0x349F02C1...18f706966
24.22930324 ETH
190323992024-01-18 7:56:11174 days ago1705564571
0x349F02C1...18f706966
24.22930324 ETH
190316102024-01-18 5:17:35174 days ago1705555055
0x349F02C1...18f706966
25.19188887 ETH
190316102024-01-18 5:17:35174 days ago1705555055
0x349F02C1...18f706966
25.19188887 ETH
189650572024-01-08 21:47:35184 days ago1704750455
0x349F02C1...18f706966
24.44012924 ETH
189650572024-01-08 21:47:35184 days ago1704750455
0x349F02C1...18f706966
24.44012924 ETH
188914312023-12-29 13:07:23194 days ago1703855243
0x349F02C1...18f706966
48.06531767 ETH
188914312023-12-29 13:07:23194 days ago1703855243
0x349F02C1...18f706966
48.06531767 ETH
188458232023-12-23 3:24:11200 days ago1703301851
0x349F02C1...18f706966
23.61656878 ETH
188458232023-12-23 3:24:11200 days ago1703301851
0x349F02C1...18f706966
23.61656878 ETH
188067452023-12-17 15:50:23206 days ago1702828223
0x349F02C1...18f706966
23.18075337 ETH
188067452023-12-17 15:50:23206 days ago1702828223
0x349F02C1...18f706966
23.18075337 ETH
187952972023-12-16 1:12:23208 days ago1702689143
0x349F02C1...18f706966
30.09623422 ETH
187952972023-12-16 1:12:23208 days ago1702689143
0x349F02C1...18f706966
30.09623422 ETH
187605472023-12-11 4:21:35212 days ago1702268495
0x349F02C1...18f706966
34.43071977 ETH
187605472023-12-11 4:21:35212 days ago1702268495
0x349F02C1...18f706966
34.43071977 ETH
187404242023-12-08 8:43:47215 days ago1702025027
0x349F02C1...18f706966
36.51307465 ETH
187404242023-12-08 8:43:47215 days ago1702025027
0x349F02C1...18f706966
36.51307465 ETH
187257652023-12-06 7:22:35217 days ago1701847355
0x349F02C1...18f706966
26.36575688 ETH
187257652023-12-06 7:22:35217 days ago1701847355
0x349F02C1...18f706966
26.36575688 ETH
187185842023-12-05 7:13:59218 days ago1701760439
0x349F02C1...18f706966
27.48829678 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
LidoBridgeSwapper

Compiler Version
v0.8.3+commit.8d00100c

Optimization Enabled:
Yes with 1000 runs

Other Settings:
default evmVersion
File 1 of 8 : LidoBridgeSwapper.sol
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.3;

import "./ZkSyncBridgeSwapper.sol";
import "./interfaces/IZkSync.sol";
import "./interfaces/IWstETH.sol";
import "./interfaces/ILido.sol";
import "./interfaces/ICurvePool.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";

/**
* Exchanges between ETH and wStETH
* index 0: ETH
* index 1: wStETH
*/
contract LidoBridgeSwapper is ZkSyncBridgeSwapper {

    // The address of the stEth token
    address public immutable stEth;
    // The address of the wrapped stEth token
    address public immutable wStEth;
    // The address of the stEth/Eth Curve pool
    address public immutable stEthPool;
    // The referral address for Lido
    address public immutable lidoReferral;

    constructor(
        address _zkSync,
        address _l2Account,
        address _wStEth,
        address _stEthPool,
        address _lidoReferral
    )
        ZkSyncBridgeSwapper(_zkSync, _l2Account)
    {
        wStEth = _wStEth;
        address _stEth = IWstETH(_wStEth).stETH();
        require(_stEth == ICurvePool(_stEthPool).coins(1), "stEth mismatch");
        stEth = _stEth;
        stEthPool = _stEthPool;
        lidoReferral = _lidoReferral;
    }

    function exchange(
        uint256 _indexIn,
        uint256 _indexOut,
        uint256 _amountIn,
        uint256 _minAmountOut
    ) 
        onlyOwner
        external 
        override 
        returns (uint256 amountOut) 
    {
        require(_indexIn + _indexOut == 1, "invalid indexes");

        if (_indexIn == 0) {
            transferFromZkSync(ETH_TOKEN);
            amountOut = swapEthForWstEth(_amountIn);
            require(amountOut >= _minAmountOut, "slippage");
            transferToZkSync(wStEth, amountOut);
            emit Swapped(ETH_TOKEN, _amountIn, wStEth, amountOut);
        } else {
            transferFromZkSync(wStEth);
            amountOut = swapWstEthForEth(_amountIn);
            require(amountOut >= _minAmountOut, "slippage");
            transferToZkSync(ETH_TOKEN, amountOut);
            emit Swapped(wStEth, _amountIn, ETH_TOKEN, amountOut);
        }
    }

    /**
    * @dev Swaps ETH for wrapped stETH and deposits the resulting wstETH to the ZkSync bridge.
    * First withdraws ETH from the bridge if there is a pending balance.
    * @param _amountIn The amount of ETH to swap.
    */
    function swapEthForWstEth(uint256 _amountIn) internal returns (uint256) {
        uint256 dy = ICurvePool(stEthPool).get_dy(0, 1, _amountIn);
        uint256 stEthAmount;

        // if stETH below parity on Curve get it there, otherwise stake on Lido contract
        if (dy > _amountIn) {
            stEthAmount = ICurvePool(stEthPool).exchange{value: _amountIn}(0, 1, _amountIn, 1);
        } else {
            ILido(stEth).submit{value: _amountIn}(lidoReferral);
            stEthAmount = _amountIn;
        }

        // approve the wStEth contract to take the stEth
        IERC20(stEth).approve(wStEth, stEthAmount);
        // wrap to wStEth and return deposited amount
        return IWstETH(wStEth).wrap(stEthAmount);
    }

    /**
    * @dev Swaps wrapped stETH for ETH and deposits the resulting ETH to the ZkSync bridge.
    * First withdraws wrapped stETH from the bridge if there is a pending balance.
    * @param _amountIn The amount of wrapped stETH to swap.
    */
    function swapWstEthForEth(uint256 _amountIn) internal returns (uint256) {
        // unwrap to stEth
        uint256 unwrapped = IWstETH(wStEth).unwrap(_amountIn);
        // approve pool
        bool success = IERC20(stEth).approve(stEthPool, unwrapped);
        require(success, "approve failed");
        // swap stEth for ETH on Curve and return deposited amount
        return ICurvePool(stEthPool).exchange(1, 0, unwrapped, 1);
    }
}

File 2 of 8 : ZkSyncBridgeSwapper.sol
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.3;

import "./interfaces/IZkSync.sol";
import "./interfaces/IBridgeSwapper.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";

abstract contract ZkSyncBridgeSwapper is IBridgeSwapper {

    // The owner of the contract
    address public owner;

    // The ZkSync bridge contract
    address public immutable zkSync;
    // The L2 market maker account
    address public immutable l2Account;

    address constant internal ETH_TOKEN = address(0);

    event OwnerChanged(address _owner, address _newOwner);
    event SlippageChanged(uint256 _slippagePercent);

    modifier onlyOwner {
        require(msg.sender == owner, "unauthorised");
        _;
    }

    constructor(address _zkSync, address _l2Account) {
        zkSync = _zkSync;
        l2Account = _l2Account;
        owner = msg.sender;
    }

    function changeOwner(address _newOwner) external onlyOwner {
        require(_newOwner != address(0), "invalid input");
        owner = _newOwner;
        emit OwnerChanged(owner, _newOwner);
    }

    /**
    * @dev Check if there is a pending balance to withdraw in zkSync and withdraw it if applicable.
    * @param _token The token to withdraw.
    */
    function transferFromZkSync(address _token) internal {
        uint128 pendingBalance = IZkSync(zkSync).getPendingBalance(address(this), _token);
        if (pendingBalance > 0) {
            IZkSync(zkSync).withdrawPendingBalance(payable(address(this)), _token, pendingBalance);
        }
    }

    /**
    * @dev Deposit the ETH or ERC20 token to zkSync.
    * @param _outputToken The token that was given.
    * @param _amountOut The amount of given token.
    */
    function transferToZkSync(address _outputToken, uint256 _amountOut) internal {
        if (_outputToken == ETH_TOKEN) {
            // deposit Eth to L2 bridge
            IZkSync(zkSync).depositETH{value: _amountOut}(l2Account);
        } else {
            // approve the zkSync bridge to take the output token
            IERC20(_outputToken).approve(zkSync, _amountOut);
            // deposit the output token to the L2 bridge
            IZkSync(zkSync).depositERC20(IERC20(_outputToken), toUint104(_amountOut), l2Account);
        }
    }

    /**
    * @dev Safety method to recover ETH or ERC20 tokens that are sent to the contract by error.
    * @param _token The token to recover.
    */
    function recoverToken(address _recipient, address _token) external onlyOwner returns (uint256 balance) {
        bool success;
        if (_token == ETH_TOKEN) {
            balance = address(this).balance;
            (success, ) = _recipient.call{value: balance}("");
        } else {
            balance = IERC20(_token).balanceOf(address(this));
            success = IERC20(_token).transfer(_recipient, balance);
        }
        require(success, "failed to recover");
    }

    /**
     * @dev fallback method to make sure we can receive ETH
     */
    receive() external payable {
        
    }

    /**
     * @dev Returns the downcasted uint104 from uint256, reverting on
     * overflow (when the input is greater than largest uint104).
     */
    function toUint104(uint256 value) internal pure returns (uint104) {
        require(value <= type(uint104).max, "SafeCast: value doesn't fit in 104 bits");
        return uint104(value);
    }
}

File 3 of 8 : IZkSync.sol
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.3;

import "@openzeppelin/contracts/token/ERC20/IERC20.sol";

interface IZkSync {
    function getPendingBalance(address _address, address _token) external view returns (uint128);
    function withdrawPendingBalance(address payable _owner, address _token, uint128 _amount) external;
    function depositETH(address _zkSyncAddress) external payable;
    function depositERC20(IERC20 _token, uint104 _amount, address _zkSyncAddress) external;
}

File 4 of 8 : IWstETH.sol
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.3;

interface IWstETH {
    function stETH() external returns (address);
    function wrap(uint256 _stETHAmount) external returns (uint256);
    function unwrap(uint256 _wstETHAmount) external returns (uint256);
}

File 5 of 8 : ILido.sol
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.3;

interface ILido {
    function submit(address _referral) external payable returns (uint256);
}

File 6 of 8 : ICurvePool.sol
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.3;

interface ICurvePool {
    function coins(uint256 _i) external view returns (address);
    function lp_token() external view returns (address);
    function get_virtual_price() external view returns (uint256);
    function get_dy(int128 _i, int128 _j, uint256 _dx) external view returns (uint256);

    function exchange(int128 _i, int128 _j, uint256 _dx, uint256 _minDy) external payable returns (uint256);
    function add_liquidity(uint256[2] calldata _amounts, uint256 _minMintAmount) external payable returns (uint256);
    function remove_liquidity_one_coin(uint256 _amount, int128 _i, uint256 _minAmount) external payable returns (uint256);
    function calc_token_amount(uint256[2] calldata _amounts, bool _isDeposit) external view returns (uint256);
    function calc_withdraw_one_coin(uint256 _amount, int128 _i) external view returns (uint256);
}

File 7 of 8 : IERC20.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.0 (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

File 8 of 8 : IBridgeSwapper.sol
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.3;

interface IBridgeSwapper {
    event Swapped(address _inputToken, uint256 _amountIn, address _outputToken, uint256 _amountOut);

    /**
    * @notice Perform an exchange between two tokens
    * @dev Index values can usually be found via the constructor arguments (if not hardcoded)
    * @param _indexIn Index value for the token to send
    * @param _indexOut Index valie of the token to receive
    * @param _amountIn Amount of `_indexIn` being exchanged
    * @return Actual amount of `_indexOut` received
    */
    function exchange(uint256 _indexIn, uint256 _indexOut, uint256 _amountIn, uint256 _minAmountOut) external returns (uint256);
}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_zkSync","type":"address"},{"internalType":"address","name":"_l2Account","type":"address"},{"internalType":"address","name":"_wStEth","type":"address"},{"internalType":"address","name":"_stEthPool","type":"address"},{"internalType":"address","name":"_lidoReferral","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_owner","type":"address"},{"indexed":false,"internalType":"address","name":"_newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_slippagePercent","type":"uint256"}],"name":"SlippageChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_inputToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amountIn","type":"uint256"},{"indexed":false,"internalType":"address","name":"_outputToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amountOut","type":"uint256"}],"name":"Swapped","type":"event"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_indexIn","type":"uint256"},{"internalType":"uint256","name":"_indexOut","type":"uint256"},{"internalType":"uint256","name":"_amountIn","type":"uint256"},{"internalType":"uint256","name":"_minAmountOut","type":"uint256"}],"name":"exchange","outputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"l2Account","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lidoReferral","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"address","name":"_token","type":"address"}],"name":"recoverToken","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stEth","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stEthPool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wStEth","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"zkSync","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6101406040523480156200001257600080fd5b50604051620017e4380380620017e483398101604081905262000035916200022b565b6001600160601b0319606086811b821660805285811b821660a052600080546001600160a01b031916331781559085901b90911660e0526040805163183fc7c960e31b815290516001600160a01b0386169163c1fe3e4891600480830192602092919082900301818787803b158015620000ae57600080fd5b505af1158015620000c3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000e9919062000207565b60405163c661065760e01b8152600160048201529091506001600160a01b0384169063c66106579060240160206040518083038186803b1580156200012d57600080fd5b505afa15801562000142573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000168919062000207565b6001600160a01b0316816001600160a01b031614620001be5760405162461bcd60e51b815260206004820152600e60248201526d0e6e88ae8d040dad2e6dac2e8c6d60931b604482015260640160405180910390fd5b6001600160601b0319606091821b811660c05292811b8316610100521b1661012052506200029a915050565b80516001600160a01b03811681146200020257600080fd5b919050565b60006020828403121562000219578081fd5b6200022482620001ea565b9392505050565b600080600080600060a0868803121562000243578081fd5b6200024e86620001ea565b94506200025e60208701620001ea565b93506200026e60408701620001ea565b92506200027e60608701620001ea565b91506200028e60808701620001ea565b90509295509295909350565b60805160601c60a05160601c60c05160601c60e05160601c6101005160601c6101205160601c61144f620003956000396000818160d30152610bca01526000818161026401528181610a5c01528181610b0d015281816110ee01526112190152600081816101da015281816103a8015281816103de01528181610447015281816104c201528181610c8c01528181610d67015261105b01526000818161020e01528181610bf201528181610cbb015261112301526000818161012401528181610e340152610fef015260008181610186015281816108c4015281816109b001528181610e5c01528181610ed60152610f64015261144f6000f3fe6080604052600436106100b55760003560e01c80638dc3546b11610069578063a6f9dae11161004e578063a6f9dae114610230578063ac856ea014610252578063feaea58614610286576100bc565b80638dc3546b146101c857806399940ece146101fc576100bc565b80635b41b9081161009a5780635b41b908146101465780637c19f005146101745780638da5cb5b146101a8576100bc565b8063047e3670146100c157806335aa6df814610112576100bc565b366100bc57005b600080fd5b3480156100cd57600080fd5b506100f57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561011e57600080fd5b506100f57f000000000000000000000000000000000000000000000000000000000000000081565b34801561015257600080fd5b506101666101613660046113ab565b6102a6565b604051908152602001610109565b34801561018057600080fd5b506100f57f000000000000000000000000000000000000000000000000000000000000000081565b3480156101b457600080fd5b506000546100f5906001600160a01b031681565b3480156101d457600080fd5b506100f57f000000000000000000000000000000000000000000000000000000000000000081565b34801561020857600080fd5b506100f57f000000000000000000000000000000000000000000000000000000000000000081565b34801561023c57600080fd5b5061025061024b3660046112f0565b610535565b005b34801561025e57600080fd5b506100f57f000000000000000000000000000000000000000000000000000000000000000081565b34801561029257600080fd5b506101666102a1366004611311565b610647565b600080546001600160a01b031633146102f55760405162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5cd95960a21b60448201526064015b60405180910390fd5b6102ff84866113dc565b60011461034e5760405162461bcd60e51b815260206004820152600f60248201527f696e76616c696420696e6465786573000000000000000000000000000000000060448201526064016102ec565b846104425761035d6000610883565b61036683610a12565b9050818110156103a35760405162461bcd60e51b8152602060048201526008602482015267736c69707061676560c01b60448201526064016102ec565b6103cd7f000000000000000000000000000000000000000000000000000000000000000082610df6565b6040805160008152602081018590527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316818301526060810183905290517fdb587d878116df0bdd4fe154699aa2c5f439da001cc811dfd05d9f589fc5a8ee9181900360800190a161052d565b61046b7f0000000000000000000000000000000000000000000000000000000000000000610883565b6104748361101f565b9050818110156104b15760405162461bcd60e51b8152602060048201526008602482015267736c69707061676560c01b60448201526064016102ec565b6104bc600082610df6565b604080517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602081018590526000818301526060810183905290517fdb587d878116df0bdd4fe154699aa2c5f439da001cc811dfd05d9f589fc5a8ee9181900360800190a15b949350505050565b6000546001600160a01b0316331461057e5760405162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5cd95960a21b60448201526064016102ec565b6001600160a01b0381166105d45760405162461bcd60e51b815260206004820152600d60248201527f696e76616c696420696e7075740000000000000000000000000000000000000060448201526064016102ec565b600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040805182815260208101929092527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a150565b600080546001600160a01b031633146106915760405162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5cd95960a21b60448201526064016102ec565b60006001600160a01b0383166106fd576040514792506001600160a01b038516908390600081818185875af1925050503d80600081146106ed576040519150601f19603f3d011682016040523d82523d6000602084013e6106f2565b606091505b50508091505061082f565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a082319060240160206040518083038186803b15801561075557600080fd5b505afa158015610769573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078d9190611393565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152602482018390529193509084169063a9059cbb90604401602060405180830381600087803b1580156107f457600080fd5b505af1158015610808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082c9190611343565b90505b8061087c5760405162461bcd60e51b815260206004820152601160248201527f6661696c656420746f207265636f76657200000000000000000000000000000060448201526064016102ec565b5092915050565b6040517f5aca41f60000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301526000917f000000000000000000000000000000000000000000000000000000000000000090911690635aca41f69060440160206040518083038186803b15801561090857600080fd5b505afa15801561091c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109409190611363565b90506fffffffffffffffffffffffffffffffff811615610a0e576040517fd514da500000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0383811660248301526fffffffffffffffffffffffffffffffff831660448301527f0000000000000000000000000000000000000000000000000000000000000000169063d514da50906064015b600060405180830381600087803b1580156109f557600080fd5b505af1158015610a09573d6000803e3d6000fd5b505050505b5050565b6040517f5e0d443f00000000000000000000000000000000000000000000000000000000815260006004820181905260016024830152604482018390529081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635e0d443f9060640160206040518083038186803b158015610a9e57600080fd5b505afa158015610ab2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad69190611393565b9050600083821115610b9a57604051630f7c084960e21b8152600060048201526001602482018190526044820186905260648201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633df021249086906084016020604051808303818588803b158015610b5a57600080fd5b505af1158015610b6e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b939190611393565b9050610c75565b6040517fa1903eab0000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063a1903eab9086906024016020604051808303818588803b158015610c3757600080fd5b505af1158015610c4b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c709190611393565b508390505b60405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b390604401602060405180830381600087803b158015610cff57600080fd5b505af1158015610d13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d379190611343565b506040517fea598cb0000000000000000000000000000000000000000000000000000000008152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ea598cb0906024015b602060405180830381600087803b158015610db457600080fd5b505af1158015610dc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dec9190611393565b925050505b919050565b6001600160a01b038216610ebf576040517f2d2da8060000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f00000000000000000000000000000000000000000000000000000000000000001690632d2da8069083906024016000604051808303818588803b158015610ea157600080fd5b505af1158015610eb5573d6000803e3d6000fd5b5050505050610a0e565b60405163095ea7b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820183905283169063095ea7b390604401602060405180830381600087803b158015610f2957600080fd5b505af1158015610f3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f619190611343565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e17376b583610f9b84611250565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b0392831660048201526cffffffffffffffffffffffffff90911660248201527f00000000000000000000000000000000000000000000000000000000000000009190911660448201526064016109db565b6040517fde0e9a3e0000000000000000000000000000000000000000000000000000000081526004810182905260009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063de0e9a3e90602401602060405180830381600087803b15801561109f57600080fd5b505af11580156110b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d79190611393565b60405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390529192506000917f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b390604401602060405180830381600087803b15801561116757600080fd5b505af115801561117b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119f9190611343565b9050806111ee5760405162461bcd60e51b815260206004820152600e60248201527f617070726f7665206661696c656400000000000000000000000000000000000060448201526064016102ec565b604051630f7c084960e21b8152600160048201819052600060248301526044820184905260648201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633df0212490608401610d9a565b60006cffffffffffffffffffffffffff8211156112d55760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f303420626974730000000000000000000000000000000000000000000000000060648201526084016102ec565b5090565b80356001600160a01b0381168114610df157600080fd5b600060208284031215611301578081fd5b61130a826112d9565b9392505050565b60008060408385031215611323578081fd5b61132c836112d9565b915061133a602084016112d9565b90509250929050565b600060208284031215611354578081fd5b8151801515811461130a578182fd5b600060208284031215611374578081fd5b81516fffffffffffffffffffffffffffffffff8116811461130a578182fd5b6000602082840312156113a4578081fd5b5051919050565b600080600080608085870312156113c0578182fd5b5050823594602084013594506040840135936060013592509050565b60008219821115611414577f4e487b710000000000000000000000000000000000000000000000000000000081526011600452602481fd5b50019056fea26469706673582212204b344488effefb7e94a43c0fe29e95d7bf5e80c274be81d5a562f450bb76be2064736f6c63430008030033000000000000000000000000abea9132b05a70803a4e85094fd0e1800777fbef0000000000000000000000004d4c6545c17396bdfb7c635ca5c5361d00335aa20000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0000000000000000000000000dc24316b9ae028f1497c275eb9192a3ea0f67022000000000000000000000000ef8e1b4b676a5285db79d55d3288bc5fe65c71cc

Deployed Bytecode

0x6080604052600436106100b55760003560e01c80638dc3546b11610069578063a6f9dae11161004e578063a6f9dae114610230578063ac856ea014610252578063feaea58614610286576100bc565b80638dc3546b146101c857806399940ece146101fc576100bc565b80635b41b9081161009a5780635b41b908146101465780637c19f005146101745780638da5cb5b146101a8576100bc565b8063047e3670146100c157806335aa6df814610112576100bc565b366100bc57005b600080fd5b3480156100cd57600080fd5b506100f57f000000000000000000000000ef8e1b4b676a5285db79d55d3288bc5fe65c71cc81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561011e57600080fd5b506100f57f0000000000000000000000004d4c6545c17396bdfb7c635ca5c5361d00335aa281565b34801561015257600080fd5b506101666101613660046113ab565b6102a6565b604051908152602001610109565b34801561018057600080fd5b506100f57f000000000000000000000000abea9132b05a70803a4e85094fd0e1800777fbef81565b3480156101b457600080fd5b506000546100f5906001600160a01b031681565b3480156101d457600080fd5b506100f57f0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca081565b34801561020857600080fd5b506100f57f000000000000000000000000ae7ab96520de3a18e5e111b5eaab095312d7fe8481565b34801561023c57600080fd5b5061025061024b3660046112f0565b610535565b005b34801561025e57600080fd5b506100f57f000000000000000000000000dc24316b9ae028f1497c275eb9192a3ea0f6702281565b34801561029257600080fd5b506101666102a1366004611311565b610647565b600080546001600160a01b031633146102f55760405162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5cd95960a21b60448201526064015b60405180910390fd5b6102ff84866113dc565b60011461034e5760405162461bcd60e51b815260206004820152600f60248201527f696e76616c696420696e6465786573000000000000000000000000000000000060448201526064016102ec565b846104425761035d6000610883565b61036683610a12565b9050818110156103a35760405162461bcd60e51b8152602060048201526008602482015267736c69707061676560c01b60448201526064016102ec565b6103cd7f0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca082610df6565b6040805160008152602081018590527f0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca06001600160a01b0316818301526060810183905290517fdb587d878116df0bdd4fe154699aa2c5f439da001cc811dfd05d9f589fc5a8ee9181900360800190a161052d565b61046b7f0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0610883565b6104748361101f565b9050818110156104b15760405162461bcd60e51b8152602060048201526008602482015267736c69707061676560c01b60448201526064016102ec565b6104bc600082610df6565b604080517f0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca06001600160a01b03168152602081018590526000818301526060810183905290517fdb587d878116df0bdd4fe154699aa2c5f439da001cc811dfd05d9f589fc5a8ee9181900360800190a15b949350505050565b6000546001600160a01b0316331461057e5760405162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5cd95960a21b60448201526064016102ec565b6001600160a01b0381166105d45760405162461bcd60e51b815260206004820152600d60248201527f696e76616c696420696e7075740000000000000000000000000000000000000060448201526064016102ec565b600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040805182815260208101929092527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a150565b600080546001600160a01b031633146106915760405162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5cd95960a21b60448201526064016102ec565b60006001600160a01b0383166106fd576040514792506001600160a01b038516908390600081818185875af1925050503d80600081146106ed576040519150601f19603f3d011682016040523d82523d6000602084013e6106f2565b606091505b50508091505061082f565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a082319060240160206040518083038186803b15801561075557600080fd5b505afa158015610769573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078d9190611393565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152602482018390529193509084169063a9059cbb90604401602060405180830381600087803b1580156107f457600080fd5b505af1158015610808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082c9190611343565b90505b8061087c5760405162461bcd60e51b815260206004820152601160248201527f6661696c656420746f207265636f76657200000000000000000000000000000060448201526064016102ec565b5092915050565b6040517f5aca41f60000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301526000917f000000000000000000000000abea9132b05a70803a4e85094fd0e1800777fbef90911690635aca41f69060440160206040518083038186803b15801561090857600080fd5b505afa15801561091c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109409190611363565b90506fffffffffffffffffffffffffffffffff811615610a0e576040517fd514da500000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0383811660248301526fffffffffffffffffffffffffffffffff831660448301527f000000000000000000000000abea9132b05a70803a4e85094fd0e1800777fbef169063d514da50906064015b600060405180830381600087803b1580156109f557600080fd5b505af1158015610a09573d6000803e3d6000fd5b505050505b5050565b6040517f5e0d443f00000000000000000000000000000000000000000000000000000000815260006004820181905260016024830152604482018390529081906001600160a01b037f000000000000000000000000dc24316b9ae028f1497c275eb9192a3ea0f670221690635e0d443f9060640160206040518083038186803b158015610a9e57600080fd5b505afa158015610ab2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad69190611393565b9050600083821115610b9a57604051630f7c084960e21b8152600060048201526001602482018190526044820186905260648201527f000000000000000000000000dc24316b9ae028f1497c275eb9192a3ea0f670226001600160a01b031690633df021249086906084016020604051808303818588803b158015610b5a57600080fd5b505af1158015610b6e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b939190611393565b9050610c75565b6040517fa1903eab0000000000000000000000000000000000000000000000000000000081526001600160a01b037f000000000000000000000000ef8e1b4b676a5285db79d55d3288bc5fe65c71cc811660048301527f000000000000000000000000ae7ab96520de3a18e5e111b5eaab095312d7fe84169063a1903eab9086906024016020604051808303818588803b158015610c3757600080fd5b505af1158015610c4b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c709190611393565b508390505b60405163095ea7b360e01b81526001600160a01b037f0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca081166004830152602482018390527f000000000000000000000000ae7ab96520de3a18e5e111b5eaab095312d7fe84169063095ea7b390604401602060405180830381600087803b158015610cff57600080fd5b505af1158015610d13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d379190611343565b506040517fea598cb0000000000000000000000000000000000000000000000000000000008152600481018290527f0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca06001600160a01b03169063ea598cb0906024015b602060405180830381600087803b158015610db457600080fd5b505af1158015610dc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dec9190611393565b925050505b919050565b6001600160a01b038216610ebf576040517f2d2da8060000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000004d4c6545c17396bdfb7c635ca5c5361d00335aa2811660048301527f000000000000000000000000abea9132b05a70803a4e85094fd0e1800777fbef1690632d2da8069083906024016000604051808303818588803b158015610ea157600080fd5b505af1158015610eb5573d6000803e3d6000fd5b5050505050610a0e565b60405163095ea7b360e01b81526001600160a01b037f000000000000000000000000abea9132b05a70803a4e85094fd0e1800777fbef811660048301526024820183905283169063095ea7b390604401602060405180830381600087803b158015610f2957600080fd5b505af1158015610f3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f619190611343565b507f000000000000000000000000abea9132b05a70803a4e85094fd0e1800777fbef6001600160a01b031663e17376b583610f9b84611250565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b0392831660048201526cffffffffffffffffffffffffff90911660248201527f0000000000000000000000004d4c6545c17396bdfb7c635ca5c5361d00335aa29190911660448201526064016109db565b6040517fde0e9a3e0000000000000000000000000000000000000000000000000000000081526004810182905260009081906001600160a01b037f0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0169063de0e9a3e90602401602060405180830381600087803b15801561109f57600080fd5b505af11580156110b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d79190611393565b60405163095ea7b360e01b81526001600160a01b037f000000000000000000000000dc24316b9ae028f1497c275eb9192a3ea0f6702281166004830152602482018390529192506000917f000000000000000000000000ae7ab96520de3a18e5e111b5eaab095312d7fe84169063095ea7b390604401602060405180830381600087803b15801561116757600080fd5b505af115801561117b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119f9190611343565b9050806111ee5760405162461bcd60e51b815260206004820152600e60248201527f617070726f7665206661696c656400000000000000000000000000000000000060448201526064016102ec565b604051630f7c084960e21b8152600160048201819052600060248301526044820184905260648201527f000000000000000000000000dc24316b9ae028f1497c275eb9192a3ea0f670226001600160a01b031690633df0212490608401610d9a565b60006cffffffffffffffffffffffffff8211156112d55760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f303420626974730000000000000000000000000000000000000000000000000060648201526084016102ec565b5090565b80356001600160a01b0381168114610df157600080fd5b600060208284031215611301578081fd5b61130a826112d9565b9392505050565b60008060408385031215611323578081fd5b61132c836112d9565b915061133a602084016112d9565b90509250929050565b600060208284031215611354578081fd5b8151801515811461130a578182fd5b600060208284031215611374578081fd5b81516fffffffffffffffffffffffffffffffff8116811461130a578182fd5b6000602082840312156113a4578081fd5b5051919050565b600080600080608085870312156113c0578182fd5b5050823594602084013594506040840135936060013592509050565b60008219821115611414577f4e487b710000000000000000000000000000000000000000000000000000000081526011600452602481fd5b50019056fea26469706673582212204b344488effefb7e94a43c0fe29e95d7bf5e80c274be81d5a562f450bb76be2064736f6c63430008030033

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

000000000000000000000000abea9132b05a70803a4e85094fd0e1800777fbef0000000000000000000000004d4c6545c17396bdfb7c635ca5c5361d00335aa20000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0000000000000000000000000dc24316b9ae028f1497c275eb9192a3ea0f67022000000000000000000000000ef8e1b4b676a5285db79d55d3288bc5fe65c71cc

-----Decoded View---------------
Arg [0] : _zkSync (address): 0xaBEA9132b05A70803a4E85094fD0e1800777fBEF
Arg [1] : _l2Account (address): 0x4D4c6545C17396bDFB7c635Ca5C5361D00335aa2
Arg [2] : _wStEth (address): 0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0
Arg [3] : _stEthPool (address): 0xDC24316b9AE028F1497c275EB9192a3Ea0f67022
Arg [4] : _lidoReferral (address): 0xef8e1b4b676A5285db79d55d3288bC5FE65C71cc

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 000000000000000000000000abea9132b05a70803a4e85094fd0e1800777fbef
Arg [1] : 0000000000000000000000004d4c6545c17396bdfb7c635ca5c5361d00335aa2
Arg [2] : 0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0
Arg [3] : 000000000000000000000000dc24316b9ae028f1497c275eb9192a3ea0f67022
Arg [4] : 000000000000000000000000ef8e1b4b676a5285db79d55d3288bc5fe65c71cc


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  ]
[ 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.