More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 3,146 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Unstake | 21384806 | 11 days ago | IN | 0 ETH | 0.0015975 | ||||
Unstake | 21317323 | 21 days ago | IN | 0 ETH | 0.01085338 | ||||
Unstake | 21239101 | 32 days ago | IN | 0 ETH | 0.00154101 | ||||
Unstake | 21139853 | 46 days ago | IN | 0 ETH | 0.00176742 | ||||
Unstake | 20378917 | 152 days ago | IN | 0 ETH | 0.00042656 | ||||
Unstake | 20293608 | 164 days ago | IN | 0 ETH | 0.00024146 | ||||
Group Unstake | 20100175 | 191 days ago | IN | 0 ETH | 0.00040063 | ||||
Unstake | 20029189 | 201 days ago | IN | 0 ETH | 0.00206165 | ||||
Unstake | 20016186 | 203 days ago | IN | 0 ETH | 0.00057819 | ||||
Group Unstake | 19969811 | 209 days ago | IN | 0 ETH | 0.00301604 | ||||
Unstake | 19948112 | 212 days ago | IN | 0 ETH | 0.00065856 | ||||
Unstake | 19848061 | 226 days ago | IN | 0 ETH | 0.00050473 | ||||
Unstake | 19828652 | 229 days ago | IN | 0 ETH | 0.00044076 | ||||
Unstake | 19804100 | 232 days ago | IN | 0 ETH | 0.00062049 | ||||
Group Unstake | 19720965 | 244 days ago | IN | 0 ETH | 0.00216309 | ||||
Unstake | 19690766 | 248 days ago | IN | 0 ETH | 0.00180721 | ||||
Group Unstake | 19688295 | 248 days ago | IN | 0 ETH | 0.00260694 | ||||
Group Unstake | 19687737 | 248 days ago | IN | 0 ETH | 0.00273263 | ||||
Group Unstake | 19686620 | 249 days ago | IN | 0 ETH | 0.00511033 | ||||
Group Unstake | 19682882 | 249 days ago | IN | 0 ETH | 0.00743396 | ||||
Unstake | 19663060 | 252 days ago | IN | 0 ETH | 0.00173256 | ||||
Unstake | 19662022 | 252 days ago | IN | 0 ETH | 0.00189929 | ||||
Group Unstake | 19641227 | 255 days ago | IN | 0 ETH | 0.0058299 | ||||
Group Unstake | 19630439 | 256 days ago | IN | 0 ETH | 0.00177046 | ||||
Unstake | 19629185 | 257 days ago | IN | 0 ETH | 0.00134781 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
AdventurerStaking
Compiler Version
v0.8.11+commit.d7f03943
Optimization Enabled:
Yes with 1000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT /** ________ ___ ___ ________ ___ ___ _______ ________ _________ |\ __ \|\ \ / /|\ __ \|\ \|\ \|\ ___ \ |\ ____\|\___ ___\ \ \ \|\ \ \ \/ / | \ \|\ \ \ \\\ \ \ __/|\ \ \___|\|___ \ \_| \ \ ____\ \ / / \ \ \\\ \ \ \\\ \ \ \_|/_\ \_____ \ \ \ \ \ \ \___|/ \/ \ \ \\\ \ \ \\\ \ \ \_|\ \|____|\ \ \ \ \ \ \__\ / /\ \ \ \_____ \ \_______\ \_______\____\_\ \ \ \__\ \|__| /__/ /\ __\ \|___| \__\|_______|\|_______|\_________\ \|__| |__|/ \|__| \|__| \|_________| * @title AdventurerStaking * AdventurerStaking - a contract for staking PX Quest Adventurers */ pragma solidity ^0.8.11; import "./IAdventurerStaking.sol"; import "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; interface IAdventurer { function safeTransferFrom( address from, address to, uint256 tokenId ) external; } interface IChronos { function grantChronos(address to, uint256 amount) external; } contract AdventurerStaking is IAdventurerStaking, Ownable, ERC721Holder { IAdventurer public adventurerContract; IChronos public chronosContract; // NFT tokenId to time staked and owner's address mapping(uint64 => StakedToken) public stakes; uint64 private constant NINETY_DAYS = 7776000; uint64 public LOCK_IN = 0; bool grantChronos = true; uint256 public constant BASE_RATE = 5 ether; constructor( address _adventurerContract, address _chronosContract, address _ownerAddress ) { require( _adventurerContract != address(0), "nft contract cannot be 0x0" ); require( _chronosContract != address(0), "chronos contract cannot be 0x0" ); adventurerContract = IAdventurer(_adventurerContract); chronosContract = IChronos(_chronosContract); if (_ownerAddress != msg.sender) { transferOwnership(_ownerAddress); } } function viewStakes(address _address) external view returns (uint256[] memory) { uint256[] memory _tokens = new uint256[](7500); uint256 tookCount = 0; for (uint64 i = 0; i < 7500; i++) { if (stakes[i].user == _address) { _tokens[tookCount] = i; tookCount++; } } uint256[] memory trimmedResult = new uint256[](tookCount); for (uint256 j = 0; j < trimmedResult.length; j++) { trimmedResult[j] = _tokens[j]; } return trimmedResult; } function stake(uint64 tokenId) public override { stakes[tokenId] = StakedToken(msg.sender, uint64(block.timestamp)); emit StartStake(msg.sender, tokenId); adventurerContract.safeTransferFrom( msg.sender, address(this), uint256(tokenId) ); } function groupStake(uint64[] memory tokenIds) external override { for (uint64 i = 0; i < tokenIds.length; ++i) { stake(tokenIds[i]); } } function unstake(uint64 tokenId) public override { require(stakes[tokenId].user != address(0), "tokenId not staked"); require( stakes[tokenId].user == msg.sender, "sender didn't stake token" ); uint64 stakeLength = uint64(block.timestamp) - stakes[tokenId].timeStaked; require( stakeLength > LOCK_IN, "can not remove token until lock-in period is over" ); if (grantChronos) { uint256 calcrew = (BASE_RATE * uint256(stakeLength)) /86400; chronosContract.grantChronos(msg.sender, calcrew); } emit Unstake( msg.sender, tokenId, stakeLength > NINETY_DAYS, stakeLength ); delete stakes[tokenId]; adventurerContract.safeTransferFrom( address(this), msg.sender, uint256(tokenId) ); } function groupUnstake(uint64[] memory tokenIds) external override { for (uint64 i = 0; i < tokenIds.length; ++i) { unstake(tokenIds[i]); } } function setGrantChronos(bool _grant) external onlyOwner { grantChronos = _grant; } function setLockIn(uint64 lockin) external onlyOwner { LOCK_IN = lockin; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.11; import "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol"; interface IAdventurerStaking is IERC721Receiver { struct StakedToken { address user; uint64 timeStaked; } /// @notice Emits when a user stakes their NFT. /// @param owner the wallet address of the owner of the NFT being staked. /// @param tokenId the tokenId of the Adventurer NFT being staked. event StartStake(address indexed owner, uint64 tokenId); /// @notice Emits when a user unstakes their NFT. /// @param owner the wallet address of the owner of the NFT being unstaked. /// @param tokenId the tokenId of the Adventurer NFT being unstaked. /// @param success whether or not the user staked the NFT for more than 90 days. /// @param duration the duration the NFT was staked for. event Unstake( address indexed owner, uint64 tokenId, bool success, uint64 duration ); /// @notice Stakes a user's NFT /// @param tokenId the tokenId of the NFT to be staked function stake(uint64 tokenId) external; /// @notice Stakes serveral of a user's NFTs /// @param tokenIds the tokenId of the NFT to be staked function groupStake(uint64[] memory tokenIds) external; /// @notice Retrieves a user's NFT from the staking contract /// @param tokenId the tokenId of the staked NFT function unstake(uint64 tokenId) external; /// @notice Unstakes serveral of a user's NFTs /// @param tokenIds the tokenId of the NFT to be staked function groupUnstake(uint64[] memory tokenIds) external; }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (token/ERC721/utils/ERC721Holder.sol) pragma solidity ^0.8.0; import "../IERC721Receiver.sol"; /** * @dev Implementation of the {IERC721Receiver} interface. * * Accepts all token transfers. * Make sure the contract is able to use its token with {IERC721-safeTransferFrom}, {IERC721-approve} or {IERC721-setApprovalForAll}. */ contract ERC721Holder is IERC721Receiver { /** * @dev See {IERC721Receiver-onERC721Received}. * * Always returns `IERC721Receiver.onERC721Received.selector`. */ function onERC721Received( address, address, uint256, bytes memory ) public virtual override returns (bytes4) { return this.onERC721Received.selector; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (access/Ownable.sol) pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (token/ERC721/IERC721Receiver.sol) pragma solidity ^0.8.0; /** * @title ERC721 token receiver interface * @dev Interface for any contract that wants to support safeTransfers * from ERC721 asset contracts. */ interface IERC721Receiver { /** * @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} * by `operator` from `from`, this function is called. * * It must return its Solidity selector to confirm the token transfer. * If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. * * The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`. */ function onERC721Received( address operator, address from, uint256 tokenId, bytes calldata data ) external returns (bytes4); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } }
{ "optimizer": { "enabled": true, "runs": 1000 }, "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":"_adventurerContract","type":"address"},{"internalType":"address","name":"_chronosContract","type":"address"},{"internalType":"address","name":"_ownerAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint64","name":"tokenId","type":"uint64"}],"name":"StartStake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint64","name":"tokenId","type":"uint64"},{"indexed":false,"internalType":"bool","name":"success","type":"bool"},{"indexed":false,"internalType":"uint64","name":"duration","type":"uint64"}],"name":"Unstake","type":"event"},{"inputs":[],"name":"BASE_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LOCK_IN","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"adventurerContract","outputs":[{"internalType":"contract IAdventurer","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"chronosContract","outputs":[{"internalType":"contract IChronos","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64[]","name":"tokenIds","type":"uint64[]"}],"name":"groupStake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64[]","name":"tokenIds","type":"uint64[]"}],"name":"groupUnstake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_grant","type":"bool"}],"name":"setGrantChronos","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"lockin","type":"uint64"}],"name":"setLockIn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"tokenId","type":"uint64"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"","type":"uint64"}],"name":"stakes","outputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint64","name":"timeStaked","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"tokenId","type":"uint64"}],"name":"unstake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"viewStakes","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
6080604052600480546001600160481b031916680100000000000000001790553480156200002c57600080fd5b50604051620012e0380380620012e08339810160408190526200004f9162000297565b6200005a3362000159565b6001600160a01b038316620000b65760405162461bcd60e51b815260206004820152601a60248201527f6e667420636f6e74726163742063616e6e6f742062652030783000000000000060448201526064015b60405180910390fd5b6001600160a01b0382166200010e5760405162461bcd60e51b815260206004820152601e60248201527f6368726f6e6f7320636f6e74726163742063616e6e6f742062652030783000006044820152606401620000ad565b600180546001600160a01b038086166001600160a01b0319928316179092556002805485841692169190911790558116331462000150576200015081620001a9565b505050620002e1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000546001600160a01b03163314620002055760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620000ad565b6001600160a01b0381166200026c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620000ad565b620002778162000159565b50565b80516001600160a01b03811681146200029257600080fd5b919050565b600080600060608486031215620002ad57600080fd5b620002b8846200027a565b9250620002c8602085016200027a565b9150620002d8604085016200027a565b90509250925092565b610fef80620002f16000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638da5cb5b11610097578063c81b77ae11610066578063c81b77ae146102d2578063d29ab87a146102e5578063d798cc0b146102f8578063f2fde38b1461030b57600080fd5b80638da5cb5b1461022a578063a17b8ffb1461023b578063a43c992c1461024e578063af14be5d1461026e57600080fd5b8063715018a6116100d3578063715018a6146101b757806378d76dce146101bf57806388dfa045146101ec5780638bcd02791461021757600080fd5b8063150b7a02146101055780633a29dbae1461017257806341910f901461018757806351808318146101a4575b600080fd5b61013c610113366004610cb8565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b610185610180366004610d90565b61031e565b005b610196674563918244f4000081565b604051908152602001610169565b6101856101b2366004610db2565b61043e565b610185610494565b6004546101d39067ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610169565b6002546101ff906001600160a01b031681565b6040516001600160a01b039091168152602001610169565b610185610225366004610db2565b6104ff565b6000546001600160a01b03166101ff565b6001546101ff906001600160a01b031681565b61026161025c366004610e5f565b610551565b6040516101699190610e7a565b6102aa61027c366004610d90565b6003602052600090815260409020546001600160a01b03811690600160a01b900467ffffffffffffffff1682565b604080516001600160a01b03909316835267ffffffffffffffff909116602083015201610169565b6101856102e0366004610ebe565b6106b0565b6101856102f3366004610d90565b610732565b610185610306366004610d90565b610a8d565b610185610319366004610e5f565b610b0b565b6040805180820182523380825267ffffffffffffffff4281166020808501918252868316600081815260038352879020955186549351909416600160a01b027fffffffff000000000000000000000000000000000000000000000000000000009093166001600160a01b0390941693909317919091179093559251928352917fa0300337279bbac8f01103290febbcdf98d881b85a4300cc743b3714a18938eb910160405180910390a2600154604051632142170760e11b815233600482015230602482015267ffffffffffffffff831660448201526001600160a01b03909116906342842e0e90606401600060405180830381600087803b15801561042357600080fd5b505af1158015610437573d6000803e3d6000fd5b5050505050565b60005b81518167ffffffffffffffff16101561049057610480828267ffffffffffffffff168151811061047357610473610ee0565b602002602001015161031e565b61048981610f0c565b9050610441565b5050565b6000546001600160a01b031633146104f35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6104fd6000610bed565b565b60005b81518167ffffffffffffffff16101561049057610541828267ffffffffffffffff168151811061053457610534610ee0565b6020026020010151610732565b61054a81610f0c565b9050610502565b60408051611d4c8082526203a9a0820190925260609160009190602082016203a980803683370190505090506000805b611d4c8167ffffffffffffffff16101561060a5767ffffffffffffffff81166000908152600360205260409020546001600160a01b03868116911614156105f8578067ffffffffffffffff168383815181106105df576105df610ee0565b6020908102919091010152816105f481610f34565b9250505b8061060281610f0c565b915050610581565b5060008167ffffffffffffffff81111561062657610626610c71565b60405190808252806020026020018201604052801561064f578160200160208202803683370190505b50905060005b81518110156106a75783818151811061067057610670610ee0565b602002602001015182828151811061068a5761068a610ee0565b60209081029190910101528061069f81610f34565b915050610655565b50949350505050565b6000546001600160a01b0316331461070a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104ea565b60048054911515680100000000000000000268ff000000000000000019909216919091179055565b67ffffffffffffffff81166000908152600360205260409020546001600160a01b03166107a15760405162461bcd60e51b815260206004820152601260248201527f746f6b656e4964206e6f74207374616b6564000000000000000000000000000060448201526064016104ea565b67ffffffffffffffff81166000908152600360205260409020546001600160a01b031633146108125760405162461bcd60e51b815260206004820152601960248201527f73656e646572206469646e2774207374616b6520746f6b656e0000000000000060448201526064016104ea565b67ffffffffffffffff808216600090815260036020526040812054909161084191600160a01b90041642610f4f565b60045490915067ffffffffffffffff908116908216116108c95760405162461bcd60e51b815260206004820152603160248201527f63616e206e6f742072656d6f766520746f6b656e20756e74696c206c6f636b2d60448201527f696e20706572696f64206973206f76657200000000000000000000000000000060648201526084016104ea565b60045468010000000000000000900460ff161561098c5760006201518061090267ffffffffffffffff8416674563918244f40000610f78565b61090c9190610f97565b6002546040517fbd5ebbc4000000000000000000000000000000000000000000000000000000008152336004820152602481018390529192506001600160a01b03169063bd5ebbc490604401600060405180830381600087803b15801561097257600080fd5b505af1158015610986573d6000803e3d6000fd5b50505050505b6040805167ffffffffffffffff84811682526276a700908416908111602083015281830152905133917f86b54c9532a3730ae11c423ef71ff8c2ae91e35bcd67665fc674a6b70edf3995919081900360600190a267ffffffffffffffff82166000818152600360205260409081902080547fffffffff000000000000000000000000000000000000000000000000000000001690556001549051632142170760e11b815230600482015233602482015260448101929092526001600160a01b0316906342842e0e90606401600060405180830381600087803b158015610a7157600080fd5b505af1158015610a85573d6000803e3d6000fd5b505050505050565b6000546001600160a01b03163314610ae75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104ea565b6004805467ffffffffffffffff191667ffffffffffffffff92909216919091179055565b6000546001600160a01b03163314610b655760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104ea565b6001600160a01b038116610be15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104ea565b610bea81610bed565b50565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b0381168114610c6c57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610cb057610cb0610c71565b604052919050565b60008060008060808587031215610cce57600080fd5b610cd785610c55565b93506020610ce6818701610c55565b935060408601359250606086013567ffffffffffffffff80821115610d0a57600080fd5b818801915088601f830112610d1e57600080fd5b813581811115610d3057610d30610c71565b610d42601f8201601f19168501610c87565b91508082528984828501011115610d5857600080fd5b808484018584013760008482840101525080935050505092959194509250565b803567ffffffffffffffff81168114610c6c57600080fd5b600060208284031215610da257600080fd5b610dab82610d78565b9392505050565b60006020808385031215610dc557600080fd5b823567ffffffffffffffff80821115610ddd57600080fd5b818501915085601f830112610df157600080fd5b813581811115610e0357610e03610c71565b8060051b9150610e14848301610c87565b8181529183018401918481019088841115610e2e57600080fd5b938501935b83851015610e5357610e4485610d78565b82529385019390850190610e33565b98975050505050505050565b600060208284031215610e7157600080fd5b610dab82610c55565b6020808252825182820181905260009190848201906040850190845b81811015610eb257835183529284019291840191600101610e96565b50909695505050505050565b600060208284031215610ed057600080fd5b81358015158114610dab57600080fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600067ffffffffffffffff80831681811415610f2a57610f2a610ef6565b6001019392505050565b6000600019821415610f4857610f48610ef6565b5060010190565b600067ffffffffffffffff83811690831681811015610f7057610f70610ef6565b039392505050565b6000816000190483118215151615610f9257610f92610ef6565b500290565b600082610fb457634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220be6af42de66af4e7cc4d865a9d8a9ff3881d5b40b4c42beacb54b5180256f1e364736f6c634300080b003300000000000000000000000017ed38f5f519c6ed563be6486e629041bed3dfbc000000000000000000000000a2ea5cb0614f6428421a39ec09b013cc3336efbe00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101005760003560e01c80638da5cb5b11610097578063c81b77ae11610066578063c81b77ae146102d2578063d29ab87a146102e5578063d798cc0b146102f8578063f2fde38b1461030b57600080fd5b80638da5cb5b1461022a578063a17b8ffb1461023b578063a43c992c1461024e578063af14be5d1461026e57600080fd5b8063715018a6116100d3578063715018a6146101b757806378d76dce146101bf57806388dfa045146101ec5780638bcd02791461021757600080fd5b8063150b7a02146101055780633a29dbae1461017257806341910f901461018757806351808318146101a4575b600080fd5b61013c610113366004610cb8565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b610185610180366004610d90565b61031e565b005b610196674563918244f4000081565b604051908152602001610169565b6101856101b2366004610db2565b61043e565b610185610494565b6004546101d39067ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610169565b6002546101ff906001600160a01b031681565b6040516001600160a01b039091168152602001610169565b610185610225366004610db2565b6104ff565b6000546001600160a01b03166101ff565b6001546101ff906001600160a01b031681565b61026161025c366004610e5f565b610551565b6040516101699190610e7a565b6102aa61027c366004610d90565b6003602052600090815260409020546001600160a01b03811690600160a01b900467ffffffffffffffff1682565b604080516001600160a01b03909316835267ffffffffffffffff909116602083015201610169565b6101856102e0366004610ebe565b6106b0565b6101856102f3366004610d90565b610732565b610185610306366004610d90565b610a8d565b610185610319366004610e5f565b610b0b565b6040805180820182523380825267ffffffffffffffff4281166020808501918252868316600081815260038352879020955186549351909416600160a01b027fffffffff000000000000000000000000000000000000000000000000000000009093166001600160a01b0390941693909317919091179093559251928352917fa0300337279bbac8f01103290febbcdf98d881b85a4300cc743b3714a18938eb910160405180910390a2600154604051632142170760e11b815233600482015230602482015267ffffffffffffffff831660448201526001600160a01b03909116906342842e0e90606401600060405180830381600087803b15801561042357600080fd5b505af1158015610437573d6000803e3d6000fd5b5050505050565b60005b81518167ffffffffffffffff16101561049057610480828267ffffffffffffffff168151811061047357610473610ee0565b602002602001015161031e565b61048981610f0c565b9050610441565b5050565b6000546001600160a01b031633146104f35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6104fd6000610bed565b565b60005b81518167ffffffffffffffff16101561049057610541828267ffffffffffffffff168151811061053457610534610ee0565b6020026020010151610732565b61054a81610f0c565b9050610502565b60408051611d4c8082526203a9a0820190925260609160009190602082016203a980803683370190505090506000805b611d4c8167ffffffffffffffff16101561060a5767ffffffffffffffff81166000908152600360205260409020546001600160a01b03868116911614156105f8578067ffffffffffffffff168383815181106105df576105df610ee0565b6020908102919091010152816105f481610f34565b9250505b8061060281610f0c565b915050610581565b5060008167ffffffffffffffff81111561062657610626610c71565b60405190808252806020026020018201604052801561064f578160200160208202803683370190505b50905060005b81518110156106a75783818151811061067057610670610ee0565b602002602001015182828151811061068a5761068a610ee0565b60209081029190910101528061069f81610f34565b915050610655565b50949350505050565b6000546001600160a01b0316331461070a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104ea565b60048054911515680100000000000000000268ff000000000000000019909216919091179055565b67ffffffffffffffff81166000908152600360205260409020546001600160a01b03166107a15760405162461bcd60e51b815260206004820152601260248201527f746f6b656e4964206e6f74207374616b6564000000000000000000000000000060448201526064016104ea565b67ffffffffffffffff81166000908152600360205260409020546001600160a01b031633146108125760405162461bcd60e51b815260206004820152601960248201527f73656e646572206469646e2774207374616b6520746f6b656e0000000000000060448201526064016104ea565b67ffffffffffffffff808216600090815260036020526040812054909161084191600160a01b90041642610f4f565b60045490915067ffffffffffffffff908116908216116108c95760405162461bcd60e51b815260206004820152603160248201527f63616e206e6f742072656d6f766520746f6b656e20756e74696c206c6f636b2d60448201527f696e20706572696f64206973206f76657200000000000000000000000000000060648201526084016104ea565b60045468010000000000000000900460ff161561098c5760006201518061090267ffffffffffffffff8416674563918244f40000610f78565b61090c9190610f97565b6002546040517fbd5ebbc4000000000000000000000000000000000000000000000000000000008152336004820152602481018390529192506001600160a01b03169063bd5ebbc490604401600060405180830381600087803b15801561097257600080fd5b505af1158015610986573d6000803e3d6000fd5b50505050505b6040805167ffffffffffffffff84811682526276a700908416908111602083015281830152905133917f86b54c9532a3730ae11c423ef71ff8c2ae91e35bcd67665fc674a6b70edf3995919081900360600190a267ffffffffffffffff82166000818152600360205260409081902080547fffffffff000000000000000000000000000000000000000000000000000000001690556001549051632142170760e11b815230600482015233602482015260448101929092526001600160a01b0316906342842e0e90606401600060405180830381600087803b158015610a7157600080fd5b505af1158015610a85573d6000803e3d6000fd5b505050505050565b6000546001600160a01b03163314610ae75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104ea565b6004805467ffffffffffffffff191667ffffffffffffffff92909216919091179055565b6000546001600160a01b03163314610b655760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104ea565b6001600160a01b038116610be15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104ea565b610bea81610bed565b50565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b0381168114610c6c57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610cb057610cb0610c71565b604052919050565b60008060008060808587031215610cce57600080fd5b610cd785610c55565b93506020610ce6818701610c55565b935060408601359250606086013567ffffffffffffffff80821115610d0a57600080fd5b818801915088601f830112610d1e57600080fd5b813581811115610d3057610d30610c71565b610d42601f8201601f19168501610c87565b91508082528984828501011115610d5857600080fd5b808484018584013760008482840101525080935050505092959194509250565b803567ffffffffffffffff81168114610c6c57600080fd5b600060208284031215610da257600080fd5b610dab82610d78565b9392505050565b60006020808385031215610dc557600080fd5b823567ffffffffffffffff80821115610ddd57600080fd5b818501915085601f830112610df157600080fd5b813581811115610e0357610e03610c71565b8060051b9150610e14848301610c87565b8181529183018401918481019088841115610e2e57600080fd5b938501935b83851015610e5357610e4485610d78565b82529385019390850190610e33565b98975050505050505050565b600060208284031215610e7157600080fd5b610dab82610c55565b6020808252825182820181905260009190848201906040850190845b81811015610eb257835183529284019291840191600101610e96565b50909695505050505050565b600060208284031215610ed057600080fd5b81358015158114610dab57600080fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600067ffffffffffffffff80831681811415610f2a57610f2a610ef6565b6001019392505050565b6000600019821415610f4857610f48610ef6565b5060010190565b600067ffffffffffffffff83811690831681811015610f7057610f70610ef6565b039392505050565b6000816000190483118215151615610f9257610f92610ef6565b500290565b600082610fb457634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220be6af42de66af4e7cc4d865a9d8a9ff3881d5b40b4c42beacb54b5180256f1e364736f6c634300080b0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000017ed38f5f519c6ed563be6486e629041bed3dfbc000000000000000000000000a2ea5cb0614f6428421a39ec09b013cc3336efbe00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc
-----Decoded View---------------
Arg [0] : _adventurerContract (address): 0x17eD38f5F519C6ED563BE6486e629041Bed3dfbC
Arg [1] : _chronosContract (address): 0xa2EA5Cb0614f6428421a39ec09B013cC3336EFBe
Arg [2] : _ownerAddress (address): 0x17A45F80eFd20594afE2c59D7e1Ae7AB0c6954Cc
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000017ed38f5f519c6ed563be6486e629041bed3dfbc
Arg [1] : 000000000000000000000000a2ea5cb0614f6428421a39ec09b013cc3336efbe
Arg [2] : 00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.