ETH Price: $3,634.23 (-0.42%)
Gas: 8.54 Gwei
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Burn Scissors215059762024-12-29 5:15:597 days ago1735449359IN
0x50e88088...400cC1b04
0 ETH0.000265323.66659888
Burn Scissors214256252024-12-17 23:44:5919 days ago1734479099IN
0x50e88088...400cC1b04
0 ETH0.0009393212.1734055
Burn Scissors200491042024-06-08 19:09:47211 days ago1717873787IN
0x50e88088...400cC1b04
0 ETH0.0010993215.19206824
Burn Scissors200490072024-06-08 18:50:23211 days ago1717872623IN
0x50e88088...400cC1b04
0 ETH0.000762199.87786833
Burn Scissors199947082024-06-01 4:53:59218 days ago1717217639IN
0x50e88088...400cC1b04
0 ETH0.000488476.33047635
Burn Scissors199482052024-05-25 16:52:59225 days ago1716655979IN
0x50e88088...400cC1b04
0 ETH0.00052695.88971681
Burn Scissors199476002024-05-25 14:50:59225 days ago1716648659IN
0x50e88088...400cC1b04
0 ETH0.000543085.76144
Burn Scissors199437242024-05-25 1:50:35225 days ago1716601835IN
0x50e88088...400cC1b04
0 ETH0.000427134.77449614
Burn Scissors199436042024-05-25 1:26:35225 days ago1716600395IN
0x50e88088...400cC1b04
0 ETH0.000350894.54747491
Burn Scissors199432172024-05-25 0:08:11226 days ago1716595691IN
0x50e88088...400cC1b04
0 ETH0.000383354.96822731
Burn Scissors199429922024-05-24 23:22:47226 days ago1716592967IN
0x50e88088...400cC1b04
0 ETH0.00043964.91392716
Burn Scissors199429292024-05-24 23:10:11226 days ago1716592211IN
0x50e88088...400cC1b04
0 ETH0.000378495.23064265
Burn Scissors199429112024-05-24 23:06:23226 days ago1716591983IN
0x50e88088...400cC1b04
0 ETH0.00033814.67242861
Burn Scissors199426082024-05-24 22:05:47226 days ago1716588347IN
0x50e88088...400cC1b04
0 ETH0.000464566.42007319
Burn Scissors199425882024-05-24 22:01:35226 days ago1716588095IN
0x50e88088...400cC1b04
0 ETH0.00050797.01899988
Burn Scissors199370412024-05-24 3:25:23226 days ago1716521123IN
0x50e88088...400cC1b04
0 ETH0.000509717.04399485
Burn Scissors199335552024-05-23 15:44:11227 days ago1716479051IN
0x50e88088...400cC1b04
0 ETH0.0016689117.7050635
Burn Scissors198640472024-05-13 22:21:59237 days ago1715638919IN
0x50e88088...400cC1b04
0 ETH0.000380974.25848198
Burn Scissors198291142024-05-09 1:08:59241 days ago1715216939IN
0x50e88088...400cC1b04
0 ETH0.000327293.65842524
Burn Scissors197864552024-05-03 1:57:23247 days ago1714701443IN
0x50e88088...400cC1b04
0 ETH0.000542616.06533933
Burn Scissors197740232024-05-01 8:15:23249 days ago1714551323IN
0x50e88088...400cC1b04
0 ETH0.0014127215.79134043
Burn Scissors197716742024-05-01 0:22:59249 days ago1714522979IN
0x50e88088...400cC1b04
0 ETH0.000577236.45228856
Burn Scissors197652442024-04-30 2:49:23250 days ago1714445363IN
0x50e88088...400cC1b04
0 ETH0.000468716.47729887
Burn Scissors197486212024-04-27 19:01:23253 days ago1714244483IN
0x50e88088...400cC1b04
0 ETH0.000397155.14709239
Burn Scissors196787052024-04-18 0:16:11263 days ago1713399371IN
0x50e88088...400cC1b04
0 ETH0.000825848.76121099
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ScissorBurn

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

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

