Contract
0x1F1FE1eF06ab30a791d6357FdF0a7361B39b1537
10
Contract Overview
[ Download CSV Export ]
Contract Name:
sledfinance
Compiler Version
v0.8.1+commit.df193b15
Contract Source Code (Solidity)
/** *Submitted for verification at snowtrace.io on 2021-11-06 */ // File: browser/Context.sol pragma solidity ^0.8.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. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } // File: browser/Ownable.sol pragma solidity ^0.8.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. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the 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 virtual 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 virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } // File: browser/Address.sol pragma solidity ^0.8.0; /** * @dev Collection of functions related to the address type */ library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // This method relies on extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain`call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: value }(data); return _verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.staticcall(data); return _verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.delegatecall(data); return _verifyCallResult(success, returndata, errorMessage); } function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) { if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } // File: browser/SafeMath.sol pragma solidity ^0.8.0; /** * @dev Wrappers over Solidity's arithmetic operations. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } /** * @dev Returns the substraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } // File: browser/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: browser/sled.sol // sled.finance: DeFi token with 2% reflect redistribution tax pragma solidity ^0.8.0; contract sledfinance is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcluded; address[] private _excluded; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 10 * 10**6 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; string private _name = 'sled.finance'; string private _symbol = 'SFI'; uint8 private _decimals = 9; constructor () public { _rOwned[_msgSender()] = _rTotal; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { if (_isExcluded[account]) return _tOwned[account]; return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function isExcluded(address account) public view returns (bool) { return _isExcluded[account]; } function totalFees() public view returns (uint256) { return _tFeeTotal; } function reflect(uint256 tAmount) public { address sender = _msgSender(); require(!_isExcluded[sender], "Excluded addresses cannot call this function"); (uint256 rAmount,,,,) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rTotal = _rTotal.sub(rAmount); _tFeeTotal = _tFeeTotal.add(tAmount); } function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) { require(tAmount <= _tTotal, "Amount must be less than supply"); if (!deductTransferFee) { (uint256 rAmount,,,,) = _getValues(tAmount); return rAmount; } else { (,uint256 rTransferAmount,,,) = _getValues(tAmount); return rTransferAmount; } } function tokenFromReflection(uint256 rAmount) public view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function excludeAccount(address account) external onlyOwner() { require(!_isExcluded[account], "Account is already excluded"); if(_rOwned[account] > 0) { _tOwned[account] = tokenFromReflection(_rOwned[account]); } _isExcluded[account] = true; _excluded.push(account); } function includeAccount(address account) external onlyOwner() { require(_isExcluded[account], "Account is already excluded"); for (uint256 i = 0; i < _excluded.length; i++) { if (_excluded[i] == account) { _excluded[i] = _excluded[_excluded.length - 1]; _tOwned[account] = 0; _isExcluded[account] = false; _excluded.pop(); break; } } } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address sender, address recipient, uint256 amount) private { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (_isExcluded[sender] && !_isExcluded[recipient]) { _transferFromExcluded(sender, recipient, amount); } else if (!_isExcluded[sender] && _isExcluded[recipient]) { _transferToExcluded(sender, recipient, amount); } else if (!_isExcluded[sender] && !_isExcluded[recipient]) { _transferStandard(sender, recipient, amount); } else if (_isExcluded[sender] && _isExcluded[recipient]) { _transferBothExcluded(sender, recipient, amount); } else { _transferStandard(sender, recipient, amount); } } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferToExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender].sub(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender].sub(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee) = _getTValues(tAmount); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee); } function _getTValues(uint256 tAmount) private pure returns (uint256, uint256) { uint256 tFee = tAmount.mul(2).div(100); uint256 tTransferAmount = tAmount.sub(tFee); return (tTransferAmount, tFee); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; for (uint256 i = 0; i < _excluded.length; i++) { if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal); rSupply = rSupply.sub(_rOwned[_excluded[i]]); tSupply = tSupply.sub(_tOwned[_excluded[i]]); } if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } }
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","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":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405262000019662386f26fc10000600019620002a1565b620000279060001962000240565b60065560408051808201909152600c8082526b736c65642e66696e616e636560a01b60209092019182526200005f9160089162000191565b506040805180820190915260038082526253464960e81b60209092019182526200008c9160099162000191565b50600a805460ff19166009179055348015620000a757600080fd5b506000620000b46200018d565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600654600160006200010f6200018d565b6001600160a01b03168152602081019190915260400160002055620001336200018d565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef662386f26fc100006040516200017f919062000237565b60405180910390a3620002c2565b3390565b8280546200019f9062000264565b90600052602060002090601f016020900481019282620001c357600085556200020e565b82601f10620001de57805160ff19168380011785556200020e565b828001600101855582156200020e579182015b828111156200020e578251825591602001919060010190620001f1565b506200021c92915062000220565b5090565b5b808211156200021c576000815560010162000221565b90815260200190565b6000828210156200025f57634e487b7160e01b81526011600452602481fd5b500390565b6002810460018216806200027957607f821691505b602082108114156200029b57634e487b7160e01b600052602260045260246000fd5b50919050565b600082620002bd57634e487b7160e01b81526012600452602481fd5b500690565b61195880620002d26000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806370a08231116100b8578063a9059cbb1161007c578063a9059cbb14610258578063cba0e9961461026b578063dd62ed3e1461027e578063f2cc0c1814610291578063f2fde38b146102a4578063f84354f1146102b757610137565b806370a082311461020d578063715018a6146102205780638da5cb5b1461022857806395d89b411461023d578063a457c2d71461024557610137565b806323b872dd116100ff57806323b872dd146101ac5780632d838119146101bf578063313ce567146101d257806339509351146101e75780634549b039146101fa57610137565b8063053ab1821461013c57806306fdde0314610151578063095ea7b31461016f57806313114a9d1461018f57806318160ddd146101a4575b600080fd5b61014f61014a366004611451565b6102ca565b005b61015961038c565b60405161016691906114bb565b60405180910390f35b61018261017d366004611428565b61041e565b60405161016691906114b0565b61019761043c565b60405161016691906117e4565b610197610442565b6101826101ba3660046113ed565b61044d565b6101976101cd366004611451565b6104d4565b6101da610517565b60405161016691906117ed565b6101826101f5366004611428565b610520565b610197610208366004611469565b61056e565b61019761021b3660046113a1565b6105ce565b61014f610630565b6102306106b9565b604051610166919061149c565b6101596106c8565b610182610253366004611428565b6106d7565b610182610266366004611428565b61073f565b6101826102793660046113a1565b610753565b61019761028c3660046113bb565b610771565b61014f61029f3660046113a1565b61079c565b61014f6102b23660046113a1565b6108d4565b61014f6102c53660046113a1565b610994565b60006102d4610b69565b6001600160a01b03811660009081526004602052604090205490915060ff16156103195760405162461bcd60e51b815260040161031090611798565b60405180910390fd5b600061032483610b6d565b505050506001600160a01b03831660009081526001602052604090205490915061034e9082610bb9565b6001600160a01b0383166000908152600160205260409020556006546103749082610bb9565b6006556007546103849084610bcc565b600755505050565b60606008805461039b90611869565b80601f01602080910402602001604051908101604052809291908181526020018280546103c790611869565b80156104145780601f106103e957610100808354040283529160200191610414565b820191906000526020600020905b8154815290600101906020018083116103f757829003601f168201915b5050505050905090565b600061043261042b610b69565b8484610bd8565b5060015b92915050565b60075490565b662386f26fc1000090565b600061045a848484610c8c565b6104ca84610466610b69565b6104c5856040518060600160405280602881526020016118d6602891396001600160a01b038a166000908152600360205260408120906104a4610b69565b6001600160a01b031681526020810191909152604001600020549190610e51565b610bd8565b5060019392505050565b60006006548211156104f85760405162461bcd60e51b815260040161031090611551565b6000610502610e7d565b905061050e8382610ea0565b9150505b919050565b600a5460ff1690565b600061043261052d610b69565b846104c5856003600061053e610b69565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610bcc565b6000662386f26fc100008311156105975760405162461bcd60e51b81526004016103109061165a565b816105b55760006105a784610b6d565b509294506104369350505050565b60006105c084610b6d565b509194506104369350505050565b6001600160a01b03811660009081526004602052604081205460ff161561060e57506001600160a01b038116600090815260026020526040902054610512565b6001600160a01b038216600090815260016020526040902054610436906104d4565b610638610b69565b6001600160a01b03166106496106b9565b6001600160a01b03161461066f5760405162461bcd60e51b815260040161031090611691565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b60606009805461039b90611869565b60006104326106e4610b69565b846104c5856040518060600160405280602581526020016118fe602591396003600061070e610b69565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610e51565b600061043261074c610b69565b8484610c8c565b6001600160a01b031660009081526004602052604090205460ff1690565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6107a4610b69565b6001600160a01b03166107b56106b9565b6001600160a01b0316146107db5760405162461bcd60e51b815260040161031090611691565b6001600160a01b03811660009081526004602052604090205460ff16156108145760405162461bcd60e51b815260040161031090611623565b6001600160a01b0381166000908152600160205260409020541561086e576001600160a01b038116600090815260016020526040902054610854906104d4565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600460205260408120805460ff191660019081179091556005805491820181559091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319169091179055565b6108dc610b69565b6001600160a01b03166108ed6106b9565b6001600160a01b0316146109135760405162461bcd60e51b815260040161031090611691565b6001600160a01b0381166109395760405162461bcd60e51b81526004016103109061159b565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b61099c610b69565b6001600160a01b03166109ad6106b9565b6001600160a01b0316146109d35760405162461bcd60e51b815260040161031090611691565b6001600160a01b03811660009081526004602052604090205460ff16610a0b5760405162461bcd60e51b815260040161031090611623565b60005b600554811015610b6557816001600160a01b031660058281548110610a4357634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415610b535760058054610a6e90600190611852565b81548110610a8c57634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600580546001600160a01b039092169183908110610ac657634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600490925220805460ff191690556005805480610b2c57634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b0319169055019055610b65565b80610b5d816118a4565b915050610a0e565b5050565b3390565b6000806000806000806000610b8188610eac565b915091506000610b8f610e7d565b90506000806000610ba18c8686610edf565b919e909d50909b509599509397509395505050505050565b6000610bc58284611852565b9392505050565b6000610bc582846117fb565b6001600160a01b038316610bfe5760405162461bcd60e51b815260040161031090611754565b6001600160a01b038216610c245760405162461bcd60e51b8152600401610310906115e1565b6001600160a01b0380841660008181526003602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610c7f9085906117e4565b60405180910390a3505050565b6001600160a01b038316610cb25760405162461bcd60e51b81526004016103109061170f565b6001600160a01b038216610cd85760405162461bcd60e51b81526004016103109061150e565b60008111610cf85760405162461bcd60e51b8152600401610310906116c6565b6001600160a01b03831660009081526004602052604090205460ff168015610d3957506001600160a01b03821660009081526004602052604090205460ff16155b15610d4e57610d49838383610f1b565b610e4c565b6001600160a01b03831660009081526004602052604090205460ff16158015610d8f57506001600160a01b03821660009081526004602052604090205460ff165b15610d9f57610d49838383611032565b6001600160a01b03831660009081526004602052604090205460ff16158015610de157506001600160a01b03821660009081526004602052604090205460ff16155b15610df157610d498383836110d8565b6001600160a01b03831660009081526004602052604090205460ff168015610e3157506001600160a01b03821660009081526004602052604090205460ff165b15610e4157610d49838383611119565b610e4c8383836110d8565b505050565b60008184841115610e755760405162461bcd60e51b815260040161031091906114bb565b505050900390565b6000806000610e8a611189565b9092509050610e998282610ea0565b9250505090565b6000610bc58284611813565b60008080610ec66064610ec086600261135a565b90610ea0565b90506000610ed48583610bb9565b935090915050915091565b6000808080610eee878661135a565b90506000610efc878761135a565b90506000610f0a8383610bb9565b929992985090965090945050505050565b6000806000806000610f2c86610b6d565b6001600160a01b038d1660009081526002602052604090205494995092975090955093509150610f5c9087610bb9565b6001600160a01b038916600090815260026020908152604080832093909355600190522054610f8b9086610bb9565b6001600160a01b03808a166000908152600160205260408082209390935590891681522054610fba9085610bcc565b6001600160a01b038816600090815260016020526040902055610fdd8382611366565b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161102091906117e4565b60405180910390a35050505050505050565b600080600080600061104386610b6d565b6001600160a01b038d16600090815260016020526040902054949950929750909550935091506110739086610bb9565b6001600160a01b03808a16600090815260016020908152604080832094909455918a168152600290915220546110a99083610bcc565b6001600160a01b038816600090815260026020908152604080832093909355600190522054610fba9085610bcc565b60008060008060006110e986610b6d565b6001600160a01b038d1660009081526001602052604090205494995092975090955093509150610f8b9086610bb9565b600080600080600061112a86610b6d565b6001600160a01b038d166000908152600260205260409020549499509297509095509350915061115a9087610bb9565b6001600160a01b0389166000908152600260209081526040808320939093556001905220546110739086610bb9565b6006546000908190662386f26fc10000825b60055481101561131e578260016000600584815481106111cb57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611244575081600260006005848154811061121d57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1561126057600654662386f26fc1000094509450505050611356565b6112b4600160006005848154811061128857634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020548490610bb9565b925061130a60026000600584815481106112de57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020548390610bb9565b915080611316816118a4565b91505061119b565b5060065461133390662386f26fc10000610ea0565b82101561135057600654662386f26fc10000935093505050611356565b90925090505b9091565b6000610bc58284611833565b6006546113739083610bb9565b6006556007546113839082610bcc565b6007555050565b80356001600160a01b038116811461051257600080fd5b6000602082840312156113b2578081fd5b610bc58261138a565b600080604083850312156113cd578081fd5b6113d68361138a565b91506113e46020840161138a565b90509250929050565b600080600060608486031215611401578081fd5b61140a8461138a565b92506114186020850161138a565b9150604084013590509250925092565b6000806040838503121561143a578182fd5b6114438361138a565b946020939093013593505050565b600060208284031215611462578081fd5b5035919050565b6000806040838503121561147b578182fd5b8235915060208301358015158114611491578182fd5b809150509250929050565b6001600160a01b0391909116815260200190565b901515815260200190565b6000602080835283518082850152825b818110156114e7578581018301518582016040015282016114cb565b818111156114f85783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b6020808252602a908201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260408201526965666c656374696f6e7360b01b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604082015260600190565b6020808252601f908201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252602c908201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460408201526b3434b990333ab731ba34b7b760a11b606082015260800190565b90815260200190565b60ff91909116815260200190565b6000821982111561180e5761180e6118bf565b500190565b60008261182e57634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561184d5761184d6118bf565b500290565b600082821015611864576118646118bf565b500390565b60028104600182168061187d57607f821691505b6020821081141561189e57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156118b8576118b86118bf565b5060010190565b634e487b7160e01b600052601160045260246000fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220a3dd0b26ee39dae95a8bfe273141ff8674bd605432f404cb8c50006725ee0d1c64736f6c63430008010033
Deployed ByteCode Sourcemap
20882:10123:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23847:376;;;;;;:::i;:::-;;:::i;:::-;;21729:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22641:161;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;23752:87::-;;;:::i;:::-;;;;;;;:::i;22006:95::-;;;:::i;22810:313::-;;;;;;:::i;:::-;;:::i;24673:253::-;;;;;;:::i;:::-;;:::i;21915:83::-;;;:::i;:::-;;;;;;;:::i;23131:218::-;;;;;;:::i;:::-;;:::i;24231:434::-;;;;;;:::i;:::-;;:::i;22109:198::-;;;;;;:::i;:::-;;:::i;2666:148::-;;;:::i;2015:87::-;;;:::i;:::-;;;;;;;:::i;21820:::-;;;:::i;23357:269::-;;;;;;:::i;:::-;;:::i;22315:167::-;;;;;;:::i;:::-;;:::i;23634:110::-;;;;;;:::i;:::-;;:::i;22490:143::-;;;;;;:::i;:::-;;:::i;24934:332::-;;;;;;:::i;:::-;;:::i;2969:244::-;;;;;;:::i;:::-;;:::i;25274:478::-;;;;;;:::i;:::-;;:::i;23847:376::-;23899:14;23916:12;:10;:12::i;:::-;-1:-1:-1;;;;;23948:19:0;;;;;;:11;:19;;;;;;23899:29;;-1:-1:-1;23948:19:0;;23947:20;23939:77;;;;-1:-1:-1;;;23939:77:0;;;;;;;:::i;:::-;;;;;;;;;24028:15;24051:19;24062:7;24051:10;:19::i;:::-;-1:-1:-1;;;;;;;;;24099:15:0;;;;;;:7;:15;;;;;;24027:43;;-1:-1:-1;24099:28:0;;24027:43;24099:19;:28::i;:::-;-1:-1:-1;;;;;24081:15:0;;;;;;:7;:15;;;;;:46;24148:7;;:20;;24160:7;24148:11;:20::i;:::-;24138:7;:30;24192:10;;:23;;24207:7;24192:14;:23::i;:::-;24179:10;:36;-1:-1:-1;;;23847:376:0:o;21729:83::-;21766:13;21799:5;21792:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21729:83;:::o;22641:161::-;22716:4;22733:39;22742:12;:10;:12::i;:::-;22756:7;22765:6;22733:8;:39::i;:::-;-1:-1:-1;22790:4:0;22641:161;;;;;:::o;23752:87::-;23821:10;;23752:87;:::o;22006:95::-;21357:18;22006:95;:::o;22810:313::-;22908:4;22925:36;22935:6;22943:9;22954:6;22925:9;:36::i;:::-;22972:121;22981:6;22989:12;:10;:12::i;:::-;23003:89;23041:6;23003:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23003:19:0;;;;;;:11;:19;;;;;;23023:12;:10;:12::i;:::-;-1:-1:-1;;;;;23003:33:0;;;;;;;;;;;;-1:-1:-1;23003:33:0;;;:89;:37;:89::i;:::-;22972:8;:121::i;:::-;-1:-1:-1;23111:4:0;22810:313;;;;;:::o;24673:253::-;24739:7;24778;;24767;:18;;24759:73;;;;-1:-1:-1;;;24759:73:0;;;;;;;:::i;:::-;24843:19;24866:10;:8;:10::i;:::-;24843:33;-1:-1:-1;24894:24:0;:7;24843:33;24894:11;:24::i;:::-;24887:31;;;24673:253;;;;:::o;21915:83::-;21981:9;;;;21915:83;:::o;23131:218::-;23219:4;23236:83;23245:12;:10;:12::i;:::-;23259:7;23268:50;23307:10;23268:11;:25;23280:12;:10;:12::i;:::-;-1:-1:-1;;;;;23268:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;23268:25:0;;;:34;;;;;;;;;;;:38;:50::i;24231:434::-;24321:7;21357:18;24349:7;:18;;24341:62;;;;-1:-1:-1;;;24341:62:0;;;;;;;:::i;:::-;24419:17;24414:244;;24454:15;24477:19;24488:7;24477:10;:19::i;:::-;-1:-1:-1;24453:43:0;;-1:-1:-1;24511:14:0;;-1:-1:-1;;;;24511:14:0;24414:244;24560:23;24590:19;24601:7;24590:10;:19::i;:::-;-1:-1:-1;24558:51:0;;-1:-1:-1;24624:22:0;;-1:-1:-1;;;;24624:22:0;22109:198;-1:-1:-1;;;;;22199:20:0;;22175:7;22199:20;;;:11;:20;;;;;;;;22195:49;;;-1:-1:-1;;;;;;22228:16:0;;;;;;:7;:16;;;;;;22221:23;;22195:49;-1:-1:-1;;;;;22282:16:0;;;;;;:7;:16;;;;;;22262:37;;:19;:37::i;2666:148::-;2246:12;:10;:12::i;:::-;-1:-1:-1;;;;;2235:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;2235:23:0;;2227:68;;;;-1:-1:-1;;;2227:68:0;;;;;;;:::i;:::-;2773:1:::1;2757:6:::0;;2736:40:::1;::::0;-1:-1:-1;;;;;2757:6:0;;::::1;::::0;2736:40:::1;::::0;2773:1;;2736:40:::1;2804:1;2787:19:::0;;-1:-1:-1;;;;;;2787:19:0::1;::::0;;2666:148::o;2015:87::-;2061:7;2088:6;-1:-1:-1;;;;;2088:6:0;2015:87;:::o;21820:::-;21859:13;21892:7;21885:14;;;;;:::i;23357:269::-;23450:4;23467:129;23476:12;:10;:12::i;:::-;23490:7;23499:96;23538:15;23499:96;;;;;;;;;;;;;;;;;:11;:25;23511:12;:10;:12::i;:::-;-1:-1:-1;;;;;23499:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;23499:25:0;;;:34;;;;;;;;;;;:96;:38;:96::i;22315:167::-;22393:4;22410:42;22420:12;:10;:12::i;:::-;22434:9;22445:6;22410:9;:42::i;23634:110::-;-1:-1:-1;;;;;23716:20:0;23692:4;23716:20;;;:11;:20;;;;;;;;;23634:110::o;22490:143::-;-1:-1:-1;;;;;22598:18:0;;;22571:7;22598:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;22490:143::o;24934:332::-;2246:12;:10;:12::i;:::-;-1:-1:-1;;;;;2235:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;2235:23:0;;2227:68;;;;-1:-1:-1;;;2227:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;25016:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;25015:21;25007:61;;;;-1:-1:-1::0;;;25007:61:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;25082:16:0;::::1;25101:1;25082:16:::0;;;:7:::1;:16;::::0;;;;;:20;25079:108:::1;;-1:-1:-1::0;;;;;25158:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;25138:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;25119:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;25079:108:::1;-1:-1:-1::0;;;;;25197:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;25197:27:0::1;25220:4;25197:27:::0;;::::1;::::0;;;25235:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;25235:23:0::1;::::0;;::::1;::::0;;24934:332::o;2969:244::-;2246:12;:10;:12::i;:::-;-1:-1:-1;;;;;2235:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;2235:23:0;;2227:68;;;;-1:-1:-1;;;2227:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3058:22:0;::::1;3050:73;;;;-1:-1:-1::0;;;3050:73:0::1;;;;;;;:::i;:::-;3160:6;::::0;;3139:38:::1;::::0;-1:-1:-1;;;;;3139:38:0;;::::1;::::0;3160:6;::::1;::::0;3139:38:::1;::::0;::::1;3188:6;:17:::0;;-1:-1:-1;;;;;;3188:17:0::1;-1:-1:-1::0;;;;;3188:17:0;;;::::1;::::0;;;::::1;::::0;;2969:244::o;25274:478::-;2246:12;:10;:12::i;:::-;-1:-1:-1;;;;;2235:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;2235:23:0;;2227:68;;;;-1:-1:-1;;;2227:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;25355:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;25347:60;;;;-1:-1:-1::0;;;25347:60:0::1;;;;;;;:::i;:::-;25423:9;25418:327;25442:9;:16:::0;25438:20;::::1;25418:327;;;25500:7;-1:-1:-1::0;;;;;25484:23:0::1;:9;25494:1;25484:12;;;;;;-1:-1:-1::0;;;25484:12:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;25484:12:0::1;:23;25480:254;;;25543:9;25553:16:::0;;:20:::1;::::0;25572:1:::1;::::0;25553:20:::1;:::i;:::-;25543:31;;;;;;-1:-1:-1::0;;;25543:31:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;25528:9:::1;:12:::0;;-1:-1:-1;;;;;25543:31:0;;::::1;::::0;25538:1;;25528:12;::::1;;;-1:-1:-1::0;;;25528:12:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;25528:46:0::1;-1:-1:-1::0;;;;;25528:46:0;;::::1;;::::0;;25593:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;25632:11:::1;:20:::0;;;;:28;;-1:-1:-1;;25632:28:0::1;::::0;;25679:9:::1;:15:::0;;;::::1;;-1:-1:-1::0;;;25679:15:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;25679:15:0;;;;;-1:-1:-1;;;;;;25679:15:0::1;::::0;;;;;25713:5:::1;;25480:254;25460:3:::0;::::1;::::0;::::1;:::i;:::-;;;;25418:327;;;;25274:478:::0;:::o;602:98::-;682:10;602:98;:::o;29277:411::-;29336:7;29345;29354;29363;29372;29393:23;29418:12;29434:20;29446:7;29434:11;:20::i;:::-;29392:62;;;;29465:19;29488:10;:8;:10::i;:::-;29465:33;;29510:15;29527:23;29552:12;29568:39;29580:7;29589:4;29595:11;29568;:39::i;:::-;29509:98;;;;-1:-1:-1;29509:98:0;;-1:-1:-1;29658:15:0;;-1:-1:-1;29675:4:0;;-1:-1:-1;29277:411:0;;-1:-1:-1;;;;;;29277:411:0:o;14074:98::-;14132:7;14159:5;14163:1;14159;:5;:::i;:::-;14152:12;14074:98;-1:-1:-1;;;14074:98:0:o;13693:::-;13751:7;13778:5;13782:1;13778;:5;:::i;25760:337::-;-1:-1:-1;;;;;25853:19:0;;25845:68;;;;-1:-1:-1;;;25845:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;25932:21:0;;25924:68;;;;-1:-1:-1;;;25924:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;26005:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;26057:32;;;;;26035:6;;26057:32;:::i;:::-;;;;;;;;25760:337;;;:::o;26105:931::-;-1:-1:-1;;;;;26202:20:0;;26194:70;;;;-1:-1:-1;;;26194:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;26283:23:0;;26275:71;;;;-1:-1:-1;;;26275:71:0;;;;;;;:::i;:::-;26374:1;26365:6;:10;26357:64;;;;-1:-1:-1;;;26357:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;26436:19:0;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;26460:22:0;;;;;;:11;:22;;;;;;;;26459:23;26436:46;26432:597;;;26499:48;26521:6;26529:9;26540:6;26499:21;:48::i;:::-;26432:597;;;-1:-1:-1;;;;;26570:19:0;;;;;;:11;:19;;;;;;;;26569:20;:46;;;;-1:-1:-1;;;;;;26593:22:0;;;;;;:11;:22;;;;;;;;26569:46;26565:464;;;26632:46;26652:6;26660:9;26671:6;26632:19;:46::i;26565:464::-;-1:-1:-1;;;;;26701:19:0;;;;;;:11;:19;;;;;;;;26700:20;:47;;;;-1:-1:-1;;;;;;26725:22:0;;;;;;:11;:22;;;;;;;;26724:23;26700:47;26696:333;;;26764:44;26782:6;26790:9;26801:6;26764:17;:44::i;26696:333::-;-1:-1:-1;;;;;26830:19:0;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;26853:22:0;;;;;;:11;:22;;;;;;;;26830:45;26826:203;;;26892:48;26914:6;26922:9;26933:6;26892:21;:48::i;26826:203::-;26973:44;26991:6;26999:9;27010:6;26973:17;:44::i;:::-;26105:931;;;:::o;15972:206::-;16058:7;16119:12;16111:6;;;;16103:29;;;;-1:-1:-1;;;16103:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;16154:5:0;;;15972:206::o;30276:163::-;30317:7;30338:15;30355;30374:19;:17;:19::i;:::-;30337:56;;-1:-1:-1;30337:56:0;-1:-1:-1;30411:20:0;30337:56;;30411:11;:20::i;:::-;30404:27;;;;30276:163;:::o;14830:98::-;14888:7;14915:5;14919:1;14915;:5;:::i;29696:230::-;29756:7;;;29800:23;29819:3;29800:14;:7;29812:1;29800:11;:14::i;:::-;:18;;:23::i;:::-;29785:38;-1:-1:-1;29834:23:0;29860:17;:7;29785:38;29860:11;:17::i;:::-;29834:43;-1:-1:-1;29913:4:0;;-1:-1:-1;;29696:230:0;;;:::o;29934:334::-;30029:7;;;;30085:24;:7;30097:11;30085;:24::i;:::-;30067:42;-1:-1:-1;30120:12:0;30135:21;:4;30144:11;30135:8;:21::i;:::-;30120:36;-1:-1:-1;30167:23:0;30193:17;:7;30120:36;30193:11;:17::i;:::-;30229:7;;;;-1:-1:-1;30255:4:0;;-1:-1:-1;29934:334:0;;-1:-1:-1;;;;;29934:334:0:o;28023:506::-;28126:15;28143:23;28168:12;28182:23;28207:12;28223:19;28234:7;28223:10;:19::i;:::-;-1:-1:-1;;;;;28271:15:0;;;;;;:7;:15;;;;;;28125:117;;-1:-1:-1;28125:117:0;;-1:-1:-1;28125:117:0;;-1:-1:-1;28125:117:0;-1:-1:-1;28125:117:0;-1:-1:-1;28271:28:0;;28291:7;28271:19;:28::i;:::-;-1:-1:-1;;;;;28253:15:0;;;;;;:7;:15;;;;;;;;:46;;;;28328:7;:15;;;;:28;;28348:7;28328:19;:28::i;:::-;-1:-1:-1;;;;;28310:15:0;;;;;;;:7;:15;;;;;;:46;;;;28388:18;;;;;;;:39;;28411:15;28388:22;:39::i;:::-;-1:-1:-1;;;;;28367:18:0;;;;;;:7;:18;;;;;:60;28438:23;28450:4;28456;28438:11;:23::i;:::-;28494:9;-1:-1:-1;;;;;28477:44:0;28486:6;-1:-1:-1;;;;;28477:44:0;;28505:15;28477:44;;;;;;:::i;:::-;;;;;;;;28023:506;;;;;;;;:::o;27497:518::-;27598:15;27615:23;27640:12;27654:23;27679:12;27695:19;27706:7;27695:10;:19::i;:::-;-1:-1:-1;;;;;27743:15:0;;;;;;:7;:15;;;;;;27597:117;;-1:-1:-1;27597:117:0;;-1:-1:-1;27597:117:0;;-1:-1:-1;27597:117:0;-1:-1:-1;27597:117:0;-1:-1:-1;27743:28:0;;27597:117;27743:19;:28::i;:::-;-1:-1:-1;;;;;27725:15:0;;;;;;;:7;:15;;;;;;;;:46;;;;27803:18;;;;;:7;:18;;;;;:39;;27826:15;27803:22;:39::i;:::-;-1:-1:-1;;;;;27782:18:0;;;;;;:7;:18;;;;;;;;:60;;;;27874:7;:18;;;;:39;;27897:15;27874:22;:39::i;27044:445::-;27143:15;27160:23;27185:12;27199:23;27224:12;27240:19;27251:7;27240:10;:19::i;:::-;-1:-1:-1;;;;;27288:15:0;;;;;;:7;:15;;;;;;27142:117;;-1:-1:-1;27142:117:0;;-1:-1:-1;27142:117:0;;-1:-1:-1;27142:117:0;-1:-1:-1;27142:117:0;-1:-1:-1;27288:28:0;;27142:117;27288:19;:28::i;28537:577::-;28640:15;28657:23;28682:12;28696:23;28721:12;28737:19;28748:7;28737:10;:19::i;:::-;-1:-1:-1;;;;;28785:15:0;;;;;;:7;:15;;;;;;28639:117;;-1:-1:-1;28639:117:0;;-1:-1:-1;28639:117:0;;-1:-1:-1;28639:117:0;-1:-1:-1;28639:117:0;-1:-1:-1;28785:28:0;;28805:7;28785:19;:28::i;:::-;-1:-1:-1;;;;;28767:15:0;;;;;;:7;:15;;;;;;;;:46;;;;28842:7;:15;;;;:28;;28862:7;28842:19;:28::i;30447:555::-;30544:7;;30497;;;;21357:18;30497:7;30598:289;30622:9;:16;30618:20;;30598:289;;;30688:7;30664;:21;30672:9;30682:1;30672:12;;;;;;-1:-1:-1;;;30672:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30672:12:0;30664:21;;;;;;;;;;;;;:31;;:66;;;30723:7;30699;:21;30707:9;30717:1;30707:12;;;;;;-1:-1:-1;;;30707:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30707:12:0;30699:21;;;;;;;;;;;;;:31;30664:66;30660:97;;;30740:7;;21357:18;30732:25;;;;;;;;;30660:97;30782:34;30794:7;:21;30802:9;30812:1;30802:12;;;;;;-1:-1:-1;;;30802:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30802:12:0;30794:21;;;;;;;;;;;;;30782:7;;:11;:34::i;:::-;30772:44;;30841:34;30853:7;:21;30861:9;30871:1;30861:12;;;;;;-1:-1:-1;;;30861:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30861:12:0;30853:21;;;;;;;;;;;;;30841:7;;:11;:34::i;:::-;30831:44;-1:-1:-1;30640:3:0;;;;:::i;:::-;;;;30598:289;;;-1:-1:-1;30911:7:0;;:20;;21357:18;30911:11;:20::i;:::-;30901:7;:30;30897:61;;;30941:7;;21357:18;30933:25;;;;;;;;30897:61;30977:7;;-1:-1:-1;30986:7:0;-1:-1:-1;30447:555:0;;;:::o;14431:98::-;14489:7;14516:5;14520:1;14516;:5;:::i;29122:147::-;29200:7;;:17;;29212:4;29200:11;:17::i;:::-;29190:7;:27;29241:10;;:20;;29256:4;29241:14;:20::i;:::-;29228:10;:33;-1:-1:-1;;29122:147:0:o;14:175:1:-;84:20;;-1:-1:-1;;;;;133:31:1;;123:42;;113:2;;179:1;176;169:12;194:198;;306:2;294:9;285:7;281:23;277:32;274:2;;;327:6;319;312:22;274:2;355:31;376:9;355:31;:::i;397:274::-;;;526:2;514:9;505:7;501:23;497:32;494:2;;;547:6;539;532:22;494:2;575:31;596:9;575:31;:::i;:::-;565:41;;625:40;661:2;650:9;646:18;625:40;:::i;:::-;615:50;;484:187;;;;;:::o;676:342::-;;;;822:2;810:9;801:7;797:23;793:32;790:2;;;843:6;835;828:22;790:2;871:31;892:9;871:31;:::i;:::-;861:41;;921:40;957:2;946:9;942:18;921:40;:::i;:::-;911:50;;1008:2;997:9;993:18;980:32;970:42;;780:238;;;;;:::o;1023:266::-;;;1152:2;1140:9;1131:7;1127:23;1123:32;1120:2;;;1173:6;1165;1158:22;1120:2;1201:31;1222:9;1201:31;:::i;:::-;1191:41;1279:2;1264:18;;;;1251:32;;-1:-1:-1;;;1110:179:1:o;1294:190::-;;1406:2;1394:9;1385:7;1381:23;1377:32;1374:2;;;1427:6;1419;1412:22;1374:2;-1:-1:-1;1455:23:1;;1364:120;-1:-1:-1;1364:120:1:o;1489:361::-;;;1615:2;1603:9;1594:7;1590:23;1586:32;1583:2;;;1636:6;1628;1621:22;1583:2;1677:9;1664:23;1654:33;;1737:2;1726:9;1722:18;1709:32;1784:5;1777:13;1770:21;1763:5;1760:32;1750:2;;1811:6;1803;1796:22;1750:2;1839:5;1829:15;;;1573:277;;;;;:::o;1855:203::-;-1:-1:-1;;;;;2019:32:1;;;;2001:51;;1989:2;1974:18;;1956:102::o;2063:187::-;2228:14;;2221:22;2203:41;;2191:2;2176:18;;2158:92::o;2255:603::-;;2396:2;2425;2414:9;2407:21;2457:6;2451:13;2500:6;2495:2;2484:9;2480:18;2473:34;2525:4;2538:140;2552:6;2549:1;2546:13;2538:140;;;2647:14;;;2643:23;;2637:30;2613:17;;;2632:2;2609:26;2602:66;2567:10;;2538:140;;;2696:6;2693:1;2690:13;2687:2;;;2766:4;2761:2;2752:6;2741:9;2737:22;2733:31;2726:45;2687:2;-1:-1:-1;2842:2:1;2821:15;-1:-1:-1;;2817:29:1;2802:45;;;;2849:2;2798:54;;2376:482;-1:-1:-1;;;2376:482:1:o;2863:399::-;3065:2;3047:21;;;3104:2;3084:18;;;3077:30;3143:34;3138:2;3123:18;;3116:62;-1:-1:-1;;;3209:2:1;3194:18;;3187:33;3252:3;3237:19;;3037:225::o;3267:406::-;3469:2;3451:21;;;3508:2;3488:18;;;3481:30;3547:34;3542:2;3527:18;;3520:62;-1:-1:-1;;;3613:2:1;3598:18;;3591:40;3663:3;3648:19;;3441:232::o;3678:402::-;3880:2;3862:21;;;3919:2;3899:18;;;3892:30;3958:34;3953:2;3938:18;;3931:62;-1:-1:-1;;;4024:2:1;4009:18;;4002:36;4070:3;4055:19;;3852:228::o;4085:398::-;4287:2;4269:21;;;4326:2;4306:18;;;4299:30;4365:34;4360:2;4345:18;;4338:62;-1:-1:-1;;;4431:2:1;4416:18;;4409:32;4473:3;4458:19;;4259:224::o;4488:351::-;4690:2;4672:21;;;4729:2;4709:18;;;4702:30;4768:29;4763:2;4748:18;;4741:57;4830:2;4815:18;;4662:177::o;4844:355::-;5046:2;5028:21;;;5085:2;5065:18;;;5058:30;5124:33;5119:2;5104:18;;5097:61;5190:2;5175:18;;5018:181::o;5204:356::-;5406:2;5388:21;;;5425:18;;;5418:30;5484:34;5479:2;5464:18;;5457:62;5551:2;5536:18;;5378:182::o;5565:405::-;5767:2;5749:21;;;5806:2;5786:18;;;5779:30;5845:34;5840:2;5825:18;;5818:62;-1:-1:-1;;;5911:2:1;5896:18;;5889:39;5960:3;5945:19;;5739:231::o;5975:401::-;6177:2;6159:21;;;6216:2;6196:18;;;6189:30;6255:34;6250:2;6235:18;;6228:62;-1:-1:-1;;;6321:2:1;6306:18;;6299:35;6366:3;6351:19;;6149:227::o;6381:400::-;6583:2;6565:21;;;6622:2;6602:18;;;6595:30;6661:34;6656:2;6641:18;;6634:62;-1:-1:-1;;;6727:2:1;6712:18;;6705:34;6771:3;6756:19;;6555:226::o;6786:408::-;6988:2;6970:21;;;7027:2;7007:18;;;7000:30;7066:34;7061:2;7046:18;;7039:62;-1:-1:-1;;;7132:2:1;7117:18;;7110:42;7184:3;7169:19;;6960:234::o;7199:177::-;7345:25;;;7333:2;7318:18;;7300:76::o;7381:184::-;7553:4;7541:17;;;;7523:36;;7511:2;7496:18;;7478:87::o;7570:128::-;;7641:1;7637:6;7634:1;7631:13;7628:2;;;7647:18;;:::i;:::-;-1:-1:-1;7683:9:1;;7618:80::o;7703:217::-;;7769:1;7759:2;;-1:-1:-1;;;7794:31:1;;7848:4;7845:1;7838:15;7876:4;7801:1;7866:15;7759:2;-1:-1:-1;7905:9:1;;7749:171::o;7925:168::-;;8031:1;8027;8023:6;8019:14;8016:1;8013:21;8008:1;8001:9;7994:17;7990:45;7987:2;;;8038:18;;:::i;:::-;-1:-1:-1;8078:9:1;;7977:116::o;8098:125::-;;8166:1;8163;8160:8;8157:2;;;8171:18;;:::i;:::-;-1:-1:-1;8208:9:1;;8147:76::o;8228:380::-;8313:1;8303:12;;8360:1;8350:12;;;8371:2;;8425:4;8417:6;8413:17;8403:27;;8371:2;8478;8470:6;8467:14;8447:18;8444:38;8441:2;;;8524:10;8519:3;8515:20;8512:1;8505:31;8559:4;8556:1;8549:15;8587:4;8584:1;8577:15;8441:2;;8283:325;;;:::o;8613:135::-;;-1:-1:-1;;8673:17:1;;8670:2;;;8693:18;;:::i;:::-;-1:-1:-1;8740:1:1;8729:13;;8660:88::o;8753:127::-;8814:10;8809:3;8805:20;8802:1;8795:31;8845:4;8842:1;8835:15;8869:4;8866:1;8859:15
Swarm Source
ipfs://a3dd0b26ee39dae95a8bfe273141ff8674bd605432f404cb8c50006725ee0d1c
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.