MATIC Price: $0.613387 (+1.90%)
Gas: 30 GWei
 

Overview

MATIC Balance

Polygon PoS Chain LogoPolygon PoS Chain LogoPolygon PoS Chain Logo0 MATIC

MATIC Value

$0.00

Token Holdings

Transaction Hash
Method
Block
From
To
Value
Transfer578175492024-06-06 1:45:3110 days ago1717638331IN
0x: Exchange Proxy Flash Wallet
1 MATIC0.0006316530.00000005
Transfer574711262024-05-28 1:26:3219 days ago1716859592IN
0x: Exchange Proxy Flash Wallet
1 MATIC0.0006316530.00000004
Transfer574710512024-05-28 1:23:5219 days ago1716859432IN
0x: Exchange Proxy Flash Wallet
1 MATIC0.0006316530.00000004
Transfer570166712024-05-16 1:27:2931 days ago1715822849IN
0x: Exchange Proxy Flash Wallet
1 MATIC0.0006448730.62800034
Transfer568079712024-05-10 16:19:0436 days ago1715357944IN
0x: Exchange Proxy Flash Wallet
0.08061623 MATIC0.0013213762.75827443
Transfer564601182024-05-01 14:11:0645 days ago1714572666IN
0x: Exchange Proxy Flash Wallet
1 MATIC0.0018165986.27854392
Transfer564247672024-04-30 14:54:2946 days ago1714488869IN
0x: Exchange Proxy Flash Wallet
1 MATIC0.0027614131.15220468
Transfer564175492024-04-30 10:10:2746 days ago1714471827IN
0x: Exchange Proxy Flash Wallet
1 MATIC0.00440389209.16157351
Transfer562264242024-04-25 6:04:2052 days ago1714025060IN
0x: Exchange Proxy Flash Wallet
1 MATIC0.0018811189.342896
Transfer558127612024-04-14 12:52:4662 days ago1713099166IN
0x: Exchange Proxy Flash Wallet
1 MATIC0.00236035112.10415735
Transfer555640752024-04-07 21:49:5769 days ago1712526597IN
0x: Exchange Proxy Flash Wallet
5 MATIC0.0011754355.82674668
Transfer555354312024-04-07 4:12:5870 days ago1712463178IN
0x: Exchange Proxy Flash Wallet
1 MATIC0.0017162581.51317624
Transfer554656912024-04-05 8:11:4471 days ago1712304704IN
0x: Exchange Proxy Flash Wallet
1 MATIC0.0036864175.08460056
Transfer546406632024-03-14 7:57:5993 days ago1710403079IN
0x: Exchange Proxy Flash Wallet
1 MATIC0.00316697150.41419446
Transfer521217472024-01-09 12:28:24158 days ago1704803304IN
0x: Exchange Proxy Flash Wallet
0 MATIC0.0012190457.89804961
Transfer506122532023-12-01 12:13:26197 days ago1701432806IN
0x: Exchange Proxy Flash Wallet
4.84036864 MATIC0.0015792875.0077022
Transfer502169302023-11-21 15:23:10207 days ago1700580190IN
0x: Exchange Proxy Flash Wallet
338.95416827 MATIC0.00216152102.66108849
Transfer490989742023-10-24 15:14:52235 days ago1698160492IN
0x: Exchange Proxy Flash Wallet
0.59610497 MATIC0.00467199221.89467462
Transfer456353502023-07-28 21:51:05323 days ago1690581065IN
0x: Exchange Proxy Flash Wallet
5.42566964 MATIC0.00224724106.73234801
Transfer432084642023-05-27 11:49:37385 days ago1685188177IN
0x: Exchange Proxy Flash Wallet
0 MATIC0.0032258153.20869745
0x24686579425537452023-05-11 0:21:48402 days ago1683764508IN
0x: Exchange Proxy Flash Wallet
0 MATIC0.00461404203.60266321
0x24686579425531762023-05-11 0:01:21402 days ago1683763281IN
0x: Exchange Proxy Flash Wallet
0 MATIC0.00411214181.4555982
Transfer323163052022-08-25 18:52:44660 days ago1661453564IN
0x: Exchange Proxy Flash Wallet
0 MATIC0.000652731
Transfer303115862022-07-04 2:24:27713 days ago1656901467IN
0x: Exchange Proxy Flash Wallet
0.032398 MATIC0.0014134767.13265132
Transfer299277502022-06-24 1:53:21723 days ago1656035601IN
0x: Exchange Proxy Flash Wallet
0.0001 MATIC0.0012660
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To Value
582209422024-06-16 6:59:2948 secs ago1718521169
0x: Exchange Proxy Flash Wallet
0.03297373 MATIC
582209422024-06-16 6:59:2948 secs ago1718521169
0x: Exchange Proxy Flash Wallet
0.00028125 MATIC
582209422024-06-16 6:59:2948 secs ago1718521169
0x: Exchange Proxy Flash Wallet
0.03325499 MATIC
582209022024-06-16 6:58:052 mins ago1718521085
0x: Exchange Proxy Flash Wallet
10 MATIC
582209022024-06-16 6:58:052 mins ago1718521085
0x: Exchange Proxy Flash Wallet
10 MATIC
582208902024-06-16 6:57:392 mins ago1718521059
0x: Exchange Proxy Flash Wallet
10 MATIC
582208902024-06-16 6:57:392 mins ago1718521059
0x: Exchange Proxy Flash Wallet
10 MATIC
582208642024-06-16 6:56:453 mins ago1718521005
0x: Exchange Proxy Flash Wallet
9.7069313 MATIC
582208642024-06-16 6:56:453 mins ago1718521005
0x: Exchange Proxy Flash Wallet
0.01450925 MATIC
582208642024-06-16 6:56:453 mins ago1718521005
0x: Exchange Proxy Flash Wallet
9.72144055 MATIC
582208642024-06-16 6:56:453 mins ago1718521005
0x: Exchange Proxy Flash Wallet
8.5 MATIC
582208642024-06-16 6:56:453 mins ago1718521005
0x: Exchange Proxy Flash Wallet
8.5 MATIC
582208452024-06-16 6:56:034 mins ago1718520963
0x: Exchange Proxy Flash Wallet
0.00792 MATIC
582208452024-06-16 6:56:034 mins ago1718520963
0x: Exchange Proxy Flash Wallet
0.00792 MATIC
582208102024-06-16 6:54:495 mins ago1718520889
0x: Exchange Proxy Flash Wallet
1.65831 MATIC
582208102024-06-16 6:54:495 mins ago1718520889
0x: Exchange Proxy Flash Wallet
1.65831 MATIC
582207632024-06-16 6:53:097 mins ago1718520789
0x: Exchange Proxy Flash Wallet
32.383557 MATIC
582207632024-06-16 6:53:097 mins ago1718520789
0x: Exchange Proxy Flash Wallet
32.383557 MATIC
582207592024-06-16 6:53:017 mins ago1718520781
0x: Exchange Proxy Flash Wallet
3.22744168 MATIC
582207592024-06-16 6:53:017 mins ago1718520781
0x: Exchange Proxy Flash Wallet
3.22744168 MATIC
582207382024-06-16 6:52:178 mins ago1718520737
0x: Exchange Proxy Flash Wallet
35.685 MATIC
582207382024-06-16 6:52:178 mins ago1718520737
0x: Exchange Proxy Flash Wallet
35.685 MATIC
582207362024-06-16 6:52:138 mins ago1718520733
0x: Exchange Proxy Flash Wallet
0.00322907 MATIC
582207362024-06-16 6:52:138 mins ago1718520733
0x: Exchange Proxy Flash Wallet
0.00000316 MATIC
582207362024-06-16 6:52:138 mins ago1718520733
0x: Exchange Proxy Flash Wallet
0.00003165 MATIC
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FlashWallet

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 1000000 runs