import {IERC1155Mintable} from "../interfaces/IERC1155Mintable.sol";
import {IERC1155Burnable} from "../interfaces/IERC1155Burnable.sol";
import {Ownable} from "solady/src/auth/Ownable.sol";

contract ScissorBurn is Ownable {
    error InvalidAmount();
    error Paused();

    uint256 public constant LOOT_TOKEN_ID = 10;
    uint256 public constant SCISSORS_TOKEN_ID = 5;
    IERC1155Burnable public constant NEXTENSIONS =
        IERC1155Burnable(0x232765be70a5f0B49E2D72Eee9765813894C1Fc4);
    IERC1155Mintable public immutable lootBox;

    bool public enabled;

    constructor(address lootBox_) {
        lootBox = IERC1155Mintable(lootBox_);

        _initializeOwner(tx.origin);
    }

    function burnScissors(uint256 quantity) external {
        if (!enabled) {
            revert Paused();
        }
        if (quantity == 0) {
            revert InvalidAmount();
        }

        NEXTENSIONS.burn(msg.sender, SCISSORS_TOKEN_ID, quantity);
        lootBox.mint(msg.sender, LOOT_TOKEN_ID, quantity);
    }

    function setEnabled(bool value) external onlyOwner {
        enabled = value;
    }
}

File 2 of 4 : IERC1155Mintable.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

interface IERC1155Mintable {
    function mint(address to, uint256 id, uint256 amount) external;
    function batchMint(address to, uint256[] memory ids, uint256[] memory amounts) external;
}

File 3 of 4 : IERC1155Burnable.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

interface IERC1155Burnable {
    function burn(address from, uint256 id, uint256 amount) external;
    function batchBurn(address from, uint256[] memory ids, uint256[] memory amounts) external;
}

File 4 of 4 : Ownable.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

