ETH Price: $2,370.85 (+6.21%)
Gas: 0.72 Gwei

Contract

0xA87709Fa414310af99B178cE5aE71C4870024B75
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw219563602025-03-02 3:00:1133 hrs ago1740884411IN
0xA87709Fa...870024B75
0 ETH0.000168321.17574838
Deposit219244332025-02-25 16:07:355 days ago1740499655IN
0xA87709Fa...870024B75
0 ETH0.000952636.74375826
Withdraw218835042025-02-19 22:49:3511 days ago1740005375IN
0xA87709Fa...870024B75
0 ETH0.000171381.19714433
Deposit218835022025-02-19 22:49:1111 days ago1740005351IN
0xA87709Fa...870024B75
0 ETH0.000161241.18174909
Withdraw218727602025-02-18 10:48:2313 days ago1739875703IN
0xA87709Fa...870024B75
0 ETH0.000216261.51058823
Deposit218580622025-02-16 9:26:5915 days ago1739698019IN
0xA87709Fa...870024B75
0 ETH0.000142231.19162687
Withdraw218160842025-02-10 12:21:1121 days ago1739190071IN
0xA87709Fa...870024B75
0 ETH0.000197591.56741801
Withdraw218021232025-02-08 13:34:2322 days ago1739021663IN
0xA87709Fa...870024B75
0 ETH0.000173661.37758764
Withdraw217644642025-02-03 7:22:4728 days ago1738567367IN
0xA87709Fa...870024B75
0 ETH0.0019500813.1794607
Deposit217131782025-01-27 3:29:4735 days ago1737948587IN
0xA87709Fa...870024B75
0 ETH0.000852596.2479264
Deposit216911402025-01-24 1:41:3538 days ago1737682895IN
0xA87709Fa...870024B75
0 ETH0.000810515.36548121
Withdraw216850282025-01-23 5:13:4739 days ago1737609227IN
0xA87709Fa...870024B75
0 ETH0.00082145.5513983
Withdraw216839442025-01-23 1:35:1139 days ago1737596111IN
0xA87709Fa...870024B75
0 ETH0.000968277.68084144
Withdraw216561312025-01-19 4:25:2343 days ago1737260723IN
0xA87709Fa...870024B75
0 ETH0.0016378312.51552131
Withdraw216560462025-01-19 4:08:1143 days ago1737259691IN
0xA87709Fa...870024B75
0 ETH0.0015605610.90053572
Deposit216560442025-01-19 4:07:4743 days ago1737259667IN
0xA87709Fa...870024B75
0 ETH0.001394910.56013229
Deposit216495972025-01-18 6:32:1144 days ago1737181931IN
0xA87709Fa...870024B75
0 ETH0.0029395720.80956378
Withdraw216304792025-01-15 14:28:2346 days ago1736951303IN
0xA87709Fa...870024B75
0 ETH0.0026009118.16735422
Deposit216177822025-01-13 19:53:5948 days ago1736798039IN
0xA87709Fa...870024B75
0 ETH0.000761685.39206117
Withdraw215615102025-01-05 23:20:1156 days ago1736119211IN
0xA87709Fa...870024B75
0 ETH0.001414169.55749434
Withdraw215603262025-01-05 19:19:5956 days ago1736104799IN
0xA87709Fa...870024B75
0 ETH0.0014587410.18932142
Deposit215603242025-01-05 19:19:3556 days ago1736104775IN
0xA87709Fa...870024B75
0 ETH0.001313499.94377465
Withdraw215533182025-01-04 19:50:5957 days ago1736020259IN
0xA87709Fa...870024B75
0 ETH0.000931776.50846553
Deposit215533172025-01-04 19:50:4757 days ago1736020247IN
0xA87709Fa...870024B75
0 ETH0.000826226.25495703
Withdraw215352612025-01-02 7:22:1160 days ago1735802531IN
0xA87709Fa...870024B75
0 ETH0.0018593312.987419
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:
BAYCExchange

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

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

import {ERC721} from "solmate/tokens/ERC721.sol";
import "./BAYC.sol";

