Latest 25 from a total of 146 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Recycle Multiple | 9232484 | 564 days ago | IN | 1.28697099 ETH | 0.00001111 | ||||
| Recycle Multiple | 9232482 | 564 days ago | IN | 1.28697099 ETH | 0.00001247 | ||||
| Recycle Multiple | 9232476 | 564 days ago | IN | 1.28697099 ETH | 0.00001092 | ||||
| Recycle Multiple | 9232471 | 564 days ago | IN | 1.28697099 ETH | 0.00001091 | ||||
| Recycle Multiple | 9232469 | 564 days ago | IN | 1.28697099 ETH | 0.00001223 | ||||
| Recycle Multiple | 9232464 | 564 days ago | IN | 1.28697099 ETH | 0.00001084 | ||||
| Recycle Multiple | 9232459 | 564 days ago | IN | 1.28697099 ETH | 0.00001066 | ||||
| Recycle Multiple | 9079781 | 567 days ago | IN | 1.28662928 ETH | 0.00000992 | ||||
| Recycle Multiple | 9058173 | 568 days ago | IN | 1.2865114 ETH | 0.00000651 | ||||
| Recycle Multiple | 9036566 | 568 days ago | IN | 1.2865114 ETH | 0.00000405 | ||||
| Recycle Multiple | 9014958 | 569 days ago | IN | 1.28639447 ETH | 0.00000764 | ||||
| Recycle Multiple | 8993350 | 569 days ago | IN | 1.28639447 ETH | 0.00000689 | ||||
| Recycle Multiple | 8971744 | 570 days ago | IN | 1.28627834 ETH | 0.00000442 | ||||
| Recycle Multiple | 8971728 | 570 days ago | IN | 1.28627834 ETH | 0.00000493 | ||||
| Recycle Multiple | 8971714 | 570 days ago | IN | 1.28627834 ETH | 0.00000487 | ||||
| Recycle Multiple | 8950108 | 570 days ago | IN | 1.28627834 ETH | 0.00000925 | ||||
| Recycle Multiple | 8950094 | 570 days ago | IN | 1.28627834 ETH | 0.0000104 | ||||
| Recycle Multiple | 8928488 | 571 days ago | IN | 1.28616754 ETH | 0.00000434 | ||||
| Recycle Multiple | 8906881 | 571 days ago | IN | 1.28616754 ETH | 0.00000428 | ||||
| Recycle Multiple | 8885275 | 572 days ago | IN | 1.28606281 ETH | 0.00000636 | ||||
| Recycle Multiple | 8885263 | 572 days ago | IN | 1.28606281 ETH | 0.00000697 | ||||
| Recycle Multiple | 8863656 | 572 days ago | IN | 1.28606281 ETH | 0.00000927 | ||||
| Recycle Multiple | 8840404 | 573 days ago | IN | 1.28595039 ETH | 0.00000547 | ||||
| Recycle Multiple | 8836088 | 573 days ago | IN | 1.28595039 ETH | 0.00000922 | ||||
| Recycle Multiple | 8831773 | 573 days ago | IN | 1.28595039 ETH | 0.00000644 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 9232484 | 564 days ago | 1.28697099 ETH | ||||
| 9232484 | 564 days ago | 1.28697099 ETH | ||||
| 9232484 | 564 days ago | 1.28697099 ETH | ||||
| 9232484 | 564 days ago | 1.28697099 ETH | ||||
| 9232484 | 564 days ago | 1.28697099 ETH | ||||
| 9232484 | 564 days ago | 1.28697099 ETH | ||||
| 9232484 | 564 days ago | 1.28697099 ETH | ||||
| 9232484 | 564 days ago | 1.28697099 ETH | ||||
| 9232484 | 564 days ago | 1.28697099 ETH | ||||
| 9232484 | 564 days ago | 1.28697099 ETH | ||||
| 9232484 | 564 days ago | 1.28697099 ETH | ||||
| 9232484 | 564 days ago | 1.28697099 ETH | ||||
| 9232484 | 564 days ago | 1.28697099 ETH | ||||
| 9232484 | 564 days ago | 1.28697099 ETH | ||||
| 9232484 | 564 days ago | 1.28697099 ETH | ||||
| 9232484 | 564 days ago | 1.28697099 ETH | ||||
| 9232484 | 564 days ago | 1.28697099 ETH | ||||
| 9232482 | 564 days ago | 1.28697099 ETH | ||||
| 9232482 | 564 days ago | 1.28697099 ETH | ||||
| 9232482 | 564 days ago | 1.28697099 ETH | ||||
| 9232482 | 564 days ago | 1.28697099 ETH | ||||
| 9232482 | 564 days ago | 1.28697099 ETH | ||||
| 9232482 | 564 days ago | 1.28697099 ETH | ||||
| 9232482 | 564 days ago | 1.28697099 ETH | ||||
| 9232482 | 564 days ago | 1.28697099 ETH |
Cross-Chain Transactions
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
Contract ABI
API[{"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
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 32 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.