More Info
Private Name Tags
ContractCreator
Sponsored
Latest 25 from a total of 53 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Recycle Multiple | 8497190 | 9 mins ago | IN | 1.24415244 ETH | 0.00000178 | ||||
Recycle Multiple | 8492880 | 2 hrs ago | IN | 1.24415244 ETH | 0.00000335 | ||||
Recycle Multiple | 8488571 | 4 hrs ago | IN | 1.24415244 ETH | 0.00000272 | ||||
Recycle Multiple | 8484263 | 7 hrs ago | IN | 1.24415244 ETH | 0.00000413 | ||||
Recycle Multiple | 8479909 | 9 hrs ago | IN | 1.24415244 ETH | 0.00000305 | ||||
Recycle Multiple | 8475600 | 12 hrs ago | IN | 1.24415244 ETH | 0.00000558 | ||||
Recycle Multiple | 8471338 | 14 hrs ago | IN | 1.24401793 ETH | 0.0000044 | ||||
Recycle Multiple | 8467029 | 16 hrs ago | IN | 1.24401793 ETH | 0.00000611 | ||||
Recycle Multiple | 8462720 | 19 hrs ago | IN | 1.24401793 ETH | 0.00000383 | ||||
Recycle Multiple | 8458411 | 21 hrs ago | IN | 1.24401793 ETH | 0.00000512 | ||||
Recycle Multiple | 8454055 | 24 hrs ago | IN | 1.24401793 ETH | 0.00000752 | ||||
Recycle Multiple | 8449745 | 26 hrs ago | IN | 1.24401793 ETH | 0.00000814 | ||||
Recycle Multiple | 8445437 | 28 hrs ago | IN | 1.24401793 ETH | 0.00000603 | ||||
Recycle Multiple | 8441129 | 31 hrs ago | IN | 1.24401793 ETH | 0.00000625 | ||||
Recycle Multiple | 8436775 | 33 hrs ago | IN | 1.24401793 ETH | 0.00000367 | ||||
Recycle Multiple | 8436769 | 33 hrs ago | IN | 1.24401793 ETH | 0.00000388 | ||||
Recycle Multiple | 8432461 | 36 hrs ago | IN | 1.24401793 ETH | 0.0000065 | ||||
Recycle Multiple | 8428198 | 38 hrs ago | IN | 1.24391588 ETH | 0.0000052 | ||||
Recycle Multiple | 8423888 | 40 hrs ago | IN | 1.24391588 ETH | 0.00001338 | ||||
Recycle Multiple | 8419578 | 43 hrs ago | IN | 1.24391588 ETH | 0.00000597 | ||||
Recycle Multiple | 8415223 | 45 hrs ago | IN | 1.24391588 ETH | 0.00000642 | ||||
Recycle Multiple | 8410910 | 2 days ago | IN | 1.24391588 ETH | 0.00000553 | ||||
Recycle Multiple | 8406594 | 2 days ago | IN | 1.24391588 ETH | 0.00000326 | ||||
Recycle Multiple | 8402285 | 2 days ago | IN | 1.24391588 ETH | 0.00000497 | ||||
Recycle Multiple | 8397977 | 2 days ago | IN | 1.24391588 ETH | 0.00000591 |
Latest 25 internal transactions (View All)
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
8497190 | 9 mins ago | 1.24415244 ETH | ||||
8497190 | 9 mins ago | 1.24415244 ETH | ||||
8497190 | 9 mins ago | 1.24415244 ETH | ||||
8492880 | 2 hrs ago | 1.24415244 ETH | ||||
8492880 | 2 hrs ago | 1.24415244 ETH | ||||
8492880 | 2 hrs ago | 1.24415244 ETH | ||||
8488571 | 4 hrs ago | 1.24415244 ETH | ||||
8488571 | 4 hrs ago | 1.24415244 ETH | ||||
8488571 | 4 hrs ago | 1.24415244 ETH | ||||
8484263 | 7 hrs ago | 1.24415244 ETH | ||||
8484263 | 7 hrs ago | 1.24415244 ETH | ||||
8484263 | 7 hrs ago | 1.24415244 ETH | ||||
8479909 | 9 hrs ago | 1.24415244 ETH | ||||
8479909 | 9 hrs ago | 1.24415244 ETH | ||||
8479909 | 9 hrs ago | 1.24415244 ETH | ||||
8475600 | 12 hrs ago | 1.24415244 ETH | ||||
8475600 | 12 hrs ago | 1.24415244 ETH | ||||
8475600 | 12 hrs ago | 1.24415244 ETH | ||||
8471338 | 14 hrs ago | 1.24401793 ETH | ||||
8471338 | 14 hrs ago | 1.24401793 ETH | ||||
8471338 | 14 hrs ago | 1.24401793 ETH | ||||
8467029 | 16 hrs ago | 1.24401793 ETH | ||||
8467029 | 16 hrs ago | 1.24401793 ETH | ||||
8467029 | 16 hrs ago | 1.24401793 ETH | ||||
8462720 | 19 hrs ago | 1.24401793 ETH |
Loading...
Loading
Contract Name:
PlutocatsMultiTool
Compiler Version
v0.8.19+commit.7dd6d404
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
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 {IPlutocatsTokenMultiTool} from "../interfaces/IPlutocatsTokenMultiTool.sol"; import {IBlast} from "../interfaces/IBlast.sol"; import {Address} from "@openzeppelin/contracts/utils/Address.sol"; import {IReserve} from "../interfaces/IReserve.sol"; contract PlutocatsMultiTool { using Address for address payable; event Minted(uint256 tokenId, address owner, uint256 price); error PaymentTooLow(); /// The address of the pre-deployed Blast contract. address public constant BLAST_PREDEPLOY_ADDRESS = 0x4300000000000000000000000000000000000002; address public reserve; IBlast public blast; IPlutocatsTokenMultiTool public plutocats; constructor(address _plutocats, address _reserve) { plutocats = IPlutocatsTokenMultiTool(_plutocats); blast = IBlast(BLAST_PREDEPLOY_ADDRESS); blast.configureClaimableGas(); blast.configureGovernor(msg.sender); reserve = _reserve; plutocats.setApprovalForAll(address(reserve), true); } /// @dev from solmate /// @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) { if(amount == 0){ return 0; } if(amount == 1){ return plutocats.getPrice(); } uint256 timeSinceStart = block.timestamp - plutocats.MINT_START(); uint256 totalSupply = plutocats.totalSupply(); uint256 adjTotalSupply = plutocats.adjustedTotalSupply(); return _estimatePriceForN(amount, timeSinceStart, totalSupply, adjTotalSupply); } function _estimatePriceForN(uint256 n, uint256 timeSinceStart, uint256 totalSupply, uint256 adjTotalSupply) internal view returns (uint256) { uint256 vrgdaPrice = plutocats.getVRGDAPrice(_toDaysWadUnsafe(timeSinceStart), totalSupply + n); uint256 currentMinPrice = reserve.balance / adjTotalSupply; uint256 minPrice = (reserve.balance + ((n-1)*currentMinPrice)) / (adjTotalSupply + n - 1); if (vrgdaPrice < currentMinPrice) { return minPrice; } return vrgdaPrice; } function estimateTotalCost(uint256 amount) public view returns (uint256 totalCost) { if(amount == 0){ return 0; } if(amount == 1){ return plutocats.getPrice(); } uint256 timeSinceStart = block.timestamp - plutocats.MINT_START(); uint256 totalSupply = plutocats.totalSupply(); uint256 adjTotalSupply = plutocats.adjustedTotalSupply(); for(uint256 n = 1; n <= amount; n++){ uint256 price = _estimatePriceForN(n, timeSinceStart, totalSupply, adjTotalSupply); totalCost += price; } return totalCost; } function estimateMaxAtCurrentPrice() public view returns (uint256) { uint256 price = plutocats.getPrice(); uint256 priceAt = price; uint256 count = 1; while(priceAt <= price) { count++; priceAt = estimateMaxPricePer(count); } return count; } 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 firstMintedId, uint256 lastMintedId, uint256 totalPrice) { uint256 price; for(uint256 i = 0; i < amount; i++) { price = plutocats.getPrice(); totalPrice += price; lastMintedId = plutocats.mint{value: price}(); if (i == 0) { firstMintedId = lastMintedId; } emit Minted(lastMintedId, msg.sender, price); plutocats.transferFrom(address(this), msg.sender, lastMintedId); } require(msg.value >= totalPrice, "payment too low"); uint256 refund = msg.value - totalPrice; if (refund > 0) { payable(msg.sender).sendValue(refund); } return (firstMintedId, lastMintedId, totalPrice); } function buy() external payable returns (uint256, uint256) { uint256 price = plutocats.getPrice(); require(msg.value >= price, "payment too low"); uint256 mintedId = plutocats.mint{value: price}(); emit Minted(mintedId, msg.sender, price); plutocats.transferFrom(address(this), msg.sender, mintedId); uint256 refund = msg.value - price; if (refund > 0) { payable(msg.sender).sendValue(refund); } return (mintedId, price); } function getTokensOwnedBy(address owner) external view returns (uint256[] memory) { uint256 ownerBalance = plutocats.balanceOf(owner); uint256[] memory tokens = new uint256[](ownerBalance); for(uint256 i = 0; i < ownerBalance; i++){ tokens[i] = plutocats.tokenOfOwnerByIndex(owner, i); } return tokens; } function quitValue() external view returns (uint256) { return reserve.balance / plutocats.adjustedTotalSupply(); } 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 IPlutocatsTokenMultiTool { 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; function balanceOf(address owner) external view returns (uint256); function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256); }
// 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", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
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"},{"inputs":[],"name":"PaymentTooLow","type":"error"},{"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":[],"name":"buy","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"buyMultiple","outputs":[{"internalType":"uint256","name":"firstMintedId","type":"uint256"},{"internalType":"uint256","name":"lastMintedId","type":"uint256"},{"internalType":"uint256","name":"totalPrice","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"estimateTotalCost","outputs":[{"internalType":"uint256","name":"totalCost","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"getTokensOwnedBy","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"plutocats","outputs":[{"internalType":"contract IPlutocatsTokenMultiTool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quitValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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
60806040523480156200001157600080fd5b50604051620015c1380380620015c18339810160408190526200003491620001c5565b600280546001600160a01b03199081166001600160a01b038516179091556001805473430000000000000000000000000000000000000292168217905560408051634e606c4760e01b81529051634e606c479160048082019260009290919082900301818387803b158015620000a957600080fd5b505af1158015620000be573d6000803e3d6000fd5b5050600154604051631d70c8d360e31b81523360048201526001600160a01b03909116925063eb8646989150602401600060405180830381600087803b1580156200010857600080fd5b505af11580156200011d573d6000803e3d6000fd5b5050600080546001600160a01b0319166001600160a01b0385811691821790925560025460405163a22cb46560e01b8152600481019290925260016024830152909116925063a22cb4659150604401600060405180830381600087803b1580156200018757600080fd5b505af11580156200019c573d6000803e3d6000fd5b505050505050620001fd565b80516001600160a01b0381168114620001c057600080fd5b919050565b60008060408385031215620001d957600080fd5b620001e483620001a8565b9150620001f460208401620001a8565b90509250929050565b6113b4806200020d6000396000f3fe6080604052600436106100a55760003560e01c80639f9976f7116100615780639f9976f71461018e578063a6f2ae3a146101a3578063b0d091af146101c0578063c7660035146101ee578063cd3293de14610209578063f3c016171461022957005b80630eb7f54d146100ae578063175e1a7d146100e15780633d4392c01461011957806340756b791461014657806351e87277146101665780639b77cf6d1461017b57005b366100ac57005b005b3480156100ba57600080fd5b506100ce6100c9366004611225565b610249565b6040519081526020015b60405180910390f35b3480156100ed57600080fd5b50600154610101906001600160a01b031681565b6040516001600160a01b0390911681526020016100d8565b34801561012557600080fd5b5061013961013436600461123e565b610465565b6040516100d89190611267565b34801561015257600080fd5b506100ce610161366004611225565b6105d8565b34801561017257600080fd5b506100ce6107f8565b6100ac610189366004611225565b6108a3565b34801561019a57600080fd5b506100ce610afc565b6101ab610b86565b604080519283526020830191909152016100d8565b6101d36101ce366004611225565b610d9d565b604080519384526020840192909252908201526060016100d8565b3480156101fa57600080fd5b506101016002604360981b0181565b34801561021557600080fd5b50600054610101906001600160a01b031681565b34801561023557600080fd5b50600254610101906001600160a01b031681565b60008160000361025b57506000919050565b816001036102e057600260009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102da91906112ab565b92915050565b6002546040805163318dd34360e21b815290516000926001600160a01b03169163c6374d0c9160048083019260209291908290030181865afa15801561032a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034e91906112ab565b61035890426112da565b90506000600260009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d391906112ab565b90506000600260009054906101000a90046001600160a01b03166001600160a01b0316638f1314b66040518163ffffffff1660e01b8152600401602060405180830381865afa15801561042a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044e91906112ab565b905061045c85848484610fe2565b95945050505050565b6002546040516370a0823160e01b81526001600160a01b0383811660048301526060926000929116906370a0823190602401602060405180830381865afa1580156104b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d891906112ab565b905060008167ffffffffffffffff8111156104f5576104f56112ed565b60405190808252806020026020018201604052801561051e578160200160208202803683370190505b50905060005b828110156105d057600254604051632f745c5960e01b81526001600160a01b0387811660048301526024820184905290911690632f745c5990604401602060405180830381865afa15801561057d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a191906112ab565b8282815181106105b3576105b3611303565b6020908102919091010152806105c881611319565b915050610524565b509392505050565b6000816000036105ea57506000919050565b8160010361064557600260009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102b6573d6000803e3d6000fd5b6002546040805163318dd34360e21b815290516000926001600160a01b03169163c6374d0c9160048083019260209291908290030181865afa15801561068f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b391906112ab565b6106bd90426112da565b90506000600260009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610714573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073891906112ab565b90506000600260009054906101000a90046001600160a01b03166001600160a01b0316638f1314b66040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b391906112ab565b905060015b8581116107ef5760006107cd82868686610fe2565b90506107d98187611332565b95505080806107e790611319565b9150506107b8565b50505050919050565b600080600260009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561084e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087291906112ab565b90508060015b82821161089c578061088981611319565b91505061089581610249565b9150610878565b9392505050565b60025460408051634c6afee560e11b815290516000926001600160a01b0316916398d5fdca9160048083019260209291908290030181865afa1580156108ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091191906112ab565b604080516001808252818301909252919250600091906020808301908036833701905050600080549192506001600160a01b03909116905b84811015610aeb573484111561096a576109633334611107565b5050505050565b600260009054906101000a90046001600160a01b03166001600160a01b0316631249c58b856040518263ffffffff1660e01b815260040160206040518083038185885af11580156109bf573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109e491906112ab565b836000815181106109f7576109f7611303565b602090810291909101015260405163d23c295360e01b81526001600160a01b0383169063d23c295390610a2e908690600401611267565b600060405180830381600087803b158015610a4857600080fd5b505af1158015610a5c573d6000803e3d6000fd5b50505050600260009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad791906112ab565b935080610ae381611319565b915050610949565b50610af63334611107565b50505050565b600254604080516347898a5b60e11b815290516000926001600160a01b031691638f1314b69160048083019260209291908290030181865afa158015610b46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6a91906112ab565b600054610b8191906001600160a01b031631611345565b905090565b6000806000600260009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0291906112ab565b905080341015610c4b5760405162461bcd60e51b815260206004820152600f60248201526e7061796d656e7420746f6f206c6f7760881b60448201526064015b60405180910390fd5b6000600260009054906101000a90046001600160a01b03166001600160a01b0316631249c58b836040518263ffffffff1660e01b815260040160206040518083038185885af1158015610ca2573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610cc791906112ab565b604080518281523360208201529081018490529091507fc9d0543a84d3510329c0783b91576878ceb484e8699944cb5610c3436b3b8e399060600160405180910390a16002546040516323b872dd60e01b8152306004820152336024820152604481018390526001600160a01b03909116906323b872dd90606401600060405180830381600087803b158015610d5c57600080fd5b505af1158015610d70573d6000803e3d6000fd5b5050505060008234610d8291906112da565b90508015610d9457610d943382611107565b50939092509050565b60008060008060005b85811015610f7857600260009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2591906112ab565b9150610e318284611332565b9250600260009054906101000a90046001600160a01b03166001600160a01b0316631249c58b836040518263ffffffff1660e01b815260040160206040518083038185885af1158015610e88573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ead91906112ab565b935080600003610ebb578394505b604080518581523360208201529081018390527fc9d0543a84d3510329c0783b91576878ceb484e8699944cb5610c3436b3b8e399060600160405180910390a16002546040516323b872dd60e01b8152306004820152336024820152604481018690526001600160a01b03909116906323b872dd90606401600060405180830381600087803b158015610f4d57600080fd5b505af1158015610f61573d6000803e3d6000fd5b505050508080610f7090611319565b915050610da6565b5081341015610fbb5760405162461bcd60e51b815260206004820152600f60248201526e7061796d656e7420746f6f206c6f7760881b6044820152606401610c42565b6000610fc783346112da565b90508015610fd957610fd93382611107565b50509193909250565b60025460009081906001600160a01b031663f466d4ab62015180670de0b6b3a76400008802046110128988611332565b6040516001600160e01b031960e085901b16815260048101929092526024820152604401602060405180830381865afa158015611053573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107791906112ab565b60008054919250906110949085906001600160a01b031631611345565b9050600060016110a48987611332565b6110ae91906112da565b826110ba60018b6112da565b6110c49190611367565b6000546110db91906001600160a01b031631611332565b6110e59190611345565b9050818310156110f95792506110ff915050565b50909150505b949350505050565b804710156111575760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610c42565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146111a4576040519150601f19603f3d011682016040523d82523d6000602084013e6111a9565b606091505b50509050806112205760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610c42565b505050565b60006020828403121561123757600080fd5b5035919050565b60006020828403121561125057600080fd5b81356001600160a01b038116811461089c57600080fd5b6020808252825182820181905260009190848201906040850190845b8181101561129f57835183529284019291840191600101611283565b50909695505050505050565b6000602082840312156112bd57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156102da576102da6112c4565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60006001820161132b5761132b6112c4565b5060010190565b808201808211156102da576102da6112c4565b60008261136257634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176102da576102da6112c456fea2646970667358221220ef094f726dbef30ff03d5d8b0438bfc70975918b87f6caff3a2a0f997f52e5ef64736f6c63430008130033000000000000000000000000f084962cdc640ed5c7d4e35e52929dac06b60f7c0000000000000000000000004ea682b94b7e13894c3d0b9afebfbdd38cdacc3c
Deployed Bytecode
0x6080604052600436106100a55760003560e01c80639f9976f7116100615780639f9976f71461018e578063a6f2ae3a146101a3578063b0d091af146101c0578063c7660035146101ee578063cd3293de14610209578063f3c016171461022957005b80630eb7f54d146100ae578063175e1a7d146100e15780633d4392c01461011957806340756b791461014657806351e87277146101665780639b77cf6d1461017b57005b366100ac57005b005b3480156100ba57600080fd5b506100ce6100c9366004611225565b610249565b6040519081526020015b60405180910390f35b3480156100ed57600080fd5b50600154610101906001600160a01b031681565b6040516001600160a01b0390911681526020016100d8565b34801561012557600080fd5b5061013961013436600461123e565b610465565b6040516100d89190611267565b34801561015257600080fd5b506100ce610161366004611225565b6105d8565b34801561017257600080fd5b506100ce6107f8565b6100ac610189366004611225565b6108a3565b34801561019a57600080fd5b506100ce610afc565b6101ab610b86565b604080519283526020830191909152016100d8565b6101d36101ce366004611225565b610d9d565b604080519384526020840192909252908201526060016100d8565b3480156101fa57600080fd5b506101016002604360981b0181565b34801561021557600080fd5b50600054610101906001600160a01b031681565b34801561023557600080fd5b50600254610101906001600160a01b031681565b60008160000361025b57506000919050565b816001036102e057600260009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102da91906112ab565b92915050565b6002546040805163318dd34360e21b815290516000926001600160a01b03169163c6374d0c9160048083019260209291908290030181865afa15801561032a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034e91906112ab565b61035890426112da565b90506000600260009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d391906112ab565b90506000600260009054906101000a90046001600160a01b03166001600160a01b0316638f1314b66040518163ffffffff1660e01b8152600401602060405180830381865afa15801561042a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044e91906112ab565b905061045c85848484610fe2565b95945050505050565b6002546040516370a0823160e01b81526001600160a01b0383811660048301526060926000929116906370a0823190602401602060405180830381865afa1580156104b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d891906112ab565b905060008167ffffffffffffffff8111156104f5576104f56112ed565b60405190808252806020026020018201604052801561051e578160200160208202803683370190505b50905060005b828110156105d057600254604051632f745c5960e01b81526001600160a01b0387811660048301526024820184905290911690632f745c5990604401602060405180830381865afa15801561057d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a191906112ab565b8282815181106105b3576105b3611303565b6020908102919091010152806105c881611319565b915050610524565b509392505050565b6000816000036105ea57506000919050565b8160010361064557600260009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102b6573d6000803e3d6000fd5b6002546040805163318dd34360e21b815290516000926001600160a01b03169163c6374d0c9160048083019260209291908290030181865afa15801561068f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b391906112ab565b6106bd90426112da565b90506000600260009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610714573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073891906112ab565b90506000600260009054906101000a90046001600160a01b03166001600160a01b0316638f1314b66040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b391906112ab565b905060015b8581116107ef5760006107cd82868686610fe2565b90506107d98187611332565b95505080806107e790611319565b9150506107b8565b50505050919050565b600080600260009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561084e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087291906112ab565b90508060015b82821161089c578061088981611319565b91505061089581610249565b9150610878565b9392505050565b60025460408051634c6afee560e11b815290516000926001600160a01b0316916398d5fdca9160048083019260209291908290030181865afa1580156108ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091191906112ab565b604080516001808252818301909252919250600091906020808301908036833701905050600080549192506001600160a01b03909116905b84811015610aeb573484111561096a576109633334611107565b5050505050565b600260009054906101000a90046001600160a01b03166001600160a01b0316631249c58b856040518263ffffffff1660e01b815260040160206040518083038185885af11580156109bf573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109e491906112ab565b836000815181106109f7576109f7611303565b602090810291909101015260405163d23c295360e01b81526001600160a01b0383169063d23c295390610a2e908690600401611267565b600060405180830381600087803b158015610a4857600080fd5b505af1158015610a5c573d6000803e3d6000fd5b50505050600260009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad791906112ab565b935080610ae381611319565b915050610949565b50610af63334611107565b50505050565b600254604080516347898a5b60e11b815290516000926001600160a01b031691638f1314b69160048083019260209291908290030181865afa158015610b46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6a91906112ab565b600054610b8191906001600160a01b031631611345565b905090565b6000806000600260009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0291906112ab565b905080341015610c4b5760405162461bcd60e51b815260206004820152600f60248201526e7061796d656e7420746f6f206c6f7760881b60448201526064015b60405180910390fd5b6000600260009054906101000a90046001600160a01b03166001600160a01b0316631249c58b836040518263ffffffff1660e01b815260040160206040518083038185885af1158015610ca2573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610cc791906112ab565b604080518281523360208201529081018490529091507fc9d0543a84d3510329c0783b91576878ceb484e8699944cb5610c3436b3b8e399060600160405180910390a16002546040516323b872dd60e01b8152306004820152336024820152604481018390526001600160a01b03909116906323b872dd90606401600060405180830381600087803b158015610d5c57600080fd5b505af1158015610d70573d6000803e3d6000fd5b5050505060008234610d8291906112da565b90508015610d9457610d943382611107565b50939092509050565b60008060008060005b85811015610f7857600260009054906101000a90046001600160a01b03166001600160a01b03166398d5fdca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2591906112ab565b9150610e318284611332565b9250600260009054906101000a90046001600160a01b03166001600160a01b0316631249c58b836040518263ffffffff1660e01b815260040160206040518083038185885af1158015610e88573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ead91906112ab565b935080600003610ebb578394505b604080518581523360208201529081018390527fc9d0543a84d3510329c0783b91576878ceb484e8699944cb5610c3436b3b8e399060600160405180910390a16002546040516323b872dd60e01b8152306004820152336024820152604481018690526001600160a01b03909116906323b872dd90606401600060405180830381600087803b158015610f4d57600080fd5b505af1158015610f61573d6000803e3d6000fd5b505050508080610f7090611319565b915050610da6565b5081341015610fbb5760405162461bcd60e51b815260206004820152600f60248201526e7061796d656e7420746f6f206c6f7760881b6044820152606401610c42565b6000610fc783346112da565b90508015610fd957610fd93382611107565b50509193909250565b60025460009081906001600160a01b031663f466d4ab62015180670de0b6b3a76400008802046110128988611332565b6040516001600160e01b031960e085901b16815260048101929092526024820152604401602060405180830381865afa158015611053573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107791906112ab565b60008054919250906110949085906001600160a01b031631611345565b9050600060016110a48987611332565b6110ae91906112da565b826110ba60018b6112da565b6110c49190611367565b6000546110db91906001600160a01b031631611332565b6110e59190611345565b9050818310156110f95792506110ff915050565b50909150505b949350505050565b804710156111575760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610c42565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146111a4576040519150601f19603f3d011682016040523d82523d6000602084013e6111a9565b606091505b50509050806112205760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610c42565b505050565b60006020828403121561123757600080fd5b5035919050565b60006020828403121561125057600080fd5b81356001600160a01b038116811461089c57600080fd5b6020808252825182820181905260009190848201906040850190845b8181101561129f57835183529284019291840191600101611283565b50909695505050505050565b6000602082840312156112bd57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156102da576102da6112c4565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60006001820161132b5761132b6112c4565b5060010190565b808201808211156102da576102da6112c4565b60008261136257634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176102da576102da6112c456fea2646970667358221220ef094f726dbef30ff03d5d8b0438bfc70975918b87f6caff3a2a0f997f52e5ef64736f6c63430008130033
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
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.