contract BAYCExchange {
    uint256 public constant PRICE = 100_000_000e18; // 100m BAYC coin

    /// @notice The BAYC memecoin contract
    BAYC public immutable BAYCMemecoin;

    /// @notice The BAYC NFT contract
    ERC721 public immutable BAYCNFT;

    /// @notice Event emitted when an NFT is deposited
    /// @param user The address of the user
    /// @param tokenIds The IDs of the NFT
    event Deposit(address indexed user, uint256[] tokenIds);

    /// @notice Event emitted when an NFT is withdrawn
    /// @param user The address of the user
    /// @param tokenIds The IDs of the NFT
    event Withdraw(address indexed user, uint256[] tokenIds);

    /// @notice Constructor to initialize the contract
    /// @param _BAYCMemecoin The address of the BAYC memecoin contract
    /// @param _BAYCNFT The address of the BAYC NFT contract
    constructor(address _BAYCMemecoin, address _BAYCNFT) {
        BAYCMemecoin = BAYC(_BAYCMemecoin);
        BAYCNFT = ERC721(_BAYCNFT);
    }

    /// @notice Deposits a list of NFTs and mints BAYC memecoin
    /// @param tokenIds The IDs of the NFTs to deposit
    function deposit(uint256[] memory tokenIds) public {
        for (uint256 i = 0; i < tokenIds.length;) {
            uint256 tokenId = tokenIds[i];
            BAYCNFT.transferFrom(msg.sender, address(this), tokenId);

            unchecked {
                i++;
            }
        }

        uint256 amount = tokenIds.length * PRICE;
        BAYCMemecoin.mint(msg.sender, amount);

        emit Deposit(msg.sender, tokenIds);
    }

    /// @notice Withdraws a list of NFTs and burns BAYC memecoin
    /// @param tokenIds The ID of the NFT to withdraw
    function withdraw(uint256[] memory tokenIds) public {
        for (uint256 i = 0; i < tokenIds.length;) {
            uint256 tokenId = tokenIds[i];
            BAYCNFT.transferFrom(address(this), msg.sender, tokenId);

            unchecked {
                i++;
            }
        }

        uint256 amount = tokenIds.length * PRICE;
        BAYCMemecoin.burn(msg.sender, amount);

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

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

/// @notice Modern, minimalist, and gas efficient ERC-721 implementation.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC721.sol)
abstract contract ERC721 {
    /*//////////////////////////////////////////////////////////////
                                 EVENTS
    //////////////////////////////////////////////////////////////*/

    event Transfer(address indexed from, address indexed to, uint256 indexed id);

    event Approval(address indexed owner, address indexed spender, uint256 indexed id);

    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);

    /*//////////////////////////////////////////////////////////////
                         METADATA STORAGE/LOGIC
    //////////////////////////////////////////////////////////////*/

    string public name;

    string public symbol;

    function tokenURI(uint256 id) public view virtual returns (string memory);

    /*//////////////////////////////////////////////////////////////
                      ERC721 BALANCE/OWNER STORAGE
    //////////////////////////////////////////////////////////////*/

    mapping(uint256 => address) internal _ownerOf;

    mapping(address => uint256) internal _balanceOf;

    function ownerOf(uint256 id) public view virtual returns (address owner) {
        require((owner = _ownerOf[id]) != address(0), "NOT_MINTED");
    }

    function balanceOf(address owner) public view virtual returns (uint256) {
        require(owner != address(0), "ZERO_ADDRESS");

        return _balanceOf[owner];
    }

    /*//////////////////////////////////////////////////////////////
                         ERC721 APPROVAL STORAGE
    //////////////////////////////////////////////////////////////*/

    mapping(uint256 => address) public getApproved;

    mapping(address => mapping(address => bool)) public isApprovedForAll;

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

    constructor(string memory _name, string memory _symbol) {
        name = _name;
        symbol = _symbol;
    }

    /*//////////////////////////////////////////////////////////////
                              ERC721 LOGIC
    //////////////////////////////////////////////////////////////*/

    function approve(address spender, uint256 id) public virtual {
        address owner = _ownerOf[id];

        require(msg.sender == owner || isApprovedForAll[owner][msg.sender], "NOT_AUTHORIZED");

        getApproved[id] = spender;

        emit Approval(owner, spender, id);
    }

    function setApprovalForAll(address operator, bool approved) public virtual {
        isApprovedForAll[msg.sender][operator] = approved;

        emit ApprovalForAll(msg.sender, operator, approved);
    }

    function transferFrom(
        address from,
        address to,
        uint256 id
    ) public virtual {
        require(from == _ownerOf[id], "WRONG_FROM");

        require(to != address(0), "INVALID_RECIPIENT");

        require(
            msg.sender == from || isApprovedForAll[from][msg.sender] || msg.sender == getApproved[id],
            "NOT_AUTHORIZED"
        );

        // Underflow of the sender's balance is impossible because we check for
        // ownership above and the recipient's balance can't realistically overflow.
        unchecked {
            _balanceOf[from]--;

            _balanceOf[to]++;
        }

        _ownerOf[id] = to;

        delete getApproved[id];

        emit Transfer(from, to, id);
    }

    function safeTransferFrom(
        address from,
        address to,
        uint256 id
    ) public virtual {
        transferFrom(from, to, id);

        require(
            to.code.length == 0 ||
                ERC721TokenReceiver(to).onERC721Received(msg.sender, from, id, "") ==
                ERC721TokenReceiver.onERC721Received.selector,
            "UNSAFE_RECIPIENT"
        );
    }

    function safeTransferFrom(
        address from,
        address to,
        uint256 id,
        bytes calldata data
    ) public virtual {
        transferFrom(from, to, id);

        require(
            to.code.length == 0 ||
                ERC721TokenReceiver(to).onERC721Received(msg.sender, from, id, data) ==
                ERC721TokenReceiver.onERC721Received.selector,
            "UNSAFE_RECIPIENT"
        );
    }

    /*//////////////////////////////////////////////////////////////
                              ERC165 LOGIC
    //////////////////////////////////////////////////////////////*/

    function supportsInterface(bytes4 interfaceId) public view virtual returns (bool) {
        return
            interfaceId == 0x01ffc9a7 || // ERC165 Interface ID for ERC165
            interfaceId == 0x80ac58cd || // ERC165 Interface ID for ERC721
            interfaceId == 0x5b5e139f; // ERC165 Interface ID for ERC721Metadata
    }

    /*//////////////////////////////////////////////////////////////
                        INTERNAL MINT/BURN LOGIC
    //////////////////////////////////////////////////////////////*/

    function _mint(address to, uint256 id) internal virtual {
        require(to != address(0), "INVALID_RECIPIENT");

        require(_ownerOf[id] == address(0), "ALREADY_MINTED");

        // Counter overflow is incredibly unrealistic.
        unchecked {
            _balanceOf[to]++;
        }

        _ownerOf[id] = to;

        emit Transfer(address(0), to, id);
    }

    function _burn(uint256 id) internal virtual {
        address owner = _ownerOf[id];

        require(owner != address(0), "NOT_MINTED");

        // Ownership check above ensures no underflow.
        unchecked {
            _balanceOf[owner]--;
        }

        delete _ownerOf[id];

        delete getApproved[id];

        emit Transfer(owner, address(0), id);
    }

    /*//////////////////////////////////////////////////////////////
                        INTERNAL SAFE MINT LOGIC
    //////////////////////////////////////////////////////////////*/

    function _safeMint(address to, uint256 id) internal virtual {
        _mint(to, id);

        require(
            to.code.length == 0 ||
                ERC721TokenReceiver(to).onERC721Received(msg.sender, address(0), id, "") ==
                ERC721TokenReceiver.onERC721Received.selector,
            "UNSAFE_RECIPIENT"
        );
    }

    function _safeMint(
        address to,
        uint256 id,
        bytes memory data
    ) internal virtual {
        _mint(to, id);

        require(
            to.code.length == 0 ||
                ERC721TokenReceiver(to).onERC721Received(msg.sender, address(0), id, data) ==
                ERC721TokenReceiver.onERC721Received.selector,
            "UNSAFE_RECIPIENT"
        );
    }
}

/// @notice A generic interface for a contract which properly accepts ERC721 tokens.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC721.sol)
abstract contract ERC721TokenReceiver {
    function onERC721Received(
        address,
        address,
        uint256,
        bytes calldata
    ) external virtual returns (bytes4) {
        return ERC721TokenReceiver.onERC721Received.selector;
    }
}

File 3 of 5 : BAYC.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.20;

import {Owned} from "solmate/auth/Owned.sol";
import {ERC20} from "solmate/tokens/ERC20.sol";

/// @title BAYC memecoin
/// @notice This contract implements an ERC20 token with minting and burning capabilities.
/// @dev Inherits from ERC20 and Owned contracts.
contract BAYC is ERC20, Owned {
    uint256 public constant MAX_SUPPLY = 1_000_000_000_000 * 10 ** 18;

    /// @notice Address of the minter
    address public minter;

    /// @notice Event emitted when the minter is set
    /// @param minter The address of the new minter
    event MinterSet(address minter);

    /// @notice Constructor to initialize the token and set the owner
    /// @param _owner The address of the owner
    constructor(address _owner) ERC20("BAYC", "BAYC", 18) Owned(_owner) {
        emit Transfer(address(0), msg.sender, 0);
    }

    /// @notice Mints new tokens
    /// @dev Only the minter can call this function
    /// @param to The address to mint tokens to
    /// @param amount The amount of tokens to mint
    function mint(address to, uint256 amount) external {
        require(msg.sender == minter, "UNAUTHORIZED");
        require(totalSupply + amount <= MAX_SUPPLY, "MAX_SUPPLY_EXCEEDED");
        _mint(to, amount);
    }

    /// @notice Burns tokens
    /// @dev Only the minter can call this function
    /// @param from The address to burn tokens from
    /// @param amount The amount of tokens to burn
    function burn(address from, uint256 amount) external {
        require(msg.sender == minter, "UNAUTHORIZED");
        _burn(from, amount);
    }

    /**
     * Admin functions **
     */
    /// @notice Sets the minter address
    /// @dev Only the owner can call this function
    /// @param _minter The address of the new minter
    function setMinter(address _minter) external onlyOwner {
        minter = _minter;
        emit MinterSet(_minter);
    }
}

File 4 of 5 : 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);
    }
}

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