Other Settings:
istanbul EvmVersion, Apache-2.0 license
File 1 of 6 : FlashWallet.sol
// SPDX-License-Identifier: Apache-2.0
/*
  Copyright 2023 ZeroEx Intl.
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at
    http://www.apache.org/licenses/LICENSE-2.0
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
*/

pragma solidity ^0.6.5;
pragma experimental ABIEncoderV2;

import "@0x/contracts-utils/contracts/src/v06/errors/LibRichErrorsV06.sol";
import "@0x/contracts-utils/contracts/src/v06/errors/LibOwnableRichErrorsV06.sol";
import "../errors/LibWalletRichErrors.sol";
import "./IFlashWallet.sol";

/// @dev A contract that can execute arbitrary calls from its owner.
contract FlashWallet is IFlashWallet {
    using LibRichErrorsV06 for bytes;

    /// @dev Store the owner/deployer as an immutable to make this contract stateless.
    address public immutable override owner;

    constructor() public {
        // The deployer is the owner.
        owner = msg.sender;
    }

    /// @dev Allows only the (immutable) owner to call a function.
    modifier onlyOwner() virtual {
        if (msg.sender != owner) {
            LibOwnableRichErrorsV06.OnlyOwnerError(msg.sender, owner).rrevert();
        }
        _;
    }

    /// @dev Execute an arbitrary call. Only an authority can call this.
    /// @param target The call target.
    /// @param callData The call data.
    /// @param value Ether to attach to the call.
    /// @return resultData The data returned by the call.
    function executeCall(
        address payable target,
        bytes calldata callData,
        uint256 value
    ) external payable override onlyOwner returns (bytes memory resultData) {
        bool success;
        (success, resultData) = target.call{value: value}(callData);
        if (!success) {
            LibWalletRichErrors
                .WalletExecuteCallFailedError(address(this), target, callData, value, resultData)
                .rrevert();
        }
    }

    /// @dev Execute an arbitrary delegatecall, in the context of this puppet.
    ///      Only an authority can call this.
    /// @param target The call target.
    /// @param callData The call data.
    /// @return resultData The data returned by the call.
    function executeDelegateCall(
        address payable target,
        bytes calldata callData
    ) external payable override onlyOwner returns (bytes memory resultData) {
        bool success;
        (success, resultData) = target.delegatecall(callData);
        if (!success) {
            LibWalletRichErrors
                .WalletExecuteDelegateCallFailedError(address(this), target, callData, resultData)
                .rrevert();
        }
    }

    /// @dev Allows this contract to receive ether.
    receive() external payable override {}

    /// @dev Signal support for receiving ERC1155 tokens.
    /// @param interfaceID The interface ID, as per ERC-165 rules.
    /// @return hasSupport `true` if this contract supports an ERC-165 interface.
    function supportsInterface(bytes4 interfaceID) external pure returns (bool hasSupport) {
        return
            interfaceID == this.supportsInterface.selector ||
            interfaceID == this.onERC1155Received.selector ^ this.onERC1155BatchReceived.selector ||
            interfaceID == this.tokenFallback.selector;
    }

    ///  @dev Allow this contract to receive ERC1155 tokens.
    ///  @return success  `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))`
    function onERC1155Received(
        address, // operator,
        address, // from,
        uint256, // id,
        uint256, // value,
        bytes calldata //data
    ) external pure returns (bytes4 success) {
        return this.onERC1155Received.selector;
    }

    ///  @dev Allow this contract to receive ERC1155 tokens.
    ///  @return success  `bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"))`
    function onERC1155BatchReceived(
        address, // operator,
        address, // from,
        uint256[] calldata, // ids,
        uint256[] calldata, // values,
        bytes calldata // data
    ) external pure returns (bytes4 success) {
        return this.onERC1155BatchReceived.selector;
    }

    /// @dev Allows this contract to receive ERC223 tokens.
    function tokenFallback(
        address, // from,
        uint256, // value,
        bytes calldata // value
    ) external pure {}
}

