![ads](/images/gen/moonpay_20.png)
15M+ users trust MoonPay. Checkout with your preferred payment method.
![ads](/images/gen/cons_20.png)
Ready to onboard to Ethereum? With MetaMask Portfolio, you're in control.
![ads](/images/gen/nexo.png)
Get up to 0.5% cashback per purchase and receive daily interest.
![ads](/images/gen/cons_20.png)
Ready to simplify your web3 experience? Try the all-in-one web3 app trusted by millions worldwide.
Opt-in, make your first trade on Exchange Plus & receive random crypto rewards from 10,000 SHIB, to 0.01 BTC.
![ads](/images/gen/coinsgame_20a.png)
Everyday giveaways up to 100 ETH, Lucky Spins. Deposit BONUS 300% and Cashbacks!
![ads](/images/gen/celsiuscasino_20.png)
9 years old Licensed Crypto Casino, Instant Withdraw 24/7, 6000+ Slots available, Paypal Deposit, Instant Live Support 24/7, 30% Rakeback.
![ads](/images/gen/bcgames_20.png)
5000+ Slots & Live Casino Games, 50+cryptos. Register with Etherscan and get 760% deposit bonus. Win Big$, withdraw it fast.
![ads](/images/gen/bcgames_20.png)
5000+ Slots & Live Casino Games, 50+cryptos. Register with Etherscan and get 760% deposit bonus. Win Big$, withdraw it fast.
![ads](/images/gen/cw_20.png)
Play 100s of games anonymously with all major cryptos. Join CryptoWins & start winning!
![ads](/images/gen/cryptoslots.png)
Anonymous play on awesome games - sign up now for 25 free jackpot spins - worth $100s!
Overview
ETH Balance
Eth Value
$20,697.90 (@ $3,159.71/ETH)Token Holdings
Could not find any matches!
- ERC-20 Tokens (25)52.58174045 BRDBread (BRD)$0.48@0.009117,098.36745648 HOTHoloToken (HOT)$29.05@0.001738.2962 OMGOMG Network (OMG)$10.87@0.28390.08398093 PAXGPaxos Gold (PAXG)$200.40@2,386.3128.64869472 PPTPopulous (PPT)$0.49@0.0171654.324 POWRPowerLedger (POWR)$128.29@0.19613,796.19677935 QKCQuarkChain T... (QKC)$27.73@0.007356.1525 CNHTTether CNH (CNHT)$7.85@0.139864.813 WTCWalton (WTC)$0.49@0.0076134.29009329 BATBAT (BAT)$24.88@0.185313.2066 LINKChainLink To... (LINK)$171.55@12.990.02755065 MKRMaker (MKR)$72.71@2,639.04202.60844244 USDPPax Dollar (USDP)$202.61@1.002,617.295 SNTStatusNetwor... (SNT)$60.66@0.0232721.59481 USDTTether USD (USDT)$722.32@1.001124.9108 ZRXZRX (ZRX)$40.46@0.3239888,888 KICKKickToken32,000 MNEMinereum32,000 MNEMinereum186,667.10263855 NPXSPundi X Token2.5723 REPReputation$1.87@0.72521.7 TokenERC-20 TOKEN*[Suspicious]1.4 TokenERC-20 TOKEN*[Suspicious]132.84 TokenERC-20 TOKEN*[Spam]16,888 TokenERC-20 TOKEN*[Spam]NFT Tokens (8)
More Info
Private Name Tags
ContractCreator
- Transactions
- Internal Transactions
- Token Transfers (ERC-20)
- NFT Transfers
- Contract
- Events
- Analytics
- Multichain Portfolio
- Info
Advanced Filter- Filter by Tx Type:
- Tx
- Internal Tx
- ERC-20
- NFTs
Latest 25 from a total of 3,680 transactions
Transaction Hash MethodBlockFromToWithdraw By Admi... 12345771 2021-05-01 3:06:24 1169 days ago 1619838384 IN 0 ETH$0.00 0.00098439 30 Add User 12345771 2021-05-01 3:06:24 1169 days ago 1619838384 IN 0 ETH$0.00 0.00088881 30 Upgrade 11958898 2021-03-02 12:48:43 1229 days ago 1614689323 IN 0 ETH$0.00 0.00383007 129.71428571 Deposit 11524806 2020-12-25 19:52:35 1295 days ago 1608925955 IN 0.0352 ETH$111.22 0.00226706 46 Add User 11013283 2020-10-08 6:15:11 1374 days ago 1602137711 IN 0 ETH$0.00 0.00212118 30 Settle 11013013 2020-10-08 5:12:47 1374 days ago 1602133967 IN 0 ETH$0.00 0.00582696 30 Deposit 11006248 2020-10-07 3:41:20 1375 days ago 1602042080 IN 0.05 ETH$157.99 0.00409057 83 Deposit 10921718 2020-09-23 23:17:49 1388 days ago 1600903069 IN 0.4644 ETH$1,467.37 0.00250273 73 Deposit 10915509 2020-09-23 0:23:10 1389 days ago 1600820590 IN 0.2407 ETH$760.54 0.00370267 108 Withdraw By Admi... 10909854 2020-09-22 3:23:28 1390 days ago 1600745008 IN 0 ETH$0.00 0.00715926 107 Withdraw By Admi... 10909852 2020-09-22 3:22:44 1390 days ago 1600744964 IN 0 ETH$0.00 0.00715851 107 Add User 10909836 2020-09-22 3:19:13 1390 days ago 1600744753 IN 0 ETH$0.00 0.00756554 107 Deposit Token 10825346 2020-09-09 4:24:37 1403 days ago 1599625477 IN 0 ETH$0.00 0.00751542 73 Deposit 10778650 2020-09-02 0:44:35 1410 days ago 1599007475 IN 0.1582 ETH$499.87 0.01645632 480 Deposit 10767690 2020-08-31 8:50:34 1412 days ago 1598863834 IN 0.175 ETH$552.95 0.00798817 233 Deposit 10765466 2020-08-31 0:31:44 1412 days ago 1598833904 IN 0.0116 ETH$36.65 0.00414836 121 Withdraw By Admi... 10479052 2020-07-17 20:10:35 1456 days ago 1595016635 IN 0 ETH$0.00 0.00200781 30 Add User 10479052 2020-07-17 20:10:35 1456 days ago 1595016635 IN 0 ETH$0.00 0.00212118 30 Deposit 10478711 2020-07-17 18:55:59 1456 days ago 1595012159 IN 0.0187 ETH$59.09 0.00206992 42 Withdraw By Admi... 9881986 2020-04-16 6:55:21 1549 days ago 1587020121 IN 0 ETH$0.00 0.00066944 10 Withdraw By Admi... 9881976 2020-04-16 6:53:48 1549 days ago 1587020028 IN 0 ETH$0.00 0.00051939 10 Withdraw By Admi... 9881975 2020-04-16 6:53:35 1549 days ago 1587020015 IN 0 ETH$0.00 0.0009367 10 Withdraw By Admi... 9881940 2020-04-16 6:44:27 1549 days ago 1587019467 IN 0 ETH$0.00 0.00077908 15 Withdraw By Admi... 9881940 2020-04-16 6:44:27 1549 days ago 1587019467 IN 0 ETH$0.00 0.00143157 15 Withdraw By Admi... 9881910 2020-04-16 6:36:13 1549 days ago 1587018973 IN 0 ETH$0.00 0.00077916 15 Latest 25 internal transactions (View All)
Advanced mode:Parent Transaction Hash Block From To 10909854 2020-09-22 3:23:28 1390 days ago 1600745008 0.21998 ETH$695.07 10909852 2020-09-22 3:22:44 1390 days ago 1600744964 0.00001 ETH$0.03 10909598 2020-09-22 2:28:41 1390 days ago 1600741721 0.0001 ETH$0.32 10479052 2020-07-17 20:10:35 1456 days ago 1595016635 0.0167 ETH$52.77 9881986 2020-04-16 6:55:21 1549 days ago 1587020121 0.05696513 ETH$179.99 9881976 2020-04-16 6:53:48 1549 days ago 1587020028 0.10950506 ETH$346.00 9881940 2020-04-16 6:44:27 1549 days ago 1587019467 0.13615994 ETH$430.23 9881910 2020-04-16 6:36:13 1549 days ago 1587018973 0.12381489 ETH$391.22 9881900 2020-04-16 6:34:49 1549 days ago 1587018889 0.08001699 ETH$252.83 9881875 2020-04-16 6:29:23 1549 days ago 1587018563 0.09927116 ETH$313.67 9881803 2020-04-16 6:11:39 1549 days ago 1587017499 0.12085355 ETH$381.86 9881772 2020-04-16 6:06:16 1549 days ago 1587017176 0.1264016 ETH$399.39 9881713 2020-04-16 5:53:36 1549 days ago 1587016416 0.69612212 ETH$2,199.54 9881658 2020-04-16 5:42:01 1549 days ago 1587015721 0.7291 ETH$2,303.74 9881481 2020-04-16 4:58:14 1549 days ago 1587013094 0.47181384 ETH$1,490.79 9881298 2020-04-16 4:17:26 1549 days ago 1587010646 0.64530302 ETH$2,038.97 9819436 2020-04-06 15:54:55 1559 days ago 1586188495 0.00321337 ETH$10.15 9726170 2020-03-23 6:46:02 1573 days ago 1584945962 0.0152301 ETH$48.12 9726085 2020-03-23 6:27:42 1573 days ago 1584944862 0.0066 ETH$20.85 9726084 2020-03-23 6:27:28 1573 days ago 1584944848 0.05259256 ETH$166.18 9324709 2020-01-21 11:58:52 1635 days ago 1579607932 2.91108978 ETH$9,198.19 9200643 2020-01-02 11:18:32 1654 days ago 1577963912 2.3413343 ETH$7,397.93 9199620 2020-01-02 6:38:19 1654 days ago 1577947099 0.005 ETH$15.80 9185596 2019-12-30 11:16:50 1657 days ago 1577704610 0.03222 ETH$101.81 9185580 2019-12-30 11:11:07 1657 days ago 1577704267 0.1146 ETH$362.10 Loading...LoadingThis contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.Contract Name:DinngoProxy
Compiler Versionv0.5.12+commit.7709ece9
Contract Source Code (Solidity)
- library Address
- - function isContract(address account)
- contract Ownable
- - function owner()
- - function isOwner()
- - function renounceOwnership()
- - function transferOwnership(address ne ...
- - function _transferOwnership(address n ...
- contract Proxy is Ownable
- - function upgrade(address implementati ...
- - function implementationVersion()
- - function _setImplementation(address i ...
- - function _implementation()
- library SafeMath
- - function add(uint256 a, uint256 b)
- - function sub(uint256 a, uint256 b)
- - function mul(uint256 a, uint256 b)
- - function div(uint256 a, uint256 b)
- - function mod(uint256 a, uint256 b)
- contract Administrable
- - function isAdmin()
- - function activateAdmin(address admin)
- - function deactivateAdmin(address admi ...
- - function setAdminLimit(uint256 n)
- - function _setAdminLimit(uint256 n)
- - function _activateAdmin(address admin ...
- - function _safeDeactivateAdmin(address ...
- - function _deactivateAdmin(address adm ...
- contract DinngoProxy is Ownable, A ... *
- - function setEvent(uint8 conf)
- - function addUser(uint256 id, address ...
- - function removeUser(address user)
- - function updateUserRank(address user, ...
- - function addToken(uint256 id, address ...
- - function removeToken(address token)
- - function updateTokenRank(address toke ...
- - function activateAdmin(address admin)
- - function deactivateAdmin(address admi ...
- - function forceDeactivateAdmin(address ...
- - function setAdminLimit(uint256 n)
- - function deposit()
- - function depositToken(address token, ...
- - function withdraw(uint256 amount)
- - function withdrawToken(address token, ...
- - function extractFee(uint256 amount)
- - function extractTokenFee(address toke ...
- - function getWalletBalance(address tok ...
- - function changeWalletOwner(address ne ...
- - function withdrawByAdmin(bytes callda ...
- - function transferByAdmin(bytes callda ...
- - function settle(bytes calldata orders ...
- - function migrateByAdmin(bytes calldat ...
- - function migrateTo(address user, addr ...
- - function lock()
- - function unlock()
- - function changeProcessTime(uint256 ti ...
- - function getTransferralHash(
/** *Submitted for verification at Etherscan.io on 2019-11-18 */ // File: openzeppelin-solidity/contracts/utils/Address.sol pragma solidity ^0.5.0; /** * @dev Collection of functions related to the address type, */ library Address { /** * @dev Returns true if `account` is a contract. * * This test is non-exhaustive, and there may be false-negatives: during the * execution of a contract's constructor, its address will be reported as * not containing a contract. * * > It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. */ function isContract(address account) internal view returns (bool) { // This method relies in extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } } // File: openzeppelin-solidity/contracts/ownership/Ownable.sol pragma solidity ^0.5.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be aplied to your functions to restrict their use to * the owner. */ contract Ownable { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () internal { _owner = msg.sender; emit OwnershipTransferred(address(0), _owner); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(isOwner(), "Ownable: caller is not the owner"); _; } /** * @dev Returns true if the caller is the current owner. */ function isOwner() public view returns (bool) { return msg.sender == _owner; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * > Note: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). */ function _transferOwnership(address newOwner) internal { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } // File: localhost/contracts/proxy/Proxy.sol pragma solidity ^0.5.0; /** * @title Proxy interface for Dinngo exchange contract. * @author Ben Huang * @dev Referenced the proxy contract from zeppelin-os project. * https://github.com/zeppelinos/zos/tree/master/packages/lib */ contract Proxy is Ownable { using Address for address; // keccak256 hash of "dinngo.proxy.implementation" bytes32 private constant IMPLEMENTATION_SLOT = 0x3b2ff02c0f36dba7cc1b20a669e540b974575f04ef71846d482983efb03bebb4; event Upgraded(address indexed implementation); constructor(address implementation) internal { assert(IMPLEMENTATION_SLOT == keccak256("dinngo.proxy.implementation")); _setImplementation(implementation); } /** * @notice Upgrade the implementation contract. Can only be triggered * by the owner. Emits the Upgraded event. * @param implementation The new implementation address. */ function upgrade(address implementation) external onlyOwner { _setImplementation(implementation); emit Upgraded(implementation); } /** * @notice Return the version information of implementation * @return version The version */ function implementationVersion() external view returns (uint256 version){ (bool ok, bytes memory ret) = _implementation().staticcall( abi.encodeWithSignature("version()") ); require(ok); assembly { version := mload(add(add(ret, 0x20), 0)) } return version; } /** * @dev Set the implementation address in the storage slot. * @param implementation The new implementation address. */ function _setImplementation(address implementation) internal { require(implementation.isContract(), "Implementation address should be a contract address" ); bytes32 slot = IMPLEMENTATION_SLOT; assembly { sstore(slot, implementation) } } /** * @dev Returns the current implementation address. */ function _implementation() internal view returns (address implementation) { bytes32 slot = IMPLEMENTATION_SLOT; assembly { implementation := sload(slot) } } } // File: openzeppelin-solidity/contracts/math/SafeMath.sol pragma solidity ^0.5.0; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SafeMath: subtraction overflow"); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, "SafeMath: division by zero"); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b != 0, "SafeMath: modulo by zero"); return a % b; } } // File: localhost/contracts/Administrable.sol pragma solidity ^0.5.0; /** * @title Administrable * @dev The administrator structure */ /** * @title Administrable */ contract Administrable { using SafeMath for uint256; mapping (address => bool) private admins; uint256 private _nAdmin; uint256 private _nLimit; event Activated(address indexed admin); event Deactivated(address indexed admin); /** * @dev The Administrable constructor sets the original `admin` of the contract to the sender * account. The initial limit amount of admin is 2. */ constructor() internal { _setAdminLimit(2); _activateAdmin(msg.sender); } function isAdmin() public view returns(bool) { return admins[msg.sender]; } /** * @dev Throws if called by non-admin. */ modifier onlyAdmin() { require(isAdmin(), "sender not admin"); _; } function activateAdmin(address admin) external onlyAdmin { _activateAdmin(admin); } function deactivateAdmin(address admin) external onlyAdmin { _safeDeactivateAdmin(admin); } function setAdminLimit(uint256 n) external onlyAdmin { _setAdminLimit(n); } function _setAdminLimit(uint256 n) internal { require(_nLimit != n, "same limit"); _nLimit = n; } /** * @notice The Amount of admin should be bounded by _nLimit. */ function _activateAdmin(address admin) internal { require(admin != address(0), "invalid address"); require(_nAdmin < _nLimit, "too many admins existed"); require(!admins[admin], "already admin"); admins[admin] = true; _nAdmin = _nAdmin.add(1); emit Activated(admin); } /** * @notice At least one admin should exists. */ function _safeDeactivateAdmin(address admin) internal { require(_nAdmin > 1, "admin should > 1"); _deactivateAdmin(admin); } function _deactivateAdmin(address admin) internal { require(admins[admin], "not admin"); admins[admin] = false; _nAdmin = _nAdmin.sub(1); emit Deactivated(admin); } } // File: localhost/contracts/DinngoProxy.sol pragma solidity 0.5.12; /** * @title Dinngo * @author Ben Huang * @notice Main exchange contract for Dinngo */ contract DinngoProxy is Ownable, Administrable, Proxy { uint256 public processTime; mapping (address => mapping (address => uint256)) public balances; mapping (bytes32 => uint256) public orderFills; mapping (uint256 => address payable) public userID_Address; mapping (uint256 => address) public tokenID_Address; mapping (address => uint256) public nonces; mapping (address => uint256) public ranks; mapping (address => uint256) public lockTimes; address public walletOwner; address public DGOToken; uint8 public eventConf; uint256 constant public version = 2; /** * @dev User ID 0 is the management wallet. * Token ID 0 is ETH (address 0). Token ID 1 is DGO. * @param _walletOwner The fee wallet owner * @param _dinngoToken The contract address of DGO * @param _impl The implementation contract address */ constructor( address payable _walletOwner, address _dinngoToken, address _impl ) Proxy(_impl) public { processTime = 90 days; walletOwner = _walletOwner; tokenID_Address[0] = address(0); ranks[address(0)] = 1; tokenID_Address[1] = _dinngoToken; ranks[_dinngoToken] = 1; DGOToken = _dinngoToken; eventConf = 0xff; } function setEvent(uint8 conf) external onlyAdmin { (bool ok,) = _implementation().delegatecall( abi.encodeWithSignature("setEvent(uint8)", conf) ); require(ok); } /** * @notice Add the address to the user list. Event AddUser will be emitted * after execution. * @dev Record the user list to map the user address to a specific user ID, in * order to compact the data size when transferring user address information * @param id The user id to be assigned * @param user The user address to be added */ function addUser(uint256 id, address user) external onlyAdmin { (bool ok,) = _implementation().delegatecall( abi.encodeWithSignature("addUser(uint256,address)", id, user) ); require(ok); } /** * @notice Remove the address from the user list. * @dev The user rank is set to 0 to remove the user. * @param user The user address to be removed */ function removeUser(address user) external onlyAdmin { (bool ok,) = _implementation().delegatecall( abi.encodeWithSignature("remove(address)", user) ); require(ok); } /** * @notice Update the rank of user. Can only be called by admin. * @param user The user address * @param rank The rank to be assigned */ function updateUserRank(address user, uint256 rank) external onlyAdmin { (bool ok,) = _implementation().delegatecall( abi.encodeWithSignature("updateRank(address,uint256)", user, rank) ); require(ok); } /** * @notice Add the token to the token list. Event AddToken will be emitted * after execution. * @dev Record the token list to map the token contract address to a specific * token ID, in order to compact the data size when transferring token contract * address information * @param id The token id to be assigned * @param token The token contract address to be added */ function addToken(uint256 id, address token) external onlyOwner { (bool ok,) = _implementation().delegatecall( abi.encodeWithSignature("addToken(uint256,address)", id, token) ); require(ok); } /** * @notice Remove the token from the token list. * @dev The token rank is set to 0 to remove the token. * @param token The token contract address to be removed. */ function removeToken(address token) external onlyOwner { (bool ok,) = _implementation().delegatecall( abi.encodeWithSignature("remove(address)", token) ); require(ok); } /** * @notice Update the rank of token. Can only be called by owner. * @param token The token contract address. * @param rank The rank to be assigned. */ function updateTokenRank(address token, uint256 rank) external onlyOwner { (bool ok,) = _implementation().delegatecall( abi.encodeWithSignature("updateRank(address,uint256)", token, rank) ); require(ok); } function activateAdmin(address admin) external onlyOwner { _activateAdmin(admin); } function deactivateAdmin(address admin) external onlyOwner { _safeDeactivateAdmin(admin); } /** * @notice Force-deactivate allows owner to deactivate admin even there will be * no admin left. Should only be executed under emergency situation. */ function forceDeactivateAdmin(address admin) external onlyOwner { _deactivateAdmin(admin); } function setAdminLimit(uint256 n) external onlyOwner { _setAdminLimit(n); } /** * @notice The deposit function for ether. The ether that is sent with the function * call will be deposited. The first time user will be added to the user list. * Event Deposit will be emitted after execution. */ function deposit() external payable { (bool ok,) = _implementation().delegatecall(abi.encodeWithSignature("deposit()")); require(ok); } /** * @notice The deposit function for tokens. The first time user will be added to * the user list. Event Deposit will be emitted after execution. * @param token Address of the token contract to be deposited * @param amount Amount of the token to be depositied */ function depositToken(address token, uint256 amount) external { (bool ok,) = _implementation().delegatecall( abi.encodeWithSignature("depositToken(address,uint256)", token, amount) ); require(ok); } /** * @notice The withdraw function for ether. Event Withdraw will be emitted * after execution. User needs to be locked before calling withdraw. * @param amount The amount to be withdrawn. */ function withdraw(uint256 amount) external { (bool ok,) = _implementation().delegatecall( abi.encodeWithSignature("withdraw(uint256)", amount) ); require(ok); } /** * @notice The withdraw function for tokens. Event Withdraw will be emitted * after execution. User needs to be locked before calling withdraw. * @param token The token contract address to be withdrawn. * @param amount The token amount to be withdrawn. */ function withdrawToken(address token, uint256 amount) external { (bool ok,) = _implementation().delegatecall( abi.encodeWithSignature("withdrawToken(address,uint256)", token, amount) ); require(ok); } /** * @notice The function to extract the fee from the fee account. This function can * only be triggered by the income wallet owner. * @param amount The amount to be extracted */ function extractFee(uint256 amount) external { (bool ok,) = _implementation().delegatecall( abi.encodeWithSignature("extractFee(uint256)", amount) ); require(ok); } /** * @notice The function to extract the fee from the fee account. This function can * only be triggered by the income wallet owner. * @param token The token to be extracted * @param amount The amount to be extracted */ function extractTokenFee(address token, uint256 amount) external { (bool ok,) = _implementation().delegatecall( abi.encodeWithSignature("extractTokenFee(address,uint256)", token, amount) ); require(ok); } /** * @notice The function to get the balance from fee account. * @param token The token of the balance to be queried */ function getWalletBalance(address token) external returns (uint256 balance) { (bool ok, bytes memory ret) = _implementation().delegatecall( abi.encodeWithSignature("getWalletBalance(address)", token) ); require(ok); balance = abi.decode(ret, (uint256)); } /** * @notice The function to change the owner of fee wallet. * @param newOwner The new wallet owner to be assigned */ function changeWalletOwner(address newOwner) external onlyOwner { (bool ok,) = _implementation().delegatecall( abi.encodeWithSignature("changeWalletOwner(address)", newOwner) ); require(ok); } /** * @notice The withdraw function that can only be triggered by owner. * Event Withdraw will be emitted after execution. * @param withdrawal The serialized withdrawal data */ function withdrawByAdmin(bytes calldata withdrawal, bytes calldata signature) external onlyAdmin { (bool ok, bytes memory ret) = _implementation().delegatecall( abi.encodeWithSignature("withdrawByAdmin(bytes,bytes)", withdrawal, signature) ); require(ok, string(ret)); } /** * @notice The transfer function that can only be triggered by owner. * Event Transfer will be emitted afer execution. * @param transferral The serialized transferral data. */ function transferByAdmin(bytes calldata transferral, bytes calldata signature) external onlyAdmin { (bool ok, bytes memory ret) = _implementation().delegatecall( abi.encodeWithSignature("transferByAdmin(bytes,bytes)", transferral, signature) ); require(ok, string(ret)); } /** * @notice The settle function for orders. First order is taker order and the followings * are maker orders. * @param orders The serialized orders. */ function settle(bytes calldata orders, bytes calldata signature) external onlyAdmin { (bool ok, bytes memory ret) = _implementation().delegatecall( abi.encodeWithSignature("settle(bytes,bytes)", orders, signature) ); require(ok, string(ret)); } /** * @notice The migrate function that can only be triggered by admin. * @param migration The serialized migration data */ function migrateByAdmin(bytes calldata migration, bytes calldata signature) external onlyAdmin { (bool ok, bytes memory ret) = _implementation().delegatecall( abi.encodeWithSignature("migrateByAdmin(bytes,bytes)", migration, signature) ); require(ok, string(ret)); } /** * @notice The migration handler * @param user The user address to receive the migrated amount. * @param token The token address to be migrated. * @param amount The amount to be migrated. */ function migrateTo(address user, address token, uint256 amount) payable external { (bool ok,) = _implementation().delegatecall( abi.encodeWithSignature("migrateTo(address,address,uint256)", user, token, amount) ); require(ok); } /** * @notice Announce lock of the sender */ function lock() external { (bool ok,) = _implementation().delegatecall(abi.encodeWithSignature("lock()")); require(ok); } /** * @notice Unlock the sender */ function unlock() external { (bool ok,) = _implementation().delegatecall(abi.encodeWithSignature("unlock()")); require(ok); } /** * @notice Change the processing time of locking the user address */ function changeProcessTime(uint256 time) external onlyOwner { (bool ok,) = _implementation().delegatecall( abi.encodeWithSignature("changeProcessTime(uint256)", time) ); require(ok); } /** * @notice Get hash from the transferral parameters. */ function getTransferralHash( address from, uint8 config, uint32 nonce, address[] calldata tos, uint16[] calldata tokenIDs, uint256[] calldata amounts, uint256[] calldata fees ) external view returns (bytes32 hash) { (bool ok, bytes memory ret) = _implementation().staticcall( abi.encodeWithSignature( "getTransferralHash(address,uint8,uint32,address[],uint16[],uint256[],uint256[])", from, config, nonce, tos, tokenIDs, amounts, fees ) ); require(ok); hash = abi.decode(ret, (bytes32)); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
[{"inputs":[{"internalType":"address payable","name":"_walletOwner","type":"address"},{"internalType":"address","name":"_dinngoToken","type":"address"},{"internalType":"address","name":"_impl","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"admin","type":"address"}],"name":"Activated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"admin","type":"address"}],"name":"Deactivated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"constant":true,"inputs":[],"name":"DGOToken","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"admin","type":"address"}],"name":"activateAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"token","type":"address"}],"name":"addToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"user","type":"address"}],"name":"addUser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"changeProcessTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"changeWalletOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"admin","type":"address"}],"name":"deactivateAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"deposit","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"depositToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"eventConf","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"extractFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"extractTokenFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"admin","type":"address"}],"name":"forceDeactivateAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint8","name":"config","type":"uint8"},{"internalType":"uint32","name":"nonce","type":"uint32"},{"internalType":"address[]","name":"tos","type":"address[]"},{"internalType":"uint16[]","name":"tokenIDs","type":"uint16[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"uint256[]","name":"fees","type":"uint256[]"}],"name":"getTransferralHash","outputs":[{"internalType":"bytes32","name":"hash","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getWalletBalance","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"implementationVersion","outputs":[{"internalType":"uint256","name":"version","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"lock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lockTimes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes","name":"migration","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"migrateByAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"migrateTo","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"orderFills","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"processTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ranks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"removeToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"removeUser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"n","type":"uint256"}],"name":"setAdminLimit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint8","name":"conf","type":"uint8"}],"name":"setEvent","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes","name":"orders","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"settle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokenID_Address","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes","name":"transferral","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"transferByAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unlock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"rank","type":"uint256"}],"name":"updateTokenRank","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"rank","type":"uint256"}],"name":"updateUserRank","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"upgrade","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"userID_Address","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"walletOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes","name":"withdrawal","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"withdrawByAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b506040516200335938038062003359833981810160405260608110156200003757600080fd5b5080516020820151604092830151600080546001600160a01b0319163317808255945193949293919283926001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3620000aa60026001600160e01b036200020416565b620000be336001600160e01b036200027b16565b604080517f64696e6e676f2e70726f78792e696d706c656d656e746174696f6e00000000008152905190819003601b01902060008051602062003306833981519152146200010857fe5b6200011c816001600160e01b036200046616565b50506276a700600455600c80546001600160a01b039384166001600160a01b0319918216179091557f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c780548216905560017f13da86008ba1c6922daee3e07db95305ef49ebced9f5467a0b8613fcc6b343e38190557fad67d757c34507f157cacfa2e3153e9f260a2244f30428821be7be64587ac55f80549390941692821683179093556000828152600a6020526040902092909255600d805460ff60a01b1993169091179190911674ff000000000000000000000000000000000000000017905562000571565b8060035414156200027657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f73616d65206c696d697400000000000000000000000000000000000000000000604482015290519081900360640190fd5b600355565b6001600160a01b038116620002f157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f696e76616c696420616464726573730000000000000000000000000000000000604482015290519081900360640190fd5b600354600254106200036457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f746f6f206d616e792061646d696e732065786973746564000000000000000000604482015290519081900360640190fd5b6001600160a01b03811660009081526001602052604090205460ff1615620003ed57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f616c72656164792061646d696e00000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b0381166000908152600160208181526040909220805460ff1916821790556002546200042c9290919062002c19620004ef821b17901c565b6002556040516001600160a01b038216907f0cc43938d137e7efade6a531f663e78c1fc75257b0d65ffda2fdaf70cb49cdf990600090a250565b62000485816001600160a01b03166200056b60201b62002c131760201c565b620004dc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526033815260200180620033266033913960400191505060405180910390fd5b6000805160206200330683398151915255565b6000828201838110156200056457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3b151590565b612d8580620005816000396000f3fe6080604052600436106102885760003560e01c806370ceeeb21161015a578063b6db75a0116100c1578063e8b93ad71161007a578063e8b93ad714610d65578063ed8ec19414610d8f578063f1c5f1e214610dc2578063f2fde38b14610dec578063f7213db614610e1f578063f83d08ba14610e4957610288565b8063b6db75a014610c9a578063c23f001f14610caf578063d0e30db014610cea578063dd41250f14610cf2578063df6fa20e14610d07578063e65ff75414610d3a57610288565b806391a8c4b81161011357806391a8c4b814610ba15780639857518814610bcb5780639e281a9814610bfe578063a69df4b514610c37578063a84aa0c014610c4c578063b46b791914610c6157610288565b806370ceeeb214610ab5578063715018a614610ae25780637adde41314610af75780637ecebe0014610b305780638da5cb5b14610b635780638f32d59b14610b7857610288565b806339bc1afe116101fe5780635e1f56d9116101b75780635e1f56d9146108fd5780635fa7b584146109305780635fdc7c121461096357806361959f8514610a2e5780636f9a5fb314610a5857806370a342c214610a8b57610288565b806339bc1afe146106ad57806349fa92cb1461077857806354fd4d501461084357806356c7c1b31461085857806357016b0a1461088b57806358d9fa04146108c457610288565b80631af1a768116102505780631af1a768146105755780632123cb78146105a857806324ffad88146105e157806325691de4146106175780632e1a7d4d1461064a578063338b5dea1461067457610288565b806306bfcec61461028d5780630900f010146102b4578063153c283f146102e957806316bf3d55146104795780631ae879e814610544575b600080fd5b34801561029957600080fd5b506102a2610e5e565b60408051918252519081900360200190f35b3480156102c057600080fd5b506102e7600480360360208110156102d757600080fd5b50356001600160a01b0316610f4c565b005b3480156102f557600080fd5b506102a2600480360360e081101561030c57600080fd5b6001600160a01b038235169160ff6020820135169163ffffffff6040830135169190810190608081016060820135600160201b81111561034b57600080fd5b82018360208201111561035d57600080fd5b803590602001918460208302840111600160201b8311171561037e57600080fd5b919390929091602081019035600160201b81111561039b57600080fd5b8201836020820111156103ad57600080fd5b803590602001918460208302840111600160201b831117156103ce57600080fd5b919390929091602081019035600160201b8111156103eb57600080fd5b8201836020820111156103fd57600080fd5b803590602001918460208302840111600160201b8311171561041e57600080fd5b919390929091602081019035600160201b81111561043b57600080fd5b82018360208201111561044d57600080fd5b803590602001918460208302840111600160201b8311171561046e57600080fd5b509092509050610fd3565b34801561048557600080fd5b506102e76004803603604081101561049c57600080fd5b810190602081018135600160201b8111156104b657600080fd5b8201836020820111156104c857600080fd5b803590602001918460018302840111600160201b831117156104e957600080fd5b919390929091602081019035600160201b81111561050657600080fd5b82018360208201111561051857600080fd5b803590602001918460018302840111600160201b8311171561053957600080fd5b5090925090506111fb565b34801561055057600080fd5b5061055961141c565b604080516001600160a01b039092168252519081900360200190f35b34801561058157600080fd5b506102e76004803603602081101561059857600080fd5b50356001600160a01b031661142b565b3480156105b457600080fd5b506102e7600480360360408110156105cb57600080fd5b506001600160a01b03813516906020013561147e565b6102e7600480360360608110156105f757600080fd5b506001600160a01b038135811691602081013590911690604001356115c1565b34801561062357600080fd5b506102a26004803603602081101561063a57600080fd5b50356001600160a01b03166116c6565b34801561065657600080fd5b506102e76004803603602081101561066d57600080fd5b50356116d8565b34801561068057600080fd5b506102e76004803603604081101561069757600080fd5b506001600160a01b0381351690602001356117cb565b3480156106b957600080fd5b506102e7600480360360408110156106d057600080fd5b810190602081018135600160201b8111156106ea57600080fd5b8201836020820111156106fc57600080fd5b803590602001918460018302840111600160201b8311171561071d57600080fd5b919390929091602081019035600160201b81111561073a57600080fd5b82018360208201111561074c57600080fd5b803590602001918460018302840111600160201b8311171561076d57600080fd5b50909250905061184e565b34801561078457600080fd5b506102e76004803603604081101561079b57600080fd5b810190602081018135600160201b8111156107b557600080fd5b8201836020820111156107c757600080fd5b803590602001918460018302840111600160201b831117156107e857600080fd5b919390929091602081019035600160201b81111561080557600080fd5b82018360208201111561081757600080fd5b803590602001918460018302840111600160201b8311171561083857600080fd5b509092509050611970565b34801561084f57600080fd5b506102a2611a92565b34801561086457600080fd5b506102a26004803603602081101561087b57600080fd5b50356001600160a01b0316611a97565b34801561089757600080fd5b506102e7600480360360408110156108ae57600080fd5b50803590602001356001600160a01b0316611aa9565b3480156108d057600080fd5b506102e7600480360360408110156108e757600080fd5b50803590602001356001600160a01b0316611b76565b34801561090957600080fd5b506102e76004803603602081101561092057600080fd5b50356001600160a01b0316611c48565b34801561093c57600080fd5b506102e76004803603602081101561095357600080fd5b50356001600160a01b0316611d0e565b34801561096f57600080fd5b506102e76004803603604081101561098657600080fd5b810190602081018135600160201b8111156109a057600080fd5b8201836020820111156109b257600080fd5b803590602001918460018302840111600160201b831117156109d357600080fd5b919390929091602081019035600160201b8111156109f057600080fd5b820183602082011115610a0257600080fd5b803590602001918460018302840111600160201b83111715610a2357600080fd5b509092509050611dd4565b348015610a3a57600080fd5b5061055960048036036020811015610a5157600080fd5b5035611ef6565b348015610a6457600080fd5b506102e760048036036020811015610a7b57600080fd5b50356001600160a01b0316611f11565b348015610a9757600080fd5b506102e760048036036020811015610aae57600080fd5b5035611f61565b348015610ac157600080fd5b506102e760048036036020811015610ad857600080fd5b503560ff16611fdc565b348015610aee57600080fd5b506102e76120a8565b348015610b0357600080fd5b506102e760048036036040811015610b1a57600080fd5b506001600160a01b038135169060200135612139565b348015610b3c57600080fd5b506102a260048036036020811015610b5357600080fd5b50356001600160a01b03166121bc565b348015610b6f57600080fd5b506105596121ce565b348015610b8457600080fd5b50610b8d6121dd565b604080519115158252519081900360200190f35b348015610bad57600080fd5b506102e760048036036020811015610bc457600080fd5b50356121ee565b348015610bd757600080fd5b506102e760048036036020811015610bee57600080fd5b50356001600160a01b031661223e565b348015610c0a57600080fd5b506102e760048036036040811015610c2157600080fd5b506001600160a01b03813516906020013561228a565b348015610c4357600080fd5b506102e761230d565b348015610c5857600080fd5b506105596123ed565b348015610c6d57600080fd5b506102e760048036036040811015610c8457600080fd5b506001600160a01b0381351690602001356123fc565b348015610ca657600080fd5b50610b8d612448565b348015610cbb57600080fd5b506102a260048036036040811015610cd257600080fd5b506001600160a01b038135811691602001351661245e565b6102e761247b565b348015610cfe57600080fd5b506102a26124e7565b348015610d1357600080fd5b506102e760048036036020811015610d2a57600080fd5b50356001600160a01b03166124ed565b348015610d4657600080fd5b50610d4f61253d565b6040805160ff9092168252519081900360200190f35b348015610d7157600080fd5b5061055960048036036020811015610d8857600080fd5b503561254d565b348015610d9b57600080fd5b506102a260048036036020811015610db257600080fd5b50356001600160a01b0316612568565b348015610dce57600080fd5b506102e760048036036020811015610de557600080fd5b503561267e565b348015610df857600080fd5b506102e760048036036020811015610e0f57600080fd5b50356001600160a01b0316612740565b348015610e2b57600080fd5b506102a260048036036020811015610e4257600080fd5b5035612790565b348015610e5557600080fd5b506102e76127a2565b6000806060610e6b61280e565b60408051600481526024810182526020810180516001600160e01b031663054fd4d560e41b178152915181516001600160a01b039490941693919290918291908083835b60208310610ece5780518252601f199092019160209182019101610eaf565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114610f2e576040519150601f19603f3d011682016040523d82523d6000602084013e610f33565b606091505b509150915081610f4257600080fd5b6020015191505090565b610f546121dd565b610f93576040805162461bcd60e51b81526020600482018190526024820152600080516020612d31833981519152604482015290519081900360640190fd5b610f9c81612833565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000806060610fe061280e565b6001600160a01b03168e8e8e8e8e8e8e8e8e8e8e604051602401808c6001600160a01b03166001600160a01b031681526020018b60ff1660ff1681526020018a63ffffffff1663ffffffff1681526020018060200180602001806020018060200185810385528d8d82818152602001925060200280828437600083820152601f01601f191690910186810385528b8152602090810191508c908c0280828437600083820152601f01601f19169091018681038452898152602090810191508a908a0280828437600083820152601f01601f19169091018681038352878152602090810191508890880280828437600081840152601f19601f8201169050808301925050509f5050505050505050505050505050505060405160208183030381529060405263153c283f60e01b6001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b6020831061115e5780518252601f19909201916020918201910161113f565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d80600081146111be576040519150601f19603f3d011682016040523d82523d6000602084013e6111c3565b606091505b5091509150816111d257600080fd5b8080602001905160208110156111e757600080fd5b50519e9d5050505050505050505050505050565b611203612448565b611247576040805162461bcd60e51b815260206004820152601060248201526f39b2b73232b9103737ba1030b236b4b760811b604482015290519081900360640190fd5b6000606061125361280e565b6001600160a01b0316868686866040516024018080602001806020018381038352878782818152602001925080828437600083820152601f01601f19169091018481038352858152602001905085858082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166316bf3d5560e01b17815292518151919a5098508897509195509093508392508591508490505b6020831061131e5780518252601f1990920191602091820191016112ff565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461137e576040519150601f19603f3d011682016040523d82523d6000602084013e611383565b606091505b50915091508181906114135760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156113d85781810151838201526020016113c0565b50505050905090810190601f1680156114055780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505050505050565b600c546001600160a01b031681565b6114336121dd565b611472576040805162461bcd60e51b81526020600482018190526024820152600080516020612d31833981519152604482015290519081900360640190fd5b61147b816128a4565b50565b6114866121dd565b6114c5576040805162461bcd60e51b81526020600482018190526024820152600080516020612d31833981519152604482015290519081900360640190fd5b60006114cf61280e565b604080516001600160a01b038681166024830152604480830187905283518084039091018152606490920183526020820180516001600160e01b0316631782bf3360e21b178152925182519490911693919290918291908083835b602083106115495780518252601f19909201916020918201910161152a565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146115a9576040519150601f19603f3d011682016040523d82523d6000602084013e6115ae565b606091505b50509050806115bc57600080fd5b505050565b60006115cb61280e565b604080516001600160a01b0387811660248301528681166044830152606480830187905283518084039091018152608490920183526020820180516001600160e01b031663049ff5b160e31b178152925182519490911693919290918291908083835b6020831061164d5780518252601f19909201916020918201910161162e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146116ad576040519150601f19603f3d011682016040523d82523d6000602084013e6116b2565b606091505b50509050806116c057600080fd5b50505050565b600a6020526000908152604090205481565b60006116e261280e565b60408051602480820186905282518083039091018152604490910182526020810180516001600160e01b0316632e1a7d4d60e01b178152915181516001600160a01b039490941693919290918291908083835b602083106117545780518252601f199092019160209182019101611735565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146117b4576040519150601f19603f3d011682016040523d82523d6000602084013e6117b9565b606091505b50509050806117c757600080fd5b5050565b60006117d561280e565b604080516001600160a01b038681166024830152604480830187905283518084039091018152606490920183526020820180516001600160e01b03166319c5aef560e11b17815292518251949091169391929091829190808383602083106115495780518252601f19909201916020918201910161152a565b611856612448565b61189a576040805162461bcd60e51b815260206004820152601060248201526f39b2b73232b9103737ba1030b236b4b760811b604482015290519081900360640190fd5b600060606118a661280e565b6001600160a01b0316868686866040516024018080602001806020018381038352878782818152602001925080828437600083820152601f01601f19169091018481038352858152602001905085858082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b0316631cde0d7f60e11b17815292518151919a5098508897509195509093508392508591508490506020831061131e5780518252601f1990920191602091820191016112ff565b611978612448565b6119bc576040805162461bcd60e51b815260206004820152601060248201526f39b2b73232b9103737ba1030b236b4b760811b604482015290519081900360640190fd5b600060606119c861280e565b6001600160a01b0316868686866040516024018080602001806020018381038352878782818152602001925080828437600083820152601f01601f19169091018481038352858152602001905085858082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166349fa92cb60e01b17815292518151919a5098508897509195509093508392508591508490506020831061131e5780518252601f1990920191602091820191016112ff565b600281565b600b6020526000908152604090205481565b611ab16121dd565b611af0576040805162461bcd60e51b81526020600482018190526024820152600080516020612d31833981519152604482015290519081900360640190fd5b6000611afa61280e565b60408051602481018690526001600160a01b0385811660448084019190915283518084039091018152606490920183526020820180516001600160e01b0316632b80b58560e11b17815292518251949091169391929091829190808383602083106115495780518252601f19909201916020918201910161152a565b611b7e612448565b611bc2576040805162461bcd60e51b815260206004820152601060248201526f39b2b73232b9103737ba1030b236b4b760811b604482015290519081900360640190fd5b6000611bcc61280e565b60408051602481018690526001600160a01b0385811660448084019190915283518084039091018152606490920183526020820180516001600160e01b03166316367e8160e21b17815292518251949091169391929091829190808383602083106115495780518252601f19909201916020918201910161152a565b611c506121dd565b611c8f576040805162461bcd60e51b81526020600482018190526024820152600080516020612d31833981519152604482015290519081900360640190fd5b6000611c9961280e565b604080516001600160a01b0385811660248084019190915283518084039091018152604490920183526020820180516001600160e01b0316635e1f56d960e01b17815292518251949091169391929091829190808383602083106117545780518252601f199092019160209182019101611735565b611d166121dd565b611d55576040805162461bcd60e51b81526020600482018190526024820152600080516020612d31833981519152604482015290519081900360640190fd5b6000611d5f61280e565b604080516001600160a01b0385811660248084019190915283518084039091018152604490920183526020820180516001600160e01b0316631484968760e11b17815292518251949091169391929091829190808383602083106117545780518252601f199092019160209182019101611735565b611ddc612448565b611e20576040805162461bcd60e51b815260206004820152601060248201526f39b2b73232b9103737ba1030b236b4b760811b604482015290519081900360640190fd5b60006060611e2c61280e565b6001600160a01b0316868686866040516024018080602001806020018381038352878782818152602001925080828437600083820152601f01601f19169091018481038352858152602001905085858082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b0316632fee3e0960e11b17815292518151919a5098508897509195509093508392508591508490506020831061131e5780518252601f1990920191602091820191016112ff565b6007602052600090815260409020546001600160a01b031681565b611f196121dd565b611f58576040805162461bcd60e51b81526020600482018190526024820152600080516020612d31833981519152604482015290519081900360640190fd5b61147b81612a18565b6000611f6b61280e565b60408051602480820186905282518083039091018152604490910182526020810180516001600160e01b0316633851a16160e11b178152915181516001600160a01b03949094169391929091829190808383602083106117545780518252601f199092019160209182019101611735565b611fe4612448565b612028576040805162461bcd60e51b815260206004820152601060248201526f39b2b73232b9103737ba1030b236b4b760811b604482015290519081900360640190fd5b600061203261280e565b6040805160ff851660248083019190915282518083039091018152604490910182526020810180516001600160e01b0316633867775960e11b178152915181516001600160a01b03949094169391929091829190808383602083106117545780518252601f199092019160209182019101611735565b6120b06121dd565b6120ef576040805162461bcd60e51b81526020600482018190526024820152600080516020612d31833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061214361280e565b604080516001600160a01b038681166024830152604480830187905283518084039091018152606490920183526020820180516001600160e01b0316637adde41360e01b17815292518251949091169391929091829190808383602083106115495780518252601f19909201916020918201910161152a565b60096020526000908152604090205481565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6121f66121dd565b612235576040805162461bcd60e51b81526020600482018190526024820152600080516020612d31833981519152604482015290519081900360640190fd5b61147b81612ae0565b612246612448565b611d55576040805162461bcd60e51b815260206004820152601060248201526f39b2b73232b9103737ba1030b236b4b760811b604482015290519081900360640190fd5b600061229461280e565b604080516001600160a01b038681166024830152604480830187905283518084039091018152606490920183526020820180516001600160e01b03166313c5035360e31b17815292518251949091169391929091829190808383602083106115495780518252601f19909201916020918201910161152a565b600061231761280e565b60408051600481526024810182526020810180516001600160e01b031663a69df4b560e01b178152915181516001600160a01b039490941693919290918291908083835b6020831061237a5780518252601f19909201916020918201910161235b565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146123da576040519150601f19603f3d011682016040523d82523d6000602084013e6123df565b606091505b505090508061147b57600080fd5b600d546001600160a01b031681565b612404612448565b6114c5576040805162461bcd60e51b815260206004820152601060248201526f39b2b73232b9103737ba1030b236b4b760811b604482015290519081900360640190fd5b3360009081526001602052604090205460ff1690565b600560209081526000928352604080842090915290825290205481565b600061248561280e565b60408051600481526024810182526020810180516001600160e01b0316630d0e30db60e41b178152915181516001600160a01b039490941693919290918291908083836020831061237a5780518252601f19909201916020918201910161235b565b60045481565b6124f56121dd565b612534576040805162461bcd60e51b81526020600482018190526024820152600080516020612d31833981519152604482015290519081900360640190fd5b61147b81612b29565b600d54600160a01b900460ff1681565b6008602052600090815260409020546001600160a01b031681565b600080606061257561280e565b604080516001600160a01b0387811660248084019190915283518084039091018152604490920183526020820180516001600160e01b0316633b63b06560e21b178152925182519490911693919290918291908083835b602083106125eb5780518252601f1990920191602091820191016125cc565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461264b576040519150601f19603f3d011682016040523d82523d6000602084013e612650565b606091505b50915091508161265f57600080fd5b80806020019051602081101561267457600080fd5b5051949350505050565b6126866121dd565b6126c5576040805162461bcd60e51b81526020600482018190526024820152600080516020612d31833981519152604482015290519081900360640190fd5b60006126cf61280e565b60408051602480820186905282518083039091018152604490910182526020810180516001600160e01b03166378e2f8f160e11b178152915181516001600160a01b03949094169391929091829190808383602083106117545780518252601f199092019160209182019101611735565b6127486121dd565b612787576040805162461bcd60e51b81526020600482018190526024820152600080516020612d31833981519152604482015290519081900360640190fd5b61147b81612b73565b60066020526000908152604090205481565b60006127ac61280e565b60408051600481526024810182526020810180516001600160e01b0316637c1e845d60e11b178152915181516001600160a01b039490941693919290918291908083836020831061237a5780518252601f19909201916020918201910161235b565b7f3b2ff02c0f36dba7cc1b20a669e540b974575f04ef71846d482983efb03bebb45490565b612845816001600160a01b0316612c13565b6128805760405162461bcd60e51b8152600401808060200182810382526033815260200180612cfe6033913960400191505060405180910390fd5b7f3b2ff02c0f36dba7cc1b20a669e540b974575f04ef71846d482983efb03bebb455565b6001600160a01b0381166128f1576040805162461bcd60e51b815260206004820152600f60248201526e696e76616c6964206164647265737360881b604482015290519081900360640190fd5b60035460025410612949576040805162461bcd60e51b815260206004820152601760248201527f746f6f206d616e792061646d696e732065786973746564000000000000000000604482015290519081900360640190fd5b6001600160a01b03811660009081526001602052604090205460ff16156129a7576040805162461bcd60e51b815260206004820152600d60248201526c30b63932b0b23c9030b236b4b760991b604482015290519081900360640190fd5b6001600160a01b0381166000908152600160208190526040909120805460ff1916821790556002546129de9163ffffffff612c1916565b6002556040516001600160a01b038216907f0cc43938d137e7efade6a531f663e78c1fc75257b0d65ffda2fdaf70cb49cdf990600090a250565b6001600160a01b03811660009081526001602052604090205460ff16612a71576040805162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b604482015290519081900360640190fd5b6001600160a01b0381166000908152600160208190526040909120805460ff19169055600254612aa69163ffffffff612c7a16565b6002556040516001600160a01b038216907f749cb6b4c510bc468cf6b9c2086d6f0a54d6b18e25d37bf3200e68eab0880c0090600090a250565b806003541415612b24576040805162461bcd60e51b815260206004820152600a6024820152691cd85b59481b1a5b5a5d60b21b604482015290519081900360640190fd5b600355565b600160025411611f58576040805162461bcd60e51b815260206004820152601060248201526f61646d696e2073686f756c64203e203160801b604482015290519081900360640190fd5b6001600160a01b038116612bb85760405162461bcd60e51b8152600401808060200182810382526026815260200180612cd86026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3b151590565b600082820183811015612c73576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082821115612cd1576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373496d706c656d656e746174696f6e20616464726573732073686f756c64206265206120636f6e747261637420616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a265627a7a72315820a7ca0022bedcefe0bf539c8ff973928d615ff9f2a0319e9100b7a71d6088180d64736f6c634300050c00323b2ff02c0f36dba7cc1b20a669e540b974575f04ef71846d482983efb03bebb4496d706c656d656e746174696f6e20616464726573732073686f756c64206265206120636f6e74726163742061646472657373000000000000000000000000a4589bb891d020aad7681ff49c0f3911c793255e0000000000000000000000006d38574be6c230272daad16fa5f291f825bd0da10000000000000000000000003cd11ab189af4f9b627547283f03e73ede433127Deployed Bytecode
0x6080604052600436106102885760003560e01c806370ceeeb21161015a578063b6db75a0116100c1578063e8b93ad71161007a578063e8b93ad714610d65578063ed8ec19414610d8f578063f1c5f1e214610dc2578063f2fde38b14610dec578063f7213db614610e1f578063f83d08ba14610e4957610288565b8063b6db75a014610c9a578063c23f001f14610caf578063d0e30db014610cea578063dd41250f14610cf2578063df6fa20e14610d07578063e65ff75414610d3a57610288565b806391a8c4b81161011357806391a8c4b814610ba15780639857518814610bcb5780639e281a9814610bfe578063a69df4b514610c37578063a84aa0c014610c4c578063b46b791914610c6157610288565b806370ceeeb214610ab5578063715018a614610ae25780637adde41314610af75780637ecebe0014610b305780638da5cb5b14610b635780638f32d59b14610b7857610288565b806339bc1afe116101fe5780635e1f56d9116101b75780635e1f56d9146108fd5780635fa7b584146109305780635fdc7c121461096357806361959f8514610a2e5780636f9a5fb314610a5857806370a342c214610a8b57610288565b806339bc1afe146106ad57806349fa92cb1461077857806354fd4d501461084357806356c7c1b31461085857806357016b0a1461088b57806358d9fa04146108c457610288565b80631af1a768116102505780631af1a768146105755780632123cb78146105a857806324ffad88146105e157806325691de4146106175780632e1a7d4d1461064a578063338b5dea1461067457610288565b806306bfcec61461028d5780630900f010146102b4578063153c283f146102e957806316bf3d55146104795780631ae879e814610544575b600080fd5b34801561029957600080fd5b506102a2610e5e565b60408051918252519081900360200190f35b3480156102c057600080fd5b506102e7600480360360208110156102d757600080fd5b50356001600160a01b0316610f4c565b005b3480156102f557600080fd5b506102a2600480360360e081101561030c57600080fd5b6001600160a01b038235169160ff6020820135169163ffffffff6040830135169190810190608081016060820135600160201b81111561034b57600080fd5b82018360208201111561035d57600080fd5b803590602001918460208302840111600160201b8311171561037e57600080fd5b919390929091602081019035600160201b81111561039b57600080fd5b8201836020820111156103ad57600080fd5b803590602001918460208302840111600160201b831117156103ce57600080fd5b919390929091602081019035600160201b8111156103eb57600080fd5b8201836020820111156103fd57600080fd5b803590602001918460208302840111600160201b8311171561041e57600080fd5b919390929091602081019035600160201b81111561043b57600080fd5b82018360208201111561044d57600080fd5b803590602001918460208302840111600160201b8311171561046e57600080fd5b509092509050610fd3565b34801561048557600080fd5b506102e76004803603604081101561049c57600080fd5b810190602081018135600160201b8111156104b657600080fd5b8201836020820111156104c857600080fd5b803590602001918460018302840111600160201b831117156104e957600080fd5b919390929091602081019035600160201b81111561050657600080fd5b82018360208201111561051857600080fd5b803590602001918460018302840111600160201b8311171561053957600080fd5b5090925090506111fb565b34801561055057600080fd5b5061055961141c565b604080516001600160a01b039092168252519081900360200190f35b34801561058157600080fd5b506102e76004803603602081101561059857600080fd5b50356001600160a01b031661142b565b3480156105b457600080fd5b506102e7600480360360408110156105cb57600080fd5b506001600160a01b03813516906020013561147e565b6102e7600480360360608110156105f757600080fd5b506001600160a01b038135811691602081013590911690604001356115c1565b34801561062357600080fd5b506102a26004803603602081101561063a57600080fd5b50356001600160a01b03166116c6565b34801561065657600080fd5b506102e76004803603602081101561066d57600080fd5b50356116d8565b34801561068057600080fd5b506102e76004803603604081101561069757600080fd5b506001600160a01b0381351690602001356117cb565b3480156106b957600080fd5b506102e7600480360360408110156106d057600080fd5b810190602081018135600160201b8111156106ea57600080fd5b8201836020820111156106fc57600080fd5b803590602001918460018302840111600160201b8311171561071d57600080fd5b919390929091602081019035600160201b81111561073a57600080fd5b82018360208201111561074c57600080fd5b803590602001918460018302840111600160201b8311171561076d57600080fd5b50909250905061184e565b34801561078457600080fd5b506102e76004803603604081101561079b57600080fd5b810190602081018135600160201b8111156107b557600080fd5b8201836020820111156107c757600080fd5b803590602001918460018302840111600160201b831117156107e857600080fd5b919390929091602081019035600160201b81111561080557600080fd5b82018360208201111561081757600080fd5b803590602001918460018302840111600160201b8311171561083857600080fd5b509092509050611970565b34801561084f57600080fd5b506102a2611a92565b34801561086457600080fd5b506102a26004803603602081101561087b57600080fd5b50356001600160a01b0316611a97565b34801561089757600080fd5b506102e7600480360360408110156108ae57600080fd5b50803590602001356001600160a01b0316611aa9565b3480156108d057600080fd5b506102e7600480360360408110156108e757600080fd5b50803590602001356001600160a01b0316611b76565b34801561090957600080fd5b506102e76004803603602081101561092057600080fd5b50356001600160a01b0316611c48565b34801561093c57600080fd5b506102e76004803603602081101561095357600080fd5b50356001600160a01b0316611d0e565b34801561096f57600080fd5b506102e76004803603604081101561098657600080fd5b810190602081018135600160201b8111156109a057600080fd5b8201836020820111156109b257600080fd5b803590602001918460018302840111600160201b831117156109d357600080fd5b919390929091602081019035600160201b8111156109f057600080fd5b820183602082011115610a0257600080fd5b803590602001918460018302840111600160201b83111715610a2357600080fd5b509092509050611dd4565b348015610a3a57600080fd5b5061055960048036036020811015610a5157600080fd5b5035611ef6565b348015610a6457600080fd5b506102e760048036036020811015610a7b57600080fd5b50356001600160a01b0316611f11565b348015610a9757600080fd5b506102e760048036036020811015610aae57600080fd5b5035611f61565b348015610ac157600080fd5b506102e760048036036020811015610ad857600080fd5b503560ff16611fdc565b348015610aee57600080fd5b506102e76120a8565b348015610b0357600080fd5b506102e760048036036040811015610b1a57600080fd5b506001600160a01b038135169060200135612139565b348015610b3c57600080fd5b506102a260048036036020811015610b5357600080fd5b50356001600160a01b03166121bc565b348015610b6f57600080fd5b506105596121ce565b348015610b8457600080fd5b50610b8d6121dd565b604080519115158252519081900360200190f35b348015610bad57600080fd5b506102e760048036036020811015610bc457600080fd5b50356121ee565b348015610bd757600080fd5b506102e760048036036020811015610bee57600080fd5b50356001600160a01b031661223e565b348015610c0a57600080fd5b506102e760048036036040811015610c2157600080fd5b506001600160a01b03813516906020013561228a565b348015610c4357600080fd5b506102e761230d565b348015610c5857600080fd5b506105596123ed565b348015610c6d57600080fd5b506102e760048036036040811015610c8457600080fd5b506001600160a01b0381351690602001356123fc565b348015610ca657600080fd5b50610b8d612448565b348015610cbb57600080fd5b506102a260048036036040811015610cd257600080fd5b506001600160a01b038135811691602001351661245e565b6102e761247b565b348015610cfe57600080fd5b506102a26124e7565b348015610d1357600080fd5b506102e760048036036020811015610d2a57600080fd5b50356001600160a01b03166124ed565b348015610d4657600080fd5b50610d4f61253d565b6040805160ff9092168252519081900360200190f35b348015610d7157600080fd5b5061055960048036036020811015610d8857600080fd5b503561254d565b348015610d9b57600080fd5b506102a260048036036020811015610db257600080fd5b50356001600160a01b0316612568565b348015610dce57600080fd5b506102e760048036036020811015610de557600080fd5b503561267e565b348015610df857600080fd5b506102e760048036036020811015610e0f57600080fd5b50356001600160a01b0316612740565b348015610e2b57600080fd5b506102a260048036036020811015610e4257600080fd5b5035612790565b348015610e5557600080fd5b506102e76127a2565b6000806060610e6b61280e565b60408051600481526024810182526020810180516001600160e01b031663054fd4d560e41b178152915181516001600160a01b039490941693919290918291908083835b60208310610ece5780518252601f199092019160209182019101610eaf565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114610f2e576040519150601f19603f3d011682016040523d82523d6000602084013e610f33565b606091505b509150915081610f4257600080fd5b6020015191505090565b610f546121dd565b610f93576040805162461bcd60e51b81526020600482018190526024820152600080516020612d31833981519152604482015290519081900360640190fd5b610f9c81612833565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000806060610fe061280e565b6001600160a01b03168e8e8e8e8e8e8e8e8e8e8e604051602401808c6001600160a01b03166001600160a01b031681526020018b60ff1660ff1681526020018a63ffffffff1663ffffffff1681526020018060200180602001806020018060200185810385528d8d82818152602001925060200280828437600083820152601f01601f191690910186810385528b8152602090810191508c908c0280828437600083820152601f01601f19169091018681038452898152602090810191508a908a0280828437600083820152601f01601f19169091018681038352878152602090810191508890880280828437600081840152601f19601f8201169050808301925050509f5050505050505050505050505050505060405160208183030381529060405263153c283f60e01b6001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b6020831061115e5780518252601f19909201916020918201910161113f565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d80600081146111be576040519150601f19603f3d011682016040523d82523d6000602084013e6111c3565b606091505b5091509150816111d257600080fd5b8080602001905160208110156111e757600080fd5b50519e9d5050505050505050505050505050565b611203612448565b611247576040805162461bcd60e51b815260206004820152601060248201526f39b2b73232b9103737ba1030b236b4b760811b604482015290519081900360640190fd5b6000606061125361280e565b6001600160a01b0316868686866040516024018080602001806020018381038352878782818152602001925080828437600083820152601f01601f19169091018481038352858152602001905085858082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166316bf3d5560e01b17815292518151919a5098508897509195509093508392508591508490505b6020831061131e5780518252601f1990920191602091820191016112ff565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461137e576040519150601f19603f3d011682016040523d82523d6000602084013e611383565b606091505b50915091508181906114135760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156113d85781810151838201526020016113c0565b50505050905090810190601f1680156114055780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505050505050565b600c546001600160a01b031681565b6114336121dd565b611472576040805162461bcd60e51b81526020600482018190526024820152600080516020612d31833981519152604482015290519081900360640190fd5b61147b816128a4565b50565b6114866121dd565b6114c5576040805162461bcd60e51b81526020600482018190526024820152600080516020612d31833981519152604482015290519081900360640190fd5b60006114cf61280e565b604080516001600160a01b038681166024830152604480830187905283518084039091018152606490920183526020820180516001600160e01b0316631782bf3360e21b178152925182519490911693919290918291908083835b602083106115495780518252601f19909201916020918201910161152a565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146115a9576040519150601f19603f3d011682016040523d82523d6000602084013e6115ae565b606091505b50509050806115bc57600080fd5b505050565b60006115cb61280e565b604080516001600160a01b0387811660248301528681166044830152606480830187905283518084039091018152608490920183526020820180516001600160e01b031663049ff5b160e31b178152925182519490911693919290918291908083835b6020831061164d5780518252601f19909201916020918201910161162e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146116ad576040519150601f19603f3d011682016040523d82523d6000602084013e6116b2565b606091505b50509050806116c057600080fd5b50505050565b600a6020526000908152604090205481565b60006116e261280e565b60408051602480820186905282518083039091018152604490910182526020810180516001600160e01b0316632e1a7d4d60e01b178152915181516001600160a01b039490941693919290918291908083835b602083106117545780518252601f199092019160209182019101611735565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146117b4576040519150601f19603f3d011682016040523d82523d6000602084013e6117b9565b606091505b50509050806117c757600080fd5b5050565b60006117d561280e565b604080516001600160a01b038681166024830152604480830187905283518084039091018152606490920183526020820180516001600160e01b03166319c5aef560e11b17815292518251949091169391929091829190808383602083106115495780518252601f19909201916020918201910161152a565b611856612448565b61189a576040805162461bcd60e51b815260206004820152601060248201526f39b2b73232b9103737ba1030b236b4b760811b604482015290519081900360640190fd5b600060606118a661280e565b6001600160a01b0316868686866040516024018080602001806020018381038352878782818152602001925080828437600083820152601f01601f19169091018481038352858152602001905085858082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b0316631cde0d7f60e11b17815292518151919a5098508897509195509093508392508591508490506020831061131e5780518252601f1990920191602091820191016112ff565b611978612448565b6119bc576040805162461bcd60e51b815260206004820152601060248201526f39b2b73232b9103737ba1030b236b4b760811b604482015290519081900360640190fd5b600060606119c861280e565b6001600160a01b0316868686866040516024018080602001806020018381038352878782818152602001925080828437600083820152601f01601f19169091018481038352858152602001905085858082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166349fa92cb60e01b17815292518151919a5098508897509195509093508392508591508490506020831061131e5780518252601f1990920191602091820191016112ff565b600281565b600b6020526000908152604090205481565b611ab16121dd565b611af0576040805162461bcd60e51b81526020600482018190526024820152600080516020612d31833981519152604482015290519081900360640190fd5b6000611afa61280e565b60408051602481018690526001600160a01b0385811660448084019190915283518084039091018152606490920183526020820180516001600160e01b0316632b80b58560e11b17815292518251949091169391929091829190808383602083106115495780518252601f19909201916020918201910161152a565b611b7e612448565b611bc2576040805162461bcd60e51b815260206004820152601060248201526f39b2b73232b9103737ba1030b236b4b760811b604482015290519081900360640190fd5b6000611bcc61280e565b60408051602481018690526001600160a01b0385811660448084019190915283518084039091018152606490920183526020820180516001600160e01b03166316367e8160e21b17815292518251949091169391929091829190808383602083106115495780518252601f19909201916020918201910161152a565b611c506121dd565b611c8f576040805162461bcd60e51b81526020600482018190526024820152600080516020612d31833981519152604482015290519081900360640190fd5b6000611c9961280e565b604080516001600160a01b0385811660248084019190915283518084039091018152604490920183526020820180516001600160e01b0316635e1f56d960e01b17815292518251949091169391929091829190808383602083106117545780518252601f199092019160209182019101611735565b611d166121dd565b611d55576040805162461bcd60e51b81526020600482018190526024820152600080516020612d31833981519152604482015290519081900360640190fd5b6000611d5f61280e565b604080516001600160a01b0385811660248084019190915283518084039091018152604490920183526020820180516001600160e01b0316631484968760e11b17815292518251949091169391929091829190808383602083106117545780518252601f199092019160209182019101611735565b611ddc612448565b611e20576040805162461bcd60e51b815260206004820152601060248201526f39b2b73232b9103737ba1030b236b4b760811b604482015290519081900360640190fd5b60006060611e2c61280e565b6001600160a01b0316868686866040516024018080602001806020018381038352878782818152602001925080828437600083820152601f01601f19169091018481038352858152602001905085858082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b0316632fee3e0960e11b17815292518151919a5098508897509195509093508392508591508490506020831061131e5780518252601f1990920191602091820191016112ff565b6007602052600090815260409020546001600160a01b031681565b611f196121dd565b611f58576040805162461bcd60e51b81526020600482018190526024820152600080516020612d31833981519152604482015290519081900360640190fd5b61147b81612a18565b6000611f6b61280e565b60408051602480820186905282518083039091018152604490910182526020810180516001600160e01b0316633851a16160e11b178152915181516001600160a01b03949094169391929091829190808383602083106117545780518252601f199092019160209182019101611735565b611fe4612448565b612028576040805162461bcd60e51b815260206004820152601060248201526f39b2b73232b9103737ba1030b236b4b760811b604482015290519081900360640190fd5b600061203261280e565b6040805160ff851660248083019190915282518083039091018152604490910182526020810180516001600160e01b0316633867775960e11b178152915181516001600160a01b03949094169391929091829190808383602083106117545780518252601f199092019160209182019101611735565b6120b06121dd565b6120ef576040805162461bcd60e51b81526020600482018190526024820152600080516020612d31833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061214361280e565b604080516001600160a01b038681166024830152604480830187905283518084039091018152606490920183526020820180516001600160e01b0316637adde41360e01b17815292518251949091169391929091829190808383602083106115495780518252601f19909201916020918201910161152a565b60096020526000908152604090205481565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6121f66121dd565b612235576040805162461bcd60e51b81526020600482018190526024820152600080516020612d31833981519152604482015290519081900360640190fd5b61147b81612ae0565b612246612448565b611d55576040805162461bcd60e51b815260206004820152601060248201526f39b2b73232b9103737ba1030b236b4b760811b604482015290519081900360640190fd5b600061229461280e565b604080516001600160a01b038681166024830152604480830187905283518084039091018152606490920183526020820180516001600160e01b03166313c5035360e31b17815292518251949091169391929091829190808383602083106115495780518252601f19909201916020918201910161152a565b600061231761280e565b60408051600481526024810182526020810180516001600160e01b031663a69df4b560e01b178152915181516001600160a01b039490941693919290918291908083835b6020831061237a5780518252601f19909201916020918201910161235b565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146123da576040519150601f19603f3d011682016040523d82523d6000602084013e6123df565b606091505b505090508061147b57600080fd5b600d546001600160a01b031681565b612404612448565b6114c5576040805162461bcd60e51b815260206004820152601060248201526f39b2b73232b9103737ba1030b236b4b760811b604482015290519081900360640190fd5b3360009081526001602052604090205460ff1690565b600560209081526000928352604080842090915290825290205481565b600061248561280e565b60408051600481526024810182526020810180516001600160e01b0316630d0e30db60e41b178152915181516001600160a01b039490941693919290918291908083836020831061237a5780518252601f19909201916020918201910161235b565b60045481565b6124f56121dd565b612534576040805162461bcd60e51b81526020600482018190526024820152600080516020612d31833981519152604482015290519081900360640190fd5b61147b81612b29565b600d54600160a01b900460ff1681565b6008602052600090815260409020546001600160a01b031681565b600080606061257561280e565b604080516001600160a01b0387811660248084019190915283518084039091018152604490920183526020820180516001600160e01b0316633b63b06560e21b178152925182519490911693919290918291908083835b602083106125eb5780518252601f1990920191602091820191016125cc565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461264b576040519150601f19603f3d011682016040523d82523d6000602084013e612650565b606091505b50915091508161265f57600080fd5b80806020019051602081101561267457600080fd5b5051949350505050565b6126866121dd565b6126c5576040805162461bcd60e51b81526020600482018190526024820152600080516020612d31833981519152604482015290519081900360640190fd5b60006126cf61280e565b60408051602480820186905282518083039091018152604490910182526020810180516001600160e01b03166378e2f8f160e11b178152915181516001600160a01b03949094169391929091829190808383602083106117545780518252601f199092019160209182019101611735565b6127486121dd565b612787576040805162461bcd60e51b81526020600482018190526024820152600080516020612d31833981519152604482015290519081900360640190fd5b61147b81612b73565b60066020526000908152604090205481565b60006127ac61280e565b60408051600481526024810182526020810180516001600160e01b0316637c1e845d60e11b178152915181516001600160a01b039490941693919290918291908083836020831061237a5780518252601f19909201916020918201910161235b565b7f3b2ff02c0f36dba7cc1b20a669e540b974575f04ef71846d482983efb03bebb45490565b612845816001600160a01b0316612c13565b6128805760405162461bcd60e51b8152600401808060200182810382526033815260200180612cfe6033913960400191505060405180910390fd5b7f3b2ff02c0f36dba7cc1b20a669e540b974575f04ef71846d482983efb03bebb455565b6001600160a01b0381166128f1576040805162461bcd60e51b815260206004820152600f60248201526e696e76616c6964206164647265737360881b604482015290519081900360640190fd5b60035460025410612949576040805162461bcd60e51b815260206004820152601760248201527f746f6f206d616e792061646d696e732065786973746564000000000000000000604482015290519081900360640190fd5b6001600160a01b03811660009081526001602052604090205460ff16156129a7576040805162461bcd60e51b815260206004820152600d60248201526c30b63932b0b23c9030b236b4b760991b604482015290519081900360640190fd5b6001600160a01b0381166000908152600160208190526040909120805460ff1916821790556002546129de9163ffffffff612c1916565b6002556040516001600160a01b038216907f0cc43938d137e7efade6a531f663e78c1fc75257b0d65ffda2fdaf70cb49cdf990600090a250565b6001600160a01b03811660009081526001602052604090205460ff16612a71576040805162461bcd60e51b81526020600482015260096024820152683737ba1030b236b4b760b91b604482015290519081900360640190fd5b6001600160a01b0381166000908152600160208190526040909120805460ff19169055600254612aa69163ffffffff612c7a16565b6002556040516001600160a01b038216907f749cb6b4c510bc468cf6b9c2086d6f0a54d6b18e25d37bf3200e68eab0880c0090600090a250565b806003541415612b24576040805162461bcd60e51b815260206004820152600a6024820152691cd85b59481b1a5b5a5d60b21b604482015290519081900360640190fd5b600355565b600160025411611f58576040805162461bcd60e51b815260206004820152601060248201526f61646d696e2073686f756c64203e203160801b604482015290519081900360640190fd5b6001600160a01b038116612bb85760405162461bcd60e51b8152600401808060200182810382526026815260200180612cd86026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3b151590565b600082820183811015612c73576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082821115612cd1576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373496d706c656d656e746174696f6e20616464726573732073686f756c64206265206120636f6e747261637420616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a265627a7a72315820a7ca0022bedcefe0bf539c8ff973928d615ff9f2a0319e9100b7a71d6088180d64736f6c634300050c0032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000a4589bb891d020aad7681ff49c0f3911c793255e0000000000000000000000006d38574be6c230272daad16fa5f291f825bd0da10000000000000000000000003cd11ab189af4f9b627547283f03e73ede433127
-----Decoded View---------------
Arg [0] : _walletOwner (address): 0xa4589bB891d020AAd7681Ff49c0F3911c793255e
Arg [1] : _dinngoToken (address): 0x6d38574be6C230272DAAd16Fa5F291F825Bd0Da1
Arg [2] : _impl (address): 0x3cD11Ab189AF4f9B627547283F03e73Ede433127
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000a4589bb891d020aad7681ff49c0f3911c793255e
Arg [1] : 0000000000000000000000006d38574be6c230272daad16fa5f291f825bd0da1
Arg [2] : 0000000000000000000000003cd11ab189af4f9b627547283f03e73ede433127Deployed Bytecode Sourcemap
12054:12885:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4789:343;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4789:343:0;;;:::i;:::-;;;;;;;;;;;;;;;;4509:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4509:153:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4509:153:0;-1:-1:-1;;;;;4509:153:0;;:::i;:::-;;24279:657;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24279:657:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;24279:657:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;24279:657:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;24279:657:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;24279:657:0;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;24279:657:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;24279:657:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;24279:657:0;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;24279:657:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;24279:657:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;24279:657:0;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;24279:657:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;24279:657:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;24279:657:0;;-1:-1:-1;24279:657:0;-1:-1:-1;24279:657:0;:::i;21143:315::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21143:315:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21143:315:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;21143:315:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;21143:315:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;21143:315:0;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;21143:315:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;21143:315:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;21143:315:0;;-1:-1:-1;21143:315:0;-1:-1:-1;21143:315:0;:::i;12549:26::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12549:26:0;;;:::i;:::-;;;;-1:-1:-1;;;;;12549:26:0;;;;;;;;;;;;;;16599:97;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16599:97:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16599:97:0;-1:-1:-1;;;;;16599:97:0;;:::i;16341:250::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16341:250:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;16341:250:0;;;;;;;;:::i;23174:273::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;23174:273:0;;;;;;;;;;;;;;;;;:::i;12447:41::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12447:41:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12447:41:0;-1:-1:-1;;;;;12447:41:0;;:::i;18390:205::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18390:205:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18390:205:0;;:::i;17917:243::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17917:243:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;17917:243:0;;;;;;;;:::i;22626:311::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22626:311:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22626:311:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;22626:311:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;22626:311:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;22626:311:0;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;22626:311:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;22626:311:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;22626:311:0;;-1:-1:-1;22626:311:0;-1:-1:-1;22626:311:0;:::i;21674:317::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21674:317:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21674:317:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;21674:317:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;21674:317:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;21674:317:0;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;21674:317:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;21674:317:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;21674:317:0;;-1:-1:-1;21674:317:0;-1:-1:-1;21674:317:0;:::i;12643:35::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12643:35:0;;;:::i;12495:45::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12495:45:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12495:45:0;-1:-1:-1;;;;;12495:45:0;;:::i;15495:237::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15495:237:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15495:237:0;;;;;;-1:-1:-1;;;;;15495:237:0;;:::i;14003:233::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14003:233:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14003:233:0;;;;;;-1:-1:-1;;;;;14003:233:0;;:::i;20692:237::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20692:237:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20692:237:0;-1:-1:-1;;;;;20692:237:0;;:::i;15936:214::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15936:214:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15936:214:0;-1:-1:-1;;;;;15936:214:0;;:::i;22182:289::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22182:289:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22182:289:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;22182:289:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;22182:289:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;22182:289:0;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;22182:289:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;22182:289:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;22182:289:0;;-1:-1:-1;22182:289:0;-1:-1:-1;22182:289:0;:::i;12275:58::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12275:58:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12275:58:0;;:::i;16994:106::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16994:106:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16994:106:0;-1:-1:-1;;;;;16994:106:0;;:::i;19359:209::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19359:209:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19359:209:0;;:::i;13405:207::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13405:207:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13405:207:0;;;;:::i;2767:140::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2767:140:0;;;:::i;19832:249::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19832:249:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;19832:249:0;;;;;;;;:::i;12398:42::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12398:42:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12398:42:0;-1:-1:-1;;;;;12398:42:0;;:::i;1956:79::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1956:79:0;;;:::i;2322:92::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2322:92:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;17108:89;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17108:89:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17108:89:0;;:::i;14427:211::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14427:211:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14427:211:0;-1:-1:-1;;;;;14427:211:0;;:::i;18897:245::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18897:245:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;18897:245:0;;;;;;;;:::i;23721:148::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23721:148:0;;;:::i;12582:23::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12582:23:0;;;:::i;14815:247::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14815:247:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;14815:247:0;;;;;;;;:::i;10321:89::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10321:89:0;;;:::i;12150:65::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12150:65:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;12150:65:0;;;;;;;;;;:::i;17451:158::-;;;:::i;12115:26::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12115:26:0;;;:::i;16704:105::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16704:105:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16704:105:0;-1:-1:-1;;;;;16704:105:0;;:::i;12612:22::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12612:22:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12340:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12340:51:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12340:51:0;;:::i;20233:309::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20233:309:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20233:309:0;-1:-1:-1;;;;;20233:309:0;;:::i;23966:229::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23966:229:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23966:229:0;;:::i;3062:109::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3062:109:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3062:109:0;-1:-1:-1;;;;;3062:109:0;;:::i;12222:46::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12222:46:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12222:46:0;;:::i;23517:144::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23517:144:0;;;:::i;4789:343::-;4845:15;4873:7;4882:16;4902:17;:15;:17::i;:::-;4945:36;;;22:32:-1;6:49;;4945:36:0;;;;;49:4:-1;25:18;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;4902:90:0;;;;-1:-1:-1;;;;;4902:28:0;;;;;4945:36;;4902:90;;;;25:18:-1;4902:90:0;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4902:90:0;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;4872:120:0;;;;5011:2;5003:11;;;;;;5079:4;5070:14;5060:29;;-1:-1:-1;;4789:343:0;:::o;4509:153::-;2168:9;:7;:9::i;:::-;2160:54;;;;;-1:-1:-1;;;2160:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2160:54:0;;;;;;;;;;;;;;;4580:34;4599:14;4580:18;:34::i;:::-;4630:24;;-1:-1:-1;;;;;4630:24:0;;;;;;;;4509:153;:::o;24279:657::-;24547:12;24573:7;24582:16;24602:17;:15;:17::i;:::-;-1:-1:-1;;;;;24602:28:0;24787:4;24793:6;24801:5;24808:3;;24813:8;;24823:7;;24832:4;;24645:206;;;;;;-1:-1:-1;;;;;24645:206:0;-1:-1:-1;;;;;24645:206:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;;74:27;137:4;117:14;-1:-1;;113:30;157:16;;;24645:206:0;;;;;;;;;;;;;-1:-1:-1;24645:206:0;;;;;;;1:33:-1;99:1;81:16;;;74:27;137:4;117:14;-1:-1;;113:30;157:16;;;24645:206:0;;;;;;;;;;;;;-1:-1:-1;24645:206:0;;;;;;;1:33:-1;99:1;81:16;;;74:27;137:4;117:14;-1:-1;;113:30;157:16;;;24645:206:0;;;;;;;;;;;;;-1:-1:-1;24645:206:0;;;;;;;1:33:-1;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;24645:206:0;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;24645:206:0;;;-1:-1:-1;;;;;;;;24645:206:0;;38:4:-1;29:7;25:18;67:10;61:17;-1:-1;;;;;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;24645:206:0;24602:260;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;24602:260:0;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;24572:290:0;;;;24881:2;24873:11;;;;;;24913:3;24902:26;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24902:26:0;;24279:657;-1:-1:-1;;;;;;;;;;;;;;24279:657:0:o;21143:315::-;10520:9;:7;:9::i;:::-;10512:38;;;;;-1:-1:-1;;;10512:38:0;;;;;;;;;;;;-1:-1:-1;;;10512:38:0;;;;;;;;;;;;;;;21252:7;21261:16;21281:17;:15;:17::i;:::-;-1:-1:-1;;;;;21281:30:0;21382:10;;21394:9;;21326:78;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;;74:27;137:4;117:14;-1:-1;;113:30;157:16;;;21326:78:0;;;;;;;;;;;-1:-1:-1;21326:78:0;;;;;1:33:-1;99:1;81:16;;;74:27;21326:78:0;;;137:4:-1;117:14;;;-1:-1;;113:30;;;157:16;;;26:21;;;22:32;;;6:49;;21326:78:0;;;49:4:-1;25:18;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;21281:134:0;;;;21326:78;;-1:-1:-1;21281:134:0;-1:-1:-1;21281:134:0;;-1:-1:-1;25:18;;-1:-1;21281:134:0;;-1:-1:-1;21281:134:0;;-1:-1:-1;21281:134:0;;-1:-1:-1;25:18;;-1:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;21281:134:0;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;21251:164:0;;;;21434:2;21445:3;21426:24;;;;;-1:-1:-1;;;21426:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;21426:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10561:1;;21143:315;;;;:::o;12549:26::-;;;-1:-1:-1;;;;;12549:26:0;;:::o;16599:97::-;2168:9;:7;:9::i;:::-;2160:54;;;;;-1:-1:-1;;;2160:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2160:54:0;;;;;;;;;;;;;;;16667:21;16682:5;16667:14;:21::i;:::-;16599:97;:::o;16341:250::-;2168:9;:7;:9::i;:::-;2160:54;;;;;-1:-1:-1;;;2160:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2160:54:0;;;;;;;;;;;;;;;16426:7;16438:17;:15;:17::i;:::-;16483:67;;;-1:-1:-1;;;;;16483:67:0;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;16483:67:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;16438:123:0;;;;:30;;;;;16483:67;;16438:123;;;;25:18:-1;16438:123:0;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16438:123:0;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;16425:136:0;;;16580:2;16572:11;;;;;;2225:1;16341:250;;:::o;23174:273::-;23267:7;23279:17;:15;:17::i;:::-;23324:82;;;-1:-1:-1;;;;;23324:82:0;;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;23324:82:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;23279:138:0;;;;:30;;;;;23324:82;;23279:138;;;;25:18:-1;23279:138:0;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;23279:138:0;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;23266:151:0;;;23436:2;23428:11;;;;;;23174:273;;;;:::o;12447:41::-;;;;;;;;;;;;;:::o;18390:205::-;18445:7;18457:17;:15;:17::i;:::-;18502:52;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;18502:52:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;18457:108:0;;;;-1:-1:-1;;;;;18457:30:0;;;;;18502:52;;18457:108;;;;25:18:-1;18457:108:0;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;18457:108:0;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;18444:121:0;;;18584:2;18576:11;;;;;;18390:205;;:::o;17917:243::-;17991:7;18003:17;:15;:17::i;:::-;18048:71;;;-1:-1:-1;;;;;18048:71:0;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;18048:71:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;18003:127:0;;;;:30;;;;;18048:71;;18003:127;;;;25:18:-1;18003:127:0;;25:18:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;22626:311:0;10520:9;:7;:9::i;:::-;10512:38;;;;;-1:-1:-1;;;10512:38:0;;;;;;;;;;;;-1:-1:-1;;;10512:38:0;;;;;;;;;;;;;;;22733:7;22742:16;22762:17;:15;:17::i;:::-;-1:-1:-1;;;;;22762:30:0;22862:9;;22873;;22807:76;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;;74:27;137:4;117:14;-1:-1;;113:30;157:16;;;22807:76:0;;;;;;;;;;;-1:-1:-1;22807:76:0;;;;;1:33:-1;99:1;81:16;;;74:27;22807:76:0;;;137:4:-1;117:14;;;-1:-1;;113:30;;;157:16;;;26:21;;;22:32;;;6:49;;22807:76:0;;;49:4:-1;25:18;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;22762:132:0;;;;22807:76;;-1:-1:-1;22762:132:0;-1:-1:-1;22762:132:0;;-1:-1:-1;25:18;;-1:-1;22762:132:0;;-1:-1:-1;22762:132:0;;-1:-1:-1;22762:132:0;;-1:-1:-1;25:18;;-1:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;21674:317:0;10520:9;:7;:9::i;:::-;10512:38;;;;;-1:-1:-1;;;10512:38:0;;;;;;;;;;;;-1:-1:-1;;;10512:38:0;;;;;;;;;;;;;;;21784:7;21793:16;21813:17;:15;:17::i;:::-;-1:-1:-1;;;;;21813:30:0;21914:11;;21927:9;;21858:79;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;;74:27;137:4;117:14;-1:-1;;113:30;157:16;;;21858:79:0;;;;;;;;;;;-1:-1:-1;21858:79:0;;;;;1:33:-1;99:1;81:16;;;74:27;21858:79:0;;;137:4:-1;117:14;;;-1:-1;;113:30;;;157:16;;;26:21;;;22:32;;;6:49;;21858:79:0;;;49:4:-1;25:18;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;21813:135:0;;;;21858:79;;-1:-1:-1;21813:135:0;-1:-1:-1;21813:135:0;;-1:-1:-1;25:18;;-1:-1;21813:135:0;;-1:-1:-1;21813:135:0;;-1:-1:-1;21813:135:0;;-1:-1:-1;25:18;;-1:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;12643:35:0;12677:1;12643:35;:::o;12495:45::-;;;;;;;;;;;;;:::o;15495:237::-;2168:9;:7;:9::i;:::-;2160:54;;;;;-1:-1:-1;;;2160:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2160:54:0;;;;;;;;;;;;;;;15571:7;15583:17;:15;:17::i;:::-;15628:63;;;;;;;;;-1:-1:-1;;;;;15628:63:0;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;15628:63:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;15583:119:0;;;;:30;;;;;15628:63;;15583:119;;;;25:18:-1;15583:119:0;;25:18:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;14003:233:0;10520:9;:7;:9::i;:::-;10512:38;;;;;-1:-1:-1;;;10512:38:0;;;;;;;;;;;;-1:-1:-1;;;10512:38:0;;;;;;;;;;;;;;;14077:7;14089:17;:15;:17::i;:::-;14134:61;;;;;;;;;-1:-1:-1;;;;;14134:61:0;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;14134:61:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;14089:117:0;;;;:30;;;;;14134:61;;14089:117;;;;25:18:-1;14089:117:0;;25:18:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;20692:237:0;2168:9;:7;:9::i;:::-;2160:54;;;;;-1:-1:-1;;;2160:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2160:54:0;;;;;;;;;;;;;;;20768:7;20780:17;:15;:17::i;:::-;20825:63;;;-1:-1:-1;;;;;20825:63:0;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;20825:63:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;20780:119:0;;;;:30;;;;;20825:63;;20780:119;;;;25:18:-1;20780:119:0;;25:18:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;15936:214:0;2168:9;:7;:9::i;:::-;2160:54;;;;;-1:-1:-1;;;2160:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2160:54:0;;;;;;;;;;;;;;;16003:7;16015:17;:15;:17::i;:::-;16060:49;;;-1:-1:-1;;;;;16060:49:0;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;16060::0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;16015:105:0;;;;:30;;;;;16060:49;;16015:105;;;;25:18:-1;16015:105:0;;25:18:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;22182:289:0;10520:9;:7;:9::i;:::-;10512:38;;;;;-1:-1:-1;;;10512:38:0;;;;;;;;;;;;-1:-1:-1;;;10512:38:0;;;;;;;;;;;;;;;22278:7;22287:16;22307:17;:15;:17::i;:::-;-1:-1:-1;;;;;22307:30:0;22399:6;;22407:9;;22352:65;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;;74:27;137:4;117:14;-1:-1;;113:30;157:16;;;22352:65:0;;;;;;;;;;;-1:-1:-1;22352:65:0;;;;;1:33:-1;99:1;81:16;;;74:27;22352:65:0;;;137:4:-1;117:14;;;-1:-1;;113:30;;;157:16;;;26:21;;;22:32;;;6:49;;22352:65:0;;;49:4:-1;25:18;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;22307:121:0;;;;22352:65;;-1:-1:-1;22307:121:0;-1:-1:-1;22307:121:0;;-1:-1:-1;25:18;;-1:-1;22307:121:0;;-1:-1:-1;22307:121:0;;-1:-1:-1;22307:121:0;;-1:-1:-1;25:18;;-1:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;12275:58:0;;;;;;;;;;;;-1:-1:-1;;;;;12275:58:0;;:::o;16994:106::-;2168:9;:7;:9::i;:::-;2160:54;;;;;-1:-1:-1;;;2160:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2160:54:0;;;;;;;;;;;;;;;17069:23;17086:5;17069:16;:23::i;19359:209::-;19416:7;19428:17;:15;:17::i;:::-;19473:54;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;19473:54:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;19428:110:0;;;;-1:-1:-1;;;;;19428:30:0;;;;;19473:54;;19428:110;;;;25:18:-1;19428:110:0;;25:18:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;13405:207:0;10520:9;:7;:9::i;:::-;10512:38;;;;;-1:-1:-1;;;10512:38:0;;;;;;;;;;;;-1:-1:-1;;;10512:38:0;;;;;;;;;;;;;;;13466:7;13478:17;:15;:17::i;:::-;13523:48;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;13523:48:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;13478:104:0;;;;-1:-1:-1;;;;;13478:30:0;;;;;13523:48;;13478:104;;;;25:18:-1;13478:104:0;;25:18:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;2767:140:0;2168:9;:7;:9::i;:::-;2160:54;;;;;-1:-1:-1;;;2160:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2160:54:0;;;;;;;;;;;;;;;2866:1;2850:6;;2829:40;;-1:-1:-1;;;;;2850:6:0;;;;2829:40;;2866:1;;2829:40;2897:1;2880:19;;-1:-1:-1;;;;;;2880:19:0;;;2767:140::o;19832:249::-;19909:7;19921:17;:15;:17::i;:::-;19966:74;;;-1:-1:-1;;;;;19966:74:0;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;19966:74:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;19921:130:0;;;;:30;;;;;19966:74;;19921:130;;;;25:18:-1;19921:130:0;;25:18:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;12398:42:0;;;;;;;;;;;;;:::o;1956:79::-;1994:7;2021:6;-1:-1:-1;;;;;2021:6:0;1956:79;:::o;2322:92::-;2362:4;2400:6;-1:-1:-1;;;;;2400:6:0;2386:10;:20;;2322:92::o;17108:89::-;2168:9;:7;:9::i;:::-;2160:54;;;;;-1:-1:-1;;;2160:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2160:54:0;;;;;;;;;;;;;;;17172:17;17187:1;17172:14;:17::i;14427:211::-;10520:9;:7;:9::i;:::-;10512:38;;;;;-1:-1:-1;;;10512:38:0;;;;;;;;;;;;-1:-1:-1;;;10512:38:0;;;;;;;;;;;;;;18897:245;18972:7;18984:17;:15;:17::i;:::-;19029:72;;;-1:-1:-1;;;;;19029:72:0;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;19029:72:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;18984:128:0;;;;:30;;;;;19029:72;;18984:128;;;;25:18:-1;18984:128:0;;25:18:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;23721:148:0;23760:7;23772:17;:15;:17::i;:::-;23803:35;;;22:32:-1;6:49;;23803:35:0;;;;;49:4:-1;25:18;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;23772:67:0;;;;-1:-1:-1;;;;;23772:30:0;;;;;23803:35;;23772:67;;;;25:18:-1;23772:67:0;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;23772:67:0;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;23759:80:0;;;23858:2;23850:11;;;;;12582:23;;;-1:-1:-1;;;;;12582:23:0;;:::o;14815:247::-;10520:9;:7;:9::i;:::-;10512:38;;;;;-1:-1:-1;;;10512:38:0;;;;;;;;;;;;-1:-1:-1;;;10512:38:0;;;;;;;;;;;;;;10321:89;10391:10;10360:4;10384:18;;;:6;:18;;;;;;;;10321:89;:::o;12150:65::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;17451:158::-;17499:7;17511:17;:15;:17::i;:::-;17542:36;;;22:32:-1;6:49;;17542:36:0;;;;;49:4:-1;25:18;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;17511:68:0;;;;-1:-1:-1;;;;;17511:30:0;;;;;17542:36;;17511:68;;;;25:18:-1;17511:68:0;;25:18:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;12115:26:0;;;;:::o;16704:105::-;2168:9;:7;:9::i;:::-;2160:54;;;;;-1:-1:-1;;;2160:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2160:54:0;;;;;;;;;;;;;;;16774:27;16795:5;16774:20;:27::i;12612:22::-;;;-1:-1:-1;;;12612:22:0;;;;;:::o;12340:51::-;;;;;;;;;;;;-1:-1:-1;;;;;12340:51:0;;:::o;20233:309::-;20292:15;20321:7;20330:16;20350:17;:15;:17::i;:::-;20395:59;;;-1:-1:-1;;;;;20395:59:0;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;20395:59:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;20350:115:0;;;;:30;;;;;20395:59;;20350:115;;;;25:18:-1;20350:115:0;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;20350:115:0;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;20320:145:0;;;;20484:2;20476:11;;;;;;20519:3;20508:26;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20508:26:0;;20233:309;-1:-1:-1;;;;20233:309:0:o;23966:229::-;2168:9;:7;:9::i;:::-;2160:54;;;;;-1:-1:-1;;;2160:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2160:54:0;;;;;;;;;;;;;;;24038:7;24050:17;:15;:17::i;:::-;24095:59;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;24095:59:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;24050:115:0;;;;-1:-1:-1;;;;;24050:30:0;;;;;24095:59;;24050:115;;;;25:18:-1;24050:115:0;;25:18:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;3062:109:0;2168:9;:7;:9::i;:::-;2160:54;;;;;-1:-1:-1;;;2160:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2160:54:0;;;;;;;;;;;;;;;3135:28;3154:8;3135:18;:28::i;12222:46::-;;;;;;;;;;;;;:::o;23517:144::-;23554:7;23566:17;:15;:17::i;:::-;23597:33;;;22:32:-1;6:49;;23597:33:0;;;;;49:4:-1;25:18;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;23566:65:0;;;;-1:-1:-1;;;;;23566:30:0;;;;;23597:33;;23566:65;;;;25:18:-1;23566:65:0;;25:18:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;5682:203:0;3988:66;5856:11;;5823:55::o;5285:314::-;5365:27;:14;-1:-1:-1;;;;;5365:25:0;;:27::i;:::-;5357:114;;;;-1:-1:-1;;;5357:114:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3988:66;5553:28;5538:54::o;11105:327::-;-1:-1:-1;;;;;11172:19:0;;11164:47;;;;;-1:-1:-1;;;11164:47:0;;;;;;;;;;;;-1:-1:-1;;;11164:47:0;;;;;;;;;;;;;;;11240:7;;11230;;:17;11222:53;;;;;-1:-1:-1;;;11222:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11295:13:0;;;;;;:6;:13;;;;;;;;11294:14;11286:40;;;;;-1:-1:-1;;;11286:40:0;;;;;;;;;;;;-1:-1:-1;;;11286:40:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;11337:13:0;;;;;;11353:4;11337:13;;;;;;;;:20;;-1:-1:-1;;11337:20:0;;;;;11378:7;;:14;;;:11;:14;:::i;:::-;11368:7;:24;11408:16;;-1:-1:-1;;;;;11408:16:0;;;;;;;;11105:327;:::o;11663:205::-;-1:-1:-1;;;;;11732:13:0;;;;;;:6;:13;;;;;;;;11724:35;;;;;-1:-1:-1;;;11724:35:0;;;;;;;;;;;;-1:-1:-1;;;11724:35:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;11770:13:0;;11786:5;11770:13;;;:6;:13;;;;;;;;:21;;-1:-1:-1;;11770:21:0;;;11812:7;;:14;;;:11;:14;:::i;:::-;11802:7;:24;11842:18;;-1:-1:-1;;;;;11842:18:0;;;;;;;;11663:205;:::o;10893:120::-;10967:1;10956:7;;:12;;10948:35;;;;;-1:-1:-1;;;10948:35:0;;;;;;;;;;;;-1:-1:-1;;;10948:35:0;;;;;;;;;;;;;;;10994:7;:11;10893:120::o;11508:147::-;11591:1;11581:7;;:11;11573:40;;;;;-1:-1:-1;;;11573:40:0;;;;;;;;;;;;-1:-1:-1;;;11573:40:0;;;;;;;;;;;;;;3277:229;-1:-1:-1;;;;;3351:22:0;;3343:73;;;;-1:-1:-1;;;3343:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3453:6;;;3432:38;;-1:-1:-1;;;;;3432:38:0;;;;3453:6;;;3432:38;;;3481:6;:17;;-1:-1:-1;;;;;;3481:17:0;-1:-1:-1;;;;;3481:17:0;;;;;;;;;;3277:229::o;620:422::-;987:20;1026:8;;;620:422::o;6813:181::-;6871:7;6903:5;;;6927:6;;;;6919:46;;;;;-1:-1:-1;;;6919:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6985:1;6813:181;-1:-1:-1;;;6813:181:0:o;7269:184::-;7327:7;7360:1;7355;:6;;7347:49;;;;;-1:-1:-1;;;7347:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7419:5:0;;;7269:184::o
Swarm Source
bzzr://a7ca0022bedcefe0bf539c8ff973928d615ff9f2a0319e9100b7a71d6088180d
Loading...LoadingLoading...Loading
Loading...Loading
Loading...LoadingLoading...LoadingLoading...LoadingLoading...LoadingLoading...LoadingOVERVIEW
DINNGO Exchange is an Ethereum based decentralized exchange. The smart contract provided here is to facilitate tradings on the platform.
Multichain Portfolio | 26 Chains
Chain Token Portfolio % Price Amount Value ETH Ether (ETH)92.40% $3,160.66 6.5506 $20,704.16 ETH 3.22% $1 721.5948 $722.32 ETH 0.90% $1 202.6084 $202.61 ETH 0.89% $2,386.31 0.084 $200.4 ETH 0.77% $12.99 13.2066 $171.55 ETH 0.57% $0.196059 654.324 $128.29 ETH 0.32% $2,639.04 0.0276 $72.71 ETH 0.27% $0.023176 2,617.295 $60.66 ETH 0.18% $0.323938 124.9108 $40.46 ETH 0.13% $0.001699 17,098.3675 $29.05 ETH 0.12% $0.007304 3,796.1968 $27.73 ETH 0.11% $0.185269 134.2901 $24.88 ETH 0.05% $0.283863 38.2962 $10.87 ETH 0.04% $0.139841 56.1525 $7.85 ETH <0.01% $0.725211 2.5723 $1.87 ETH <0.01% $0.007617 64.813 $0.4936 ETH <0.01% $0.017096 28.6487 $0.4897 ETH <0.01% $0.009086 52.5817 $0.4777 Loading...Loading[ Download: CSV Export ][ Download: CSV Export ]A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.
Address QR Code
My Address - Private Name Tag or Note
My Name Tag:
Private Name Tags (up to 35 characters) can be used for easy identification of addressesPrivate Note:
A private note (up to 500 characters) can be attached to this address.
Please DO NOT store any passwords or private keys here.Compiler specific version warnings:
The compiled contract might be susceptible to AbiReencodingHeadOverflowWithStaticArrayCleanup (medium-severity), DirtyBytesArrayToStorage (low-severity), NestedCalldataArrayAbiReencodingSizeValidation (very low-severity), ABIDecodeTwoDimensionalArrayMemory (very low-severity), KeccakCaching (medium-severity), EmptyByteArrayCopy (medium-severity), DynamicArrayCleanup (medium-severity), ImplicitConstructorCallvalueCheck (very low-severity), TupleAssignmentMultiStackSlotComponents (very low-severity), MemoryArrayCreationOverflow (low-severity), privateCanBeOverridden (low-severity), YulOptimizerRedundantAssignmentBreakContinue0.5 (low-severity) Solidity Compiler Bugs.
Connect a Wallet
Connecting wallet for read function is optional, useful if you want to call certain functions or simply use your wallet's node.Connect a Wallet
Connecting wallet for read function is optional, useful if you want to call certain functions or simply use your wallet's node.Connect a Wallet
Connecting wallet for read function is optional, useful if you want to call certain functions or simply use your wallet's node.Before You Copy
This website uses cookies to improve your experience. By continuing to use this website, you agree to its Terms and Privacy Policy.