ETH Price: $2,656.66 (-0.20%)

Contract

0x80851C06d1d898e2843Dd216613b71Ba22F5Fa2B
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Single Consume208688342024-10-01 6:24:35132 days ago1727763875IN
0x80851C06...a22F5Fa2B
0 ETH0.0009139817.8749358
Single Consume208688222024-10-01 6:22:11132 days ago1727763731IN
0x80851C06...a22F5Fa2B
0 ETH0.0008592616.80487669
Single Consume200495412024-06-08 20:37:11246 days ago1717879031IN
0x80851C06...a22F5Fa2B
0 ETH0.000339566.64089021
Single Consume192317932024-02-15 7:18:47361 days ago1707981527IN
0x80851C06...a22F5Fa2B
0 ETH0.0011005221.52321543
Single Consume187179812023-12-05 5:12:11433 days ago1701753131IN
0x80851C06...a22F5Fa2B
0 ETH0.0021855842.74403212
Single Consume181678872023-09-19 5:30:35510 days ago1695101435IN
0x80851C06...a22F5Fa2B
0 ETH0.00037797.39067883
Single Consume181437842023-09-15 19:49:35513 days ago1694807375IN
0x80851C06...a22F5Fa2B
0 ETH0.0008976817.55617745
Single Consume181182792023-09-12 5:49:59517 days ago1694497799IN
0x80851C06...a22F5Fa2B
0 ETH0.000442828.66051316
Single Consume181099582023-09-11 1:53:11518 days ago1694397191IN
0x80851C06...a22F5Fa2B
0 ETH0.0005127510.02801615
Single Consume179146562023-08-14 17:43:35545 days ago1692035015IN
0x80851C06...a22F5Fa2B
0 ETH0.0020364639.82759931
Single Consume179115352023-08-14 7:16:47546 days ago1691997407IN
0x80851C06...a22F5Fa2B
0 ETH0.0005880111.49992646
Single Consume179115332023-08-14 7:16:23546 days ago1691997383IN
0x80851C06...a22F5Fa2B
0 ETH0.0006011511.75696181
Single Consume179115292023-08-14 7:15:35546 days ago1691997335IN
0x80851C06...a22F5Fa2B
0 ETH0.0005927211.59213391
Single Consume179115242023-08-14 7:14:35546 days ago1691997275IN
0x80851C06...a22F5Fa2B
0 ETH0.0005924211.58615673
Single Consume178597972023-08-07 1:31:35553 days ago1691371895IN
0x80851C06...a22F5Fa2B
0 ETH0.0008723317.06050496
Single Consume178434452023-08-04 18:36:47555 days ago1691174207IN
0x80851C06...a22F5Fa2B
0 ETH0.0012986725.39839875
Single Consume178434422023-08-04 18:36:11555 days ago1691174171IN
0x80851C06...a22F5Fa2B
0 ETH0.0011980223.43001943
Single Consume178246872023-08-02 3:40:11558 days ago1690947611IN
0x80851C06...a22F5Fa2B
0 ETH0.0007330215.82124573
Single Consume178219152023-08-01 18:22:59558 days ago1690914179IN
0x80851C06...a22F5Fa2B
0 ETH0.0015156529.64197436
Single Consume177957322023-07-29 2:31:35562 days ago1690597895IN
0x80851C06...a22F5Fa2B
0 ETH0.0008840717.28999699
Single Consume177259802023-07-19 8:14:35572 days ago1689754475IN
0x80851C06...a22F5Fa2B
0 ETH0.0009255418.10104699
Single Consume176879742023-07-13 23:54:23577 days ago1689292463IN
0x80851C06...a22F5Fa2B
0 ETH0.0013264325.9413669
Single Consume176824882023-07-13 5:22:59578 days ago1689225779IN
0x80851C06...a22F5Fa2B
0 ETH0.0007127913.94023552
Single Consume176736072023-07-11 23:23:23579 days ago1689117803IN
0x80851C06...a22F5Fa2B
0 ETH0.0007145213.97420402
Single Consume176341832023-07-06 10:21:59584 days ago1688638919IN
0x80851C06...a22F5Fa2B
0 ETH0.0012372424.19702926
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:
GobDropsConsume

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 2 : GobDropsConsume.sol
// SPDX-License-Identifier: UNLICENSED

pragma solidity ^0.8.17;

import "solmate/auth/Owned.sol";

interface IGobDrops {
  function transferFrom(address from, address to, uint256 id) external;
}

