Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 18 from a total of 18 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Set Token | 14185130 | 1086 days ago | IN | 0 ETH | 0.00426849 | ||||
Set Token | 14185114 | 1086 days ago | IN | 0 ETH | 0.00524911 | ||||
Set Token | 14172099 | 1088 days ago | IN | 0 ETH | 0.00574872 | ||||
Set Token | 14122451 | 1095 days ago | IN | 0 ETH | 0.01350166 | ||||
Set Token | 14081403 | 1102 days ago | IN | 0 ETH | 0.00550687 | ||||
Set Token | 14030153 | 1110 days ago | IN | 0 ETH | 0.00919339 | ||||
Set Token | 13985367 | 1117 days ago | IN | 0 ETH | 0.01477017 | ||||
Set Token | 13848799 | 1138 days ago | IN | 0 ETH | 0.00376403 | ||||
Set Token | 13803539 | 1145 days ago | IN | 0 ETH | 0.00428244 | ||||
Set Token | 13758747 | 1152 days ago | IN | 0 ETH | 0.00426477 | ||||
Set Token | 13721299 | 1158 days ago | IN | 0 ETH | 0.00688165 | ||||
Set Token | 13677727 | 1165 days ago | IN | 0 ETH | 0.01106282 | ||||
Set Token | 13666118 | 1167 days ago | IN | 0 ETH | 0.00760904 | ||||
Add Manager | 13666104 | 1167 days ago | IN | 0 ETH | 0.00616741 | ||||
Set Generator | 13652077 | 1169 days ago | IN | 0 ETH | 0.0047564 | ||||
Add Manager | 13175733 | 1243 days ago | IN | 0 ETH | 0.0046164 | ||||
Set Generator | 13175602 | 1243 days ago | IN | 0 ETH | 0.0047564 | ||||
Set Generator | 13175596 | 1243 days ago | IN | 0 ETH | 0.0047564 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
CrewFeatures
Compiler Version
v0.7.6+commit.7338295f
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: UNLICENSED pragma solidity 0.7.6; import "@openzeppelin/contracts/access/Ownable.sol"; import "../interfaces/ICrewGenerator.sol"; /** * @dev Contract which generates crew features based on the set they're part of */ contract CrewFeatures is Ownable { // Mapping of collectionIds to contract addresses of generators mapping (uint => ICrewGenerator) private _generators; // Mapping of tokenIds to collection membership mapping (uint => uint) private _crewCollection; // Mapping of tokenIds to modifiers mapping (uint => uint) private _crewModifiers; // Mapping indicating allowed managers mapping (address => bool) private _managers; event CollectionCreated(uint indexed id); event CollectionSeeded(uint indexed id); // Modifier to check if calling contract has the correct minting role modifier onlyManagers { require(isManager(_msgSender()), "CrewFeatures: Only managers can call this function"); _; } /** * @dev Defines a collection and points to the relevant contract * @param _collId Id for the collection * @param _generator Address of the contract adhering to the appropriate interface */ function setGenerator(uint _collId, ICrewGenerator _generator) external onlyOwner { _generators[_collId] = _generator; emit CollectionCreated(_collId); } /** * @dev Sets the seed for a given collection * @param _collId Id for the collection * @param _seed The seed to bootstrap the generator with */ function setGeneratorSeed(uint _collId, bytes32 _seed) external onlyManagers { require(address(_generators[_collId]) != address(0), "CrewFeatures: collection must be defined"); ICrewGenerator generator = _generators[_collId]; generator.setSeed(_seed); emit CollectionSeeded(_collId); } /** * @dev Set a token with a specific crew collection * @param _crewId The ERC721 tokenID for the crew member * @param _collId The set ID to assign the crew member to * @param _mod An optional modifier ranging from 0 (default) to 10,000 */ function setToken(uint _crewId, uint _collId, uint _mod) external onlyManagers { require(address(_generators[_collId]) != address(0), "CrewFeatures: collection must be defined"); _crewCollection[_crewId] = _collId; if (_mod > 0) { _crewModifiers[_crewId] = _mod; } } /** * @dev Returns the generated features for a crew member as a bitpacked uint * @param _crewId The ERC721 tokenID for the crew member */ function getFeatures(uint _crewId) public view returns (uint) { uint generatorId = _crewCollection[_crewId]; ICrewGenerator generator = _generators[generatorId]; uint features = generator.getFeatures(_crewId, _crewModifiers[_crewId]); features |= generatorId << 0; return features; } /** * @dev Add a new account / contract that can mint / burn crew members * @param _manager Address of the new manager */ function addManager(address _manager) external onlyOwner { _managers[_manager] = true; } /** * @dev Remove a current manager * @param _manager Address of the manager to be removed */ function removeManager(address _manager) external onlyOwner { _managers[_manager] = false; } /** * @dev Checks if an address is a manager * @param _manager Address of contract / account to check */ function isManager(address _manager) public view returns (bool) { return _managers[_manager]; } }
// SPDX-License-Identifier: UNLICENSED pragma solidity 0.7.6; interface ICrewGenerator { function setSeed(bytes32 _seed) external; function getFeatures(uint _crewId, uint _mod) external view returns (uint); }
// SPDX-License-Identifier: MIT pragma solidity >=0.6.0 <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 () internal { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), 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 { emit OwnershipTransferred(_owner, address(0)); _owner = 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"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } }
// SPDX-License-Identifier: MIT pragma solidity >=0.6.0 <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 GSN 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 payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } }
{ "remappings": [], "optimizer": { "enabled": false, "runs": 200 }, "evmVersion": "istanbul", "libraries": {}, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"CollectionCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"CollectionSeeded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"address","name":"_manager","type":"address"}],"name":"addManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_crewId","type":"uint256"}],"name":"getFeatures","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_manager","type":"address"}],"name":"isManager","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_manager","type":"address"}],"name":"removeManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_collId","type":"uint256"},{"internalType":"contract ICrewGenerator","name":"_generator","type":"address"}],"name":"setGenerator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_collId","type":"uint256"},{"internalType":"bytes32","name":"_seed","type":"bytes32"}],"name":"setGeneratorSeed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_crewId","type":"uint256"},{"internalType":"uint256","name":"_collId","type":"uint256"},{"internalType":"uint256","name":"_mod","type":"uint256"}],"name":"setToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5060006100216100c460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506100cc565b600033905090565b610f53806100db6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806394a5dbb11161006657806394a5dbb1146101b5578063ac18de43146101f7578063bf39eaf21461023b578063f2fde38b14610273578063f3ae2415146102b75761009e565b80632d06177a146100a3578063715018a6146100e757806374542f6f146100f15780638da5cb5b14610133578063949ca2c214610167575b600080fd5b6100e5600480360360208110156100b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610311565b005b6100ef61041b565b005b61011d6004803603602081101561010757600080fd5b8101908080359060200190929190505050610588565b6040518082815260200191505060405180910390f35b61013b610698565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101b36004803603604081101561017d57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106c1565b005b6101f5600480360360608110156101cb57600080fd5b810190808035906020019092919080359060200190929190803590602001909291905050506107f3565b005b6102396004803603602081101561020d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610950565b005b6102716004803603604081101561025157600080fd5b810190808035906020019092919080359060200190929190505050610a5a565b005b6102b56004803603602081101561028957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c4d565b005b6102f9600480360360208110156102cd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e3f565b60405180821515815260200191505060405180910390f35b610319610e95565b73ffffffffffffffffffffffffffffffffffffffff16610337610698565b73ffffffffffffffffffffffffffffffffffffffff16146103c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610423610e95565b73ffffffffffffffffffffffffffffffffffffffff16610441610698565b73ffffffffffffffffffffffffffffffffffffffff16146104ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000806002600084815260200190815260200160002054905060006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008173ffffffffffffffffffffffffffffffffffffffff16630856ffce8660036000898152602001908152602001600020546040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561064757600080fd5b505afa15801561065b573d6000803e3d6000fd5b505050506040513d602081101561067157600080fd5b81019080805190602001909291905050509050600083901b81179050809350505050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6106c9610e95565b73ffffffffffffffffffffffffffffffffffffffff166106e7610698565b73ffffffffffffffffffffffffffffffffffffffff1614610770576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b806001600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550817f5baee347cce9899b119eb4f42984958a6e25dc5b505f4f1ab8f3837120cf241f60405160405180910390a25050565b6108036107fe610e95565b610e3f565b610858576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180610ec46032913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610911576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180610ef66028913960400191505060405180910390fd5b816002600085815260200190815260200160002081905550600081111561094b578060036000858152602001908152602001600020819055505b505050565b610958610e95565b73ffffffffffffffffffffffffffffffffffffffff16610976610698565b73ffffffffffffffffffffffffffffffffffffffff16146109ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610a6a610a65610e95565b610e3f565b610abf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180610ec46032913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610b78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180610ef66028913960400191505060405180910390fd5b60006001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663347024ff836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610c0357600080fd5b505af1158015610c17573d6000803e3d6000fd5b50505050827faa17b57fa6e8706a28454ce0dc5860a381af26f2430a6b518d8f468e3fed0ebd60405160405180910390a2505050565b610c55610e95565b73ffffffffffffffffffffffffffffffffffffffff16610c73610698565b73ffffffffffffffffffffffffffffffffffffffff1614610cfc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610d82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610e9e6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60003390509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734372657746656174757265733a204f6e6c79206d616e61676572732063616e2063616c6c20746869732066756e6374696f6e4372657746656174757265733a20636f6c6c656374696f6e206d75737420626520646566696e6564a26469706673582212201af64d9ca984e51b3f0da1a55c5050bcb9f2a8633ebc69d63df610b88559975964736f6c63430007060033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061009e5760003560e01c806394a5dbb11161006657806394a5dbb1146101b5578063ac18de43146101f7578063bf39eaf21461023b578063f2fde38b14610273578063f3ae2415146102b75761009e565b80632d06177a146100a3578063715018a6146100e757806374542f6f146100f15780638da5cb5b14610133578063949ca2c214610167575b600080fd5b6100e5600480360360208110156100b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610311565b005b6100ef61041b565b005b61011d6004803603602081101561010757600080fd5b8101908080359060200190929190505050610588565b6040518082815260200191505060405180910390f35b61013b610698565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101b36004803603604081101561017d57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106c1565b005b6101f5600480360360608110156101cb57600080fd5b810190808035906020019092919080359060200190929190803590602001909291905050506107f3565b005b6102396004803603602081101561020d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610950565b005b6102716004803603604081101561025157600080fd5b810190808035906020019092919080359060200190929190505050610a5a565b005b6102b56004803603602081101561028957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c4d565b005b6102f9600480360360208110156102cd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e3f565b60405180821515815260200191505060405180910390f35b610319610e95565b73ffffffffffffffffffffffffffffffffffffffff16610337610698565b73ffffffffffffffffffffffffffffffffffffffff16146103c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610423610e95565b73ffffffffffffffffffffffffffffffffffffffff16610441610698565b73ffffffffffffffffffffffffffffffffffffffff16146104ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000806002600084815260200190815260200160002054905060006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008173ffffffffffffffffffffffffffffffffffffffff16630856ffce8660036000898152602001908152602001600020546040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561064757600080fd5b505afa15801561065b573d6000803e3d6000fd5b505050506040513d602081101561067157600080fd5b81019080805190602001909291905050509050600083901b81179050809350505050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6106c9610e95565b73ffffffffffffffffffffffffffffffffffffffff166106e7610698565b73ffffffffffffffffffffffffffffffffffffffff1614610770576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b806001600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550817f5baee347cce9899b119eb4f42984958a6e25dc5b505f4f1ab8f3837120cf241f60405160405180910390a25050565b6108036107fe610e95565b610e3f565b610858576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180610ec46032913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610911576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180610ef66028913960400191505060405180910390fd5b816002600085815260200190815260200160002081905550600081111561094b578060036000858152602001908152602001600020819055505b505050565b610958610e95565b73ffffffffffffffffffffffffffffffffffffffff16610976610698565b73ffffffffffffffffffffffffffffffffffffffff16146109ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610a6a610a65610e95565b610e3f565b610abf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180610ec46032913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610b78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180610ef66028913960400191505060405180910390fd5b60006001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663347024ff836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610c0357600080fd5b505af1158015610c17573d6000803e3d6000fd5b50505050827faa17b57fa6e8706a28454ce0dc5860a381af26f2430a6b518d8f468e3fed0ebd60405160405180910390a2505050565b610c55610e95565b73ffffffffffffffffffffffffffffffffffffffff16610c73610698565b73ffffffffffffffffffffffffffffffffffffffff1614610cfc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610d82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610e9e6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60003390509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734372657746656174757265733a204f6e6c79206d616e61676572732063616e2063616c6c20746869732066756e6374696f6e4372657746656174757265733a20636f6c6c656374696f6e206d75737420626520646566696e6564a26469706673582212201af64d9ca984e51b3f0da1a55c5050bcb9f2a8633ebc69d63df610b88559975964736f6c63430007060033
Deployed Bytecode Sourcemap
249:3238:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2963:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1717:145:2;;;:::i;:::-;;2521:305:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1085:85:2;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1184:163:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2076:291;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3166:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1511:303;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2011:240:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3384:101:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2963:94;1308:12:2;:10;:12::i;:::-;1297:23;;:7;:5;:7::i;:::-;:23;;;1289:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3048:4:0::1;3026:9;:19;3036:8;3026:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;2963:94:::0;:::o;1717:145:2:-;1308:12;:10;:12::i;:::-;1297:23;;:7;:5;:7::i;:::-;:23;;;1289:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1823:1:::1;1786:40;;1807:6;::::0;::::1;;;;;;;;1786:40;;;;;;;;;;;;1853:1;1836:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1717:145::o:0;2521:305:0:-;2577:4;2589:16;2608:15;:24;2624:7;2608:24;;;;;;;;;;;;2589:43;;2638:24;2665:11;:24;2677:11;2665:24;;;;;;;;;;;;;;;;;;;;;2638:51;;2695:13;2711:9;:21;;;2733:7;2742:14;:23;2757:7;2742:23;;;;;;;;;;;;2711:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2695:71;;2799:1;2784:11;:16;;2772:28;;;;2813:8;2806:15;;;;;2521:305;;;:::o;1085:85:2:-;1131:7;1157:6;;;;;;;;;;;1150:13;;1085:85;:::o;1184:163:0:-;1308:12:2;:10;:12::i;:::-;1297:23;;:7;:5;:7::i;:::-;:23;;;1289:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1295:10:0::1;1272:11;:20;1284:7;1272:20;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;1334:7;1316:26;;;;;;;;;;1184:163:::0;;:::o;2076:291::-;884:23;894:12;:10;:12::i;:::-;884:9;:23::i;:::-;876:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2210:1:::1;2169:43;;2177:11;:20;2189:7;2177:20;;;;;;;;;;;;;;;;;;;;;2169:43;;;;2161:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2290:7;2263:15;:24;2279:7;2263:24;;;;;;;;;;;:34;;;;2315:1;2308:4;:8;2304:59;;;2352:4;2326:14;:23;2341:7;2326:23;;;;;;;;;;;:30;;;;2304:59;2076:291:::0;;;:::o;3166:98::-;1308:12:2;:10;:12::i;:::-;1297:23;;:7;:5;:7::i;:::-;:23;;;1289:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3254:5:0::1;3232:9;:19;3242:8;3232:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;3166:98:::0;:::o;1511:303::-;884:23;894:12;:10;:12::i;:::-;884:9;:23::i;:::-;876:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1643:1:::1;1602:43;;1610:11;:20;1622:7;1610:20;;;;;;;;;;;;;;;;;;;;;1602:43;;;;1594:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1696:24;1723:11;:20;1735:7;1723:20;;;;;;;;;;;;;;;;;;;;;1696:47;;1749:9;:17;;;1767:5;1749:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;1801:7;1784:25;;;;;;;;;;968:1;1511:303:::0;;:::o;2011:240:2:-;1308:12;:10;:12::i;:::-;1297:23;;:7;:5;:7::i;:::-;:23;;;1289:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2119:1:::1;2099:22;;:8;:22;;;;2091:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2208:8;2179:38;;2200:6;::::0;::::1;;;;;;;;2179:38;;;;;;;;;;;;2236:8;2227:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2011:240:::0;:::o;3384:101:0:-;3442:4;3461:9;:19;3471:8;3461:19;;;;;;;;;;;;;;;;;;;;;;;;;3454:26;;3384:101;;;:::o;598:104:3:-;651:15;685:10;678:17;;598:104;:::o
Swarm Source
ipfs://1af64d9ca984e51b3f0da1a55c5050bcb9f2a8633ebc69d63df610b885599759
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.