ETH Price: $1,978.96 (-4.64%)

Contract

0x463B8CED7D22a55Aa4A5d69EF6a54a08AA0feB93
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Purchase244588922026-02-15 1:23:5919 days ago1771118639IN
0x463B8CED...8AA0feB93
0 ETH0.000010420.0399556
Purchase243389272026-01-29 7:10:4736 days ago1769670647IN
0x463B8CED...8AA0feB93
0 ETH0.000009630.03692715
Purchase243079152026-01-24 23:23:1141 days ago1769296991IN
0x463B8CED...8AA0feB93
0 ETH0.00000850.0325724
Purchase243029142026-01-24 6:38:5941 days ago1769236739IN
0x463B8CED...8AA0feB93
0 ETH0.000008710.0333971
Purchase242941452026-01-23 1:16:1142 days ago1769130971IN
0x463B8CED...8AA0feB93
0 ETH0.000008890.03408307
Purchase242691432026-01-19 13:32:5946 days ago1768829579IN
0x463B8CED...8AA0feB93
0 ETH0.000009630.0369333
Purchase242617512026-01-18 12:50:3547 days ago1768740635IN
0x463B8CED...8AA0feB93
0 ETH0.000008330.03193339
Purchase242562962026-01-17 18:35:5948 days ago1768674959IN
0x463B8CED...8AA0feB93
0 ETH0.000008410.03225528
Purchase242516002026-01-17 2:53:1148 days ago1768618391IN
0x463B8CED...8AA0feB93
0 ETH0.0000090.03451543
Purchase242315532026-01-14 7:49:1151 days ago1768376951IN
0x463B8CED...8AA0feB93
0 ETH0.000009230.03537036
Purchase242238012026-01-13 5:46:5952 days ago1768283219IN
0x463B8CED...8AA0feB93
0 ETH0.000009250.03544259
Purchase242144192026-01-11 22:20:3554 days ago1768170035IN
0x463B8CED...8AA0feB93
0 ETH0.000007970.03056661
Purchase242048572026-01-10 14:20:4755 days ago1768054847IN
0x463B8CED...8AA0feB93
0 ETH0.000008490.03255701
Purchase241935032026-01-09 0:21:1156 days ago1767918071IN
0x463B8CED...8AA0feB93
0 ETH0.000007510.02880154
Purchase241804442026-01-07 4:33:5958 days ago1767760439IN
0x463B8CED...8AA0feB93
0 ETH0.000009490.03637984
Purchase241731632026-01-06 4:12:3559 days ago1767672755IN
0x463B8CED...8AA0feB93
0 ETH0.000008990.03445632
Purchase241574552026-01-03 23:37:4762 days ago1767483467IN
0x463B8CED...8AA0feB93
0 ETH0.000007850.03008554
Purchase241508202026-01-03 1:25:2362 days ago1767403523IN
0x463B8CED...8AA0feB93
0 ETH0.000008990.03444981
Purchase241375592026-01-01 5:02:3564 days ago1767243755IN
0x463B8CED...8AA0feB93
0 ETH0.000007820.02998248
Purchase241309412025-12-31 6:52:5965 days ago1767163979IN
0x463B8CED...8AA0feB93
0 ETH0.000007190.02755628
Purchase241309362025-12-31 6:51:5965 days ago1767163919IN
0x463B8CED...8AA0feB93
0 ETH0.000007440.02851466
Purchase241237302025-12-30 6:41:4766 days ago1767076907IN
0x463B8CED...8AA0feB93
0 ETH0.000007380.02828091
Purchase241091862025-12-28 5:57:5968 days ago1766901479IN
0x463B8CED...8AA0feB93
0 ETH0.00000810.03105969
Purchase241045972025-12-27 14:34:4769 days ago1766846087IN
0x463B8CED...8AA0feB93
0 ETH0.000007320.02808237
Purchase241017492025-12-27 5:02:2369 days ago1766811743IN
0x463B8CED...8AA0feB93
0 ETH0.000006890.02640796
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer198931552024-05-18 0:06:47657 days ago1715990807
0x463B8CED...8AA0feB93
0.058995 ETH
Transfer198931552024-05-18 0:06:47657 days ago1715990807
0x463B8CED...8AA0feB93
0.003105 ETH
Transfer198931552024-05-18 0:06:47657 days ago1715990807
0x463B8CED...8AA0feB93
0.0069 ETH
Transfer198931512024-05-18 0:05:59657 days ago1715990759
0x463B8CED...8AA0feB93
0.058995 ETH
Transfer198931512024-05-18 0:05:59657 days ago1715990759
0x463B8CED...8AA0feB93
0.003105 ETH
Transfer198931512024-05-18 0:05:59657 days ago1715990759
0x463B8CED...8AA0feB93
0.0069 ETH
Transfer198931432024-05-18 0:04:23657 days ago1715990663
0x463B8CED...8AA0feB93
0.0855 ETH
Transfer198931432024-05-18 0:04:23657 days ago1715990663
0x463B8CED...8AA0feB93
0.0045 ETH
Transfer198931432024-05-18 0:04:23657 days ago1715990663
0x463B8CED...8AA0feB93
0.01 ETH
Transfer198931402024-05-18 0:03:47657 days ago1715990627
0x463B8CED...8AA0feB93
0.0855 ETH
Transfer198931402024-05-18 0:03:47657 days ago1715990627
0x463B8CED...8AA0feB93
0.0045 ETH
Transfer198931402024-05-18 0:03:47657 days ago1715990627
0x463B8CED...8AA0feB93
0.01 ETH
Transfer198931322024-05-18 0:02:11658 days ago1715990531
0x463B8CED...8AA0feB93
0.0855 ETH
Transfer198931322024-05-18 0:02:11658 days ago1715990531
0x463B8CED...8AA0feB93
0.0045 ETH
Transfer198931322024-05-18 0:02:11658 days ago1715990531
0x463B8CED...8AA0feB93
0.01 ETH
Transfer198931282024-05-18 0:01:23658 days ago1715990483
0x463B8CED...8AA0feB93
0.081225 ETH
Transfer198931282024-05-18 0:01:23658 days ago1715990483
0x463B8CED...8AA0feB93
0.004275 ETH
Transfer198931282024-05-18 0:01:23658 days ago1715990483
0x463B8CED...8AA0feB93
0.0095 ETH
Transfer198931012024-05-17 23:55:59658 days ago1715990159
0x463B8CED...8AA0feB93
0.056943 ETH
Transfer198931012024-05-17 23:55:59658 days ago1715990159
0x463B8CED...8AA0feB93
0.002997 ETH
Transfer198931012024-05-17 23:55:59658 days ago1715990159
0x463B8CED...8AA0feB93
0.00666 ETH
Transfer198930732024-05-17 23:50:23658 days ago1715989823
0x463B8CED...8AA0feB93
0.12825 ETH
Transfer198930732024-05-17 23:50:23658 days ago1715989823
0x463B8CED...8AA0feB93
0.00675 ETH
Transfer198930732024-05-17 23:50:23658 days ago1715989823
0x463B8CED...8AA0feB93
0.015 ETH
Transfer196611772024-04-15 13:22:23690 days ago1713187343
0x463B8CED...8AA0feB93
0.07182 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GenArt721Minter_Plottables

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 100 runs

Other Settings:
default evmVersion
pragma solidity ^0.5.0;

import "../../libs/SafeMath.sol";
import "../../libs/Strings.sol";

import "../../interfaces/IGenArt721CoreV2.sol";

interface ERC20 {
    function balanceOf(address _owner) external view returns (uint256 balance);

    function transferFrom(
        address _from,
        address _to,
        uint256 _value
    ) external returns (bool success);

    function allowance(address _owner, address _spender)
        external
        view
        returns (uint256 remaining);
}

interface BonusContract {
    function triggerBonus(address _to) external returns (bool);

    function bonusIsActive() external view returns (bool);
}

