Source Code
Latest 25 from a total of 85 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer Ownersh... | 24043389 | 65 days ago | IN | 0 ETH | 0.00006271 | ||||
| Add Operator | 23944041 | 79 days ago | IN | 0 ETH | 0.00009673 | ||||
| Convert From Bob... | 15172402 | 1313 days ago | IN | 0 ETH | 0.00192313 | ||||
| Convert From Bob... | 15172334 | 1313 days ago | IN | 0 ETH | 0.00189726 | ||||
| Convert From Bob... | 15172238 | 1313 days ago | IN | 0 ETH | 0.00397131 | ||||
| Convert From Bob... | 15172198 | 1313 days ago | IN | 0 ETH | 0.00226009 | ||||
| Convert From Bob... | 15159766 | 1315 days ago | IN | 0 ETH | 0.00198427 | ||||
| Convert From Bob... | 15153737 | 1316 days ago | IN | 0 ETH | 0.00214953 | ||||
| Convert From Bob... | 15153482 | 1316 days ago | IN | 0 ETH | 0.00136656 | ||||
| Convert From Bob... | 15153390 | 1316 days ago | IN | 0 ETH | 0.00220659 | ||||
| Convert From Bob... | 15082277 | 1327 days ago | IN | 0 ETH | 0.00355202 | ||||
| Convert From Bob... | 14976047 | 1346 days ago | IN | 0 ETH | 0.01055947 | ||||
| Convert From Bob... | 14804558 | 1374 days ago | IN | 0 ETH | 0.0053941 | ||||
| Convert From Bob... | 14803871 | 1375 days ago | IN | 0 ETH | 0.00364253 | ||||
| Convert From Bob... | 14803849 | 1375 days ago | IN | 0 ETH | 0.00342021 | ||||
| Convert From Bob... | 14803846 | 1375 days ago | IN | 0 ETH | 0.00260168 | ||||
| Convert From Bob... | 14803843 | 1375 days ago | IN | 0 ETH | 0.00322024 | ||||
| Convert From Bob... | 14803385 | 1375 days ago | IN | 0 ETH | 0.00419552 | ||||
| Convert From Bob... | 14607916 | 1406 days ago | IN | 0 ETH | 0.00308738 | ||||
| Convert From Bob... | 14562432 | 1413 days ago | IN | 0 ETH | 0.00411465 | ||||
| Convert From Bob... | 14556807 | 1414 days ago | IN | 0 ETH | 0.00482895 | ||||
| Convert From Bob... | 14306213 | 1453 days ago | IN | 0 ETH | 0.00587251 | ||||
| Convert From Bob... | 12754850 | 1694 days ago | IN | 0 ETH | 0.00079418 | ||||
| Convert From Bob... | 12649669 | 1711 days ago | IN | 0 ETH | 0.00173092 | ||||
| Convert From Bob... | 12593716 | 1719 days ago | IN | 0 ETH | 0.00201691 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
ERC721ConverterWithCSPLCard
Compiler Version
v0.5.16+commit.9c3226ce
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2020-06-18
*/
// Copyright (c) 2018-2020 double jump.tokyo inc.
pragma solidity 0.5.16;
interface IERC721Converter /* is IERC721TokenReceiver */{
function draftAliceToken(uint256 _aliceTokenId, uint256 _bobTokenId) external;
function draftBobToken(uint256 _BobTokenId, uint256 _aliceTokenId) external;
function getAliceTokenID(uint256 _bobTokenId) external view returns(uint256);
function getBobTokenID(uint256 _aliceTokenId) external view returns(uint256);
function convertFromAliceToBob(uint256 _tokenId) external;
function convertFromBobToAlice(uint256 _tokenId) external;
}
library Roles {
struct Role {
mapping (address => bool) bearer;
}
function add(Role storage role, address account) internal {
require(!has(role, account), "role already has the account");
role.bearer[account] = true;
}
function remove(Role storage role, address account) internal {
require(has(role, account), "role dosen't have the account");
role.bearer[account] = false;
}
function has(Role storage role, address account) internal view returns (bool) {
return role.bearer[account];
}
}
interface IERC721TokenReceiver {
/// @notice Handle the receipt of an NFT
/// @dev The ERC721 smart contract calls this function on the recipient
/// after a `transfer`. This function MAY throw to revert and reject the
/// transfer. Return of other than the magic value MUST result in the
/// transaction being reverted.
/// Note: the contract address is always the message sender.
/// @param _operator The address which called `safeTransferFrom` function
/// @param _from The address which previously owned the token
/// @param _tokenId The NFT identifier which is being transferred
/// @param _data Additional data with no specified format
/// @return `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`
/// unless throwing
function onERC721Received(
address _operator,
address _from,
uint256 _tokenId,
bytes calldata _data
)
external
returns(bytes4);
}
interface IERC165 {
function supportsInterface(bytes4 interfaceID) external view returns (bool);
}
/// @title ERC-165 Standard Interface Detection
/// @dev See https://eips.ethereum.org/EIPS/eip-165
contract ERC165 is IERC165 {
bytes4 private constant _INTERFACE_ID_ERC165 = 0x01ffc9a7;
mapping(bytes4 => bool) private _supportedInterfaces;
constructor () internal {
_registerInterface(_INTERFACE_ID_ERC165);
}
function supportsInterface(bytes4 interfaceId) external view returns (bool) {
return _supportedInterfaces[interfaceId];
}
function _registerInterface(bytes4 interfaceId) internal {
require(interfaceId != 0xffffffff, "ERC165: invalid interface id");
_supportedInterfaces[interfaceId] = true;
}
}
interface IERC173 /* is ERC165 */ {
/// @dev This emits when ownership of a contract changes.
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/// @notice Get the address of the owner
/// @return The address of the owner.
function owner() external view returns (address);
/// @notice Set the address of the new owner of the contract
/// @param _newOwner The address of the new owner of the contract
function transferOwnership(address _newOwner) external;
}
contract ERC173 is IERC173, ERC165 {
address private _owner;
constructor() public {
_registerInterface(0x7f5828d0);
_transferOwnership(msg.sender);
}
modifier onlyOwner() {
require(msg.sender == owner(), "Must be owner");
_;
}
function owner() public view returns (address) {
return _owner;
}
function transferOwnership(address _newOwner) public onlyOwner() {
_transferOwnership(_newOwner);
}
function _transferOwnership(address _newOwner) internal {
address previousOwner = owner();
_owner = _newOwner;
emit OwnershipTransferred(previousOwner, _newOwner);
}
}
contract ERC721Holder is IERC721TokenReceiver {
function onERC721Received(address, address, uint256, bytes memory) public returns (bytes4) {
return this.onERC721Received.selector;
}
}
contract Operatable is ERC173 {
using Roles for Roles.Role;
event OperatorAdded(address indexed account);
event OperatorRemoved(address indexed account);
event Paused(address account);
event Unpaused(address account);
bool private _paused;
Roles.Role private operators;
constructor() public {
operators.add(msg.sender);
_paused = false;
}
modifier onlyOperator() {
require(isOperator(msg.sender), "Must be operator");
_;
}
modifier whenNotPaused() {
require(!_paused, "Pausable: paused");
_;
}
modifier whenPaused() {
require(_paused, "Pausable: not paused");
_;
}
function transferOwnership(address _newOwner) public onlyOperator() {
_transferOwnership(_newOwner);
}
function isOperator(address account) public view returns (bool) {
return operators.has(account);
}
function addOperator(address account) public onlyOperator() {
operators.add(account);
emit OperatorAdded(account);
}
function removeOperator(address account) public onlyOperator() {
operators.remove(account);
emit OperatorRemoved(account);
}
function paused() public view returns (bool) {
return _paused;
}
function pause() public onlyOperator() whenNotPaused() {
_paused = true;
emit Paused(msg.sender);
}
function unpause() public onlyOperator() whenPaused() {
_paused = false;
emit Unpaused(msg.sender);
}
function withdrawEther() public onlyOperator() {
msg.sender.transfer(address(this).balance);
}
}
interface ICSPLCard {
function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable;
}
interface IERC721Mintable {
function exist(uint256 _tokenId) external view returns (bool);
function mint(address _owner, uint256 _tokenId) external;
function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable;
}
contract ERC721ConverterWithCSPLCard is IERC721Converter, ERC721Holder, Operatable {
ICSPLCard public Alice;
IERC721Mintable public Bob;
mapping (uint256 => uint256) private _idMapAliceToBob;
mapping (uint256 => uint256) private _idMapBobToAlice;
constructor() public {}
function updateAlice(address _newAlice) external onlyOperator() {
Alice = ICSPLCard(_newAlice);
}
function updateBob(address _newBob) external onlyOperator() {
Bob = IERC721Mintable(_newBob);
}
function draftAliceTokens(uint256[] memory _aliceTokenIds, uint256[] memory _bobTokenIds) public onlyOperator() {
require(_aliceTokenIds.length == _bobTokenIds.length);
for (uint256 i = 0; i < _aliceTokenIds.length; i++) {
draftAliceToken(_aliceTokenIds[i], _bobTokenIds[i]);
}
}
function draftBobTokens(uint256[] memory _bobTokenIds, uint256[] memory _aliceTokenIds) public onlyOperator() {
require(_aliceTokenIds.length == _bobTokenIds.length);
for (uint256 i = 0; i < _aliceTokenIds.length; i++) {
draftBobToken(_bobTokenIds[i], _aliceTokenIds[i]);
}
}
function draftAliceToken(uint256 _aliceTokenId, uint256 _bobTokenId) public onlyOperator() {
require(_idMapAliceToBob[_aliceTokenId] == 0, "_aliceTokenId is already assignd");
require(_idMapBobToAlice[_bobTokenId] == 0, "_bobTokenId is already assignd");
_idMapAliceToBob[_aliceTokenId] = _bobTokenId;
_idMapBobToAlice[_bobTokenId] = _aliceTokenId;
}
function draftBobToken(uint256 _bobTokenId, uint256 _aliceTokenId) public onlyOperator() {
require(_idMapBobToAlice[_bobTokenId] == 0, "_bobTokenId is already assignd");
require(_idMapAliceToBob[_aliceTokenId] == 0, "_aliceTokenId is already assignd");
_idMapBobToAlice[_bobTokenId] = _aliceTokenId;
_idMapAliceToBob[_aliceTokenId] = _bobTokenId;
}
function getBobTokenID(uint256 _aliceTokenId) public view returns(uint256) {
return _idMapAliceToBob[_aliceTokenId];
}
function getAliceTokenID(uint256 _bobTokenId) public view returns(uint256) {
return _idMapBobToAlice[_bobTokenId];
}
function convertFromAliceToBob(uint256 _tokenId) public whenNotPaused() {
Alice.safeTransferFrom(msg.sender, address(this), _tokenId);
uint256 convertTo = getBobTokenID(_tokenId);
if (Bob.exist(convertTo)) {
Bob.safeTransferFrom(address(this), msg.sender, convertTo);
} else {
Bob.mint(msg.sender, convertTo);
}
}
function convertFromBobToAlice(uint256 _tokenId) public whenNotPaused() {
Bob.safeTransferFrom(msg.sender, address(this), _tokenId);
uint256 convertTo = getAliceTokenID(_tokenId);
Alice.safeTransferFrom(address(this), msg.sender, convertTo);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"OperatorAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"OperatorRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"constant":true,"inputs":[],"name":"Alice","outputs":[{"internalType":"contract ICSPLCard","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"Bob","outputs":[{"internalType":"contract IERC721Mintable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"convertFromAliceToBob","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"convertFromBobToAlice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_aliceTokenId","type":"uint256"},{"internalType":"uint256","name":"_bobTokenId","type":"uint256"}],"name":"draftAliceToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256[]","name":"_aliceTokenIds","type":"uint256[]"},{"internalType":"uint256[]","name":"_bobTokenIds","type":"uint256[]"}],"name":"draftAliceTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_bobTokenId","type":"uint256"},{"internalType":"uint256","name":"_aliceTokenId","type":"uint256"}],"name":"draftBobToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256[]","name":"_bobTokenIds","type":"uint256[]"},{"internalType":"uint256[]","name":"_aliceTokenIds","type":"uint256[]"}],"name":"draftBobTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_bobTokenId","type":"uint256"}],"name":"getAliceTokenID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_aliceTokenId","type":"uint256"}],"name":"getBobTokenID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newAlice","type":"address"}],"name":"updateAlice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newBob","type":"address"}],"name":"updateBob","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60806040523480156200001157600080fd5b506200002a6301ffc9a760e01b6200008f60201b60201c565b62000042637f5828d060e01b6200008f60201b60201c565b62000053336200019860201b60201c565b6200006e3360026200024b60201b62001e951790919060201c565b6000600160146101000a81548160ff021916908315150217905550620003b2565b63ffffffff60e01b817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156200012c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4552433136353a20696e76616c696420696e746572666163652069640000000081525060200191505060405180910390fd5b6001600080837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000620001aa6200032f60201b60201c565b905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200025d82826200035960201b60201c565b15620002d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f726f6c6520616c72656164792068617320746865206163636f756e740000000081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61212a80620003c26000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80636f7c0e05116100c35780638da5cb5b1161007c5780638da5cb5b1461082c5780639870d7fe146108765780639877bdff146108ba578063ac8a584a14610904578063f2fde38b14610948578063ffe6722d1461098c5761014d565b80636f7c0e051461072c5780637362377b146107705780637debc2991461077a5780638456cb59146107bc5780638a23f03e146107c65780638cf0e507146107f45761014d565b80633bb0cc4e116101155780633bb0cc4e146104e05780633f4ba83a1461050e5780635c975abb146105185780635e0a21341461053a5780636d70f7ae146106865780636d877f91146106e25761014d565b806301ffc9a714610152578063150b7a02146101b75780632533796c1461030e578063320b84671461045a578063353f12121461049c575b600080fd5b61019d6004803603602081101561016857600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506109c4565b604051808215151515815260200191505060405180910390f35b6102ba600480360360808110156101cd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561023457600080fd5b82018360208201111561024657600080fd5b8035906020019184600183028401116401000000008311171561026857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610a2b565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b6104586004803603604081101561032457600080fd5b810190808035906020019064010000000081111561034157600080fd5b82018360208201111561035357600080fd5b8035906020019184602083028401116401000000008311171561037557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103d557600080fd5b8201836020820111156103e757600080fd5b8035906020019184602083028401116401000000008311171561040957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610a3f565b005b6104866004803603602081101561047057600080fd5b8101908080359060200190929190505050610b19565b6040518082815260200191505060405180910390f35b6104de600480360360208110156104b257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b36565b005b61050c600480360360208110156104f657600080fd5b8101908080359060200190929190505050610bf5565b005b610516610e73565b005b610520610ff0565b604051808215151515815260200191505060405180910390f35b6106846004803603604081101561055057600080fd5b810190808035906020019064010000000081111561056d57600080fd5b82018360208201111561057f57600080fd5b803590602001918460208302840111640100000000831117156105a157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561060157600080fd5b82018360208201111561061357600080fd5b8035906020019184602083028401116401000000008311171561063557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611007565b005b6106c86004803603602081101561069c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110e1565b604051808215151515815260200191505060405180910390f35b6106ea6110fe565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61076e6004803603602081101561074257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611124565b005b6107786111e3565b005b6107a66004803603602081101561079057600080fd5b81019080803590602001909291905050506112a7565b6040518082815260200191505060405180910390f35b6107c46112c4565b005b6107f2600480360360208110156107dc57600080fd5b8101908080359060200190929190505050611441565b005b61082a6004803603604081101561080a57600080fd5b810190808035906020019092919080359060200190929190505050611839565b005b6108346119fa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108b86004803603602081101561088c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a24565b005b6108c2611af9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109466004803603602081101561091a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b1f565b005b61098a6004803603602081101561095e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bf4565b005b6109c2600480360360408110156109a257600080fd5b810190808035906020019092919080359060200190929190505050611c7b565b005b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b600063150b7a0260e01b9050949350505050565b610a48336110e1565b610aba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b8051825114610ac857600080fd5b60008090505b8251811015610b1457610b07838281518110610ae657fe5b6020026020010151838381518110610afa57fe5b6020026020010151611c7b565b8080600101915050610ace565b505050565b600060066000838152602001908152602001600020549050919050565b610b3f336110e1565b610bb1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160149054906101000a900460ff1615610c78576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015610d5557600080fd5b505af1158015610d69573d6000803e3d6000fd5b505050506000610d7882610b19565b9050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3033846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015610e5757600080fd5b505af1158015610e6b573d6000803e3d6000fd5b505050505050565b610e7c336110e1565b610eee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b600160149054906101000a900460ff16610f70576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b6000600160146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600160149054906101000a900460ff16905090565b611010336110e1565b611082576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b815181511461109057600080fd5b60008090505b81518110156110dc576110cf8382815181106110ae57fe5b60200260200101518383815181106110c257fe5b6020026020010151611839565b8080600101915050611096565b505050565b60006110f7826002611e3c90919063ffffffff16565b9050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61112d336110e1565b61119f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6111ec336110e1565b61125e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156112a4573d6000803e3d6000fd5b50565b600060056000838152602001908152602001600020549050919050565b6112cd336110e1565b61133f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b600160149054906101000a900460ff16156113c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b60018060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b600160149054906101000a900460ff16156114c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156115a157600080fd5b505af11580156115b5573d6000803e3d6000fd5b5050505060006115c4826112a7565b9050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634ebbc92a826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561163957600080fd5b505afa15801561164d573d6000803e3d6000fd5b505050506040513d602081101561166357600080fd5b81019080805190602001909291905050501561177357600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3033846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b15801561175657600080fd5b505af115801561176a573d6000803e3d6000fd5b50505050611835565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561181c57600080fd5b505af1158015611830573d6000803e3d6000fd5b505050505b5050565b611842336110e1565b6118b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b600060066000848152602001908152602001600020541461193d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f5f626f62546f6b656e496420697320616c72656164792061737369676e64000081525060200191505060405180910390fd5b60006005600083815260200190815260200160002054146119c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5f616c696365546f6b656e496420697320616c72656164792061737369676e6481525060200191505060405180910390fd5b8060066000848152602001908152602001600020819055508160056000838152602001908152602001600020819055505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611a2d336110e1565b611a9f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b611ab3816002611e9590919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d60405160405180910390a250565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611b28336110e1565b611b9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b611bae816002611f7090919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f80c0b871b97b595b16a7741c1b06fed0c6f6f558639f18ccbce50724325dc40d60405160405180910390a250565b611bfd336110e1565b611c6f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b611c788161204a565b50565b611c84336110e1565b611cf6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b6000600560008481526020019081526020016000205414611d7f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5f616c696365546f6b656e496420697320616c72656164792061737369676e6481525060200191505060405180910390fd5b6000600660008381526020019081526020016000205414611e08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f5f626f62546f6b656e496420697320616c72656164792061737369676e64000081525060200191505060405180910390fd5b8060056000848152602001908152602001600020819055508160066000838152602001908152602001600020819055505050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611e9f8282611e3c565b15611f12576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f726f6c6520616c72656164792068617320746865206163636f756e740000000081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611f7a8282611e3c565b611fec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f726f6c6520646f73656e2774206861766520746865206163636f756e7400000081525060200191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006120546119fa565b905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505056fea265627a7a72315820ba630b54e384264562f78a749b51546e1b72fdefa5c0848db0027f8d3921067764736f6c63430005100032
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061014d5760003560e01c80636f7c0e05116100c35780638da5cb5b1161007c5780638da5cb5b1461082c5780639870d7fe146108765780639877bdff146108ba578063ac8a584a14610904578063f2fde38b14610948578063ffe6722d1461098c5761014d565b80636f7c0e051461072c5780637362377b146107705780637debc2991461077a5780638456cb59146107bc5780638a23f03e146107c65780638cf0e507146107f45761014d565b80633bb0cc4e116101155780633bb0cc4e146104e05780633f4ba83a1461050e5780635c975abb146105185780635e0a21341461053a5780636d70f7ae146106865780636d877f91146106e25761014d565b806301ffc9a714610152578063150b7a02146101b75780632533796c1461030e578063320b84671461045a578063353f12121461049c575b600080fd5b61019d6004803603602081101561016857600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506109c4565b604051808215151515815260200191505060405180910390f35b6102ba600480360360808110156101cd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561023457600080fd5b82018360208201111561024657600080fd5b8035906020019184600183028401116401000000008311171561026857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610a2b565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b6104586004803603604081101561032457600080fd5b810190808035906020019064010000000081111561034157600080fd5b82018360208201111561035357600080fd5b8035906020019184602083028401116401000000008311171561037557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103d557600080fd5b8201836020820111156103e757600080fd5b8035906020019184602083028401116401000000008311171561040957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610a3f565b005b6104866004803603602081101561047057600080fd5b8101908080359060200190929190505050610b19565b6040518082815260200191505060405180910390f35b6104de600480360360208110156104b257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b36565b005b61050c600480360360208110156104f657600080fd5b8101908080359060200190929190505050610bf5565b005b610516610e73565b005b610520610ff0565b604051808215151515815260200191505060405180910390f35b6106846004803603604081101561055057600080fd5b810190808035906020019064010000000081111561056d57600080fd5b82018360208201111561057f57600080fd5b803590602001918460208302840111640100000000831117156105a157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561060157600080fd5b82018360208201111561061357600080fd5b8035906020019184602083028401116401000000008311171561063557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611007565b005b6106c86004803603602081101561069c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110e1565b604051808215151515815260200191505060405180910390f35b6106ea6110fe565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61076e6004803603602081101561074257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611124565b005b6107786111e3565b005b6107a66004803603602081101561079057600080fd5b81019080803590602001909291905050506112a7565b6040518082815260200191505060405180910390f35b6107c46112c4565b005b6107f2600480360360208110156107dc57600080fd5b8101908080359060200190929190505050611441565b005b61082a6004803603604081101561080a57600080fd5b810190808035906020019092919080359060200190929190505050611839565b005b6108346119fa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108b86004803603602081101561088c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a24565b005b6108c2611af9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109466004803603602081101561091a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b1f565b005b61098a6004803603602081101561095e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bf4565b005b6109c2600480360360408110156109a257600080fd5b810190808035906020019092919080359060200190929190505050611c7b565b005b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b600063150b7a0260e01b9050949350505050565b610a48336110e1565b610aba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b8051825114610ac857600080fd5b60008090505b8251811015610b1457610b07838281518110610ae657fe5b6020026020010151838381518110610afa57fe5b6020026020010151611c7b565b8080600101915050610ace565b505050565b600060066000838152602001908152602001600020549050919050565b610b3f336110e1565b610bb1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160149054906101000a900460ff1615610c78576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015610d5557600080fd5b505af1158015610d69573d6000803e3d6000fd5b505050506000610d7882610b19565b9050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3033846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015610e5757600080fd5b505af1158015610e6b573d6000803e3d6000fd5b505050505050565b610e7c336110e1565b610eee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b600160149054906101000a900460ff16610f70576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b6000600160146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600160149054906101000a900460ff16905090565b611010336110e1565b611082576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b815181511461109057600080fd5b60008090505b81518110156110dc576110cf8382815181106110ae57fe5b60200260200101518383815181106110c257fe5b6020026020010151611839565b8080600101915050611096565b505050565b60006110f7826002611e3c90919063ffffffff16565b9050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61112d336110e1565b61119f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6111ec336110e1565b61125e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156112a4573d6000803e3d6000fd5b50565b600060056000838152602001908152602001600020549050919050565b6112cd336110e1565b61133f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b600160149054906101000a900460ff16156113c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b60018060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b600160149054906101000a900460ff16156114c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156115a157600080fd5b505af11580156115b5573d6000803e3d6000fd5b5050505060006115c4826112a7565b9050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634ebbc92a826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561163957600080fd5b505afa15801561164d573d6000803e3d6000fd5b505050506040513d602081101561166357600080fd5b81019080805190602001909291905050501561177357600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3033846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b15801561175657600080fd5b505af115801561176a573d6000803e3d6000fd5b50505050611835565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561181c57600080fd5b505af1158015611830573d6000803e3d6000fd5b505050505b5050565b611842336110e1565b6118b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b600060066000848152602001908152602001600020541461193d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f5f626f62546f6b656e496420697320616c72656164792061737369676e64000081525060200191505060405180910390fd5b60006005600083815260200190815260200160002054146119c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5f616c696365546f6b656e496420697320616c72656164792061737369676e6481525060200191505060405180910390fd5b8060066000848152602001908152602001600020819055508160056000838152602001908152602001600020819055505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611a2d336110e1565b611a9f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b611ab3816002611e9590919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d60405160405180910390a250565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611b28336110e1565b611b9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b611bae816002611f7090919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f80c0b871b97b595b16a7741c1b06fed0c6f6f558639f18ccbce50724325dc40d60405160405180910390a250565b611bfd336110e1565b611c6f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b611c788161204a565b50565b611c84336110e1565b611cf6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d757374206265206f70657261746f720000000000000000000000000000000081525060200191505060405180910390fd5b6000600560008481526020019081526020016000205414611d7f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5f616c696365546f6b656e496420697320616c72656164792061737369676e6481525060200191505060405180910390fd5b6000600660008381526020019081526020016000205414611e08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f5f626f62546f6b656e496420697320616c72656164792061737369676e64000081525060200191505060405180910390fd5b8060056000848152602001908152602001600020819055508160066000838152602001908152602001600020819055505050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611e9f8282611e3c565b15611f12576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f726f6c6520616c72656164792068617320746865206163636f756e740000000081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611f7a8282611e3c565b611fec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f726f6c6520646f73656e2774206861766520746865206163636f756e7400000081525060200191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006120546119fa565b905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505056fea265627a7a72315820ba630b54e384264562f78a749b51546e1b72fdefa5c0848db0027f8d3921067764736f6c63430005100032
Deployed Bytecode Sourcemap
6586:2960:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6586:2960:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2663:135;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2663:135:0;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4305:147;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;4305:147:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4305:147:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4305:147:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;4305:147:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;4305:147:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;7129:324;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7129:324:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7129:324:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7129:324:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;7129:324:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7129:324:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7129:324:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7129:324:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;7129:324:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7129:324:0;;;;;;;;;;;;;;;:::i;:::-;;8729:130;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8729:130:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6893:111;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6893:111:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;9266:277;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9266:277:0;;;;;;;;;;;;;;;;;:::i;:::-;;5954:124;;;:::i;:::-;;5738:78;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7461:320;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7461:320:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7461:320:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7461:320:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;7461:320:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7461:320:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7461:320:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7461:320:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;7461:320:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7461:320:0;;;;;;;;;;;;;;;:::i;:::-;;5316:112;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5316:112:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6705:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7012:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7012:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6086:108;;;:::i;:::-;;8589:132;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8589:132:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5824:122;;;:::i;:::-;;8867:391;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8867:391:0;;;;;;;;;;;;;;;;;:::i;:::-;;8190;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8190:391:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3847:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5436:139;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5436:139:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6676:22;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5583:147;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5583:147:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5192:116;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5192:116:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;7789:393;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7789:393:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2663:135;2733:4;2757:20;:33;2778:11;2757:33;;;;;;;;;;;;;;;;;;;;;;;;;;;2750:40;;2663:135;;;:::o;4305:147::-;4388:6;4414:30;;;4407:37;;4305:147;;;;;;:::o;7129:324::-;4919:22;4930:10;4919;:22::i;:::-;4911:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7285:12;:19;7260:14;:21;:44;7252:53;;;;;;7321:9;7333:1;7321:13;;7316:130;7340:14;:21;7336:1;:25;7316:130;;;7383:51;7399:14;7414:1;7399:17;;;;;;;;;;;;;;7418:12;7431:1;7418:15;;;;;;;;;;;;;;7383;:51::i;:::-;7363:3;;;;;;;7316:130;;;;7129:324;;:::o;8729:130::-;8795:7;8822:16;:29;8839:11;8822:29;;;;;;;;;;;;8815:36;;8729:130;;;:::o;6893:111::-;4919:22;4930:10;4919;:22::i;:::-;4911:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6986:9;6968:5;;:28;;;;;;;;;;;;;;;;;;6893:111;:::o;9266:277::-;5035:7;;;;;;;;;;;5034:8;5026:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9349:3;;;;;;;;;;;:20;;;9370:10;9390:4;9397:8;9349:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9349:57:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9349:57:0;;;;9419:17;9439:25;9455:8;9439:15;:25::i;:::-;9419:45;;9475:5;;;;;;;;;;;:22;;;9506:4;9513:10;9525:9;9475:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9475:60:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9475:60:0;;;;5074:1;9266:277;:::o;5954:124::-;4919:22;4930:10;4919;:22::i;:::-;4911:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5132:7;;;;;;;;;;;5124:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6029:5;6019:7;;:15;;;;;;;;;;;;;;;;;;6050:20;6059:10;6050:20;;;;;;;;;;;;;;;;;;;;;;5954:124::o;5738:78::-;5777:4;5801:7;;;;;;;;;;;5794:14;;5738:78;:::o;7461:320::-;4919:22;4930:10;4919;:22::i;:::-;4911:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7615:12;:19;7590:14;:21;:44;7582:53;;;;;;7651:9;7663:1;7651:13;;7646:128;7670:14;:21;7666:1;:25;7646:128;;;7713:49;7727:12;7740:1;7727:15;;;;;;;;;;;;;;7744:14;7759:1;7744:17;;;;;;;;;;;;;;7713:13;:49::i;:::-;7693:3;;;;;;;7646:128;;;;7461:320;;:::o;5316:112::-;5374:4;5398:22;5412:7;5398:9;:13;;:22;;;;:::i;:::-;5391:29;;5316:112;;;:::o;6705:26::-;;;;;;;;;;;;;:::o;7012:109::-;4919:22;4930:10;4919;:22::i;:::-;4911:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7105:7;7083:3;;:30;;;;;;;;;;;;;;;;;;7012:109;:::o;6086:108::-;4919:22;4930:10;4919;:22::i;:::-;4911:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6144:10;:19;;:42;6164:21;6144:42;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6144:42:0;6086:108::o;8589:132::-;8655:7;8682:16;:31;8699:13;8682:31;;;;;;;;;;;;8675:38;;8589:132;;;:::o;5824:122::-;4919:22;4930:10;4919;:22::i;:::-;4911:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5035:7;;;;;;;;;;;5034:8;5026:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5900:4;5890:7;;:14;;;;;;;;;;;;;;;;;;5920:18;5927:10;5920:18;;;;;;;;;;;;;;;;;;;;;;5824:122::o;8867:391::-;5035:7;;;;;;;;;;;5034:8;5026:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8950:5;;;;;;;;;;;:22;;;8973:10;8993:4;9000:8;8950:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8950:59:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8950:59:0;;;;9022:17;9042:23;9056:8;9042:13;:23::i;:::-;9022:43;;9080:3;;;;;;;;;;;:9;;;9090;9080:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9080:20:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9080:20:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9080:20:0;;;;;;;;;;;;;;;;9076:175;;;9117:3;;;;;;;;;;;:20;;;9146:4;9153:10;9165:9;9117:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9117:58:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9117:58:0;;;;9076:175;;;9208:3;;;;;;;;;;;:8;;;9217:10;9229:9;9208:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9208:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9208:31:0;;;;9076:175;5074:1;8867:391;:::o;8190:::-;4919:22;4930:10;4919;:22::i;:::-;4911:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8331:1;8298:16;:29;8315:11;8298:29;;;;;;;;;;;;:34;8290:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8421:1;8386:16;:31;8403:13;8386:31;;;;;;;;;;;;:36;8378:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8504:13;8472:16;:29;8489:11;8472:29;;;;;;;;;;;:45;;;;8562:11;8528:16;:31;8545:13;8528:31;;;;;;;;;;;:45;;;;8190:391;;:::o;3847:79::-;3885:7;3912:6;;;;;;;;;;;3905:13;;3847:79;:::o;5436:139::-;4919:22;4930:10;4919;:22::i;:::-;4911:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5507:22;5521:7;5507:9;:13;;:22;;;;:::i;:::-;5559:7;5545:22;;;;;;;;;;;;5436:139;:::o;6676:22::-;;;;;;;;;;;;;:::o;5583:147::-;4919:22;4930:10;4919;:22::i;:::-;4911:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5657:25;5674:7;5657:9;:16;;:25;;;;:::i;:::-;5714:7;5698:24;;;;;;;;;;;;5583:147;:::o;5192:116::-;4919:22;4930:10;4919;:22::i;:::-;4911:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5271:29;5290:9;5271:18;:29::i;:::-;5192:116;:::o;7789:393::-;4919:22;4930:10;4919;:22::i;:::-;4911:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7934:1;7899:16;:31;7916:13;7899:31;;;;;;;;;;;;:36;7891:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8024:1;7991:16;:29;8008:11;7991:29;;;;;;;;;;;;:34;7983:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8107:11;8073:16;:31;8090:13;8073:31;;;;;;;;;;;:45;;;;8161:13;8129:16;:29;8146:11;8129:29;;;;;;;;;;;:45;;;;7789:393;;:::o;1064:124::-;1136:4;1160;:11;;:20;1172:7;1160:20;;;;;;;;;;;;;;;;;;;;;;;;;1153:27;;1064:124;;;;:::o;694:175::-;772:18;776:4;782:7;772:3;:18::i;:::-;771:19;763:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;857:4;834;:11;;:20;846:7;834:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;694:175;;:::o;877:179::-;957:18;961:4;967:7;957:3;:18::i;:::-;949:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1043:5;1020:4;:11;;:20;1032:7;1020:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;877:179;;:::o;4055:190::-;4122:21;4146:7;:5;:7::i;:::-;4122:31;;4166:9;4157:6;;:18;;;;;;;;;;;;;;;;;;4227:9;4191:46;;4212:13;4191:46;;;;;;;;;;;;4055:190;;:::o
Swarm Source
bzzr://ba630b54e384264562f78a749b51546e1b72fdefa5c0848db0027f8d39210677
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 34 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.