/// @notice Modern and gas efficient ERC20 + EIP-2612 implementation.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)
/// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)
/// @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.
abstract contract ERC20 {
    /*//////////////////////////////////////////////////////////////
                                 EVENTS
    //////////////////////////////////////////////////////////////*/

    event Transfer(address indexed from, address indexed to, uint256 amount);

    event Approval(address indexed owner, address indexed spender, uint256 amount);

    /*//////////////////////////////////////////////////////////////
                            METADATA STORAGE
    //////////////////////////////////////////////////////////////*/

    string public name;

    string public symbol;

    uint8 public immutable decimals;

    /*//////////////////////////////////////////////////////////////
                              ERC20 STORAGE
    //////////////////////////////////////////////////////////////*/

    uint256 public totalSupply;

    mapping(address => uint256) public balanceOf;

    mapping(address => mapping(address => uint256)) public allowance;

    /*//////////////////////////////////////////////////////////////
                            EIP-2612 STORAGE
    //////////////////////////////////////////////////////////////*/

    uint256 internal immutable INITIAL_CHAIN_ID;

    bytes32 internal immutable INITIAL_DOMAIN_SEPARATOR;

    mapping(address => uint256) public nonces;

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

    constructor(
        string memory _name,
        string memory _symbol,
        uint8 _decimals
    ) {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;

        INITIAL_CHAIN_ID = block.chainid;
        INITIAL_DOMAIN_SEPARATOR = computeDomainSeparator();
    }

    /*//////////////////////////////////////////////////////////////
                               ERC20 LOGIC
    //////////////////////////////////////////////////////////////*/

    function approve(address spender, uint256 amount) public virtual returns (bool) {
        allowance[msg.sender][spender] = amount;

        emit Approval(msg.sender, spender, amount);

        return true;
    }

    function transfer(address to, uint256 amount) public virtual returns (bool) {
        balanceOf[msg.sender] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(msg.sender, to, amount);

        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual returns (bool) {
        uint256 allowed = allowance[from][msg.sender]; // Saves gas for limited approvals.

        if (allowed != type(uint256).max) allowance[from][msg.sender] = allowed - amount;

        balanceOf[from] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(from, to, amount);

        return true;
    }

    /*//////////////////////////////////////////////////////////////
                             EIP-2612 LOGIC
    //////////////////////////////////////////////////////////////*/

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) public virtual {
        require(deadline >= block.timestamp, "PERMIT_DEADLINE_EXPIRED");

        // Unchecked because the only math done is incrementing
        // the owner's nonce which cannot realistically overflow.
        unchecked {
            address recoveredAddress = ecrecover(
                keccak256(
                    abi.encodePacked(
                        "\x19\x01",
                        DOMAIN_SEPARATOR(),
                        keccak256(
                            abi.encode(
                                keccak256(
                                    "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"
                                ),
                                owner,
                                spender,
                                value,
                                nonces[owner]++,
                                deadline
                            )
                        )
                    )
                ),
                v,
                r,
                s
            );

            require(recoveredAddress != address(0) && recoveredAddress == owner, "INVALID_SIGNER");

            allowance[recoveredAddress][spender] = value;
        }

        emit Approval(owner, spender, value);
    }

    function DOMAIN_SEPARATOR() public view virtual returns (bytes32) {
        return block.chainid == INITIAL_CHAIN_ID ? INITIAL_DOMAIN_SEPARATOR : computeDomainSeparator();
    }

    function computeDomainSeparator() internal view virtual returns (bytes32) {
        return
            keccak256(
                abi.encode(
                    keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),
                    keccak256(bytes(name)),
                    keccak256("1"),
                    block.chainid,
                    address(this)
                )
            );
    }

    /*//////////////////////////////////////////////////////////////
                        INTERNAL MINT/BURN LOGIC
    //////////////////////////////////////////////////////////////*/

    function _mint(address to, uint256 amount) internal virtual {
        totalSupply += amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(address(0), to, amount);
    }

    function _burn(address from, uint256 amount) internal virtual {
        balanceOf[from] -= amount;

        // Cannot underflow because a user's balance
        // will never be larger than the total supply.
        unchecked {
            totalSupply -= amount;
        }

        emit Transfer(from, address(0), amount);
    }
}