File 2 of 6 : LibRichErrorsV06.sol
// SPDX-License-Identifier: Apache-2.0
/*

  Copyright 2020 ZeroEx Intl.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/

pragma solidity ^0.6.5;

library LibRichErrorsV06 {
    // bytes4(keccak256("Error(string)"))
    bytes4 internal constant STANDARD_ERROR_SELECTOR = 0x08c379a0;

    /// @dev ABI encode a standard, string revert error payload.
    ///      This is the same payload that would be included by a `revert(string)`
    ///      solidity statement. It has the function signature `Error(string)`.
    /// @param message The error string.
    /// @return The ABI encoded error.
    function StandardError(string memory message) internal pure returns (bytes memory) {
        return abi.encodeWithSelector(STANDARD_ERROR_SELECTOR, bytes(message));
    }

    /// @dev Reverts an encoded rich revert reason `errorData`.
    /// @param errorData ABI encoded error data.
    function rrevert(bytes memory errorData) internal pure {
        assembly {
            revert(add(errorData, 0x20), mload(errorData))
        }
    }
}

File 3 of 6 : LibOwnableRichErrorsV06.sol
// SPDX-License-Identifier: Apache-2.0
/*

  Copyright 2020 ZeroEx Intl.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/
pragma solidity ^0.6.5;

library LibOwnableRichErrorsV06 {
    // bytes4(keccak256("OnlyOwnerError(address,address)"))
    bytes4 internal constant ONLY_OWNER_ERROR_SELECTOR = 0x1de45ad1;

    // bytes4(keccak256("TransferOwnerToZeroError()"))
    bytes internal constant TRANSFER_OWNER_TO_ZERO_ERROR_BYTES = hex"e69edc3e";

    function OnlyOwnerError(address sender, address owner) internal pure returns (bytes memory) {
        return abi.encodeWithSelector(ONLY_OWNER_ERROR_SELECTOR, sender, owner);
    }

    function TransferOwnerToZeroError() internal pure returns (bytes memory) {
        return TRANSFER_OWNER_TO_ZERO_ERROR_BYTES;
    }
}

File 4 of 6 : LibWalletRichErrors.sol
// SPDX-License-Identifier: Apache-2.0
/*
  Copyright 2023 ZeroEx Intl.
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at
    http://www.apache.org/licenses/LICENSE-2.0
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
*/

