Contract 0x64dB5e5280421789Af5c253a5aB260278ffd40ED

 
Txn Hash
Method
Block
From
To
Value
0xc296370cc0c80a4a7ccaf36895cd40b5026a86cb01cd723cf5868ca1231fdbaaApprove155317102022-09-14 7:37:5722 days 2 hrs ago0x6e1ca1e6279ec6806c098069f30cce893917c246 IN  Diffract Finance: DFR Token 0 Ether0.00026218 9.99835143
0xa40e10720d554776937f97525e36a6c523cebf62d06831fe65922c2c6d067747Approve155317092022-09-14 7:37:2622 days 2 hrs ago0x6e1ca1e6279ec6806c098069f30cce893917c246 IN  Diffract Finance: DFR Token 0 Ether0.00021974 9.07161744
0x855e8d653b879f4f27f3a52d794940285e9e53997eb16e2ae85383f6994286fcApprove154634802022-09-03 5:14:5233 days 5 hrs agoENS Name suneel99.eth IN  Diffract Finance: DFR Token 0 Ether0.0004043 16.69077804
0xb067a110fc91b5c30f90eb7b077930171d92c182be769fcfef80b64afabc4544Approve152840152022-08-05 18:44:3161 days 15 hrs agoENS Name bhimkumar.eth IN  Diffract Finance: DFR Token 0 Ether0.00022961 9.47903941
0xbb9e3c33c4e185c054b2a2e6e88dadfbfb0124d068ea48c0256a82bb90e134c8Approve152472342022-07-31 1:14:1967 days 9 hrs ago0x33f4b13421d9dd7c2d5a2d27976052888d267be4 IN  Diffract Finance: DFR Token 0 Ether0.0001246 5.14419324
0x53a1f73612fb026f7117c1c135dfc5d5426323349d493dd6c2718d192071ea91Transfer144254402022-03-20 20:32:55199 days 13 hrs ago0xa950cf8e1a09c6316e87cba7741fcbc03cc5b37c IN  Diffract Finance: DFR Token 0 Ether0.00191884 26.94623666
0xff3c63396120bc1445b0c20ab147b419c6f5fc495c3f91e7d3f205ceed9f1c3cApprove133767122021-10-08 6:58:17363 days 3 hrs agoENS Name redsun.eth IN  Diffract Finance: DFR Token 0 Ether0.00538392 115.76598446
0x92879912ad16d626ac594140c4e89e01497446994a53958363b7338760440fceApprove132790602021-09-23 1:28:46378 days 8 hrs agoENS Name himate.eth IN  Diffract Finance: DFR Token 0 Ether0.00149594 61.75716844
0x8066ebe5e1890da6ec1588d54160159a3870aaf2f0f6fbeaebb070de57786190Approve128806412021-07-23 5:00:55440 days 5 hrs ago0x5b3ad6b90634bb66847d8fe13f22a16561fbd856 IN  Diffract Finance: DFR Token 0 Ether0.0007441116
0x62887f782455db29f1c6cecdd8809364adf1bf4a8ee8c642cc86bdaa43ebcf5aApprove127608242021-07-04 11:46:16458 days 22 hrs ago0x854de5feddd1a036a05c23850128760f6e0c776d IN  Diffract Finance: DFR Token 0 Ether0.000374388.05
0x8c3985c60ff9726700a003157f8b41375870021233f58e8fae2a104141e1bf15Approve126483872021-06-16 23:16:21476 days 11 hrs ago0xae53da800615d544cc74befb81eb409428d2d1bd IN  Diffract Finance: DFR Token 0 Ether0.0008696818.7
0x34be704852863fca09f5f28e13c2898a205a62eb1d630161fe9ebe51b00972edApprove125565312021-06-02 17:53:59490 days 16 hrs agoENS Name crypto-taurus.eth IN  Diffract Finance: DFR Token 0 Ether0.001999843
0x07d25d91d6c0c2ae3c7ac88583d2ac471b79b4b549e5ab18a028ff31a551148eApprove123413812021-04-30 10:47:44523 days 23 hrs ago0x92fa4cb1c987a3494bfde001cc37fb0a0e35f8bb IN  Diffract Finance: DFR Token 0 Ether0.0013952130.00000134
0xf1e95a5c3152bb354577aea940c2a5407ee973cca15857f2eb4b88b2ec5ea063Approve123118072021-04-25 21:18:27528 days 12 hrs ago0x1b4e282659ee2669cefa4bee2c5b7556b8a30196 IN  Diffract Finance: DFR Token 0 Ether0.0028648361.6
0x95de9561f58078ab792c1ca923164f0d3c80bbcdd908708b8c356995c3154777Approve123062052021-04-25 0:30:41529 days 9 hrs ago0x4f07e490cb7d6bf534c6841070c8a1d1c203ecb8 IN  Diffract Finance: DFR Token 0 Ether0.0020928145
0x4176205afd18cb8077730d35fb78cea2dfaaa144377be8381ff2837808fd28faApprove121901692021-04-07 3:06:10547 days 7 hrs ago0x3ff6ca61a2fdb49ba124c15e315813c688711a67 IN  Diffract Finance: DFR Token 0 Ether0.0040410391.00000145
0x75a1f08d2460c6efe3c732c22313c5c312e30300dd059a99a75063c299f9ce92Approve120803702021-03-21 5:51:37564 days 4 hrs ago0x658a1170a540c98b3dc63b044f6560acff7eb49b IN  Diffract Finance: DFR Token 0 Ether0.0040410391
0x1213d67217c5fc8f609d1fd2f11bab49360d806e8248c2051b6d8a9c0a96c23bTransfer119505942021-03-01 6:03:21584 days 4 hrs ago0xf29680cfb7893cf142c603580604d748a7de6e65 IN  Diffract Finance: DFR Token 0 Ether0.0049460569
0x3f665544f2bc1b6ae246dfe9c6a03f797608f2415056a50d0a1ee675215e2d11Approve118839392021-02-19 0:03:10594 days 10 hrs ago0x6e0bcc54243be0c43a38f9615f8c5a9f5284ee97 IN  Diffract Finance: DFR Token 0 Ether0.00649674146.3
0xfca7dacc3a17a503316fcf59c4366de453b4d9b689ec0bdf0cf29c711cdaf43dTransfer118695502021-02-16 18:45:48596 days 15 hrs ago0xa8e573951698cacaca1b33897dbb41f4f1a37312 IN  Diffract Finance: DFR Token 0 Ether0.01553515216
0xa076464524d9edfbfcc6cbfba8df692f72dc276cb1a72a65e111ec50aab44fcdApprove118327552021-02-11 3:11:08602 days 7 hrs agoENS Name himate.eth IN  Diffract Finance: DFR Token 0 Ether0.00515121116
0x26688d6e2f56480c70b375840f7d7a74b47771479ebc88d9312639a5401a87b8Transfer117742372021-02-02 2:54:24611 days 7 hrs ago0xf29680cfb7893cf142c603580604d748a7de6e65 IN  Diffract Finance: DFR Token 0 Ether0.00505101
0x6ef925997298dad263e3e3ab5f7f4746139ae59d76b3820560fb900dbd7bb957Approve117207802021-01-24 21:30:18619 days 12 hrs ago0xa1710b829d227e2d11098ca15b0ff33d95aa9fee IN  Diffract Finance: DFR Token 0 Ether0.0023091652
0x954959cd3c0c328858ffa9bb4312288ece2cc714cef5512c4339b907b66a72feApprove116887372021-01-19 23:26:48624 days 10 hrs ago0x4b2d70fff5882d81b73f1ec49d4c833a8dfbe56c IN  Diffract Finance: DFR Token 0 Ether0.0026897961
0x0b5f35b9f87029fbed388ddec8926960e44eb49744aa31acca0afc4fa7c7ebe3Approve116782532021-01-18 8:50:06626 days 1 hr ago0x5824f3522d5b789ec8df53180f35dc6d1c32d45e IN  Diffract Finance: DFR Token 0 Ether0.0032239472.6
[ Download CSV Export 

OVERVIEW

DFR is an experimental project where transactions are taxed at a 1% fee which is then redistributed amongst holders. Holders will not have to stake their tokens as balances are automatically increased when a transfer takes place.

View more zero value Internal Transactions in Advanced View mode
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DIFFRACT

Compiler Version
v0.6.2+commit.bacdbe57

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license, Audited

Contract Source Code (Solidity)Audit Report

/**
 *Submitted for verification at Etherscan.io on 2020-12-16
*/

pragma solidity ^0.6.0;

abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

pragma solidity ^0.6.0;

interface IERC20 {
  
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}

pragma solidity ^0.6.0;

library SafeMath {
    
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

pragma solidity ^0.6.2;

library Address {
    
    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    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");
    }

    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");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {

            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}


pragma solidity ^0.6.0;

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

pragma solidity ^0.6.2;

contract DIFFRACT 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 = 83 * 10**4 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    string private _name = 'Diffract Finance';
    string private _symbol = 'DFR';
    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 tokenFromdiffraction(_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 diffract(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 diffractionFromToken(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 tokenFromdiffraction(uint256 rAmount) public view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total diffractions");
        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] = tokenFromdiffraction(_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);       
        _diffractFee(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);           
        _diffractFee(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);   
        _diffractFee(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);        
        _diffractFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _diffractFee(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.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);
    }
}

Contract Security Audit

Contract ABI

[{"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":"uint256","name":"tAmount","type":"uint256"}],"name":"diffract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"diffractionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"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":"tokenFromdiffraction","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"}]

