ETH Price: $2,185.19 (-1.11%)
Gas: 0.62 Gwei

Contract

0xeB49bE5DF00F74bd240DE4535DDe6Bc89CEfb994
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00
Transaction Hash
Method
Block
From
To
Withdraw196156202024-04-09 4:10:59333 days ago1712635859IN
0xeB49bE5D...89CEfb994
0 ETH0.001593719.55568039
Deposit189699622024-01-09 14:20:23424 days ago1704810023IN
0xeB49bE5D...89CEfb994
0 ETH0.0071965720.7864827
Change Owner189031082023-12-31 4:33:11433 days ago1703997191IN
0xeB49bE5D...89CEfb994
0 ETH0.0002984810.64548984
Deposit186035492023-11-19 4:43:23475 days ago1700369003IN
0xeB49bE5D...89CEfb994
0 ETH0.0003537316.56369268
Deposit186034712023-11-19 4:26:59475 days ago1700368019IN
0xeB49bE5D...89CEfb994
0 ETH0.0003291515.41295474

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OneClickBond

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 1000000 runs

Other Settings:
paris EvmVersion
File 1 of 1 : OneClickBond.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.23;

interface IToken {
    /// @dev Gets the amount of tokens owned by a specified account.
    /// @param account Account address.
    /// @return Amount of tokens owned.
    function balanceOf(address account) external view returns (uint256);

    /// @dev Transfers the token amount.
    /// @param to Address to transfer to.
    /// @param amount The amount to transfer.
    /// @return True if the function execution is successful.
    function transfer(address to, uint256 amount) external returns (bool);

    /// @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
    /// @param spender Account address that will be able to transfer tokens on behalf of the caller.
    /// @param amount Token amount.
    /// @return True if the function execution is successful.
    function approve(address spender, uint256 amount) external returns (bool);

    /// @dev Transfers the token amount that was previously approved up until the maximum allowance.
    /// @param from Account address to transfer from.
    /// @param to Account address to transfer to.
    /// @param amount Amount to transfer to.
    /// @return True if the function execution is successful.
    function transferFrom(address from, address to, uint256 amount) external returns (bool);
}

// UniswapV2 router interface
interface IUniswapV2Router {
    /// @dev Swap exact tokens A for tokens B.
    function swapExactTokensForTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    /// @dev Add liquidity to the pool.
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountA, uint256 amountB, uint256 liquidity);
}

// Depository interface
interface IDepository {
    /// @dev Deposits tokens in exchange for a bond from a specified product.
    /// @param productId Product Id.
    /// @param tokenAmount Token amount to deposit for the bond.
    /// @return payout The amount of OLAS tokens due.
    /// @return maturity Timestamp for payout redemption.
    /// @return bondId Id of a newly created bond.
    function deposit(uint256 productId, uint256 tokenAmount) external
        returns (uint256 payout, uint256 maturity, uint256 bondId);

    /// @dev Redeems account bonds.
    /// @param bondIds Bond Ids to redeem.
    /// @return payout Total payout sent in OLAS tokens.
    function redeem(uint256[] memory bondIds) external returns (uint256 payout);
}

/// @dev Only `owner` has a privilege, but the `sender` was provided.
/// @param sender Sender address.
/// @param owner Required sender address as an owner.
error OwnerOnly(address sender, address owner);

/// @dev Provided zero address.
error ZeroAddress();

/// @dev Provided zero value.
error ZeroValue();

