Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 15 from a total of 15 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Denied | 5868374 | 2760 days ago | IN | 0 ETH | 0.00017337 | ||||
| Set Contract | 5868285 | 2760 days ago | IN | 0 ETH | 0.00032616 | ||||
| Allow | 5868263 | 2760 days ago | IN | 0 ETH | 0.00047516 | ||||
| Add Admin | 5699402 | 2790 days ago | IN | 0 ETH | 0.00066813 | ||||
| Add Admin | 5698465 | 2790 days ago | IN | 0 ETH | 0.00097851 | ||||
| Add Admin | 5698457 | 2790 days ago | IN | 0 ETH | 0.00066813 | ||||
| Transfer Ownersh... | 5698218 | 2790 days ago | IN | 0 ETH | 0.00060932 | ||||
| Add Admin | 5696496 | 2790 days ago | IN | 0 ETH | 0.00089084 | ||||
| Set Developer | 5696494 | 2790 days ago | IN | 0 ETH | 0.0009124 | ||||
| Set Contract | 5696427 | 2790 days ago | IN | 0 ETH | 0.00094638 | ||||
| Allow | 5696403 | 2790 days ago | IN | 0 ETH | 0.00094438 | ||||
| Set Contract | 5696375 | 2790 days ago | IN | 0 ETH | 0.00075608 | ||||
| Allow | 5696360 | 2790 days ago | IN | 0 ETH | 0.00103881 | ||||
| Set Contract | 5696319 | 2790 days ago | IN | 0 ETH | 0.00056782 | ||||
| Allow | 5696295 | 2790 days ago | IN | 0 ETH | 0.00066106 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
BitpaintingStorage
Compiler Version
v0.4.15+commit.bbb8e64f
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2018-05-29
*/
pragma solidity ^0.4.15;
// File: contracts/libs/Ownable.sol
/**
* @title Ownable
* @dev Manages ownership of the contracts
*/
contract Ownable {
address public owner;
function Ownable() public {
owner = msg.sender;
}
modifier onlyOwner() {
require(msg.sender == owner);
_;
}
function isOwner(address _address) public constant returns (bool) {
return _address == owner;
}
function transferOwnership(address newOwner) external onlyOwner {
require(newOwner != address(0));
owner = newOwner;
}
}
// File: contracts/libs/Pausable.sol
/**
* @title Pausable
* @dev Base contract which allows children to implement an emergency stop mechanism.
*/
contract Pausable is Ownable {
event Pause();
event Unpause();
bool public paused = false;
/**
* @dev modifier to allow actions only when the contract IS paused
*/
modifier whenNotPaused() {
require(!paused);
_;
}
/**
* @dev modifier to allow actions only when the contract IS NOT paused
*/
modifier whenPaused {
require(paused);
_;
}
/**
* @dev called by the owner to pause, triggers stopped state
*/
function _pause() internal whenNotPaused {
paused = true;
Pause();
}
/**
* @dev called by the owner to unpause, returns to normal state
*/
function _unpause() internal whenPaused {
paused = false;
Unpause();
}
}
// File: contracts/libs/BaseStorage.sol
contract BaseStorage is Pausable {
event AccessAllowed(address _address);
event AccessDenied(address _address);
mapping (address => bool) public allowed;
address public developer;
modifier canWrite() {
require(allowed[msg.sender] || isOwner(msg.sender)
|| (msg.sender == developer));
_;
}
function setDeveloper(address _address) public onlyOwner {
require(_address != address(0));
developer = _address;
}
function allow(address _address) external canWrite {
require(_address != address(0));
allowed[_address] = true;
AccessAllowed(_address);
}
function denied(address _address) external canWrite {
delete allowed[_address];
AccessDenied(_address);
}
function isAllowed(address _address) external constant returns (bool) {
return allowed[_address];
}
}
// File: contracts/libs/AccessControlStorage.sol
contract AccessControlStorage is BaseStorage {
mapping (address => bool) public admins;
mapping (uint => address) public contracts;
function addAdmin(address _address) public onlyOwner {
require(_address != address(0));
admins[_address] = true;
}
function isAdmin(address _address) public constant returns (bool) {
return admins[_address];
}
function removeAdmin(address _address) public onlyOwner {
require(_address != address(0));
delete admins[_address];
}
function setContract(uint _signature, address _address) external canWrite {
contracts[_signature] = _address;
}
}
// File: contracts/libs/AuctionStorage.sol
contract AuctionStorage is BaseStorage {
// Represents an auction on an NFT
struct Auction {
// Current owner of NFT
address seller;
// Price (in wei) at beginning of auction
uint128 startingPrice;
// Price (in wei) at end of auction
uint128 endingPrice;
// Duration (in seconds) of auction
uint64 duration;
// Time when auction started
// NOTE: 0 if this auction has been concluded
uint startedAt;
// true = started by team, false = started by ordinary user
bool byTeam;
}
// Map from token ID to their corresponding auction.
mapping (uint => Auction) public tokenIdToAuction;
uint auctionsCounter = 0;
uint8 public secondarySaleCut = 4;
function addAuction(
uint _tokenId,
uint _startingPrice,
uint _endingPrice,
uint _duration,
address _seller) public canWrite {
require(!_isOnAuction(_tokenId));
tokenIdToAuction[_tokenId] = Auction({
seller: _seller,
startingPrice: uint128(_startingPrice),
endingPrice: uint128(_endingPrice),
duration: uint64(_duration),
startedAt: now,
byTeam: false
});
auctionsCounter++;
}
function initAuction(
uint _tokenId,
uint _startingPrice,
uint _endingPrice,
uint _startedAt,
uint _duration,
address _seller,
bool _byTeam) public canWrite {
require(!_isOnAuction(_tokenId));
tokenIdToAuction[_tokenId] = Auction({
seller: _seller,
startingPrice: uint128(_startingPrice),
endingPrice: uint128(_endingPrice),
duration: uint64(_duration),
startedAt: _startedAt,
byTeam: _byTeam
});
auctionsCounter++;
}
function addReleaseAuction(
uint _tokenId,
uint _startingPrice,
uint _endingPrice,
uint _startedAt,
uint _duration) public canWrite {
bool _byTeam = true;
address _seller = owner;
initAuction(
_tokenId,
_startingPrice,
_endingPrice,
_startedAt,
_duration,
_seller,
_byTeam
);
}
function _isOnAuction(uint _tokenId)
internal constant returns (bool) {
return (tokenIdToAuction[_tokenId].startedAt > 0);
}
function isOnAuction(uint _tokenId)
external constant returns (bool) {
return _isOnAuction(_tokenId);
}
function removeAuction(uint _tokenId) public canWrite {
require(_isOnAuction(_tokenId));
delete tokenIdToAuction[_tokenId];
auctionsCounter--;
}
/// @dev Returns auction info for an NFT on auction.
/// @param _tokenId - ID of NFT on auction.
function getAuction(uint256 _tokenId)
external
constant
returns
(
address seller,
uint256 startingPrice,
uint256 endingPrice,
uint256 duration,
uint256 startedAt
) {
Auction memory auction = tokenIdToAuction[_tokenId];
require(_isOnAuction(_tokenId));
return (
auction.seller,
auction.startingPrice,
auction.endingPrice,
auction.duration,
auction.startedAt
);
}
function getAuctionSeller(uint256 _tokenId)
public constant returns (address) {
return tokenIdToAuction[_tokenId].seller;
}
function getAuctionStartedAt(uint256 _tokenId)
public constant returns (uint) {
return tokenIdToAuction[_tokenId].startedAt;
}
function getAuctionEnd(uint _tokenId)
public constant returns (uint) {
Auction memory auction = tokenIdToAuction[_tokenId];
return auction.startedAt + auction.duration;
}
function getAuctionsCount() public constant returns (uint) {
return auctionsCounter;
}
function canBeCanceled(uint _tokenId) external constant returns (bool) {
return getAuctionEnd(_tokenId) <= now;
}
function isSecondary(uint _tokenId) public constant returns (bool _is) {
return (tokenIdToAuction[_tokenId].byTeam == false);
}
}
// File: contracts/libs/EditionStorage.sol
contract EditionStorage is BaseStorage {
uint public offset = 1000000;
uint public offsetIndex = 1;
uint8[3] public defaultEditionLimits = [10, 89, 200];
mapping (uint => mapping (uint8 => uint8)) public editionCounts;
mapping (uint => mapping (uint8 => uint8)) public editionLimits;
mapping (uint => uint) public lastEditionOf;
function setOffset(uint _offset) external onlyOwner {
offset = _offset;
}
function getOffsetIndex() public constant returns (uint) {
return offset + offsetIndex;
}
function nextOffsetIndex() public canWrite {
offsetIndex++;
}
function canCreateEdition(uint _tokenId, uint8 _generation)
public constant returns (bool) {
uint8 actual = editionCounts[_tokenId][_generation - 1];
uint limit = editionLimits[_tokenId][_generation - 1];
return (actual < limit);
}
function isValidGeneration(uint8 _generation)
public constant returns (bool) {
return (_generation >= 1 && _generation <= 3);
}
function increaseGenerationCount(uint _tokenId, uint8 _generation)
public canWrite {
require(canCreateEdition(_tokenId, _generation));
require(isValidGeneration(_generation));
uint8 _generationIndex = _generation - 1;
editionCounts[_tokenId][_generationIndex]++;
}
function getEditionsCount(uint _tokenId)
external constant returns (uint8[3]) {
return [
editionCounts[_tokenId][0],
editionCounts[_tokenId][1],
editionCounts[_tokenId][2]
];
}
function setLastEditionOf(uint _tokenId, uint _editionId)
public canWrite {
lastEditionOf[_tokenId] = _editionId;
}
function getEditionLimits(uint _tokenId)
external constant returns (uint8[3]) {
return [
editionLimits[_tokenId][0],
editionLimits[_tokenId][1],
editionLimits[_tokenId][2]
];
}
}
// File: contracts/libs/PaintingInformationStorage.sol
contract PaintingInformationStorage {
struct PaintingInformation {
string name;
string artist;
}
mapping (uint => PaintingInformation) public information;
}
// File: contracts/libs/PaintingStorage.sol
contract PaintingStorage is BaseStorage {
struct Painting {
uint parentId;
uint originalId;
uint createdAt;
uint completedAt;
uint8 generation;
uint8 speedIndex;
uint artistId;
uint releasedAt;
bool isFinal;
}
uint32[10] public speeds = [
uint32(8760 hours), // 365 days
uint32(6480 hours), // 270 days
uint32(4320 hours), // 180 days
uint32(2880 hours), // 120 days
uint32(1920 hours), // 80 days
uint32(960 hours), // 40 days
uint32(480 hours), // 20 days
uint32(240 hours), // 10 days
uint32(120 hours), // 5 days
uint32(24 hours) // 1 day
];
uint32[10] public speedsTest = [
uint32(8760 seconds),
uint32(6480 seconds),
uint32(4320 seconds),
uint32(2880 seconds),
uint32(1920 seconds),
uint32(960 seconds),
uint32(480 seconds),
uint32(240 seconds),
uint32(120 seconds),
uint32(24 seconds)
];
uint32[10] public speedsDev = [
uint32(0 seconds),
uint32(0 seconds),
uint32(0 seconds),
uint32(0 seconds),
uint32(0 seconds),
uint32(0 seconds),
uint32(0 seconds),
uint32(0 seconds),
uint32(0 seconds),
uint32(0 seconds)
];
mapping (uint => address) public paintingIndexToOwner;
mapping (uint => Painting) public paintings;
mapping (uint => address) public paintingIndexToApproved;
uint[] public paintingIds;
mapping (uint => uint) public paintingIdToIndex;
uint public paintingsCount;
uint public totalPaintingsCount;
mapping (uint => bool) public isCanceled;
mapping (uint => bool) public isReleased;
// @dev A mapping from owner address to count of tokens that address owns.
// Used internally inside balanceOf() to resolve ownership count.
mapping (address => uint256) public ownershipTokenCount;
modifier isNew(uint _tokenId) {
require(paintings[_tokenId].createdAt == 0);
_;
}
function exists(uint _tokenId) external constant returns (bool) {
return paintings[_tokenId].createdAt != 0;
}
function increaseOwnershipTokenCount(address _address) public canWrite {
ownershipTokenCount[_address]++;
}
function decreaseOwnershipTokenCount(address _address) public canWrite {
ownershipTokenCount[_address]--;
}
function setOwnership(uint _tokenId, address _address) public canWrite {
paintingIndexToOwner[_tokenId] = _address;
}
function getPainting(uint _tokenId) external constant returns (
address owner,
uint parent,
uint createdAt,
uint completedAt,
uint8 generation,
uint8 speed) {
return (
paintingIndexToOwner[_tokenId],
paintings[_tokenId].parentId,
paintings[_tokenId].createdAt,
paintings[_tokenId].completedAt,
paintings[_tokenId].generation,
paintings[_tokenId].speedIndex + 1
);
}
function approve(uint _tokenId, address _claimant) external canWrite {
paintingIndexToApproved[_tokenId] = _claimant;
}
function isApprovedFor(uint _tokenId, address _claimant) external constant returns (bool) {
return paintingIndexToApproved[_tokenId] == _claimant;
}
function decreaseSpeed(uint _tokenId) public canWrite() {
uint8 _speed = paintings[_tokenId].speedIndex;
if (_speed > 0) {
paintings[_tokenId].speedIndex--;
}
}
function getPaintingOwner(uint _tokenId)
external constant returns (address) {
return paintingIndexToOwner[_tokenId];
}
function getPaintingGeneration(uint _tokenId)
public constant returns (uint8) {
return paintings[_tokenId].generation;
}
function getPaintingArtistId(uint _tokenId)
public constant returns (uint artistId) {
return paintings[_tokenId].artistId;
}
function getPaintingSpeed(uint _tokenId)
external constant returns (uint8) {
return paintings[_tokenId].speedIndex + 1;
}
function getPaintingOriginal(uint _tokenId)
external constant returns (uint) {
return paintings[_tokenId].originalId;
}
function getOwnershipTokenCount(address _address)
external constant returns (uint) {
return ownershipTokenCount[_address];
}
function isReady(uint _tokenId)
public constant returns (bool) {
return paintings[_tokenId].completedAt <= now;
}
function getPaintingIdAtIndex(uint _index)
public constant returns (uint) {
return paintingIds[_index];
}
function canBeChanged(uint _tokenId) public constant returns (bool _can) {
return paintings[_tokenId].isFinal == false;
}
function sealForChanges(uint _tokenId) public canWrite {
if (paintings[_tokenId].isFinal == false) {
paintings[_tokenId].isFinal = true;
}
}
function canBeBidden(uint _tokenId) public constant returns (bool _can) {
return (paintings[_tokenId].releasedAt <= now);
}
}
// File: contracts/BitpaintingStorage.sol
contract BitpaintingStorage is PaintingStorage, PaintingInformationStorage, AccessControlStorage, AuctionStorage, EditionStorage {
/// 0 = production mode
/// 1 = testing mode
/// 2 = development mode
uint8 mode;
function BitpaintingStorage(uint8 _mode) public {
require(_mode >= 0 && _mode <=2);
mode = _mode;
}
function hasEditionInProgress(uint _tokenId)
external constant returns (bool) {
uint edition = lastEditionOf[_tokenId];
if (edition == 0) {
return false;
}
return !isReady(edition);
}
function hasEmptyEditionSlots(uint _tokenId)
external constant returns (bool) {
uint originalId = paintings[_tokenId].originalId;
if (originalId == 0) {
originalId = _tokenId;
}
uint8 generation = paintings[_tokenId].generation;
uint8 limit = editionLimits[originalId][generation];
uint8 current = editionCounts[originalId][generation];
return (current < limit);
}
function resetPainting(uint _tokenId) public canWrite {
require(canBeChanged(_tokenId));
isCanceled[_tokenId] = true;
paintingsCount--;
delete paintings[_tokenId];
}
function createPainting(
address _owner,
uint _tokenId,
uint _parentId,
uint8 _generation,
uint8 _speed,
uint _artistId,
uint _releasedAt
) public isNew(_tokenId) canWrite {
require(now <= _releasedAt);
require(_speed >= 1 && _speed <= 10);
_speed--;
uint _createdAt = now;
uint _completedAt;
if (_generation == 0) {
_completedAt = now;
} else {
uint _parentSpeed = paintings[_parentId].speedIndex;
if (mode == 2) {
_completedAt = now + speedsDev[_parentSpeed];
} else {
if (mode == 1) {
_completedAt = now + speedsTest[_parentSpeed];
} else {
_completedAt = now + speeds[_parentSpeed];
}
}
}
uint _originalId;
if (_generation == 0) {
_originalId = _tokenId;
} else {
if (_generation == 1) {
_originalId = _parentId;
} else {
_originalId = paintings[_parentId].originalId;
}
}
paintings[_tokenId] = Painting({
parentId: _parentId,
originalId: _originalId,
createdAt: _createdAt,
generation: _generation,
speedIndex: _speed,
completedAt: _completedAt,
artistId: _artistId,
releasedAt: _releasedAt,
isFinal: (_generation != 0) // if generation == 1 or 2 or 3, so it cannot be changed
});
if (!isReleased[_tokenId]) {
isReleased[_tokenId] = true;
paintingIds.push(_tokenId);
paintingIdToIndex[_tokenId] = totalPaintingsCount;
increaseOwnershipTokenCount(_owner);
totalPaintingsCount++;
}
isCanceled[_tokenId] = false;
setOwnership(_tokenId, _owner);
paintingsCount++;
}
function setEditionLimits(
uint _tokenId,
uint8 _gen1,
uint8 _gen2,
uint8 _gen3)
public canWrite {
require(canBeChanged(_tokenId));
editionLimits[_tokenId][0] = _gen1;
editionLimits[_tokenId][1] = _gen2;
editionLimits[_tokenId][2] = _gen3;
}
function resetEditionLimits(uint _tokenId) public canWrite {
setEditionLimits(_tokenId, 0, 0, 0);
}
function createEditionMeta(uint _tokenId) public canWrite {
uint _originalId = paintings[_tokenId].originalId;
nextOffsetIndex();
uint editionId = getOffsetIndex();
setLastEditionOf(_tokenId, editionId);
uint8 _generation = getPaintingGeneration(_tokenId) + 1;
increaseGenerationCount(_originalId, _generation);
}
function purgeInformation(uint _tokenId) public canWrite {
require(canBeChanged(_tokenId));
delete information[_tokenId];
}
function setPaintingName(uint _tokenId, string _name) public canWrite {
information[_tokenId].name = _name;
}
function setPaintingArtist(uint _tokenId, string _name) public canWrite {
information[_tokenId].artist = _name;
}
function getTokensOnAuction() public constant returns (uint[] tokens) {
tokens = new uint[](auctionsCounter);
uint pointer = 0;
for(uint index = 0; index < totalPaintingsCount; index++) {
uint tokenId = getPaintingIdAtIndex(index);
if (isCanceled[tokenId]) {
continue;
}
if (!_isOnAuction(tokenId)) {
continue;
}
tokens[pointer] = tokenId;
pointer++;
}
}
function getPaintingName(uint _tokenId) public constant returns (string) {
uint id = paintings[_tokenId].originalId;
return information[id].name;
}
function getPaintingArtist(uint _tokenId)
public constant returns (string) {
uint id = paintings[_tokenId].originalId;
return information[id].artist;
}
function signature() external constant returns (bytes4) {
return bytes4(keccak256("storage"));
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":false,"inputs":[{"name":"_offset","type":"uint256"}],"name":"setOffset","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getPaintingGeneration","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"canBeCanceled","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getPaintingOwner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"uint8"}],"name":"editionCounts","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"hasEmptyEditionSlots","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getPainting","outputs":[{"name":"owner","type":"address"},{"name":"parent","type":"uint256"},{"name":"createdAt","type":"uint256"},{"name":"completedAt","type":"uint256"},{"name":"generation","type":"uint8"},{"name":"speed","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"removeAdmin","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"paintingsCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"decreaseOwnershipTokenCount","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getPaintingArtist","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"sealForChanges","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"isAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"uint8"}],"name":"editionLimits","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"defaultEditionLimits","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"removeAuction","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalPaintingsCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getPaintingName","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getAuctionStartedAt","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"isOnAuction","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getTokensOnAuction","outputs":[{"name":"tokens","type":"uint256[]"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_editionId","type":"uint256"}],"name":"setLastEditionOf","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"isCanceled","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"speedsTest","outputs":[{"name":"","type":"uint32"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"admins","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"contracts","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"speeds","outputs":[{"name":"","type":"uint32"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"resetEditionLimits","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"exists","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"isReady","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"signature","outputs":[{"name":"","type":"bytes4"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_generation","type":"uint8"}],"name":"canCreateEdition","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"secondarySaleCut","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getEditionsCount","outputs":[{"name":"","type":"uint8[3]"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"hasEditionInProgress","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_generation","type":"uint8"}],"name":"increaseGenerationCount","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_address","type":"address"}],"name":"setOwnership","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"increaseOwnershipTokenCount","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"addAdmin","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"createEditionMeta","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"isReleased","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_gen1","type":"uint8"},{"name":"_gen2","type":"uint8"},{"name":"_gen3","type":"uint8"}],"name":"setEditionLimits","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getAuction","outputs":[{"name":"seller","type":"address"},{"name":"startingPrice","type":"uint256"},{"name":"endingPrice","type":"uint256"},{"name":"duration","type":"uint256"},{"name":"startedAt","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"nextOffsetIndex","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"canBeChanged","outputs":[{"name":"_can","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"resetPainting","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_tokenId","type":"uint256"},{"name":"_parentId","type":"uint256"},{"name":"_generation","type":"uint8"},{"name":"_speed","type":"uint8"},{"name":"_artistId","type":"uint256"},{"name":"_releasedAt","type":"uint256"}],"name":"createPainting","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_signature","type":"uint256"},{"name":"_address","type":"address"}],"name":"setContract","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"information","outputs":[{"name":"name","type":"string"},{"name":"artist","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"isSecondary","outputs":[{"name":"_is","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_startingPrice","type":"uint256"},{"name":"_endingPrice","type":"uint256"},{"name":"_startedAt","type":"uint256"},{"name":"_duration","type":"uint256"}],"name":"addReleaseAuction","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"paintingIds","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"paintingIndexToOwner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"decreaseSpeed","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getPaintingSpeed","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"paintingIdToIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_index","type":"uint256"}],"name":"getPaintingIdAtIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getPaintingOriginal","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"purgeInformation","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_startingPrice","type":"uint256"},{"name":"_endingPrice","type":"uint256"},{"name":"_startedAt","type":"uint256"},{"name":"_duration","type":"uint256"},{"name":"_seller","type":"address"},{"name":"_byTeam","type":"bool"}],"name":"initAuction","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"getOwnershipTokenCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_claimant","type":"address"}],"name":"isApprovedFor","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"isAllowed","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"paintingIndexToApproved","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getAuctionSeller","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"paintings","outputs":[{"name":"parentId","type":"uint256"},{"name":"originalId","type":"uint256"},{"name":"createdAt","type":"uint256"},{"name":"completedAt","type":"uint256"},{"name":"generation","type":"uint8"},{"name":"speedIndex","type":"uint8"},{"name":"artistId","type":"uint256"},{"name":"releasedAt","type":"uint256"},{"name":"isFinal","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_startingPrice","type":"uint256"},{"name":"_endingPrice","type":"uint256"},{"name":"_duration","type":"uint256"},{"name":"_seller","type":"address"}],"name":"addAuction","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"developer","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getPaintingArtistId","outputs":[{"name":"artistId","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"ownershipTokenCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"offset","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_name","type":"string"}],"name":"setPaintingArtist","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"allowed","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"tokenIdToAuction","outputs":[{"name":"seller","type":"address"},{"name":"startingPrice","type":"uint128"},{"name":"endingPrice","type":"uint128"},{"name":"duration","type":"uint64"},{"name":"startedAt","type":"uint256"},{"name":"byTeam","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"speedsDev","outputs":[{"name":"","type":"uint32"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getAuctionsCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"canBeBidden","outputs":[{"name":"_can","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getAuctionEnd","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_generation","type":"uint8"}],"name":"isValidGeneration","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"lastEditionOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getEditionLimits","outputs":[{"name":"","type":"uint8[3]"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_name","type":"string"}],"name":"setPaintingName","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getOffsetIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"denied","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_claimant","type":"address"}],"name":"approve","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"setDeveloper","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"allow","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"offsetIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[{"name":"_mode","type":"uint8"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_address","type":"address"}],"name":"AccessAllowed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_address","type":"address"}],"name":"AccessDenied","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"}]Contract Creation Code
606060409081526000805460a060020a60ff0219169055610140905190810160409081526301e133808252630163f500602083015262ed4e0090820152629e340060608201526269780060808201526234bc0060a0820152621a5e0060c0820152620d2f0060e082015262069780610100820152620151806101208201526200008d90600390600a62000224565b506101406040519081016040908152612238825261195060208301526110e090820152610b40606082015261078060808201526103c060a08201526101e060c082015260f060e082015260786101008201526018610120820152620000f790600590600a62000224565b506101406040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101208201526200015990600790600a62000224565b5060006017556018805460ff19166004179055620f42406019556001601a5560606040519081016040908152600a82526059602083015260c890820152620001a690601b906003620002c7565b503415620001b357600080fd5b60405160208062003b9e833981016040528080519150505b5b60008054600160a060020a03191633600160a060020a03161790555b60008160ff161015801562000201575060028160ff1611155b15156200020d57600080fd5b601f805460ff191660ff83161790555b50620003b4565b600283019183908215620002b55791602002820160005b838211156200028157835183826101000a81548163ffffffff021916908363ffffffff16021790555092602001926004016020816003010492830192600103026200023b565b8015620002b35782816101000a81549063ffffffff021916905560040160208160030104928301926001030262000281565b505b50620002c392915062000361565b5090565b6001830191839082156200034f5791602002820160005b838211156200031e57835183826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302620002de565b80156200034d5782816101000a81549060ff02191690556001016020816000010492830192600103026200031e565b505b50620002c39291506200038c565b5090565b6200038991905b80821115620002c357805463ffffffff1916815560010162000368565b5090565b90565b6200038991905b80821115620002c357805460ff1916815560010162000393565b5090565b90565b6137da80620003c46000396000f300606060405236156104275763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301e343db811461042c5780630af9d89c146104445780630cdc92ea146104705780630d66343c1461049a5780630ec45dc0146104cc578063108a101b146104fe578063145f8ba2146105285780631785f53c14610587578063197b9454146105a85780631be6ce57146105cd5780631dea157f146105ee5780631e801c8c1461067c57806324d7806c14610694578063275510d0146106c757806328dca7a3146106f95780632dd7030b146107255780632efd08df1461073d5780632f54bf6e1461076257806332cb93d91461079557806337016a5f1461082357806337e246ad1461084b5780633804ab8d146108755780633953f4a1146108dc57806339e3af9b146108f75780633e6d4fb914610921578063429b62e514610950578063474da79a1461098357806348a357bc146109b55780634a61f347146109e45780634f558e79146109fc57806350df8f7114610a2657806351ff484714610a50578063579599bd14610a98578063590731b714610ac85780635c975abb14610af15780635de8153414610b185780635f4eab6514610b6757806364d0bbc414610b91578063687c4fa714610baf5780636bfaa90314610bd35780637048027514610bf457806370d1383d14610c1557806373962b2614610c2d578063783370b514610c5757806378bd793514610c815780637a9e19de14610cd25780637d6979e714610ce75780638635b52714610d115780638754b1d114610d2957806389e865a914610d625780638da5cb5b14610d865780638f86f25514610db55780638ff6e97114610ece578063902a83cd14610ef85780639434e2fe14610f1c5780639e5cc10b14610f445780639e6afbda14610f765780639ed5736014610f8e578063a072fd2a14610fba578063a3e7061d14610fe2578063a42455271461100a578063a61bd76d14611032578063ab6680f31461104a578063b4f6eae41461107f578063b5b12e75146110b0578063babcc539146110e6578063c25de16b14611119578063c50c44cf1461114b578063c7ca6daa1461117d578063c9a6b2a8146111e4578063ca4b208b14611211578063cd0fdc2414611240578063cec21acb14611268578063d555654414611299578063d59f4e68146112be578063d63a8e1114611316578063e3b1475714611349578063e4267295146113b9578063e45c1879146113e8578063eabc8b8e1461140d578063eda8927914611437578063f195995c1461145f578063f2fde38b1461148c578063f50b769e146114ad578063f79098f4146114d5578063fabb795214611524578063fafb76dd1461157c578063fc9d96ba146115a1578063febe4909146115c2578063ff70fa49146115e6578063ff9913e814611607578063ffe90ba614611628575b600080fd5b341561043757600080fd5b61044260043561164d565b005b341561044f57600080fd5b61045a600435611672565b60405160ff909116815260200160405180910390f35b341561047b57600080fd5b61048660043561168d565b604051901515815260200160405180910390f35b34156104a557600080fd5b6104b06004356116a3565b604051600160a060020a03909116815260200160405180910390f35b34156104d757600080fd5b61045a60043560ff602435166116c1565b60405160ff909116815260200160405180910390f35b341561050957600080fd5b6104866004356116e1565b604051901515815260200160405180910390f35b341561053357600080fd5b61053e60043561175d565b604051600160a060020a0390961686526020860194909452604080860193909352606085019190915260ff90811660808501529190911660a083015260c0909101905180910390f35b341561059257600080fd5b610442600160a060020a03600435166117b2565b005b34156105b357600080fd5b6105bb611807565b60405190815260200160405180910390f35b34156105d857600080fd5b610442600160a060020a036004351661180d565b005b34156105f957600080fd5b610604600435611882565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156106415780820151818401525b602001610628565b50505050905090810190601f16801561066e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561068757600080fd5b61044260043561195d565b005b341561069f57600080fd5b610486600160a060020a03600435166119ea565b604051901515815260200160405180910390f35b34156106d257600080fd5b61045a60043560ff60243516611a0c565b60405160ff909116815260200160405180910390f35b341561070457600080fd5b61045a600435611a2c565b60405160ff909116815260200160405180910390f35b341561073057600080fd5b610442600435611a54565b005b341561074857600080fd5b6105bb611b10565b60405190815260200160405180910390f35b341561076d57600080fd5b610486600160a060020a0360043516611b16565b604051901515815260200160405180910390f35b34156107a057600080fd5b610604600435611b2d565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156106415780820151818401525b602001610628565b50505050905090810190601f16801561066e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561082e57600080fd5b6105bb600435611c08565b60405190815260200160405180910390f35b341561085657600080fd5b610486600435611c20565b604051901515815260200160405180910390f35b341561088057600080fd5b610888611c33565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156108c85780820151818401525b6020016108af565b505050509050019250505060405180910390f35b34156108e757600080fd5b610442600435602435611ce3565b005b341561090257600080fd5b610486600435611d4a565b604051901515815260200160405180910390f35b341561092c57600080fd5b610937600435611d5f565b60405163ffffffff909116815260200160405180910390f35b341561095b57600080fd5b610486600160a060020a0360043516611d8d565b604051901515815260200160405180910390f35b341561098e57600080fd5b6104b0600435611da2565b604051600160a060020a03909116815260200160405180910390f35b34156109c057600080fd5b610937600435611dbd565b60405163ffffffff909116815260200160405180910390f35b34156109ef57600080fd5b610442600435611deb565b005b3415610a0757600080fd5b610486600435611e4e565b604051901515815260200160405180910390f35b3415610a3157600080fd5b610486600435611e68565b604051901515815260200160405180910390f35b3415610a5b57600080fd5b610a63611e84565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200160405180910390f35b3415610aa357600080fd5b61048660043560ff60243516611ebd565b604051901515815260200160405180910390f35b3415610ad357600080fd5b61045a611f06565b60405160ff909116815260200160405180910390f35b3415610afc57600080fd5b610486611f0f565b604051901515815260200160405180910390f35b3415610b2357600080fd5b610b2e600435611f30565b6040518082606080838360005b83811015610b545780820151818401525b602001610b3b565b5050505090500191505060405180910390f35b3415610b7257600080fd5b610486600435611f8e565b604051901515815260200160405180910390f35b3415610b9c57600080fd5b61044260043560ff60243516611fc0565b005b3415610bba57600080fd5b610442600435600160a060020a036024351661207b565b005b3415610bde57600080fd5b610442600160a060020a03600435166120f8565b005b3415610bff57600080fd5b610442600160a060020a036004351661216c565b005b3415610c2057600080fd5b6104426004356121c4565b005b3415610c3857600080fd5b610486600435612268565b604051901515815260200160405180910390f35b3415610c6257600080fd5b61044260043560ff6024358116906044358116906064351661227d565b005b3415610c8c57600080fd5b610c9760043561233d565b604051600160a060020a03909516855260208501939093526040808501929092526060840152608083019190915260a0909101905180910390f35b3415610cdd57600080fd5b610442612420565b005b3415610cf257600080fd5b61048660043561247d565b604051901515815260200160405180910390f35b3415610d1c57600080fd5b610442600435612499565b005b3415610d3457600080fd5b610442600160a060020a036004351660243560443560ff6064358116906084351660a43560c435612573565b005b3415610d6d57600080fd5b610442600435600160a060020a03602435166128f3565b005b3415610d9157600080fd5b6104b0612970565b604051600160a060020a03909116815260200160405180910390f35b3415610dc057600080fd5b610dcb60043561297f565b604051604080825283546002600019610100600184161502019091160490820181905281906020820190606083019086908015610e495780601f10610e1e57610100808354040283529160200191610e49565b820191906000526020600020905b815481529060010190602001808311610e2c57829003601f168201915b5050838103825284546002600019610100600184161502019091160480825260209091019085908015610ebd5780601f10610e9257610100808354040283529160200191610ebd565b820191906000526020600020905b815481529060010190602001808311610ea057829003601f168201915b505094505050505060405180910390f35b3415610ed957600080fd5b610486600435612994565b604051901515815260200160405180910390f35b3415610f0357600080fd5b6104426004356024356044356064356084356129b0565b005b3415610f2757600080fd5b6105bb600435612a2d565b60405190815260200160405180910390f35b3415610f4f57600080fd5b6104b0600435612a50565b604051600160a060020a03909116815260200160405180910390f35b3415610f8157600080fd5b610442600435612a6b565b005b3415610f9957600080fd5b61045a600435612b15565b60405160ff909116815260200160405180910390f35b3415610fc557600080fd5b6105bb600435612b39565b60405190815260200160405180910390f35b3415610fed57600080fd5b6105bb600435612b4b565b60405190815260200160405180910390f35b341561101557600080fd5b6105bb600435612b74565b60405190815260200160405180910390f35b341561103d57600080fd5b610442600435612b8c565b005b341561105557600080fd5b610442600435602435604435606435608435600160a060020a0360a4351660c4351515612c1e565b005b341561108a57600080fd5b6105bb600160a060020a0360043516612db2565b60405190815260200160405180910390f35b34156110bb57600080fd5b610486600435600160a060020a0360243516612dd1565b604051901515815260200160405180910390f35b34156110f157600080fd5b610486600160a060020a0360043516612df5565b604051901515815260200160405180910390f35b341561112457600080fd5b6104b0600435612e17565b604051600160a060020a03909116815260200160405180910390f35b341561115657600080fd5b6104b0600435612e32565b604051600160a060020a03909116815260200160405180910390f35b341561118857600080fd5b611193600435612e50565b6040519889526020890197909752604080890196909652606088019490945260ff9283166080880152911660a086015260c085015260e0840152901515610100830152610120909101905180910390f35b34156111ef57600080fd5b610442600435602435604435606435600160a060020a0360843516612ea0565b005b341561121c57600080fd5b6104b0613030565b604051600160a060020a03909116815260200160405180910390f35b341561124b57600080fd5b6105bb60043561303f565b60405190815260200160405180910390f35b341561127357600080fd5b6105bb600160a060020a0360043516613057565b60405190815260200160405180910390f35b34156112a457600080fd5b6105bb613069565b60405190815260200160405180910390f35b34156112c957600080fd5b610442600480359060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061306f95505050505050565b005b341561132157600080fd5b610486600160a060020a03600435166130e8565b604051901515815260200160405180910390f35b341561135457600080fd5b61135f6004356130fd565b604051600160a060020a0390961686526001608060020a0394851660208701529290931660408086019190915267ffffffffffffffff90911660608501526080840192909252151560a083015260c0909101905180910390f35b34156113c457600080fd5b610937600435613157565b60405163ffffffff909116815260200160405180910390f35b34156113f357600080fd5b6105bb613185565b60405190815260200160405180910390f35b341561141857600080fd5b61048660043561318c565b604051901515815260200160405180910390f35b341561144257600080fd5b6105bb6004356131a8565b60405190815260200160405180910390f35b341561146a57600080fd5b61048660ff6004351661324a565b604051901515815260200160405180910390f35b341561149757600080fd5b610442600160a060020a036004351661326c565b005b34156114b857600080fd5b6105bb6004356132bc565b60405190815260200160405180910390f35b34156114e057600080fd5b610b2e6004356132ce565b6040518082606080838360005b83811015610b545780820151818401525b602001610b3b565b5050505090500191505060405180910390f35b341561152f57600080fd5b610442600480359060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061332c95505050505050565b005b341561158757600080fd5b6105bb6133a2565b60405190815260200160405180910390f35b34156115ac57600080fd5b610442600160a060020a03600435166133ad565b005b34156115cd57600080fd5b610442600435600160a060020a0360243516613461565b005b34156115f157600080fd5b610442600160a060020a03600435166134de565b005b341561161257600080fd5b610442600160a060020a036004351661352e565b005b341561163357600080fd5b6105bb6135fc565b60405190815260200160405180910390f35b60005433600160a060020a0390811691161461166857600080fd5b60198190555b5b50565b6000818152600a602052604090206004015460ff165b919050565b600042611699836131a8565b111590505b919050565b600081815260096020526040902054600160a060020a03165b919050565b601c60209081526000928352604080842090915290825290205460ff1681565b6000818152600a6020526040812060010154818080831515611701578593505b5050506000838152600a6020908152604080832060040154848452601d835281842060ff91821680865290845282852054868652601c855283862082875290945291909320549183169190921681811094505b50505050919050565b600081815260096020908152604080832054600a909252909120805460028201546003830154600490930154600160a060020a03909416939192909160ff808216916101009004166001015b91939550919395565b60005433600160a060020a039081169116146117cd57600080fd5b600160a060020a03811615156117e257600080fd5b600160a060020a0381166000908152601460205260409020805460ff191690555b5b50565b600e5481565b600160a060020a03331660009081526001602052604090205460ff1680611838575061183833611b16565b5b80611852575060025433600160a060020a039081169116145b151561185d57600080fd5b600160a060020a038116600090815260126020526040902080546000190190555b5b50565b61188a61361b565b6000600a6000848152602001908152602001600020600101549050601360008281526020019081526020016000206001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561194f5780601f106119245761010080835404028352916020019161194f565b820191906000526020600020905b81548152906001019060200180831161193257829003601f168201915b505050505091505b50919050565b600160a060020a03331660009081526001602052604090205460ff1680611988575061198833611b16565b5b806119a2575060025433600160a060020a039081169116145b15156119ad57600080fd5b6000818152600a602052604090206007015460ff16151561166e576000818152600a60205260409020600701805460ff191660011790555b5b5b50565b600160a060020a03811660009081526014602052604090205460ff165b919050565b601d60209081526000928352604080842090915290825290205460ff1681565b601b8160038110611a3957fe5b602091828204019190065b915054906101000a900460ff1681565b600160a060020a03331660009081526001602052604090205460ff1680611a7f5750611a7f33611b16565b5b80611a99575060025433600160a060020a039081169116145b1515611aa457600080fd5b611aad81613602565b1515611ab857600080fd5b60008181526016602052604081208054600160a060020a03191681556001810182905560028101805467ffffffffffffffff191690556003810191909155600401805460ff19169055601780546000190190555b5b50565b600f5481565b600054600160a060020a038281169116145b919050565b611b3561361b565b6000600a6000848152602001908152602001600020600101549050601360008281526020019081526020016000206000018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561194f5780601f106119245761010080835404028352916020019161194f565b820191906000526020600020905b81548152906001019060200180831161193257829003601f168201915b505050505091505b50919050565b6000818152601660205260409020600301545b919050565b6000611c2b82613602565b90505b919050565b611c3b61361b565b6000806000601754604051805910611c505750595b908082528060200260200182016040525b50935060009250600091505b600f54821015611cdc57611c8082612b4b565b60008181526010602052604090205490915060ff1615611c9f57611cd1565b611ca881613602565b1515611cb357611cd1565b80848481518110611cc057fe5b602090810290910101526001909201915b600190910190611c6d565b5b50505090565b600160a060020a03331660009081526001602052604090205460ff1680611d0e5750611d0e33611b16565b5b80611d28575060025433600160a060020a039081169116145b1515611d3357600080fd5b6000828152601e602052604090208190555b5b5050565b60106020526000908152604090205460ff1681565b600581600a8110611d6c57fe5b600891828204019190066004025b915054906101000a900463ffffffff1681565b60146020526000908152604090205460ff1681565b601560205260009081526040902054600160a060020a031681565b600381600a8110611d6c57fe5b600891828204019190066004025b915054906101000a900463ffffffff1681565b600160a060020a03331660009081526001602052604090205460ff1680611e165750611e1633611b16565b5b80611e30575060025433600160a060020a039081169116145b1515611e3b57600080fd5b61166e81600080600061227d565b5b5b50565b6000818152600a602052604090206002015415155b919050565b6000818152600a6020526040902060030154429011155b919050565b60006040517f73746f72616765000000000000000000000000000000000000000000000000008152600701604051809103902090505b90565b6000828152601c6020908152604080832060ff6000198601811680865291845282852054878652601d85528386209286529190935292205481169116818110915b505092915050565b60185460ff1681565b60005474010000000000000000000000000000000000000000900460ff1681565b611f3861363f565b606060405190810160409081526000848152601c60209081528282208280528082528383205460ff908116865260018452818352848420548116838701526002845291529082902054169082015290505b919050565b6000818152601e6020526040812054801515611fad5760009150611957565b611fb681611e68565b1591505b50919050565b600160a060020a03331660009081526001602052604081205460ff1680611feb5750611feb33611b16565b5b80612005575060025433600160a060020a039081169116145b151561201057600080fd5b61201a8383611ebd565b151561202557600080fd5b61202e8261324a565b151561203957600080fd5b506000828152601c6020908152604080832060ff60001986018181168652919093529220805480831660010190921660ff199092169190911790555b5b505050565b600160a060020a03331660009081526001602052604090205460ff16806120a657506120a633611b16565b5b806120c0575060025433600160a060020a039081169116145b15156120cb57600080fd5b60008281526009602052604090208054600160a060020a031916600160a060020a0383161790555b5b5050565b600160a060020a03331660009081526001602052604090205460ff1680612123575061212333611b16565b5b8061213d575060025433600160a060020a039081169116145b151561214857600080fd5b600160a060020a0381166000908152601260205260409020805460010190555b5b50565b60005433600160a060020a0390811691161461218757600080fd5b600160a060020a038116151561219c57600080fd5b600160a060020a0381166000908152601460205260409020805460ff191660011790555b5b50565b600160a060020a0333166000908152600160205260408120548190819060ff16806121f357506121f333611b16565b5b8061220d575060025433600160a060020a039081169116145b151561221857600080fd5b6000848152600a60205260409020600101549250612234612420565b61223c6133a2565b91506122488483611ce3565b61225184611672565b60010190506122608382611fc0565b5b5b50505050565b60116020526000908152604090205460ff1681565b600160a060020a03331660009081526001602052604090205460ff16806122a857506122a833611b16565b5b806122c2575060025433600160a060020a039081169116145b15156122cd57600080fd5b6122d68461247d565b15156122e157600080fd5b6000848152601d60209081526040808320838052909152808220805460ff87811660ff199283161790925560018452828420805487841690831617905560028452919092208054928416929091169190911790555b5b50505050565b600080600080600061234d613667565b600087815260166020526040908190209060c0905190810160409081528254600160a060020a0316825260018301546001608060020a038082166020850152608060020a9091041690820152600282015467ffffffffffffffff1660608201526003820154608082015260049091015460ff16151560a082015290506123d287613602565b15156123dd57600080fd5b805181602001518260400151836060015184608001519399506001608060020a0392831698509116955067ffffffffffffffff16935091505b5091939590929450565b600160a060020a03331660009081526001602052604090205460ff168061244b575061244b33611b16565b5b80612465575060025433600160a060020a039081169116145b151561247057600080fd5b601a805460010190555b5b565b6000818152600a602052604090206007015460ff16155b919050565b600160a060020a03331660009081526001602052604090205460ff16806124c457506124c433611b16565b5b806124de575060025433600160a060020a039081169116145b15156124e957600080fd5b6124f28161247d565b15156124fd57600080fd5b60008181526010602090815260408083208054600160ff199182168117909255600e8054600019019055600a909352908320838155908101839055600281018390556003810183905560048101805461ffff191690556005810183905560068101929092556007909101805490911690555b5b50565b6000868152600a60205260408120600201548190819081908a901561259757600080fd5b600160a060020a03331660009081526001602052604090205460ff16806125c257506125c233611b16565b5b806125dc575060025433600160a060020a039081169116145b15156125e757600080fd5b42869011156125f557600080fd5b60018860ff161015801561260d5750600a8860ff1611155b151561261857600080fd5b6000199097019642945060ff8916151561263457429350612714565b60008a8152600a6020526040902060040154601f5460ff6101009092048216945060029116141561269857600783600a811061266c57fe5b600891828204019190066004025b9054906101000a900463ffffffff1663ffffffff1642019350612714565b601f5460ff16600114156126df57600583600a811061266c57fe5b600891828204019190066004025b9054906101000a900463ffffffff1663ffffffff1642019350612714565b600383600a81106126ec57fe5b600891828204019190066004025b9054906101000a900463ffffffff1663ffffffff16420193505b5b5b60ff89161515612728578a9150612751565b8860ff166001141561273c57899150612751565b60008a8152600a602052604090206001015491505b5b61012060405190810160409081528b825260208083018590528183018890526060830187905260ff808d1660808501819052908c1660a085015260c084018b905260e084018a9052151561010084015260008e8152600a9091522081518155602082015181600101556040820151816002015560608201518160030155608082015160048201805460ff191660ff9290921691909117905560a08201518160040160016101000a81548160ff021916908360ff16021790555060c0820151816005015560e08201518160060155610100820151600791909101805460ff19169115159190911790555060008b81526011602052604090205460ff1615156128b95760008b8152601160205260409020805460ff19166001908117909155600c805490918101612881838261369c565b916000526020600020900160005b508c905550600f5460008c8152600d60205260409020556128af8c6120f8565b600f805460010190555b60008b8152601060205260409020805460ff191690556128d98b8d61207b565b600e805460010190555b5b5b505050505050505050505050565b600160a060020a03331660009081526001602052604090205460ff168061291e575061291e33611b16565b5b80612938575060025433600160a060020a039081169116145b151561294357600080fd5b60008281526015602052604090208054600160a060020a031916600160a060020a0383161790555b5b5050565b600054600160a060020a031681565b60136020526000908152604090206001810182565b60008181526016602052604090206004015460ff16155b919050565b600160a060020a033316600090815260016020526040812054819060ff16806129dd57506129dd33611b16565b5b806129f7575060025433600160a060020a039081169116145b1515612a0257600080fd5b5050600054600190600160a060020a0316612a2287878787878688612c1e565b5b5b50505050505050565b600c805482908110612a3b57fe5b906000526020600020900160005b5054905081565b600960205260009081526040902054600160a060020a031681565b600160a060020a03331660009081526001602052604081205460ff1680612a965750612a9633611b16565b5b80612ab0575060025433600160a060020a039081169116145b1515612abb57600080fd5b506000818152600a6020526040812060040154610100900460ff1690811115611d45576000828152600a60205260409020600401805460001960ff610100808404821692909201160261ff00199091161790555b5b5b5050565b6000818152600a602052604090206004015460ff610100909104166001015b919050565b600d6020526000908152604090205481565b6000600c82815481101515612b5c57fe5b906000526020600020900160005b505490505b919050565b6000818152600a60205260409020600101545b919050565b600160a060020a03331660009081526001602052604090205460ff1680612bb75750612bb733611b16565b5b80612bd1575060025433600160a060020a039081169116145b1515612bdc57600080fd5b612be58161247d565b1515612bf057600080fd5b600081815260136020526040812090612c0982826136c6565b6120756001830160006136c6565b50505b5b50565b600160a060020a03331660009081526001602052604090205460ff1680612c495750612c4933611b16565b5b80612c63575060025433600160a060020a039081169116145b1515612c6e57600080fd5b612c7787613602565b15612c8157600080fd5b60c06040519081016040908152600160a060020a03841682526001608060020a038089166020808501919091529088168284015267ffffffffffffffff861660608401526080830187905283151560a084015260008a815260169091522081518154600160a060020a031916600160a060020a039190911617815560208201516001820180546fffffffffffffffffffffffffffffffff19166001608060020a039290921691909117905560408201516001820180546001608060020a03928316608060020a029216919091179055606082015160028201805467ffffffffffffffff191667ffffffffffffffff929092169190911790556080820151816003015560a0820151600491909101805460ff1916911515919091179055506017805460010190555b5b50505050505050565b600160a060020a0381166000908152601260205260409020545b919050565b6000828152600b6020526040902054600160a060020a038281169116145b92915050565b600160a060020a03811660009081526001602052604090205460ff165b919050565b600b60205260009081526040902054600160a060020a031681565b600081815260166020526040902054600160a060020a03165b919050565b600a6020526000908152604090208054600182015460028301546003840154600485015460058601546006870154600790970154959694959394929360ff80841694610100909404811693911689565b600160a060020a03331660009081526001602052604090205460ff1680612ecb5750612ecb33611b16565b5b80612ee5575060025433600160a060020a039081169116145b1515612ef057600080fd5b612ef985613602565b15612f0357600080fd5b60c06040519081016040908152600160a060020a03831682526001608060020a038087166020808501919091529086168284015267ffffffffffffffff85166060840152426080840152600060a0840181905288815260169091522081518154600160a060020a031916600160a060020a039190911617815560208201516001820180546fffffffffffffffffffffffffffffffff19166001608060020a039290921691909117905560408201516001820180546001608060020a03928316608060020a029216919091179055606082015160028201805467ffffffffffffffff191667ffffffffffffffff929092169190911790556080820151816003015560a0820151600491909101805460ff1916911515919091179055506017805460010190555b5b5050505050565b600254600160a060020a031681565b6000818152600a60205260409020600501545b919050565b60126020526000908152604090205481565b60195481565b600160a060020a03331660009081526001602052604090205460ff168061309a575061309a33611b16565b5b806130b4575060025433600160a060020a039081169116145b15156130bf57600080fd5b600082815260136020526040902060010181805161207592916020019061370e565b505b5b5050565b60016020526000908152604090205460ff1681565b60166020526000908152604090208054600182015460028301546003840154600490940154600160a060020a03909316936001608060020a0380841694608060020a909404169267ffffffffffffffff9092169160ff1686565b600781600a8110611d6c57fe5b600891828204019190066004025b915054906101000a900463ffffffff1681565b6017545b90565b6000818152600a6020526040902060060154429011155b919050565b60006131b2613667565b600083815260166020526040908190209060c0905190810160409081528254600160a060020a0316825260018301546001608060020a038082166020850152608060020a9091041690820152600282015467ffffffffffffffff16606082019081526003830154608083015260049092015460ff16151560a082015291505167ffffffffffffffff1681608001510191505b50919050565b600060018260ff1610158015611c2b575060038260ff1611155b90505b919050565b60005433600160a060020a0390811691161461328757600080fd5b600160a060020a038116151561329c57600080fd5b60008054600160a060020a031916600160a060020a0383161790555b5b50565b601e6020526000908152604090205481565b6132d661363f565b606060405190810160409081526000848152601d60209081528282208280528082528383205460ff908116865260018452818352848420548116838701526002845291529082902054169082015290505b919050565b600160a060020a03331660009081526001602052604090205460ff1680613357575061335733611b16565b5b80613371575060025433600160a060020a039081169116145b151561337c57600080fd5b600082815260136020526040902081805161207592916020019061370e565b505b5b5050565b601a54601954015b90565b600160a060020a03331660009081526001602052604090205460ff16806133d857506133d833611b16565b5b806133f2575060025433600160a060020a039081169116145b15156133fd57600080fd5b600160a060020a03811660009081526001602052604090819020805460ff191690557f0504a20df814c93c7ddd7f77490f6e926f33d1094b561451e480448195c3a91790829051600160a060020a03909116815260200160405180910390a15b5b50565b600160a060020a03331660009081526001602052604090205460ff168061348c575061348c33611b16565b5b806134a6575060025433600160a060020a039081169116145b15156134b157600080fd5b6000828152600b602052604090208054600160a060020a031916600160a060020a0383161790555b5b5050565b60005433600160a060020a039081169116146134f957600080fd5b600160a060020a038116151561350e57600080fd5b60028054600160a060020a031916600160a060020a0383161790555b5b50565b600160a060020a03331660009081526001602052604090205460ff1680613559575061355933611b16565b5b80613573575060025433600160a060020a039081169116145b151561357e57600080fd5b600160a060020a038116151561359357600080fd5b600160a060020a038116600090815260016020819052604091829020805460ff191690911790557fd95d4cef34c7f4a986a0964e74c4a112f7afe024b8bcafb75b2eab45e7c5738890829051600160a060020a03909116815260200160405180910390a15b5b50565b601a5481565b600081815260166020526040812060030154115b919050565b60206040519081016040526000815290565b60206040519081016040526000815290565b60606040519081016040526003815b60008152600019909101906020018161364e5790505090565b60c06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a082015290565b8154818355818115116120755760008381526020902061207591810190830161378d565b5b505050565b50805460018160011615610100020316600290046000825580601f106136ec575061166e565b601f01602090049060005260206000209081019061166e919061378d565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061374f57805160ff191683800117855561377c565b8280016001018555821561377c579182015b8281111561377c578251825591602001919060010190613761565b5b5061378992915061378d565b5090565b611eba91905b808211156137895760008155600101613793565b5090565b905600a165627a7a723058205b1bf9cb59ba4dcb73a87c418d178af2527641ea44bf44f311b170f7d242ab9e00290000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x606060405236156104275763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301e343db811461042c5780630af9d89c146104445780630cdc92ea146104705780630d66343c1461049a5780630ec45dc0146104cc578063108a101b146104fe578063145f8ba2146105285780631785f53c14610587578063197b9454146105a85780631be6ce57146105cd5780631dea157f146105ee5780631e801c8c1461067c57806324d7806c14610694578063275510d0146106c757806328dca7a3146106f95780632dd7030b146107255780632efd08df1461073d5780632f54bf6e1461076257806332cb93d91461079557806337016a5f1461082357806337e246ad1461084b5780633804ab8d146108755780633953f4a1146108dc57806339e3af9b146108f75780633e6d4fb914610921578063429b62e514610950578063474da79a1461098357806348a357bc146109b55780634a61f347146109e45780634f558e79146109fc57806350df8f7114610a2657806351ff484714610a50578063579599bd14610a98578063590731b714610ac85780635c975abb14610af15780635de8153414610b185780635f4eab6514610b6757806364d0bbc414610b91578063687c4fa714610baf5780636bfaa90314610bd35780637048027514610bf457806370d1383d14610c1557806373962b2614610c2d578063783370b514610c5757806378bd793514610c815780637a9e19de14610cd25780637d6979e714610ce75780638635b52714610d115780638754b1d114610d2957806389e865a914610d625780638da5cb5b14610d865780638f86f25514610db55780638ff6e97114610ece578063902a83cd14610ef85780639434e2fe14610f1c5780639e5cc10b14610f445780639e6afbda14610f765780639ed5736014610f8e578063a072fd2a14610fba578063a3e7061d14610fe2578063a42455271461100a578063a61bd76d14611032578063ab6680f31461104a578063b4f6eae41461107f578063b5b12e75146110b0578063babcc539146110e6578063c25de16b14611119578063c50c44cf1461114b578063c7ca6daa1461117d578063c9a6b2a8146111e4578063ca4b208b14611211578063cd0fdc2414611240578063cec21acb14611268578063d555654414611299578063d59f4e68146112be578063d63a8e1114611316578063e3b1475714611349578063e4267295146113b9578063e45c1879146113e8578063eabc8b8e1461140d578063eda8927914611437578063f195995c1461145f578063f2fde38b1461148c578063f50b769e146114ad578063f79098f4146114d5578063fabb795214611524578063fafb76dd1461157c578063fc9d96ba146115a1578063febe4909146115c2578063ff70fa49146115e6578063ff9913e814611607578063ffe90ba614611628575b600080fd5b341561043757600080fd5b61044260043561164d565b005b341561044f57600080fd5b61045a600435611672565b60405160ff909116815260200160405180910390f35b341561047b57600080fd5b61048660043561168d565b604051901515815260200160405180910390f35b34156104a557600080fd5b6104b06004356116a3565b604051600160a060020a03909116815260200160405180910390f35b34156104d757600080fd5b61045a60043560ff602435166116c1565b60405160ff909116815260200160405180910390f35b341561050957600080fd5b6104866004356116e1565b604051901515815260200160405180910390f35b341561053357600080fd5b61053e60043561175d565b604051600160a060020a0390961686526020860194909452604080860193909352606085019190915260ff90811660808501529190911660a083015260c0909101905180910390f35b341561059257600080fd5b610442600160a060020a03600435166117b2565b005b34156105b357600080fd5b6105bb611807565b60405190815260200160405180910390f35b34156105d857600080fd5b610442600160a060020a036004351661180d565b005b34156105f957600080fd5b610604600435611882565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156106415780820151818401525b602001610628565b50505050905090810190601f16801561066e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561068757600080fd5b61044260043561195d565b005b341561069f57600080fd5b610486600160a060020a03600435166119ea565b604051901515815260200160405180910390f35b34156106d257600080fd5b61045a60043560ff60243516611a0c565b60405160ff909116815260200160405180910390f35b341561070457600080fd5b61045a600435611a2c565b60405160ff909116815260200160405180910390f35b341561073057600080fd5b610442600435611a54565b005b341561074857600080fd5b6105bb611b10565b60405190815260200160405180910390f35b341561076d57600080fd5b610486600160a060020a0360043516611b16565b604051901515815260200160405180910390f35b34156107a057600080fd5b610604600435611b2d565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156106415780820151818401525b602001610628565b50505050905090810190601f16801561066e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561082e57600080fd5b6105bb600435611c08565b60405190815260200160405180910390f35b341561085657600080fd5b610486600435611c20565b604051901515815260200160405180910390f35b341561088057600080fd5b610888611c33565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156108c85780820151818401525b6020016108af565b505050509050019250505060405180910390f35b34156108e757600080fd5b610442600435602435611ce3565b005b341561090257600080fd5b610486600435611d4a565b604051901515815260200160405180910390f35b341561092c57600080fd5b610937600435611d5f565b60405163ffffffff909116815260200160405180910390f35b341561095b57600080fd5b610486600160a060020a0360043516611d8d565b604051901515815260200160405180910390f35b341561098e57600080fd5b6104b0600435611da2565b604051600160a060020a03909116815260200160405180910390f35b34156109c057600080fd5b610937600435611dbd565b60405163ffffffff909116815260200160405180910390f35b34156109ef57600080fd5b610442600435611deb565b005b3415610a0757600080fd5b610486600435611e4e565b604051901515815260200160405180910390f35b3415610a3157600080fd5b610486600435611e68565b604051901515815260200160405180910390f35b3415610a5b57600080fd5b610a63611e84565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200160405180910390f35b3415610aa357600080fd5b61048660043560ff60243516611ebd565b604051901515815260200160405180910390f35b3415610ad357600080fd5b61045a611f06565b60405160ff909116815260200160405180910390f35b3415610afc57600080fd5b610486611f0f565b604051901515815260200160405180910390f35b3415610b2357600080fd5b610b2e600435611f30565b6040518082606080838360005b83811015610b545780820151818401525b602001610b3b565b5050505090500191505060405180910390f35b3415610b7257600080fd5b610486600435611f8e565b604051901515815260200160405180910390f35b3415610b9c57600080fd5b61044260043560ff60243516611fc0565b005b3415610bba57600080fd5b610442600435600160a060020a036024351661207b565b005b3415610bde57600080fd5b610442600160a060020a03600435166120f8565b005b3415610bff57600080fd5b610442600160a060020a036004351661216c565b005b3415610c2057600080fd5b6104426004356121c4565b005b3415610c3857600080fd5b610486600435612268565b604051901515815260200160405180910390f35b3415610c6257600080fd5b61044260043560ff6024358116906044358116906064351661227d565b005b3415610c8c57600080fd5b610c9760043561233d565b604051600160a060020a03909516855260208501939093526040808501929092526060840152608083019190915260a0909101905180910390f35b3415610cdd57600080fd5b610442612420565b005b3415610cf257600080fd5b61048660043561247d565b604051901515815260200160405180910390f35b3415610d1c57600080fd5b610442600435612499565b005b3415610d3457600080fd5b610442600160a060020a036004351660243560443560ff6064358116906084351660a43560c435612573565b005b3415610d6d57600080fd5b610442600435600160a060020a03602435166128f3565b005b3415610d9157600080fd5b6104b0612970565b604051600160a060020a03909116815260200160405180910390f35b3415610dc057600080fd5b610dcb60043561297f565b604051604080825283546002600019610100600184161502019091160490820181905281906020820190606083019086908015610e495780601f10610e1e57610100808354040283529160200191610e49565b820191906000526020600020905b815481529060010190602001808311610e2c57829003601f168201915b5050838103825284546002600019610100600184161502019091160480825260209091019085908015610ebd5780601f10610e9257610100808354040283529160200191610ebd565b820191906000526020600020905b815481529060010190602001808311610ea057829003601f168201915b505094505050505060405180910390f35b3415610ed957600080fd5b610486600435612994565b604051901515815260200160405180910390f35b3415610f0357600080fd5b6104426004356024356044356064356084356129b0565b005b3415610f2757600080fd5b6105bb600435612a2d565b60405190815260200160405180910390f35b3415610f4f57600080fd5b6104b0600435612a50565b604051600160a060020a03909116815260200160405180910390f35b3415610f8157600080fd5b610442600435612a6b565b005b3415610f9957600080fd5b61045a600435612b15565b60405160ff909116815260200160405180910390f35b3415610fc557600080fd5b6105bb600435612b39565b60405190815260200160405180910390f35b3415610fed57600080fd5b6105bb600435612b4b565b60405190815260200160405180910390f35b341561101557600080fd5b6105bb600435612b74565b60405190815260200160405180910390f35b341561103d57600080fd5b610442600435612b8c565b005b341561105557600080fd5b610442600435602435604435606435608435600160a060020a0360a4351660c4351515612c1e565b005b341561108a57600080fd5b6105bb600160a060020a0360043516612db2565b60405190815260200160405180910390f35b34156110bb57600080fd5b610486600435600160a060020a0360243516612dd1565b604051901515815260200160405180910390f35b34156110f157600080fd5b610486600160a060020a0360043516612df5565b604051901515815260200160405180910390f35b341561112457600080fd5b6104b0600435612e17565b604051600160a060020a03909116815260200160405180910390f35b341561115657600080fd5b6104b0600435612e32565b604051600160a060020a03909116815260200160405180910390f35b341561118857600080fd5b611193600435612e50565b6040519889526020890197909752604080890196909652606088019490945260ff9283166080880152911660a086015260c085015260e0840152901515610100830152610120909101905180910390f35b34156111ef57600080fd5b610442600435602435604435606435600160a060020a0360843516612ea0565b005b341561121c57600080fd5b6104b0613030565b604051600160a060020a03909116815260200160405180910390f35b341561124b57600080fd5b6105bb60043561303f565b60405190815260200160405180910390f35b341561127357600080fd5b6105bb600160a060020a0360043516613057565b60405190815260200160405180910390f35b34156112a457600080fd5b6105bb613069565b60405190815260200160405180910390f35b34156112c957600080fd5b610442600480359060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061306f95505050505050565b005b341561132157600080fd5b610486600160a060020a03600435166130e8565b604051901515815260200160405180910390f35b341561135457600080fd5b61135f6004356130fd565b604051600160a060020a0390961686526001608060020a0394851660208701529290931660408086019190915267ffffffffffffffff90911660608501526080840192909252151560a083015260c0909101905180910390f35b34156113c457600080fd5b610937600435613157565b60405163ffffffff909116815260200160405180910390f35b34156113f357600080fd5b6105bb613185565b60405190815260200160405180910390f35b341561141857600080fd5b61048660043561318c565b604051901515815260200160405180910390f35b341561144257600080fd5b6105bb6004356131a8565b60405190815260200160405180910390f35b341561146a57600080fd5b61048660ff6004351661324a565b604051901515815260200160405180910390f35b341561149757600080fd5b610442600160a060020a036004351661326c565b005b34156114b857600080fd5b6105bb6004356132bc565b60405190815260200160405180910390f35b34156114e057600080fd5b610b2e6004356132ce565b6040518082606080838360005b83811015610b545780820151818401525b602001610b3b565b5050505090500191505060405180910390f35b341561152f57600080fd5b610442600480359060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061332c95505050505050565b005b341561158757600080fd5b6105bb6133a2565b60405190815260200160405180910390f35b34156115ac57600080fd5b610442600160a060020a03600435166133ad565b005b34156115cd57600080fd5b610442600435600160a060020a0360243516613461565b005b34156115f157600080fd5b610442600160a060020a03600435166134de565b005b341561161257600080fd5b610442600160a060020a036004351661352e565b005b341561163357600080fd5b6105bb6135fc565b60405190815260200160405180910390f35b60005433600160a060020a0390811691161461166857600080fd5b60198190555b5b50565b6000818152600a602052604090206004015460ff165b919050565b600042611699836131a8565b111590505b919050565b600081815260096020526040902054600160a060020a03165b919050565b601c60209081526000928352604080842090915290825290205460ff1681565b6000818152600a6020526040812060010154818080831515611701578593505b5050506000838152600a6020908152604080832060040154848452601d835281842060ff91821680865290845282852054868652601c855283862082875290945291909320549183169190921681811094505b50505050919050565b600081815260096020908152604080832054600a909252909120805460028201546003830154600490930154600160a060020a03909416939192909160ff808216916101009004166001015b91939550919395565b60005433600160a060020a039081169116146117cd57600080fd5b600160a060020a03811615156117e257600080fd5b600160a060020a0381166000908152601460205260409020805460ff191690555b5b50565b600e5481565b600160a060020a03331660009081526001602052604090205460ff1680611838575061183833611b16565b5b80611852575060025433600160a060020a039081169116145b151561185d57600080fd5b600160a060020a038116600090815260126020526040902080546000190190555b5b50565b61188a61361b565b6000600a6000848152602001908152602001600020600101549050601360008281526020019081526020016000206001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561194f5780601f106119245761010080835404028352916020019161194f565b820191906000526020600020905b81548152906001019060200180831161193257829003601f168201915b505050505091505b50919050565b600160a060020a03331660009081526001602052604090205460ff1680611988575061198833611b16565b5b806119a2575060025433600160a060020a039081169116145b15156119ad57600080fd5b6000818152600a602052604090206007015460ff16151561166e576000818152600a60205260409020600701805460ff191660011790555b5b5b50565b600160a060020a03811660009081526014602052604090205460ff165b919050565b601d60209081526000928352604080842090915290825290205460ff1681565b601b8160038110611a3957fe5b602091828204019190065b915054906101000a900460ff1681565b600160a060020a03331660009081526001602052604090205460ff1680611a7f5750611a7f33611b16565b5b80611a99575060025433600160a060020a039081169116145b1515611aa457600080fd5b611aad81613602565b1515611ab857600080fd5b60008181526016602052604081208054600160a060020a03191681556001810182905560028101805467ffffffffffffffff191690556003810191909155600401805460ff19169055601780546000190190555b5b50565b600f5481565b600054600160a060020a038281169116145b919050565b611b3561361b565b6000600a6000848152602001908152602001600020600101549050601360008281526020019081526020016000206000018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561194f5780601f106119245761010080835404028352916020019161194f565b820191906000526020600020905b81548152906001019060200180831161193257829003601f168201915b505050505091505b50919050565b6000818152601660205260409020600301545b919050565b6000611c2b82613602565b90505b919050565b611c3b61361b565b6000806000601754604051805910611c505750595b908082528060200260200182016040525b50935060009250600091505b600f54821015611cdc57611c8082612b4b565b60008181526010602052604090205490915060ff1615611c9f57611cd1565b611ca881613602565b1515611cb357611cd1565b80848481518110611cc057fe5b602090810290910101526001909201915b600190910190611c6d565b5b50505090565b600160a060020a03331660009081526001602052604090205460ff1680611d0e5750611d0e33611b16565b5b80611d28575060025433600160a060020a039081169116145b1515611d3357600080fd5b6000828152601e602052604090208190555b5b5050565b60106020526000908152604090205460ff1681565b600581600a8110611d6c57fe5b600891828204019190066004025b915054906101000a900463ffffffff1681565b60146020526000908152604090205460ff1681565b601560205260009081526040902054600160a060020a031681565b600381600a8110611d6c57fe5b600891828204019190066004025b915054906101000a900463ffffffff1681565b600160a060020a03331660009081526001602052604090205460ff1680611e165750611e1633611b16565b5b80611e30575060025433600160a060020a039081169116145b1515611e3b57600080fd5b61166e81600080600061227d565b5b5b50565b6000818152600a602052604090206002015415155b919050565b6000818152600a6020526040902060030154429011155b919050565b60006040517f73746f72616765000000000000000000000000000000000000000000000000008152600701604051809103902090505b90565b6000828152601c6020908152604080832060ff6000198601811680865291845282852054878652601d85528386209286529190935292205481169116818110915b505092915050565b60185460ff1681565b60005474010000000000000000000000000000000000000000900460ff1681565b611f3861363f565b606060405190810160409081526000848152601c60209081528282208280528082528383205460ff908116865260018452818352848420548116838701526002845291529082902054169082015290505b919050565b6000818152601e6020526040812054801515611fad5760009150611957565b611fb681611e68565b1591505b50919050565b600160a060020a03331660009081526001602052604081205460ff1680611feb5750611feb33611b16565b5b80612005575060025433600160a060020a039081169116145b151561201057600080fd5b61201a8383611ebd565b151561202557600080fd5b61202e8261324a565b151561203957600080fd5b506000828152601c6020908152604080832060ff60001986018181168652919093529220805480831660010190921660ff199092169190911790555b5b505050565b600160a060020a03331660009081526001602052604090205460ff16806120a657506120a633611b16565b5b806120c0575060025433600160a060020a039081169116145b15156120cb57600080fd5b60008281526009602052604090208054600160a060020a031916600160a060020a0383161790555b5b5050565b600160a060020a03331660009081526001602052604090205460ff1680612123575061212333611b16565b5b8061213d575060025433600160a060020a039081169116145b151561214857600080fd5b600160a060020a0381166000908152601260205260409020805460010190555b5b50565b60005433600160a060020a0390811691161461218757600080fd5b600160a060020a038116151561219c57600080fd5b600160a060020a0381166000908152601460205260409020805460ff191660011790555b5b50565b600160a060020a0333166000908152600160205260408120548190819060ff16806121f357506121f333611b16565b5b8061220d575060025433600160a060020a039081169116145b151561221857600080fd5b6000848152600a60205260409020600101549250612234612420565b61223c6133a2565b91506122488483611ce3565b61225184611672565b60010190506122608382611fc0565b5b5b50505050565b60116020526000908152604090205460ff1681565b600160a060020a03331660009081526001602052604090205460ff16806122a857506122a833611b16565b5b806122c2575060025433600160a060020a039081169116145b15156122cd57600080fd5b6122d68461247d565b15156122e157600080fd5b6000848152601d60209081526040808320838052909152808220805460ff87811660ff199283161790925560018452828420805487841690831617905560028452919092208054928416929091169190911790555b5b50505050565b600080600080600061234d613667565b600087815260166020526040908190209060c0905190810160409081528254600160a060020a0316825260018301546001608060020a038082166020850152608060020a9091041690820152600282015467ffffffffffffffff1660608201526003820154608082015260049091015460ff16151560a082015290506123d287613602565b15156123dd57600080fd5b805181602001518260400151836060015184608001519399506001608060020a0392831698509116955067ffffffffffffffff16935091505b5091939590929450565b600160a060020a03331660009081526001602052604090205460ff168061244b575061244b33611b16565b5b80612465575060025433600160a060020a039081169116145b151561247057600080fd5b601a805460010190555b5b565b6000818152600a602052604090206007015460ff16155b919050565b600160a060020a03331660009081526001602052604090205460ff16806124c457506124c433611b16565b5b806124de575060025433600160a060020a039081169116145b15156124e957600080fd5b6124f28161247d565b15156124fd57600080fd5b60008181526010602090815260408083208054600160ff199182168117909255600e8054600019019055600a909352908320838155908101839055600281018390556003810183905560048101805461ffff191690556005810183905560068101929092556007909101805490911690555b5b50565b6000868152600a60205260408120600201548190819081908a901561259757600080fd5b600160a060020a03331660009081526001602052604090205460ff16806125c257506125c233611b16565b5b806125dc575060025433600160a060020a039081169116145b15156125e757600080fd5b42869011156125f557600080fd5b60018860ff161015801561260d5750600a8860ff1611155b151561261857600080fd5b6000199097019642945060ff8916151561263457429350612714565b60008a8152600a6020526040902060040154601f5460ff6101009092048216945060029116141561269857600783600a811061266c57fe5b600891828204019190066004025b9054906101000a900463ffffffff1663ffffffff1642019350612714565b601f5460ff16600114156126df57600583600a811061266c57fe5b600891828204019190066004025b9054906101000a900463ffffffff1663ffffffff1642019350612714565b600383600a81106126ec57fe5b600891828204019190066004025b9054906101000a900463ffffffff1663ffffffff16420193505b5b5b60ff89161515612728578a9150612751565b8860ff166001141561273c57899150612751565b60008a8152600a602052604090206001015491505b5b61012060405190810160409081528b825260208083018590528183018890526060830187905260ff808d1660808501819052908c1660a085015260c084018b905260e084018a9052151561010084015260008e8152600a9091522081518155602082015181600101556040820151816002015560608201518160030155608082015160048201805460ff191660ff9290921691909117905560a08201518160040160016101000a81548160ff021916908360ff16021790555060c0820151816005015560e08201518160060155610100820151600791909101805460ff19169115159190911790555060008b81526011602052604090205460ff1615156128b95760008b8152601160205260409020805460ff19166001908117909155600c805490918101612881838261369c565b916000526020600020900160005b508c905550600f5460008c8152600d60205260409020556128af8c6120f8565b600f805460010190555b60008b8152601060205260409020805460ff191690556128d98b8d61207b565b600e805460010190555b5b5b505050505050505050505050565b600160a060020a03331660009081526001602052604090205460ff168061291e575061291e33611b16565b5b80612938575060025433600160a060020a039081169116145b151561294357600080fd5b60008281526015602052604090208054600160a060020a031916600160a060020a0383161790555b5b5050565b600054600160a060020a031681565b60136020526000908152604090206001810182565b60008181526016602052604090206004015460ff16155b919050565b600160a060020a033316600090815260016020526040812054819060ff16806129dd57506129dd33611b16565b5b806129f7575060025433600160a060020a039081169116145b1515612a0257600080fd5b5050600054600190600160a060020a0316612a2287878787878688612c1e565b5b5b50505050505050565b600c805482908110612a3b57fe5b906000526020600020900160005b5054905081565b600960205260009081526040902054600160a060020a031681565b600160a060020a03331660009081526001602052604081205460ff1680612a965750612a9633611b16565b5b80612ab0575060025433600160a060020a039081169116145b1515612abb57600080fd5b506000818152600a6020526040812060040154610100900460ff1690811115611d45576000828152600a60205260409020600401805460001960ff610100808404821692909201160261ff00199091161790555b5b5b5050565b6000818152600a602052604090206004015460ff610100909104166001015b919050565b600d6020526000908152604090205481565b6000600c82815481101515612b5c57fe5b906000526020600020900160005b505490505b919050565b6000818152600a60205260409020600101545b919050565b600160a060020a03331660009081526001602052604090205460ff1680612bb75750612bb733611b16565b5b80612bd1575060025433600160a060020a039081169116145b1515612bdc57600080fd5b612be58161247d565b1515612bf057600080fd5b600081815260136020526040812090612c0982826136c6565b6120756001830160006136c6565b50505b5b50565b600160a060020a03331660009081526001602052604090205460ff1680612c495750612c4933611b16565b5b80612c63575060025433600160a060020a039081169116145b1515612c6e57600080fd5b612c7787613602565b15612c8157600080fd5b60c06040519081016040908152600160a060020a03841682526001608060020a038089166020808501919091529088168284015267ffffffffffffffff861660608401526080830187905283151560a084015260008a815260169091522081518154600160a060020a031916600160a060020a039190911617815560208201516001820180546fffffffffffffffffffffffffffffffff19166001608060020a039290921691909117905560408201516001820180546001608060020a03928316608060020a029216919091179055606082015160028201805467ffffffffffffffff191667ffffffffffffffff929092169190911790556080820151816003015560a0820151600491909101805460ff1916911515919091179055506017805460010190555b5b50505050505050565b600160a060020a0381166000908152601260205260409020545b919050565b6000828152600b6020526040902054600160a060020a038281169116145b92915050565b600160a060020a03811660009081526001602052604090205460ff165b919050565b600b60205260009081526040902054600160a060020a031681565b600081815260166020526040902054600160a060020a03165b919050565b600a6020526000908152604090208054600182015460028301546003840154600485015460058601546006870154600790970154959694959394929360ff80841694610100909404811693911689565b600160a060020a03331660009081526001602052604090205460ff1680612ecb5750612ecb33611b16565b5b80612ee5575060025433600160a060020a039081169116145b1515612ef057600080fd5b612ef985613602565b15612f0357600080fd5b60c06040519081016040908152600160a060020a03831682526001608060020a038087166020808501919091529086168284015267ffffffffffffffff85166060840152426080840152600060a0840181905288815260169091522081518154600160a060020a031916600160a060020a039190911617815560208201516001820180546fffffffffffffffffffffffffffffffff19166001608060020a039290921691909117905560408201516001820180546001608060020a03928316608060020a029216919091179055606082015160028201805467ffffffffffffffff191667ffffffffffffffff929092169190911790556080820151816003015560a0820151600491909101805460ff1916911515919091179055506017805460010190555b5b5050505050565b600254600160a060020a031681565b6000818152600a60205260409020600501545b919050565b60126020526000908152604090205481565b60195481565b600160a060020a03331660009081526001602052604090205460ff168061309a575061309a33611b16565b5b806130b4575060025433600160a060020a039081169116145b15156130bf57600080fd5b600082815260136020526040902060010181805161207592916020019061370e565b505b5b5050565b60016020526000908152604090205460ff1681565b60166020526000908152604090208054600182015460028301546003840154600490940154600160a060020a03909316936001608060020a0380841694608060020a909404169267ffffffffffffffff9092169160ff1686565b600781600a8110611d6c57fe5b600891828204019190066004025b915054906101000a900463ffffffff1681565b6017545b90565b6000818152600a6020526040902060060154429011155b919050565b60006131b2613667565b600083815260166020526040908190209060c0905190810160409081528254600160a060020a0316825260018301546001608060020a038082166020850152608060020a9091041690820152600282015467ffffffffffffffff16606082019081526003830154608083015260049092015460ff16151560a082015291505167ffffffffffffffff1681608001510191505b50919050565b600060018260ff1610158015611c2b575060038260ff1611155b90505b919050565b60005433600160a060020a0390811691161461328757600080fd5b600160a060020a038116151561329c57600080fd5b60008054600160a060020a031916600160a060020a0383161790555b5b50565b601e6020526000908152604090205481565b6132d661363f565b606060405190810160409081526000848152601d60209081528282208280528082528383205460ff908116865260018452818352848420548116838701526002845291529082902054169082015290505b919050565b600160a060020a03331660009081526001602052604090205460ff1680613357575061335733611b16565b5b80613371575060025433600160a060020a039081169116145b151561337c57600080fd5b600082815260136020526040902081805161207592916020019061370e565b505b5b5050565b601a54601954015b90565b600160a060020a03331660009081526001602052604090205460ff16806133d857506133d833611b16565b5b806133f2575060025433600160a060020a039081169116145b15156133fd57600080fd5b600160a060020a03811660009081526001602052604090819020805460ff191690557f0504a20df814c93c7ddd7f77490f6e926f33d1094b561451e480448195c3a91790829051600160a060020a03909116815260200160405180910390a15b5b50565b600160a060020a03331660009081526001602052604090205460ff168061348c575061348c33611b16565b5b806134a6575060025433600160a060020a039081169116145b15156134b157600080fd5b6000828152600b602052604090208054600160a060020a031916600160a060020a0383161790555b5b5050565b60005433600160a060020a039081169116146134f957600080fd5b600160a060020a038116151561350e57600080fd5b60028054600160a060020a031916600160a060020a0383161790555b5b50565b600160a060020a03331660009081526001602052604090205460ff1680613559575061355933611b16565b5b80613573575060025433600160a060020a039081169116145b151561357e57600080fd5b600160a060020a038116151561359357600080fd5b600160a060020a038116600090815260016020819052604091829020805460ff191690911790557fd95d4cef34c7f4a986a0964e74c4a112f7afe024b8bcafb75b2eab45e7c5738890829051600160a060020a03909116815260200160405180910390a15b5b50565b601a5481565b600081815260166020526040812060030154115b919050565b60206040519081016040526000815290565b60206040519081016040526000815290565b60606040519081016040526003815b60008152600019909101906020018161364e5790505090565b60c06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a082015290565b8154818355818115116120755760008381526020902061207591810190830161378d565b5b505050565b50805460018160011615610100020316600290046000825580601f106136ec575061166e565b601f01602090049060005260206000209081019061166e919061378d565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061374f57805160ff191683800117855561377c565b8280016001018555821561377c579182015b8281111561377c578251825591602001919060010190613761565b5b5061378992915061378d565b5090565b611eba91905b808211156137895760008155600101613793565b5090565b905600a165627a7a723058205b1bf9cb59ba4dcb73a87c418d178af2527641ea44bf44f311b170f7d242ab9e0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _mode (uint8): 0
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000000
Swarm Source
bzzr://5b1bf9cb59ba4dcb73a87c418d178af2527641ea44bf44f311b170f7d242ab9e
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.