658686b58cbfff1960065560c0604052601060808190526f44696666726163742046696e616e636560801b60a09081526200003e91600891906200018a565b506040805180820190915260038082526222232960e91b60209092019182526200006b916009916200018a565b50600a805460ff191660091790553480156200008657600080fd5b5060006200009c6001600160e01b036200018516565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060065460016000620001006001600160e01b036200018516565b6001600160a01b031681526020810191909152604001600020556200012d6001600160e01b036200018516565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6602f2e16f29e0006040518082815260200191505060405180910390a36200022c565b335b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001cd57805160ff1916838001178555620001fd565b82800160010185558215620001fd579182015b82811115620001fd578251825591602001919060010190620001e0565b506200020b9291506200020f565b5090565b6200018791905b808211156200020b576000815560010162000216565b611b19806200023c6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063a9059cbb1161007c578063a9059cbb14610382578063cba0e996146103ae578063dd62ed3e146103d4578063f2cc0c1814610402578063f2fde38b14610428578063f84354f11461044e57610137565b8063715018a6146103055780637a3625741461030d5780638da5cb5b1461032a57806395d89b411461034e578063a457c2d71461035657610137565b8063242e544a116100ff578063242e544a14610251578063313ce56714610276578063395093511461029457806368c10af1146102c057806370a08231146102df57610137565b806306fdde031461013c578063095ea7b3146101b957806313114a9d146101f957806318160ddd1461021357806323b872dd1461021b575b600080fd5b610144610474565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017e578181015183820152602001610166565b50505050905090810190601f1680156101ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e5600480360360408110156101cf57600080fd5b506001600160a01b03813516906020013561050a565b604080519115158252519081900360200190f35b610201610528565b60408051918252519081900360200190f35b61020161052e565b6101e56004803603606081101561023157600080fd5b506001600160a01b03813581169160208101359091169060400135610539565b6102016004803603604081101561026757600080fd5b508035906020013515156105c6565b61027e61065b565b6040805160ff9092168252519081900360200190f35b6101e5600480360360408110156102aa57600080fd5b506001600160a01b038135169060200135610664565b6102dd600480360360208110156102d657600080fd5b50356106b8565b005b610201600480360360208110156102f557600080fd5b50356001600160a01b031661079c565b6102dd610806565b6102016004803603602081101561032357600080fd5b50356108a8565b61033261090e565b604080516001600160a01b039092168252519081900360200190f35b61014461091d565b6101e56004803603604081101561036c57600080fd5b506001600160a01b03813516906020013561097e565b6101e56004803603604081101561039857600080fd5b506001600160a01b0381351690602001356109ec565b6101e5600480360360208110156103c457600080fd5b50356001600160a01b0316610a00565b610201600480360360408110156103ea57600080fd5b506001600160a01b0381358116916020013516610a1e565b6102dd6004803603602081101561041857600080fd5b50356001600160a01b0316610a49565b6102dd6004803603602081101561043e57600080fd5b50356001600160a01b0316610bcf565b6102dd6004803603602081101561046457600080fd5b50356001600160a01b0316610cc7565b60088054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105005780601f106104d557610100808354040283529160200191610500565b820191906000526020600020905b8154815290600101906020018083116104e357829003601f168201915b5050505050905090565b600061051e610517610e88565b8484610e8c565b5060015b92915050565b60075490565b6602f2e16f29e00090565b6000610546848484610f78565b6105bc84610552610e88565b6105b7856040518060600160405280602881526020016119d9602891396001600160a01b038a16600090815260036020526040812090610590610e88565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61119a16565b610e8c565b5060019392505050565b60006602f2e16f29e000831115610624576040805162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015290519081900360640190fd5b8161064257600061063484611231565b509294506105229350505050565b600061064d84611231565b509194506105229350505050565b600a5460ff1690565b600061051e610671610e88565b846105b78560036000610682610e88565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61127d16565b60006106c2610e88565b6001600160a01b03811660009081526004602052604090205490915060ff161561071d5760405162461bcd60e51b815260040180806020018281038252602c815260200180611a93602c913960400191505060405180910390fd5b600061072883611231565b505050506001600160a01b03831660009081526001602052604090205490915061075290826112d7565b6001600160a01b03831660009081526001602052604090205560065461077e908263ffffffff6112d716565b600655600754610794908463ffffffff61127d16565b600755505050565b6001600160a01b03811660009081526004602052604081205460ff16156107dc57506001600160a01b038116600090815260026020526040902054610801565b6001600160a01b0382166000908152600160205260409020546107fe906108a8565b90505b919050565b61080e610e88565b6000546001600160a01b0390811691161461085e576040805162461bcd60e51b81526020600482018190526024820152600080516020611a01833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006006548211156108eb5760405162461bcd60e51b815260040180806020018281038252602b81526020018061198d602b913960400191505060405180910390fd5b60006108f5611319565b9050610907838263ffffffff61134216565b9392505050565b6000546001600160a01b031690565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105005780601f106104d557610100808354040283529160200191610500565b600061051e61098b610e88565b846105b785604051806060016040528060258152602001611abf60259139600360006109b5610e88565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61119a16565b600061051e6109f9610e88565b8484610f78565b6001600160a01b031660009081526004602052604090205460ff1690565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b610a51610e88565b6000546001600160a01b03908116911614610aa1576040805162461bcd60e51b81526020600482018190526024820152600080516020611a01833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff1615610b0f576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b6001600160a01b03811660009081526001602052604090205415610b69576001600160a01b038116600090815260016020526040902054610b4f906108a8565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600460205260408120805460ff191660019081179091556005805491820181559091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319169091179055565b610bd7610e88565b6000546001600160a01b03908116911614610c27576040805162461bcd60e51b81526020600482018190526024820152600080516020611a01833981519152604482015290519081900360640190fd5b6001600160a01b038116610c6c5760405162461bcd60e51b81526004018080602001828103825260268152602001806119456026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610ccf610e88565b6000546001600160a01b03908116911614610d1f576040805162461bcd60e51b81526020600482018190526024820152600080516020611a01833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff16610d8c576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b60005b600554811015610e8457816001600160a01b031660058281548110610db057fe5b6000918252602090912001546001600160a01b03161415610e7c57600580546000198101908110610ddd57fe5b600091825260209091200154600580546001600160a01b039092169183908110610e0357fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600490925220805460ff191690556005805480610e5557fe5b600082815260209020810160001990810180546001600160a01b0319169055019055610e84565b600101610d8f565b5050565b3390565b6001600160a01b038316610ed15760405162461bcd60e51b8152600401808060200182810382526024815260200180611a6f6024913960400191505060405180910390fd5b6001600160a01b038216610f165760405162461bcd60e51b815260040180806020018281038252602281526020018061196b6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260036020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610fbd5760405162461bcd60e51b8152600401808060200182810382526025815260200180611a4a6025913960400191505060405180910390fd5b6001600160a01b0382166110025760405162461bcd60e51b81526004018080602001828103825260238152602001806119226023913960400191505060405180910390fd5b600081116110415760405162461bcd60e51b8152600401808060200182810382526029815260200180611a216029913960400191505060405180910390fd5b6001600160a01b03831660009081526004602052604090205460ff16801561108257506001600160a01b03821660009081526004602052604090205460ff16155b1561109757611092838383611384565b611195565b6001600160a01b03831660009081526004602052604090205460ff161580156110d857506001600160a01b03821660009081526004602052604090205460ff165b156110e8576110928383836114ad565b6001600160a01b03831660009081526004602052604090205460ff1615801561112a57506001600160a01b03821660009081526004602052604090205460ff16155b1561113a57611092838383611565565b6001600160a01b03831660009081526004602052604090205460ff16801561117a57506001600160a01b03821660009081526004602052604090205460ff165b1561118a576110928383836115ac565b611195838383611565565b505050565b600081848411156112295760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156111ee5781810151838201526020016111d6565b50505050905090810190601f16801561121b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600080600080600080600061124588611628565b915091506000611253611319565b905060008060006112658c868661165c565b919e909d50909b509599509397509395505050505050565b600082820183811015610907576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600061090783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061119a565b60008060006113266116aa565b909250905061133b828263ffffffff61134216565b9250505090565b600061090783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611833565b600080600080600061139586611231565b6001600160a01b038d16600090815260026020526040902054949950929750909550935091506113cb908763ffffffff6112d716565b6001600160a01b038916600090815260026020908152604080832093909355600190522054611400908663ffffffff6112d716565b6001600160a01b03808a166000908152600160205260408082209390935590891681522054611435908563ffffffff61127d16565b6001600160a01b0388166000908152600160205260409020556114588382611898565b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b60008060008060006114be86611231565b6001600160a01b038d16600090815260016020526040902054949950929750909550935091506114f4908663ffffffff6112d716565b6001600160a01b03808a16600090815260016020908152604080832094909455918a16815260029091522054611530908363ffffffff61127d16565b6001600160a01b038816600090815260026020908152604080832093909355600190522054611435908563ffffffff61127d16565b600080600080600061157686611231565b6001600160a01b038d1660009081526001602052604090205494995092975090955093509150611400908663ffffffff6112d716565b60008060008060006115bd86611231565b6001600160a01b038d16600090815260026020526040902054949950929750909550935091506115f3908763ffffffff6112d716565b6001600160a01b0389166000908152600260209081526040808320939093556001905220546114f4908663ffffffff6112d716565b6000808061163d84606463ffffffff61134216565b90506000611651858363ffffffff6112d716565b935090915050915091565b6000808080611671878663ffffffff6118c816565b90506000611685878763ffffffff6118c816565b90506000611699838363ffffffff6112d716565b929992985090965090945050505050565b60065460009081906602f2e16f29e000825b6005548110156117f1578260016000600584815481106116d857fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054118061173d575081600260006005848154811061171657fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611759576006546602f2e16f29e0009450945050505061182f565b61179f600160006005848154811061176d57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054849063ffffffff6112d716565b92506117e760026000600584815481106117b557fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054839063ffffffff6112d716565b91506001016116bc565b5060065461180c906602f2e16f29e00063ffffffff61134216565b821015611829576006546602f2e16f29e00093509350505061182f565b90925090505b9091565b600081836118825760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156111ee5781810151838201526020016111d6565b50600083858161188e57fe5b0495945050505050565b6006546118ab908363ffffffff6112d716565b6006556007546118c1908263ffffffff61127d16565b6007555050565b6000826118d757506000610522565b828202828482816118e457fe5b04146109075760405162461bcd60e51b81526004018080602001828103825260218152602001806119b86021913960400191505060405180910390fdfe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c206469666672616374696f6e73536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220228a7e4da5da9c6d2245a33b6fe9a236a5b1600823daf4b108a5ae98928e13e164736f6c63430006020033