/// @notice Simple single owner authorization mixin.
/// @author Solady (https://github.com/vectorized/solady/blob/main/src/auth/Ownable.sol)
///
/// @dev Note:
/// This implementation does NOT auto-initialize the owner to `msg.sender`.
/// You MUST call the `_initializeOwner` in the constructor / initializer.
///
/// While the ownable portion follows
/// [EIP-173](https://eips.ethereum.org/EIPS/eip-173) for compatibility,
/// the nomenclature for the 2-step ownership handover may be unique to this codebase.
abstract contract Ownable {
    /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/
    /*                       CUSTOM ERRORS                        */
    /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/

    /// @dev The caller is not authorized to call the function.
    error Unauthorized();

    /// @dev The `newOwner` cannot be the zero address.
    error NewOwnerIsZeroAddress();

    /// @dev The `pendingOwner` does not have a valid handover request.
    error NoHandoverRequest();

    /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/
    /*                           EVENTS                           */
    /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/

    /// @dev The ownership is transferred from `oldOwner` to `newOwner`.
    /// This event is intentionally kept the same as OpenZeppelin's Ownable to be
    /// compatible with indexers and [EIP-173](https://eips.ethereum.org/EIPS/eip-173),
    /// despite it not being as lightweight as a single argument event.
    event OwnershipTransferred(address indexed oldOwner, address indexed newOwner);

    /// @dev An ownership handover to `pendingOwner` has been requested.
    event OwnershipHandoverRequested(address indexed pendingOwner);

    /// @dev The ownership handover to `pendingOwner` has been canceled.
    event OwnershipHandoverCanceled(address indexed pendingOwner);

    /// @dev `keccak256(bytes("OwnershipTransferred(address,address)"))`.
    uint256 private constant _OWNERSHIP_TRANSFERRED_EVENT_SIGNATURE =
        0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0;

    /// @dev `keccak256(bytes("OwnershipHandoverRequested(address)"))`.
    uint256 private constant _OWNERSHIP_HANDOVER_REQUESTED_EVENT_SIGNATURE =
        0xdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d;

    /// @dev `keccak256(bytes("OwnershipHandoverCanceled(address)"))`.
    uint256 private constant _OWNERSHIP_HANDOVER_CANCELED_EVENT_SIGNATURE =
        0xfa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92;

    /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/
    /*                          STORAGE                           */
    /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/

    /// @dev The owner slot is given by: `not(_OWNER_SLOT_NOT)`.
    /// It is intentionally chosen to be a high value
    /// to avoid collision with lower slots.
    /// The choice of manual storage layout is to enable compatibility
    /// with both regular and upgradeable contracts.
    uint256 private constant _OWNER_SLOT_NOT = 0x8b78c6d8;

    /// The ownership handover slot of `newOwner` is given by:
    /// ```
    ///     mstore(0x00, or(shl(96, user), _HANDOVER_SLOT_SEED))
    ///     let handoverSlot := keccak256(0x00, 0x20)
    /// ```
    /// It stores the expiry timestamp of the two-step ownership handover.
    uint256 private constant _HANDOVER_SLOT_SEED = 0x389a75e1;

    /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/
    /*                     INTERNAL FUNCTIONS                     */
    /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/

    /// @dev Initializes the owner directly without authorization guard.
    /// This function must be called upon initialization,
    /// regardless of whether the contract is upgradeable or not.
    /// This is to enable generalization to both regular and upgradeable contracts,
    /// and to save gas in case the initial owner is not the caller.
    /// For performance reasons, this function will not check if there
    /// is an existing owner.
    function _initializeOwner(address newOwner) internal virtual {
        /// @solidity memory-safe-assembly
        assembly {
            // Clean the upper 96 bits.
            newOwner := shr(96, shl(96, newOwner))
            // Store the new value.
            sstore(not(_OWNER_SLOT_NOT), newOwner)
            // Emit the {OwnershipTransferred} event.
            log3(0, 0, _OWNERSHIP_TRANSFERRED_EVENT_SIGNATURE, 0, newOwner)
        }
    }

    /// @dev Sets the owner directly without authorization guard.
    function _setOwner(address newOwner) internal virtual {
        /// @solidity memory-safe-assembly
        assembly {
            let ownerSlot := not(_OWNER_SLOT_NOT)
            // Clean the upper 96 bits.
            newOwner := shr(96, shl(96, newOwner))
            // Emit the {OwnershipTransferred} event.
            log3(0, 0, _OWNERSHIP_TRANSFERRED_EVENT_SIGNATURE, sload(ownerSlot), newOwner)
            // Store the new value.
            sstore(ownerSlot, newOwner)
        }
    }

    /// @dev Throws if the sender is not the owner.
    function _checkOwner() internal view virtual {
        /// @solidity memory-safe-assembly
        assembly {
            // If the caller is not the stored owner, revert.
            if iszero(eq(caller(), sload(not(_OWNER_SLOT_NOT)))) {
                mstore(0x00, 0x82b42900) // `Unauthorized()`.
                revert(0x1c, 0x04)
            }
        }
    }

    /// @dev Returns how long a two-step ownership handover is valid for in seconds.
    /// Override to return a different value if needed.
    /// Made internal to conserve bytecode. Wrap it in a public function if needed.
    function _ownershipHandoverValidFor() internal view virtual returns (uint64) {
        return 48 * 3600;
    }

    /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/
    /*                  PUBLIC UPDATE FUNCTIONS                   */
    /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/

    /// @dev Allows the owner to transfer the ownership to `newOwner`.
    function transferOwnership(address newOwner) public payable virtual onlyOwner {
        /// @solidity memory-safe-assembly
        assembly {
            if iszero(shl(96, newOwner)) {
                mstore(0x00, 0x7448fbae) // `NewOwnerIsZeroAddress()`.
                revert(0x1c, 0x04)
            }
        }
        _setOwner(newOwner);
    }

    /// @dev Allows the owner to renounce their ownership.
    function renounceOwnership() public payable virtual onlyOwner {
        _setOwner(address(0));
    }

    /// @dev Request a two-step ownership handover to the caller.
    /// The request will automatically expire in 48 hours (172800 seconds) by default.
    function requestOwnershipHandover() public payable virtual {
        unchecked {
            uint256 expires = block.timestamp + _ownershipHandoverValidFor();
            /// @solidity memory-safe-assembly
            assembly {
                // Compute and set the handover slot to `expires`.
                mstore(0x0c, _HANDOVER_SLOT_SEED)
                mstore(0x00, caller())
                sstore(keccak256(0x0c, 0x20), expires)
                // Emit the {OwnershipHandoverRequested} event.
                log2(0, 0, _OWNERSHIP_HANDOVER_REQUESTED_EVENT_SIGNATURE, caller())
            }
        }
    }

    /// @dev Cancels the two-step ownership handover to the caller, if any.
    function cancelOwnershipHandover() public payable virtual {
        /// @solidity memory-safe-assembly
        assembly {
            // Compute and set the handover slot to 0.
            mstore(0x0c, _HANDOVER_SLOT_SEED)
            mstore(0x00, caller())
            sstore(keccak256(0x0c, 0x20), 0)
            // Emit the {OwnershipHandoverCanceled} event.
            log2(0, 0, _OWNERSHIP_HANDOVER_CANCELED_EVENT_SIGNATURE, caller())
        }
    }

    /// @dev Allows the owner to complete the two-step ownership handover to `pendingOwner`.
    /// Reverts if there is no existing ownership handover requested by `pendingOwner`.
    function completeOwnershipHandover(address pendingOwner) public payable virtual onlyOwner {
        /// @solidity memory-safe-assembly
        assembly {
            // Compute and set the handover slot to 0.
            mstore(0x0c, _HANDOVER_SLOT_SEED)
            mstore(0x00, pendingOwner)
            let handoverSlot := keccak256(0x0c, 0x20)
            // If the handover does not exist, or has expired.
            if gt(timestamp(), sload(handoverSlot)) {
                mstore(0x00, 0x6f5e8818) // `NoHandoverRequest()`.
                revert(0x1c, 0x04)
            }
            // Set the handover slot to 0.
            sstore(handoverSlot, 0)
        }
        _setOwner(pendingOwner);
    }

    /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/
    /*                   PUBLIC READ FUNCTIONS                    */
    /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/

    /// @dev Returns the owner of the contract.
    function owner() public view virtual returns (address result) {
        /// @solidity memory-safe-assembly
        assembly {
            result := sload(not(_OWNER_SLOT_NOT))
        }
    }

    /// @dev Returns the expiry timestamp for the two-step ownership handover to `pendingOwner`.
    function ownershipHandoverExpiresAt(address pendingOwner)
        public
        view
        virtual
        returns (uint256 result)
    {
        /// @solidity memory-safe-assembly
        assembly {
            // Compute the handover slot.
            mstore(0x0c, _HANDOVER_SLOT_SEED)
            mstore(0x00, pendingOwner)
            // Load the handover slot.
            result := sload(keccak256(0x0c, 0x20))
        }
    }

    /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/
    /*                         MODIFIERS                          */
    /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/

    /// @dev Marks a function as only callable by the owner.
    modifier onlyOwner() virtual {
        _checkOwner();
        _;
    }
}