Settings
{
  "remappings": [
    "solmate/=lib/solmate/src/",
    "ds-test/=lib/solmate/lib/ds-test/src/",
    "forge-std/=lib/forge-std/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "paris",
  "viaIR": false,
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_BAYCMemecoin","type":"address"},{"internalType":"address","name":"_BAYCNFT","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"Withdraw","type":"event"},{"inputs":[],"name":"BAYCMemecoin","outputs":[{"internalType":"contract BAYC","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BAYCNFT","outputs":[{"internalType":"contract ERC721","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PRICE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60c060405234801561001057600080fd5b506040516106ae3803806106ae83398101604081905261002f91610062565b6001600160a01b039182166080521660a052610095565b80516001600160a01b038116811461005d57600080fd5b919050565b6000806040838503121561007557600080fd5b61007e83610046565b915061008c60208401610046565b90509250929050565b60805160a0516105da6100d46000396000818160ba01528181610167015261030b01526000818160760152818161020a01526103ae01526105da6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063598b8e711461005c57806368bbc75c146100715780636dad56e5146100b55780638d859f3e146100dc578063983d95ce146100fc575b600080fd5b61006f61006a366004610461565b61010f565b005b6100987f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100987f000000000000000000000000000000000000000000000000000000000000000081565b6100ee6a52b7d2dcc80cd2e400000081565b6040519081526020016100ac565b61006f61010a366004610461565b6102b3565b60005b81518110156101d057600082828151811061012f5761012f61051f565b60209081029190910101516040516323b872dd60e01b8152336004820152306024820152604481018290529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd90606401600060405180830381600087803b1580156101ab57600080fd5b505af11580156101bf573d6000803e3d6000fd5b505060019093019250610112915050565b5060006a52b7d2dcc80cd2e400000082516101eb9190610535565b6040516340c10f1960e01b8152336004820152602481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906340c10f1990604401600060405180830381600087803b15801561025657600080fd5b505af115801561026a573d6000803e3d6000fd5b50505050336001600160a01b03167fff409334d2645d660e7cfa41a637aa21f45a79ecb9660a6931aa923bf75577c7836040516102a79190610560565b60405180910390a25050565b60005b81518110156103745760008282815181106102d3576102d361051f565b60209081029190910101516040516323b872dd60e01b8152306004820152336024820152604481018290529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd90606401600060405180830381600087803b15801561034f57600080fd5b505af1158015610363573d6000803e3d6000fd5b5050600190930192506102b6915050565b5060006a52b7d2dcc80cd2e4000000825161038f9190610535565b604051632770a7eb60e21b8152336004820152602481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690639dc29fac90604401600060405180830381600087803b1580156103fa57600080fd5b505af115801561040e573d6000803e3d6000fd5b50505050336001600160a01b03167f67e9df8b3c7743c9f1b625ba4f2b4e601206dbd46ed5c33c85a1242e4d23a2d1836040516102a79190610560565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561047457600080fd5b823567ffffffffffffffff8082111561048c57600080fd5b818501915085601f8301126104a057600080fd5b8135818111156104b2576104b261044b565b8060051b604051601f19603f830116810181811085821117156104d7576104d761044b565b6040529182528482019250838101850191888311156104f557600080fd5b938501935b82851015610513578435845293850193928501926104fa565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b808202811582820484141761055a57634e487b7160e01b600052601160045260246000fd5b92915050565b6020808252825182820181905260009190848201906040850190845b818110156105985783518352928401929184019160010161057c565b5090969550505050505056fea2646970667358221220989325158a6aea63918d8409d1ab3fd43d40402a883ffddd5ce3c5587cead77b64736f6c6343000814003300000000000000000000000028c3501fd8a248c6ac334c065fe7907062953cfd000000000000000000000000bc4ca0eda7647a8ab7c2061c2e118a18a936f13d

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100575760003560e01c8063598b8e711461005c57806368bbc75c146100715780636dad56e5146100b55780638d859f3e146100dc578063983d95ce146100fc575b600080fd5b61006f61006a366004610461565b61010f565b005b6100987f00000000000000000000000028c3501fd8a248c6ac334c065fe7907062953cfd81565b6040516001600160a01b0390911681526020015b60405180910390f35b6100987f000000000000000000000000bc4ca0eda7647a8ab7c2061c2e118a18a936f13d81565b6100ee6a52b7d2dcc80cd2e400000081565b6040519081526020016100ac565b61006f61010a366004610461565b6102b3565b60005b81518110156101d057600082828151811061012f5761012f61051f565b60209081029190910101516040516323b872dd60e01b8152336004820152306024820152604481018290529091506001600160a01b037f000000000000000000000000bc4ca0eda7647a8ab7c2061c2e118a18a936f13d16906323b872dd90606401600060405180830381600087803b1580156101ab57600080fd5b505af11580156101bf573d6000803e3d6000fd5b505060019093019250610112915050565b5060006a52b7d2dcc80cd2e400000082516101eb9190610535565b6040516340c10f1960e01b8152336004820152602481018290529091507f00000000000000000000000028c3501fd8a248c6ac334c065fe7907062953cfd6001600160a01b0316906340c10f1990604401600060405180830381600087803b15801561025657600080fd5b505af115801561026a573d6000803e3d6000fd5b50505050336001600160a01b03167fff409334d2645d660e7cfa41a637aa21f45a79ecb9660a6931aa923bf75577c7836040516102a79190610560565b60405180910390a25050565b60005b81518110156103745760008282815181106102d3576102d361051f565b60209081029190910101516040516323b872dd60e01b8152306004820152336024820152604481018290529091506001600160a01b037f000000000000000000000000bc4ca0eda7647a8ab7c2061c2e118a18a936f13d16906323b872dd90606401600060405180830381600087803b15801561034f57600080fd5b505af1158015610363573d6000803e3d6000fd5b5050600190930192506102b6915050565b5060006a52b7d2dcc80cd2e4000000825161038f9190610535565b604051632770a7eb60e21b8152336004820152602481018290529091507f00000000000000000000000028c3501fd8a248c6ac334c065fe7907062953cfd6001600160a01b031690639dc29fac90604401600060405180830381600087803b1580156103fa57600080fd5b505af115801561040e573d6000803e3d6000fd5b50505050336001600160a01b03167f67e9df8b3c7743c9f1b625ba4f2b4e601206dbd46ed5c33c85a1242e4d23a2d1836040516102a79190610560565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561047457600080fd5b823567ffffffffffffffff8082111561048c57600080fd5b818501915085601f8301126104a057600080fd5b8135818111156104b2576104b261044b565b8060051b604051601f19603f830116810181811085821117156104d7576104d761044b565b6040529182528482019250838101850191888311156104f557600080fd5b938501935b82851015610513578435845293850193928501926104fa565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b808202811582820484141761055a57634e487b7160e01b600052601160045260246000fd5b92915050565b6020808252825182820181905260009190848201906040850190845b818110156105985783518352928401929184019160010161057c565b5090969550505050505056fea2646970667358221220989325158a6aea63918d8409d1ab3fd43d40402a883ffddd5ce3c5587cead77b64736f6c63430008140033

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

00000000000000000000000028c3501fd8a248c6ac334c065fe7907062953cfd000000000000000000000000bc4ca0eda7647a8ab7c2061c2e118a18a936f13d

-----Decoded View---------------
Arg [0] : _BAYCMemecoin (address): 0x28c3501fd8a248c6ac334C065FE7907062953CfD
Arg [1] : _BAYCNFT (address): 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000028c3501fd8a248c6ac334c065fe7907062953cfd
Arg [1] : 000000000000000000000000bc4ca0eda7647a8ab7c2061c2e118a18a936f13d


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.