More Info
Private Name Tags
ContractCreator
Sponsored
Latest 25 from a total of 85 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Recycle Multiple | 8169671 | 38 days ago | IN | 1.24341402 ETH | 0.00000073 | ||||
Recycle Multiple | 7996947 | 42 days ago | IN | 1.24301871 ETH | 0.0000562 | ||||
Recycle Multiple | 7977561 | 42 days ago | IN | 1.24292249 ETH | 0.0000595 | ||||
Recycle Multiple | 7977557 | 42 days ago | IN | 1.24292249 ETH | 0.00007856 | ||||
Recycle Multiple | 7977552 | 42 days ago | IN | 1.24292249 ETH | 0.00007877 | ||||
Recycle Multiple | 7977548 | 42 days ago | IN | 1.24292249 ETH | 0.00007835 | ||||
Recycle Multiple | 7977546 | 42 days ago | IN | 1.24292249 ETH | 0.00008954 | ||||
Recycle Multiple | 7977542 | 42 days ago | IN | 1.24292249 ETH | 0.00007808 | ||||
Recycle Multiple | 7766844 | 47 days ago | IN | 1.2424412 ETH | 0.00000805 | ||||
Recycle Multiple | 7766791 | 47 days ago | IN | 1.2424412 ETH | 0.00004333 | ||||
Recycle Multiple | 7766786 | 47 days ago | IN | 1.2424412 ETH | 0.00004273 | ||||
Recycle Multiple | 7766784 | 47 days ago | IN | 1.2424412 ETH | 0.00004853 | ||||
Recycle Multiple | 7766754 | 47 days ago | IN | 1.25 ETH | 0.0000327 | ||||
Recycle Multiple | 7766722 | 47 days ago | IN | 1.25 ETH | 0.00003267 | ||||
Recycle Multiple | 7766689 | 47 days ago | IN | 1.2424412 ETH | 0.00004786 | ||||
Recycle Multiple | 7766680 | 47 days ago | IN | 1.2424412 ETH | 0.00005972 | ||||
Recycle Multiple | 7631135 | 50 days ago | IN | 1.24214993 ETH | 0.00001522 | ||||
Recycle Multiple | 7631130 | 50 days ago | IN | 1.24214993 ETH | 0.0000363 | ||||
Recycle Multiple | 7631124 | 50 days ago | IN | 1.24214993 ETH | 0.00003663 | ||||
Recycle Multiple | 7631119 | 50 days ago | IN | 1.24214993 ETH | 0.00003685 | ||||
Recycle Multiple | 7504107 | 53 days ago | IN | 1.24185916 ETH | 0.00000185 | ||||
Recycle Multiple | 7503894 | 53 days ago | IN | 1.24185916 ETH | 0.00000634 | ||||
Recycle Multiple | 7503887 | 53 days ago | IN | 1.24185916 ETH | 0.0000063 | ||||
Recycle Multiple | 7503877 | 53 days ago | IN | 1.24185916 ETH | 0.00000631 | ||||
Recycle Multiple | 7503872 | 53 days ago | IN | 1.24185916 ETH | 0.00000621 |
Latest 25 internal transactions (View All)
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
8169671 | 38 days ago | 1.24341402 ETH | ||||
8169671 | 38 days ago | 1.24341402 ETH | ||||
8169671 | 38 days ago | 1.24341402 ETH | ||||
8169671 | 38 days ago | 1.24341402 ETH | ||||
8169671 | 38 days ago | 1.24341402 ETH | ||||
7996947 | 42 days ago | 1.24301871 ETH | ||||
7996947 | 42 days ago | 1.24301871 ETH | ||||
7996947 | 42 days ago | 1.24301871 ETH | ||||
7996947 | 42 days ago | 1.24301871 ETH | ||||
7996947 | 42 days ago | 1.24301871 ETH | ||||
7996947 | 42 days ago | 1.24301871 ETH | ||||
7996947 | 42 days ago | 1.24301871 ETH | ||||
7996947 | 42 days ago | 1.24301871 ETH | ||||
7996947 | 42 days ago | 1.24301871 ETH | ||||
7977561 | 42 days ago | 1.24292249 ETH | ||||
7977561 | 42 days ago | 1.24292249 ETH | ||||
7977561 | 42 days ago | 1.24292249 ETH | ||||
7977561 | 42 days ago | 1.24292249 ETH | ||||
7977561 | 42 days ago | 1.24292249 ETH | ||||
7977561 | 42 days ago | 1.24292249 ETH | ||||
7977561 | 42 days ago | 1.24292249 ETH | ||||
7977561 | 42 days ago | 1.24292249 ETH | ||||
7977561 | 42 days ago | 1.24292249 ETH | ||||
7977561 | 42 days ago | 1.24292249 ETH | ||||
7977561 | 42 days ago | 1.24292249 ETH |
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: GPL-3.0 /// This utility is not part of the Plutocats protocol and was created to provide /// a way to mint Plutocats at market price under high demand. pragma solidity >=0.8.0; import {IPlutocatsTokenMultibuy} from "../interfaces/IPlutocatsTokenMultibuy.sol"; import {IBlast} from "../interfaces/IBlast.sol"; import {Address} from "@openzeppelin/contracts/utils/Address.sol"; import {IReserve} from "../interfaces/IReserve.sol"; contract MarketMultiBuyer { using Address for address payable; event Minted(uint256 tokenId, address owner, uint256 price); /// The address of the pre-deployed Blast contract. address public constant BLAST_PREDEPLOY_ADDRESS = 0x4300000000000000000000000000000000000002; address public reserve; IBlast public blast; IPlutocatsTokenMultibuy public plutocats; constructor(address _plutocats, address _reserve) { plutocats = IPlutocatsTokenMultibuy(_plutocats); blast = IBlast(BLAST_PREDEPLOY_ADDRESS); blast.configureClaimableGas(); blast.configureGovernor(msg.sender); reserve = _reserve; plutocats.setApprovalForAll(address(reserve), true); } /// @dev Takes an integer amount of seconds and converts it to a wad amount of days. /// @dev Will not revert on overflow, only use where overflow is not possible. /// @dev Not meant for negative second amounts, it assumes x is positive. function toDaysWadUnsafe(uint256 x) internal pure returns (int256 r) { // solhint-disable-next-line no-inline-assembly assembly { // Multiply x by 1e18 and then divide it by 86400. r := div(mul(x, 1000000000000000000), 86400) } } function estimateMaxPricePer(uint256 amount) public view returns (uint256) { uint256 timeSinceStart = block.timestamp - plutocats.MINT_START(); uint256 totalSupply = plutocats.totalSupply(); uint256 vrgdaPrice = plutocats.getVRGDAPrice(toDaysWadUnsafe(timeSinceStart), totalSupply + amount); uint256 minPrice = vrgdaPrice; uint256 adjTotalSupply = plutocats.adjustedTotalSupply(); minPrice = reserve.balance / adjTotalSupply; if (vrgdaPrice < minPrice) { return minPrice; } return vrgdaPrice; } function estimateMaxAtCurrentPrice() public view returns (uint256) { uint256 price = plutocats.getPrice(); uint256 priceAt = price; uint256 count = 0; while(priceAt == price) { count++; priceAt = estimateMaxPricePer(count); } return count - 1; } function recycleMultiple(uint256 amount) external payable { uint256 price = plutocats.getPrice(); uint256[] memory mintedId = new uint256[](1); IReserve reserveContract = IReserve(reserve); for(uint256 i = 0; i < amount; i++) { if(price > msg.value) { payable(msg.sender).sendValue(msg.value); return; } mintedId[0] = plutocats.mint{value: price}(); reserveContract.quit(mintedId); price = plutocats.getPrice(); } payable(msg.sender).sendValue(msg.value); } function buyMultiple(uint256 amount) external payable returns (uint256, uint256, uint256) { uint256 price; uint256 mintedId; uint256 totalPrice = 0; uint256 firstMintedId = 0; for(uint256 i = 0; i < amount; i++) { price = plutocats.getPrice(); totalPrice += price; mintedId = plutocats.mint{value: price}(); if (i == 0) { firstMintedId = mintedId; } emit Minted(mintedId, msg.sender, price); plutocats.transferFrom(address(this), msg.sender, mintedId); } require(msg.value >= totalPrice, "payment too low"); uint256 refund = msg.value - totalPrice; if (refund > 0) { payable(msg.sender).sendValue(refund); } return (firstMintedId, mintedId, totalPrice); } receive() external payable {} fallback() external payable {} }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @dev Collection of functions related to the address type */ library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // This method relies on extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain`call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: value }(data); return _verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.staticcall(data); return _verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.delegatecall(data); return _verifyCallResult(success, returndata, errorMessage); } function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) { if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } }
// SPDX-License-Identifier: GPL-3.0 /// @title Interface for Blast predeploy pragma solidity >=0.8.0; enum YieldMode { AUTOMATIC, VOID, CLAIMABLE } enum GasMode { VOID, CLAIMABLE } interface IBlast { // configure function configureContract(address contractAddress, YieldMode _yield, GasMode gasMode, address governor) external; function configure(YieldMode _yield, GasMode gasMode, address governor) external; // base configuration options function configureClaimableYield() external; function configureClaimableYieldOnBehalf(address contractAddress) external; function configureAutomaticYield() external; function configureAutomaticYieldOnBehalf(address contractAddress) external; function configureVoidYield() external; function configureVoidYieldOnBehalf(address contractAddress) external; function configureClaimableGas() external; function configureClaimableGasOnBehalf(address contractAddress) external; function configureVoidGas() external; function configureVoidGasOnBehalf(address contractAddress) external; function configureGovernor(address _governor) external; function configureGovernorOnBehalf(address _newGovernor, address contractAddress) external; // claim yield function claimYield(address contractAddress, address recipientOfYield, uint256 amount) external returns (uint256); function claimAllYield(address contractAddress, address recipientOfYield) external returns (uint256); // claim gas function claimAllGas(address contractAddress, address recipientOfGas) external returns (uint256); function claimGasAtMinClaimRate(address contractAddress, address recipientOfGas, uint256 minClaimRateBips) external returns (uint256); function claimMaxGas(address contractAddress, address recipientOfGas) external returns (uint256); function claimGas(address contractAddress, address recipientOfGas, uint256 gasToClaim, uint256 gasSecondsToConsume) external returns (uint256); // read functions function readClaimableYield(address contractAddress) external view returns (uint256); function readYieldConfiguration(address contractAddress) external view returns (uint8); function readGasParams(address contractAddress) external view returns (uint256 etherSeconds, uint256 etherBalance, uint256 lastUpdated, GasMode); }
// SPDX-License-Identifier: GPL-3.0 /// @title An interface for Plutocats Token pragma solidity >=0.8.0; interface IPlutocatsTokenMultibuy { function getPrice() external view returns (uint256); function mint() external payable returns (uint256); function transferFrom(address from, address to, uint256 tokenId) external; function getVRGDAPrice(int256 timeSinceStart, uint256 sold) external view returns (uint256); // solhint-disable-next-line func-name-mixedcase function MINT_START() external view returns (uint256); function adjustedTotalSupply() external view returns (uint256); function totalSupply() external view returns (uint256); function setApprovalForAll(address operator, bool approved) external; }
// SPDX-License-Identifier: GPL-3.0 /// @title Interface for Plutocats Reserve pragma solidity >=0.8.0; interface IReserve { event Quit(address indexed msgSender, uint256 amount, uint256[] tokenIds); event SetBlastGovernor(address indexed governor); error NoCirculatingSupply(); function setGovernor(address _governor) external; function quit(uint256[] calldata tokenIds) external; }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_plutocats","type":"address"},{"internalType":"address","name":"_reserve","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"}],"name":"Minted","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"BLAST_PREDEPLOY_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blast","outputs":[{"internalType":"contract IBlast","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"buyMultiple","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"estimateMaxAtCurrentPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"estimateMaxPricePer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"plutocats","outputs":[{"internalType":"contract IPlutocatsTokenMultibuy","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"recycleMultiple","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"reserve","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051610d96380380610d9683398101604081905261002f916101b8565b600280546001600160a01b03199081166001600160a01b038516179091556001805473430000000000000000000000000000000000000292168217905560408051634e606c4760e01b81529051634e606c479160048082019260009290919082900301818387803b1580156100a357600080fd5b505af11580156100b7573d6000803e3d6000fd5b5050600154604051631d70c8d360e31b81523360048201526001600160a01b03909116925063eb8646989150602401600060405180830381600087803b15801561010057600080fd5b505af1158015610114573d6000803e3d6000fd5b5050600080546001600160a01b0319166001600160a01b0385811691821790925560025460405163a22cb46560e01b8152600481019290925260016024830152909116925063a22cb4659150604401600060405180830381600087803b15801561017d57600080fd5b505af1158015610191573d6000803e3d6000fd5b5050505050506101eb565b80516001600160a01b03811681146101b357600080fd5b919050565b600080604083850312156101cb57600080fd5b6101d48361019c565b91506101e26020840161019c565b90509250929050565b610b9c806101fa6000396000f3fe6080604052600436106100795760003560e01c8063b0d091af1161004b578063b0d091af14610115578063c766003514610143578063cd3293de1461015e578063f3c016171461017e57005b80630eb7f54d14610082578063175e1a7d146100b557806351e87277146100ed5780639b77cf6d1461010257005b3661008057005b005b34801561008e57600080fd5b506100a261009d366004610a5d565b61019e565b6040519081526020015b60405180910390f35b3480156100c157600080fd5b506001546100d5906001600160a01b031681565b6040516001600160a01b0390911681526020016100ac565b3480156100f957600080fd5b506100a26103e0565b610080610110366004610a5d565b610497565b610128610123366004610a5d565b6106f0565b604080519384526020840192909252908201526060016100ac565b34801561014f57600080fd5b506100d56002604360981b0181565b34801561016a57600080fd5b506000546100d5906001600160a01b031681565b34801561018a57600080fd5b506002546100d5906001600160a01b031681565b600080600260009054906101000a90046001600160a01b03166001600160a01b031663c6374d0c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102189190610a76565b6102229042610aa5565b90506000600260009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610279573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029d9190610a76565b6002549091506000906001600160a01b031663f466d4ab62015180670de0b6b3a76400008602046102ce8886610abe565b6040516001600160e01b031960e085901b16815260048101929092526024820152604401602060405180830381865afa15801561030f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103339190610a76565b600254604080516347898a5b60e11b8152905192935083926000926001600160a01b031691638f1314b69160048083019260209291908290030181865afa158015610382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a69190610a76565b6000549091506103c19082906001600160a01b031631610ad1565b9150818310156103d5575095945050505050565b509095945050505050565b600080600260009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610436573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045a9190610a76565b90508060005b828203610484578061047181610af3565b91505061047d8161019e565b9150610460565b61048f600182610aa5565b935050505090565b60025460408051634c6afee560e11b815290516000926001600160a01b0316916398d5fdca9160048083019260209291908290030181865afa1580156104e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105059190610a76565b604080516001808252818301909252919250600091906020808301908036833701905050600080549192506001600160a01b03909116905b848110156106df573484111561055e57610557333461093f565b5050505050565b600260009054906101000a90046001600160a01b03166001600160a01b0316631249c58b856040518263ffffffff1660e01b815260040160206040518083038185885af11580156105b3573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105d89190610a76565b836000815181106105eb576105eb610b0c565b602090810291909101015260405163d23c295360e01b81526001600160a01b0383169063d23c295390610622908690600401610b22565b600060405180830381600087803b15801561063c57600080fd5b505af1158015610650573d6000803e3d6000fd5b50505050600260009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cb9190610a76565b9350806106d781610af3565b91505061053d565b506106ea333461093f565b50505050565b6000808080808080805b888110156108cc57600260009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610755573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107799190610a76565b94506107858584610abe565b9250600260009054906101000a90046001600160a01b03166001600160a01b0316631249c58b866040518263ffffffff1660e01b815260040160206040518083038185885af11580156107dc573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108019190610a76565b93508060000361080f578391505b604080518581523360208201529081018690527fc9d0543a84d3510329c0783b91576878ceb484e8699944cb5610c3436b3b8e399060600160405180910390a16002546040516323b872dd60e01b8152306004820152336024820152604481018690526001600160a01b03909116906323b872dd90606401600060405180830381600087803b1580156108a157600080fd5b505af11580156108b5573d6000803e3d6000fd5b5050505080806108c490610af3565b9150506106fa565b50813410156109145760405162461bcd60e51b815260206004820152600f60248201526e7061796d656e7420746f6f206c6f7760881b60448201526064015b60405180910390fd5b60006109208334610aa5565b9050801561093257610932338261093f565b5097919650945092505050565b8047101561098f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161090b565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146109dc576040519150601f19603f3d011682016040523d82523d6000602084013e6109e1565b606091505b5050905080610a585760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161090b565b505050565b600060208284031215610a6f57600080fd5b5035919050565b600060208284031215610a8857600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610ab857610ab8610a8f565b92915050565b80820180821115610ab857610ab8610a8f565b600082610aee57634e487b7160e01b600052601260045260246000fd5b500490565b600060018201610b0557610b05610a8f565b5060010190565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b81811015610b5a57835183529284019291840191600101610b3e565b5090969550505050505056fea26469706673582212202aea99b3a823d87b16eec345d90e21cd638777018e0aef844c0c71240cdf699364736f6c63430008130033000000000000000000000000f084962cdc640ed5c7d4e35e52929dac06b60f7c0000000000000000000000004ea682b94b7e13894c3d0b9afebfbdd38cdacc3c
Deployed Bytecode
0x6080604052600436106100795760003560e01c8063b0d091af1161004b578063b0d091af14610115578063c766003514610143578063cd3293de1461015e578063f3c016171461017e57005b80630eb7f54d14610082578063175e1a7d146100b557806351e87277146100ed5780639b77cf6d1461010257005b3661008057005b005b34801561008e57600080fd5b506100a261009d366004610a5d565b61019e565b6040519081526020015b60405180910390f35b3480156100c157600080fd5b506001546100d5906001600160a01b031681565b6040516001600160a01b0390911681526020016100ac565b3480156100f957600080fd5b506100a26103e0565b610080610110366004610a5d565b610497565b610128610123366004610a5d565b6106f0565b604080519384526020840192909252908201526060016100ac565b34801561014f57600080fd5b506100d56002604360981b0181565b34801561016a57600080fd5b506000546100d5906001600160a01b031681565b34801561018a57600080fd5b506002546100d5906001600160a01b031681565b600080600260009054906101000a90046001600160a01b03166001600160a01b031663c6374d0c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102189190610a76565b6102229042610aa5565b90506000600260009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610279573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029d9190610a76565b6002549091506000906001600160a01b031663f466d4ab62015180670de0b6b3a76400008602046102ce8886610abe565b6040516001600160e01b031960e085901b16815260048101929092526024820152604401602060405180830381865afa15801561030f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103339190610a76565b600254604080516347898a5b60e11b8152905192935083926000926001600160a01b031691638f1314b69160048083019260209291908290030181865afa158015610382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a69190610a76565b6000549091506103c19082906001600160a01b031631610ad1565b9150818310156103d5575095945050505050565b509095945050505050565b600080600260009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610436573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045a9190610a76565b90508060005b828203610484578061047181610af3565b91505061047d8161019e565b9150610460565b61048f600182610aa5565b935050505090565b60025460408051634c6afee560e11b815290516000926001600160a01b0316916398d5fdca9160048083019260209291908290030181865afa1580156104e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105059190610a76565b604080516001808252818301909252919250600091906020808301908036833701905050600080549192506001600160a01b03909116905b848110156106df573484111561055e57610557333461093f565b5050505050565b600260009054906101000a90046001600160a01b03166001600160a01b0316631249c58b856040518263ffffffff1660e01b815260040160206040518083038185885af11580156105b3573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105d89190610a76565b836000815181106105eb576105eb610b0c565b602090810291909101015260405163d23c295360e01b81526001600160a01b0383169063d23c295390610622908690600401610b22565b600060405180830381600087803b15801561063c57600080fd5b505af1158015610650573d6000803e3d6000fd5b50505050600260009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cb9190610a76565b9350806106d781610af3565b91505061053d565b506106ea333461093f565b50505050565b6000808080808080805b888110156108cc57600260009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610755573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107799190610a76565b94506107858584610abe565b9250600260009054906101000a90046001600160a01b03166001600160a01b0316631249c58b866040518263ffffffff1660e01b815260040160206040518083038185885af11580156107dc573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108019190610a76565b93508060000361080f578391505b604080518581523360208201529081018690527fc9d0543a84d3510329c0783b91576878ceb484e8699944cb5610c3436b3b8e399060600160405180910390a16002546040516323b872dd60e01b8152306004820152336024820152604481018690526001600160a01b03909116906323b872dd90606401600060405180830381600087803b1580156108a157600080fd5b505af11580156108b5573d6000803e3d6000fd5b5050505080806108c490610af3565b9150506106fa565b50813410156109145760405162461bcd60e51b815260206004820152600f60248201526e7061796d656e7420746f6f206c6f7760881b60448201526064015b60405180910390fd5b60006109208334610aa5565b9050801561093257610932338261093f565b5097919650945092505050565b8047101561098f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161090b565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146109dc576040519150601f19603f3d011682016040523d82523d6000602084013e6109e1565b606091505b5050905080610a585760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161090b565b505050565b600060208284031215610a6f57600080fd5b5035919050565b600060208284031215610a8857600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610ab857610ab8610a8f565b92915050565b80820180821115610ab857610ab8610a8f565b600082610aee57634e487b7160e01b600052601260045260246000fd5b500490565b600060018201610b0557610b05610a8f565b5060010190565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b81811015610b5a57835183529284019291840191600101610b3e565b5090969550505050505056fea26469706673582212202aea99b3a823d87b16eec345d90e21cd638777018e0aef844c0c71240cdf699364736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000f084962cdc640ed5c7d4e35e52929dac06b60f7c0000000000000000000000004ea682b94b7e13894c3d0b9afebfbdd38cdacc3c
-----Decoded View---------------
Arg [0] : _plutocats (address): 0xF084962cdC640ED5c7d4e35E52929dAC06B60F7C
Arg [1] : _reserve (address): 0x4eA682B94B7e13894C3d0b9afEbFbDd38CdACc3C
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000f084962cdc640ed5c7d4e35e52929dac06b60f7c
Arg [1] : 0000000000000000000000004ea682b94b7e13894c3d0b9afebfbdd38cdacc3c
Deployed Bytecode Sourcemap
462:3740:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1735:591;;;;;;;;;;-1:-1:-1;1735:591:4;;;;;:::i;:::-;;:::i;:::-;;;345:25:5;;;333:2;318:18;1735:591:4;;;;;;;;783:19;;;;;;;;;;-1:-1:-1;783:19:4;;;;-1:-1:-1;;;;;783:19:4;;;;;;-1:-1:-1;;;;;559:32:5;;;541:51;;529:2;514:18;783:19:4;381:217:5;2332:321:4;;;;;;;;;;;;;:::i;2659:601::-;;;;;;:::i;:::-;;:::i;3266:863::-;;;;;;:::i;:::-;;:::i;:::-;;;;805:25:5;;;861:2;846:18;;839:34;;;;889:18;;;882:34;793:2;778:18;3266:863:4;603:319:5;656:92:4;;;;;;;;;;;;-1:-1:-1;;;;;656:92:4;;754:22;;;;;;;;;;-1:-1:-1;754:22:4;;;;-1:-1:-1;;;;;754:22:4;;;809:40;;;;;;;;;;-1:-1:-1;809:40:4;;;;-1:-1:-1;;;;;809:40:4;;;1735:591;1801:7;1820:22;1863:9;;;;;;;;;-1:-1:-1;;;;;1863:9:4;-1:-1:-1;;;;;1863:20:4;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1845:40;;:15;:40;:::i;:::-;1820:65;;1895:19;1917:9;;;;;;;;;-1:-1:-1;;;;;1917:9:4;-1:-1:-1;;;;;1917:21:4;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1971:9;;1895:45;;-1:-1:-1;1950:18:4;;-1:-1:-1;;;;;1971:9:4;:23;1707:5;1685:19;1678:27;;1674:39;2028:20;2042:6;2028:11;:20;:::i;:::-;1971:78;;-1:-1:-1;;;;;;1971:78:4;;;;;;;;;;2130:25:5;;;;2171:18;;;2164:34;2103:18;;1971:78:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2123:9;;:31;;;-1:-1:-1;;;2123:31:4;;;;1950:99;;-1:-1:-1;1950:99:4;;2059:16;;-1:-1:-1;;;;;2123:9:4;;:29;;:31;;;;;;;;;;;;;;:9;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2184:7;;2098:56;;-1:-1:-1;2184:32:4;;2098:56;;-1:-1:-1;;;;;2184:7:4;:15;:32;:::i;:::-;2173:43;;2243:8;2230:10;:21;2226:67;;;-1:-1:-1;2274:8:4;1735:591;-1:-1:-1;;;;;1735:591:4:o;2226:67::-;-1:-1:-1;2309:10:4;;1735:591;-1:-1:-1;;;;;1735:591:4:o;2332:321::-;2390:7;2409:13;2425:9;;;;;;;;;-1:-1:-1;;;;;2425:9:4;-1:-1:-1;;;;;2425:18:4;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2409:36;-1:-1:-1;2409:36:4;2455:15;2515:106;2532:5;2521:7;:16;2515:106;;2553:7;;;;:::i;:::-;;;;2584:26;2604:5;2584:19;:26::i;:::-;2574:36;;2515:106;;;2637:9;2645:1;2637:5;:9;:::i;:::-;2630:16;;;;;2332:321;:::o;2659:601::-;2743:9;;:20;;;-1:-1:-1;;;2743:20:4;;;;2727:13;;-1:-1:-1;;;;;2743:9:4;;:18;;:20;;;;;;;;;;;;;;:9;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2801:16;;;2815:1;2801:16;;;;;;;;;2727:36;;-1:-1:-1;2773:25:4;;2801:16;;;;;;;;;;;;-1:-1:-1;;2827:24:4;2863:7;;2773:44;;-1:-1:-1;;;;;;2863:7:4;;;;2881:323;2904:6;2900:1;:10;2881:323;;;2942:9;2934:5;:17;2931:119;;;2971:40;2979:10;3001:9;2971:29;:40::i;:::-;3029:7;;;;2659:601;:::o;2931:119::-;3077:9;;;;;;;;;-1:-1:-1;;;;;3077:9:4;-1:-1:-1;;;;;3077:14:4;;3099:5;3077:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3063:8;3072:1;3063:11;;;;;;;;:::i;:::-;;;;;;;;;;:44;3121:30;;-1:-1:-1;;;3121:30:4;;-1:-1:-1;;;;;3121:20:4;;;;;:30;;3142:8;;3121:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3173:9;;;;;;;;;-1:-1:-1;;;;;3173:9:4;-1:-1:-1;;;;;3173:18:4;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3165:28;-1:-1:-1;2912:3:4;;;;:::i;:::-;;;;2881:323;;;-1:-1:-1;3213:40:4;3221:10;3243:9;3213:29;:40::i;:::-;2717:543;;;2659:601;:::o;3266:863::-;3329:7;;;;;;;;3483:387;3506:6;3502:1;:10;3483:387;;;3541:9;;;;;;;;;-1:-1:-1;;;;;3541:9:4;-1:-1:-1;;;;;3541:18:4;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3533:28;-1:-1:-1;3575:19:4;3533:28;3575:19;;:::i;:::-;;;3619:9;;;;;;;;;-1:-1:-1;;;;;3619:9:4;-1:-1:-1;;;;;3619:14:4;;3641:5;3619:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3608:41;;3667:1;3672;3667:6;3663:69;;3709:8;3693:24;;3663:69;3750:35;;;3674:25:5;;;3767:10:4;3730:2:5;3715:18;;3708:60;3784:18;;;3777:34;;;3750:35:4;;3662:2:5;3647:18;3750:35:4;;;;;;;3799:9;;:59;;-1:-1:-1;;;3799:59:4;;3830:4;3799:59;;;4062:34:5;3837:10:4;4112:18:5;;;4105:43;4164:18;;;4157:34;;;-1:-1:-1;;;;;3799:9:4;;;;:22;;3997:18:5;;3799:59:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3514:3;;;;;:::i;:::-;;;;3483:387;;;;3900:10;3887:9;:23;;3879:51;;;;-1:-1:-1;;;3879:51:4;;4404:2:5;3879:51:4;;;4386:21:5;4443:2;4423:18;;;4416:30;-1:-1:-1;;;4462:18:5;;;4455:45;4517:18;;3879:51:4;;;;;;;;;3941:14;3958:22;3970:10;3958:9;:22;:::i;:::-;3941:39;-1:-1:-1;3994:10:4;;3990:78;;4020:37;4028:10;4050:6;4020:29;:37::i;:::-;-1:-1:-1;4086:13:4;4101:8;;-1:-1:-1;4101:8:4;-1:-1:-1;3266:863:4;-1:-1:-1;;;3266:863:4:o;2048:391:0:-;2162:6;2137:21;:31;;2129:73;;;;-1:-1:-1;;;2129:73:0;;4748:2:5;2129:73:0;;;4730:21:5;4787:2;4767:18;;;4760:30;4826:31;4806:18;;;4799:59;4875:18;;2129:73:0;4546:353:5;2129:73:0;2291:12;2309:9;-1:-1:-1;;;;;2309:14:0;2332:6;2309:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2290:54;;;2362:7;2354:78;;;;-1:-1:-1;;;2354:78:0;;5316:2:5;2354:78:0;;;5298:21:5;5355:2;5335:18;;;5328:30;5394:34;5374:18;;;5367:62;5465:28;5445:18;;;5438:56;5511:19;;2354:78:0;5114:422:5;2354:78:0;2119:320;2048:391;;:::o;14:180:5:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:5;;14:180;-1:-1:-1;14:180:5:o;1374:184::-;1444:6;1497:2;1485:9;1476:7;1472:23;1468:32;1465:52;;;1513:1;1510;1503:12;1465:52;-1:-1:-1;1536:16:5;;1374:184;-1:-1:-1;1374:184:5:o;1563:127::-;1624:10;1619:3;1615:20;1612:1;1605:31;1655:4;1652:1;1645:15;1679:4;1676:1;1669:15;1695:128;1762:9;;;1783:11;;;1780:37;;;1797:18;;:::i;:::-;1695:128;;;;:::o;1828:125::-;1893:9;;;1914:10;;;1911:36;;;1927:18;;:::i;2209:217::-;2249:1;2275;2265:132;;2319:10;2314:3;2310:20;2307:1;2300:31;2354:4;2351:1;2344:15;2382:4;2379:1;2372:15;2265:132;-1:-1:-1;2411:9:5;;2209:217::o;2431:135::-;2470:3;2491:17;;;2488:43;;2511:18;;:::i;:::-;-1:-1:-1;2558:1:5;2547:13;;2431:135::o;2703:127::-;2764:10;2759:3;2755:20;2752:1;2745:31;2795:4;2792:1;2785:15;2819:4;2816:1;2809:15;2835:632;3006:2;3058:21;;;3128:13;;3031:18;;;3150:22;;;2977:4;;3006:2;3229:15;;;;3203:2;3188:18;;;2977:4;3272:169;3286:6;3283:1;3280:13;3272:169;;;3347:13;;3335:26;;3416:15;;;;3381:12;;;;3308:1;3301:9;3272:169;;;-1:-1:-1;3458:3:5;;2835:632;-1:-1:-1;;;;;;2835:632:5:o
Swarm Source
ipfs://2aea99b3a823d87b16eec345d90e21cd638777018e0aef844c0c71240cdf6993
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.