contract GenArt721Minter_Plottables {
    using SafeMath for uint256;

    IGenArt721CoreV2 public genArtCoreContract;

    uint256 constant ONE_MILLION = 1_000_000;

    address payable public ownerAddress;
    uint256 public ownerPercentage;

    mapping(uint256 => bool) public projectIdToBonus;
    mapping(uint256 => address) public projectIdToBonusContractAddress;
    mapping(uint256 => bool) public contractFilterProject;
    mapping(address => mapping(uint256 => uint256)) public projectMintCounter;
    mapping(uint256 => uint256) public projectMintLimit;
    mapping(uint256 => bool) public projectMaxHasBeenInvoked;
    mapping(uint256 => uint256) public projectMaxInvocations;

    constructor(address _genArt721Address) public {
        genArtCoreContract = IGenArt721CoreV2(_genArt721Address);
    }

    function getYourBalanceOfProjectERC20(uint256 _projectId)
        public
        view
        returns (uint256)
    {
        uint256 balance = ERC20(
            genArtCoreContract.projectIdToCurrencyAddress(_projectId)
        ).balanceOf(msg.sender);
        return balance;
    }

    function checkYourAllowanceOfProjectERC20(uint256 _projectId)
        public
        view
        returns (uint256)
    {
        uint256 remaining = ERC20(
            genArtCoreContract.projectIdToCurrencyAddress(_projectId)
        ).allowance(msg.sender, address(this));
        return remaining;
    }

    function setProjectMintLimit(uint256 _projectId, uint8 _limit) public {
        require(
            genArtCoreContract.isWhitelisted(msg.sender),
            "can only be set by admin"
        );
        projectMintLimit[_projectId] = _limit;
    }

    function setProjectMaxInvocations(uint256 _projectId) public {
        require(
            genArtCoreContract.isWhitelisted(msg.sender),
            "can only be set by admin"
        );
        uint256 maxInvocations;
        uint256 invocations;
        (, , invocations, maxInvocations, , , , , ) = genArtCoreContract
            .projectTokenInfo(_projectId);
        projectMaxInvocations[_projectId] = maxInvocations;
        if (invocations < maxInvocations) {
            projectMaxHasBeenInvoked[_projectId] = false;
        }
    }

    function setOwnerAddress(address payable _ownerAddress) public {
        require(
            genArtCoreContract.isWhitelisted(msg.sender),
            "can only be set by admin"
        );
        ownerAddress = _ownerAddress;
    }

    function setOwnerPercentage(uint256 _ownerPercentage) public {
        require(
            genArtCoreContract.isWhitelisted(msg.sender),
            "can only be set by admin"
        );
        ownerPercentage = _ownerPercentage;
    }

    function toggleContractFilter(uint256 _projectId) public {
        require(
            genArtCoreContract.isWhitelisted(msg.sender),
            "can only be set by admin"
        );
        contractFilterProject[_projectId] = !contractFilterProject[_projectId];
    }

    function artistToggleBonus(uint256 _projectId) public {
        require(
            msg.sender ==
                genArtCoreContract.projectIdToArtistAddress(_projectId),
            "can only be set by artist"
        );
        projectIdToBonus[_projectId] = !projectIdToBonus[_projectId];
    }

    function artistSetBonusContractAddress(
        uint256 _projectId,
        address _bonusContractAddress
    ) public {
        require(
            msg.sender ==
                genArtCoreContract.projectIdToArtistAddress(_projectId),
            "can only be set by artist"
        );
        projectIdToBonusContractAddress[_projectId] = _bonusContractAddress;
    }

    function purchase(uint256 _projectId)
        public
        payable
        returns (uint256 _tokenId)
    {
        return purchaseTo(msg.sender, _projectId);
    }

    // Remove `public`` and `payable`` to prevent public use
    // of the `purchaseTo`` function.
    function purchaseTo(address _to, uint256 _projectId)
        public
        payable
        returns (uint256 _tokenId)
    {
        require(
            !projectMaxHasBeenInvoked[_projectId],
            "Maximum number of invocations reached"
        );
        if (
            keccak256(
                abi.encodePacked(
                    genArtCoreContract.projectIdToCurrencySymbol(_projectId)
                )
            ) != keccak256(abi.encodePacked("ETH"))
        ) {
            require(
                msg.value == 0,
                "this project accepts a different currency and cannot accept ETH"
            );
            require(
                ERC20(genArtCoreContract.projectIdToCurrencyAddress(_projectId))
                    .allowance(msg.sender, address(this)) >=
                    genArtCoreContract.projectIdToPricePerTokenInWei(
                        _projectId
                    ),
                "Insufficient Funds Approved for TX"
            );
            require(
                ERC20(genArtCoreContract.projectIdToCurrencyAddress(_projectId))
                    .balanceOf(msg.sender) >=
                    genArtCoreContract.projectIdToPricePerTokenInWei(
                        _projectId
                    ),
                "Insufficient balance."
            );
            _splitFundsERC20(_projectId);
        } else {
            require(
                msg.value >=
                    genArtCoreContract.projectIdToPricePerTokenInWei(
                        _projectId
                    ),
                "Must send minimum value to mint!"
            );
            _splitFundsETH(_projectId);
        }

        // if contract filter is active prevent calls from another contract
        if (contractFilterProject[_projectId])
            require(msg.sender == tx.origin, "No Contract Buys");

        // limit mints per address by project
        if (projectMintLimit[_projectId] > 0) {
            require(
                projectMintCounter[msg.sender][_projectId] <
                    projectMintLimit[_projectId],
                "Reached minting limit"
            );
            projectMintCounter[msg.sender][_projectId]++;
        }

        uint256 tokenId = genArtCoreContract.mint(_to, _projectId, msg.sender);

        // What if this overflows, since default value of uint256 is 0?
        // That is intended, so that by default the minter allows infinite
        // transactions, allowing the `genArtCoreContract` to stop minting
        // `uint256 tokenInvocation = tokenId % ONE_MILLION;`
        if (tokenId % ONE_MILLION == projectMaxInvocations[_projectId] - 1) {
            projectMaxHasBeenInvoked[_projectId] = true;
        }

        if (projectIdToBonus[_projectId]) {
            require(
                BonusContract(projectIdToBonusContractAddress[_projectId])
                    .bonusIsActive(),
                "bonus must be active"
            );
            BonusContract(projectIdToBonusContractAddress[_projectId])
                .triggerBonus(msg.sender);
        }

        return tokenId;
    }

    function _splitFundsETH(uint256 _projectId) internal {
        if (msg.value > 0) {
            uint256 pricePerTokenInWei = genArtCoreContract
                .projectIdToPricePerTokenInWei(_projectId);
            uint256 refund = msg.value.sub(
                genArtCoreContract.projectIdToPricePerTokenInWei(_projectId)
            );
            if (refund > 0) {
                msg.sender.transfer(refund);
            }
            uint256 renderProviderAmount = pricePerTokenInWei.div(100).mul(
                genArtCoreContract.renderProviderPercentage()
            );
            if (renderProviderAmount > 0) {
                genArtCoreContract.renderProviderAddress().transfer(
                    renderProviderAmount
                );
            }

            uint256 remainingFunds = pricePerTokenInWei.sub(
                renderProviderAmount
            );

            uint256 ownerFunds = remainingFunds.div(100).mul(ownerPercentage);
            if (ownerFunds > 0) {
                ownerAddress.transfer(ownerFunds);
            }

            uint256 projectFunds = pricePerTokenInWei
                .sub(renderProviderAmount)
                .sub(ownerFunds);
            uint256 additionalPayeeAmount;
            if (
                genArtCoreContract.projectIdToAdditionalPayeePercentage(
                    _projectId
                ) > 0
            ) {
                additionalPayeeAmount = projectFunds.div(100).mul(
                    genArtCoreContract.projectIdToAdditionalPayeePercentage(
                        _projectId
                    )
                );
                if (additionalPayeeAmount > 0) {
                    genArtCoreContract
                        .projectIdToAdditionalPayee(_projectId)
                        .transfer(additionalPayeeAmount);
                }
            }
            uint256 creatorFunds = projectFunds.sub(additionalPayeeAmount);
            if (creatorFunds > 0) {
                genArtCoreContract
                    .projectIdToArtistAddress(_projectId)
                    .transfer(creatorFunds);
            }
        }
    }

    function _splitFundsERC20(uint256 _projectId) internal {
        uint256 pricePerTokenInWei = genArtCoreContract
            .projectIdToPricePerTokenInWei(_projectId);
        uint256 renderProviderAmount = pricePerTokenInWei.div(100).mul(
            genArtCoreContract.renderProviderPercentage()
        );
        if (renderProviderAmount > 0) {
            ERC20(genArtCoreContract.projectIdToCurrencyAddress(_projectId))
                .transferFrom(
                    msg.sender,
                    genArtCoreContract.renderProviderAddress(),
                    renderProviderAmount
                );
        }
        uint256 remainingFunds = pricePerTokenInWei.sub(renderProviderAmount);

        uint256 ownerFunds = remainingFunds.div(100).mul(ownerPercentage);
        if (ownerFunds > 0) {
            ERC20(genArtCoreContract.projectIdToCurrencyAddress(_projectId))
                .transferFrom(msg.sender, ownerAddress, ownerFunds);
        }

        uint256 projectFunds = pricePerTokenInWei.sub(renderProviderAmount).sub(
            ownerFunds
        );
        uint256 additionalPayeeAmount;
        if (
            genArtCoreContract.projectIdToAdditionalPayeePercentage(
                _projectId
            ) > 0
        ) {
            additionalPayeeAmount = projectFunds.div(100).mul(
                genArtCoreContract.projectIdToAdditionalPayeePercentage(
                    _projectId
                )
            );
            if (additionalPayeeAmount > 0) {
                ERC20(genArtCoreContract.projectIdToCurrencyAddress(_projectId))
                    .transferFrom(
                        msg.sender,
                        genArtCoreContract.projectIdToAdditionalPayee(
                            _projectId
                        ),
                        additionalPayeeAmount
                    );
            }
        }
        uint256 creatorFunds = projectFunds.sub(additionalPayeeAmount);
        if (creatorFunds > 0) {
            ERC20(genArtCoreContract.projectIdToCurrencyAddress(_projectId))
                .transferFrom(
                    msg.sender,
                    genArtCoreContract.projectIdToArtistAddress(_projectId),
                    creatorFunds
                );
        }
    }
}

