Contract Overview
Balance:
0 CELO
CELO Value:
$0.00
My Name Tag:
Not Available, login to update
Txn Hash | Method |
Block
|
From
|
To
|
Value | [Txn Fee] | |||
---|---|---|---|---|---|---|---|---|---|
0x0e77523993a5f4aca1eb62d43e23e9a6652fea9813670677e4a4d69edf85c5dd | 0x60a06040 | 14196042 | 317 days 9 hrs ago | 0x03851f30cc29d86ee87a492f037b16642838a357 | IN | Create: LAN | 0 CELO | 0.0005980905 |
[ Download CSV Export ]
Contract Name:
LAN
Compiler Version
v0.8.15+commit.e14f2714
Contract Source Code (Solidity)
/** *Submitted for verification at celoscan.io on 2022-07-24 */ // File: @openzeppelin/contracts/utils/introspection/IERC165.sol // OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC165 standard, as defined in the * https://eips.ethereum.org/EIPS/eip-165[EIP]. * * Implementers can declare support of contract interfaces, which can then be * queried by others ({ERC165Checker}). * * For an implementation, see {ERC165}. */ interface IERC165 { /** * @dev Returns true if this contract implements the interface defined by * `interfaceId`. See the corresponding * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] * to learn more about how these ids are created. * * This function call must use less than 30 000 gas. */ function supportsInterface(bytes4 interfaceId) external view returns (bool); } // File: @openzeppelin/contracts/token/ERC721/IERC721.sol // OpenZeppelin Contracts (last updated v4.7.0) (token/ERC721/IERC721.sol) pragma solidity ^0.8.0; /** * @dev Required interface of an ERC721 compliant contract. */ interface IERC721 is IERC165 { /** * @dev Emitted when `tokenId` token is transferred from `from` to `to`. */ event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token. */ event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets. */ event ApprovalForAll(address indexed owner, address indexed operator, bool approved); /** * @dev Returns the number of tokens in ``owner``'s account. */ function balanceOf(address owner) external view returns (uint256 balance); /** * @dev Returns the owner of the `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function ownerOf(uint256 tokenId) external view returns (address owner); /** * @dev Safely transfers `tokenId` token from `from` to `to`. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom( address from, address to, uint256 tokenId, bytes calldata data ) external; /** * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients * are aware of the ERC721 protocol to prevent tokens from being forever locked. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom( address from, address to, uint256 tokenId ) external; /** * @dev Transfers `tokenId` token from `from` to `to`. * * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 tokenId ) external; /** * @dev Gives permission to `to` to transfer `tokenId` token to another account. * The approval is cleared when the token is transferred. * * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * * Requirements: * * - The caller must own the token or be an approved operator. * - `tokenId` must exist. * * Emits an {Approval} event. */ function approve(address to, uint256 tokenId) external; /** * @dev Approve or remove `operator` as an operator for the caller. * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. * * Requirements: * * - The `operator` cannot be the caller. * * Emits an {ApprovalForAll} event. */ function setApprovalForAll(address operator, bool _approved) external; /** * @dev Returns the account approved for `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function getApproved(uint256 tokenId) external view returns (address operator); /** * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`. * * See {setApprovalForAll} */ function isApprovedForAll(address owner, address operator) external view returns (bool); } // File: @openzeppelin/contracts/token/ERC20/IERC20.sol // OpenZeppelin Contracts v4.4.0 (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } // File: hackathon.sol pragma solidity ^0.8.15; contract LAN{ event newPool( uint256 indexed poolId, address collectionAddress, uint256 nftId ); event newBid( uint256 indexed bidAmount, address user, uint256 indexed bidNum ); event sold(address newOwner, uint256 bidAmount); event auctionCancelled(uint256 Id); uint256 public count; struct Auction { address owner; address collectionAddress; uint256 nftId; uint256 startTime; uint256 endTime; uint256 reward; uint256 numBids; uint256 totalPoints; } mapping(uint256 => Auction) public auctions; struct Bid { uint256 bidTime; uint256 bidAmount; address user; uint256 points; bool withdrawn; } mapping(uint256 => mapping(uint256 => Bid)) public bids; //1st arg is for auction #, 2nd is bid # IERC20 public immutable Token; //token to denominate all activity constructor(address _token) { Token = IERC20(_token); } function launch(address _collectionAddress, uint256 _nftId, uint256 _startTime, uint256 _endTime, uint256 _reward) public { require(_startTime >= block.timestamp, "LAN: start time in past"); require(_endTime > _startTime, "LAN: start after end"); Token.transferFrom(msg.sender, address(this), _reward); auctions[count] = Auction({ owner: msg.sender, collectionAddress: _collectionAddress, nftId: _nftId, endTime: _endTime, startTime: _startTime, reward: _reward, numBids: 0, totalPoints: 0 }); bids[count][0] = Bid({ bidTime: block.timestamp, bidAmount: 0, user: msg.sender, points: 0, withdrawn: false }); emit newPool(count, _collectionAddress, _nftId); count++; } //cancel if auction hasn't started yet function cancel(uint256 _poolId) external { require(auctions[_poolId].owner == msg.sender, "LAN: not owner"); require(auctions[_poolId].startTime < block.timestamp, "LAN: already started"); delete auctions[_poolId]; emit auctionCancelled(_poolId); } function bid(uint256 _poolId, uint256 _amount) external { require(auctions[_poolId].startTime <= block.timestamp, "LAN: not started"); require(auctions[_poolId].endTime > block.timestamp, "LAN: already ended"); uint256 numBids = auctions[_poolId].numBids + 1; auctions[_poolId].numBids = numBids; require(_amount > bids[_poolId][numBids-1].bidAmount, "LAN: bid not higher"); Token.transferFrom(msg.sender, address(this), _amount); //record data bids[_poolId][numBids] = Bid({ bidTime: block.timestamp, bidAmount: _amount, user: msg.sender, points: 0, //will be calculated on next bid or _finalize withdrawn: false }); //calculate points for previous bidder uint256 durationOfLastBid = block.timestamp - bids[_poolId][numBids-1].bidTime; uint256 points = durationOfLastBid * bids[_poolId][numBids-1].bidAmount; bids[_poolId][numBids-1].points = points; auctions[_poolId].totalPoints += points; emit newBid(_amount, msg.sender, numBids); } function withdrawDeposit(uint256 _poolId, uint256 _bidNum) external { require(bids[_poolId][_bidNum].user == msg.sender, "LAN: not the bidder"); if(bids[_poolId][_bidNum+1].user == address(0)){ //you are the highest bidder, can only withdraw if owner does not accept bid 24 hrs after deadline require(auctions[_poolId].endTime + 24 hours <= block.timestamp, "LAN: you are the highest bidder!"); } require(!bids[_poolId][_bidNum].withdrawn, "LAN: already withdrawn"); uint256 bidAmount = bids[_poolId][_bidNum].bidAmount; bids[_poolId][_bidNum].withdrawn = true; Token.transfer(msg.sender, bidAmount); } function claimReward(uint256 _poolId, uint256 _bidNum) external { require(bids[_poolId][_bidNum].user == msg.sender, "LAN: not the bidder"); if(!_isFinalized(_poolId)){ _finalize(_poolId); } uint256 points = bids[_poolId][_bidNum].points; require(points != 0, "LAN: already claimed"); uint256 totalReward = auctions[_poolId].reward; uint256 totalPoints = auctions[_poolId].totalPoints; //calculate reward uint256 reward = totalReward*points/totalPoints; bids[_poolId][_bidNum].points = 0; Token.transfer(msg.sender, reward); } //trigger the last bid standing if the owner decides to function acceptBid(uint256 _poolId) external { require(auctions[_poolId].owner == msg.sender, "LAN: not owner"); uint256 endTime = auctions[_poolId].endTime; require(endTime <= block.timestamp, "LAN: auction not ended"); require(endTime + 24 hours > block.timestamp, "LAN: offer expired"); uint256 numBids = auctions[_poolId].numBids; require(!bids[_poolId][numBids].withdrawn, "LAN: offer already previously accepted"); //transfer NFT IERC721 NFT = IERC721(auctions[_poolId].collectionAddress); address newOwner = bids[_poolId][numBids].user; NFT.safeTransferFrom(msg.sender, newOwner, auctions[_poolId].nftId); //withdraw token uint256 bidAmount = bids[_poolId][numBids].bidAmount; bids[_poolId][numBids].withdrawn = true; Token.transfer(msg.sender, bidAmount); emit sold(newOwner, bidAmount); } //checks if the last bidder has points (aka has finalized been called) function _isFinalized(uint256 _poolId) internal view returns (bool){ uint256 numBids = auctions[_poolId].numBids; return (bids[_poolId][numBids].points != 0); } function _finalize(uint256 _poolId) internal { uint256 endTime = auctions[_poolId].endTime; require(endTime <= block.timestamp, "LAN: auction not ended"); uint256 numBids = auctions[_poolId].numBids; //calculate points for last bidder uint256 durationOfLastBid = endTime - bids[_poolId][numBids].bidTime; uint256 points = durationOfLastBid * bids[_poolId][numBids].bidAmount; bids[_poolId][numBids].points = points; auctions[_poolId].totalPoints += points; } }
[{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"Id","type":"uint256"}],"name":"auctionCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"bidAmount","type":"uint256"},{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"bidNum","type":"uint256"}],"name":"newBid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"poolId","type":"uint256"},{"indexed":false,"internalType":"address","name":"collectionAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"nftId","type":"uint256"}],"name":"newPool","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"},{"indexed":false,"internalType":"uint256","name":"bidAmount","type":"uint256"}],"name":"sold","type":"event"},{"inputs":[],"name":"Token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"name":"acceptBid","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"auctions","outputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"collectionAddress","type":"address"},{"internalType":"uint256","name":"nftId","type":"uint256"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256","name":"reward","type":"uint256"},{"internalType":"uint256","name":"numBids","type":"uint256"},{"internalType":"uint256","name":"totalPoints","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"bid","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"bids","outputs":[{"internalType":"uint256","name":"bidTime","type":"uint256"},{"internalType":"uint256","name":"bidAmount","type":"uint256"},{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"points","type":"uint256"},{"internalType":"bool","name":"withdrawn","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"name":"cancel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"uint256","name":"_bidNum","type":"uint256"}],"name":"claimReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"count","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_collectionAddress","type":"address"},{"internalType":"uint256","name":"_nftId","type":"uint256"},{"internalType":"uint256","name":"_startTime","type":"uint256"},{"internalType":"uint256","name":"_endTime","type":"uint256"},{"internalType":"uint256","name":"_reward","type":"uint256"}],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"uint256","name":"_bidNum","type":"uint256"}],"name":"withdrawDeposit","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60a060405234801561001057600080fd5b5060405161155938038061155983398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516114ab6100ae60003960008181610268015281816105230152818161088401528181610bff01528181610d3501526111a201526114ab6000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80637b3c4baa116100665780637b3c4baa146101a057806386bb8f371461022a57806397a5fa601461023d578063bae04c9a14610250578063c24126761461026357600080fd5b806306661abd146100a35780632b1fd58a146100bf57806340e58ee5146100d4578063571a26a0146100e7578063598647f81461018d575b600080fd5b6100ac60005481565b6040519081526020015b60405180910390f35b6100d26100cd366004611322565b6102a2565b005b6100d26100e2366004611322565b6105e3565b6101476100f5366004611322565b6001602081905260009182526040909120805491810154600282015460038301546004840154600585015460068601546007909601546001600160a01b03978816979095169593949293919290919088565b604080516001600160a01b03998a168152989097166020890152958701949094526060860192909252608085015260a084015260c083015260e0820152610100016100b6565b6100d261019b36600461133b565b61071b565b6101f26101ae36600461133b565b60026020818152600093845260408085209091529183529120805460018201549282015460038301546004909301549193926001600160a01b039091169160ff1685565b6040805195865260208601949094526001600160a01b039092169284019290925260608301919091521515608082015260a0016100b6565b6100d261023836600461133b565b610a8f565b6100d261024b36600461135d565b610c7d565b6100d261025e36600461133b565b610fd9565b61028a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100b6565b6000818152600160205260409020546001600160a01b031633146102fe5760405162461bcd60e51b815260206004820152600e60248201526d2620a71d103737ba1037bbb732b960911b60448201526064015b60405180910390fd5b600081815260016020526040902060040154428111156103595760405162461bcd60e51b81526020600482015260166024820152751310538e88185d58dd1a5bdb881b9bdd08195b99195960521b60448201526064016102f5565b4261036782620151806113c3565b116103a95760405162461bcd60e51b81526020600482015260126024820152711310538e881bd999995c88195e1c1a5c995960721b60448201526064016102f5565b600082815260016020908152604080832060060154600283528184208185529092529091206004015460ff16156104315760405162461bcd60e51b815260206004820152602660248201527f4c414e3a206f6666657220616c72656164792070726576696f75736c7920616360448201526518d95c1d195960d21b60648201526084016102f5565b60008381526001602081815260408084208084015460028085528387208888528552838720810154968a90529490935292909201549151632142170760e11b81523360048201526001600160a01b0393841660248201819052604482019390935292169182906342842e0e90606401600060405180830381600087803b1580156104ba57600080fd5b505af11580156104ce573d6000803e3d6000fd5b5050506000868152600260209081526040808320878452909152908190206001808201546004928301805460ff1916909217909155915163a9059cbb60e01b81523391810191909152602481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015610574573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059891906113db565b50604080516001600160a01b0384168152602081018390527f5b0833cc9b85dfe4167c39867467dbdef9a05060318b433fd5759b5dca79ba7f910160405180910390a1505050505050565b6000818152600160205260409020546001600160a01b0316331461063a5760405162461bcd60e51b815260206004820152600e60248201526d2620a71d103737ba1037bbb732b960911b60448201526064016102f5565b60008181526001602052604090206003015442116106915760405162461bcd60e51b81526020600482015260146024820152731310538e88185b1c9958591e481cdd185c9d195960621b60448201526064016102f5565b600081815260016020818152604080842080546001600160a01b0319908116825593810180549094169093556002830184905560038301849055600483018490556005830184905560068301849055600790920192909255518281527fb866bb4b98ba3ad2786d5bd9dcd02c04a144c9c26865420cac31d6550061ef42910160405180910390a150565b60008281526001602052604090206003015442101561076f5760405162461bcd60e51b815260206004820152601060248201526f1310538e881b9bdd081cdd185c9d195960821b60448201526064016102f5565b60008281526001602052604090206004015442106107c45760405162461bcd60e51b81526020600482015260126024820152711310538e88185b1c9958591e48195b99195960721b60448201526064016102f5565b60008281526001602081905260408220600601546107e1916113c3565b60008481526001602081815260408084206006018590556002909152822092935061080c9084611404565b81526020019081526020016000206001015482116108625760405162461bcd60e51b81526020600482015260136024820152722620a71d103134b2103737ba103434b3b432b960691b60448201526064016102f5565b6040516323b872dd60e01b8152336004820152306024820152604481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303816000875af11580156108d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f991906113db565b506040805160a081018252428152602080820185815233838501908152600060608501818152608086018281528a835260028087528884208a8552808852988420975188559451600180890191909155935187860180546001600160a01b0319166001600160a01b0390921691909117905590516003870155516004909501805460ff1916951515959095179094558784529152909190829061099c9085611404565b81526020810191909152604001600020546109b79042611404565b600085815260026020526040812091925090816109d5600186611404565b815260200190815260200160002060010154826109f2919061141b565b6000868152600260205260408120919250829190610a11600187611404565b81526020019081526020016000206003018190555080600160008781526020019081526020016000206007016000828254610a4c91906113c3565b9091555050604051338152839085907f3b12f8d7f932112e3b44ce6818554fc407fd2327da61af5ecfd4f842c14a7bfb9060200160405180910390a35050505050565b600082815260026020818152604080842085855290915290912001546001600160a01b03163314610af85760405162461bcd60e51b81526020600482015260136024820152722620a71d103737ba103a3432903134b23232b960691b60448201526064016102f5565b60008281526001602090815260408083206006015460028352818420908452909152902060030154610b2d57610b2d8261121d565b600082815260026020908152604080832084845290915281206003015490819003610b915760405162461bcd60e51b81526020600482015260146024820152731310538e88185b1c9958591e4818db185a5b595960621b60448201526064016102f5565b60008381526001602052604081206005810154600790910154909181610bb7858561141b565b610bc1919061143a565b6000878152600260209081526040808320898452909152808220600301919091555163a9059cbb60e01b8152336004820152602481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015610c50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7491906113db565b50505050505050565b42831015610ccd5760405162461bcd60e51b815260206004820152601760248201527f4c414e3a2073746172742074696d6520696e207061737400000000000000000060448201526064016102f5565b828211610d135760405162461bcd60e51b81526020600482015260146024820152731310538e881cdd185c9d0818599d195c88195b9960621b60448201526064016102f5565b6040516323b872dd60e01b8152336004820152306024820152604481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303816000875af1158015610d86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610daa91906113db565b50604051806101000160405280336001600160a01b03168152602001866001600160a01b03168152602001858152602001848152602001838152602001828152602001600081526020016000815250600160008054815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e082015181600701559050506040518060a0016040528042815260200160008152602001336001600160a01b03168152602001600081526020016000151581525060026000805481526020019081526020016000206000808152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506060820151816003015560808201518160040160006101000a81548160ff0219169083151502179055509050506000547fef8b2952c43462575e82711d0cc91169720a4589a9fa533d173e022437f5405e8686604051610fb69291906001600160a01b03929092168252602082015260400190565b60405180910390a2600080549080610fcd8361145c565b91905055505050505050565b600082815260026020818152604080842085855290915290912001546001600160a01b031633146110425760405162461bcd60e51b81526020600482015260136024820152722620a71d103737ba103a3432903134b23232b960691b60448201526064016102f5565b60008281526002602052604081208161105c8460016113c3565b81526020810191909152604001600020600201546001600160a01b0316036110ed57600082815260016020526040902060040154429061109f90620151806113c3565b11156110ed5760405162461bcd60e51b815260206004820181905260248201527f4c414e3a20796f7520617265207468652068696768657374206269646465722160448201526064016102f5565b600082815260026020908152604080832084845290915290206004015460ff16156111535760405162461bcd60e51b81526020600482015260166024820152752620a71d1030b63932b0b23c903bb4ba34323930bbb760511b60448201526064016102f5565b6000828152600260209081526040808320848452909152908190206001808201546004928301805460ff1916909217909155915163a9059cbb60e01b81523391810191909152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303816000875af11580156111f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121791906113db565b50505050565b600081815260016020526040902060040154428111156112785760405162461bcd60e51b81526020600482015260166024820152751310538e88185d58dd1a5bdb881b9bdd08195b99195960521b60448201526064016102f5565b600082815260016020908152604080832060060154600283528184208185529092528220549091906112aa9084611404565b6000858152600260209081526040808320868452909152812060010154919250906112d5908361141b565b6000868152600260209081526040808320878452825280832060030184905588835260019091528120600701805492935083929091906113169084906113c3565b90915550505050505050565b60006020828403121561133457600080fd5b5035919050565b6000806040838503121561134e57600080fd5b50508035926020909101359150565b600080600080600060a0868803121561137557600080fd5b85356001600160a01b038116811461138c57600080fd5b97602087013597506040870135966060810135965060800135945092505050565b634e487b7160e01b600052601160045260246000fd5b600082198211156113d6576113d66113ad565b500190565b6000602082840312156113ed57600080fd5b815180151581146113fd57600080fd5b9392505050565b600082821015611416576114166113ad565b500390565b6000816000190483118215151615611435576114356113ad565b500290565b60008261145757634e487b7160e01b600052601260045260246000fd5b500490565b60006001820161146e5761146e6113ad565b506001019056fea2646970667358221220dab3e71109c5c909d25a1ef1fe34ef3030c8a0937e5ea9d79ac8fe67a802b15064736f6c634300080f003300000000000000000000000090ca507a5d4458a4c6c6249d186b6dcb02a5bccd
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000090ca507a5d4458a4c6c6249d186b6dcb02a5bccd
-----Decoded View---------------
Arg [0] : _token (address): 0x90ca507a5d4458a4c6c6249d186b6dcb02a5bccd
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000090ca507a5d4458a4c6c6249d186b6dcb02a5bccd
Deployed ByteCode Sourcemap
8747:6667:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9101:20;;;;;;;;;160:25:1;;;148:2;133:18;9101:20:0;;;;;;;;13666:937;;;;;;:::i;:::-;;:::i;:::-;;10810:290;;;;;;:::i;:::-;;:::i;9376:43::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9376:43:0;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;780:15:1;;;762:34;;832:15;;;;827:2;812:18;;805:43;864:18;;;857:34;;;;922:2;907:18;;900:34;;;;965:3;950:19;;943:35;742:3;994:19;;987:35;1053:3;1038:19;;1031:35;1097:3;1082:19;;1075:35;711:3;696:19;9376:43:0;381:735:1;11106:1142:0;;;;;;:::i;:::-;;:::i;9580:55::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9580:55:0;;;;;;;;;;;;1627:25:1;;;1683:2;1668:18;;1661:34;;;;-1:-1:-1;;;;;1731:32:1;;;1711:18;;;1704:60;;;;1795:2;1780:18;;1773:34;;;;1851:14;1844:22;1838:3;1823:19;;1816:51;1614:3;1599:19;9580:55:0;1374:499:1;12956:643:0;;;;;;:::i;:::-;;:::i;9833:921::-;;;;;;:::i;:::-;;:::i;12254:696::-;;;;;;:::i;:::-;;:::i;9685:29::-;;;;;;;;-1:-1:-1;;;;;2621:32:1;;;2603:51;;2591:2;2576:18;9685:29:0;2443:217:1;13666:937:0;13730:17;;;;:8;:17;;;;;:23;-1:-1:-1;;;;;13730:23:0;13757:10;13730:37;13722:64;;;;-1:-1:-1;;;13722:64:0;;2867:2:1;13722:64:0;;;2849:21:1;2906:2;2886:18;;;2879:30;-1:-1:-1;;;2925:18:1;;;2918:44;2979:18;;13722:64:0;;;;;;;;;13797:15;13815:17;;;:8;:17;;;;;:25;;;13870:15;13859:26;;;13851:61;;;;-1:-1:-1;;;13851:61:0;;3210:2:1;13851:61:0;;;3192:21:1;3249:2;3229:18;;;3222:30;-1:-1:-1;;;3268:18:1;;;3261:52;3330:18;;13851:61:0;3008:346:1;13851:61:0;13952:15;13931:18;:7;13941:8;13931:18;:::i;:::-;:36;13923:67;;;;-1:-1:-1;;;13923:67:0;;3826:2:1;13923:67:0;;;3808:21:1;3865:2;3845:18;;;3838:30;-1:-1:-1;;;3884:18:1;;;3877:48;3942:18;;13923:67:0;3624:342:1;13923:67:0;14001:15;14019:17;;;:8;:17;;;;;;;;:25;;;14064:4;:13;;;;;:22;;;;;;;;;:32;;;;;14063:33;14055:84;;;;-1:-1:-1;;;14055:84:0;;4173:2:1;14055:84:0;;;4155:21:1;4212:2;4192:18;;;4185:30;4251:34;4231:18;;;4224:62;-1:-1:-1;;;4302:18:1;;;4295:36;4348:19;;14055:84:0;3971:402:1;14055:84:0;14174:11;14196:17;;;:8;:17;;;;;;;;:35;;;;14262:4;:13;;;;;;:22;;;;;;;;:27;;;14343:17;;;;;;;;:23;;;;;14300:67;;-1:-1:-1;;;14300:67:0;;14321:10;14300:67;;;4618:34:1;-1:-1:-1;;;;;14262:27:0;;;4668:18:1;;;4661:43;;;4720:18;;;4713:34;;;;14196:35:0;;;;;14300:20;;4553:18:1;;14300:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14404:17:0;14424:13;;;:4;:13;;;;;;;;:22;;;;;;;;;;:32;;;;;14467;;;;:39;;-1:-1:-1;;14467:39:0;;;;;;;14517:37;;-1:-1:-1;;;14517:37:0;;14532:10;14517:37;;;4932:51:1;;;;4999:18;;;4992:34;;;14424:32:0;;-1:-1:-1;14517:5:0;-1:-1:-1;;;;;14517:14:0;;;;4905:18:1;;14517:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;14570:25:0;;;-1:-1:-1;;;;;4950:32:1;;4932:51;;5014:2;4999:18;;4992:34;;;14570:25:0;;4905:18:1;14570:25:0;;;;;;;13711:892;;;;;13666:937;:::o;10810:290::-;10871:17;;;;:8;:17;;;;;:23;-1:-1:-1;;;;;10871:23:0;10898:10;10871:37;10863:64;;;;-1:-1:-1;;;10863:64:0;;2867:2:1;10863:64:0;;;2849:21:1;2906:2;2886:18;;;2879:30;-1:-1:-1;;;2925:18:1;;;2918:44;2979:18;;10863:64:0;2665:338:1;10863:64:0;10946:17;;;;:8;:17;;;;;:27;;;10976:15;-1:-1:-1;10938:78:0;;;;-1:-1:-1;;;10938:78:0;;5521:2:1;10938:78:0;;;5503:21:1;5560:2;5540:18;;;5533:30;-1:-1:-1;;;5579:18:1;;;5572:50;5639:18;;10938:78:0;5319:344:1;10938:78:0;11034:17;;;;:8;:17;;;;;;;;11027:24;;-1:-1:-1;;;;;;11027:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11067:25;160::1;;;11067::0;;133:18:1;11067:25:0;;;;;;;10810:290;:::o;11106:1142::-;11181:17;;;;:8;:17;;;;;:27;;;11212:15;-1:-1:-1;11181:46:0;11173:75;;;;-1:-1:-1;;;11173:75:0;;5870:2:1;11173:75:0;;;5852:21:1;5909:2;5889:18;;;5882:30;-1:-1:-1;;;5928:18:1;;;5921:46;5984:18;;11173:75:0;5668:340:1;11173:75:0;11267:17;;;;:8;:17;;;;;:25;;;11295:15;-1:-1:-1;11259:74:0;;;;-1:-1:-1;;;11259:74:0;;6215:2:1;11259:74:0;;;6197:21:1;6254:2;6234:18;;;6227:30;-1:-1:-1;;;6273:18:1;;;6266:48;6331:18;;11259:74:0;6013:342:1;11259:74:0;11344:15;11362:17;;;:8;:17;;;;;;;:25;;;:29;;;:::i;:::-;11402:17;;;;:8;:17;;;;;;;;:25;;:35;;;11466:4;:13;;;;;11344:47;;-1:-1:-1;11480:9:0;;11344:47;11480:9;:::i;:::-;11466:24;;;;;;;;;;;:34;;;11456:7;:44;11448:76;;;;-1:-1:-1;;;11448:76:0;;6692:2:1;11448:76:0;;;6674:21:1;6731:2;6711:18;;;6704:30;-1:-1:-1;;;6750:18:1;;;6743:49;6809:18;;11448:76:0;6490:343:1;11448:76:0;11535:54;;-1:-1:-1;;;11535:54:0;;11554:10;11535:54;;;4618:34:1;11574:4:0;4668:18:1;;;4661:43;4720:18;;;4713:34;;;11535:5:0;-1:-1:-1;;;;;11535:18:0;;;;4553::1;;11535:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11648:220:0;;;;;;;;11676:15;11648:220;;;;;;;;;11745:10;11648:220;;;;;;-1:-1:-1;11648:220:0;;;;;;;;;;;;11623:13;;;:4;:13;;;;;;:22;;;;;;;;;:245;;;;;;11648:220;11623:245;;;;;;;;;;;;;;-1:-1:-1;;;;;;11623:245:0;-1:-1:-1;;;;;11623:245:0;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11623:245:0;;;;;;;;;;;11973:13;;;;;-1:-1:-1;;11623:13:0;-1:-1:-1;;11987:9:0;;11623:22;11987:9;:::i;:::-;11973:24;;;;;;;;;;;-1:-1:-1;11973:24:0;:32;11955:50;;:15;:50;:::i;:::-;12016:14;12053:13;;;:4;:13;;;;;11927:78;;-1:-1:-1;12016:14:0;;12067:9;12075:1;12067:7;:9;:::i;:::-;12053:24;;;;;;;;;;;:34;;;12033:17;:54;;;;:::i;:::-;12098:13;;;;:4;:13;;;;;12016:71;;-1:-1:-1;12016:71:0;;12098:13;12112:9;12120:1;12112:7;:9;:::i;:::-;12098:24;;;;;;;;;;;:31;;:40;;;;12182:6;12149:8;:17;12158:7;12149:17;;;;;;;;;;;:29;;;:39;;;;;;;:::i;:::-;;;;-1:-1:-1;;12204:36:0;;12220:10;2603:51:1;;12232:7:0;;12211;;12204:36;;2591:2:1;2576:18;12204:36:0;;;;;;;11162:1086;;;11106:1142;;:::o;12956:643::-;13039:13;;;;:4;:13;;;;;;;;:22;;;;;;;;;:27;;-1:-1:-1;;;;;13039:27:0;13070:10;13039:41;13031:73;;;;-1:-1:-1;;;13031:73:0;;7421:2:1;13031:73:0;;;7403:21:1;7460:2;7440:18;;;7433:30;-1:-1:-1;;;7479:18:1;;;7472:49;7538:18;;13031:73:0;7219:343:1;13031:73:0;14749:4;14783:17;;;:8;:17;;;;;;;;:25;;;14827:4;:13;;;;;:22;;;;;;;;:29;;;13115:71;;13156:18;13166:7;13156:9;:18::i;:::-;13196:14;13213:13;;;:4;:13;;;;;;;;:22;;;;;;;;:29;;;;13261:11;;;13253:44;;;;-1:-1:-1;;;13253:44:0;;7769:2:1;13253:44:0;;;7751:21:1;7808:2;7788:18;;;7781:30;-1:-1:-1;;;7827:18:1;;;7820:50;7887:18;;13253:44:0;7567:344:1;13253:44:0;13308:19;13330:17;;;:8;:17;;;;;:24;;;;13387:29;;;;;13330:24;;13387:29;13472:18;13484:6;13330:24;13472:18;:::i;:::-;:30;;;;:::i;:::-;13545:1;13513:13;;;:4;:13;;;;;;;;:22;;;;;;;;;:29;;:33;;;;13557:34;-1:-1:-1;;;13557:34:0;;13572:10;13557:34;;;4932:51:1;4999:18;;;4992:34;;;13455:47:0;;-1:-1:-1;13557:5:0;-1:-1:-1;;;;;13557:14:0;;;;4905:18:1;;13557:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13020:579;;;;12956:643;;:::o;9833:921::-;9988:15;9974:10;:29;;9966:65;;;;-1:-1:-1;;;9966:65:0;;8340:2:1;9966:65:0;;;8322:21:1;8379:2;8359:18;;;8352:30;8418:25;8398:18;;;8391:53;8461:18;;9966:65:0;8138:347:1;9966:65:0;10061:10;10050:8;:21;10042:54;;;;-1:-1:-1;;;10042:54:0;;8692:2:1;10042:54:0;;;8674:21:1;8731:2;8711:18;;;8704:30;-1:-1:-1;;;8750:18:1;;;8743:50;8810:18;;10042:54:0;8490:344:1;10042:54:0;10107;;-1:-1:-1;;;10107:54:0;;10126:10;10107:54;;;4618:34:1;10146:4:0;4668:18:1;;;4661:43;4720:18;;;4713:34;;;10107:5:0;-1:-1:-1;;;;;10107:18:0;;;;4553::1;;10107:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10190:284;;;;;;;;10220:10;-1:-1:-1;;;;;10190:284:0;;;;;10264:18;-1:-1:-1;;;;;10190:284:0;;;;;10304:6;10190:284;;;;10368:10;10190:284;;;;10334:8;10190:284;;;;10401:7;10190:284;;;;10432:1;10190:284;;;;10461:1;10190:284;;;10172:8;:15;10181:5;;10172:15;;;;;;;;;;;:302;;;;;;;;;;;;;-1:-1:-1;;;;;10172:302:0;;;;;-1:-1:-1;;;;;10172:302:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10172:302:0;;;;;-1:-1:-1;;;;;10172:302:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10502:168;;;;;;;;10530:15;10502:168;;;;10571:1;10502:168;;;;10593:10;-1:-1:-1;;;;;10502:168:0;;;;;10626:1;10502:168;;;;10653:5;10502:168;;;;;10485:4;:11;10490:5;;10485:11;;;;;;;;;;;:14;10497:1;10485:14;;;;;;;;;;;:185;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10485:185:0;;;;;-1:-1:-1;;;;;10485:185:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10694:5;;10686:42;10701:18;10721:6;10686:42;;;;;;-1:-1:-1;;;;;4950:32:1;;;;4932:51;;5014:2;4999:18;;4992:34;4920:2;4905:18;;4758:274;10686:42:0;;;;;;;;10739:5;:7;;;:5;:7;;;:::i;:::-;;;;;;9833:921;;;;;:::o;12254:696::-;12341:13;;;;:4;:13;;;;;;;;:22;;;;;;;;;:27;;-1:-1:-1;;;;;12341:27:0;12372:10;12341:41;12333:73;;;;-1:-1:-1;;;12333:73:0;;7421:2:1;12333:73:0;;;7403:21:1;7460:2;7440:18;;;7433:30;-1:-1:-1;;;7479:18:1;;;7472:49;7538:18;;12333:73:0;7219:343:1;12333:73:0;12461:1;12420:13;;;:4;:13;;;;;12461:1;12434:9;:7;12442:1;12434:9;:::i;:::-;12420:24;;;;;;;;;;;-1:-1:-1;12420:24:0;:29;;;-1:-1:-1;;;;;12420:29:0;:43;12417:286;;12599:17;;;;:8;:17;;;;;:25;;;12639:15;;12599:36;;12627:8;12599:36;:::i;:::-;:55;;12591:100;;;;-1:-1:-1;;;12591:100:0;;9181:2:1;12591:100:0;;;9163:21:1;;;9200:18;;;9193:30;9259:34;9239:18;;;9232:62;9311:18;;12591:100:0;8979:356:1;12591:100:0;12722:13;;;;:4;:13;;;;;;;;:22;;;;;;;;:32;;;;;12721:33;12713:68;;;;-1:-1:-1;;;12713:68:0;;9542:2:1;12713:68:0;;;9524:21:1;9581:2;9561:18;;;9554:30;-1:-1:-1;;;9600:18:1;;;9593:52;9662:18;;12713:68:0;9340:346:1;12713:68:0;12792:17;12812:13;;;:4;:13;;;;;;;;:22;;;;;;;;;;:32;;;;;12855;;;;:39;;-1:-1:-1;;12855:39:0;;;;;;;12905:37;;-1:-1:-1;;;12905:37:0;;12920:10;12905:37;;;4932:51:1;;;;4999:18;;;4992:34;;;12905:5:0;-1:-1:-1;;;;;12905:14:0;;;;4905:18:1;;12905:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12322:628;12254:696;;:::o;14876:535::-;14932:15;14950:17;;;:8;:17;;;;;:25;;;15005:15;14994:26;;;14986:61;;;;-1:-1:-1;;;14986:61:0;;3210:2:1;14986:61:0;;;3192:21:1;3249:2;3229:18;;;3222:30;-1:-1:-1;;;3268:18:1;;;3261:52;3330:18;;14986:61:0;3008:346:1;14986:61:0;15058:15;15076:17;;;:8;:17;;;;;;;;:25;;;15194:4;:13;;;;;:22;;;;;;;;:30;15076:25;;15058:15;15184:40;;:7;:40;:::i;:::-;15235:14;15272:13;;;:4;:13;;;;;;;;:22;;;;;;;;:32;;;15156:68;;-1:-1:-1;15235:14:0;15252:52;;15156:68;15252:52;:::i;:::-;15315:13;;;;:4;:13;;;;;;;;:22;;;;;;;;:29;;:38;;;15364:17;;;:8;:17;;;;;:29;;:39;;15235:69;;-1:-1:-1;15235:69:0;;15364:29;;15315:13;15364:39;;15235:69;;15364:39;:::i;:::-;;;;-1:-1:-1;;;;;;;14876:535:0:o;196:180:1:-;255:6;308:2;296:9;287:7;283:23;279:32;276:52;;;324:1;321;314:12;276:52;-1:-1:-1;347:23:1;;196:180;-1:-1:-1;196:180:1:o;1121:248::-;1189:6;1197;1250:2;1238:9;1229:7;1225:23;1221:32;1218:52;;;1266:1;1263;1256:12;1218:52;-1:-1:-1;;1289:23:1;;;1359:2;1344:18;;;1331:32;;-1:-1:-1;1121:248:1:o;1878:560::-;1973:6;1981;1989;1997;2005;2058:3;2046:9;2037:7;2033:23;2029:33;2026:53;;;2075:1;2072;2065:12;2026:53;2101:23;;-1:-1:-1;;;;;2153:31:1;;2143:42;;2133:70;;2199:1;2196;2189:12;2133:70;2222:5;2274:2;2259:18;;2246:32;;-1:-1:-1;2325:2:1;2310:18;;2297:32;;2376:2;2361:18;;2348:32;;-1:-1:-1;2427:3:1;2412:19;2399:33;;-1:-1:-1;1878:560:1;-1:-1:-1;;;1878:560:1:o;3359:127::-;3420:10;3415:3;3411:20;3408:1;3401:31;3451:4;3448:1;3441:15;3475:4;3472:1;3465:15;3491:128;3531:3;3562:1;3558:6;3555:1;3552:13;3549:39;;;3568:18;;:::i;:::-;-1:-1:-1;3604:9:1;;3491:128::o;5037:277::-;5104:6;5157:2;5145:9;5136:7;5132:23;5128:32;5125:52;;;5173:1;5170;5163:12;5125:52;5205:9;5199:16;5258:5;5251:13;5244:21;5237:5;5234:32;5224:60;;5280:1;5277;5270:12;5224:60;5303:5;5037:277;-1:-1:-1;;;5037:277:1:o;6360:125::-;6400:4;6428:1;6425;6422:8;6419:34;;;6433:18;;:::i;:::-;-1:-1:-1;6470:9:1;;6360:125::o;6838:168::-;6878:7;6944:1;6940;6936:6;6932:14;6929:1;6926:21;6921:1;6914:9;6907:17;6903:45;6900:71;;;6951:18;;:::i;:::-;-1:-1:-1;6991:9:1;;6838:168::o;7916:217::-;7956:1;7982;7972:132;;8026:10;8021:3;8017:20;8014:1;8007:31;8061:4;8058:1;8051:15;8089:4;8086:1;8079:15;7972:132;-1:-1:-1;8118:9:1;;7916:217::o;8839:135::-;8878:3;8899:17;;;8896:43;;8919:18;;:::i;:::-;-1:-1:-1;8966:1:1;8955:13;;8839:135::o
Swarm Source
ipfs://dab3e71109c5c909d25a1ef1fe34ef3030c8a0937e5ea9d79ac8fe67a802b150
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.