Contract 0x349eade791a30f00f690cf2ae0d5d78c06786cb0 7

 
 
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0xc4edc0304985dd05b53384b7ca1f811e2db10fe9bb44337f2e5813bca4e70d1eApprove464102622023-08-17 8:58:5746 days 5 hrs ago0x978766941f02171ec261ef6669901e9d4b32a23d IN  PariDEX: PARI Token0 MATIC0.003636684197 78.127614461
0xc0d2fc3f004a3c5ccee54b6ce61ab4e73117df66f918a6c00930563ac135da1aApprove458533462023-08-03 9:07:5760 days 5 hrs ago0x29317377a1b43027470bee97747809b79b294ef2 IN  PariDEX: PARI Token0 MATIC0.006676206658143.426283794
0xf15bab3119281cd5f87a850c609c1194f981775efdcb1425a69961a6e5984b33Approve455266562023-07-26 4:21:2168 days 10 hrs ago0xc29b99881f0c1d5d4c82f06c04053678e82de210 IN  PariDEX: PARI Token0 MATIC0.004248952552 91.281098056
0xb35d755f9ef6fc2ec9a61e1b7009e20e22fb356139ae73b8387b60396af1360cTransfer454201652023-07-23 11:11:2071 days 3 hrs ago0x9c2908d96fc5b91be44dea595438327c996572ca IN  PariDEX: PARI Token0 MATIC0.039064496752 258.568286685
0xb91747282684174cd17810b79f7a658e4b72877f81fb64413903e9e8cad74d39Approve452745372023-07-19 18:43:5874 days 19 hrs ago0x5f324a94c67745c393fdfd8a1ca289196d36de5b IN  PariDEX: PARI Token0 MATIC0.007337954666 157.642748694
0x154c72059bdd27ab0990690069402c0a4d1f05d18a2b5f332b7179c04e91df23Approve450832562023-07-14 21:37:0279 days 17 hrs ago0x5f324a94c67745c393fdfd8a1ca289196d36de5b IN  PariDEX: PARI Token0 MATIC0.006718820279 144.341760747
0x85ac07811614e95aeca3d4ea04bcc65fbe09e9dc550333d49f2c4f87135d44f1Approve421611482023-05-01 3:34:28154 days 11 hrs ago0x200a8ae67a175df4638f130089218571afdf996d IN  PariDEX: PARI Token0 MATIC0.015241838026 327.443456793
0xd5a3a5d59e964d830f3307ec57b3649e23edcc1be24f7b9c02bda2017c8d1aa5Approve411780422023-04-05 15:57:45179 days 22 hrs ago0x122538076caa65843a2c2c70681a31216b167b8e IN  PariDEX: PARI Token0 MATIC0.004757882374 102.214539279
0x5ce39e2c1c689b9c59856b8ba8abed56c7213433419eb916d6616190982ca090Approve410232122023-04-01 15:43:36183 days 22 hrs ago0x685dd4bed2b4366d5ed6d60fc94b315d87cd89ae IN  PariDEX: PARI Token0 MATIC0.005439443529 117.614675875
0xc3cfe1bcb27eed24c17e036c7e0025b6eb71554edec67eaff75a5a03376d6fdcTransfer403625162023-03-15 5:30:32201 days 9 hrs ago0x6a4e94df55e608cd8cfa746194f08a049381b165 IN  PariDEX: PARI Token0 MATIC0.048948576578 157.988840656
0x139739fd338fc7b15715bb065be25740b48fe90e5d18aecc6f25592b58c29237Transfer403621672023-03-15 5:17:38201 days 9 hrs ago0x6a4e94df55e608cd8cfa746194f08a049381b165 IN  PariDEX: PARI Token0 MATIC0.041645992124 134.419092656
0x0d82c8be85310cd27773b1989030720f1ce5d1ab0ca2572b8e7fb113243bb554Approve403375202023-03-14 13:40:42202 days 1 hr ago0x1aece67bc38097218ab3adc3d88268c3f8d2792e IN  PariDEX: PARI Token0 MATIC0.021177815846 454.967256301
0x1319e214fcb63bc5062c273e1028ba5da22c88ccf9c6d9d022f433d61a90d240Approve403047372023-03-13 16:49:21202 days 21 hrs ago0x1aece67bc38097218ab3adc3d88268c3f8d2792e IN  PariDEX: PARI Token0 MATIC0.006679882525 143.505253183
0x457cec1ae4b22ff5967c23dc97750e3ac18fa9cd1cbe73ec935ad3fe1e302e0aApprove401453772023-03-09 12:31:19207 days 2 hrs ago0xc7a7dc9d86c973508a8ded044cd5a786f3576ab1 IN  PariDEX: PARI Token0 MATIC0.008177762947 175.684518076
0x60e485844a812ecb2f9d31a08256799a02e9c15e23365c9847977dc4d0fbcfbfApprove398852732023-03-02 16:02:38213 days 22 hrs ago0x6a4e94df55e608cd8cfa746194f08a049381b165 IN  PariDEX: PARI Token0 MATIC0.009539651828 204.94224947
0x05330d61fd47109e5e674097165f775bd8c5fecf9c1d32550f7734f0f90d2256Transfer393315422023-02-15 19:39:21228 days 19 hrs ago0x6eff4f3c4c1b34f138d8adb56cf049be72503559 IN  PariDEX: PARI Token0 MATIC0.094007491336 303.040776162
0x30640690d448b5d93c2299efc58bd7a67543cf6a7232c40941e8be769685191fTransfer393271472023-02-15 16:48:49228 days 21 hrs ago0xda42a3c1436236540921b8d5907a0ad26a5bd840 IN  PariDEX: PARI Token0 MATIC0.096403592983 311.472664716
0x21b79b48ae653360fcf7e014d3f9144ffa0414d3b3fef6b730c2194d40ef50ceApprove392957262023-02-14 20:56:34229 days 17 hrs ago0x2dc866dfb6227aff776feffbf46ab74423f56ef4 IN  PariDEX: PARI Token0 MATIC0.014708687423 315.989675681
0x026ce19ed8195c1f9b8d3c0681b61a3fd4750675ccf347f967042571873c7b60Approve392929542023-02-14 19:12:44229 days 19 hrs ago0x6eff4f3c4c1b34f138d8adb56cf049be72503559 IN  PariDEX: PARI Token0 MATIC0.019502395426 418.9738641
0x2ec80d97848af5ce7e101e1dea52310ff2f9d096d843c31252fc006d32eb2c23Transfer392838202023-02-14 13:38:38230 days 1 hr ago0x1b9acee47bac1cdc737c18d5761174d6cd6cea64 IN  PariDEX: PARI Token0 MATIC0.589766629192 1,904.082254009
0x7871061cc716c996ff7578f8685dd63ccd80888d2084296960d8c24335299875Transfer392551262023-02-13 18:46:30230 days 19 hrs ago0x685dd4bed2b4366d5ed6d60fc94b315d87cd89ae IN  PariDEX: PARI Token0 MATIC0.042290447133 244.5326067
0x8db15d0eaa7f23a15bded54edb9b78adcb614893428fc7b52f84f042f695ba8fTransfer392263822023-02-13 0:19:02231 days 14 hrs ago0x62c0a85fa3ad7d296c1716ae2c6d6ac5ffddc452 IN  PariDEX: PARI Token0 MATIC0.059448419531 191.703545019
0xe7567740816a3b8a92095ab37e1120015af8a5922fe5fcb496eebfb35b89b992Approve392120422023-02-12 14:58:23231 days 23 hrs ago0x4aa4294948d321c1120d27524d14bce93e533f72 IN  PariDEX: PARI Token0 MATIC0.017682766402 379.88240961
0x9ce8eb1946470357563ba440e9180ae5b22d4b872792e554377943464980be12Transfer392096692023-02-12 13:24:21232 days 1 hr ago0x62c0a85fa3ad7d296c1716ae2c6d6ac5ffddc452 IN  PariDEX: PARI Token0 MATIC0.20250391527 588.646793376
0x8894f56188ab5ead56debe80271d2aefc37fd4007d16bbd458d6da5d94dedb51Transfer391933362023-02-12 2:23:50232 days 12 hrs ago0xc10595ed2b3fc1ff4031c419b00a68b811c529f0 IN  PariDEX: PARI Token0 MATIC0.056325096305 248.581537719
[ Download CSV Export 

OVERVIEW

PARI is the core cryptocurrency of the PariDEX ecosystem.

Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Pari

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 999999 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at PolygonScan.com on 2023-01-20
*/

// SPDX-License-Identifier: MIT
// File: IParidex.sol


pragma solidity >=0.6.6;
pragma experimental ABIEncoderV2;

interface IParidex {
    function isMan(address _sender) external returns (bool);
    function isPari(address _pari) external returns (bool);
    function isLeva(address _leva) external returns (bool);
    function getPari() external returns (address);
    function getLevaList() external returns (address[] memory);
    function getSmartLock() external returns (bool);
    function getSLNONContract() external returns (bool);
    function addLiquidity(address factory, address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityAuto(address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline) external returns (uint amountA, uint amountB, uint liquidity);
    function removeLiquidity(address factory, address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline) external returns (uint amountA, uint amountB);
    function removeLiquidityAuto(address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline) external returns (uint amountA, uint amountB);
    function consultLeva2Usd(address _leva, uint _amount) external returns (uint);
    function consultPari2Usd(uint _amount) external returns (uint);
    function consultPari2Leva(address _leva, uint _pariAmount) external returns (uint);
    function consultLeva2Pari(address _leva, uint _levaAmount) external returns (uint);
    function consultLeva2Leva(address _levaIn, address _levaOut, uint _levaInAmount) external returns (uint);
    function consultSmart(address _inToken, address _outToken, uint _inAmount) external returns (uint);
    function swapPari2Leva(address _leva, uint _pariAmount, uint _minLevaAmount) external returns (uint out);
    function swapLeva2Pari(address _leva, uint _levaAmount, uint _minPariAmount) external returns (uint out);
    function swapLeva2Leva(address _levaIn, address _levaOut, uint _levaAmount, uint _minLevaAmount) external returns (uint out);
    function swapSmart(address _inToken, address _outToken, uint _inAmount, uint _minOutAmount) external returns (uint out);
    function swapExactTokensForTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint steps, uint deadline) external returns (address[] memory factories, uint[] memory amounts);
    function arbitrage(address _token, uint _amount, address _middleToken) external returns (uint revenue, address[] memory factories, uint[] memory amounts);
    function stabilize(address _sender, address _taker, uint _amount) external returns (uint revenue, address[] memory factories, uint[] memory amounts);
    function addLeva(address _leva) external returns (bool);
    function removeLeva(address _leva) external returns (bool);
    function changePari(address _pari) external returns (bool);
    function changeStableCoin2Usd(address _stablecoin2usd) external returns (bool);
    function changeSTABLECOIN(address _STABLECOIN) external returns (bool);
    function changeAnyOracle(address _anyOracle) external returns (bool);
    function changeTax(uint _tax) external returns (bool);
    function changeSmartLock(bool _smartLock) external returns (bool);
    function changeSLNONContract(bool _SLNONContract) external returns (bool);
    function changeTrigger(address _trigger) external returns (bool);
    function changeMan(address _manager) external returns (bool);
    function migrate(address _newInstance) external returns (bool);
}
// File: @openzeppelin/contracts/utils/Context.sol


// OpenZeppelin Contracts v4.4.1 (utils/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 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) {
        return msg.data;
    }
}