Settings
{
  "remappings": [
    "ERC1155P/=lib/ERC1155P/contracts/",
    "closedsea/=lib/closedsea/src/",
    "ds-test/=lib/forge-std/lib/ds-test/src/",
    "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
    "erc721a-upgradeable/=lib/closedsea/lib/erc721a-upgradeable/contracts/",
    "erc721a/=lib/closedsea/lib/erc721a/contracts/",
    "forge-std/=lib/forge-std/src/",
    "openzeppelin-contracts-upgradeable/=lib/closedsea/lib/openzeppelin-contracts-upgradeable/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/",
    "openzeppelin/=lib/openzeppelin-contracts/contracts/",
    "operator-filter-registry/=lib/closedsea/lib/operator-filter-registry/",
    "solady/=lib/solady/",
    "solmate/=lib/solmate/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "paris",
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"lootBox_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"InvalidAmount","type":"error"},{"inputs":[],"name":"NewOwnerIsZeroAddress","type":"error"},{"inputs":[],"name":"NoHandoverRequest","type":"error"},{"inputs":[],"name":"Paused","type":"error"},{"inputs":[],"name":"Unauthorized","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pendingOwner","type":"address"}],"name":"OwnershipHandoverCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pendingOwner","type":"address"}],"name":"OwnershipHandoverRequested","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"LOOT_TOKEN_ID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"NEXTENSIONS","outputs":[{"internalType":"contract IERC1155Burnable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SCISSORS_TOKEN_ID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"quantity","type":"uint256"}],"name":"burnScissors","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cancelOwnershipHandover","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address"}],"name":"completeOwnershipHandover","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"enabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lootBox","outputs":[{"internalType":"contract IERC1155Mintable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"result","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address"}],"name":"ownershipHandoverExpiresAt","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"requestOwnershipHandover","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"setEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"payable","type":"function"}]