/// @title 1cb - Smart contract for one click bonding
/// @author Aleksandr Kuperman - <[email protected]>
/// @author Andrey Lebedev - <[email protected]>
contract OneClickBond {
    event OwnerUpdated(address indexed owner);
    event Deposit(address indexed owner, uint256 olasAmount, uint256 wethAmount, uint256 liquidity, uint256 wethLeft);
    event Withdraw(address indexed owner, uint256 olasAmount);

    // Owner address
    address public owner;

    // OLAS token contract address
    address public constant OLAS = 0x0001A500A6B18995B03f44bb040A5fFc28E45CB0;
    // Treasury contract address
    address public constant TREASURY = 0xa0DA53447C0f6C4987964d8463da7e6628B30f82;
    // Depository contract address
    address public constant DEPOSITORY = 0xfF8697d8d2998d6AA2e09B405795C6F4BEeB0C81;
    // UniswapV2 router address
    address public constant ROUTER = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    // WETH token address
    address public constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
    // LP token address
    address public constant PAIR = 0x09D1d767eDF8Fa23A64C51fa559E0688E526812F;

    /// @dev OneClickBond constructor.
    constructor() {
        owner = msg.sender;
    }

    /// @dev Changes the owner address.
    /// @param newOwner Address of a new owner.
    function changeOwner(address newOwner) external {
        // Check for the contract ownership
        if (msg.sender != owner) {
            revert OwnerOnly(msg.sender, owner);
        }

        // Check for the zero address
        if (newOwner == address(0)) {
            revert ZeroAddress();
        }

        owner = newOwner;
        emit OwnerUpdated(newOwner);
    }

    /// @dev Deposit OLAS to create OLAS-WETH LP and bond.
    /// @param amount OLAS amount.
    /// @param productId Bonding product Id.
    function deposit(uint256 amount, uint256 productId) external {
        // Check for the contract ownership
        if (msg.sender != owner) {
            revert OwnerOnly(msg.sender, owner);
        }

        // Check for the amount value
        if (amount < 2) {
            revert ZeroValue();
        }

        // Transfer tokens from the owner to this contract
        IToken(OLAS).transferFrom(msg.sender, address(this), amount);

        uint256 olasAmount = amount / 2;
        // Approve OLAS for the router
        IToken(OLAS).approve(ROUTER, amount);

        // Get the token path
        address[] memory path = new address[](2);
        path[0] = OLAS;
        path[1] = WETH;

        // Swap WETH to another token
        uint256[] memory swapAmounts = IUniswapV2Router(ROUTER).swapExactTokensForTokens(
            olasAmount,
            1,
            path,
            address(this),
            block.timestamp + 1000
        );

        // Get the amount of WETH received
        uint256 wethAmount = swapAmounts[1];

        // Approve WETH to the router
        IToken(WETH).approve(ROUTER, wethAmount);

        // Add liquidity
        (uint256 olasAmountLP, uint256 wethAmountLP, uint256 liquidity) = IUniswapV2Router(ROUTER).addLiquidity(
            OLAS,
            WETH,
            olasAmount,
            wethAmount,
            1,
            1,
            address(this),
            block.timestamp + 1000
        );


        if (liquidity == 0) {
            revert ZeroValue();
        }

        // Approve LP tokens for treasury
        IToken(PAIR).approve(TREASURY, liquidity);

        // Deposit liquidity into the bonding product
        IDepository(DEPOSITORY).deposit(productId, liquidity);

        // Transfer WETH leftovers back to the owner
        wethAmount -= wethAmountLP;
        if (wethAmount > 0) {
            IToken(WETH).transfer(msg.sender, wethAmount);
        }

        emit Deposit(msg.sender, olasAmountLP, wethAmountLP, liquidity, wethAmount);
    }

    /// @dev Withdraw OLAS (and WETH) from redeemed bonds.
    /// @param bondIds Bond Ids.
    function withdraw(uint256[] memory bondIds) external {
        // Check for the contract ownership
        if (msg.sender != owner) {
            revert OwnerOnly(msg.sender, owner);
        }

        // Redeem bonds
        IDepository(DEPOSITORY).redeem(bondIds);

        // Get OLAS balance
        uint256 olasAmount = IToken(OLAS).balanceOf(address(this));

        // Transfer OLAS back to the owner
        IToken(OLAS).transfer(msg.sender, olasAmount);

        emit Withdraw(msg.sender, olasAmount);
    }
}

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

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"OwnerOnly","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"inputs":[],"name":"ZeroValue","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"olasAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"wethAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"liquidity","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"wethLeft","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"OwnerUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"olasAmount","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[],"name":"DEPOSITORY","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"OLAS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAIR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ROUTER","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TREASURY","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WETH","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"productId","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"bondIds","type":"uint256[]"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50600080546001600160a01b031916331790556111c5806100326000396000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c8063a6f9dae111610076578063ad5c46481161005b578063ad5c4648146101a0578063df796f2c146101bb578063e2bbb158146101d557600080fd5b8063a6f9dae114610172578063ace3a8a71461018557600080fd5b806332fe7b26116100a757806332fe7b26146101225780638da5cb5b1461013d578063983d95ce1461015d57600080fd5b8063095bdbc8146100c35780632d2c556514610107575b600080fd5b6100de73ff8697d8d2998d6aa2e09b405795c6f4beeb0c8181565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100de73a0da53447c0f6c4987964d8463da7e6628b30f8281565b6100de737a250d5630b4cf539739df2c5dacb4c659f2488d81565b6000546100de9073ffffffffffffffffffffffffffffffffffffffff1681565b61017061016b366004610e15565b6101e8565b005b610170610180366004610eab565b610453565b6100de7309d1d767edf8fa23a64c51fa559e0688e526812f81565b6100de73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6100de7201a500a6b18995b03f44bb040a5ffc28e45cb081565b6101706101e3366004610ee8565b610580565b60005473ffffffffffffffffffffffffffffffffffffffff163314610260576000546040517fa43d6ada00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff90911660248201526044015b60405180910390fd5b6040517ff9afb26a00000000000000000000000000000000000000000000000000000000815273ff8697d8d2998d6aa2e09b405795c6f4beeb0c819063f9afb26a906102b0908490600401610f0a565b6020604051808303816000875af11580156102cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f39190610f4e565b506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000907201a500a6b18995b03f44bb040a5ffc28e45cb0906370a0823190602401602060405180830381865afa15801561035e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103829190610f4e565b6040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018290529091507201a500a6b18995b03f44bb040a5ffc28e45cb09063a9059cbb906044016020604051808303816000875af11580156103f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104199190610f67565b5060405181815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649060200160405180910390a25050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146104c6576000546040517fa43d6ada00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9091166024820152604401610257565b73ffffffffffffffffffffffffffffffffffffffff8116610513576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316908117825560405190917f4ffd725fc4a22075e9ec71c59edf9c38cdeb588a91b24fc5b61388c5be41282b91a250565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105f3576000546040517fa43d6ada00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9091166024820152604401610257565b600282101561062e576040517f7c946ed700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018390527201a500a6b18995b03f44bb040a5ffc28e45cb0906323b872dd906064016020604051808303816000875af11580156106a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c89190610f67565b5060006106d6600284610fb8565b6040517f095ea7b3000000000000000000000000000000000000000000000000000000008152737a250d5630b4cf539739df2c5dacb4c659f2488d6004820152602481018590529091507201a500a6b18995b03f44bb040a5ffc28e45cb09063095ea7b3906044016020604051808303816000875af115801561075d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107819190610f67565b506040805160028082526060820183526000926020830190803683370190505090507201a500a6b18995b03f44bb040a5ffc28e45cb0816000815181106107ca576107ca610ff3565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061082c5761082c610ff3565b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101526000737a250d5630b4cf539739df2c5dacb4c659f2488d6338ed1739846001853061087e426103e8611022565b6040518663ffffffff1660e01b815260040161089e95949392919061103b565b6000604051808303816000875af11580156108bd573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261090391908101906110c8565b905060008160018151811061091a5761091a610ff3565b60209081029190910101516040517f095ea7b3000000000000000000000000000000000000000000000000000000008152737a250d5630b4cf539739df2c5dacb4c659f2488d60048201526024810182905290915073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29063095ea7b3906044016020604051808303816000875af11580156109ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d19190610f67565b5060008080737a250d5630b4cf539739df2c5dacb4c659f2488d63e8e337007201a500a6b18995b03f44bb040a5ffc28e45cb073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28a8860018030610a2b426103e8611022565b60405160e08a901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff9889166004820152968816602488015260448701959095526064860193909352608485019190915260a484015290921660c482015260e4810191909152610104016060604051808303816000875af1158015610acc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af0919061114e565b92509250925080600003610b30576040517f7c946ed700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273a0da53447c0f6c4987964d8463da7e6628b30f826004820152602481018290527309d1d767edf8fa23a64c51fa559e0688e526812f9063095ea7b3906044016020604051808303816000875af1158015610bb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd99190610f67565b506040517fe2bbb158000000000000000000000000000000000000000000000000000000008152600481018990526024810182905273ff8697d8d2998d6aa2e09b405795c6f4beeb0c819063e2bbb158906044016060604051808303816000875af1158015610c4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c70919061114e565b5050508184610c7f919061117c565b93508315610d1e576040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810185905273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29063a9059cbb906044016020604051808303816000875af1158015610cf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1c9190610f67565b505b60408051848152602081018490529081018290526060810185905233907f7162984403f6c73c8639375d45a9187dfd04602231bd8e587c415718b5f7e5f99060800160405180910390a2505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610de957610de9610d73565b604052919050565b600067ffffffffffffffff821115610e0b57610e0b610d73565b5060051b60200190565b60006020808385031215610e2857600080fd5b823567ffffffffffffffff811115610e3f57600080fd5b8301601f81018513610e5057600080fd5b8035610e63610e5e82610df1565b610da2565b81815260059190911b82018301908381019087831115610e8257600080fd5b928401925b82841015610ea057833582529284019290840190610e87565b979650505050505050565b600060208284031215610ebd57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610ee157600080fd5b9392505050565b60008060408385031215610efb57600080fd5b50508035926020909101359150565b6020808252825182820181905260009190848201906040850190845b81811015610f4257835183529284019291840191600101610f26565b50909695505050505050565b600060208284031215610f6057600080fd5b5051919050565b600060208284031215610f7957600080fd5b81518015158114610ee157600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082610fee577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8082018082111561103557611035610f89565b92915050565b600060a08201878352602087602085015260a0604085015281875180845260c08601915060208901935060005b8181101561109a57845173ffffffffffffffffffffffffffffffffffffffff1683529383019391830191600101611068565b505073ffffffffffffffffffffffffffffffffffffffff969096166060850152505050608001529392505050565b600060208083850312156110db57600080fd5b825167ffffffffffffffff8111156110f257600080fd5b8301601f8101851361110357600080fd5b8051611111610e5e82610df1565b81815260059190911b8201830190838101908783111561113057600080fd5b928401925b82841015610ea057835182529284019290840190611135565b60008060006060848603121561116357600080fd5b8351925060208401519150604084015190509250925092565b8181038181111561103557611035610f8956fea2646970667358221220cbfd8fe6d7e87051c7c60cf704c479da11e5e0aa58a453b470424c6d78d2178d64736f6c63430008170033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100be5760003560e01c8063a6f9dae111610076578063ad5c46481161005b578063ad5c4648146101a0578063df796f2c146101bb578063e2bbb158146101d557600080fd5b8063a6f9dae114610172578063ace3a8a71461018557600080fd5b806332fe7b26116100a757806332fe7b26146101225780638da5cb5b1461013d578063983d95ce1461015d57600080fd5b8063095bdbc8146100c35780632d2c556514610107575b600080fd5b6100de73ff8697d8d2998d6aa2e09b405795c6f4beeb0c8181565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100de73a0da53447c0f6c4987964d8463da7e6628b30f8281565b6100de737a250d5630b4cf539739df2c5dacb4c659f2488d81565b6000546100de9073ffffffffffffffffffffffffffffffffffffffff1681565b61017061016b366004610e15565b6101e8565b005b610170610180366004610eab565b610453565b6100de7309d1d767edf8fa23a64c51fa559e0688e526812f81565b6100de73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6100de7201a500a6b18995b03f44bb040a5ffc28e45cb081565b6101706101e3366004610ee8565b610580565b60005473ffffffffffffffffffffffffffffffffffffffff163314610260576000546040517fa43d6ada00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff90911660248201526044015b60405180910390fd5b6040517ff9afb26a00000000000000000000000000000000000000000000000000000000815273ff8697d8d2998d6aa2e09b405795c6f4beeb0c819063f9afb26a906102b0908490600401610f0a565b6020604051808303816000875af11580156102cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f39190610f4e565b506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000907201a500a6b18995b03f44bb040a5ffc28e45cb0906370a0823190602401602060405180830381865afa15801561035e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103829190610f4e565b6040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018290529091507201a500a6b18995b03f44bb040a5ffc28e45cb09063a9059cbb906044016020604051808303816000875af11580156103f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104199190610f67565b5060405181815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649060200160405180910390a25050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146104c6576000546040517fa43d6ada00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9091166024820152604401610257565b73ffffffffffffffffffffffffffffffffffffffff8116610513576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316908117825560405190917f4ffd725fc4a22075e9ec71c59edf9c38cdeb588a91b24fc5b61388c5be41282b91a250565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105f3576000546040517fa43d6ada00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9091166024820152604401610257565b600282101561062e576040517f7c946ed700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018390527201a500a6b18995b03f44bb040a5ffc28e45cb0906323b872dd906064016020604051808303816000875af11580156106a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c89190610f67565b5060006106d6600284610fb8565b6040517f095ea7b3000000000000000000000000000000000000000000000000000000008152737a250d5630b4cf539739df2c5dacb4c659f2488d6004820152602481018590529091507201a500a6b18995b03f44bb040a5ffc28e45cb09063095ea7b3906044016020604051808303816000875af115801561075d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107819190610f67565b506040805160028082526060820183526000926020830190803683370190505090507201a500a6b18995b03f44bb040a5ffc28e45cb0816000815181106107ca576107ca610ff3565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061082c5761082c610ff3565b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101526000737a250d5630b4cf539739df2c5dacb4c659f2488d6338ed1739846001853061087e426103e8611022565b6040518663ffffffff1660e01b815260040161089e95949392919061103b565b6000604051808303816000875af11580156108bd573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261090391908101906110c8565b905060008160018151811061091a5761091a610ff3565b60209081029190910101516040517f095ea7b3000000000000000000000000000000000000000000000000000000008152737a250d5630b4cf539739df2c5dacb4c659f2488d60048201526024810182905290915073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29063095ea7b3906044016020604051808303816000875af11580156109ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d19190610f67565b5060008080737a250d5630b4cf539739df2c5dacb4c659f2488d63e8e337007201a500a6b18995b03f44bb040a5ffc28e45cb073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28a8860018030610a2b426103e8611022565b60405160e08a901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff9889166004820152968816602488015260448701959095526064860193909352608485019190915260a484015290921660c482015260e4810191909152610104016060604051808303816000875af1158015610acc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af0919061114e565b92509250925080600003610b30576040517f7c946ed700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273a0da53447c0f6c4987964d8463da7e6628b30f826004820152602481018290527309d1d767edf8fa23a64c51fa559e0688e526812f9063095ea7b3906044016020604051808303816000875af1158015610bb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd99190610f67565b506040517fe2bbb158000000000000000000000000000000000000000000000000000000008152600481018990526024810182905273ff8697d8d2998d6aa2e09b405795c6f4beeb0c819063e2bbb158906044016060604051808303816000875af1158015610c4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c70919061114e565b5050508184610c7f919061117c565b93508315610d1e576040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810185905273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29063a9059cbb906044016020604051808303816000875af1158015610cf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1c9190610f67565b505b60408051848152602081018490529081018290526060810185905233907f7162984403f6c73c8639375d45a9187dfd04602231bd8e587c415718b5f7e5f99060800160405180910390a2505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610de957610de9610d73565b604052919050565b600067ffffffffffffffff821115610e0b57610e0b610d73565b5060051b60200190565b60006020808385031215610e2857600080fd5b823567ffffffffffffffff811115610e3f57600080fd5b8301601f81018513610e5057600080fd5b8035610e63610e5e82610df1565b610da2565b81815260059190911b82018301908381019087831115610e8257600080fd5b928401925b82841015610ea057833582529284019290840190610e87565b979650505050505050565b600060208284031215610ebd57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610ee157600080fd5b9392505050565b60008060408385031215610efb57600080fd5b50508035926020909101359150565b6020808252825182820181905260009190848201906040850190845b81811015610f4257835183529284019291840191600101610f26565b50909695505050505050565b600060208284031215610f6057600080fd5b5051919050565b600060208284031215610f7957600080fd5b81518015158114610ee157600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082610fee577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8082018082111561103557611035610f89565b92915050565b600060a08201878352602087602085015260a0604085015281875180845260c08601915060208901935060005b8181101561109a57845173ffffffffffffffffffffffffffffffffffffffff1683529383019391830191600101611068565b505073ffffffffffffffffffffffffffffffffffffffff969096166060850152505050608001529392505050565b600060208083850312156110db57600080fd5b825167ffffffffffffffff8111156110f257600080fd5b8301601f8101851361110357600080fd5b8051611111610e5e82610df1565b81815260059190911b8201830190838101908783111561113057600080fd5b928401925b82841015610ea057835182529284019290840190611135565b60008060006060848603121561116357600080fd5b8351925060208401519150604084015190509250925092565b8181038181111561103557611035610f8956fea2646970667358221220cbfd8fe6d7e87051c7c60cf704c479da11e5e0aa58a453b470424c6d78d2178d64736f6c63430008170033

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.