// File: openzeppelin-solidity/contracts/math/SafeMath.sol

pragma solidity ^0.5.0;

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }
}

// File: contracts/Strings.sol

pragma solidity ^0.5.0;

//https://github.com/oraclize/ethereum-api/blob/master/oraclizeAPI_0.5.sol
library Strings {
    function strConcat(string memory _a, string memory _b)
        internal
        pure
        returns (string memory _concatenatedString)
    {
        return strConcat(_a, _b, "", "", "");
    }

    function strConcat(
        string memory _a,
        string memory _b,
        string memory _c
    ) internal pure returns (string memory _concatenatedString) {
        return strConcat(_a, _b, _c, "", "");
    }

    function strConcat(
        string memory _a,
        string memory _b,
        string memory _c,
        string memory _d
    ) internal pure returns (string memory _concatenatedString) {
        return strConcat(_a, _b, _c, _d, "");
    }

    function strConcat(
        string memory _a,
        string memory _b,
        string memory _c,
        string memory _d,
        string memory _e
    ) internal pure returns (string memory _concatenatedString) {
        bytes memory _ba = bytes(_a);
        bytes memory _bb = bytes(_b);
        bytes memory _bc = bytes(_c);
        bytes memory _bd = bytes(_d);
        bytes memory _be = bytes(_e);
        string memory abcde = new string(
            _ba.length + _bb.length + _bc.length + _bd.length + _be.length
        );
        bytes memory babcde = bytes(abcde);
        uint256 k = 0;
        uint256 i = 0;
        for (i = 0; i < _ba.length; i++) {
            babcde[k++] = _ba[i];
        }
        for (i = 0; i < _bb.length; i++) {
            babcde[k++] = _bb[i];
        }
        for (i = 0; i < _bc.length; i++) {
            babcde[k++] = _bc[i];
        }
        for (i = 0; i < _bd.length; i++) {
            babcde[k++] = _bd[i];
        }
        for (i = 0; i < _be.length; i++) {
            babcde[k++] = _be[i];
        }
        return string(babcde);
    }

    function uint2str(uint256 _i)
        internal
        pure
        returns (string memory _uintAsString)
    {
        if (_i == 0) {
            return "0";
        }
        uint256 j = _i;
        uint256 len;
        while (j != 0) {
            len++;
            j /= 10;
        }
        bytes memory bstr = new bytes(len);
        uint256 k = len - 1;
        while (_i != 0) {
            bstr[k--] = bytes1(uint8(48 + (_i % 10)));
            _i /= 10;
        }
        return string(bstr);
    }
}

pragma solidity ^0.5.0;

interface IGenArt721CoreV2 {
    function isWhitelisted(address sender) external view returns (bool);

    function projectIdToCurrencySymbol(uint256 _projectId)
        external
        view
        returns (string memory);

    function projectIdToCurrencyAddress(uint256 _projectId)
        external
        view
        returns (address);

    function projectIdToArtistAddress(uint256 _projectId)
        external
        view
        returns (address payable);

    function projectIdToPricePerTokenInWei(uint256 _projectId)
        external
        view
        returns (uint256);

    function projectIdToAdditionalPayee(uint256 _projectId)
        external
        view
        returns (address payable);

    function projectIdToAdditionalPayeePercentage(uint256 _projectId)
        external
        view
        returns (uint256);

    function projectTokenInfo(uint256 _projectId)
        external
        view
        returns (
            address,
            uint256,
            uint256,
            uint256,
            bool,
            address,
            uint256,
            string memory,
            address
        );

    function renderProviderAddress() external view returns (address payable);

    function renderProviderPercentage() external view returns (uint256);