60a060405234801561001057600080fd5b506040516106be3803806106be83398101604081905261002f91610087565b6001600160a01b0381166080526100453261004b565b506100b7565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b60006020828403121561009957600080fd5b81516001600160a01b03811681146100b057600080fd5b9392505050565b6080516105e56100d9600039600081816101a001526103cb01526105e56000f3fe6080604052600436106100dd5760003560e01c806371fa49581161007f578063c772d25d11610059578063c772d25d14610208578063f04e283e14610230578063f2fde38b14610243578063fee81cf41461025657600080fd5b806371fa49581461018e5780638da5cb5b146101da578063bb7b5d2d146101f357600080fd5b8063328d8f72116100bb578063328d8f721461013e578063368fd9d71461015e57806354d1f13d1461017e578063715018a61461018657600080fd5b8063238dafe0146100e2578063256929621461011157806326d5fbbb1461011b575b600080fd5b3480156100ee57600080fd5b506000546100fc9060ff1681565b60405190151581526020015b60405180910390f35b610119610289565b005b34801561012757600080fd5b50610130600581565b604051908152602001610108565b34801561014a57600080fd5b50610119610159366004610544565b6102d9565b34801561016a57600080fd5b5061011961017936600461056d565b6102f4565b610119610434565b610119610470565b34801561019a57600080fd5b506101c27f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610108565b3480156101e657600080fd5b50638b78c6d819546101c2565b3480156101ff57600080fd5b50610130600a81565b34801561021457600080fd5b506101c273232765be70a5f0b49e2d72eee9765813894c1fc481565b61011961023e366004610586565b610484565b610119610251366004610586565b6104c4565b34801561026257600080fd5b50610130610271366004610586565b63389a75e1600c908152600091909152602090205490565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6102e16104eb565b6000805460ff1916911515919091179055565b60005460ff16610317576040516313d0ff5960e31b815260040160405180910390fd5b806000036103385760405163162908e360e11b815260040160405180910390fd5b604051637a94c56560e11b8152336004820152600560248201526044810182905273232765be70a5f0b49e2d72eee9765813894c1fc49063f5298aca90606401600060405180830381600087803b15801561039257600080fd5b505af11580156103a6573d6000803e3d6000fd5b5050604051630ab714fb60e11b8152336004820152600a6024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316925063156e29f69150606401600060405180830381600087803b15801561041957600080fd5b505af115801561042d573d6000803e3d6000fd5b5050505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b6104786104eb565b6104826000610506565b565b61048c6104eb565b63389a75e1600c52806000526020600c2080544211156104b457636f5e88186000526004601cfd5b600090556104c181610506565b50565b6104cc6104eb565b8060601b6104e257637448fbae6000526004601cfd5b6104c181610506565b638b78c6d819543314610482576382b429006000526004601cfd5b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60006020828403121561055657600080fd5b8135801515811461056657600080fd5b9392505050565b60006020828403121561057f57600080fd5b5035919050565b60006020828403121561059857600080fd5b81356001600160a01b038116811461056657600080fdfea26469706673582212209df7f53e41eb793af36ec29350ac65c1a7e83c8dc6e4d040e7a8ddd117cab74c64736f6c634300081400330000000000000000000000000074c3db008c00000020733a003f000a93ad00fd

