Contract 0x349eADE791a30F00f690cf2ae0d5D78c06786CB0

 
 
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0x85ac07811614e95aeca3d4ea04bcc65fbe09e9dc550333d49f2c4f87135d44f1Approve421611482023-05-01 3:34:2839 days 12 hrs ago0x200a8ae67a175df4638f130089218571afdf996d IN  PariDEX: PARI Token0 MATIC0.015241838026 327.443456793
0xd5a3a5d59e964d830f3307ec57b3649e23edcc1be24f7b9c02bda2017c8d1aa5Approve411780422023-04-05 15:57:4565 days ago0x122538076caa65843a2c2c70681a31216b167b8e IN  PariDEX: PARI Token0 MATIC0.004757882374 102.214539279
0x5ce39e2c1c689b9c59856b8ba8abed56c7213433419eb916d6616190982ca090Approve410232122023-04-01 15:43:3669 days 14 mins ago0x685dd4bed2b4366d5ed6d60fc94b315d87cd89ae IN  PariDEX: PARI Token0 MATIC0.005439443529 117.614675875
0xc3cfe1bcb27eed24c17e036c7e0025b6eb71554edec67eaff75a5a03376d6fdcTransfer403625162023-03-15 5:30:3286 days 10 hrs ago0x6a4e94df55e608cd8cfa746194f08a049381b165 IN  PariDEX: PARI Token0 MATIC0.048948576578 157.988840656
0x139739fd338fc7b15715bb065be25740b48fe90e5d18aecc6f25592b58c29237Transfer403621672023-03-15 5:17:3886 days 10 hrs ago0x6a4e94df55e608cd8cfa746194f08a049381b165 IN  PariDEX: PARI Token0 MATIC0.041645992124 134.419092656
0x0d82c8be85310cd27773b1989030720f1ce5d1ab0ca2572b8e7fb113243bb554Approve403375202023-03-14 13:40:4287 days 2 hrs ago0x1aece67bc38097218ab3adc3d88268c3f8d2792e IN  PariDEX: PARI Token0 MATIC0.021177815846 454.967256301
0x1319e214fcb63bc5062c273e1028ba5da22c88ccf9c6d9d022f433d61a90d240Approve403047372023-03-13 16:49:2187 days 23 hrs ago0x1aece67bc38097218ab3adc3d88268c3f8d2792e IN  PariDEX: PARI Token0 MATIC0.006679882525 143.505253183
0x457cec1ae4b22ff5967c23dc97750e3ac18fa9cd1cbe73ec935ad3fe1e302e0aApprove401453772023-03-09 12:31:1992 days 3 hrs ago0xc7a7dc9d86c973508a8ded044cd5a786f3576ab1 IN  PariDEX: PARI Token0 MATIC0.008177762947 175.684518076
0x60e485844a812ecb2f9d31a08256799a02e9c15e23365c9847977dc4d0fbcfbfApprove398852732023-03-02 16:02:3898 days 23 hrs ago0x6a4e94df55e608cd8cfa746194f08a049381b165 IN  PariDEX: PARI Token0 MATIC0.009539651828 204.94224947
0x05330d61fd47109e5e674097165f775bd8c5fecf9c1d32550f7734f0f90d2256Transfer393315422023-02-15 19:39:21113 days 20 hrs ago0x6eff4f3c4c1b34f138d8adb56cf049be72503559 IN  PariDEX: PARI Token0 MATIC0.094007491336 303.040776162
0x30640690d448b5d93c2299efc58bd7a67543cf6a7232c40941e8be769685191fTransfer393271472023-02-15 16:48:49113 days 23 hrs ago0xda42a3c1436236540921b8d5907a0ad26a5bd840 IN  PariDEX: PARI Token0 MATIC0.096403592983 311.472664716
0x21b79b48ae653360fcf7e014d3f9144ffa0414d3b3fef6b730c2194d40ef50ceApprove392957262023-02-14 20:56:34114 days 19 hrs ago0x2dc866dfb6227aff776feffbf46ab74423f56ef4 IN  PariDEX: PARI Token0 MATIC0.014708687423 315.989675681
0x026ce19ed8195c1f9b8d3c0681b61a3fd4750675ccf347f967042571873c7b60Approve392929542023-02-14 19:12:44114 days 20 hrs ago0x6eff4f3c4c1b34f138d8adb56cf049be72503559 IN  PariDEX: PARI Token0 MATIC0.019502395426 418.9738641
0x2ec80d97848af5ce7e101e1dea52310ff2f9d096d843c31252fc006d32eb2c23Transfer392838202023-02-14 13:38:38115 days 2 hrs ago0x1b9acee47bac1cdc737c18d5761174d6cd6cea64 IN  PariDEX: PARI Token0 MATIC0.589766629192 1,904.082254009
0x7871061cc716c996ff7578f8685dd63ccd80888d2084296960d8c24335299875Transfer392551262023-02-13 18:46:30115 days 21 hrs ago0x685dd4bed2b4366d5ed6d60fc94b315d87cd89ae IN  PariDEX: PARI Token0 MATIC0.042290447133 244.5326067
0x8db15d0eaa7f23a15bded54edb9b78adcb614893428fc7b52f84f042f695ba8fTransfer392263822023-02-13 0:19:02116 days 15 hrs ago0x62c0a85fa3ad7d296c1716ae2c6d6ac5ffddc452 IN  PariDEX: PARI Token0 MATIC0.059448419531 191.703545019
0xe7567740816a3b8a92095ab37e1120015af8a5922fe5fcb496eebfb35b89b992Approve392120422023-02-12 14:58:23117 days 59 mins ago0x4aa4294948d321c1120d27524d14bce93e533f72 IN  PariDEX: PARI Token0 MATIC0.017682766402 379.88240961
0x9ce8eb1946470357563ba440e9180ae5b22d4b872792e554377943464980be12Transfer392096692023-02-12 13:24:21117 days 2 hrs ago0x62c0a85fa3ad7d296c1716ae2c6d6ac5ffddc452 IN  PariDEX: PARI Token0 MATIC0.20250391527 588.646793376
0x8894f56188ab5ead56debe80271d2aefc37fd4007d16bbd458d6da5d94dedb51Transfer391933362023-02-12 2:23:50117 days 13 hrs ago0xc10595ed2b3fc1ff4031c419b00a68b811c529f0 IN  PariDEX: PARI Token0 MATIC0.056325096305 248.581537719
0x88c1af1b22a4fee07a3d004738908fa59d6dedd5033fc3eabe6d19d350978f91Approve391785212023-02-11 16:19:50117 days 23 hrs ago0xb79a57fe4b15399e468668fafb287ad959060a6e IN  PariDEX: PARI Token0 MATIC0.015303814467 328.774909076
0xa4e32071bf71a34a46a564243e440da67e565f06338a02aa47938839f6268d42Approve390321802023-02-07 21:22:28121 days 18 hrs ago0x92fa38a6c2a1acfe489233d39e99ee1f8ab931c0 IN  PariDEX: PARI Token0 MATIC0.004999784281 107.411366359
0x314ba00c33e33cd5bded05a9547954ba7cad0ab006d74264c79f24eb463c872fApprove390305212023-02-07 20:22:29121 days 19 hrs ago0x1b6c0c67f0fa712a28238cb33a6c2d1804c5c77f IN  PariDEX: PARI Token0 MATIC0.0093096 200
0x625d39856f6cfc097929209dd04c1d490c1db5d5a4d71e475301f7914c3410f5Approve390303692023-02-07 20:17:07121 days 19 hrs ago0x0ab9d6b0f557114c00c428148003fe9ab943e3bb IN  PariDEX: PARI Token0 MATIC0.005036845625 108.207562638
0x5f6c5e44460c69c6c484fea4c91645f65d73a7a678099dd984aeec79134a2d5fTransfer390288482023-02-07 19:21:37121 days 20 hrs ago0x685dd4bed2b4366d5ed6d60fc94b315d87cd89ae IN  PariDEX: PARI Token0 MATIC0.028309444506 181.666438897
0x045ecf1ad8d7db2a5b392d734ad56c297f2a1eb5d4101021f034f4bcd74151bbTransfer390286442023-02-07 19:14:23121 days 20 hrs ago0x685dd4bed2b4366d5ed6d60fc94b315d87cd89ae IN  PariDEX: PARI Token0 MATIC0.035318648388 204.234314001
[ 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.