pragma solidity ^0.6.5;

library LibWalletRichErrors {
    function WalletExecuteCallFailedError(
        address wallet,
        address callTarget,
        bytes memory callData,
        uint256 callValue,
        bytes memory errorData
    ) internal pure returns (bytes memory) {
        return
            abi.encodeWithSelector(
                bytes4(keccak256("WalletExecuteCallFailedError(address,address,bytes,uint256,bytes)")),
                wallet,
                callTarget,
                callData,
                callValue,
                errorData
            );
    }

    function WalletExecuteDelegateCallFailedError(
        address wallet,
        address callTarget,
        bytes memory callData,
        bytes memory errorData
    ) internal pure returns (bytes memory) {
        return
            abi.encodeWithSelector(
                bytes4(keccak256("WalletExecuteDelegateCallFailedError(address,address,bytes,bytes)")),
                wallet,
                callTarget,
                callData,
                errorData
            );
    }
}

File 5 of 6 : IFlashWallet.sol
// SPDX-License-Identifier: Apache-2.0
/*
  Copyright 2023 ZeroEx Intl.
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at
    http://www.apache.org/licenses/LICENSE-2.0
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
*/

pragma solidity ^0.6.5;
pragma experimental ABIEncoderV2;

import "@0x/contracts-utils/contracts/src/v06/interfaces/IOwnableV06.sol";

/// @dev A contract that can execute arbitrary calls from its owner.
interface IFlashWallet {
    /// @dev Execute an arbitrary call. Only an authority can call this.
    /// @param target The call target.
    /// @param callData The call data.
    /// @param value Ether to attach to the call.
    /// @return resultData The data returned by the call.
    function executeCall(
        address payable target,
        bytes calldata callData,
        uint256 value
    ) external payable returns (bytes memory resultData);