    function mint(
        address _to,
        uint256 _projectId,
        address _by
    ) external returns (uint256 tokenId);
}

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

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_genArt721Address","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"address","name":"_bonusContractAddress","type":"address"}],"name":"artistSetBonusContractAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"name":"artistToggleBonus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"name":"checkYourAllowanceOfProjectERC20","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"contractFilterProject","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"genArtCoreContract","outputs":[{"internalType":"contract IGenArt721CoreV2","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"name":"getYourBalanceOfProjectERC20","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ownerAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ownerPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"projectIdToBonus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"projectIdToBonusContractAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"projectMaxHasBeenInvoked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"projectMaxInvocations","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"projectMintCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"projectMintLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"name":"purchase","outputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_projectId","type":"uint256"}],"name":"purchaseTo","outputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_ownerAddress","type":"address"}],"name":"setOwnerAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_ownerPercentage","type":"uint256"}],"name":"setOwnerPercentage","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"name":"setProjectMaxInvocations","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"uint8","name":"_limit","type":"uint8"}],"name":"setProjectMintLimit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"name":"toggleContractFilter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5060405161286a38038061286a8339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b0319909216919091179055612805806100656000396000f3fe60806040526004361061012a5760003560e01c806373709417116100ab57806395e3b0de1161006f57806395e3b0de146103dc578063a980960014610406578063efef39a114610430578063f46321031461044d578063f7bd4b8814610477578063f9f96b9e146104a15761012a565b806373709417146103165780637e6906de146103405780637f38902b14610386578063891407c01461039b5780638f84aa09146103c75761012a565b806341da7555116100f257806341da755514610245578063462add461461025a57806356690aaf14610298578063569f6f92146102c257806362f7a7ed146102ec5761012a565b8063231c22811461012f578063331a6bf514610164578063393b011c146101975780633a4657b4146101c15780633c34b9f01461020c575b600080fd5b34801561013b57600080fd5b506101626004803603604081101561015257600080fd5b508035906020013560ff166104cb565b005b34801561017057600080fd5b506101626004803603602081101561018757600080fd5b50356001600160a01b0316610599565b3480156101a357600080fd5b50610162600480360360208110156101ba57600080fd5b5035610671565b3480156101cd57600080fd5b506101fa600480360360408110156101e457600080fd5b506001600160a01b03813516906020013561072c565b60408051918252519081900360200190f35b34801561021857600080fd5b506101626004803603604081101561022f57600080fd5b50803590602001356001600160a01b0316610749565b34801561025157600080fd5b506101fa610847565b34801561026657600080fd5b506102846004803603602081101561027d57600080fd5b503561084d565b604080519115158252519081900360200190f35b3480156102a457600080fd5b506101fa600480360360208110156102bb57600080fd5b5035610862565b3480156102ce57600080fd5b50610162600480360360208110156102e557600080fd5b5035610874565b3480156102f857600080fd5b506101fa6004803603602081101561030f57600080fd5b503561094a565b34801561032257600080fd5b506102846004803603602081101561033957600080fd5b503561095c565b34801561034c57600080fd5b5061036a6004803603602081101561036357600080fd5b5035610971565b604080516001600160a01b039092168252519081900360200190f35b34801561039257600080fd5b5061036a61098c565b6101fa600480360360408110156103b157600080fd5b506001600160a01b03813516906020013561099b565b3480156103d357600080fd5b5061036a61135f565b3480156103e857600080fd5b50610162600480360360208110156103ff57600080fd5b503561136e565b34801561041257600080fd5b506101fa6004803603602081101561042957600080fd5b503561145e565b6101fa6004803603602081101561044657600080fd5b5035611551565b34801561045957600080fd5b506101fa6004803603602081101561047057600080fd5b503561155d565b34801561048357600080fd5b506101626004803603602081101561049a57600080fd5b5035611623565b3480156104ad57600080fd5b50610284600480360360208110156104c457600080fd5b5035611881565b60005460408051633af32abf60e01b815233600482015290516001600160a01b0390921691633af32abf91602480820192602092909190829003018186803b15801561051657600080fd5b505afa15801561052a573d6000803e3d6000fd5b505050506040513d602081101561054057600080fd5b5051610581576040805162461bcd60e51b815260206004820152601860248201526000805160206127b1833981519152604482015290519081900360640190fd5b60009182526007602052604090912060ff9091169055565b60005460408051633af32abf60e01b815233600482015290516001600160a01b0390921691633af32abf91602480820192602092909190829003018186803b1580156105e457600080fd5b505afa1580156105f8573d6000803e3d6000fd5b505050506040513d602081101561060e57600080fd5b505161064f576040805162461bcd60e51b815260206004820152601860248201526000805160206127b1833981519152604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60005460408051633af32abf60e01b815233600482015290516001600160a01b0390921691633af32abf91602480820192602092909190829003018186803b1580156106bc57600080fd5b505afa1580156106d0573d6000803e3d6000fd5b505050506040513d60208110156106e657600080fd5b5051610727576040805162461bcd60e51b815260206004820152601860248201526000805160206127b1833981519152604482015290519081900360640190fd5b600255565b600660209081526000928352604080842090915290825290205481565b6000546040805163a47d29cb60e01b81526004810185905290516001600160a01b039092169163a47d29cb91602480820192602092909190829003018186803b15801561079557600080fd5b505afa1580156107a9573d6000803e3d6000fd5b505050506040513d60208110156107bf57600080fd5b50516001600160a01b03163314610819576040805162461bcd60e51b815260206004820152601960248201527818d85b881bdb9b1e481899481cd95d08189e48185c9d1a5cdd603a1b604482015290519081900360640190fd5b60009182526004602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b60025481565b60086020526000908152604090205460ff1681565b60096020526000908152604090205481565b60005460408051633af32abf60e01b815233600482015290516001600160a01b0390921691633af32abf91602480820192602092909190829003018186803b1580156108bf57600080fd5b505afa1580156108d3573d6000803e3d6000fd5b505050506040513d60208110156108e957600080fd5b505161092a576040805162461bcd60e51b815260206004820152601860248201526000805160206127b1833981519152604482015290519081900360640190fd5b6000908152600560205260409020805460ff19811660ff90911615179055565b60076020526000908152604090205481565b60036020526000908152604090205460ff1681565b6004602052600090815260409020546001600160a01b031681565b6000546001600160a01b031681565b60008181526008602052604081205460ff16156109e95760405162461bcd60e51b815260040180806020018281038252602581526020018061278c6025913960400191505060405180910390fd5b604080516208aa8960eb1b602080830191909152825180830360030181526023830180855281519190920120600080546320927ec960e01b90935260278401879052935190936001600160a01b03909216926320927ec9926047808301939192829003018186803b158015610a5d57600080fd5b505afa158015610a71573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610a9a57600080fd5b8101908080516040519392919084600160201b821115610ab957600080fd5b908301906020820185811115610ace57600080fd5b8251600160201b811182820188101715610ae757600080fd5b82525081516020918201929091019080838360005b83811015610b14578181015183820152602001610afc565b50505050905090810190601f168015610b415780820380516001836020036101000a031916815260200191505b506040525050506040516020018082805190602001908083835b60208310610b7a5780518252601f199092019160209182019101610b5b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012014610f5b573415610bf75760405162461bcd60e51b815260040180806020018281038252603f81526020018061274d603f913960400191505060405180910390fd5b60005460408051633dc303c160e21b81526004810185905290516001600160a01b039092169163f70c0f0491602480820192602092909190829003018186803b158015610c4357600080fd5b505afa158015610c57573d6000803e3d6000fd5b505050506040513d6020811015610c6d57600080fd5b50516000546040805163498dd0c160e01b81526004810186905290516001600160a01b039092169163498dd0c191602480820192602092909190829003018186803b158015610cbb57600080fd5b505afa158015610ccf573d6000803e3d6000fd5b505050506040513d6020811015610ce557600080fd5b505160408051636eb1769f60e11b815233600482015230602482015290516001600160a01b039092169163dd62ed3e91604480820192602092909190829003018186803b158015610d3557600080fd5b505afa158015610d49573d6000803e3d6000fd5b505050506040513d6020811015610d5f57600080fd5b50511015610d9e5760405162461bcd60e51b815260040180806020018281038252602281526020018061270a6022913960400191505060405180910390fd5b60005460408051633dc303c160e21b81526004810185905290516001600160a01b039092169163f70c0f0491602480820192602092909190829003018186803b158015610dea57600080fd5b505afa158015610dfe573d6000803e3d6000fd5b505050506040513d6020811015610e1457600080fd5b50516000546040805163498dd0c160e01b81526004810186905290516001600160a01b039092169163498dd0c191602480820192602092909190829003018186803b158015610e6257600080fd5b505afa158015610e76573d6000803e3d6000fd5b505050506040513d6020811015610e8c57600080fd5b5051604080516370a0823160e01b815233600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610ed657600080fd5b505afa158015610eea573d6000803e3d6000fd5b505050506040513d6020811015610f0057600080fd5b50511015610f4d576040805162461bcd60e51b815260206004820152601560248201527424b739bab33334b1b4b2b73a103130b630b731b29760591b604482015290519081900360640190fd5b610f5682611896565b611030565b60005460408051633dc303c160e21b81526004810185905290516001600160a01b039092169163f70c0f0491602480820192602092909190829003018186803b158015610fa757600080fd5b505afa158015610fbb573d6000803e3d6000fd5b505050506040513d6020811015610fd157600080fd5b5051341015611027576040805162461bcd60e51b815260206004820181905260248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e7421604482015290519081900360640190fd5b6110308261207d565b60008281526005602052604090205460ff161561108e5733321461108e576040805162461bcd60e51b815260206004820152601060248201526f4e6f20436f6e7472616374204275797360801b604482015290519081900360640190fd5b6000828152600760205260409020541561113457600082815260076020908152604080832054338452600683528184208685529092529091205410611112576040805162461bcd60e51b815260206004820152601560248201527414995858da1959081b5a5b9d1a5b99c81b1a5b5a5d605a1b604482015290519081900360640190fd5b3360009081526006602090815260408083208584529091529020805460010190555b6000805460408051630d4d151360e01b81526001600160a01b0387811660048301526024820187905233604483015291519190921691630d4d151391606480830192602092919082900301818787803b15801561119057600080fd5b505af11580156111a4573d6000803e3d6000fd5b505050506040513d60208110156111ba57600080fd5b505160008481526009602052604090205490915060001901620f4240820614156111f8576000838152600860205260409020805460ff191660011790555b60008381526003602052604090205460ff1615611356576000838152600460208181526040928390205483516305e667fd60e21b815293516001600160a01b03909116936317999ff493818101939291829003018186803b15801561125c57600080fd5b505afa158015611270573d6000803e3d6000fd5b505050506040513d602081101561128657600080fd5b50516112d0576040805162461bcd60e51b8152602060048201526014602482015273626f6e7573206d7573742062652061637469766560601b604482015290519081900360640190fd5b600083815260046020818152604080842054815163f473237d60e01b8152339481019490945290516001600160a01b039091169363f473237d936024808201949392918390030190829087803b15801561132957600080fd5b505af115801561133d573d6000803e3d6000fd5b505050506040513d602081101561135357600080fd5b50505b90505b92915050565b6001546001600160a01b031681565b6000546040805163a47d29cb60e01b81526004810184905290516001600160a01b039092169163a47d29cb91602480820192602092909190829003018186803b1580156113ba57600080fd5b505afa1580156113ce573d6000803e3d6000fd5b505050506040513d60208110156113e457600080fd5b50516001600160a01b0316331461143e576040805162461bcd60e51b815260206004820152601960248201527818d85b881bdb9b1e481899481cd95d08189e48185c9d1a5cdd603a1b604482015290519081900360640190fd5b6000908152600360205260409020805460ff19811660ff90911615179055565b600080546040805163498dd0c160e01b815260048101859052905183926001600160a01b03169163498dd0c1916024808301926020929190829003018186803b1580156114aa57600080fd5b505afa1580156114be573d6000803e3d6000fd5b505050506040513d60208110156114d457600080fd5b5051604080516370a0823160e01b815233600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561151e57600080fd5b505afa158015611532573d6000803e3d6000fd5b505050506040513d602081101561154857600080fd5b50519392505050565b6000611359338361099b565b600080546040805163498dd0c160e01b815260048101859052905183926001600160a01b03169163498dd0c1916024808301926020929190829003018186803b1580156115a957600080fd5b505afa1580156115bd573d6000803e3d6000fd5b505050506040513d60208110156115d357600080fd5b505160408051636eb1769f60e11b815233600482015230602482015290516001600160a01b039092169163dd62ed3e91604480820192602092909190829003018186803b15801561151e57600080fd5b60005460408051633af32abf60e01b815233600482015290516001600160a01b0390921691633af32abf91602480820192602092909190829003018186803b15801561166e57600080fd5b505afa158015611682573d6000803e3d6000fd5b505050506040513d602081101561169857600080fd5b50516116d9576040805162461bcd60e51b815260206004820152601860248201526000805160206127b1833981519152604482015290519081900360640190fd5b60008054604080516346161b1160e11b815260048101859052905183926001600160a01b031691638c2c36229160248083019286929190829003018186803b15801561172457600080fd5b505afa158015611738573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261012081101561176257600080fd5b815160208301516040808501516060860151608087015160a088015160c089015160e08a0180519651989a979995989497939692959194939182019284600160201b8211156117b057600080fd5b9083019060208201858111156117c557600080fd5b8251600160201b8111828201881017156117de57600080fd5b82525081516020918201929091019080838360005b8381101561180b5781810151838201526020016117f3565b50505050905090810190601f1680156118385780820380516001836020036101000a031916815260200191505b50604090815260008f815260096020522088905550959a5095985050505086861015945061187c9350505050576000838152600860205260409020805460ff191690555b505050565b60056020526000908152604090205460ff1681565b6000805460408051633dc303c160e21b81526004810185905290516001600160a01b039092169163f70c0f0491602480820192602092909190829003018186803b1580156118e357600080fd5b505afa1580156118f7573d6000803e3d6000fd5b505050506040513d602081101561190d57600080fd5b50516000805460408051632e9eb74f60e01b8152905193945091926119a6926001600160a01b0390921691632e9eb74f916004808301926020929190829003018186803b15801561195d57600080fd5b505afa158015611971573d6000803e3d6000fd5b505050506040513d602081101561198757600080fd5b505161199a84606463ffffffff6125e916565b9063ffffffff61265316565b90508015611b26576000546040805163498dd0c160e01b81526004810186905290516001600160a01b039092169163498dd0c191602480820192602092909190829003018186803b1580156119fa57600080fd5b505afa158015611a0e573d6000803e3d6000fd5b505050506040513d6020811015611a2457600080fd5b50516000546040805163cfbf4d9760e01b815290516001600160a01b03938416936323b872dd93339391169163cfbf4d9791600480820192602092909190829003018186803b158015611a7657600080fd5b505afa158015611a8a573d6000803e3d6000fd5b505050506040513d6020811015611aa057600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039384166004820152929091166024830152604482018590525160648083019260209291908290030181600087803b158015611af957600080fd5b505af1158015611b0d573d6000803e3d6000fd5b505050506040513d6020811015611b2357600080fd5b50505b6000611b38838363ffffffff6126ac16565b90506000611b5660025461199a6064856125e990919063ffffffff16565b90508015611c5f576000546040805163498dd0c160e01b81526004810188905290516001600160a01b039092169163498dd0c191602480820192602092909190829003018186803b158015611baa57600080fd5b505afa158015611bbe573d6000803e3d6000fd5b505050506040513d6020811015611bd457600080fd5b5051600154604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101859052905191909216916323b872dd9160648083019260209291908290030181600087803b158015611c3257600080fd5b505af1158015611c46573d6000803e3d6000fd5b505050506040513d6020811015611c5c57600080fd5b50505b6000611c8182611c75878763ffffffff6126ac16565b9063ffffffff6126ac16565b600080546040805163cc74234b60e01b8152600481018b90529051939450919283926001600160a01b039092169163cc74234b916024808301926020929190829003018186803b158015611cd457600080fd5b505afa158015611ce8573d6000803e3d6000fd5b505050506040513d6020811015611cfe57600080fd5b50511115611eda576000546040805163cc74234b60e01b8152600481018a90529051611d53926001600160a01b03169163cc74234b916024808301926020929190829003018186803b15801561195d57600080fd5b90508015611eda576000546040805163498dd0c160e01b8152600481018a905290516001600160a01b039092169163498dd0c191602480820192602092909190829003018186803b158015611da757600080fd5b505afa158015611dbb573d6000803e3d6000fd5b505050506040513d6020811015611dd157600080fd5b505160005460408051636bd8225b60e11b8152600481018b905290516001600160a01b03938416936323b872dd93339391169163d7b044b691602480820192602092909190829003018186803b158015611e2a57600080fd5b505afa158015611e3e573d6000803e3d6000fd5b505050506040513d6020811015611e5457600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039384166004820152929091166024830152604482018590525160648083019260209291908290030181600087803b158015611ead57600080fd5b505af1158015611ec1573d6000803e3d6000fd5b505050506040513d6020811015611ed757600080fd5b50505b6000611eec838363ffffffff6126ac16565b90508015612073576000546040805163498dd0c160e01b8152600481018b905290516001600160a01b039092169163498dd0c191602480820192602092909190829003018186803b158015611f4057600080fd5b505afa158015611f54573d6000803e3d6000fd5b505050506040513d6020811015611f6a57600080fd5b50516000546040805163a47d29cb60e01b8152600481018c905290516001600160a01b03938416936323b872dd93339391169163a47d29cb91602480820192602092909190829003018186803b158015611fc357600080fd5b505afa158015611fd7573d6000803e3d6000fd5b505050506040513d6020811015611fed57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039384166004820152929091166024830152604482018590525160648083019260209291908290030181600087803b15801561204657600080fd5b505af115801561205a573d6000803e3d6000fd5b505050506040513d602081101561207057600080fd5b50505b5050505050505050565b34156125e6576000805460408051633dc303c160e21b81526004810185905290516001600160a01b039092169163f70c0f0491602480820192602092909190829003018186803b1580156120d057600080fd5b505afa1580156120e4573d6000803e3d6000fd5b505050506040513d60208110156120fa57600080fd5b50516000805460408051633dc303c160e21b8152600481018790529051939450919261218a926001600160a01b039092169163f70c0f04916024808301926020929190829003018186803b15801561215157600080fd5b505afa158015612165573d6000803e3d6000fd5b505050506040513d602081101561217b57600080fd5b5051349063ffffffff6126ac16565b905080156121c157604051339082156108fc029083906000818181858888f193505050501580156121bf573d6000803e3d6000fd5b505b6000805460408051632e9eb74f60e01b81529051612245926001600160a01b031691632e9eb74f916004808301926020929190829003018186803b15801561220857600080fd5b505afa15801561221c573d6000803e3d6000fd5b505050506040513d602081101561223257600080fd5b505161199a85606463ffffffff6125e916565b905080156122ff576000809054906101000a90046001600160a01b03166001600160a01b031663cfbf4d976040518163ffffffff1660e01b815260040160206040518083038186803b15801561229a57600080fd5b505afa1580156122ae573d6000803e3d6000fd5b505050506040513d60208110156122c457600080fd5b50516040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156122fd573d6000803e3d6000fd5b505b6000612311848363ffffffff6126ac16565b9050600061232f60025461199a6064856125e990919063ffffffff16565b90508015612373576001546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015612371573d6000803e3d6000fd5b505b600061238982611c75888763ffffffff6126ac16565b600080546040805163cc74234b60e01b8152600481018c90529051939450919283926001600160a01b039092169163cc74234b916024808301926020929190829003018186803b1580156123dc57600080fd5b505afa1580156123f0573d6000803e3d6000fd5b505050506040513d602081101561240657600080fd5b50511115612514576000546040805163cc74234b60e01b8152600481018b9052905161245b926001600160a01b03169163cc74234b916024808301926020929190829003018186803b15801561195d57600080fd5b905080156125145760005460408051636bd8225b60e11b8152600481018b905290516001600160a01b039092169163d7b044b691602480820192602092909190829003018186803b1580156124af57600080fd5b505afa1580156124c3573d6000803e3d6000fd5b505050506040513d60208110156124d957600080fd5b50516040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015612512573d6000803e3d6000fd5b505b6000612526838363ffffffff6126ac16565b905080156125dd576000546040805163a47d29cb60e01b8152600481018c905290516001600160a01b039092169163a47d29cb91602480820192602092909190829003018186803b15801561257a57600080fd5b505afa15801561258e573d6000803e3d6000fd5b505050506040513d60208110156125a457600080fd5b50516040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015612070573d6000803e3d6000fd5b50505050505050505b50565b600080821161263f576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161264a57fe5b04949350505050565b60008261266257506000611359565b8282028284828161266f57fe5b04146113565760405162461bcd60e51b815260040180806020018281038252602181526020018061272c6021913960400191505060405180910390fd5b600082821115612703576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe496e73756666696369656e742046756e647320417070726f76656420666f72205458536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77746869732070726f6a6563742061636365707473206120646966666572656e742063757272656e637920616e642063616e6e6f7420616363657074204554484d6178696d756d206e756d626572206f6620696e766f636174696f6e73207265616368656463616e206f6e6c79206265207365742062792061646d696e0000000000000000a265627a7a72315820fb5a392194959e8c406051d0fd10989e2c3edc14f06a2888b8fc136725edc6d864736f6c63430005110032000000000000000000000000a319c382a702682129fcbf55d514e61a16f97f9c