contract GobDropsConsume is Owned {

    address public gobDrops;

    address constant DEAD_ADDRESS = 0x000000000000000000000000000000000000dEaD;

    constructor(address gobDropsAddress) Owned(msg.sender) {
      gobDrops = gobDropsAddress;
    }

    /// @dev Emitted when multiple tokens are consumed.
    event BulkConsume(
        uint indexed gooeyTokenId,
        uint[] gobDropTokenIds,
        address indexed caller
    );

    /// @dev Emitted when a single token is consumed.
    event SingleConsume(
        uint indexed gooeyTokenId,
        uint indexed gobDropTokenId,
        address indexed caller
    );

    /// @notice Function to consume multiple gobDrops for a single gobbler.
    /// @param gooeyTokenId The tokenId of the gobbler to consume gobDrops for.
    /// @param gobDropTokenIds The tokenIds of the gobDrops to consume.
    function bulkConsume(
        uint gooeyTokenId,
        uint[] calldata gobDropTokenIds
    ) external {
        for (uint i = 0; i < gobDropTokenIds.length; i++) {
            IGobDrops(gobDrops).transferFrom(msg.sender, DEAD_ADDRESS, gobDropTokenIds[i]);
        }
        emit BulkConsume(gooeyTokenId, gobDropTokenIds, msg.sender);
    }

    /// @notice Function to consume a single gobDrop for a single gobbler.
    /// @param gooeyTokenId The tokenId of the gobbler to consume gobDrops for.
    /// @param gobDropTokenId The tokenId of the gobDrop to consume.
    function singleConsume(
        uint gooeyTokenId,
        uint gobDropTokenId
    ) external {
        IGobDrops(gobDrops).transferFrom(msg.sender, DEAD_ADDRESS, gobDropTokenId);
        emit SingleConsume(gooeyTokenId, gobDropTokenId, msg.sender);
    }

    /// @notice Owner function to update the Gob Drops contract address.
    /// @param _gobDrops The new Gob Drops address.
    function updateGobDrops(address _gobDrops) external onlyOwner {
        gobDrops = _gobDrops;
    }

}

File 2 of 2 : Owned.sol
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;

/// @notice Simple single owner authorization mixin.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Owned.sol)
abstract contract Owned {
    /*//////////////////////////////////////////////////////////////
                                 EVENTS
    //////////////////////////////////////////////////////////////*/

    event OwnershipTransferred(address indexed user, address indexed newOwner);

    /*//////////////////////////////////////////////////////////////
                            OWNERSHIP STORAGE
    //////////////////////////////////////////////////////////////*/

    address public owner;

    modifier onlyOwner() virtual {
        require(msg.sender == owner, "UNAUTHORIZED");

        _;
    }

    /*//////////////////////////////////////////////////////////////
                               CONSTRUCTOR
    //////////////////////////////////////////////////////////////*/

    constructor(address _owner) {
        owner = _owner;

        emit OwnershipTransferred(address(0), _owner);
    }

    /*//////////////////////////////////////////////////////////////
                             OWNERSHIP LOGIC
    //////////////////////////////////////////////////////////////*/

    function transferOwnership(address newOwner) public virtual onlyOwner {
        owner = newOwner;

        emit OwnershipTransferred(msg.sender, newOwner);
    }
}