// File: @openzeppelin/contracts/token/ERC20/IERC20.sol


// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @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);

    /**
     * @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 `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, 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 `from` to `to` 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 from,
        address to,
        uint256 amount
    ) external returns (bool);
}

// File: @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol


// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)

pragma solidity ^0.8.0;


/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

// File: ILeva.sol



pragma solidity ^0.8.7;



interface ILeva is IERC20, IERC20Metadata {
    function burn(uint amount) external;
    function burnFrom(address account, uint amount) external;
    function burnNGet(uint _amount) external returns (uint);
    function burnFromNGet(address _account, uint _amount) external returns (uint);
    function mint(address _to, uint _amount) external returns (bool);
    function getPeg() external view returns (address);
    function rePeg(address _pegOracle) external returns (bool);
    function setParidex(address _paridex) external returns (bool);
}
// File: @openzeppelin/contracts/token/ERC20/ERC20.sol


// OpenZeppelin Contracts (last updated v4.7.0) (token/ERC20/ERC20.sol)

pragma solidity ^0.8.0;




/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin Contracts guidelines: functions revert
 * instead returning `false` on failure. This behavior is nonetheless
 * conventional and does not conflict with the expectations of ERC20
 * applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The default value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5.05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless this function is
     * overridden;
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `to` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on
     * `transferFrom`. This is semantically equivalent to an infinite approval.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * NOTE: Does not update the allowance if the current allowance
     * is the maximum `uint256`.
     *
     * Requirements:
     *
     * - `from` and `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     * - the caller must have allowance for ``from``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    /**
     * @dev Moves `amount` of tokens from `from` to `to`.
     *
     * This internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     */
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
        }
        _balances[to] += amount;

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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);
    }

    /**
     * @dev Updates `owner` s allowance for `spender` based on spent `amount`.
     *
     * Does not update the allowance amount in case of infinite allowance.
     * Revert if not enough allowance is available.
     *
     * Might emit an {Approval} event.
     */
    function _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    /**
     * @dev Hook that is called after any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * has been transferred to `to`.
     * - when `from` is zero, `amount` tokens have been minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens have been burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

// File: Pari.sol



pragma solidity ^0.8.7;




contract Pari is ERC20 {
    address public paridex;

    event FailedStabilization(address indexed from, address indexed to, uint amount, bytes reason);
    event ParidexChanged(address indexed _paridex);

    constructor(
        address _paridex,
        uint _initialSupply
    ) ERC20("PariDEX", "PARI") {
        paridex = _paridex;
        _mint(_msgSender(), _initialSupply * 10 ** decimals());
    }

    function _onlyLeva() internal {
        require(IParidex(paridex).isLeva(_msgSender()), "ONLY_LEVA");
    }

    function _onlyMan() internal {
        if(_msgSender() != paridex) {
            require(IParidex(paridex).isMan(_msgSender()), "ONLY_MANAGER");
        }
    }

    function _smartLocked() internal {
        require(!IParidex(paridex).getSmartLock() || (IParidex(paridex).getSLNONContract() && !_isContractOrNull(_msgSender())) || _msgSender() == paridex || IParidex(paridex).isMan(_msgSender()), "SMART_LOCKED");
    }

    modifier onlyLeva() {
        _onlyLeva();
        _;
    }

    modifier onlyMan() {
        _onlyMan();
        _;
    }

    modifier smartLocked() {
        _smartLocked();
        _;
    }

    function _isContractOrNull(address _addr) internal view returns (bool){
        uint32 size;
        assembly {
            size := extcodesize(_addr)
        }
        return (size > 0 || _addr == address(0));
    }

    function _afterTokenTransfer(
        address from,
        address to,
        uint amount
    ) internal override {
        super._afterTokenTransfer(from, to, amount);
        if(!_isContractOrNull(from) && !_isContractOrNull(to) && !_isContractOrNull(_msgSender())) {
            try IParidex(paridex).stabilize(to, to, amount) returns (uint revenue, address[] memory, uint[] memory) {
                if(revenue > 0) {
                    _transfer(to, from, revenue / 2);
                }
            } catch (bytes memory reason) {
                emit FailedStabilization(from, to, amount, reason);
            }
        }
    }

    function burn(uint amount) public {
        _burn(_msgSender(), amount);
    }

    function burnFrom(address account, uint amount) public {
        _spendAllowance(account, _msgSender(), amount);
        _burn(account, amount);
    }

    function burnNGet(address _leva, uint _amount) external smartLocked returns (uint) {
        require(_amount > 0, "AMOUNT_ZERO");
        burn(_amount);
        _amount = IParidex(paridex).consultPari2Leva(_leva, _amount);
        require(_amount > 0, "LEVA_MINT_FAIL");
        require(ILeva(_leva).mint(_msgSender(), _amount), "LEVA_MINT_FAIL");
        return _amount;
    }

    function burnFromNGet(address _leva, address _account, uint _amount) external smartLocked returns (uint) {
        require(_amount > 0, "AMOUNT_ZERO");
        burnFrom(_account, _amount);
        _amount = IParidex(paridex).consultPari2Leva(_leva, _amount);
        require(_amount > 0, "LEVA_MINT_FAIL");
        require(ILeva(_leva).mint(_account, _amount), "LEVA_MINT_FAIL");
        return _amount;
    }

    function _spendAllowance(address owner, address spender, uint amount) internal override {
        if (spender != paridex && spender != owner) {
            super._spendAllowance(owner, spender, amount);
        }
    }

    function mint(address _to, uint _amount) external onlyLeva returns (bool) {
        _mint(_to, _amount);
        return true;
    }

    function manMint(address _to, uint _amount) external onlyMan returns (bool) {
        _mint(_to, _amount);
        return true;
    }

    function setParidex(address _paridex) external onlyMan returns (bool) {
        paridex = _paridex;

        emit ParidexChanged(_paridex);
        return true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_paridex","type":"address"},{"internalType":"uint256","name":"_initialSupply","type":"uint256"}],"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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"reason","type":"bytes"}],"name":"FailedStabilization","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_paridex","type":"address"}],"name":"ParidexChanged","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_leva","type":"address"},{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burnFromNGet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_leva","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burnNGet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","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":"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":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"manMint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paridex","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_paridex","type":"address"}],"name":"setParidex","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b5060405162002a6938038062002a6983398101604081905262000034916200056c565b604051806040016040528060078152602001660a0c2e4d2888ab60cb1b815250604051806040016040528060048152602001635041524960e01b815250816003908162000082919062000637565b50600462000091828262000637565b5050600580546001600160a01b0319166001600160a01b03851617905550620000db620000bb3390565b620000c96012600a62000818565b620000d5908462000829565b620000e3565b505062000a7b565b6001600160a01b0382166200013f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b806002600082825462000153919062000843565b90915550506001600160a01b038216600090815260208190526040812080548392906200018290849062000843565b90915550506040518181526001600160a01b0383169060009060008051602062002a498339815191529060200160405180910390a3620001c560008383620001ce565b5050565b505050565b620001e6838383620001c960201b62000b5b1760201c565b620001f18362000354565b158015620002075750620002058262000354565b155b80156200021c57506200021a3362000354565b155b15620001c9576005546040516378e0afd760e01b81526001600160a01b0384811660048301819052602483015260448201849052909116906378e0afd7906064016000604051808303816000875af1925050508015620002a057506040513d6000823e601f3d908101601f191682016040526200029d919081019062000925565b60015b6200032c573d808015620002d1576040519150601f19603f3d011682016040523d82523d6000602084013e620002d6565b606091505b50826001600160a01b0316846001600160a01b03167f5c78cbf9df29e5f184368774c02d912c4373011bf32647eb56040696808759b384846040516200031e92919062000a00565b60405180910390a350505050565b82156200034c576200034c85876200034660028762000a58565b6200037b565b505050505050565b6000813b63ffffffff81161515806200037457506001600160a01b038316155b9392505050565b6001600160a01b038316620003e15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840162000136565b6001600160a01b038216620004455760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840162000136565b6001600160a01b03831660009081526020819052604090205481811015620004bf5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840162000136565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290620004f890849062000843565b92505081905550826001600160a01b0316846001600160a01b031660008051602062002a49833981519152846040516200053491815260200190565b60405180910390a362000549848484620001ce565b50505050565b80516001600160a01b03811681146200056757600080fd5b919050565b600080604083850312156200058057600080fd5b6200058b836200054f565b9150602083015190509250929050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620005c657607f821691505b602082108103620005e757634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001c957600081815260208120601f850160051c81016020861015620006165750805b601f850160051c820191505b818110156200034c5782815560010162000622565b81516001600160401b038111156200065357620006536200059b565b6200066b81620006648454620005b1565b84620005ed565b602080601f831160018114620006a357600084156200068a5750858301515b600019600386901b1c1916600185901b1785556200034c565b600085815260208120601f198616915b82811015620006d457888601518255948401946001909101908401620006b3565b5085821015620006f35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200075a5781600019048211156200073e576200073e62000703565b808516156200074c57918102915b93841c93908002906200071e565b509250929050565b600082620007735750600162000812565b81620007825750600062000812565b81600181146200079b5760028114620007a657620007c6565b600191505062000812565b60ff841115620007ba57620007ba62000703565b50506001821b62000812565b5060208310610133831016604e8410600b8410161715620007eb575081810a62000812565b620007f7838362000719565b80600019048211156200080e576200080e62000703565b0290505b92915050565b60006200037460ff84168362000762565b808202811582820484141762000812576200081262000703565b8082018082111562000812576200081262000703565b604051601f8201601f191681016001600160401b03811182821017156200088457620008846200059b565b604052919050565b60006001600160401b03821115620008a857620008a86200059b565b5060051b60200190565b600082601f830112620008c457600080fd5b81516020620008dd620008d7836200088c565b62000859565b82815260059290921b84018101918181019086841115620008fd57600080fd5b8286015b848110156200091a578051835291830191830162000901565b509695505050505050565b6000806000606084860312156200093b57600080fd5b8351602080860151919450906001600160401b03808211156200095d57600080fd5b818701915087601f8301126200097257600080fd5b815162000983620008d7826200088c565b81815260059190911b8301840190848101908a831115620009a357600080fd5b938501935b82851015620009cc57620009bc856200054f565b82529385019390850190620009a8565b60408a01519097509450505080831115620009e657600080fd5b5050620009f686828701620008b2565b9150509250925092565b82815260006020604081840152835180604085015260005b8181101562000a365785810183015185820160600152820162000a18565b506000606082860101526060601f19601f830116850101925050509392505050565b60008262000a7657634e487b7160e01b600052601260045260246000fd5b500490565b611fbe8062000a8b6000396000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c806342966c68116100cd578063a457c2d711610081578063b50d6ac511610066578063b50d6ac5146102e4578063b93d1523146102f7578063dd62ed3e1461030a57600080fd5b8063a457c2d7146102be578063a9059cbb146102d157600080fd5b806370a08231116100b257806370a082311461026d57806379cc6790146102a357806395d89b41146102b657600080fd5b806342966c68146102455780635daaf5df1461025a57600080fd5b806323b872dd1161012457806334037c041161010957806334037c04146101da578063395093511461021f57806340c10f191461023257600080fd5b806323b872dd146101b8578063313ce567146101cb57600080fd5b8063066361a11461015657806306fdde031461017e578063095ea7b31461019357806318160ddd146101a6575b600080fd5b610169610164366004611b21565b610350565b60405190151581526020015b60405180910390f35b61018661036e565b6040516101759190611bb1565b6101696101a1366004611b21565b610400565b6002545b604051908152602001610175565b6101696101c6366004611bc4565b610418565b60405160128152602001610175565b6005546101fa9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610175565b61016961022d366004611b21565b61043c565b610169610240366004611b21565b610488565b610258610253366004611c05565b610492565b005b6101aa610268366004611bc4565b61049f565b6101aa61027b366004611c1e565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6102586102b1366004611b21565b610731565b61018661074a565b6101696102cc366004611b21565b610759565b6101696102df366004611b21565b61082a565b6101aa6102f2366004611b21565b610838565b610169610305366004611c1e565b610add565b6101aa610318366004611c3b565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b600061035a610b60565b6103648383610cab565b5060015b92915050565b60606003805461037d90611c74565b80601f01602080910402602001604051908101604052809291908181526020018280546103a990611c74565b80156103f65780601f106103cb576101008083540402835291602001916103f6565b820191906000526020600020905b8154815290600101906020018083116103d957829003601f168201915b5050505050905090565b60003361040e818585610dd3565b5060019392505050565b600033610426858285610f86565b610431858585610fed565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061040e9082908690610483908790611cf0565b610dd3565b600061035a6112ac565b61049c33826113c0565b50565b60006104a96115b4565b60008211610518576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f414d4f554e545f5a45524f00000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6105228383610731565b6005546040517fa3bf5d5d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681166004830152602482018590529091169063a3bf5d5d906044016020604051808303816000875af115801561059b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105bf9190611d03565b91506000821161062b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4c4556415f4d494e545f4641494c000000000000000000000000000000000000604482015260640161050f565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018490528516906340c10f19906044016020604051808303816000875af11580156106a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c49190611d1c565b61072a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4c4556415f4d494e545f4641494c000000000000000000000000000000000000604482015260640161050f565b5092915050565b61073c823383610f86565b61074682826113c0565b5050565b60606004805461037d90611c74565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561081d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f000000000000000000000000000000000000000000000000000000606482015260840161050f565b6104318286868403610dd3565b60003361040e818585610fed565b60006108426115b4565b600082116108ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f414d4f554e545f5a45524f000000000000000000000000000000000000000000604482015260640161050f565b6108b582610492565b6005546040517fa3bf5d5d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152602482018590529091169063a3bf5d5d906044016020604051808303816000875af115801561092e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109529190611d03565b9150600082116109be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4c4556415f4d494e545f4641494c000000000000000000000000000000000000604482015260640161050f565b73ffffffffffffffffffffffffffffffffffffffff83166340c10f19336040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018590526044016020604051808303816000875af1158015610a4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a719190611d1c565b610ad7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4c4556415f4d494e545f4641494c000000000000000000000000000000000000604482015260640161050f565b50919050565b6000610ae7610b60565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f6c830c9f11aea36974b07687c11cfda7530c863252a97e7cf7af9089604d075f90600090a2506001919050565b505050565b60055473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ca95760055473ffffffffffffffffffffffffffffffffffffffff16637ede3f8c336040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff90911660048201526024016020604051808303816000875af1158015610c1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c439190611d1c565b610ca9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4f4e4c595f4d414e414745520000000000000000000000000000000000000000604482015260640161050f565b565b73ffffffffffffffffffffffffffffffffffffffff8216610d28576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161050f565b8060026000828254610d3a9190611cf0565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054839290610d74908490611cf0565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a361074660008383611845565b73ffffffffffffffffffffffffffffffffffffffff8316610e75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161050f565b73ffffffffffffffffffffffffffffffffffffffff8216610f18576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161050f565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60055473ffffffffffffffffffffffffffffffffffffffff838116911614801590610fdd57508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15610b5b57610b5b8383836119fb565b73ffffffffffffffffffffffffffffffffffffffff8316611090576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161050f565b73ffffffffffffffffffffffffffffffffffffffff8216611133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161050f565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054818110156111e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161050f565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526020819052604080822085850390559185168152908120805484929061122d908490611cf0565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161129391815260200190565b60405180910390a36112a6848484611845565b50505050565b60055473ffffffffffffffffffffffffffffffffffffffff1663eaaca2cc336040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff90911660048201526024016020604051808303816000875af1158015611336573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135a9190611d1c565b610ca9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4f4e4c595f4c4556410000000000000000000000000000000000000000000000604482015260640161050f565b73ffffffffffffffffffffffffffffffffffffffff8216611463576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015260840161050f565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015611519576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f6365000000000000000000000000000000000000000000000000000000000000606482015260840161050f565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120838303905560028054849290611555908490611d3e565b909155505060405182815260009073ffffffffffffffffffffffffffffffffffffffff8516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3610b5b83600084611845565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166312805b066040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611623573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116479190611d1c565b15806116f35750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631c80f87a6040518163ffffffff1660e01b81526004016020604051808303816000875af11580156116bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e19190611d1c565b80156116f357506116f133611acc565b155b8061172b575060055473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806117df575060055473ffffffffffffffffffffffffffffffffffffffff16637ede3f8c336040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff90911660048201526024016020604051808303816000875af11580156117bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117df9190611d1c565b610ca9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f534d4152545f4c4f434b45440000000000000000000000000000000000000000604482015260640161050f565b61184e83611acc565b158015611861575061185f82611acc565b155b8015611873575061187133611acc565b155b15610b5b576005546040517f78e0afd700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301819052602483015260448201849052909116906378e0afd7906064016000604051808303816000875af192505050801561193757506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526119349190810190611e5e565b60015b6119d8573d808015611965576040519150601f19603f3d011682016040523d82523d6000602084013e61196a565b606091505b508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f5c78cbf9df29e5f184368774c02d912c4373011bf32647eb56040696808759b384846040516119ca929190611f2c565b60405180910390a350505050565b82156119f3576119f385876119ee600287611f4d565b610fed565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146112a65781811015611abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161050f565b6112a68484848403610dd3565b6000813b63ffffffff8116151580611af8575073ffffffffffffffffffffffffffffffffffffffff8316155b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461049c57600080fd5b60008060408385031215611b3457600080fd5b8235611b3f81611aff565b946020939093013593505050565b6000815180845260005b81811015611b7357602081850181015186830182015201611b57565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000611af86020830184611b4d565b600080600060608486031215611bd957600080fd5b8335611be481611aff565b92506020840135611bf481611aff565b929592945050506040919091013590565b600060208284031215611c1757600080fd5b5035919050565b600060208284031215611c3057600080fd5b8135611af881611aff565b60008060408385031215611c4e57600080fd5b8235611c5981611aff565b91506020830135611c6981611aff565b809150509250929050565b600181811c90821680611c8857607f821691505b602082108103610ad7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561036857610368611cc1565b600060208284031215611d1557600080fd5b5051919050565b600060208284031215611d2e57600080fd5b81518015158114611af857600080fd5b8181038181111561036857610368611cc1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611dc757611dc7611d51565b604052919050565b600067ffffffffffffffff821115611de957611de9611d51565b5060051b60200190565b600082601f830112611e0457600080fd5b81516020611e19611e1483611dcf565b611d80565b82815260059290921b84018101918181019086841115611e3857600080fd5b8286015b84811015611e535780518352918301918301611e3c565b509695505050505050565b600080600060608486031215611e7357600080fd5b8351925060208085015167ffffffffffffffff80821115611e9357600080fd5b818701915087601f830112611ea757600080fd5b8151611eb5611e1482611dcf565b81815260059190911b8301840190848101908a831115611ed457600080fd5b938501935b82851015611efb578451611eec81611aff565b82529385019390850190611ed9565b60408a01519097509450505080831115611f1457600080fd5b5050611f2286828701611df3565b9150509250925092565b828152604060208201526000611f456040830184611b4d565b949350505050565b600082611f83577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea2646970667358221220528953878b946af41859974a7065d272a1fecd13362a02ab85b9335017a7c68564736f6c63430008110033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef00000000000000000000000067415eaa8d4171e975f06f6155ff5523dd88f75e00000000000000000000000000000000000000000000000000000000ee6b2800

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000067415eaa8d4171e975f06f6155ff5523dd88f75e00000000000000000000000000000000000000000000000000000000ee6b2800

-----Decoded View---------------
Arg [0] : _paridex (address): 0x67415eaa8d4171e975f06f6155ff5523dd88f75e
Arg [1] : _initialSupply (uint256): 4000000000

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000067415eaa8d4171e975f06f6155ff5523dd88f75e
Arg [1] : 00000000000000000000000000000000000000000000000000000000ee6b2800


Deployed ByteCode Sourcemap

21934:3840:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25456:136;;;;;;:::i;:::-;;:::i;:::-;;;658:14:1;;651:22;633:41;;621:2;606:18;25456:136:0;;;;;;;;11090:100;;;:::i;:::-;;;;;;;:::i;13441:201::-;;;;;;:::i;:::-;;:::i;12210:108::-;12298:12;;12210:108;;;1543:25:1;;;1531:2;1516:18;12210:108:0;1397:177:1;14222:295:0;;;;;;:::i;:::-;;:::i;12052:93::-;;;12135:2;2182:36:1;;2170:2;2155:18;12052:93:0;2040:184:1;21964:22:0;;;;;;;;;;;;2405:42:1;2393:55;;;2375:74;;2363:2;2348:18;21964:22:0;2229:226:1;14926:238:0;;;;;;:::i;:::-;;:::i;25314:134::-;;;;;;:::i;:::-;;:::i;24019:80::-;;;;;;:::i;:::-;;:::i;:::-;;24660:416;;;;;;:::i;:::-;;:::i;12381:127::-;;;;;;:::i;:::-;12482:18;;12455:7;12482:18;;;;;;;;;;;;12381:127;24107:153;;;;;;:::i;:::-;;:::i;11309:104::-;;;:::i;15667:436::-;;;;;;:::i;:::-;;:::i;12714:193::-;;;;;;:::i;:::-;;:::i;24268:384::-;;;;;;:::i;:::-;;:::i;25600:171::-;;;;;;:::i;:::-;;:::i;12970:151::-;;;;;;:::i;:::-;13086:18;;;;13059:7;13086:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;12970:151;25456:136;25526:4;23015:10;:8;:10::i;:::-;25543:19:::1;25549:3;25554:7;25543:5;:19::i;:::-;-1:-1:-1::0;25580:4:0::1;23036:1;25456:136:::0;;;;:::o;11090:100::-;11144:13;11177:5;11170:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11090:100;:::o;13441:201::-;13524:4;4580:10;13580:32;4580:10;13596:7;13605:6;13580:8;:32::i;:::-;-1:-1:-1;13630:4:0;;13441:201;-1:-1:-1;;;13441:201:0:o;14222:295::-;14353:4;4580:10;14411:38;14427:4;4580:10;14442:6;14411:15;:38::i;:::-;14460:27;14470:4;14476:2;14480:6;14460:9;:27::i;:::-;-1:-1:-1;14505:4:0;;14222:295;-1:-1:-1;;;;14222:295:0:o;14926:238::-;4580:10;15014:4;13086:18;;;:11;:18;;;;;;;;;:27;;;;;;;;;;15014:4;;4580:10;15070:64;;4580:10;;13086:27;;15095:38;;15123:10;;15095:38;:::i;:::-;15070:8;:64::i;25314:134::-;25382:4;22946:11;:9;:11::i;24019:80::-;24064:27;4580:10;24084:6;24064:5;:27::i;:::-;24019:80;:::o;24660:416::-;24759:4;23087:14;:12;:14::i;:::-;24794:1:::1;24784:7;:11;24776:35;;;::::0;::::1;::::0;;4253:2:1;24776:35:0::1;::::0;::::1;4235:21:1::0;4292:2;4272:18;;;4265:30;4331:13;4311:18;;;4304:41;4362:18;;24776:35:0::1;;;;;;;;;24822:27;24831:8;24841:7;24822:8;:27::i;:::-;24879:7;::::0;24870:50:::1;::::0;;;;24879:7:::1;4583:55:1::0;;;24870:50:0::1;::::0;::::1;4565:74:1::0;4655:18;;;4648:34;;;24879:7:0;;::::1;::::0;24870:34:::1;::::0;4538:18:1;;24870:50:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24860:60;;24949:1;24939:7;:11;24931:38;;;::::0;::::1;::::0;;5084:2:1;24931:38:0::1;::::0;::::1;5066:21:1::0;5123:2;5103:18;;;5096:30;5162:16;5142:18;;;5135:44;5196:18;;24931:38:0::1;4882:338:1::0;24931:38:0::1;24988:36;::::0;;;;:17:::1;4583:55:1::0;;;24988:36:0::1;::::0;::::1;4565:74:1::0;4655:18;;;4648:34;;;24988:17:0;::::1;::::0;::::1;::::0;4538:18:1;;24988:36:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24980:63;;;::::0;::::1;::::0;;5084:2:1;24980:63:0::1;::::0;::::1;5066:21:1::0;5123:2;5103:18;;;5096:30;5162:16;5142:18;;;5135:44;5196:18;;24980:63:0::1;4882:338:1::0;24980:63:0::1;-1:-1:-1::0;25061:7:0;24660:416;-1:-1:-1;;24660:416:0:o;24107:153::-;24173:46;24189:7;4580:10;24212:6;24173:15;:46::i;:::-;24230:22;24236:7;24245:6;24230:5;:22::i;:::-;24107:153;;:::o;11309:104::-;11365:13;11398:7;11391:14;;;;;:::i;15667:436::-;4580:10;15760:4;13086:18;;;:11;:18;;;;;;;;;:27;;;;;;;;;;15760:4;;4580:10;15907:15;15887:16;:35;;15879:85;;;;;;;5709:2:1;15879:85:0;;;5691:21:1;5748:2;5728:18;;;5721:30;5787:34;5767:18;;;5760:62;5858:7;5838:18;;;5831:35;5883:19;;15879:85:0;5507:401:1;15879:85:0;16000:60;16009:5;16016:7;16044:15;16025:16;:34;16000:8;:60::i;12714:193::-;12793:4;4580:10;12849:28;4580:10;12866:2;12870:6;12849:9;:28::i;24268:384::-;24345:4;23087:14;:12;:14::i;:::-;24380:1:::1;24370:7;:11;24362:35;;;::::0;::::1;::::0;;4253:2:1;24362:35:0::1;::::0;::::1;4235:21:1::0;4292:2;4272:18;;;4265:30;4331:13;4311:18;;;4304:41;4362:18;;24362:35:0::1;4051:335:1::0;24362:35:0::1;24408:13;24413:7;24408:4;:13::i;:::-;24451:7;::::0;24442:50:::1;::::0;;;;24451:7:::1;4583:55:1::0;;;24442:50:0::1;::::0;::::1;4565:74:1::0;4655:18;;;4648:34;;;24451:7:0;;::::1;::::0;24442:34:::1;::::0;4538:18:1;;24442:50:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24432:60;;24521:1;24511:7;:11;24503:38;;;::::0;::::1;::::0;;5084:2:1;24503:38:0::1;::::0;::::1;5066:21:1::0;5123:2;5103:18;;;5096:30;5162:16;5142:18;;;5135:44;5196:18;;24503:38:0::1;4882:338:1::0;24503:38:0::1;24560:17;::::0;::::1;;4580:10:::0;24560:40:::1;::::0;;::::1;::::0;;;;;;4595:42:1;4583:55;;;24560:40:0::1;::::0;::::1;4565:74:1::0;4655:18;;;4648:34;;;4538:18;;24560:40:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24552:67;;;::::0;::::1;::::0;;5084:2:1;24552:67:0::1;::::0;::::1;5066:21:1::0;5123:2;5103:18;;;5096:30;5162:16;5142:18;;;5135:44;5196:18;;24552:67:0::1;4882:338:1::0;24552:67:0::1;-1:-1:-1::0;24637:7:0;24268:384;-1:-1:-1;24268:384:0:o;25600:171::-;25664:4;23015:10;:8;:10::i;:::-;25681:7:::1;:18:::0;;;::::1;;::::0;::::1;::::0;;::::1;::::0;;;25717:24:::1;::::0;::::1;::::0;-1:-1:-1;;25717:24:0::1;-1:-1:-1::0;25759:4:0::1;25600:171:::0;;;:::o;21745:124::-;;;;:::o;22479:164::-;22538:7;;;;4580:10;22522:23;;;22519:117;;22579:7;;;;22570:23;4580:10;22570:37;;;;;;;;;;2405:42:1;2393:55;;;22570:37:0;;;2375:74:1;2348:18;;22570:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22562:62;;;;;;;6115:2:1;22562:62:0;;;6097:21:1;6154:2;6134:18;;;6127:30;6193:14;6173:18;;;6166:42;6225:18;;22562:62:0;5913:336:1;22562:62:0;22479:164::o;17531:399::-;17615:21;;;17607:65;;;;;;;6456:2:1;17607:65:0;;;6438:21:1;6495:2;6475:18;;;6468:30;6534:33;6514:18;;;6507:61;6585:18;;17607:65:0;6254:355:1;17607:65:0;17763:6;17747:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;17780:18:0;;;:9;:18;;;;;;;;;;:28;;17802:6;;17780:9;:28;;17802:6;;17780:28;:::i;:::-;;;;-1:-1:-1;;17824:37:0;;1543:25:1;;;17824:37:0;;;;17841:1;;17824:37;;1531:2:1;1516:18;17824:37:0;;;;;;;17874:48;17902:1;17906:7;17915:6;17874:19;:48::i;19292:380::-;19428:19;;;19420:68;;;;;;;6816:2:1;19420:68:0;;;6798:21:1;6855:2;6835:18;;;6828:30;6894:34;6874:18;;;6867:62;6965:6;6945:18;;;6938:34;6989:19;;19420:68:0;6614:400:1;19420:68:0;19507:21;;;19499:68;;;;;;;7221:2:1;19499:68:0;;;7203:21:1;7260:2;7240:18;;;7233:30;7299:34;7279:18;;;7272:62;7370:4;7350:18;;;7343:32;7392:19;;19499:68:0;7019:398:1;19499:68:0;19580:18;;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;19632:32;;1543:25:1;;;19632:32:0;;1516:18:1;19632:32:0;;;;;;;19292:380;;;:::o;25084:222::-;25198:7;;;25187:18;;;25198:7;;25187:18;;;;:38;;;25220:5;25209:16;;:7;:16;;;;25187:38;25183:116;;;25242:45;25264:5;25271:7;25280:6;25242:21;:45::i;16573:671::-;16704:18;;;16696:68;;;;;;;7624:2:1;16696:68:0;;;7606:21:1;7663:2;7643:18;;;7636:30;7702:34;7682:18;;;7675:62;7773:7;7753:18;;;7746:35;7798:19;;16696:68:0;7422:401:1;16696:68:0;16783:16;;;16775:64;;;;;;;8030:2:1;16775:64:0;;;8012:21:1;8069:2;8049:18;;;8042:30;8108:34;8088:18;;;8081:62;8179:5;8159:18;;;8152:33;8202:19;;16775:64:0;7828:399:1;16775:64:0;16925:15;;;16903:19;16925:15;;;;;;;;;;;16959:21;;;;16951:72;;;;;;;8434:2:1;16951:72:0;;;8416:21:1;8473:2;8453:18;;;8446:30;8512:34;8492:18;;;8485:62;8583:8;8563:18;;;8556:36;8609:19;;16951:72:0;8232:402:1;16951:72:0;17059:15;;;;:9;:15;;;;;;;;;;;17077:20;;;17059:38;;17119:13;;;;;;;;:23;;17091:6;;17059:9;17119:23;;17091:6;;17119:23;:::i;:::-;;;;;;;;17175:2;17160:26;;17169:4;17160:26;;;17179:6;17160:26;;;;1543:25:1;;1531:2;1516:18;;1397:177;17160:26:0;;;;;;;;17199:37;17219:4;17225:2;17229:6;17199:19;:37::i;:::-;16685:559;16573:671;;;:::o;22362:109::-;22420:7;;;;22411:24;4580:10;22411:38;;;;;;;;;;2405:42:1;2393:55;;;22411:38:0;;;2375:74:1;2348:18;;22411:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22403:60;;;;;;;8841:2:1;22403:60:0;;;8823:21:1;8880:1;8860:18;;;8853:29;8918:11;8898:18;;;8891:39;8947:18;;22403:60:0;8639:332:1;18263:591:0;18347:21;;;18339:67;;;;;;;9178:2:1;18339:67:0;;;9160:21:1;9217:2;9197:18;;;9190:30;9256:34;9236:18;;;9229:62;9327:3;9307:18;;;9300:31;9348:19;;18339:67:0;8976:397:1;18339:67:0;18506:18;;;18481:22;18506:18;;;;;;;;;;;18543:24;;;;18535:71;;;;;;;9580:2:1;18535:71:0;;;9562:21:1;9619:2;9599:18;;;9592:30;9658:34;9638:18;;;9631:62;9729:4;9709:18;;;9702:32;9751:19;;18535:71:0;9378:398:1;18535:71:0;18642:18;;;:9;:18;;;;;;;;;;18663:23;;;18642:44;;18708:12;:22;;18680:6;;18642:9;18708:22;;18680:6;;18708:22;:::i;:::-;;;;-1:-1:-1;;18748:37:0;;1543:25:1;;;18774:1:0;;18748:37;;;;;;1531:2:1;1516:18;18748:37:0;;;;;;;18798:48;18818:7;18835:1;18839:6;18798:19;:48::i;22651:256::-;22713:7;;;;;;;;;;;22704:30;;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22703:33;:111;;;;22750:7;;;;;;;;;;;22741:34;;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:72;;;;-1:-1:-1;22782:31:0;4580:10;22782:17;:31::i;:::-;22781:32;22741:72;22703:138;;;-1:-1:-1;22834:7:0;;;;4580:10;22818:23;;;22703:138;:179;;;-1:-1:-1;22854:7:0;;;;22845:23;4580:10;22845:37;;;;;;;;;;2405:42:1;2393:55;;;22845:37:0;;;2375:74:1;2348:18;;22845:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22695:204;;;;;;;10116:2:1;22695:204:0;;;10098:21:1;10155:2;10135:18;;;10128:30;10194:14;10174:18;;;10167:42;10226:18;;22695:204:0;9914:336:1;23359:652:0;23548:23;23566:4;23548:17;:23::i;:::-;23547:24;:50;;;;;23576:21;23594:2;23576:17;:21::i;:::-;23575:22;23547:50;:86;;;;-1:-1:-1;23602:31:0;4580:10;22782:17;:31::i;23602:::-;23601:32;23547:86;23544:460;;;23663:7;;23654:43;;;;;23663:7;10536:15:1;;;23654:43:0;;;10518:34:1;;;10568:18;;;10561:43;10620:18;;;10613:34;;;23663:7:0;;;;23654:27;;10430:18:1;;23654:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;23650:343;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23958:2;23932:45;;23952:4;23932:45;;;23962:6;23970;23932:45;;;;;;;:::i;:::-;;;;;;;;23880:113;21745:124;;;:::o;23650:343::-;23776:11;;23773:91;;23812:32;23822:2;23826:4;23832:11;23842:1;23832:7;:11;:::i;:::-;23812:9;:32::i;:::-;23698:181;;;23359:652;;;:::o;19963:453::-;13086:18;;;;20098:24;13086:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;20185:17;20165:37;;20161:248;;20247:6;20227:16;:26;;20219:68;;;;;;;14086:2:1;20219:68:0;;;14068:21:1;14125:2;14105:18;;;14098:30;14164:31;14144:18;;;14137:59;14213:18;;20219:68:0;13884:353:1;20219:68:0;20331:51;20340:5;20347:7;20375:6;20356:16;:25;20331:8;:51::i;23129:222::-;23194:4;23264:18;;23311:8;;;;;;:31;;-1:-1:-1;23323:19:0;;;;23311:31;23303:40;23129:222;-1:-1:-1;;;23129:222:0:o;14:154:1:-;100:42;93:5;89:54;82:5;79:65;69:93;;158:1;155;148:12;173:315;241:6;249;302:2;290:9;281:7;277:23;273:32;270:52;;;318:1;315;308:12;270:52;357:9;344:23;376:31;401:5;376:31;:::i;:::-;426:5;478:2;463:18;;;;450:32;;-1:-1:-1;;;173:315:1:o;685:482::-;727:3;765:5;759:12;792:6;787:3;780:19;817:1;827:162;841:6;838:1;835:13;827:162;;;903:4;959:13;;;955:22;;949:29;931:11;;;927:20;;920:59;856:12;827:162;;;831:3;1034:1;1027:4;1018:6;1013:3;1009:16;1005:27;998:38;1156:4;1086:66;1081:2;1073:6;1069:15;1065:88;1060:3;1056:98;1052:109;1045:116;;;685:482;;;;:::o;1172:220::-;1321:2;1310:9;1303:21;1284:4;1341:45;1382:2;1371:9;1367:18;1359:6;1341:45;:::i;1579:456::-;1656:6;1664;1672;1725:2;1713:9;1704:7;1700:23;1696:32;1693:52;;;1741:1;1738;1731:12;1693:52;1780:9;1767:23;1799:31;1824:5;1799:31;:::i;:::-;1849:5;-1:-1:-1;1906:2:1;1891:18;;1878:32;1919:33;1878:32;1919:33;:::i;:::-;1579:456;;1971:7;;-1:-1:-1;;;2025:2:1;2010:18;;;;1997:32;;1579:456::o;2460:180::-;2519:6;2572:2;2560:9;2551:7;2547:23;2543:32;2540:52;;;2588:1;2585;2578:12;2540:52;-1:-1:-1;2611:23:1;;2460:180;-1:-1:-1;2460:180:1:o;2645:247::-;2704:6;2757:2;2745:9;2736:7;2732:23;2728:32;2725:52;;;2773:1;2770;2763:12;2725:52;2812:9;2799:23;2831:31;2856:5;2831:31;:::i;2897:388::-;2965:6;2973;3026:2;3014:9;3005:7;3001:23;2997:32;2994:52;;;3042:1;3039;3032:12;2994:52;3081:9;3068:23;3100:31;3125:5;3100:31;:::i;:::-;3150:5;-1:-1:-1;3207:2:1;3192:18;;3179:32;3220:33;3179:32;3220:33;:::i;:::-;3272:7;3262:17;;;2897:388;;;;;:::o;3290:437::-;3369:1;3365:12;;;;3412;;;3433:61;;3487:4;3479:6;3475:17;3465:27;;3433:61;3540:2;3532:6;3529:14;3509:18;3506:38;3503:218;;3577:77;3574:1;3567:88;3678:4;3675:1;3668:15;3706:4;3703:1;3696:15;3732:184;3784:77;3781:1;3774:88;3881:4;3878:1;3871:15;3905:4;3902:1;3895:15;3921:125;3986:9;;;4007:10;;;4004:36;;;4020:18;;:::i;4693:184::-;4763:6;4816:2;4804:9;4795:7;4791:23;4787:32;4784:52;;;4832:1;4829;4822:12;4784:52;-1:-1:-1;4855:16:1;;4693:184;-1:-1:-1;4693:184:1:o;5225:277::-;5292:6;5345:2;5333:9;5324:7;5320:23;5316:32;5313:52;;;5361:1;5358;5351:12;5313:52;5393:9;5387:16;5446:5;5439:13;5432:21;5425:5;5422:32;5412:60;;5468:1;5465;5458:12;9781:128;9848:9;;;9869:11;;;9866:37;;;9883:18;;:::i;10658:184::-;10710:77;10707:1;10700:88;10807:4;10804:1;10797:15;10831:4;10828:1;10821:15;10847:334;10918:2;10912:9;10974:2;10964:13;;10979:66;10960:86;10948:99;;11077:18;11062:34;;11098:22;;;11059:62;11056:88;;;11124:18;;:::i;:::-;11160:2;11153:22;10847:334;;-1:-1:-1;10847:334:1:o;11186:183::-;11246:4;11279:18;11271:6;11268:30;11265:56;;;11301:18;;:::i;:::-;-1:-1:-1;11346:1:1;11342:14;11358:4;11338:25;;11186:183::o;11374:659::-;11439:5;11492:3;11485:4;11477:6;11473:17;11469:27;11459:55;;11510:1;11507;11500:12;11459:55;11539:6;11533:13;11565:4;11589:60;11605:43;11645:2;11605:43;:::i;:::-;11589:60;:::i;:::-;11683:15;;;11769:1;11765:10;;;;11753:23;;11749:32;;;11714:12;;;;11793:15;;;11790:35;;;11821:1;11818;11811:12;11790:35;11857:2;11849:6;11845:15;11869:135;11885:6;11880:3;11877:15;11869:135;;;11951:10;;11939:23;;11982:12;;;;11902;;11869:135;;;-1:-1:-1;12022:5:1;11374:659;-1:-1:-1;;;;;;11374:659:1:o;12038:1268::-;12176:6;12184;12192;12245:2;12233:9;12224:7;12220:23;12216:32;12213:52;;;12261:1;12258;12251:12;12213:52;12290:9;12284:16;12274:26;;12319:2;12365;12354:9;12350:18;12344:25;12388:18;12429:2;12421:6;12418:14;12415:34;;;12445:1;12442;12435:12;12415:34;12483:6;12472:9;12468:22;12458:32;;12528:7;12521:4;12517:2;12513:13;12509:27;12499:55;;12550:1;12547;12540:12;12499:55;12579:2;12573:9;12602:60;12618:43;12658:2;12618:43;:::i;12602:60::-;12696:15;;;12778:1;12774:10;;;;12766:19;;12762:28;;;12727:12;;;;12802:19;;;12799:39;;;12834:1;12831;12824:12;12799:39;12858:11;;;;12878:210;12894:6;12889:3;12886:15;12878:210;;;12967:3;12961:10;12984:31;13009:5;12984:31;:::i;:::-;13028:18;;12911:12;;;;13066;;;;12878:210;;;13158:2;13143:18;;13137:25;13107:5;;-1:-1:-1;13137:25:1;-1:-1:-1;;;13174:16:1;;;13171:36;;;13203:1;13200;13193:12;13171:36;;;13226:74;13292:7;13281:8;13270:9;13266:24;13226:74;:::i;:::-;13216:84;;;12038:1268;;;;;:::o;13311:289::-;13486:6;13475:9;13468:25;13529:2;13524;13513:9;13509:18;13502:30;13449:4;13549:45;13590:2;13579:9;13575:18;13567:6;13549:45;:::i;:::-;13541:53;13311:289;-1:-1:-1;;;;13311:289:1:o;13605:274::-;13645:1;13671;13661:189;;13706:77;13703:1;13696:88;13807:4;13804:1;13797:15;13835:4;13832:1;13825:15;13661:189;-1:-1:-1;13864:9:1;;13605:274::o

Swarm Source

ipfs://528953878b946af41859974a7065d272a1fecd13362a02ab85b9335017a7c685
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
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.