Overview
BERA Balance
BERA Value
$0.00More Info
Private Name Tags
ContractCreator
Multichain Info
No addresses found
Latest 25 from a total of 571 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer Ownersh... | 958896 | 38 days ago | IN | 0 BERA | 0.00000428 | ||||
Set Reserved Nam... | 914323 | 39 days ago | IN | 0 BERA | 0.00000008 | ||||
Set Reserved Nam... | 914323 | 39 days ago | IN | 0 BERA | 0.00000008 | ||||
Remove Reserved ... | 905383 | 39 days ago | IN | 0 BERA | 0.00000004 | ||||
Set Reserved Nam... | 905286 | 39 days ago | IN | 0 BERA | 0.00000008 | ||||
Set Reserved Nam... | 905286 | 39 days ago | IN | 0 BERA | 0.00000008 | ||||
Set Reserved Nam... | 905286 | 39 days ago | IN | 0 BERA | 0.00000008 | ||||
Set Reserved Nam... | 905226 | 39 days ago | IN | 0 BERA | 0.00000001 | ||||
Set Reserved Nam... | 905226 | 39 days ago | IN | 0 BERA | 0.00000008 | ||||
Set Reserved Nam... | 905226 | 39 days ago | IN | 0 BERA | 0.00000001 | ||||
Set Reserved Nam... | 905226 | 39 days ago | IN | 0 BERA | 0.00000008 | ||||
Set Reserved Nam... | 905226 | 39 days ago | IN | 0 BERA | 0.00000008 | ||||
Set Reserved Nam... | 905226 | 39 days ago | IN | 0 BERA | 0.00000008 | ||||
Set Reserved Nam... | 905226 | 39 days ago | IN | 0 BERA | 0.00000008 | ||||
Set Reserved Nam... | 905226 | 39 days ago | IN | 0 BERA | 0.00000008 | ||||
Set Reserved Nam... | 905226 | 39 days ago | IN | 0 BERA | 0.00000008 | ||||
Set Reserved Nam... | 905226 | 39 days ago | IN | 0 BERA | 0.00000008 | ||||
Set Reserved Nam... | 905226 | 39 days ago | IN | 0 BERA | 0.00000008 | ||||
Set Reserved Nam... | 905226 | 39 days ago | IN | 0 BERA | 0.00000002 | ||||
Set Reserved Nam... | 905226 | 39 days ago | IN | 0 BERA | 0.00000008 | ||||
Set Reserved Nam... | 905226 | 39 days ago | IN | 0 BERA | 0.00000008 | ||||
Set Reserved Nam... | 905226 | 39 days ago | IN | 0 BERA | 0.00000004 | ||||
Set Reserved Nam... | 904957 | 39 days ago | IN | 0 BERA | 0.00000008 | ||||
Set Reserved Nam... | 904956 | 39 days ago | IN | 0 BERA | 0.00000008 | ||||
Set Reserved Nam... | 904956 | 39 days ago | IN | 0 BERA | 0.00000008 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
ReservedRegistry
Compiler Version
v0.8.28+commit.7893614a
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; import {IReservedRegistry} from "src/registrar/interfaces/IReservedRegistry.sol"; import {StringUtils} from "src/utils/StringUtils.sol"; contract ReservedRegistry is Ownable, IReservedRegistry { using StringUtils for string; /// Errors ----------------------------------------------------------- /// @dev Thrown when a name is already reserved. error NameAlreadyReserved(string name); /// @dev Thrown when the index is out of bounds. error IndexOutOfBounds(); /// State ------------------------------------------------------------ mapping(bytes32 => string) private _reservedNames; bytes32[] private _reservedNamesList; uint256 private _reservedNamesCount; /// Constructor ------------------------------------------------------ constructor(address owner_) Ownable(owner_) {} /// Admin Functions --------------------------------------------------- /// @dev Sets a reserved name. /// @param name_ The name to set as reserved. function setReservedName(string calldata name_) public onlyOwner { bytes32 labelHash_ = keccak256(abi.encodePacked(name_)); if (isReservedName(name_)) revert NameAlreadyReserved(name_); _reservedNames[labelHash_] = name_; _reservedNamesList.push(labelHash_); _reservedNamesCount++; } /// @dev Removes a reserved name. /// @param index_ The index of the reserved name to remove. /// @dev After deleting the name, we swap the last element in the array with the one we are deleting to avoid re-indexing. function removeReservedName(uint256 index_) public onlyOwner { if (index_ >= _reservedNamesCount) revert IndexOutOfBounds(); bytes32 labelHash_ = _reservedNamesList[index_]; delete _reservedNames[labelHash_]; _reservedNamesList[index_] = _reservedNamesList[_reservedNamesCount - 1]; _reservedNamesList.pop(); _reservedNamesCount--; } /// Accessors -------------------------------------------------------- function reservedNamesCount() public view returns (uint256) { return _reservedNamesCount; } function reservedName(uint256 index_) public view returns (string memory) { return _reservedNames[_reservedNamesList[index_]]; } function isReservedName(string calldata name_) public view returns (bool) { return _reservedNames[keccak256(abi.encodePacked(name_))].strlen() > 0; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol) pragma solidity ^0.8.20; import {Context} from "../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. * * The initial owner is set to the address provided by the deployer. 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; /** * @dev The caller account is not authorized to perform an operation. */ error OwnableUnauthorizedAccount(address account); /** * @dev The owner is not a valid owner account. (eg. `address(0)`) */ error OwnableInvalidOwner(address owner); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the address provided by the deployer as the initial owner. */ constructor(address initialOwner) { if (initialOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(initialOwner); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { if (owner() != _msgSender()) { revert OwnableUnauthorizedAccount(_msgSender()); } } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling 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 { if (newOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _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 pragma solidity ^0.8.23; interface IReservedRegistry { function isReservedName(string memory name) external view returns (bool); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; library StringUtils { error InvalidUTF8Byte(); function utf8Length(string memory s) internal pure returns (uint256) { return bytes(s).length; } /** * @dev Returns the length of a given string, accurately counting characters including complex emojis. * @param s The string to measure the length of. * @return The length of the input string. */ function strlen(string memory s) internal pure returns (uint256) { bytes memory strBytes = bytes(s); uint256 len = 0; uint256 i = 0; uint256 strLen = strBytes.length; while (i < strLen) { uint256 charLen = _charLength(strBytes, i); uint256 nextI = i + charLen; // Include any combining marks or modifiers immediately following the base character while (nextI < strLen && _isCombiningMarkOrModifier(strBytes, nextI)) { nextI += _charLength(strBytes, nextI); } // Handle sequences involving ZWJs by looping until no more ZWJs are found while (nextI < strLen && _isZeroWidthJoiner(strBytes, nextI)) { // Move past the ZWJ nextI += _charLength(strBytes, nextI); // Include the next character after ZWJ if (nextI < strLen) { uint256 nextCharLen = _charLength(strBytes, nextI); nextI += nextCharLen; // Include any combining marks or modifiers following the character while (nextI < strLen && _isCombiningMarkOrModifier(strBytes, nextI)) { nextI += _charLength(strBytes, nextI); } } else { break; // No character after ZWJ } } // Handle regional indicators (used in flags) - always count as pairs if (_isRegionalIndicator(strBytes, i) && nextI < strLen && _isRegionalIndicator(strBytes, nextI)) { nextI += _charLength(strBytes, nextI); } // Increment length for each complete character sequence len++; i = nextI; } return len; } // Determines the length of a UTF-8 encoded character in bytes with validation function _charLength(bytes memory strBytes, uint256 index) private pure returns (uint256) { uint8 b = uint8(strBytes[index]); if (b < 0x80) { return 1; // 1-byte character (ASCII) } else if (b < 0xE0 && index + 1 < strBytes.length && uint8(strBytes[index + 1]) & 0xC0 == 0x80) { return 2; // 2-byte character } else if ( b < 0xF0 && index + 2 < strBytes.length && uint8(strBytes[index + 1]) & 0xC0 == 0x80 && uint8(strBytes[index + 2]) & 0xC0 == 0x80 ) { return 3; // 3-byte character } else if ( b < 0xF8 && index + 3 < strBytes.length && uint8(strBytes[index + 1]) & 0xC0 == 0x80 && uint8(strBytes[index + 2]) & 0xC0 == 0x80 && uint8(strBytes[index + 3]) & 0xC0 == 0x80 ) { return 4; // 4-byte character (including emojis) } else { revert InvalidUTF8Byte(); } } // Checks if the sequence starting at index is a Zero-Width Joiner (ZWJ) function _isZeroWidthJoiner(bytes memory strBytes, uint256 index) private pure returns (bool) { return ( strBytes[index] == 0xE2 && index + 2 < strBytes.length && strBytes[index + 1] == 0x80 && strBytes[index + 2] == 0x8D ); } // Checks if the character at index is a combining mark or modifier function _isCombiningMarkOrModifier(bytes memory strBytes, uint256 index) private pure returns (bool) { uint8 b = uint8(strBytes[index]); // Combining marks are in the range starting with 0xCC or 0xCD if (b == 0xCC || b == 0xCD) { return true; } // Emoji modifiers and variation selectors if (b == 0xE2 && index + 2 < strBytes.length) { uint8 b1 = uint8(strBytes[index + 1]); uint8 b2 = uint8(strBytes[index + 2]); // Check for variation selectors (e.g., U+FE0F) if (b1 == 0x80 && (b2 == 0x8F || b2 == 0x8E)) { return true; } } // Handle emojis with skin tone, gender modifiers, etc. if (b == 0xF0 && index + 3 < strBytes.length) { uint8 b1 = uint8(strBytes[index + 1]); uint8 b2 = uint8(strBytes[index + 2]); uint8 b3 = uint8(strBytes[index + 3]); // Check for specific sequences that are known modifiers if ( (b1 == 0x9F && b2 == 0x8F && (b3 >= 0xBB && b3 <= 0xBF)) // Skin tone modifiers || (b1 == 0x9F && b2 == 0xA4 && b3 == 0xB0) ) { // Gender modifiers return true; } } // Check for Variation Selector-16 (U+FE0F) if (b == 0xEF && index + 2 < strBytes.length) { uint8 b1 = uint8(strBytes[index + 1]); uint8 b2 = uint8(strBytes[index + 2]); if (b1 == 0xB8 && b2 == 0x8F) { return true; } } // Check for Combining Enclosing Keycap (U+20E3) if (b == 0xE2 && index + 2 < strBytes.length) { uint8 b1 = uint8(strBytes[index + 1]); uint8 b2 = uint8(strBytes[index + 2]); if (b1 == 0x83 && b2 == 0xA3) { return true; } } // Checks if the character at index is a Tag Indicator (used in special flag sequences) if ( b == 0xF3 && index + 2 < strBytes.length && strBytes[index + 1] == 0xA0 && strBytes[index + 2] >= 0x80 && strBytes[index + 2] <= 0x9F ) { return true; } return false; } // Checks if the character at index is a Regional Indicator Symbol (used for flag emojis) function _isRegionalIndicator(bytes memory strBytes, uint256 index) private pure returns (bool) { return ( strBytes[index] == 0xF0 && index + 3 < strBytes.length && strBytes[index + 1] == 0x9F && strBytes[index + 2] == 0x87 ); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol) pragma solidity ^0.8.20; /** * @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; } function _contextSuffixLength() internal view virtual returns (uint256) { return 0; } }
{ "remappings": [ "@pythnetwork/pyth-sdk-solidity/=node_modules/@pythnetwork/pyth-sdk-solidity/", "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", "forge-std/=lib/forge-std/src/", "ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/", "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", "openzeppelin-contracts/=lib/openzeppelin-contracts/" ], "optimizer": { "enabled": true, "runs": 200 }, "metadata": { "useLiteralContent": false, "bytecodeHash": "ipfs", "appendCBOR": true }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } }, "evmVersion": "cancun", "viaIR": false, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"owner_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"IndexOutOfBounds","type":"error"},{"inputs":[],"name":"InvalidUTF8Byte","type":"error"},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"name":"NameAlreadyReserved","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"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":"string","name":"name_","type":"string"}],"name":"isReservedName","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":"uint256","name":"index_","type":"uint256"}],"name":"removeReservedName","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"index_","type":"uint256"}],"name":"reservedName","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reservedNamesCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"name_","type":"string"}],"name":"setReservedName","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052348015600e575f5ffd5b506040516112b83803806112b8833981016040819052602b9160b4565b806001600160a01b038116605857604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b605f816065565b505060df565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f6020828403121560c3575f5ffd5b81516001600160a01b038116811460d8575f5ffd5b9392505050565b6111cc806100ec5f395ff3fe608060405234801561000f575f5ffd5b5060043610610085575f3560e01c8063b8d5184a11610058578063b8d5184a146100e8578063bd20798314610108578063e9cf379414610119578063f2fde38b1461012c575f5ffd5b80631c40a2ac14610089578063485167f6146100b1578063715018a6146100c65780638da5cb5b146100ce575b5f5ffd5b61009c610097366004610e98565b61013f565b60405190151581526020015b60405180910390f35b6100c46100bf366004610f06565b610213565b005b6100c46102fd565b5f546040516001600160a01b0390911681526020016100a8565b6100fb6100f6366004610f06565b610310565b6040516100a89190610f1d565b6003546040519081526020016100a8565b6100c4610127366004610e98565b6103cc565b6100c461013a366004610f52565b610499565b5f5f61020960015f868660405160200161015a929190610f78565b6040516020818303038152906040528051906020012081526020019081526020015f20805461018890610f87565b80601f01602080910402602001604051908101604052809291908181526020018280546101b490610f87565b80156101ff5780601f106101d6576101008083540402835291602001916101ff565b820191905f5260205f20905b8154815290600101906020018083116101e257829003601f168201915b50505050506104d6565b1190505b92915050565b61021b610626565b600354811061023d57604051634e23d03560e01b815260040160405180910390fd5b5f6002828154811061025157610251610fbf565b5f91825260208083209091015480835260019091526040822090925061027691610e4e565b600260016003546102879190610fe7565b8154811061029757610297610fbf565b905f5260205f200154600283815481106102b3576102b3610fbf565b5f9182526020909120015560028054806102cf576102cf610ffa565b600190038181905f5260205f20015f9055905560035f8154809291906102f49061100e565b91905055505050565b610305610626565b61030e5f610652565b565b606060015f6002848154811061032857610328610fbf565b905f5260205f20015481526020019081526020015f20805461034990610f87565b80601f016020809104026020016040519081016040528092919081815260200182805461037590610f87565b80156103c05780601f10610397576101008083540402835291602001916103c0565b820191905f5260205f20905b8154815290600101906020018083116103a357829003601f168201915b50505050509050919050565b6103d4610626565b5f82826040516020016103e8929190610f78565b60405160208183030381529060405280519060200120905061040a838361013f565b1561043557828260405163ee7f75f760e01b815260040161042c929190611023565b60405180910390fd5b5f81815260016020526040902061044d8385836110b1565b50600280546001810182555f9182527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01829055600380549161048f8361116b565b9190505550505050565b6104a1610626565b6001600160a01b0381166104ca57604051631e4fbdf760e01b81525f600482015260240161042c565b6104d381610652565b50565b80515f908290829081905b8082101561061c575f6104f485846106a1565b90505f6105018285611183565b90505b8281108015610518575061051886826108d1565b156105385761052786826106a1565b6105319082611183565b9050610504565b828110801561054c575061054c8682610cdb565b156105c35761055b86826106a1565b6105659082611183565b9050828110156105c3575f61057a87836106a1565b90506105868183611183565b91505b838210801561059d575061059d87836108d1565b156105bd576105ac87836106a1565b6105b69083611183565b9150610589565b50610538565b6105cd8685610d95565b80156105d857508281105b80156105e957506105e98682610d95565b15610605576105f886826106a1565b6106029082611183565b90505b8461060f8161116b565b95505080935050506104e1565b5090949350505050565b5f546001600160a01b0316331461030e5760405163118cdaa760e01b815233600482015260240161042c565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5f8383815181106106b5576106b5610fbf565b016020015160f81c905060808110156106d257600191505061020d565b60e08160ff161080156106ef575083516106ed846001611183565b105b801561072a575083610702846001611183565b8151811061071257610712610fbf565b602001015160f81c60f81b60f81c60c01660ff166080145b1561073957600291505061020d565b60f08160ff1610801561075657508351610754846002611183565b105b8015610791575083610769846001611183565b8151811061077957610779610fbf565b602001015160f81c60f81b60f81c60c01660ff166080145b80156107cc5750836107a4846002611183565b815181106107b4576107b4610fbf565b602001015160f81c60f81b60f81c60c01660ff166080145b156107db57600391505061020d565b60f88160ff161080156107f8575083516107f6846003611183565b105b801561083357508361080b846001611183565b8151811061081b5761081b610fbf565b602001015160f81c60f81b60f81c60c01660ff166080145b801561086e575083610846846002611183565b8151811061085657610856610fbf565b602001015160f81c60f81b60f81c60c01660ff166080145b80156108a9575083610881846003611183565b8151811061089157610891610fbf565b602001015160f81c60f81b60f81c60c01660ff166080145b156108b857600491505061020d565b6040516361709aff60e11b815260040160405180910390fd5b5f5f8383815181106108e5576108e5610fbf565b016020015160f81c905060cc81148061090157508060ff1660cd145b1561091057600191505061020d565b8060ff1660e214801561092d5750835161092b846002611183565b105b156109b7575f8461093f856001611183565b8151811061094f5761094f610fbf565b016020015160f81c90505f85610966866002611183565b8151811061097657610976610fbf565b016020015160f81c9050608060ff83161480156109a357508060ff16608f14806109a357508060ff16608e145b156109b4576001935050505061020d565b50505b8060ff1660f01480156109d4575083516109d2846003611183565b105b15610ac4575f846109e6856001611183565b815181106109f6576109f6610fbf565b016020015160f81c90505f85610a0d866002611183565b81518110610a1d57610a1d610fbf565b016020015160f81c90505f86610a34876003611183565b81518110610a4457610a44610fbf565b016020015160f81c9050609f60ff8416148015610a6457508160ff16608f145b8015610a83575060bb8160ff1610158015610a83575060bf8160ff1611155b80610aae57508260ff16609f148015610a9f57508160ff1660a4145b8015610aae57508060ff1660b0145b15610ac057600194505050505061020d565b5050505b8060ff1660ef148015610ae157508351610adf846002611183565b105b15610b5e575f84610af3856001611183565b81518110610b0357610b03610fbf565b016020015160f81c90505f85610b1a866002611183565b81518110610b2a57610b2a610fbf565b016020015160f81c905060b860ff8316148015610b4a57508060ff16608f145b15610b5b576001935050505061020d565b50505b8060ff1660e2148015610b7b57508351610b79846002611183565b105b15610bf8575f84610b8d856001611183565b81518110610b9d57610b9d610fbf565b016020015160f81c90505f85610bb4866002611183565b81518110610bc457610bc4610fbf565b016020015160f81c9050608360ff8316148015610be457508060ff1660a3145b15610bf5576001935050505061020d565b50505b8060ff1660f3148015610c1557508351610c13846002611183565b105b8015610c4f575083610c28846001611183565b81518110610c3857610c38610fbf565b6020910101516001600160f81b031916600560fd1b145b8015610c895750600160ff1b84610c67856002611183565b81518110610c7757610c77610fbf565b01602001516001600160f81b03191610155b8015610cc35750609f60f81b84610ca1856002611183565b81518110610cb157610cb1610fbf565b01602001516001600160f81b03191611155b15610cd257600191505061020d565b505f9392505050565b5f828281518110610cee57610cee610fbf565b6020910101516001600160f81b031916607160f91b148015610d1a57508251610d18836002611183565b105b8015610d54575082610d2d836001611183565b81518110610d3d57610d3d610fbf565b6020910101516001600160f81b031916600160ff1b145b8015610d8e575082610d67836002611183565b81518110610d7757610d77610fbf565b6020910101516001600160f81b031916608d60f81b145b9392505050565b5f828281518110610da857610da8610fbf565b6020910101516001600160f81b031916600f60fc1b148015610dd457508251610dd2836003611183565b105b8015610e0e575082610de7836001611183565b81518110610df757610df7610fbf565b6020910101516001600160f81b031916609f60f81b145b8015610d8e575082610e21836002611183565b81518110610e3157610e31610fbf565b6020910101516001600160f81b031916608760f81b149392505050565b508054610e5a90610f87565b5f825580601f10610e69575050565b601f0160209004905f5260205f20908101906104d391905b80821115610e94575f8155600101610e81565b5090565b5f5f60208385031215610ea9575f5ffd5b823567ffffffffffffffff811115610ebf575f5ffd5b8301601f81018513610ecf575f5ffd5b803567ffffffffffffffff811115610ee5575f5ffd5b856020828401011115610ef6575f5ffd5b6020919091019590945092505050565b5f60208284031215610f16575f5ffd5b5035919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f60208284031215610f62575f5ffd5b81356001600160a01b0381168114610d8e575f5ffd5b818382375f9101908152919050565b600181811c90821680610f9b57607f821691505b602082108103610fb957634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561020d5761020d610fd3565b634e487b7160e01b5f52603160045260245ffd5b5f8161101c5761101c610fd3565b505f190190565b60208152816020820152818360408301375f818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b5f52604160045260245ffd5b601f8211156110ac57805f5260205f20601f840160051c8101602085101561108a5750805b601f840160051c820191505b818110156110a9575f8155600101611096565b50505b505050565b67ffffffffffffffff8311156110c9576110c9611051565b6110dd836110d78354610f87565b83611065565b5f601f84116001811461110e575f85156110f75750838201355b5f19600387901b1c1916600186901b1783556110a9565b5f83815260208120601f198716915b8281101561113d578685013582556020948501946001909201910161111d565b5086821015611159575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b5f6001820161117c5761117c610fd3565b5060010190565b8082018082111561020d5761020d610fd356fea26469706673582212202dd45575e1b512705d10f7c2901c56a6af9dcc6dcf3ab096b091d8c34bf3d4c864736f6c634300081c003300000000000000000000000043aedb439f497b1d51d1b263d64abf026b2aed5c
Deployed Bytecode
0x608060405234801561000f575f5ffd5b5060043610610085575f3560e01c8063b8d5184a11610058578063b8d5184a146100e8578063bd20798314610108578063e9cf379414610119578063f2fde38b1461012c575f5ffd5b80631c40a2ac14610089578063485167f6146100b1578063715018a6146100c65780638da5cb5b146100ce575b5f5ffd5b61009c610097366004610e98565b61013f565b60405190151581526020015b60405180910390f35b6100c46100bf366004610f06565b610213565b005b6100c46102fd565b5f546040516001600160a01b0390911681526020016100a8565b6100fb6100f6366004610f06565b610310565b6040516100a89190610f1d565b6003546040519081526020016100a8565b6100c4610127366004610e98565b6103cc565b6100c461013a366004610f52565b610499565b5f5f61020960015f868660405160200161015a929190610f78565b6040516020818303038152906040528051906020012081526020019081526020015f20805461018890610f87565b80601f01602080910402602001604051908101604052809291908181526020018280546101b490610f87565b80156101ff5780601f106101d6576101008083540402835291602001916101ff565b820191905f5260205f20905b8154815290600101906020018083116101e257829003601f168201915b50505050506104d6565b1190505b92915050565b61021b610626565b600354811061023d57604051634e23d03560e01b815260040160405180910390fd5b5f6002828154811061025157610251610fbf565b5f91825260208083209091015480835260019091526040822090925061027691610e4e565b600260016003546102879190610fe7565b8154811061029757610297610fbf565b905f5260205f200154600283815481106102b3576102b3610fbf565b5f9182526020909120015560028054806102cf576102cf610ffa565b600190038181905f5260205f20015f9055905560035f8154809291906102f49061100e565b91905055505050565b610305610626565b61030e5f610652565b565b606060015f6002848154811061032857610328610fbf565b905f5260205f20015481526020019081526020015f20805461034990610f87565b80601f016020809104026020016040519081016040528092919081815260200182805461037590610f87565b80156103c05780601f10610397576101008083540402835291602001916103c0565b820191905f5260205f20905b8154815290600101906020018083116103a357829003601f168201915b50505050509050919050565b6103d4610626565b5f82826040516020016103e8929190610f78565b60405160208183030381529060405280519060200120905061040a838361013f565b1561043557828260405163ee7f75f760e01b815260040161042c929190611023565b60405180910390fd5b5f81815260016020526040902061044d8385836110b1565b50600280546001810182555f9182527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01829055600380549161048f8361116b565b9190505550505050565b6104a1610626565b6001600160a01b0381166104ca57604051631e4fbdf760e01b81525f600482015260240161042c565b6104d381610652565b50565b80515f908290829081905b8082101561061c575f6104f485846106a1565b90505f6105018285611183565b90505b8281108015610518575061051886826108d1565b156105385761052786826106a1565b6105319082611183565b9050610504565b828110801561054c575061054c8682610cdb565b156105c35761055b86826106a1565b6105659082611183565b9050828110156105c3575f61057a87836106a1565b90506105868183611183565b91505b838210801561059d575061059d87836108d1565b156105bd576105ac87836106a1565b6105b69083611183565b9150610589565b50610538565b6105cd8685610d95565b80156105d857508281105b80156105e957506105e98682610d95565b15610605576105f886826106a1565b6106029082611183565b90505b8461060f8161116b565b95505080935050506104e1565b5090949350505050565b5f546001600160a01b0316331461030e5760405163118cdaa760e01b815233600482015260240161042c565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5f8383815181106106b5576106b5610fbf565b016020015160f81c905060808110156106d257600191505061020d565b60e08160ff161080156106ef575083516106ed846001611183565b105b801561072a575083610702846001611183565b8151811061071257610712610fbf565b602001015160f81c60f81b60f81c60c01660ff166080145b1561073957600291505061020d565b60f08160ff1610801561075657508351610754846002611183565b105b8015610791575083610769846001611183565b8151811061077957610779610fbf565b602001015160f81c60f81b60f81c60c01660ff166080145b80156107cc5750836107a4846002611183565b815181106107b4576107b4610fbf565b602001015160f81c60f81b60f81c60c01660ff166080145b156107db57600391505061020d565b60f88160ff161080156107f8575083516107f6846003611183565b105b801561083357508361080b846001611183565b8151811061081b5761081b610fbf565b602001015160f81c60f81b60f81c60c01660ff166080145b801561086e575083610846846002611183565b8151811061085657610856610fbf565b602001015160f81c60f81b60f81c60c01660ff166080145b80156108a9575083610881846003611183565b8151811061089157610891610fbf565b602001015160f81c60f81b60f81c60c01660ff166080145b156108b857600491505061020d565b6040516361709aff60e11b815260040160405180910390fd5b5f5f8383815181106108e5576108e5610fbf565b016020015160f81c905060cc81148061090157508060ff1660cd145b1561091057600191505061020d565b8060ff1660e214801561092d5750835161092b846002611183565b105b156109b7575f8461093f856001611183565b8151811061094f5761094f610fbf565b016020015160f81c90505f85610966866002611183565b8151811061097657610976610fbf565b016020015160f81c9050608060ff83161480156109a357508060ff16608f14806109a357508060ff16608e145b156109b4576001935050505061020d565b50505b8060ff1660f01480156109d4575083516109d2846003611183565b105b15610ac4575f846109e6856001611183565b815181106109f6576109f6610fbf565b016020015160f81c90505f85610a0d866002611183565b81518110610a1d57610a1d610fbf565b016020015160f81c90505f86610a34876003611183565b81518110610a4457610a44610fbf565b016020015160f81c9050609f60ff8416148015610a6457508160ff16608f145b8015610a83575060bb8160ff1610158015610a83575060bf8160ff1611155b80610aae57508260ff16609f148015610a9f57508160ff1660a4145b8015610aae57508060ff1660b0145b15610ac057600194505050505061020d565b5050505b8060ff1660ef148015610ae157508351610adf846002611183565b105b15610b5e575f84610af3856001611183565b81518110610b0357610b03610fbf565b016020015160f81c90505f85610b1a866002611183565b81518110610b2a57610b2a610fbf565b016020015160f81c905060b860ff8316148015610b4a57508060ff16608f145b15610b5b576001935050505061020d565b50505b8060ff1660e2148015610b7b57508351610b79846002611183565b105b15610bf8575f84610b8d856001611183565b81518110610b9d57610b9d610fbf565b016020015160f81c90505f85610bb4866002611183565b81518110610bc457610bc4610fbf565b016020015160f81c9050608360ff8316148015610be457508060ff1660a3145b15610bf5576001935050505061020d565b50505b8060ff1660f3148015610c1557508351610c13846002611183565b105b8015610c4f575083610c28846001611183565b81518110610c3857610c38610fbf565b6020910101516001600160f81b031916600560fd1b145b8015610c895750600160ff1b84610c67856002611183565b81518110610c7757610c77610fbf565b01602001516001600160f81b03191610155b8015610cc35750609f60f81b84610ca1856002611183565b81518110610cb157610cb1610fbf565b01602001516001600160f81b03191611155b15610cd257600191505061020d565b505f9392505050565b5f828281518110610cee57610cee610fbf565b6020910101516001600160f81b031916607160f91b148015610d1a57508251610d18836002611183565b105b8015610d54575082610d2d836001611183565b81518110610d3d57610d3d610fbf565b6020910101516001600160f81b031916600160ff1b145b8015610d8e575082610d67836002611183565b81518110610d7757610d77610fbf565b6020910101516001600160f81b031916608d60f81b145b9392505050565b5f828281518110610da857610da8610fbf565b6020910101516001600160f81b031916600f60fc1b148015610dd457508251610dd2836003611183565b105b8015610e0e575082610de7836001611183565b81518110610df757610df7610fbf565b6020910101516001600160f81b031916609f60f81b145b8015610d8e575082610e21836002611183565b81518110610e3157610e31610fbf565b6020910101516001600160f81b031916608760f81b149392505050565b508054610e5a90610f87565b5f825580601f10610e69575050565b601f0160209004905f5260205f20908101906104d391905b80821115610e94575f8155600101610e81565b5090565b5f5f60208385031215610ea9575f5ffd5b823567ffffffffffffffff811115610ebf575f5ffd5b8301601f81018513610ecf575f5ffd5b803567ffffffffffffffff811115610ee5575f5ffd5b856020828401011115610ef6575f5ffd5b6020919091019590945092505050565b5f60208284031215610f16575f5ffd5b5035919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f60208284031215610f62575f5ffd5b81356001600160a01b0381168114610d8e575f5ffd5b818382375f9101908152919050565b600181811c90821680610f9b57607f821691505b602082108103610fb957634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561020d5761020d610fd3565b634e487b7160e01b5f52603160045260245ffd5b5f8161101c5761101c610fd3565b505f190190565b60208152816020820152818360408301375f818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b5f52604160045260245ffd5b601f8211156110ac57805f5260205f20601f840160051c8101602085101561108a5750805b601f840160051c820191505b818110156110a9575f8155600101611096565b50505b505050565b67ffffffffffffffff8311156110c9576110c9611051565b6110dd836110d78354610f87565b83611065565b5f601f84116001811461110e575f85156110f75750838201355b5f19600387901b1c1916600186901b1783556110a9565b5f83815260208120601f198716915b8281101561113d578685013582556020948501946001909201910161111d565b5086821015611159575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b5f6001820161117c5761117c610fd3565b5060010190565b8082018082111561020d5761020d610fd356fea26469706673582212202dd45575e1b512705d10f7c2901c56a6af9dcc6dcf3ab096b091d8c34bf3d4c864736f6c634300081c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000043aedb439f497b1d51d1b263d64abf026b2aed5c
-----Decoded View---------------
Arg [0] : owner_ (address): 0x43aedB439F497b1d51D1b263D64Abf026B2Aed5c
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000043aedb439f497b1d51d1b263d64abf026b2aed5c
Deployed Bytecode Sourcemap
265:2311:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2413:161;;;;;;:::i;:::-;;:::i;:::-;;;771:14:5;;764:22;746:41;;734:2;719:18;2413:161:3;;;;;;;;1690:386;;;;;;:::i;:::-;;:::i;:::-;;2293:101:0;;;:::i;1638:85::-;1684:7;1710:6;1638:85;;-1:-1:-1;;;;;1710:6:0;;;1129:51:5;;1117:2;1102:18;1638:85:0;983:203:5;2267:140:3;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2158:103::-;2235:19;;2158:103;;1760:25:5;;;1748:2;1733:18;2158:103:3;1614:177:5;1127:328:3;;;;;;:::i;:::-;;:::i;2543:215:0:-;;;;;;:::i;:::-;;:::i;2413:161:3:-;2481:4;2566:1;2504:59;:14;:50;2546:5;;2529:23;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2519:34;;;;;;2504:50;;;;;;;;;;;:57;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:59::i;:::-;:63;2497:70;;2413:161;;;;;:::o;1690:386::-;1531:13:0;:11;:13::i;:::-;1775:19:3::1;;1765:6;:29;1761:60;;1803:18;;-1:-1:-1::0;;;1803:18:3::1;;;;;;;;;;;1761:60;1832:18;1853;1872:6;1853:26;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;::::1;::::0;1896;;;:14:::1;:26:::0;;;;;;1853;;-1:-1:-1;1889:33:3::1;::::0;::::1;:::i;:::-;1961:18;2002:1;1980:19;;:23;;;;:::i;:::-;1961:43;;;;;;;;:::i;:::-;;;;;;;;;1932:18;1951:6;1932:26;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;:72:::0;2014:18:::1;:24:::0;;;::::1;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2048:19;;:21;;;;;;;;;:::i;:::-;;;;;;1751:325;1690:386:::0;:::o;2293:101:0:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;2267:140:3:-;2326:13;2358:14;:42;2373:18;2392:6;2373:26;;;;;;;;:::i;:::-;;;;;;;;;2358:42;;;;;;;;;;;2351:49;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2267:140;;;:::o;1127:328::-;1531:13:0;:11;:13::i;:::-;1202:18:3::1;1250:5;;1233:23;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1223:34;;;;;;1202:55;;1271:21;1286:5;;1271:14;:21::i;:::-;1267:60;;;1321:5;;1301:26;;-1:-1:-1::0;;;1301:26:3::1;;;;;;;;;:::i;:::-;;;;;;;;1267:60;1338:26;::::0;;;:14:::1;:26;::::0;;;;:34:::1;1367:5:::0;;1338:26;:34:::1;:::i;:::-;-1:-1:-1::0;1382:18:3::1;:35:::0;;::::1;::::0;::::1;::::0;;-1:-1:-1;1382:35:3;;;;::::1;::::0;;;1427:19:::1;:21:::0;;;::::1;::::0;::::1;:::i;:::-;;;;;;1192:263;1127:328:::0;;:::o;2543:215:0:-;1531:13;:11;:13::i;:::-;-1:-1:-1;;;;;2627:22:0;::::1;2623:91;;2672:31;::::0;-1:-1:-1;;;2672:31:0;;2700:1:::1;2672:31;::::0;::::1;1129:51:5::0;1102:18;;2672:31:0::1;983:203:5::0;2623:91:0::1;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;450:1830:4:-;632:15;;506:7;;555:1;;506:7;;;;658:1595;669:6;665:1;:10;658:1595;;;691:15;709:24;721:8;731:1;709:11;:24::i;:::-;691:42;-1:-1:-1;747:13:4;763:11;691:42;763:1;:11;:::i;:::-;747:27;;886:140;901:6;893:5;:14;:61;;;;;911:43;938:8;948:5;911:26;:43::i;:::-;886:140;;;983:28;995:8;1005:5;983:11;:28::i;:::-;974:37;;;;:::i;:::-;;;886:140;;;1142:6;1134:5;:14;:53;;;;;1152:35;1171:8;1181:5;1152:18;:35::i;:::-;1127:740;;;1253:28;1265:8;1275:5;1253:11;:28::i;:::-;1244:37;;;;:::i;:::-;;;1368:6;1360:5;:14;1356:497;;;1398:19;1420:28;1432:8;1442:5;1420:11;:28::i;:::-;1398:50;-1:-1:-1;1470:20:4;1398:50;1470:20;;:::i;:::-;;;1601:156;1616:6;1608:5;:14;:61;;;;;1626:43;1653:8;1663:5;1626:26;:43::i;:::-;1601:156;;;1706:28;1718:8;1728:5;1706:11;:28::i;:::-;1697:37;;;;:::i;:::-;;;1601:156;;;1376:399;1127:740;;1356:497;1967:33;1988:8;1998:1;1967:20;:33::i;:::-;:51;;;;;2012:6;2004:5;:14;1967:51;:92;;;;;2022:37;2043:8;2053:5;2022:20;:37::i;:::-;1963:168;;;2088:28;2100:8;2110:5;2088:11;:28::i;:::-;2079:37;;;;:::i;:::-;;;1963:168;2214:5;;;;:::i;:::-;;;;2237;2233:9;;677:1576;;658:1595;;;-1:-1:-1;2270:3:4;;450:1830;-1:-1:-1;;;;450:1830:4:o;1796:162:0:-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:0;735:10:1;1855:23:0;1851:101;;1901:40;;-1:-1:-1;;;1901:40:0;;735:10:1;1901:40:0;;;1129:51:5;1102:18;;1901:40:0;983:203:5;2912:187:0;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:0;;;-1:-1:-1;;;;;;3020:17:0;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;2369:956:4:-;2450:7;2469;2485:8;2494:5;2485:15;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;2520:4:4;2516:8;;2512:807;;;2547:1;2540:8;;;;;2512:807;2601:4;2597:1;:8;;;:39;;;;-1:-1:-1;2621:15:4;;2609:9;:5;2617:1;2609:9;:::i;:::-;:27;2597:39;:84;;;;-1:-1:-1;2646:8:4;2655:9;:5;2663:1;2655:9;:::i;:::-;2646:19;;;;;;;;:::i;:::-;;;;;;;;;2640:26;;2669:4;2640:33;:41;;2677:4;2640:41;2597:84;2593:726;;;2704:1;2697:8;;;;;2593:726;2763:4;2759:1;:8;;;:39;;;;-1:-1:-1;2783:15:4;;2771:9;:5;2779:1;2771:9;:::i;:::-;:27;2759:39;:84;;;;-1:-1:-1;2808:8:4;2817:9;:5;2825:1;2817:9;:::i;:::-;2808:19;;;;;;;;:::i;:::-;;;;;;;;;2802:26;;2831:4;2802:33;:41;;2839:4;2802:41;2759:84;:145;;;;-1:-1:-1;2869:8:4;2878:9;:5;2886:1;2878:9;:::i;:::-;2869:19;;;;;;;;:::i;:::-;;;;;;;;;2863:26;;2892:4;2863:33;:41;;2900:4;2863:41;2759:145;2742:577;;;2936:1;2929:8;;;;;2742:577;2995:4;2991:1;:8;;;:39;;;;-1:-1:-1;3015:15:4;;3003:9;:5;3011:1;3003:9;:::i;:::-;:27;2991:39;:84;;;;-1:-1:-1;3040:8:4;3049:9;:5;3057:1;3049:9;:::i;:::-;3040:19;;;;;;;;:::i;:::-;;;;;;;;;3034:26;;3063:4;3034:33;:41;;3071:4;3034:41;2991:84;:145;;;;-1:-1:-1;3101:8:4;3110:9;:5;3118:1;3110:9;:::i;:::-;3101:19;;;;;;;;:::i;:::-;;;;;;;;;3095:26;;3124:4;3095:33;:41;;3132:4;3095:41;2991:145;:190;;;;-1:-1:-1;3146:8:4;3155:9;:5;3163:1;3155:9;:::i;:::-;3146:19;;;;;;;;:::i;:::-;;;;;;;;;3140:26;;3169:4;3140:33;:41;;3177:4;3140:41;2991:190;2974:345;;;3213:1;3206:8;;;;;2974:345;3291:17;;-1:-1:-1;;;3291:17:4;;;;;;;;;;;3760:2267;3856:4;3872:7;3888:8;3897:5;3888:15;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;3995:4:4;3990:9;;;:22;;;4003:1;:9;;4008:4;4003:9;3990:22;3986:64;;;4035:4;4028:11;;;;;3986:64;4115:1;:9;;4120:4;4115:9;:40;;;;-1:-1:-1;4140:15:4;;4128:9;:5;4136:1;4128:9;:::i;:::-;:27;4115:40;4111:322;;;4171:8;4188;4197:9;:5;4205:1;4197:9;:::i;:::-;4188:19;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;4222:8:4;4239;4248:9;:5;4256:1;4248:9;:::i;:::-;4239:19;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;4343:4:4;4233:26;4337:10;;;:40;;;;;4352:2;:10;;4358:4;4352:10;:24;;;;4366:2;:10;;4372:4;4366:10;4352:24;4333:90;;;4404:4;4397:11;;;;;;;4333:90;4157:276;;4111:322;4511:1;:9;;4516:4;4511:9;:40;;;;-1:-1:-1;4536:15:4;;4524:9;:5;4532:1;4524:9;:::i;:::-;:27;4511:40;4507:551;;;4567:8;4584;4593:9;:5;4601:1;4593:9;:::i;:::-;4584:19;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;4618:8:4;4635;4644:9;:5;4652:1;4644:9;:::i;:::-;4635:19;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;4669:8:4;4686;4695:9;:5;4703:1;4695:9;:::i;:::-;4686:19;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;4817:4:4;4680:26;4811:10;;;:24;;;;;4825:2;:10;;4831:4;4825:10;4811:24;:54;;;;;4846:4;4840:2;:10;;;;:24;;;;;4860:4;4854:2;:10;;;;4840:24;4810:143;;;;4914:2;:10;;4920:4;4914:10;:24;;;;;4928:2;:10;;4934:4;4928:10;4914:24;:38;;;;;4942:2;:10;;4948:4;4942:10;4914:38;4789:259;;;5029:4;5022:11;;;;;;;;4789:259;4553:505;;;4507:551;5124:1;:9;;5129:4;5124:9;:40;;;;-1:-1:-1;5149:15:4;;5137:9;:5;5145:1;5137:9;:::i;:::-;:27;5124:40;5120:246;;;5180:8;5197;5206:9;:5;5214:1;5206:9;:::i;:::-;5197:19;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;5231:8:4;5248;5257:9;:5;5265:1;5257:9;:::i;:::-;5248:19;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;5292:4:4;5242:26;5286:10;;;:24;;;;;5300:2;:10;;5306:4;5300:10;5286:24;5282:74;;;5337:4;5330:11;;;;;;;5282:74;5166:200;;5120:246;5437:1;:9;;5442:4;5437:9;:40;;;;-1:-1:-1;5462:15:4;;5450:9;:5;5458:1;5450:9;:::i;:::-;:27;5437:40;5433:246;;;5493:8;5510;5519:9;:5;5527:1;5519:9;:::i;:::-;5510:19;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;5544:8:4;5561;5570:9;:5;5578:1;5570:9;:::i;:::-;5561:19;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;5605:4:4;5555:26;5599:10;;;:24;;;;;5613:2;:10;;5619:4;5613:10;5599:24;5595:74;;;5650:4;5643:11;;;;;;;5595:74;5479:200;;5433:246;5802:1;:9;;5807:4;5802:9;:40;;;;-1:-1:-1;5827:15:4;;5815:9;:5;5823:1;5815:9;:::i;:::-;:27;5802:40;:71;;;;-1:-1:-1;5846:8:4;5855:9;:5;5863:1;5855:9;:::i;:::-;5846:19;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;;5846:19:4;-1:-1:-1;;;5846:27:4;5802:71;:102;;;;-1:-1:-1;;;;5877:8:4;5886:9;:5;5894:1;5886:9;:::i;:::-;5877:19;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;5877:19:4;:27;;5802:102;:149;;;;-1:-1:-1;;;;5924:8:4;5933:9;:5;5941:1;5933:9;:::i;:::-;5924:19;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;5924:19:4;:27;;5802:149;5785:213;;;5983:4;5976:11;;;;;5785:213;-1:-1:-1;6015:5:4;;3760:2267;-1:-1:-1;;;3760:2267:4:o;3408:274::-;3496:4;3533:8;3542:5;3533:15;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;;3533:15:4;-1:-1:-1;;;3533:23:4;:54;;;;-1:-1:-1;3572:15:4;;3560:9;:5;3568:1;3560:9;:::i;:::-;:27;3533:54;:85;;;;-1:-1:-1;3591:8:4;3600:9;:5;3608:1;3600:9;:::i;:::-;3591:19;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;;3591:19:4;-1:-1:-1;;;3591:27:4;3533:85;:132;;;;-1:-1:-1;3638:8:4;3647:9;:5;3655:1;3647:9;:::i;:::-;3638:19;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;;3638:19:4;-1:-1:-1;;;3638:27:4;3533:132;3512:163;3408:274;-1:-1:-1;;;3408:274:4:o;6127:276::-;6217:4;6254:8;6263:5;6254:15;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;;6254:15:4;-1:-1:-1;;;6254:23:4;:54;;;;-1:-1:-1;6293:15:4;;6281:9;:5;6289:1;6281:9;:::i;:::-;:27;6254:54;:85;;;;-1:-1:-1;6312:8:4;6321:9;:5;6329:1;6321:9;:::i;:::-;6312:19;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;;6312:19:4;-1:-1:-1;;;6312:27:4;6254:85;:132;;;;-1:-1:-1;6359:8:4;6368:9;:5;6376:1;6368:9;:::i;:::-;6359:19;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;;6359:19:4;-1:-1:-1;;;6359:27:4;;6127:276;-1:-1:-1;;;6127:276:4:o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:587:5:-;85:6;93;146:2;134:9;125:7;121:23;117:32;114:52;;;162:1;159;152:12;114:52;202:9;189:23;235:18;227:6;224:30;221:50;;;267:1;264;257:12;221:50;290:22;;343:4;335:13;;331:27;-1:-1:-1;321:55:5;;372:1;369;362:12;321:55;412:2;399:16;438:18;430:6;427:30;424:50;;;470:1;467;460:12;424:50;515:7;510:2;501:6;497:2;493:15;489:24;486:37;483:57;;;536:1;533;526:12;483:57;567:2;559:11;;;;;589:6;;-1:-1:-1;14:587:5;-1:-1:-1;;;14:587:5:o;798:180::-;857:6;910:2;898:9;889:7;885:23;881:32;878:52;;;926:1;923;916:12;878:52;-1:-1:-1;949:23:5;;798:180;-1:-1:-1;798:180:5:o;1191:418::-;1340:2;1329:9;1322:21;1303:4;1372:6;1366:13;1415:6;1410:2;1399:9;1395:18;1388:34;1474:6;1469:2;1461:6;1457:15;1452:2;1441:9;1437:18;1431:50;1530:1;1525:2;1516:6;1505:9;1501:22;1497:31;1490:42;1600:2;1593;1589:7;1584:2;1576:6;1572:15;1568:29;1557:9;1553:45;1549:54;1541:62;;;1191:418;;;;:::o;1796:286::-;1855:6;1908:2;1896:9;1887:7;1883:23;1879:32;1876:52;;;1924:1;1921;1914:12;1876:52;1950:23;;-1:-1:-1;;;;;2002:31:5;;1992:42;;1982:70;;2048:1;2045;2038:12;2087:273;2272:6;2264;2259:3;2246:33;2228:3;2298:16;;2323:13;;;2298:16;2087:273;-1:-1:-1;2087:273:5:o;2365:380::-;2444:1;2440:12;;;;2487;;;2508:61;;2562:4;2554:6;2550:17;2540:27;;2508:61;2615:2;2607:6;2604:14;2584:18;2581:38;2578:161;;2661:10;2656:3;2652:20;2649:1;2642:31;2696:4;2693:1;2686:15;2724:4;2721:1;2714:15;2578:161;;2365:380;;;:::o;2750:127::-;2811:10;2806:3;2802:20;2799:1;2792:31;2842:4;2839:1;2832:15;2866:4;2863:1;2856:15;2882:127;2943:10;2938:3;2934:20;2931:1;2924:31;2974:4;2971:1;2964:15;2998:4;2995:1;2988:15;3014:128;3081:9;;;3102:11;;;3099:37;;;3116:18;;:::i;3147:127::-;3208:10;3203:3;3199:20;3196:1;3189:31;3239:4;3236:1;3229:15;3263:4;3260:1;3253:15;3279:136;3318:3;3346:5;3336:39;;3355:18;;:::i;:::-;-1:-1:-1;;;3391:18:5;;3279:136::o;3420:390::-;3579:2;3568:9;3561:21;3618:6;3613:2;3602:9;3598:18;3591:34;3675:6;3667;3662:2;3651:9;3647:18;3634:48;3731:1;3702:22;;;3726:2;3698:31;;;3691:42;;;;3794:2;3773:15;;;-1:-1:-1;;3769:29:5;3754:45;3750:54;;3420:390;-1:-1:-1;3420:390:5:o;3815:127::-;3876:10;3871:3;3867:20;3864:1;3857:31;3907:4;3904:1;3897:15;3931:4;3928:1;3921:15;4073:518;4175:2;4170:3;4167:11;4164:421;;;4211:5;4208:1;4201:16;4255:4;4252:1;4242:18;4325:2;4313:10;4309:19;4306:1;4302:27;4296:4;4292:38;4361:4;4349:10;4346:20;4343:47;;;-1:-1:-1;4384:4:5;4343:47;4439:2;4434:3;4430:12;4427:1;4423:20;4417:4;4413:31;4403:41;;4494:81;4512:2;4505:5;4502:13;4494:81;;;4571:1;4557:16;;4538:1;4527:13;4494:81;;;4498:3;;4164:421;4073:518;;;:::o;4767:1198::-;4891:18;4886:3;4883:27;4880:53;;;4913:18;;:::i;:::-;4942:94;5032:3;4992:38;5024:4;5018:11;4992:38;:::i;:::-;4986:4;4942:94;:::i;:::-;5062:1;5087:2;5082:3;5079:11;5104:1;5099:608;;;;5751:1;5768:3;5765:93;;;-1:-1:-1;5824:19:5;;;5811:33;5765:93;-1:-1:-1;;4724:1:5;4720:11;;;4716:24;4712:29;4702:40;4748:1;4744:11;;;4699:57;5871:78;;5072:887;;5099:608;4020:1;4013:14;;;4057:4;4044:18;;-1:-1:-1;;5135:17:5;;;5250:229;5264:7;5261:1;5258:14;5250:229;;;5353:19;;;5340:33;5325:49;;5460:4;5445:20;;;;5413:1;5401:14;;;;5280:12;5250:229;;;5254:3;5507;5498:7;5495:16;5492:159;;;5631:1;5627:6;5621:3;5615;5612:1;5608:11;5604:21;5600:34;5596:39;5583:9;5578:3;5574:19;5561:33;5557:79;5549:6;5542:95;5492:159;;;5694:1;5688:3;5685:1;5681:11;5677:19;5671:4;5664:33;5072:887;;4767:1198;;;:::o;5970:135::-;6009:3;6030:17;;;6027:43;;6050:18;;:::i;:::-;-1:-1:-1;6097:1:5;6086:13;;5970:135::o;6110:125::-;6175:9;;;6196:10;;;6193:36;;;6209:18;;:::i
Swarm Source
ipfs://2dd45575e1b512705d10f7c2901c56a6af9dcc6dcf3ab096b091d8c34bf3d4c8
Loading...
Loading
Loading...
Loading
Loading...
Loading
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.