Contract Overview
Balance:
0 ETH
ETH Value:
$0.00
My Name Tag:
Not Available
Txn Hash | Method |
Block
|
From
|
To
|
Value | [Txn Fee] | |||
---|---|---|---|---|---|---|---|---|---|
0x10afeb016bb5cf6be4bbfb299e99d5ff7062571bbd5baf124e2d2358708137f1 | Transfer Ownersh... | 220628 | 953 days 12 hrs ago | 0xc4b60a931929d3ed0ac423f9ea80e5962726da73 | IN | 0x232af049e34770dad94f452ccdc6feb0ecd42623 | 0 ETH | 0.000285948953 ETH | |
0xe6b9f43e62af8c904cd50a158d49af5d00593cac3e501087f1fb67423ccc5c6f | Mint Multiple | 220619 | 953 days 12 hrs ago | 0xc4b60a931929d3ed0ac423f9ea80e5962726da73 | IN | 0x232af049e34770dad94f452ccdc6feb0ecd42623 | 0 ETH | 0.094402799594 ETH | |
0x0a3ac52803eef685113e7bf23ab3733a587d33fc13587931b48ec9c419a5976e | 0x60806040 | 220617 | 953 days 12 hrs ago | 0xc4b60a931929d3ed0ac423f9ea80e5962726da73 | IN | Create: DxReputation | 0 ETH | 0.00301085612 ETH |
[ Download CSV Export ]
Latest 25 internal transaction
[ Download CSV Export ]
Contract Name:
DxReputation
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity)
/** *Submitted for verification at Arbiscan.io on 2021-09-01 */ // File: openzeppelin-solidity/contracts/GSN/Context.sol pragma solidity ^0.5.0; /* * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with GSN meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ contract Context { // Empty internal constructor, to prevent people from mistakenly deploying // an instance of this contract, which should be used via inheritance. constructor () internal { } // solhint-disable-previous-line no-empty-blocks function _msgSender() internal view returns (address payable) { return msg.sender; } function _msgData() internal view returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } // File: openzeppelin-solidity/contracts/ownership/Ownable.sol pragma solidity ^0.5.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () internal { _owner = _msgSender(); emit OwnershipTransferred(address(0), _owner); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(isOwner(), "Ownable: caller is not the owner"); _; } /** * @dev Returns true if the caller is the current owner. */ function isOwner() public view returns (bool) { return _msgSender() == _owner; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). */ function _transferOwnership(address newOwner) internal { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } // File: contracts/daostack/controller/Reputation.sol pragma solidity 0.5.17; // Copied from @daostack/infra/contracts/Reputation.sol and added the MintMultiple function /** * @title Reputation system * @dev A DAO has Reputation System which allows peers to rate other peers in order to build trust . * A reputation is use to assign influence measure to a DAO'S peers. * Reputation is similar to regular tokens but with one crucial difference: It is non-transferable. * The Reputation contract maintain a map of address to reputation value. * It provides an onlyOwner functions to mint and burn reputation _to (or _from) a specific address. */ contract Reputation is Ownable { uint8 public decimals = 18; //Number of decimals of the smallest unit // Event indicating minting of reputation to an address. event Mint(address indexed _to, uint256 _amount); // Event indicating burning of reputation for an address. event Burn(address indexed _from, uint256 _amount); /// @dev `Checkpoint` is the structure that attaches a block number to a /// given value, the block number attached is the one that last changed the /// value struct Checkpoint { // `fromBlock` is the block number that the value was generated from uint128 fromBlock; // `value` is the amount of reputation at a specific block number uint128 value; } // `balances` is the map that tracks the balance of each address, in this // contract when the balance changes the block number that the change // occurred is also included in the map mapping (address => Checkpoint[]) private balances; // Tracks the history of the `totalSupply` of the reputation Checkpoint[] private totalSupplyHistory; /// @notice Generates `_amount` reputation that are assigned to `_owner` /// @param _user The address that will be assigned the new reputation /// @param _amount The quantity of reputation generated /// @return True if the reputation are generated correctly function mint(address _user, uint256 _amount) public onlyOwner returns (bool) { uint256 curTotalSupply = totalSupply(); require(curTotalSupply + _amount >= curTotalSupply); // Check for overflow uint256 previousBalanceTo = balanceOf(_user); require(previousBalanceTo + _amount >= previousBalanceTo); // Check for overflow updateValueAtNow(totalSupplyHistory, curTotalSupply + _amount); updateValueAtNow(balances[_user], previousBalanceTo + _amount); emit Mint(_user, _amount); return true; } /// @notice Generates `_amount` reputation that are assigned to `_owner` /// @param _user The address that will be assigned the new reputation /// @param _amount The quantity of reputation generated /// @return True if the reputation are generated correctly function mintMultiple(address[] memory _user, uint256[] memory _amount) public onlyOwner returns (bool) { for (uint256 i = 0;i < _user.length; i ++){ uint256 curTotalSupply = totalSupply(); require(curTotalSupply + _amount[i] >= curTotalSupply); // Check for overflow uint256 previousBalanceTo = balanceOf(_user[i]); require(previousBalanceTo + _amount[i] >= previousBalanceTo); // Check for overflow updateValueAtNow(totalSupplyHistory, curTotalSupply + _amount[i]); updateValueAtNow(balances[_user[i]], previousBalanceTo + _amount[i]); emit Mint(_user[i], _amount[i]); } return true; } /// @notice Burns `_amount` reputation from `_owner` /// @param _user The address that will lose the reputation /// @param _amount The quantity of reputation to burn /// @return True if the reputation are burned correctly function burn(address _user, uint256 _amount) public onlyOwner returns (bool) { uint256 curTotalSupply = totalSupply(); uint256 amountBurned = _amount; uint256 previousBalanceFrom = balanceOf(_user); if (previousBalanceFrom < amountBurned) { amountBurned = previousBalanceFrom; } updateValueAtNow(totalSupplyHistory, curTotalSupply - amountBurned); updateValueAtNow(balances[_user], previousBalanceFrom - amountBurned); emit Burn(_user, amountBurned); return true; } /// @dev This function makes it easy to get the total number of reputation /// @return The total number of reputation function totalSupply() public view returns (uint256) { return totalSupplyAt(block.number); } //////////////// // Query balance and totalSupply in History //////////////// /** * @dev return the reputation amount of a given owner * @param _owner an address of the owner which we want to get his reputation */ function balanceOf(address _owner) public view returns (uint256 balance) { return balanceOfAt(_owner, block.number); } /// @notice Total amount of reputation at a specific `_blockNumber`. /// @param _blockNumber The block number when the totalSupply is queried /// @return The total amount of reputation at `_blockNumber` function totalSupplyAt(uint256 _blockNumber) public view returns(uint256) { if ((totalSupplyHistory.length == 0) || (totalSupplyHistory[0].fromBlock > _blockNumber)) { return 0; // This will return the expected totalSupply during normal situations } else { return getValueAt(totalSupplyHistory, _blockNumber); } } /// @dev Queries the balance of `_owner` at a specific `_blockNumber` /// @param _owner The address from which the balance will be retrieved /// @param _blockNumber The block number when the balance is queried /// @return The balance at `_blockNumber` function balanceOfAt(address _owner, uint256 _blockNumber) public view returns (uint256) { if ((balances[_owner].length == 0) || (balances[_owner][0].fromBlock > _blockNumber)) { return 0; // This will return the expected balance during normal situations } else { return getValueAt(balances[_owner], _blockNumber); } } //////////////// // Internal helper functions to query and set a value in a snapshot array //////////////// /// @dev `getValueAt` retrieves the number of reputation at a given block number /// @param checkpoints The history of values being queried /// @param _block The block number to retrieve the value at /// @return The number of reputation being queried function getValueAt(Checkpoint[] storage checkpoints, uint256 _block) internal view returns (uint256) { if (checkpoints.length == 0) { return 0; } // Shortcut for the actual value if (_block >= checkpoints[checkpoints.length-1].fromBlock) { return checkpoints[checkpoints.length-1].value; } if (_block < checkpoints[0].fromBlock) { return 0; } // Binary search of the value in the array uint256 min = 0; uint256 max = checkpoints.length-1; while (max > min) { uint256 mid = (max + min + 1) / 2; if (checkpoints[mid].fromBlock <= _block) { min = mid; } else { max = mid-1; } } return checkpoints[min].value; } /// @dev `updateValueAtNow` used to update the `balances` map and the /// `totalSupplyHistory` /// @param checkpoints The history of data being updated /// @param _value The new number of reputation function updateValueAtNow(Checkpoint[] storage checkpoints, uint256 _value) internal { require(uint128(_value) == _value); //check value is in the 128 bits bounderies if ((checkpoints.length == 0) || (checkpoints[checkpoints.length - 1].fromBlock < block.number)) { Checkpoint storage newCheckPoint = checkpoints[checkpoints.length++]; newCheckPoint.fromBlock = uint128(block.number); newCheckPoint.value = uint128(_value); } else { Checkpoint storage oldCheckPoint = checkpoints[checkpoints.length-1]; oldCheckPoint.value = uint128(_value); } } } // File: contracts/dxdao/DxReputation.sol pragma solidity ^0.5.4; // is Reputation contract DxReputation is Reputation { constructor() public {} }
[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"Mint","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"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_blockNumber","type":"uint256"}],"name":"balanceOfAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"_user","type":"address[]"},{"internalType":"uint256[]","name":"_amount","type":"uint256[]"}],"name":"mintMultiple","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_blockNumber","type":"uint256"}],"name":"totalSupplyAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526000805460ff60a01b1916600960a11b17905534801561002357600080fd5b506100356001600160e01b0361008216565b600080546001600160a01b0319166001600160a01b03928316178082556040519216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3610086565b3390565b610c9f806100956000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063715018a611610071578063715018a6146102aa5780638da5cb5b146102b45780638f32d59b146102d8578063981b24d0146102e05780639dc29fac146102fd578063f2fde38b14610329576100b4565b806307ea5477146100b957806318160ddd146101f4578063313ce5671461020e57806340c10f191461022c5780634ee2cd7e1461025857806370a0823114610284575b600080fd5b6101e0600480360360408110156100cf57600080fd5b8101906020810181356401000000008111156100ea57600080fd5b8201836020820111156100fc57600080fd5b8035906020019184602083028401116401000000008311171561011e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561016e57600080fd5b82018360208201111561018057600080fd5b803590602001918460208302840111640100000000831117156101a257600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061034f945050505050565b604080519115158252519081900360200190f35b6101fc610507565b60408051918252519081900360200190f35b610216610518565b6040805160ff9092168252519081900360200190f35b6101e06004803603604081101561024257600080fd5b506001600160a01b038135169060200135610528565b6101fc6004803603604081101561026e57600080fd5b506001600160a01b038135169060200135610623565b6101fc6004803603602081101561029a57600080fd5b50356001600160a01b03166106b3565b6102b26106c7565b005b6102bc610758565b604080516001600160a01b039092168252519081900360200190f35b6101e0610767565b6101fc600480360360208110156102f657600080fd5b503561078b565b6101e06004803603604081101561031357600080fd5b506001600160a01b0381351690602001356107dd565b6102b26004803603602081101561033f57600080fd5b50356001600160a01b03166108c8565b6000610359610767565b610398576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b60005b83518110156104fb5760006103ae610507565b9050808483815181106103bd57fe5b6020026020010151820110156103d257600080fd5b60006103f08684815181106103e357fe5b60200260200101516106b3565b9050808584815181106103ff57fe5b60200260200101518201101561041457600080fd5b610434600286858151811061042557fe5b6020026020010151840161091b565b61048a6001600088868151811061044757fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002086858151811061047b57fe5b6020026020010151830161091b565b85838151811061049657fe5b60200260200101516001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858685815181106104d457fe5b60200260200101516040518082815260200191505060405180910390a2505060010161039b565b50600190505b92915050565b60006105124361078b565b90505b90565b600054600160a01b900460ff1681565b6000610532610767565b610571576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b600061057b610507565b905080838201101561058c57600080fd5b6000610597856106b3565b90508084820110156105a857600080fd5b6105b5600285840161091b565b6001600160a01b03851660009081526001602052604090206105d99082860161091b565b6040805185815290516001600160a01b038716917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a2506001949350505050565b6001600160a01b038216600090815260016020526040812054158061067d57506001600160a01b0383166000908152600160205260408120805484929061066657fe5b6000918252602090912001546001600160801b0316115b1561068a57506000610501565b6001600160a01b03831660009081526001602052604090206106ac9083610a09565b9050610501565b60006106bf8243610623565b90505b919050565b6106cf610767565b61070e576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b600080546001600160a01b031661077c610b39565b6001600160a01b031614905090565b60025460009015806107be57508160026000815481106107a757fe5b6000918252602090912001546001600160801b0316115b156107cb575060006106c2565b6107d6600283610a09565b90506106c2565b60006107e7610767565b610826576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b6000610830610507565b905082600061083e866106b3565b90508181101561084c578091505b610859600283850361091b565b6001600160a01b038616600090815260016020526040902061087d9083830361091b565b6040805183815290516001600160a01b038816917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a250600195945050505050565b6108d0610767565b61090f576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b61091881610b3d565b50565b80816001600160801b03161461093057600080fd5b815415806109645750815443908390600019810190811061094d57fe5b6000918252602090912001546001600160801b0316105b156109cb578154600090839061097d8260018301610bdd565b8154811061098757fe5b600091825260209091200180546001600160801b03848116600160801b024382166fffffffffffffffffffffffffffffffff19909316929092171617905550610a05565b8154600090839060001981019081106109e057fe5b600091825260209091200180546001600160801b03808516600160801b029116179055505b5050565b8154600090610a1a57506000610501565b825483906000198101908110610a2c57fe5b6000918252602090912001546001600160801b03168210610a7c57825483906000198101908110610a5957fe5b600091825260209091200154600160801b90046001600160801b03169050610501565b82600081548110610a8957fe5b6000918252602090912001546001600160801b0316821015610aad57506000610501565b8254600090600019015b81811115610b08576000600260018385010104905084868281548110610ad957fe5b6000918252602090912001546001600160801b031611610afb57809250610b02565b6001810391505b50610ab7565b848281548110610b1457fe5b600091825260209091200154600160801b90046001600160801b031695945050505050565b3390565b6001600160a01b038116610b825760405162461bcd60e51b8152600401808060200182810382526026815260200180610c256026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b815481835581811115610c0157600083815260209020610c01918101908301610c06565b505050565b61051591905b80821115610c205760008155600101610c0c565b509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a265627a7a72315820e0f0992a53f171d2ab23029f6122bbf0957bf08ec61ee8776aae9bc9306e196e64736f6c63430005110032
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063715018a611610071578063715018a6146102aa5780638da5cb5b146102b45780638f32d59b146102d8578063981b24d0146102e05780639dc29fac146102fd578063f2fde38b14610329576100b4565b806307ea5477146100b957806318160ddd146101f4578063313ce5671461020e57806340c10f191461022c5780634ee2cd7e1461025857806370a0823114610284575b600080fd5b6101e0600480360360408110156100cf57600080fd5b8101906020810181356401000000008111156100ea57600080fd5b8201836020820111156100fc57600080fd5b8035906020019184602083028401116401000000008311171561011e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561016e57600080fd5b82018360208201111561018057600080fd5b803590602001918460208302840111640100000000831117156101a257600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061034f945050505050565b604080519115158252519081900360200190f35b6101fc610507565b60408051918252519081900360200190f35b610216610518565b6040805160ff9092168252519081900360200190f35b6101e06004803603604081101561024257600080fd5b506001600160a01b038135169060200135610528565b6101fc6004803603604081101561026e57600080fd5b506001600160a01b038135169060200135610623565b6101fc6004803603602081101561029a57600080fd5b50356001600160a01b03166106b3565b6102b26106c7565b005b6102bc610758565b604080516001600160a01b039092168252519081900360200190f35b6101e0610767565b6101fc600480360360208110156102f657600080fd5b503561078b565b6101e06004803603604081101561031357600080fd5b506001600160a01b0381351690602001356107dd565b6102b26004803603602081101561033f57600080fd5b50356001600160a01b03166108c8565b6000610359610767565b610398576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b60005b83518110156104fb5760006103ae610507565b9050808483815181106103bd57fe5b6020026020010151820110156103d257600080fd5b60006103f08684815181106103e357fe5b60200260200101516106b3565b9050808584815181106103ff57fe5b60200260200101518201101561041457600080fd5b610434600286858151811061042557fe5b6020026020010151840161091b565b61048a6001600088868151811061044757fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002086858151811061047b57fe5b6020026020010151830161091b565b85838151811061049657fe5b60200260200101516001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858685815181106104d457fe5b60200260200101516040518082815260200191505060405180910390a2505060010161039b565b50600190505b92915050565b60006105124361078b565b90505b90565b600054600160a01b900460ff1681565b6000610532610767565b610571576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b600061057b610507565b905080838201101561058c57600080fd5b6000610597856106b3565b90508084820110156105a857600080fd5b6105b5600285840161091b565b6001600160a01b03851660009081526001602052604090206105d99082860161091b565b6040805185815290516001600160a01b038716917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a2506001949350505050565b6001600160a01b038216600090815260016020526040812054158061067d57506001600160a01b0383166000908152600160205260408120805484929061066657fe5b6000918252602090912001546001600160801b0316115b1561068a57506000610501565b6001600160a01b03831660009081526001602052604090206106ac9083610a09565b9050610501565b60006106bf8243610623565b90505b919050565b6106cf610767565b61070e576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b600080546001600160a01b031661077c610b39565b6001600160a01b031614905090565b60025460009015806107be57508160026000815481106107a757fe5b6000918252602090912001546001600160801b0316115b156107cb575060006106c2565b6107d6600283610a09565b90506106c2565b60006107e7610767565b610826576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b6000610830610507565b905082600061083e866106b3565b90508181101561084c578091505b610859600283850361091b565b6001600160a01b038616600090815260016020526040902061087d9083830361091b565b6040805183815290516001600160a01b038816917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a250600195945050505050565b6108d0610767565b61090f576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b61091881610b3d565b50565b80816001600160801b03161461093057600080fd5b815415806109645750815443908390600019810190811061094d57fe5b6000918252602090912001546001600160801b0316105b156109cb578154600090839061097d8260018301610bdd565b8154811061098757fe5b600091825260209091200180546001600160801b03848116600160801b024382166fffffffffffffffffffffffffffffffff19909316929092171617905550610a05565b8154600090839060001981019081106109e057fe5b600091825260209091200180546001600160801b03808516600160801b029116179055505b5050565b8154600090610a1a57506000610501565b825483906000198101908110610a2c57fe5b6000918252602090912001546001600160801b03168210610a7c57825483906000198101908110610a5957fe5b600091825260209091200154600160801b90046001600160801b03169050610501565b82600081548110610a8957fe5b6000918252602090912001546001600160801b0316821015610aad57506000610501565b8254600090600019015b81811115610b08576000600260018385010104905084868281548110610ad957fe5b6000918252602090912001546001600160801b031611610afb57809250610b02565b6001810391505b50610ab7565b848281548110610b1457fe5b600091825260209091200154600160801b90046001600160801b031695945050505050565b3390565b6001600160a01b038116610b825760405162461bcd60e51b8152600401808060200182810382526026815260200180610c256026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b815481835581811115610c0157600083815260209020610c01918101908301610c06565b505050565b61051591905b80821115610c205760008155600101610c0c565b509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a265627a7a72315820e0f0992a53f171d2ab23029f6122bbf0957bf08ec61ee8776aae9bc9306e196e64736f6c63430005110032
Deployed ByteCode Sourcemap
12362:69:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12362:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6673:707;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6673:707:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;6673:707:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6673:707: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;6673:707:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;6673:707:0;;;;;;;;-1:-1:-1;6673:707:0;;-1:-1:-1;;21:11;5:28;;2:2;;;46:1;43;36:12;2:2;6673:707:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6673:707: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;6673:707:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;6673:707:0;;-1:-1:-1;6673:707:0;;-1:-1:-1;;;;;6673:707:0:i;:::-;;;;;;;;;;;;;;;;;;8339:106;;;:::i;:::-;;;;;;;;;;;;;;;;4394:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5811:568;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5811:568:0;;;;;;;;:::i;9714:395::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9714:395:0;;;;;;;;:::i;8702:132::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8702:132:0;-1:-1:-1;;;;;8702:132:0;;:::i;2936:140::-;;;:::i;:::-;;2125:79;;;:::i;:::-;;;;-1:-1:-1;;;;;2125:79:0;;;;;;;;;;;;;;2491:94;;;:::i;9060:382::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9060:382:0;;:::i;7638:565::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7638:565:0;;;;;;;;:::i;3231:109::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3231:109:0;-1:-1:-1;;;;;3231:109:0;;:::i;6673:707::-;6771:4;2337:9;:7;:9::i;:::-;2329:54;;;;;-1:-1:-1;;;2329:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2329:54:0;;;;;;;;;;;;;;;6794:9;6789:560;6812:5;:12;6808:1;:16;6789:560;;;6845:22;6870:13;:11;:13::i;:::-;6845:38;;6936:14;6922:7;6930:1;6922:10;;;;;;;;;;;;;;6905:14;:27;:45;;6897:54;;;;;;6987:25;7015:19;7025:5;7031:1;7025:8;;;;;;;;;;;;;;7015:9;:19::i;:::-;6987:47;;7090:17;7076:7;7084:1;7076:10;;;;;;;;;;;;;;7056:17;:30;:51;;7048:60;;;;;;7144:65;7161:18;7198:7;7206:1;7198:10;;;;;;;;;;;;;;7181:14;:27;7144:16;:65::i;:::-;7223:68;7240:8;:18;7249:5;7255:1;7249:8;;;;;;;;;;;;;;-1:-1:-1;;;;;7240:18:0;-1:-1:-1;;;;;7240:18:0;;;;;;;;;;;;7280:7;7288:1;7280:10;;;;;;;;;;;;;;7260:17;:30;7223:16;:68::i;:::-;7315:5;7321:1;7315:8;;;;;;;;;;;;;;-1:-1:-1;;;;;7310:26:0;;7325:7;7333:1;7325:10;;;;;;;;;;;;;;7310:26;;;;;;;;;;;;;;;;;;-1:-1:-1;;6826:4:0;;6789:560;;;;7367:4;7360:11;;2394:1;6673:707;;;;:::o;8339:106::-;8383:7;8410:27;8424:12;8410:13;:27::i;:::-;8403:34;;8339:106;;:::o;4394:26::-;;;-1:-1:-1;;;4394:26:0;;;;;:::o;5811:568::-;5883:4;2337:9;:7;:9::i;:::-;2329:54;;;;;-1:-1:-1;;;2329:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2329:54:0;;;;;;;;;;;;;;;5900:22;5925:13;:11;:13::i;:::-;5900:38;;5985:14;5974:7;5957:14;:24;:42;;5949:51;;;;;;6033:25;6061:16;6071:5;6061:9;:16::i;:::-;6033:44;;6127:17;6116:7;6096:17;:27;:48;;6088:57;;;;;;6178:62;6195:18;6232:7;6215:14;:24;6178:16;:62::i;:::-;-1:-1:-1;;;;;6268:15:0;;;;;;:8;:15;;;;;6251:62;;6285:27;;;6251:16;:62::i;:::-;6329:20;;;;;;;;-1:-1:-1;;;;;6329:20:0;;;;;;;;;;;;;-1:-1:-1;6367:4:0;;5811:568;-1:-1:-1;;;;5811:568:0:o;9714:395::-;-1:-1:-1;;;;;9829:16:0;;9799:7;9829:16;;;:8;:16;;;;;:23;:28;;9828:80;;-1:-1:-1;;;;;;9863:16:0;;;;;;:8;:16;;;;;:19;;9895:12;;9863:16;:19;;;;;;;;;;;;;:29;-1:-1:-1;;;;;9863:29:0;:44;9828:80;9824:278;;;-1:-1:-1;9932:1:0;9925:8;;9824:278;-1:-1:-1;;;;;10059:16:0;;;;;;:8;:16;;;;;10048:42;;10077:12;10048:10;:42::i;:::-;10041:49;;;;8702:132;8758:15;8793:33;8805:6;8813:12;8793:11;:33::i;:::-;8786:40;;8702:132;;;;:::o;2936:140::-;2337:9;:7;:9::i;:::-;2329:54;;;;;-1:-1:-1;;;2329:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2329:54:0;;;;;;;;;;;;;;;3035:1;3019:6;;2998:40;;-1:-1:-1;;;;;3019:6:0;;;;2998:40;;3035:1;;2998:40;3066:1;3049:19;;-1:-1:-1;;;;;;3049:19:0;;;2936:140::o;2125:79::-;2163:7;2190:6;-1:-1:-1;;;;;2190:6:0;2125:79;:::o;2491:94::-;2531:4;2571:6;;-1:-1:-1;;;;;2571:6:0;2555:12;:10;:12::i;:::-;-1:-1:-1;;;;;2555:22:0;;2548:29;;2491:94;:::o;9060:382::-;9150:18;:25;9125:7;;9150:30;;9149:84;;;9220:12;9186:18;9205:1;9186:21;;;;;;;;;;;;;;;;;:31;-1:-1:-1;;;;;9186:31:0;:46;9149:84;9145:290;;;-1:-1:-1;9257:1:0;9250:8;;9145:290;9379:44;9390:18;9410:12;9379:10;:44::i;:::-;9372:51;;;;7638:565;7710:4;2337:9;:7;:9::i;:::-;2329:54;;;;;-1:-1:-1;;;2329:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2329:54:0;;;;;;;;;;;;;;;7727:22;7752:13;:11;:13::i;:::-;7727:38;-1:-1:-1;7799:7:0;7776:20;7847:16;7857:5;7847:9;:16::i;:::-;7817:46;;7900:12;7878:19;:34;7874:101;;;7944:19;7929:34;;7874:101;7985:67;8002:18;8039:12;8022:14;:29;7985:16;:67::i;:::-;-1:-1:-1;;;;;8080:15:0;;;;;;:8;:15;;;;;8063:69;;8097:34;;;8063:16;:69::i;:::-;8148:25;;;;;;;;-1:-1:-1;;;;;8148:25:0;;;;;;;;;;;;;-1:-1:-1;8191:4:0;;7638:565;-1:-1:-1;;;;;7638:565:0:o;3231:109::-;2337:9;:7;:9::i;:::-;2329:54;;;;;-1:-1:-1;;;2329:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2329:54:0;;;;;;;;;;;;;;;3304:28;3323:8;3304:18;:28::i;:::-;3231:109;:::o;11612:651::-;11735:6;11724;-1:-1:-1;;;;;11716:25:0;;11708:34;;;;;;11802:18;;:23;;11801:91;;-1:-1:-1;11843:18:0;;11879:12;;11831:11;;-1:-1:-1;;11843:22:0;;;11831:35;;;;;;;;;;;;;;;:45;-1:-1:-1;;;;;11831:45:0;:60;11801:91;11797:459;;;11956:20;;11909:32;;11944:11;;11956:20;11944:11;11956:20;;;;:::i;:::-;11944:33;;;;;;;;;;;;;;;;;11992:47;;-1:-1:-1;;;;;12054:37:0;;;-1:-1:-1;;;12054:37:0;12026:12;11992:47;;-1:-1:-1;;11992:47:0;;;;;;;12054:37;;;;-1:-1:-1;11797:459:0;;;12171:18;;12124:32;;12159:11;;-1:-1:-1;;12171:20:0;;;12159:33;;;;;;;;;;;;;;;12207:37;;-1:-1:-1;;;;;12207:37:0;;;-1:-1:-1;;;12207:37:0;;;;;;-1:-1:-1;11797:459:0;11612:651;;:::o;10513:863::-;10630:18;;10606:7;;10626:64;;-1:-1:-1;10677:1:0;10670:8;;10626:64;10772:18;;10760:11;;-1:-1:-1;;10772:20:0;;;10760:33;;;;;;;;;;;;;;;:43;-1:-1:-1;;;;;10760:43:0;10750:53;;10746:132;;10839:18;;10827:11;;-1:-1:-1;;10839:20:0;;;10827:33;;;;;;;;;;;;;;;:39;-1:-1:-1;;;10827:39:0;;-1:-1:-1;;;;;10827:39:0;;-1:-1:-1;10820:46:0;;10746:132;10901:11;10913:1;10901:14;;;;;;;;;;;;;;;;;:24;-1:-1:-1;;;;;10901:24:0;10892:33;;10888:74;;;-1:-1:-1;10949:1:0;10942:8;;10888:74;11068:18;;11028:11;;-1:-1:-1;;11068:20:0;11099:230;11112:3;11106;:9;11099:230;;;11132:11;11164:1;11159;11147:9;;;:13;11146:19;11132:33;;11214:6;11184:11;11196:3;11184:16;;;;;;;;;;;;;;;;;:26;-1:-1:-1;;;;;11184:26:0;:36;11180:138;;11247:3;11241:9;;11180:138;;;11301:1;11297:3;:5;11291:11;;11180:138;11099:230;;;;11346:11;11358:3;11346:16;;;;;;;;;;;;;;;;;:22;-1:-1:-1;;;11346:22:0;;-1:-1:-1;;;;;11346:22:0;;10513:863;-1:-1:-1;;;;;10513:863:0:o;866:98::-;946:10;866:98;:::o;3446:229::-;-1:-1:-1;;;;;3520:22:0;;3512:73;;;;-1:-1:-1;;;3512:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3622:6;;;3601:38;;-1:-1:-1;;;;;3601:38:0;;;;3622:6;;;3601:38;;;3650:6;:17;;-1:-1:-1;;;;;;3650:17:0;-1:-1:-1;;;;;3650:17:0;;;;;;;;;;3446:229::o;12362:69::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;
Metadata Hash
e0f0992a53f171d2ab23029f6122bbf0957bf08ec61ee8776aae9bc9306e196e
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.