Contract
0x349eade791a30f00f690cf2ae0d5d78c06786cb0
7
[ Download CSV Export ]
OVERVIEW
PARI is the core cryptocurrency of the PariDEX ecosystem.Contract Name:
Pari
Compiler Version
v0.8.17+commit.8df45f5f
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
- No Contract Security Audit Submitted- Submit Audit Here
[{"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"}]
Contract Creation Code
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
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.