    /// @dev Execute an arbitrary delegatecall, in the context of this puppet.
    ///      Only an authority can call this.
    /// @param target The call target.
    /// @param callData The call data.
    /// @return resultData The data returned by the call.
    function executeDelegateCall(
        address payable target,
        bytes calldata callData
    ) external payable returns (bytes memory resultData);

    /// @dev Allows the puppet to receive ETH.
    receive() external payable;

    /// @dev Fetch the immutable owner/deployer of this contract.
    /// @return owner_ The immutable owner/deployer/
    function owner() external view returns (address owner_);
}

File 6 of 6 : IOwnableV06.sol
// SPDX-License-Identifier: Apache-2.0
/*

  Copyright 2020 ZeroEx Intl.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/

pragma solidity ^0.6.5;

interface IOwnableV06 {
    /// @dev Emitted by Ownable when ownership is transferred.
    /// @param previousOwner The previous owner of the contract.
    /// @param newOwner The new owner of the contract.
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /// @dev Transfers ownership of the contract to a new address.
    /// @param newOwner The address that will become the owner.
    function transferOwnership(address newOwner) external;

    /// @dev The owner of this contract.
    /// @return ownerAddress The owner address.
    function owner() external view returns (address ownerAddress);
}

Settings
{
  "remappings": [
    "@0x/contracts-utils=/home/user/Documents/git-repos/0x/protocol/node_modules/@0x/contracts-utils",
    "@0x/contracts-erc20=/home/user/Documents/git-repos/0x/protocol/node_modules/@0x/contracts-erc20"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 1000000,
    "details": {
      "yul": true,
      "deduplicate": true,
      "cse": true,
      "constantOptimizer": true
    }
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "istanbul"
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address payable","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"executeCall","outputs":[{"internalType":"bytes","name":"resultData","type":"bytes"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address payable","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"name":"executeDelegateCall","outputs":[{"internalType":"bytes","name":"resultData","type":"bytes"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"success","type":"bytes4"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"success","type":"bytes4"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceID","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"hasSupport","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"tokenFallback","outputs":[],"stateMutability":"pure","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a060405234801561001057600080fd5b5033606081901b608052610c9b6100456000398061027952806102a7528061039952806103d552806104035250610c9b6000f3fe6080604052600436106100745760003560e01c8063b68df16d1161004e578063b68df16d146100f8578063bc197c811461010b578063c0ee0b8a14610138578063f23a6e611461015a5761007b565b806301ffc9a71461008057806354132d78146100b65780638da5cb5b146100d65761007b565b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610a3a565b61017a565b6040516100ad9190610bf5565b60405180910390f35b6100c96100c4366004610851565b61025f565b6040516100ad9190610c2d565b3480156100e257600080fd5b506100eb610397565b6040516100ad9190610afa565b6100c96101063660046107fe565b6103bb565b34801561011757600080fd5b5061012b6101263660046108ab565b6104e8565b6040516100ad9190610c00565b34801561014457600080fd5b506101586101533660046109e0565b610515565b005b34801561016657600080fd5b5061012b610175366004610966565b61051b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061020d57507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b8061025957507fffffffff0000000000000000000000000000000000000000000000000000000082167fc0ee0b8a00000000000000000000000000000000000000000000000000000000145b92915050565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146102d0576102d06102cb337f0000000000000000000000000000000000000000000000000000000000000000610546565b6105e8565b60008573ffffffffffffffffffffffffffffffffffffffff168386866040516102fa929190610aea565b60006040518083038185875af1925050503d8060008114610337576040519150601f19603f3d011682016040523d82523d6000602084013e61033c565b606091505b50925090508061038e5761038e6102cb308888888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a92508991506105f09050565b50949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610427576104276102cb337f0000000000000000000000000000000000000000000000000000000000000000610546565b60008473ffffffffffffffffffffffffffffffffffffffff168484604051610450929190610aea565b600060405180830381855af49150503d806000811461048b576040519150601f19603f3d011682016040523d82523d6000602084013e610490565b606091505b5092509050806104e0576104e06102cb308787878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508992506106b4915050565b509392505050565b7fbc197c810000000000000000000000000000000000000000000000000000000098975050505050505050565b50505050565b7ff23a6e61000000000000000000000000000000000000000000000000000000009695505050505050565b6060631de45ad160e01b8383604051602401610563929190610b1b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b805160208201fd5b60607f86945816f737646db7f2d6df01602a2212e8c75829f6940913724c13a83a8178868686868660405160240161062c959493929190610b98565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905095945050505050565b60607f61e5a7320b4cf56a2980a427f39e3071c967bf2f77fffcaae20e4467e160afcc858585856040516024016106ee9493929190610b42565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050949350505050565b60008083601f840112610786578182fd5b50813567ffffffffffffffff81111561079d578182fd5b60208301915083602080830285010111156107b757600080fd5b9250929050565b60008083601f8401126107cf578182fd5b50813567ffffffffffffffff8111156107e6578182fd5b6020830191508360208285010111156107b757600080fd5b600080600060408486031215610812578283fd5b833561081d81610c40565b9250602084013567ffffffffffffffff811115610838578283fd5b610844868287016107be565b9497909650939450505050565b60008060008060608587031215610866578081fd5b843561087181610c40565b9350602085013567ffffffffffffffff81111561088c578182fd5b610898878288016107be565b9598909750949560400135949350505050565b60008060008060008060008060a0898b0312156108c6578384fd5b88356108d181610c40565b975060208901356108e181610c40565b9650604089013567ffffffffffffffff808211156108fd578586fd5b6109098c838d01610775565b909850965060608b0135915080821115610921578586fd5b61092d8c838d01610775565b909650945060808b0135915080821115610945578384fd5b506109528b828c016107be565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561097e578182fd5b863561098981610c40565b9550602087013561099981610c40565b94506040870135935060608701359250608087013567ffffffffffffffff8111156109c2578283fd5b6109ce89828a016107be565b979a9699509497509295939492505050565b600080600080606085870312156109f5578384fd5b8435610a0081610c40565b935060208501359250604085013567ffffffffffffffff811115610a22578283fd5b610a2e878288016107be565b95989497509550505050565b600060208284031215610a4b578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610a7a578182fd5b9392505050565b60008151808452815b81811015610aa657602081850181015186830182015201610a8a565b81811115610ab75782602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000828483379101908152919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152610b7b6080830185610a81565b8281036060840152610b8d8185610a81565b979650505050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152610bd160a0830186610a81565b8460608401528281036080840152610be98185610a81565b98975050505050505050565b901515815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b600060208252610a7a6020830184610a81565b73ffffffffffffffffffffffffffffffffffffffff81168114610c6257600080fd5b5056fea264697066735822122018898f2f1ca1e06d39535fa8f845c8ab664e6398c34e149cd52b8819c9f2aacb64736f6c634300060c0033

Deployed Bytecode

0x6080604052600436106100745760003560e01c8063b68df16d1161004e578063b68df16d146100f8578063bc197c811461010b578063c0ee0b8a14610138578063f23a6e611461015a5761007b565b806301ffc9a71461008057806354132d78146100b65780638da5cb5b146100d65761007b565b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610a3a565b61017a565b6040516100ad9190610bf5565b60405180910390f35b6100c96100c4366004610851565b61025f565b6040516100ad9190610c2d565b3480156100e257600080fd5b506100eb610397565b6040516100ad9190610afa565b6100c96101063660046107fe565b6103bb565b34801561011757600080fd5b5061012b6101263660046108ab565b6104e8565b6040516100ad9190610c00565b34801561014457600080fd5b506101586101533660046109e0565b610515565b005b34801561016657600080fd5b5061012b610175366004610966565b61051b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061020d57507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b8061025957507fffffffff0000000000000000000000000000000000000000000000000000000082167fc0ee0b8a00000000000000000000000000000000000000000000000000000000145b92915050565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff16146102d0576102d06102cb337f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff610546565b6105e8565b60008573ffffffffffffffffffffffffffffffffffffffff168386866040516102fa929190610aea565b60006040518083038185875af1925050503d8060008114610337576040519150601f19603f3d011682016040523d82523d6000602084013e61033c565b606091505b50925090508061038e5761038e6102cb308888888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a92508991506105f09050565b50949350505050565b7f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff81565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff1614610427576104276102cb337f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff610546565b60008473ffffffffffffffffffffffffffffffffffffffff168484604051610450929190610aea565b600060405180830381855af49150503d806000811461048b576040519150601f19603f3d011682016040523d82523d6000602084013e610490565b606091505b5092509050806104e0576104e06102cb308787878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508992506106b4915050565b509392505050565b7fbc197c810000000000000000000000000000000000000000000000000000000098975050505050505050565b50505050565b7ff23a6e61000000000000000000000000000000000000000000000000000000009695505050505050565b6060631de45ad160e01b8383604051602401610563929190610b1b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b805160208201fd5b60607f86945816f737646db7f2d6df01602a2212e8c75829f6940913724c13a83a8178868686868660405160240161062c959493929190610b98565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905095945050505050565b60607f61e5a7320b4cf56a2980a427f39e3071c967bf2f77fffcaae20e4467e160afcc858585856040516024016106ee9493929190610b42565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050949350505050565b60008083601f840112610786578182fd5b50813567ffffffffffffffff81111561079d578182fd5b60208301915083602080830285010111156107b757600080fd5b9250929050565b60008083601f8401126107cf578182fd5b50813567ffffffffffffffff8111156107e6578182fd5b6020830191508360208285010111156107b757600080fd5b600080600060408486031215610812578283fd5b833561081d81610c40565b9250602084013567ffffffffffffffff811115610838578283fd5b610844868287016107be565b9497909650939450505050565b60008060008060608587031215610866578081fd5b843561087181610c40565b9350602085013567ffffffffffffffff81111561088c578182fd5b610898878288016107be565b9598909750949560400135949350505050565b60008060008060008060008060a0898b0312156108c6578384fd5b88356108d181610c40565b975060208901356108e181610c40565b9650604089013567ffffffffffffffff808211156108fd578586fd5b6109098c838d01610775565b909850965060608b0135915080821115610921578586fd5b61092d8c838d01610775565b909650945060808b0135915080821115610945578384fd5b506109528b828c016107be565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561097e578182fd5b863561098981610c40565b9550602087013561099981610c40565b94506040870135935060608701359250608087013567ffffffffffffffff8111156109c2578283fd5b6109ce89828a016107be565b979a9699509497509295939492505050565b600080600080606085870312156109f5578384fd5b8435610a0081610c40565b935060208501359250604085013567ffffffffffffffff811115610a22578283fd5b610a2e878288016107be565b95989497509550505050565b600060208284031215610a4b578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610a7a578182fd5b9392505050565b60008151808452815b81811015610aa657602081850181015186830182015201610a8a565b81811115610ab75782602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000828483379101908152919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152610b7b6080830185610a81565b8281036060840152610b8d8185610a81565b979650505050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152610bd160a0830186610a81565b8460608401528281036080840152610be98185610a81565b98975050505050505050565b901515815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b600060208252610a7a6020830184610a81565b73ffffffffffffffffffffffffffffffffffffffff81168114610c6257600080fd5b5056fea264697066735822122018898f2f1ca1e06d39535fa8f845c8ab664e6398c34e149cd52b8819c9f2aacb64736f6c634300060c0033

Block Transaction Gas Used Reward
view all blocks produced

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

Validator Index Block Amount
View All Withdrawals

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