Deployed Bytecode

0x60806040526004361061012a5760003560e01c806373709417116100ab57806395e3b0de1161006f57806395e3b0de146103dc578063a980960014610406578063efef39a114610430578063f46321031461044d578063f7bd4b8814610477578063f9f96b9e146104a15761012a565b806373709417146103165780637e6906de146103405780637f38902b14610386578063891407c01461039b5780638f84aa09146103c75761012a565b806341da7555116100f257806341da755514610245578063462add461461025a57806356690aaf14610298578063569f6f92146102c257806362f7a7ed146102ec5761012a565b8063231c22811461012f578063331a6bf514610164578063393b011c146101975780633a4657b4146101c15780633c34b9f01461020c575b600080fd5b34801561013b57600080fd5b506101626004803603604081101561015257600080fd5b508035906020013560ff166104cb565b005b34801561017057600080fd5b506101626004803603602081101561018757600080fd5b50356001600160a01b0316610599565b3480156101a357600080fd5b50610162600480360360208110156101ba57600080fd5b5035610671565b3480156101cd57600080fd5b506101fa600480360360408110156101e457600080fd5b506001600160a01b03813516906020013561072c565b60408051918252519081900360200190f35b34801561021857600080fd5b506101626004803603604081101561022f57600080fd5b50803590602001356001600160a01b0316610749565b34801561025157600080fd5b506101fa610847565b34801561026657600080fd5b506102846004803603602081101561027d57600080fd5b503561084d565b604080519115158252519081900360200190f35b3480156102a457600080fd5b506101fa600480360360208110156102bb57600080fd5b5035610862565b3480156102ce57600080fd5b50610162600480360360208110156102e557600080fd5b5035610874565b3480156102f857600080fd5b506101fa6004803603602081101561030f57600080fd5b503561094a565b34801561032257600080fd5b506102846004803603602081101561033957600080fd5b503561095c565b34801561034c57600080fd5b5061036a6004803603602081101561036357600080fd5b5035610971565b604080516001600160a01b039092168252519081900360200190f35b34801561039257600080fd5b5061036a61098c565b6101fa600480360360408110156103b157600080fd5b506001600160a01b03813516906020013561099b565b3480156103d357600080fd5b5061036a61135f565b3480156103e857600080fd5b50610162600480360360208110156103ff57600080fd5b503561136e565b34801561041257600080fd5b506101fa6004803603602081101561042957600080fd5b503561145e565b6101fa6004803603602081101561044657600080fd5b5035611551565b34801561045957600080fd5b506101fa6004803603602081101561047057600080fd5b503561155d565b34801561048357600080fd5b506101626004803603602081101561049a57600080fd5b5035611623565b3480156104ad57600080fd5b50610284600480360360208110156104c457600080fd5b5035611881565b60005460408051633af32abf60e01b815233600482015290516001600160a01b0390921691633af32abf91602480820192602092909190829003018186803b15801561051657600080fd5b505afa15801561052a573d6000803e3d6000fd5b505050506040513d602081101561054057600080fd5b5051610581576040805162461bcd60e51b815260206004820152601860248201526000805160206127b1833981519152604482015290519081900360640190fd5b60009182526007602052604090912060ff9091169055565b60005460408051633af32abf60e01b815233600482015290516001600160a01b0390921691633af32abf91602480820192602092909190829003018186803b1580156105e457600080fd5b505afa1580156105f8573d6000803e3d6000fd5b505050506040513d602081101561060e57600080fd5b505161064f576040805162461bcd60e51b815260206004820152601860248201526000805160206127b1833981519152604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60005460408051633af32abf60e01b815233600482015290516001600160a01b0390921691633af32abf91602480820192602092909190829003018186803b1580156106bc57600080fd5b505afa1580156106d0573d6000803e3d6000fd5b505050506040513d60208110156106e657600080fd5b5051610727576040805162461bcd60e51b815260206004820152601860248201526000805160206127b1833981519152604482015290519081900360640190fd5b600255565b600660209081526000928352604080842090915290825290205481565b6000546040805163a47d29cb60e01b81526004810185905290516001600160a01b039092169163a47d29cb91602480820192602092909190829003018186803b15801561079557600080fd5b505afa1580156107a9573d6000803e3d6000fd5b505050506040513d60208110156107bf57600080fd5b50516001600160a01b03163314610819576040805162461bcd60e51b815260206004820152601960248201527818d85b881bdb9b1e481899481cd95d08189e48185c9d1a5cdd603a1b604482015290519081900360640190fd5b60009182526004602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b60025481565b60086020526000908152604090205460ff1681565b60096020526000908152604090205481565b60005460408051633af32abf60e01b815233600482015290516001600160a01b0390921691633af32abf91602480820192602092909190829003018186803b1580156108bf57600080fd5b505afa1580156108d3573d6000803e3d6000fd5b505050506040513d60208110156108e957600080fd5b505161092a576040805162461bcd60e51b815260206004820152601860248201526000805160206127b1833981519152604482015290519081900360640190fd5b6000908152600560205260409020805460ff19811660ff90911615179055565b60076020526000908152604090205481565b60036020526000908152604090205460ff1681565b6004602052600090815260409020546001600160a01b031681565b6000546001600160a01b031681565b60008181526008602052604081205460ff16156109e95760405162461bcd60e51b815260040180806020018281038252602581526020018061278c6025913960400191505060405180910390fd5b604080516208aa8960eb1b602080830191909152825180830360030181526023830180855281519190920120600080546320927ec960e01b90935260278401879052935190936001600160a01b03909216926320927ec9926047808301939192829003018186803b158015610a5d57600080fd5b505afa158015610a71573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610a9a57600080fd5b8101908080516040519392919084600160201b821115610ab957600080fd5b908301906020820185811115610ace57600080fd5b8251600160201b811182820188101715610ae757600080fd5b82525081516020918201929091019080838360005b83811015610b14578181015183820152602001610afc565b50505050905090810190601f168015610b415780820380516001836020036101000a031916815260200191505b506040525050506040516020018082805190602001908083835b60208310610b7a5780518252601f199092019160209182019101610b5b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012014610f5b573415610bf75760405162461bcd60e51b815260040180806020018281038252603f81526020018061274d603f913960400191505060405180910390fd5b60005460408051633dc303c160e21b81526004810185905290516001600160a01b039092169163f70c0f0491602480820192602092909190829003018186803b158015610c4357600080fd5b505afa158015610c57573d6000803e3d6000fd5b505050506040513d6020811015610c6d57600080fd5b50516000546040805163498dd0c160e01b81526004810186905290516001600160a01b039092169163498dd0c191602480820192602092909190829003018186803b158015610cbb57600080fd5b505afa158015610ccf573d6000803e3d6000fd5b505050506040513d6020811015610ce557600080fd5b505160408051636eb1769f60e11b815233600482015230602482015290516001600160a01b039092169163dd62ed3e91604480820192602092909190829003018186803b158015610d3557600080fd5b505afa158015610d49573d6000803e3d6000fd5b505050506040513d6020811015610d5f57600080fd5b50511015610d9e5760405162461bcd60e51b815260040180806020018281038252602281526020018061270a6022913960400191505060405180910390fd5b60005460408051633dc303c160e21b81526004810185905290516001600160a01b039092169163f70c0f0491602480820192602092909190829003018186803b158015610dea57600080fd5b505afa158015610dfe573d6000803e3d6000fd5b505050506040513d6020811015610e1457600080fd5b50516000546040805163498dd0c160e01b81526004810186905290516001600160a01b039092169163498dd0c191602480820192602092909190829003018186803b158015610e6257600080fd5b505afa158015610e76573d6000803e3d6000fd5b505050506040513d6020811015610e8c57600080fd5b5051604080516370a0823160e01b815233600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610ed657600080fd5b505afa158015610eea573d6000803e3d6000fd5b505050506040513d6020811015610f0057600080fd5b50511015610f4d576040805162461bcd60e51b815260206004820152601560248201527424b739bab33334b1b4b2b73a103130b630b731b29760591b604482015290519081900360640190fd5b610f5682611896565b611030565b60005460408051633dc303c160e21b81526004810185905290516001600160a01b039092169163f70c0f0491602480820192602092909190829003018186803b158015610fa757600080fd5b505afa158015610fbb573d6000803e3d6000fd5b505050506040513d6020811015610fd157600080fd5b5051341015611027576040805162461bcd60e51b815260206004820181905260248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e7421604482015290519081900360640190fd5b6110308261207d565b60008281526005602052604090205460ff161561108e5733321461108e576040805162461bcd60e51b815260206004820152601060248201526f4e6f20436f6e7472616374204275797360801b604482015290519081900360640190fd5b6000828152600760205260409020541561113457600082815260076020908152604080832054338452600683528184208685529092529091205410611112576040805162461bcd60e51b815260206004820152601560248201527414995858da1959081b5a5b9d1a5b99c81b1a5b5a5d605a1b604482015290519081900360640190fd5b3360009081526006602090815260408083208584529091529020805460010190555b6000805460408051630d4d151360e01b81526001600160a01b0387811660048301526024820187905233604483015291519190921691630d4d151391606480830192602092919082900301818787803b15801561119057600080fd5b505af11580156111a4573d6000803e3d6000fd5b505050506040513d60208110156111ba57600080fd5b505160008481526009602052604090205490915060001901620f4240820614156111f8576000838152600860205260409020805460ff191660011790555b60008381526003602052604090205460ff1615611356576000838152600460208181526040928390205483516305e667fd60e21b815293516001600160a01b03909116936317999ff493818101939291829003018186803b15801561125c57600080fd5b505afa158015611270573d6000803e3d6000fd5b505050506040513d602081101561128657600080fd5b50516112d0576040805162461bcd60e51b8152602060048201526014602482015273626f6e7573206d7573742062652061637469766560601b604482015290519081900360640190fd5b600083815260046020818152604080842054815163f473237d60e01b8152339481019490945290516001600160a01b039091169363f473237d936024808201949392918390030190829087803b15801561132957600080fd5b505af115801561133d573d6000803e3d6000fd5b505050506040513d602081101561135357600080fd5b50505b90505b92915050565b6001546001600160a01b031681565b6000546040805163a47d29cb60e01b81526004810184905290516001600160a01b039092169163a47d29cb91602480820192602092909190829003018186803b1580156113ba57600080fd5b505afa1580156113ce573d6000803e3d6000fd5b505050506040513d60208110156113e457600080fd5b50516001600160a01b0316331461143e576040805162461bcd60e51b815260206004820152601960248201527818d85b881bdb9b1e481899481cd95d08189e48185c9d1a5cdd603a1b604482015290519081900360640190fd5b6000908152600360205260409020805460ff19811660ff90911615179055565b600080546040805163498dd0c160e01b815260048101859052905183926001600160a01b03169163498dd0c1916024808301926020929190829003018186803b1580156114aa57600080fd5b505afa1580156114be573d6000803e3d6000fd5b505050506040513d60208110156114d457600080fd5b5051604080516370a0823160e01b815233600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561151e57600080fd5b505afa158015611532573d6000803e3d6000fd5b505050506040513d602081101561154857600080fd5b50519392505050565b6000611359338361099b565b600080546040805163498dd0c160e01b815260048101859052905183926001600160a01b03169163498dd0c1916024808301926020929190829003018186803b1580156115a957600080fd5b505afa1580156115bd573d6000803e3d6000fd5b505050506040513d60208110156115d357600080fd5b505160408051636eb1769f60e11b815233600482015230602482015290516001600160a01b039092169163dd62ed3e91604480820192602092909190829003018186803b15801561151e57600080fd5b60005460408051633af32abf60e01b815233600482015290516001600160a01b0390921691633af32abf91602480820192602092909190829003018186803b15801561166e57600080fd5b505afa158015611682573d6000803e3d6000fd5b505050506040513d602081101561169857600080fd5b50516116d9576040805162461bcd60e51b815260206004820152601860248201526000805160206127b1833981519152604482015290519081900360640190fd5b60008054604080516346161b1160e11b815260048101859052905183926001600160a01b031691638c2c36229160248083019286929190829003018186803b15801561172457600080fd5b505afa158015611738573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261012081101561176257600080fd5b815160208301516040808501516060860151608087015160a088015160c089015160e08a0180519651989a979995989497939692959194939182019284600160201b8211156117b057600080fd5b9083019060208201858111156117c557600080fd5b8251600160201b8111828201881017156117de57600080fd5b82525081516020918201929091019080838360005b8381101561180b5781810151838201526020016117f3565b50505050905090810190601f1680156118385780820380516001836020036101000a031916815260200191505b50604090815260008f815260096020522088905550959a5095985050505086861015945061187c9350505050576000838152600860205260409020805460ff191690555b505050565b60056020526000908152604090205460ff1681565b6000805460408051633dc303c160e21b81526004810185905290516001600160a01b039092169163f70c0f0491602480820192602092909190829003018186803b1580156118e357600080fd5b505afa1580156118f7573d6000803e3d6000fd5b505050506040513d602081101561190d57600080fd5b50516000805460408051632e9eb74f60e01b8152905193945091926119a6926001600160a01b0390921691632e9eb74f916004808301926020929190829003018186803b15801561195d57600080fd5b505afa158015611971573d6000803e3d6000fd5b505050506040513d602081101561198757600080fd5b505161199a84606463ffffffff6125e916565b9063ffffffff61265316565b90508015611b26576000546040805163498dd0c160e01b81526004810186905290516001600160a01b039092169163498dd0c191602480820192602092909190829003018186803b1580156119fa57600080fd5b505afa158015611a0e573d6000803e3d6000fd5b505050506040513d6020811015611a2457600080fd5b50516000546040805163cfbf4d9760e01b815290516001600160a01b03938416936323b872dd93339391169163cfbf4d9791600480820192602092909190829003018186803b158015611a7657600080fd5b505afa158015611a8a573d6000803e3d6000fd5b505050506040513d6020811015611aa057600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039384166004820152929091166024830152604482018590525160648083019260209291908290030181600087803b158015611af957600080fd5b505af1158015611b0d573d6000803e3d6000fd5b505050506040513d6020811015611b2357600080fd5b50505b6000611b38838363ffffffff6126ac16565b90506000611b5660025461199a6064856125e990919063ffffffff16565b90508015611c5f576000546040805163498dd0c160e01b81526004810188905290516001600160a01b039092169163498dd0c191602480820192602092909190829003018186803b158015611baa57600080fd5b505afa158015611bbe573d6000803e3d6000fd5b505050506040513d6020811015611bd457600080fd5b5051600154604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101859052905191909216916323b872dd9160648083019260209291908290030181600087803b158015611c3257600080fd5b505af1158015611c46573d6000803e3d6000fd5b505050506040513d6020811015611c5c57600080fd5b50505b6000611c8182611c75878763ffffffff6126ac16565b9063ffffffff6126ac16565b600080546040805163cc74234b60e01b8152600481018b90529051939450919283926001600160a01b039092169163cc74234b916024808301926020929190829003018186803b158015611cd457600080fd5b505afa158015611ce8573d6000803e3d6000fd5b505050506040513d6020811015611cfe57600080fd5b50511115611eda576000546040805163cc74234b60e01b8152600481018a90529051611d53926001600160a01b03169163cc74234b916024808301926020929190829003018186803b15801561195d57600080fd5b90508015611eda576000546040805163498dd0c160e01b8152600481018a905290516001600160a01b039092169163498dd0c191602480820192602092909190829003018186803b158015611da757600080fd5b505afa158015611dbb573d6000803e3d6000fd5b505050506040513d6020811015611dd157600080fd5b505160005460408051636bd8225b60e11b8152600481018b905290516001600160a01b03938416936323b872dd93339391169163d7b044b691602480820192602092909190829003018186803b158015611e2a57600080fd5b505afa158015611e3e573d6000803e3d6000fd5b505050506040513d6020811015611e5457600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039384166004820152929091166024830152604482018590525160648083019260209291908290030181600087803b158015611ead57600080fd5b505af1158015611ec1573d6000803e3d6000fd5b505050506040513d6020811015611ed757600080fd5b50505b6000611eec838363ffffffff6126ac16565b90508015612073576000546040805163498dd0c160e01b8152600481018b905290516001600160a01b039092169163498dd0c191602480820192602092909190829003018186803b158015611f4057600080fd5b505afa158015611f54573d6000803e3d6000fd5b505050506040513d6020811015611f6a57600080fd5b50516000546040805163a47d29cb60e01b8152600481018c905290516001600160a01b03938416936323b872dd93339391169163a47d29cb91602480820192602092909190829003018186803b158015611fc357600080fd5b505afa158015611fd7573d6000803e3d6000fd5b505050506040513d6020811015611fed57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039384166004820152929091166024830152604482018590525160648083019260209291908290030181600087803b15801561204657600080fd5b505af115801561205a573d6000803e3d6000fd5b505050506040513d602081101561207057600080fd5b50505b5050505050505050565b34156125e6576000805460408051633dc303c160e21b81526004810185905290516001600160a01b039092169163f70c0f0491602480820192602092909190829003018186803b1580156120d057600080fd5b505afa1580156120e4573d6000803e3d6000fd5b505050506040513d60208110156120fa57600080fd5b50516000805460408051633dc303c160e21b8152600481018790529051939450919261218a926001600160a01b039092169163f70c0f04916024808301926020929190829003018186803b15801561215157600080fd5b505afa158015612165573d6000803e3d6000fd5b505050506040513d602081101561217b57600080fd5b5051349063ffffffff6126ac16565b905080156121c157604051339082156108fc029083906000818181858888f193505050501580156121bf573d6000803e3d6000fd5b505b6000805460408051632e9eb74f60e01b81529051612245926001600160a01b031691632e9eb74f916004808301926020929190829003018186803b15801561220857600080fd5b505afa15801561221c573d6000803e3d6000fd5b505050506040513d602081101561223257600080fd5b505161199a85606463ffffffff6125e916565b905080156122ff576000809054906101000a90046001600160a01b03166001600160a01b031663cfbf4d976040518163ffffffff1660e01b815260040160206040518083038186803b15801561229a57600080fd5b505afa1580156122ae573d6000803e3d6000fd5b505050506040513d60208110156122c457600080fd5b50516040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156122fd573d6000803e3d6000fd5b505b6000612311848363ffffffff6126ac16565b9050600061232f60025461199a6064856125e990919063ffffffff16565b90508015612373576001546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015612371573d6000803e3d6000fd5b505b600061238982611c75888763ffffffff6126ac16565b600080546040805163cc74234b60e01b8152600481018c90529051939450919283926001600160a01b039092169163cc74234b916024808301926020929190829003018186803b1580156123dc57600080fd5b505afa1580156123f0573d6000803e3d6000fd5b505050506040513d602081101561240657600080fd5b50511115612514576000546040805163cc74234b60e01b8152600481018b9052905161245b926001600160a01b03169163cc74234b916024808301926020929190829003018186803b15801561195d57600080fd5b905080156125145760005460408051636bd8225b60e11b8152600481018b905290516001600160a01b039092169163d7b044b691602480820192602092909190829003018186803b1580156124af57600080fd5b505afa1580156124c3573d6000803e3d6000fd5b505050506040513d60208110156124d957600080fd5b50516040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015612512573d6000803e3d6000fd5b505b6000612526838363ffffffff6126ac16565b905080156125dd576000546040805163a47d29cb60e01b8152600481018c905290516001600160a01b039092169163a47d29cb91602480820192602092909190829003018186803b15801561257a57600080fd5b505afa15801561258e573d6000803e3d6000fd5b505050506040513d60208110156125a457600080fd5b50516040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015612070573d6000803e3d6000fd5b50505050505050505b50565b600080821161263f576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161264a57fe5b04949350505050565b60008261266257506000611359565b8282028284828161266f57fe5b04146113565760405162461bcd60e51b815260040180806020018281038252602181526020018061272c6021913960400191505060405180910390fd5b600082821115612703576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe496e73756666696369656e742046756e647320417070726f76656420666f72205458536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77746869732070726f6a6563742061636365707473206120646966666572656e742063757272656e637920616e642063616e6e6f7420616363657074204554484d6178696d756d206e756d626572206f6620696e766f636174696f6e73207265616368656463616e206f6e6c79206265207365742062792061646d696e0000000000000000a265627a7a72315820fb5a392194959e8c406051d0fd10989e2c3edc14f06a2888b8fc136725edc6d864736f6c63430005110032

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

000000000000000000000000a319c382a702682129fcbf55d514e61a16f97f9c

-----Decoded View---------------
Arg [0] : _genArt721Address (address): 0xa319C382a702682129fcbF55d514E61a16f97f9c

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


Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.