Deployed Bytecode

0x6080604052600436106100dd5760003560e01c806371fa49581161007f578063c772d25d11610059578063c772d25d14610208578063f04e283e14610230578063f2fde38b14610243578063fee81cf41461025657600080fd5b806371fa49581461018e5780638da5cb5b146101da578063bb7b5d2d146101f357600080fd5b8063328d8f72116100bb578063328d8f721461013e578063368fd9d71461015e57806354d1f13d1461017e578063715018a61461018657600080fd5b8063238dafe0146100e2578063256929621461011157806326d5fbbb1461011b575b600080fd5b3480156100ee57600080fd5b506000546100fc9060ff1681565b60405190151581526020015b60405180910390f35b610119610289565b005b34801561012757600080fd5b50610130600581565b604051908152602001610108565b34801561014a57600080fd5b50610119610159366004610544565b6102d9565b34801561016a57600080fd5b5061011961017936600461056d565b6102f4565b610119610434565b610119610470565b34801561019a57600080fd5b506101c27f0000000000000000000000000074c3db008c00000020733a003f000a93ad00fd81565b6040516001600160a01b039091168152602001610108565b3480156101e657600080fd5b50638b78c6d819546101c2565b3480156101ff57600080fd5b50610130600a81565b34801561021457600080fd5b506101c273232765be70a5f0b49e2d72eee9765813894c1fc481565b61011961023e366004610586565b610484565b610119610251366004610586565b6104c4565b34801561026257600080fd5b50610130610271366004610586565b63389a75e1600c908152600091909152602090205490565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6102e16104eb565b6000805460ff1916911515919091179055565b60005460ff16610317576040516313d0ff5960e31b815260040160405180910390fd5b806000036103385760405163162908e360e11b815260040160405180910390fd5b604051637a94c56560e11b8152336004820152600560248201526044810182905273232765be70a5f0b49e2d72eee9765813894c1fc49063f5298aca90606401600060405180830381600087803b15801561039257600080fd5b505af11580156103a6573d6000803e3d6000fd5b5050604051630ab714fb60e11b8152336004820152600a6024820152604481018490527f0000000000000000000000000074c3db008c00000020733a003f000a93ad00fd6001600160a01b0316925063156e29f69150606401600060405180830381600087803b15801561041957600080fd5b505af115801561042d573d6000803e3d6000fd5b5050505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b6104786104eb565b6104826000610506565b565b61048c6104eb565b63389a75e1600c52806000526020600c2080544211156104b457636f5e88186000526004601cfd5b600090556104c181610506565b50565b6104cc6104eb565b8060601b6104e257637448fbae6000526004601cfd5b6104c181610506565b638b78c6d819543314610482576382b429006000526004601cfd5b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60006020828403121561055657600080fd5b8135801515811461056657600080fd5b9392505050565b60006020828403121561057f57600080fd5b5035919050565b60006020828403121561059857600080fd5b81356001600160a01b038116811461056657600080fdfea26469706673582212209df7f53e41eb793af36ec29350ac65c1a7e83c8dc6e4d040e7a8ddd117cab74c64736f6c63430008140033

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

0000000000000000000000000074c3db008c00000020733a003f000a93ad00fd

-----Decoded View---------------
Arg [0] : lootBox_ (address): 0x0074C3dB008c00000020733a003f000a93ad00Fd

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000074c3db008c00000020733a003f000a93ad00fd


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.