Settings
{
  "remappings": [
    "ERC721A/=lib/ERC721A/contracts/",
    "ds-test/=lib/solmate/lib/ds-test/src/",
    "forge-std/=lib/forge-std/src/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/",
    "solady/=lib/solady/src/",
    "solmate/=lib/solmate/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "bytecodeHash": "ipfs"
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "london",
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"gobDropsAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"gooeyTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256[]","name":"gobDropTokenIds","type":"uint256[]"},{"indexed":true,"internalType":"address","name":"caller","type":"address"}],"name":"BulkConsume","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"gooeyTokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"gobDropTokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"caller","type":"address"}],"name":"SingleConsume","type":"event"},{"inputs":[{"internalType":"uint256","name":"gooeyTokenId","type":"uint256"},{"internalType":"uint256[]","name":"gobDropTokenIds","type":"uint256[]"}],"name":"bulkConsume","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gobDrops","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"gooeyTokenId","type":"uint256"},{"internalType":"uint256","name":"gobDropTokenId","type":"uint256"}],"name":"singleConsume","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_gobDrops","type":"address"}],"name":"updateGobDrops","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b506040516105e93803806105e983398101604081905261002f91610095565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600180546001600160a01b0319166001600160a01b03929092169190911790556100c5565b6000602082840312156100a757600080fd5b81516001600160a01b03811681146100be57600080fd5b9392505050565b610515806100d46000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806307de128e146100675780638da5cb5b1461009657806397dec692146100a9578063a3549f7b146100be578063a39dcbfb146100d1578063f2fde38b146100e4575b600080fd5b60015461007a906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b60005461007a906001600160a01b031681565b6100bc6100b7366004610398565b6100f7565b005b6100bc6100cc366004610417565b6101f5565b6100bc6100df366004610447565b610265565b6100bc6100f2366004610417565b610304565b60005b818110156101ab576001546001600160a01b03166323b872dd3361dead86868681811061012957610129610469565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b15801561018057600080fd5b505af1158015610194573d6000803e3d6000fd5b5050505080806101a39061047f565b9150506100fa565b50336001600160a01b0316837fdfb0fb5a2e8bf3c1a7fad500988a3134db7d056f251f41ad82f68bbc2451800784846040516101e89291906104a6565b60405180910390a3505050565b6000546001600160a01b031633146102435760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b60448201526064015b60405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546040516323b872dd60e01b815233600482015261dead6024820152604481018390526001600160a01b03909116906323b872dd90606401600060405180830381600087803b1580156102b957600080fd5b505af11580156102cd573d6000803e3d6000fd5b505060405133925083915084907f3cd3b5c4764b378958bea2fab1b93da78b8da831d59c5205625220eb9941200b90600090a45050565b6000546001600160a01b0316331461034d5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015260640161023a565b600080546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6000806000604084860312156103ad57600080fd5b83359250602084013567ffffffffffffffff808211156103cc57600080fd5b818601915086601f8301126103e057600080fd5b8135818111156103ef57600080fd5b8760208260051b850101111561040457600080fd5b6020830194508093505050509250925092565b60006020828403121561042957600080fd5b81356001600160a01b038116811461044057600080fd5b9392505050565b6000806040838503121561045a57600080fd5b50508035926020909101359150565b634e487b7160e01b600052603260045260246000fd5b60006001820161049f57634e487b7160e01b600052601160045260246000fd5b5060010190565b6020808252810182905260006001600160fb1b038311156104c657600080fd5b8260051b8085604085013791909101604001939250505056fea264697066735822122019471874e99c9923883cdbf57b2a72fd41e6a007da0e755cac558f9e78b655ac64736f6c63430008110033000000000000000000000000f2e4a7c71b0eaa1f515dc77e47d8925829520394

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100625760003560e01c806307de128e146100675780638da5cb5b1461009657806397dec692146100a9578063a3549f7b146100be578063a39dcbfb146100d1578063f2fde38b146100e4575b600080fd5b60015461007a906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b60005461007a906001600160a01b031681565b6100bc6100b7366004610398565b6100f7565b005b6100bc6100cc366004610417565b6101f5565b6100bc6100df366004610447565b610265565b6100bc6100f2366004610417565b610304565b60005b818110156101ab576001546001600160a01b03166323b872dd3361dead86868681811061012957610129610469565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b15801561018057600080fd5b505af1158015610194573d6000803e3d6000fd5b5050505080806101a39061047f565b9150506100fa565b50336001600160a01b0316837fdfb0fb5a2e8bf3c1a7fad500988a3134db7d056f251f41ad82f68bbc2451800784846040516101e89291906104a6565b60405180910390a3505050565b6000546001600160a01b031633146102435760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b60448201526064015b60405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546040516323b872dd60e01b815233600482015261dead6024820152604481018390526001600160a01b03909116906323b872dd90606401600060405180830381600087803b1580156102b957600080fd5b505af11580156102cd573d6000803e3d6000fd5b505060405133925083915084907f3cd3b5c4764b378958bea2fab1b93da78b8da831d59c5205625220eb9941200b90600090a45050565b6000546001600160a01b0316331461034d5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015260640161023a565b600080546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6000806000604084860312156103ad57600080fd5b83359250602084013567ffffffffffffffff808211156103cc57600080fd5b818601915086601f8301126103e057600080fd5b8135818111156103ef57600080fd5b8760208260051b850101111561040457600080fd5b6020830194508093505050509250925092565b60006020828403121561042957600080fd5b81356001600160a01b038116811461044057600080fd5b9392505050565b6000806040838503121561045a57600080fd5b50508035926020909101359150565b634e487b7160e01b600052603260045260246000fd5b60006001820161049f57634e487b7160e01b600052601160045260246000fd5b5060010190565b6020808252810182905260006001600160fb1b038311156104c657600080fd5b8260051b8085604085013791909101604001939250505056fea264697066735822122019471874e99c9923883cdbf57b2a72fd41e6a007da0e755cac558f9e78b655ac64736f6c63430008110033

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

000000000000000000000000f2e4a7c71b0eaa1f515dc77e47d8925829520394

-----Decoded View---------------
Arg [0] : gobDropsAddress (address): 0xf2e4A7C71B0Eaa1f515DC77E47d8925829520394

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000f2e4a7c71b0eaa1f515dc77e47d8925829520394


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.