Deployed ByteCode Sourcemap

5992:10166:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5992:10166:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6843:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6843:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7756:161;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7756:161:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;8867:87;;;:::i;:::-;;;;;;;;;;;;;;;;7120:95;;;:::i;7925:313::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7925:313:0;;;;;;;;;;;;;;;;;:::i;9347:435::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9347:435:0;;;;;;;;;:::i;7029:83::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8246:218;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8246:218:0;;;;;;;;:::i;8962:377::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8962:377:0;;:::i;:::-;;7223:199;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7223:199:0;-1:-1:-1;;;;;7223:199:0;;:::i;5558:148::-;;;:::i;9790:255::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9790:255:0;;:::i;5344:79::-;;;:::i;:::-;;;;-1:-1:-1;;;;;5344:79:0;;;;;;;;;;;;;;6934:87;;;:::i;8472:269::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8472:269:0;;;;;;;;:::i;7430:167::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7430:167:0;;;;;;;;:::i;8749:110::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8749:110:0;-1:-1:-1;;;;;8749:110:0;;:::i;7605:143::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7605:143:0;;;;;;;;;;:::i;10053:333::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10053:333:0;-1:-1:-1;;;;;10053:333:0;;:::i;5714:244::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5714:244:0;-1:-1:-1;;;;;5714:244:0;;:::i;10394:478::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10394:478:0;-1:-1:-1;;;;;10394:478:0;;:::i;6843:83::-;6913:5;6906:12;;;;;;;;-1:-1:-1;;6906:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6880:13;;6906:12;;6913:5;;6906:12;;6913:5;6906:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6843:83;:::o;7756:161::-;7831:4;7848:39;7857:12;:10;:12::i;:::-;7871:7;7880:6;7848:8;:39::i;:::-;-1:-1:-1;7905:4:0;7756:161;;;;;:::o;8867:87::-;8936:10;;8867:87;:::o;7120:95::-;6467:18;7120:95;:::o;7925:313::-;8023:4;8040:36;8050:6;8058:9;8069:6;8040:9;:36::i;:::-;8087:121;8096:6;8104:12;:10;:12::i;:::-;8118:89;8156:6;8118:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8118:19:0;;;;;;:11;:19;;;;;;8138:12;:10;:12::i;:::-;-1:-1:-1;;;;;8118:33:0;;;;;;;;;;;;-1:-1:-1;8118:33:0;;;:89;;:37;:89;:::i;:::-;8087:8;:121::i;:::-;-1:-1:-1;8226:4:0;7925:313;;;;;:::o;9347:435::-;9438:7;6467:18;9466:7;:18;;9458:62;;;;;-1:-1:-1;;;9458:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9536:17;9531:244;;9571:15;9594:19;9605:7;9594:10;:19::i;:::-;-1:-1:-1;9570:43:0;;-1:-1:-1;9628:14:0;;-1:-1:-1;;;;9628:14:0;9531:244;9677:23;9707:19;9718:7;9707:10;:19::i;:::-;-1:-1:-1;9675:51:0;;-1:-1:-1;9741:22:0;;-1:-1:-1;;;;9741:22:0;7029:83;7095:9;;;;7029:83;:::o;8246:218::-;8334:4;8351:83;8360:12;:10;:12::i;:::-;8374:7;8383:50;8422:10;8383:11;:25;8395:12;:10;:12::i;:::-;-1:-1:-1;;;;;8383:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;8383:25:0;;;:34;;;;;;;;;;;:50;:38;:50;:::i;8962:377::-;9015:14;9032:12;:10;:12::i;:::-;-1:-1:-1;;;;;9064:19:0;;;;;;:11;:19;;;;;;9015:29;;-1:-1:-1;9064:19:0;;9063:20;9055:77;;;;-1:-1:-1;;;9055:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9144:15;9167:19;9178:7;9167:10;:19::i;:::-;-1:-1:-1;;;;;;;;;9215:15:0;;;;;;:7;:15;;;;;;9143:43;;-1:-1:-1;9215:28:0;;9143:43;9215:19;:28::i;:::-;-1:-1:-1;;;;;9197:15:0;;;;;;:7;:15;;;;;:46;9264:7;;:20;;9276:7;9264:20;:11;:20;:::i;:::-;9254:7;:30;9308:10;;:23;;9323:7;9308:23;:14;:23;:::i;:::-;9295:10;:36;-1:-1:-1;;;8962:377:0:o;7223:199::-;-1:-1:-1;;;;;7313:20:0;;7289:7;7313:20;;;:11;:20;;;;;;;;7309:49;;;-1:-1:-1;;;;;;7342:16:0;;;;;;:7;:16;;;;;;7335:23;;7309:49;-1:-1:-1;;;;;7397:16:0;;;;;;:7;:16;;;;;;7376:38;;:20;:38::i;:::-;7369:45;;7223:199;;;;:::o;5558:148::-;5481:12;:10;:12::i;:::-;5471:6;;-1:-1:-1;;;;;5471:6:0;;;:22;;;5463:67;;;;;-1:-1:-1;;;5463:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5463:67:0;;;;;;;;;;;;;;;5665:1:::1;5649:6:::0;;5628:40:::1;::::0;-1:-1:-1;;;;;5649:6:0;;::::1;::::0;5628:40:::1;::::0;5665:1;;5628:40:::1;5696:1;5679:19:::0;;-1:-1:-1;;;;;;5679:19:0::1;::::0;;5558:148::o;9790:255::-;9857:7;9896;;9885;:18;;9877:74;;;;-1:-1:-1;;;9877:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9962:19;9985:10;:8;:10::i;:::-;9962:33;-1:-1:-1;10013:24:0;:7;9962:33;10013:24;:11;:24;:::i;:::-;10006:31;9790:255;-1:-1:-1;;;9790:255:0:o;5344:79::-;5382:7;5409:6;-1:-1:-1;;;;;5409:6:0;5344:79;:::o;6934:87::-;7006:7;6999:14;;;;;;;;-1:-1:-1;;6999:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6973:13;;6999:14;;7006:7;;6999:14;;7006:7;6999:14;;;;;;;;;;;;;;;;;;;;;;;;8472:269;8565:4;8582:129;8591:12;:10;:12::i;:::-;8605:7;8614:96;8653:15;8614:96;;;;;;;;;;;;;;;;;:11;:25;8626:12;:10;:12::i;:::-;-1:-1:-1;;;;;8614:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;8614:25:0;;;:34;;;;;;;;;;;:96;;:38;:96;:::i;7430:167::-;7508:4;7525:42;7535:12;:10;:12::i;:::-;7549:9;7560:6;7525:9;:42::i;8749:110::-;-1:-1:-1;;;;;8831:20:0;8807:4;8831:20;;;:11;:20;;;;;;;;;8749:110::o;7605:143::-;-1:-1:-1;;;;;7713:18:0;;;7686:7;7713:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7605:143::o;10053:333::-;5481:12;:10;:12::i;:::-;5471:6;;-1:-1:-1;;;;;5471:6:0;;;:22;;;5463:67;;;;;-1:-1:-1;;;5463:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5463:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;10135:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;10134:21;10126:61;;;::::0;;-1:-1:-1;;;10126:61:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;10201:16:0;::::1;10220:1;10201:16:::0;;;:7:::1;:16;::::0;;;;;:20;10198:109:::1;;-1:-1:-1::0;;;;;10278:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;10257:38:::1;::::0;:20:::1;:38::i;:::-;-1:-1:-1::0;;;;;10238:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:57;10198:109:::1;-1:-1:-1::0;;;;;10317:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;10317:27:0::1;10340:4;10317:27:::0;;::::1;::::0;;;10355:9:::1;27:10:-1::0;;23:18;;::::1;45:23:::0;;10355::0;;;;::::1;::::0;;-1:-1:-1;;;;;;10355:23:0::1;::::0;;::::1;::::0;;10053:333::o;5714:244::-;5481:12;:10;:12::i;:::-;5471:6;;-1:-1:-1;;;;;5471:6:0;;;:22;;;5463:67;;;;;-1:-1:-1;;;5463:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5463:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;5803:22:0;::::1;5795:73;;;;-1:-1:-1::0;;;5795:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5905:6;::::0;;5884:38:::1;::::0;-1:-1:-1;;;;;5884:38:0;;::::1;::::0;5905:6;::::1;::::0;5884:38:::1;::::0;::::1;5933:6;:17:::0;;-1:-1:-1;;;;;;5933:17:0::1;-1:-1:-1::0;;;;;5933:17:0;;;::::1;::::0;;;::::1;::::0;;5714:244::o;10394:478::-;5481:12;:10;:12::i;:::-;5471:6;;-1:-1:-1;;;;;5471:6:0;;;:22;;;5463:67;;;;;-1:-1:-1;;;5463:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5463:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;10475:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;10467:60;;;::::0;;-1:-1:-1;;;10467:60:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;10543:9;10538:327;10562:9;:16:::0;10558:20;::::1;10538:327;;;10620:7;-1:-1:-1::0;;;;;10604:23:0::1;:9;10614:1;10604:12;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;10604:12:0::1;:23;10600:254;;;10663:9;10673:16:::0;;-1:-1:-1;;10673:20:0;;;10663:31;::::1;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;10648:9:::1;:12:::0;;-1:-1:-1;;;;;10663:31:0;;::::1;::::0;10658:1;;10648:12;::::1;;;;;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;10648:46:0::1;-1:-1:-1::0;;;;;10648:46:0;;::::1;;::::0;;10713:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;10752:11:::1;:20:::0;;;;:28;;-1:-1:-1;;10752:28:0::1;::::0;;10799:9:::1;:15:::0;;;::::1;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;10799:15:0;;;;;-1:-1:-1;;;;;;10799:15:0::1;::::0;;;;;10833:5:::1;;10600:254;10580:3;;10538:327;;;;10394:478:::0;:::o;60:106::-;148:10;60:106;:::o;10880:337::-;-1:-1:-1;;;;;10973:19:0;;10965:68;;;;-1:-1:-1;;;10965:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11052:21:0;;11044:68;;;;-1:-1:-1;;;11044:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11125:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11177:32;;;;;;;;;;;;;;;;;10880:337;;;:::o;11225:931::-;-1:-1:-1;;;;;11322:20:0;;11314:70;;;;-1:-1:-1;;;11314:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11403:23:0;;11395:71;;;;-1:-1:-1;;;11395:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11494:1;11485:6;:10;11477:64;;;;-1:-1:-1;;;11477:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11556:19:0;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;11580:22:0;;;;;;:11;:22;;;;;;;;11579:23;11556:46;11552:597;;;11619:48;11641:6;11649:9;11660:6;11619:21;:48::i;:::-;11552:597;;;-1:-1:-1;;;;;11690:19:0;;;;;;:11;:19;;;;;;;;11689:20;:46;;;;-1:-1:-1;;;;;;11713:22:0;;;;;;:11;:22;;;;;;;;11689:46;11685:464;;;11752:46;11772:6;11780:9;11791:6;11752:19;:46::i;11685:464::-;-1:-1:-1;;;;;11821:19:0;;;;;;:11;:19;;;;;;;;11820:20;:47;;;;-1:-1:-1;;;;;;11845:22:0;;;;;;:11;:22;;;;;;;;11844:23;11820:47;11816:333;;;11884:44;11902:6;11910:9;11921:6;11884:17;:44::i;11816:333::-;-1:-1:-1;;;;;11950:19:0;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;11973:22:0;;;;;;:11;:22;;;;;;;;11950:45;11946:203;;;12012:48;12034:6;12042:9;12053:6;12012:21;:48::i;11946:203::-;12093:44;12111:6;12119:9;12130:6;12093:17;:44::i;:::-;11225:931;;;:::o;1526:192::-;1612:7;1648:12;1640:6;;;;1632:29;;;;-1:-1:-1;;;1632:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1632:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1684:5:0;;;1526:192::o;14431:411::-;14490:7;14499;14508;14517;14526;14547:23;14572:12;14588:20;14600:7;14588:11;:20::i;:::-;14546:62;;;;14619:19;14642:10;:8;:10::i;:::-;14619:33;;14664:15;14681:23;14706:12;14722:39;14734:7;14743:4;14749:11;14722;:39::i;:::-;14663:98;;;;-1:-1:-1;14663:98:0;;-1:-1:-1;14812:15:0;;-1:-1:-1;14829:4:0;;-1:-1:-1;14431:411:0;;-1:-1:-1;;;;;;14431:411:0:o;1193:181::-;1251:7;1283:5;;;1307:6;;;;1299:46;;;;;-1:-1:-1;;;1299:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;1382:136;1440:7;1467:43;1471:1;1474;1467:43;;;;;;;;;;;;;;;;;:3;:43::i;15423:163::-;15464:7;15485:15;15502;15521:19;:17;:19::i;:::-;15484:56;;-1:-1:-1;15484:56:0;-1:-1:-1;15558:20:0;15484:56;;15558:20;:11;:20;:::i;:::-;15551:27;;;;15423:163;:::o;1984:132::-;2042:7;2069:39;2073:1;2076;2069:39;;;;;;;;;;;;;;;;;:3;:39::i;13163:510::-;13266:15;13283:23;13308:12;13322:23;13347:12;13363:19;13374:7;13363:10;:19::i;:::-;-1:-1:-1;;;;;13411:15:0;;;;;;:7;:15;;;;;;13265:117;;-1:-1:-1;13265:117:0;;-1:-1:-1;13265:117:0;;-1:-1:-1;13265:117:0;-1:-1:-1;13265:117:0;-1:-1:-1;13411:28:0;;13431:7;13411:28;:19;:28;:::i;:::-;-1:-1:-1;;;;;13393:15:0;;;;;;:7;:15;;;;;;;;:46;;;;13468:7;:15;;;;:28;;13488:7;13468:28;:19;:28;:::i;:::-;-1:-1:-1;;;;;13450:15:0;;;;;;;:7;:15;;;;;;:46;;;;13528:18;;;;;;;:39;;13551:15;13528:39;:22;:39;:::i;:::-;-1:-1:-1;;;;;13507:18:0;;;;;;:7;:18;;;;;:60;13581:24;13594:4;13600;13581:12;:24::i;:::-;13638:9;-1:-1:-1;;;;;13621:44:0;13630:6;-1:-1:-1;;;;;13621:44:0;;13649:15;13621:44;;;;;;;;;;;;;;;;;;13163:510;;;;;;;;:::o;12625:530::-;12726:15;12743:23;12768:12;12782:23;12807:12;12823:19;12834:7;12823:10;:19::i;:::-;-1:-1:-1;;;;;12871:15:0;;;;;;:7;:15;;;;;;12725:117;;-1:-1:-1;12725:117:0;;-1:-1:-1;12725:117:0;;-1:-1:-1;12725:117:0;-1:-1:-1;12725:117:0;-1:-1:-1;12871:28:0;;12725:117;12871:28;:19;:28;:::i;:::-;-1:-1:-1;;;;;12853:15:0;;;;;;;:7;:15;;;;;;;;:46;;;;12931:18;;;;;:7;:18;;;;;:39;;12954:15;12931:39;:22;:39;:::i;:::-;-1:-1:-1;;;;;12910:18:0;;;;;;:7;:18;;;;;;;;:60;;;;13002:7;:18;;;;:39;;13025:15;13002:39;:22;:39;:::i;12164:453::-;12263:15;12280:23;12305:12;12319:23;12344:12;12360:19;12371:7;12360:10;:19::i;:::-;-1:-1:-1;;;;;12408:15:0;;;;;;:7;:15;;;;;;12262:117;;-1:-1:-1;12262:117:0;;-1:-1:-1;12262:117:0;;-1:-1:-1;12262:117:0;-1:-1:-1;12262:117:0;-1:-1:-1;12408:28:0;;12262:117;12408:28;:19;:28;:::i;13681:586::-;13784:15;13801:23;13826:12;13840:23;13865:12;13881:19;13892:7;13881:10;:19::i;:::-;-1:-1:-1;;;;;13929:15:0;;;;;;:7;:15;;;;;;13783:117;;-1:-1:-1;13783:117:0;;-1:-1:-1;13783:117:0;;-1:-1:-1;13783:117:0;-1:-1:-1;13783:117:0;-1:-1:-1;13929:28:0;;13949:7;13929:28;:19;:28;:::i;:::-;-1:-1:-1;;;;;13911:15:0;;;;;;:7;:15;;;;;;;;:46;;;;13986:7;:15;;;;:28;;14006:7;13986:28;:19;:28;:::i;14850:223::-;14910:7;;;14954:16;:7;14966:3;14954:16;:11;:16;:::i;:::-;14939:31;-1:-1:-1;14981:23:0;15007:17;:7;14939:31;15007:17;:11;:17;:::i;:::-;14981:43;-1:-1:-1;15060:4:0;;-1:-1:-1;;14850:223:0;;;:::o;15081:334::-;15176:7;;;;15232:24;:7;15244:11;15232:24;:11;:24;:::i;:::-;15214:42;-1:-1:-1;15267:12:0;15282:21;:4;15291:11;15282:21;:8;:21;:::i;:::-;15267:36;-1:-1:-1;15314:23:0;15340:17;:7;15267:36;15340:17;:11;:17;:::i;:::-;15376:7;;;;-1:-1:-1;15402:4:0;;-1:-1:-1;15081:334:0;;-1:-1:-1;;;;;15081:334:0:o;15594:561::-;15691:7;;15644;;;;6467:18;15644:7;15751:289;15775:9;:16;15771:20;;15751:289;;;15841:7;15817;:21;15825:9;15835:1;15825:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15825:12:0;15817:21;;;;;;;;;;;;;:31;;:66;;;15876:7;15852;:21;15860:9;15870:1;15860:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15860:12:0;15852:21;;;;;;;;;;;;;:31;15817:66;15813:97;;;15893:7;;6467:18;15885:25;;;;;;;;;15813:97;15935:34;15947:7;:21;15955:9;15965:1;15955:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15955:12:0;15947:21;;;;;;;;;;;;;15935:7;;:34;:11;:34;:::i;:::-;15925:44;;15994:34;16006:7;:21;16014:9;16024:1;16014:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16014:12:0;16006:21;;;;;;;;;;;;;15994:7;;:34;:11;:34;:::i;:::-;15984:44;-1:-1:-1;15793:3:0;;15751:289;;;-1:-1:-1;16064:7:0;;:20;;6467:18;16064:20;:11;:20;:::i;:::-;16054:7;:30;16050:61;;;16094:7;;6467:18;16086:25;;;;;;;;16050:61;16130:7;;-1:-1:-1;16139:7:0;-1:-1:-1;15594:561:0;;;:::o;2124:191::-;2210:7;2245:12;2238:5;2230:28;;;;-1:-1:-1;;;2230:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2230:28:0;;2269:9;2285:1;2281;:5;;;;;;;2124:191;-1:-1:-1;;;;;2124:191:0:o;14275:148::-;14354:7;;:17;;14366:4;14354:17;:11;:17;:::i;:::-;14344:7;:27;14395:10;;:20;;14410:4;14395:20;:14;:20;:::i;:::-;14382:10;:33;-1:-1:-1;;14275:148:0:o;1726:250::-;1784:7;1808:6;1804:47;;-1:-1:-1;1838:1:0;1831:8;;1804:47;1875:5;;;1879:1;1875;:5;:1;1899:5;;;;;:10;1891:56;;;;-1:-1:-1;;;1891:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Swarm Source

ipfs://228a7e4da5da9c6d2245a33b6fe9a236a5b1600823daf4b108a5ae98928e13e1
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.