Ready to simplify your web3 experience? Try the all-in-one web3 app trusted by millions worldwide.
Purchase 100+ cryptocurrencies instantly, with Visa/Mastercard, Google/Apple Pay, and a variety of other funding methods.
Everyday giveaways up to 100 ETH, Lucky Spins. Deposit BONUS 300% and Cashbacks!
9 years old Licensed Crypto Casino, Instant Withdraw 24/7, 6000+ Slots available, Paypal Deposit, Instant Live Support 24/7, 30% Rakeback.
5000+ Slots & Live Casino Games, 50+cryptos. Register with Etherscan and get 760% deposit bonus. Win Big$, withdraw it fast.
5000+ Slots & Live Casino Games, 50+cryptos. Register with Etherscan and get 760% deposit bonus. Win Big$, withdraw it fast.
Play 100s of games anonymously with all major cryptos. Join CryptoWins & start winning!
Anonymous play on awesome games - sign up now for 25 free jackpot spins - worth $100s!
Overview
ETH Balance
Eth Value
$1,259,324.22 (@ $2,350.68/ETH)Token Holdings
Could not find any matches!
- ERC-20 Tokens (131)26,871,925.473221 DONDonkey (DON)9,082,809.91253337 PACE3SPACE ART (PACE)$2,007,201.08@0.22160,500.08862662 AERGOAergo (AERGO)$5,913.64@0.097721.14985005 ANKRAnkr Network (ANKR)$0.53@0.02510.0015 ANTAragon Netwo... (ANT)$0.01@5.940.0008 BANDBandToken (BAND)$0.00@1.09924,374,399.3118276 BiFiBiFi (BiFi)$50,073.30@0.00214,840,089.86351807 BIOTBioPassport ... (BIOT)$6,976.01@0.00140.005 CRECarryToken (CRE)$0.00@0.00290.0003 LINKChainLink To... (LINK)$0.00@10.97694,723.72347983 DKAdKargo (DKA)$13,507.62@0.01941,797,227.65598918 DUCATODUCATO Proto... (DUCATO)$1,801.08@0.00118,426,306.5788941 ELELYSIA (EL)$87,609.90@0.00481,000 IQEveripedia I... (IQ)$4.77@0.00481 FTRFautor (FTR)$0.02@0.018333,774,699.7653035 HANDYHandy Token (HANDY)$8,533.53@0.00030.02 LRCLoopringCoin... (LRC)$0.00@0.1181313,039.61670087 MATICMatic Token (MATIC)$119,119.81@0.38051,000 MTVMultiVAC (MTV)$0.70@0.00070.009001 OCEANOcean Token (OCEAN)$0.01@0.58330.0015 OMGOMG Network (OMG)$0.00@0.30162,862,166.38579684 ORBSOrbs (ORBS)$65,442.29@0.02290.02252302 PSKPoolStake (PSK)$0.00@0.00110.01 RENRepublic (REN)$4.14@0.03779.001 RFOXRFOX (RFOX)$0.02@0.0020.001 STNDStandard (STND)$0.00@0.013421,997,057.4502187 STPLStream Proto... (STPL)$14,705.23@0.000739,856.28055472 TONTokamak Netw... (TON)$40,095.42@1.006163.86606257 TOMTOM (TOM)$150.76@0.920.0003 UMAUMA Voting T... (UMA)$0.00@2.221 UNIUniswap (UNI)$6.62@6.62812,435.29598797 DAIDai Stableco... (DAI)$812,339.43@0.99992,923,860.310472 USDTTether USD (USDT)$2,923,860.31@1.001,644.81665811 TUSDTrueUSD (TUSD)$1,642.61@0.99873,671,889.709174 USDCUSDC (USDC)$3,671,878.69@1.0056.72410355 WBTCWrapped BTC (WBTC)$3,379,622.09@59,580.002,500 $ Evmosia.com$ Evmosia.c... ($ Evm...)48,000 Earn $TUSD airdrops at https://www.tenorusd.org$ tenorusd.o... (Earn $...)4.75ERC20 ***100 APMAPM Coin$0.37@0.0037133 ARWArowana Token1,642.09763597 BGBGBigMouthFrog50.00292838 BlueSparrowBlueSparrowToken$1.87@0.03741,000 BROCBROADCASTING (BROC)0 CANVASCanvasToken (CANVAS)23,185.02953045 CLNKClank17.35247545 COLONColon$0.02@0.00121 CNXTCrowdnext4,751,132.58595894 DOTRCyDotori (DOTR)102,087.4528645 DFADeFine Art$41.53@0.000414.6985554 DOGDog (DOG)4,500 DOCDooropen (DOC)0.2 FNFFNF (FNF)6,897,488.9658034 GALAGala0.1 GTGGTGOLD Proto... (GTG)23 GETGuaranteed Entrance Token1 HSFHillstone.Finance$0.09@0.09262,832,182 ISDTISTARDUST21,592.11998262 LOFELOFE (LOFE)100 LBXCLUXBIO CELL$0.00@0.0019,935,178.9314635 MCIMCI Coin10,000 MVDGMetaverse Dog1,635,960.68899593 MTSMetis0 PAINTPaintToken (PAINT)245,399,972.43938 QBZQBEE (QBZ)58,497.09531691 RaiRai.Finance0.11 RSRReserve Rights27,823,693.2693648 RUSHRush coin (RUSH)$2.78@0.003.16036163 SIMPSimpson (SIMP)0.2 SKZSKZ (SKZ)28,982,093.9632649 SOBAsobacoin (SOBA)5 SWAPPSwapp Token10,000,000 SYNCHSynapse Chai... (SYNCH)196,129.51436071 TALKTalken$7,493.10@0.038210.02997001 TALKTalken412,350,351.950886 TRIXTriumphX$245,811.27@0.00062,020.001 UNMUNIUM$10,504.01@5.2040 VBITVALOBIT$0.24@0.006100 WEVERWrapped Ever720,095,207.1009 XDTXpeare Data Token125,000,000 ZAPZapankiSwap0.155555 HQG环球股 (HQG)9,484,383.91064527 FIT300FIT Network$5,355.04@0.000610,758,349.7223146 CBANKCRYPTO BANK0.021 CRICrypto International8,916.21634504 DRCDream Car$0.08@0.006,629,097.27991591 GALAGala$117,383.22@0.0177285,912,014.488979 ORCOrbit Chain$1,206,935.96@0.00421,367,348.12871074 POLAPOLARIS SHARE$32,353.25@0.02370.01 SHEESHASheesha Finance$0.03@3.263258,562.15864229 TRVTrustVerse$68.36@0.00121 SZCZugacoin$0.05@0.05361.2 TokenERC-20 TOKEN*[Suspicious]48,970.84 TokenERC-20 TOKEN*[Suspicious]48,970.84 TokenERC-20 TOKEN*[Suspicious]48,970.84 TokenERC-20 TOKEN*[Suspicious]5,000 TokenERC-20 TOKEN*[Suspicious]4,999 TokenERC-20 TOKEN*[Suspicious]8,271 TokenERC-20 TOKEN*[Suspicious]3,999.99 TokenERC-20 TOKEN*[Suspicious]0.7 TokenERC-20 TOKEN*[Suspicious]1 TokenERC-20 TOKEN*[Suspicious]9,000 TokenERC-20 TOKEN*[Suspicious]32 TokenERC-20 TOKEN*[Suspicious]5,000 TokenERC-20 TOKEN*[Suspicious]400 TokenERC-20 TOKEN*[Suspicious]463 TokenERC-20 TOKEN*[Suspicious]100,000 TokenERC-20 TOKEN*[Suspicious]4,214 TokenERC-20 TOKEN*[Suspicious]7,000 TokenERC-20 TOKEN*[Suspicious]7,000 TokenERC-20 TOKEN*[Suspicious]350 TokenERC-20 TOKEN*[Suspicious]241.75 TokenERC-20 TOKEN*[Suspicious]110,539.20419553 TokenERC-20 TOKEN*[Suspicious]699 TokenERC-20 TOKEN*[Unsafe]7,000 TokenERC-20 TOKEN*[Unsafe]7,000 TokenERC-20 TOKEN*[Unsafe]5,555 TokenERC-20 TOKEN*[Unsafe]1.4 TokenERC-20 TOKEN*[Spam]1.4 TokenERC-20 TOKEN*[Spam]1.4 TokenERC-20 TOKEN*[Spam]1.7 TokenERC-20 TOKEN*[Spam]3,999.99 TokenERC-20 TOKEN*[Spam]7,000 TokenERC-20 TOKEN*[Spam]1,049 TokenERC-20 TOKEN*[Spam]3,999.99 TokenERC-20 TOKEN*[Spam]50,000 TokenERC-20 TOKEN*[Spam]8,824,230 TokenERC-20 TOKEN*[Spam]150 TokenERC-20 TOKEN*[Spam]25,000 TokenERC-20 TOKEN*[Spam]50,000 TokenERC-20 TOKEN*[Spam]NFT Tokens (42)CKCryptoKittiesERC-721claim rewards on apyclink.comapyclink.comERC-1155claim rewards on apyusd.netapyusd.netERC-1155nft-dai.comDAI Mysterybox NFTERC-1155gala-nft.comGALA Mysterybox NFTERC-1155Reward Club [QEfkfA1G]Reward Club [w7cIVAag]ERC-1155NWBTCwbtc-nft.org or OS/collection/nwbtc to Redeem and Swap your NFT for WBTCERC-1155Let's Go!🎁ERC-1155ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]ERC-1155 TOKEN*[Spam]
More Info
Private Name Tags
ContractCreator
Multichain Info
1 address found via- Transactions
- Internal Transactions
- Token Transfers (ERC-20)
- NFT Transfers
- Contract
- Events
- Analytics
- Multichain Portfolio
Advanced Filter- Filter by Tx Type:
- Tx
- Internal Tx
- ERC-20
- NFTs
Latest 25 from a total of 144,891 transactions
Transaction Hash MethodBlockFromToDeposit 20452995 2024-08-04 5:07:59 42 days ago 1722748079 IN 0.000003 ETH$0.01 0.00003581 1 Confirm Transact... 20360903 2024-07-22 8:33:35 55 days ago 1721637215 IN 0 ETH$0.00 0.00259149 18 Confirm Transact... 20360902 2024-07-22 8:33:23 55 days ago 1721637203 IN 0 ETH$0.00 0.00269445 18 Confirm Transact... 20360700 2024-07-22 7:52:47 55 days ago 1721634767 IN 0 ETH$0.00 0.00196203 18 Confirm Transact... 20360700 2024-07-22 7:52:47 55 days ago 1721634767 IN 0 ETH$0.00 0.00196203 18 Confirm Transact... 20360699 2024-07-22 7:52:23 55 days ago 1721634743 IN 0 ETH$0.00 0.00264981 18 Confirm Transact... 20360698 2024-07-22 7:52:11 55 days ago 1721634731 IN 0 ETH$0.00 0.00267213 18 Confirm Transact... 20360697 2024-07-22 7:51:59 55 days ago 1721634719 IN 0 ETH$0.00 0.00268329 18 Confirm Transact... 20360696 2024-07-22 7:51:47 55 days ago 1721634707 IN 0 ETH$0.00 0.00304527 18 Confirm Transact... 20360440 2024-07-22 7:00:11 55 days ago 1721631611 IN 0 ETH$0.00 0.00231613 18 Confirm Transact... 20360386 2024-07-22 6:49:23 55 days ago 1721630963 IN 0 ETH$0.00 0.00231613 18 Confirm Transact... 20360374 2024-07-22 6:46:47 55 days ago 1721630807 IN 0 ETH$0.00 0.00231613 18 Confirm Transact... 20360362 2024-07-22 6:44:23 55 days ago 1721630663 IN 0 ETH$0.00 0.00231613 18 Confirm Transact... 20359884 2024-07-22 5:08:23 55 days ago 1721624903 IN 0 ETH$0.00 0.00231588 18 Confirm Transact... 20359883 2024-07-22 5:08:11 55 days ago 1721624891 IN 0 ETH$0.00 0.00231588 18 Confirm Transact... 20359882 2024-07-22 5:07:59 55 days ago 1721624879 IN 0 ETH$0.00 0.00231588 18 Confirm Transact... 20359881 2024-07-22 5:07:47 55 days ago 1721624867 IN 0 ETH$0.00 0.00231588 18 Confirm Transact... 20359880 2024-07-22 5:07:35 55 days ago 1721624855 IN 0 ETH$0.00 0.00231588 18 Confirm Transact... 20359879 2024-07-22 5:07:23 55 days ago 1721624843 IN 0 ETH$0.00 0.00231588 18 Confirm Transact... 20359536 2024-07-22 3:58:11 55 days ago 1721620691 IN 0 ETH$0.00 0.00331671 18 Confirm Transact... 20359535 2024-07-22 3:57:59 55 days ago 1721620679 IN 0 ETH$0.00 0.00331671 18 Confirm Transact... 20359534 2024-07-22 3:57:47 55 days ago 1721620667 IN 0 ETH$0.00 0.00331671 18 Confirm Transact... 20359533 2024-07-22 3:57:35 55 days ago 1721620655 IN 0 ETH$0.00 0.00331671 18 Confirm Transact... 20359532 2024-07-22 3:57:23 55 days ago 1721620643 IN 0 ETH$0.00 0.00331671 18 Confirm Transact... 20359531 2024-07-22 3:57:11 55 days ago 1721620631 IN 0 ETH$0.00 0.00271827 18 Advanced mode: Intended for advanced users or developers and will display all Internal Transactions including zero value transfers. Name tag integration is not available in advanced view.Latest 25 internal transactions (View All)
Advanced mode:Parent Transaction Hash Block From To 20452995 2024-08-04 5:07:59 42 days ago 1722748079 0 ETH$0.00 20452995 2024-08-04 5:07:59 42 days ago 1722748079 0.000003 ETH$0.01 20360903 2024-07-22 8:33:35 55 days ago 1721637215 0 ETH$0.00 20360902 2024-07-22 8:33:23 55 days ago 1721637203 0 ETH$0.00 20360699 2024-07-22 7:52:23 55 days ago 1721634743 0 ETH$0.00 20360698 2024-07-22 7:52:11 55 days ago 1721634731 0 ETH$0.00 20360697 2024-07-22 7:51:59 55 days ago 1721634719 0 ETH$0.00 20360696 2024-07-22 7:51:47 55 days ago 1721634707 0 ETH$0.00 20359536 2024-07-22 3:58:11 55 days ago 1721620691 0 ETH$0.00 20359535 2024-07-22 3:57:59 55 days ago 1721620679 0 ETH$0.00 20359534 2024-07-22 3:57:47 55 days ago 1721620667 0 ETH$0.00 20359533 2024-07-22 3:57:35 55 days ago 1721620655 0 ETH$0.00 20359532 2024-07-22 3:57:23 55 days ago 1721620643 0 ETH$0.00 20359531 2024-07-22 3:57:11 55 days ago 1721620631 0 ETH$0.00 20359531 2024-07-22 3:57:11 55 days ago 1721620631 0 ETH$0.00 19791947 2024-05-03 20:22:59 135 days ago 1714767779 0 ETH$0.00 19791939 2024-05-03 20:21:23 135 days ago 1714767683 0 ETH$0.00 19791932 2024-05-03 20:19:59 135 days ago 1714767599 0 ETH$0.00 19474037 2024-03-20 6:09:23 179 days ago 1710914963 0 ETH$0.00 19474037 2024-03-20 6:09:23 179 days ago 1710914963 0 ETH$0.00 19474036 2024-03-20 6:09:11 179 days ago 1710914951 0 ETH$0.00 19474036 2024-03-20 6:09:11 179 days ago 1710914951 0 ETH$0.00 19474035 2024-03-20 6:08:59 179 days ago 1710914939 0 ETH$0.00 19217676 2024-02-13 7:42:11 215 days ago 1707810131 0 ETH$0.00 19217557 2024-02-13 7:18:11 215 days ago 1707808691 0 ETH$0.00 Loading...LoadingContract Name:EthVault
Compiler Versionv0.5.0+commit.1d4f565a
Contract Source Code (Solidity Multiple files format)
pragma solidity ^0.5.0; import "./MultiSigWallet.sol"; contract EthVault is MultiSigWallet{ string public constant chain = "ETH"; bool public isActivated = true; address payable public implementation; address public tetherAddress; uint public depositCount = 0; mapping(bytes32 => bool) public isUsedWithdrawal; mapping(bytes32 => address) public tokenAddr; mapping(address => bytes32) public tokenSummaries; mapping(bytes32 => bool) public isValidChain; constructor(address[] memory _owners, uint _required, address payable _implementation, address _tetherAddress) MultiSigWallet(_owners, _required) public { implementation = _implementation; tetherAddress = _tetherAddress; // klaytn valid chain default setting isValidChain[sha256(abi.encodePacked(address(this), "KLAYTN"))] = true; } function _setImplementation(address payable _newImp) public onlyWallet { require(implementation != _newImp); implementation = _newImp; } function () payable external { address impl = implementation; require(impl != address(0)); assembly { let ptr := mload(0x40) calldatacopy(ptr, 0, calldatasize) let result := delegatecall(gas, impl, ptr, calldatasize, 0, 0) let size := returndatasize returndatacopy(ptr, 0, size) switch result case 0 { revert(ptr, size) } default { return(ptr, size) } } } }
pragma solidity ^0.5.0; import "./SafeMath.sol"; import "./EthVault.sol"; interface IERC20 { function transfer(address to, uint256 value) external returns (bool); function approve(address spender, uint256 value) external returns (bool); function transferFrom(address from, address to, uint256 value) external returns (bool); function totalSupply() external view returns (uint256); function balanceOf(address who) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function decimals() external view returns (uint8); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } contract TIERC20 { function transfer(address to, uint value) public; function transferFrom(address from, address to, uint value) public; function balanceOf(address who) public view returns (uint); function allowance(address owner, address spender) public view returns (uint256); function decimals() external view returns (uint8); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } contract EthVaultImpl is EthVault, SafeMath{ event Deposit(string fromChain, string toChain, address fromAddr, bytes toAddr, address token, uint8 decimal, uint amount, uint depositId, uint block); event Withdraw(address hubContract, string fromChain, string toChain, bytes fromAddr, bytes toAddr, bytes token, bytes32[] bytes32s, uint[] uints); modifier onlyActivated { require(isActivated); _; } constructor(address[] memory _owner) public EthVault(_owner, _owner.length, address(0), address(0)) { } function getVersion() public pure returns(string memory){ return "1028"; } function changeActivate(bool activate) public onlyWallet { isActivated = activate; } function setTetherAddress(address tether) public onlyWallet { tetherAddress = tether; } function getChainId(string memory _chain) public view returns(bytes32){ return sha256(abi.encodePacked(address(this), _chain)); } function setValidChain(string memory _chain, bool valid) public onlyWallet { isValidChain[getChainId(_chain)] = valid; } function deposit(string memory toChain, bytes memory toAddr) payable public onlyActivated { require(isValidChain[getChainId(toChain)]); require(msg.value > 0); depositCount = depositCount + 1; emit Deposit(chain, toChain, msg.sender, toAddr, address(0), 18, msg.value, depositCount, block.number); } function depositToken(address token, string memory toChain, bytes memory toAddr, uint amount) public onlyActivated{ require(isValidChain[getChainId(toChain)]); require(token != address(0)); require(amount > 0); uint8 decimal = 0; if(token == tetherAddress){ TIERC20(token).transferFrom(msg.sender, address(this), amount); decimal = TIERC20(token).decimals(); }else{ if(!IERC20(token).transferFrom(msg.sender, address(this), amount)) revert(); decimal = IERC20(token).decimals(); } require(decimal > 0); depositCount = depositCount + 1; emit Deposit(chain, toChain, msg.sender, toAddr, token, decimal, amount, depositCount, block.number); } // Fix Data Info ///@param bytes32s [0]:govId, [1]:txHash ///@param uints [0]:amount, [1]:decimals function withdraw( address hubContract, string memory fromChain, bytes memory fromAddr, bytes memory toAddr, bytes memory token, bytes32[] memory bytes32s, uint[] memory uints, uint8[] memory v, bytes32[] memory r, bytes32[] memory s ) public onlyActivated { require(bytes32s.length >= 1); require(bytes32s[0] == sha256(abi.encodePacked(hubContract, chain, address(this)))); require(uints.length >= 2); require(isValidChain[getChainId(fromChain)]); bytes32 whash = sha256(abi.encodePacked(hubContract, fromChain, chain, fromAddr, toAddr, token, bytes32s, uints)); require(!isUsedWithdrawal[whash]); isUsedWithdrawal[whash] = true; uint validatorCount = _validate(whash, v, r, s); require(validatorCount >= required); address payable _toAddr = bytesToAddress(toAddr); address tokenAddress = bytesToAddress(token); if(tokenAddress == address(0)){ if(!_toAddr.send(uints[0])) revert(); }else{ if(tokenAddress == tetherAddress){ TIERC20(tokenAddress).transfer(_toAddr, uints[0]); } else{ if(!IERC20(tokenAddress).transfer(_toAddr, uints[0])) revert(); } } emit Withdraw(hubContract, fromChain, chain, fromAddr, toAddr, token, bytes32s, uints); } function _validate(bytes32 whash, uint8[] memory v, bytes32[] memory r, bytes32[] memory s) private view returns(uint){ uint validatorCount = 0; address[] memory vaList = new address[](owners.length); uint i=0; uint j=0; for(i; i<v.length; i++){ address va = ecrecover(whash,v[i],r[i],s[i]); if(isOwner[va]){ for(j=0; j<validatorCount; j++){ require(vaList[j] != va); } vaList[validatorCount] = va; validatorCount += 1; } } return validatorCount; } function bytesToAddress(bytes memory bys) private pure returns (address payable addr) { assembly { addr := mload(add(bys,20)) } } function () payable external{ } }
pragma solidity ^0.5.0; /// @title Multisignature wallet - Allows multiple parties to agree on transactions before execution. /// @author Stefan George - <[email protected]> contract MultiSigWallet { uint constant public MAX_OWNER_COUNT = 50; event Confirmation(address indexed sender, uint indexed transactionId); event Revocation(address indexed sender, uint indexed transactionId); event Submission(uint indexed transactionId); event Execution(uint indexed transactionId); event ExecutionFailure(uint indexed transactionId); event Deposit(address indexed sender, uint value); event OwnerAddition(address indexed owner); event OwnerRemoval(address indexed owner); event RequirementChange(uint required); mapping (uint => Transaction) public transactions; mapping (uint => mapping (address => bool)) public confirmations; mapping (address => bool) public isOwner; address[] public owners; uint public required; uint public transactionCount; struct Transaction { address destination; uint value; bytes data; bool executed; } modifier onlyWallet() { if (msg.sender != address(this)) revert("Unauthorized."); _; } modifier ownerDoesNotExist(address owner) { if (isOwner[owner]) revert("Unauthorized."); _; } modifier ownerExists(address owner) { if (!isOwner[owner]) revert("Unauthorized."); _; } modifier transactionExists(uint transactionId) { if (transactions[transactionId].destination == address(0)) revert("Existed transaction id."); _; } modifier confirmed(uint transactionId, address owner) { if (!confirmations[transactionId][owner]) revert("Not confirmed transaction."); _; } modifier notConfirmed(uint transactionId, address owner) { if (confirmations[transactionId][owner]) revert("Confirmed transaction."); _; } modifier notExecuted(uint transactionId) { if (transactions[transactionId].executed) revert("Executed transaction."); _; } modifier notNull(address _address) { if (_address == address(0)) revert("Address is null"); _; } modifier validRequirement(uint ownerCount, uint _required) { if ( ownerCount > MAX_OWNER_COUNT || _required > ownerCount || _required == 0 || ownerCount == 0) revert("Invalid requirement"); _; } /// @dev Fallback function allows to deposit ether. function() external payable { if (msg.value > 0) emit Deposit(msg.sender, msg.value); } /* * Public functions */ /// @dev Contract constructor sets initial owners and required number of confirmations. /// @param _owners List of initial owners. /// @param _required Number of required confirmations. constructor(address[] memory _owners, uint _required) public validRequirement(_owners.length, _required) { for (uint i=0; i<_owners.length; i++) { if (isOwner[_owners[i]] || _owners[i] == address(0)) revert("Invalid owner"); isOwner[_owners[i]] = true; } owners = _owners; required = _required; } /// @dev Allows to add a new owner. Transaction has to be sent by wallet. /// @param owner Address of new owner. function addOwner(address owner) public onlyWallet ownerDoesNotExist(owner) notNull(owner) validRequirement(owners.length + 1, required) { isOwner[owner] = true; owners.push(owner); emit OwnerAddition(owner); } /// @dev Allows to remove an owner. Transaction has to be sent by wallet. /// @param owner Address of owner. function removeOwner(address owner) public onlyWallet ownerExists(owner) { isOwner[owner] = false; for (uint i=0; i<owners.length - 1; i++) if (owners[i] == owner) { owners[i] = owners[owners.length - 1]; break; } owners.length -= 1; if (required > owners.length) changeRequirement(owners.length); emit OwnerRemoval(owner); } /// @dev Allows to replace an owner with a new owner. Transaction has to be sent by wallet. /// @param owner Address of owner to be replaced. /// @param owner Address of new owner. function replaceOwner(address owner, address newOwner) public onlyWallet ownerExists(owner) ownerDoesNotExist(newOwner) { for (uint i=0; i<owners.length; i++) if (owners[i] == owner) { owners[i] = newOwner; break; } isOwner[owner] = false; isOwner[newOwner] = true; emit OwnerRemoval(owner); emit OwnerAddition(newOwner); } /// @dev Allows to change the number of required confirmations. Transaction has to be sent by wallet. /// @param _required Number of required confirmations. function changeRequirement(uint _required) public onlyWallet validRequirement(owners.length, _required) { required = _required; emit RequirementChange(_required); } /// @dev Allows an owner to submit and confirm a transaction. /// @param destination Transaction target address. /// @param value Transaction ether value. /// @param data Transaction data payload. /// @return Returns transaction ID. function submitTransaction(address destination, uint value, bytes memory data) public returns (uint transactionId) { transactionId = addTransaction(destination, value, data); confirmTransaction(transactionId); } /// @dev Allows an owner to confirm a transaction. /// @param transactionId Transaction ID. function confirmTransaction(uint transactionId) public ownerExists(msg.sender) transactionExists(transactionId) notConfirmed(transactionId, msg.sender) { confirmations[transactionId][msg.sender] = true; emit Confirmation(msg.sender, transactionId); executeTransaction(transactionId); } /// @dev Allows an owner to revoke a confirmation for a transaction. /// @param transactionId Transaction ID. function revokeConfirmation(uint transactionId) public ownerExists(msg.sender) confirmed(transactionId, msg.sender) notExecuted(transactionId) { confirmations[transactionId][msg.sender] = false; emit Revocation(msg.sender, transactionId); } /// @dev Allows anyone to execute a confirmed transaction. /// @param transactionId Transaction ID. function executeTransaction(uint transactionId) public notExecuted(transactionId) { if (isConfirmed(transactionId)) { Transaction storage txn = transactions[transactionId]; txn.executed = true; (bool result, ) = txn.destination.call.value(txn.value)(txn.data); if (result) emit Execution(transactionId); else { emit ExecutionFailure(transactionId); txn.executed = false; } } } /// @dev Returns the confirmation status of a transaction. /// @param transactionId Transaction ID. /// @return Confirmation status. function isConfirmed(uint transactionId) public view returns (bool) { uint count = 0; for (uint i=0; i<owners.length; i++) { if (confirmations[transactionId][owners[i]]) count += 1; if (count == required) return true; } } /* * Internal functions */ /// @dev Adds a new transaction to the transaction mapping, if transaction does not exist yet. /// @param destination Transaction target address. /// @param value Transaction ether value. /// @param data Transaction data payload. /// @return Returns transaction ID. function addTransaction(address destination, uint value, bytes memory data) public notNull(destination) returns (uint transactionId) { transactionId = transactionCount; transactions[transactionId] = Transaction({ destination: destination, value: value, data: data, executed: false }); transactionCount += 1; emit Submission(transactionId); } /* * Web3 call functions */ /// @dev Returns number of confirmations of a transaction. /// @param transactionId Transaction ID. /// @return Number of confirmations. function getConfirmationCount(uint transactionId) public view returns (uint count) { for (uint i=0; i<owners.length; i++) if (confirmations[transactionId][owners[i]]) count += 1; } /// @dev Returns total number of transactions after filers are applied. /// @param pending Include pending transactions. /// @param executed Include executed transactions. /// @return Total number of transactions after filters are applied. function getTransactionCount(bool pending, bool executed) public view returns (uint count) { for (uint i=0; i<transactionCount; i++) if ( pending && !transactions[i].executed || executed && transactions[i].executed) count += 1; } /// @dev Returns list of owners. /// @return List of owner addresses. function getOwners() public view returns (address[] memory) { return owners; } /// @dev Returns array with owner addresses, which confirmed transaction. /// @param transactionId Transaction ID. /// @return Returns array of owner addresses. function getConfirmations(uint transactionId) public view returns (address[] memory _confirmations) { address[] memory confirmationsTemp = new address[](owners.length); uint count = 0; uint i; for (i=0; i<owners.length; i++) if (confirmations[transactionId][owners[i]]) { confirmationsTemp[count] = owners[i]; count += 1; } _confirmations = new address[](count); for (i=0; i<count; i++) _confirmations[i] = confirmationsTemp[i]; } /// @dev Returns list of transaction IDs in defined range. /// @param from Index start position of transaction array. /// @param to Index end position of transaction array. /// @param pending Include pending transactions. /// @param executed Include executed transactions. /// @return Returns array of transaction IDs. function getTransactionIds(uint from, uint to, bool pending, bool executed) public view returns (uint[] memory _transactionIds) { uint[] memory transactionIdsTemp = new uint[](transactionCount); uint count = 0; uint i; for (i=0; i<transactionCount; i++) if ( pending && !transactions[i].executed || executed && transactions[i].executed) { transactionIdsTemp[count] = i; count += 1; } _transactionIds = new uint[](to - from); for (i=from; i<to; i++) _transactionIds[i - from] = transactionIdsTemp[i]; } }
pragma solidity ^0.5.0; contract SafeMath { function safeMul(uint a, uint b) internal pure returns(uint) { uint c = a * b; assertion(a == 0 || c / a == b); return c; } function safeSub(uint a, uint b) internal pure returns(uint) { assertion(b <= a); return a - b; } function safeAdd(uint a, uint b) internal pure returns(uint) { uint c = a + b; assertion(c >= a && c >= b); return c; } function safeDiv(uint a, uint b) internal pure returns(uint) { require(b != 0, 'Divide by zero'); return a / b; } function safeCeil(uint a, uint b) internal pure returns (uint) { require(b > 0); uint v = a / b; if(v * b == a) return v; return v + 1; // b cannot be 1, so v <= a / 2 } function assertion(bool flag) internal pure { if (!flag) revert('Assertion fail.'); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"owners","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"}],"name":"removeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"revokeConfirmation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"depositCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"address"}],"name":"confirmations","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tetherAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isActivated","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"pending","type":"bool"},{"name":"executed","type":"bool"}],"name":"getTransactionCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"implementation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"tokenAddr","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"}],"name":"addOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"isConfirmed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"getConfirmationCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"transactions","outputs":[{"name":"destination","type":"address"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"},{"name":"executed","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"isUsedWithdrawal","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getOwners","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"from","type":"uint256"},{"name":"to","type":"uint256"},{"name":"pending","type":"bool"},{"name":"executed","type":"bool"}],"name":"getTransactionIds","outputs":[{"name":"_transactionIds","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"getConfirmations","outputs":[{"name":"_confirmations","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"transactionCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_required","type":"uint256"}],"name":"changeRequirement","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newImp","type":"address"}],"name":"_setImplementation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"confirmTransaction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"destination","type":"address"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"}],"name":"submitTransaction","outputs":[{"name":"transactionId","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"chain","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_OWNER_COUNT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"required","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"tokenSummaries","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"},{"name":"newOwner","type":"address"}],"name":"replaceOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"destination","type":"address"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"}],"name":"addTransaction","outputs":[{"name":"transactionId","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"executeTransaction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"isValidChain","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_owners","type":"address[]"},{"name":"_required","type":"uint256"},{"name":"_implementation","type":"address"},{"name":"_tetherAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":true,"name":"transactionId","type":"uint256"}],"name":"Confirmation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":true,"name":"transactionId","type":"uint256"}],"name":"Revocation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"transactionId","type":"uint256"}],"name":"Submission","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"transactionId","type":"uint256"}],"name":"Execution","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"transactionId","type":"uint256"}],"name":"ExecutionFailure","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"}],"name":"OwnerAddition","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"}],"name":"OwnerRemoval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"required","type":"uint256"}],"name":"RequirementChange","type":"event"}]
Contract Creation Code
60806040526006805460ff1916600117905560006008553480156200002357600080fd5b50604051620023b2380380620023b2833981018060405260808110156200004957600080fd5b8101908080516401000000008111156200006257600080fd5b820160208101848111156200007657600080fd5b81518560208202830111640100000000821117156200009457600080fd5b50506020820151604083015160609093015182519295509093509084908490816032821180620000c357508181115b80620000cd575080155b80620000d7575081155b156200014457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f496e76616c696420726571756972656d656e7400000000000000000000000000604482015290519081900360640190fd5b60005b845181101562000275576002600086838151811015156200016457fe5b6020908102909101810151600160a060020a031682528101919091526040016000205460ff1680620001b857508451600090869083908110620001a357fe5b90602001906020020151600160a060020a0316145b156200022557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f496e76616c6964206f776e657200000000000000000000000000000000000000604482015290519081900360640190fd5b60016002600087848151811015156200023a57fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff191691151591909117905560010162000147565b5083516200028b906003906020870190620003e4565b505050600455506006805461010060a860020a031916610100600160a060020a03858116919091029190911790915560078054600160a060020a03191691831691909117905560408051306c01000000000000000000000000026020808301919091527f4b4c4159544e000000000000000000000000000000000000000000000000000060348301528251808303601a018152603a909201928390528151600193600c9360009360029391929182918401908083835b60208310620003625780518252601f19909201916020918201910162000341565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015620003a2573d6000803e3d6000fd5b5050506040513d6020811015620003b857600080fd5b505181526020810191909152604001600020805460ff1916911515919091179055506200047892505050565b8280548282559060005260206000209081019282156200043c579160200282015b828111156200043c5782518254600160a060020a031916600160a060020a0390911617825560209092019160019091019062000405565b506200044a9291506200044e565b5090565b6200047591905b808211156200044a578054600160a060020a031916815560010162000455565b90565b611f2a80620004886000396000f3fe6080604052600436106101955763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025e7c2781146101d7578063173825d91461021d57806320ea8d86146102525780632dfdf0b51461027c5780632f54bf6e146102a35780633411c81c146102ea5780633a8105ec146103235780634a8c1fb414610338578063547415251461034d5780635c60da1b146103815780635ed7a8fc146103965780637065cb48146103c0578063784547a7146103f35780638b51d13f1461041d5780639ace38c2146104475780639d188c1614610514578063a0e67e2b1461053e578063a8abe69a146105a3578063b5dc40c3146105e3578063b77bf6001461060d578063ba51a6df14610622578063bb913f411461064c578063c01a8c841461067f578063c6427474146106a9578063c763e5a114610771578063d74f8edd146107fb578063dc8452cd14610810578063e1d703a114610825578063e20056e614610858578063ec096f8d14610893578063ee22610b1461095b578063f01b246714610985575b6006546101009004600160a060020a03168015156101b257600080fd5b60405136600082376000803683855af43d806000843e8180156101d3578184f35b8184fd5b3480156101e357600080fd5b50610201600480360360208110156101fa57600080fd5b50356109af565b60408051600160a060020a039092168252519081900360200190f35b34801561022957600080fd5b506102506004803603602081101561024057600080fd5b5035600160a060020a03166109d7565b005b34801561025e57600080fd5b506102506004803603602081101561027557600080fd5b5035610bb9565b34801561028857600080fd5b50610291610d42565b60408051918252519081900360200190f35b3480156102af57600080fd5b506102d6600480360360208110156102c657600080fd5b5035600160a060020a0316610d48565b604080519115158252519081900360200190f35b3480156102f657600080fd5b506102d66004803603604081101561030d57600080fd5b5080359060200135600160a060020a0316610d5d565b34801561032f57600080fd5b50610201610d7d565b34801561034457600080fd5b506102d6610d8c565b34801561035957600080fd5b506102916004803603604081101561037057600080fd5b508035151590602001351515610d95565b34801561038d57600080fd5b50610201610e01565b3480156103a257600080fd5b50610201600480360360208110156103b957600080fd5b5035610e15565b3480156103cc57600080fd5b50610250600480360360208110156103e357600080fd5b5035600160a060020a0316610e30565b3480156103ff57600080fd5b506102d66004803603602081101561041657600080fd5b5035611055565b34801561042957600080fd5b506102916004803603602081101561044057600080fd5b50356110dc565b34801561045357600080fd5b506104716004803603602081101561046a57600080fd5b503561114b565b6040518085600160a060020a0316600160a060020a031681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b838110156104d65781810151838201526020016104be565b50505050905090810190601f1680156105035780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561052057600080fd5b506102d66004803603602081101561053757600080fd5b5035611209565b34801561054a57600080fd5b5061055361121e565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561058f578181015183820152602001610577565b505050509050019250505060405180910390f35b3480156105af57600080fd5b50610553600480360360808110156105c657600080fd5b508035906020810135906040810135151590606001351515611281565b3480156105ef57600080fd5b506105536004803603602081101561060657600080fd5b50356113b2565b34801561061957600080fd5b50610291611523565b34801561062e57600080fd5b506102506004803603602081101561064557600080fd5b5035611529565b34801561065857600080fd5b506102506004803603602081101561066f57600080fd5b5035600160a060020a0316611624565b34801561068b57600080fd5b50610250600480360360208110156106a257600080fd5b50356116be565b3480156106b557600080fd5b50610291600480360360608110156106cc57600080fd5b600160a060020a03823516916020810135918101906060810160408201356401000000008111156106fc57600080fd5b82018360208201111561070e57600080fd5b8035906020019184600183028401116401000000008311171561073057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611858945050505050565b34801561077d57600080fd5b50610786611877565b6040805160208082528351818301528351919283929083019185019080838360005b838110156107c05781810151838201526020016107a8565b50505050905090810190601f1680156107ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561080757600080fd5b506102916118ae565b34801561081c57600080fd5b506102916118b3565b34801561083157600080fd5b506102916004803603602081101561084857600080fd5b5035600160a060020a03166118b9565b34801561086457600080fd5b506102506004803603604081101561087b57600080fd5b50600160a060020a03813581169160200135166118cb565b34801561089f57600080fd5b50610291600480360360608110156108b657600080fd5b600160a060020a03823516916020810135918101906060810160408201356401000000008111156108e657600080fd5b8201836020820111156108f857600080fd5b8035906020019184600183028401116401000000008311171561091a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611af9945050505050565b34801561096757600080fd5b506102506004803603602081101561097e57600080fd5b5035611c34565b34801561099157600080fd5b506102d6600480360360208110156109a857600080fd5b5035611e08565b60038054829081106109bd57fe5b600091825260209091200154600160a060020a0316905081565b333014610a1c576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611edf833981519152604482015290519081900360640190fd5b600160a060020a038116600090815260026020526040902054819060ff161515610a7e576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611edf833981519152604482015290519081900360640190fd5b600160a060020a0382166000908152600260205260408120805460ff191690555b60035460001901811015610b545782600160a060020a0316600382815481101515610ac657fe5b600091825260209091200154600160a060020a03161415610b4c57600380546000198101908110610af357fe5b60009182526020909120015460038054600160a060020a039092169183908110610b1957fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a03160217905550610b54565b600101610a9f565b50600380546000190190610b689082611e1d565b506003546004541115610b8157600354610b8190611529565b604051600160a060020a038316907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9090600090a25050565b3360008181526002602052604090205460ff161515610c10576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611edf833981519152604482015290519081900360640190fd5b60008281526001602090815260408083203380855292529091205483919060ff161515610c87576040805160e560020a62461bcd02815260206004820152601a60248201527f4e6f7420636f6e6669726d6564207472616e73616374696f6e2e000000000000604482015290519081900360640190fd5b600084815260208190526040902060030154849060ff1615610cf3576040805160e560020a62461bcd02815260206004820152601560248201527f4578656375746564207472616e73616374696f6e2e0000000000000000000000604482015290519081900360640190fd5b6000858152600160209081526040808320338085529252808320805460ff191690555187927ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e991a35050505050565b60085481565b60026020526000908152604090205460ff1681565b600160209081526000928352604080842090915290825290205460ff1681565b600754600160a060020a031681565b60065460ff1681565b6000805b600554811015610dfa57838015610dc2575060008181526020819052604090206003015460ff16155b80610de65750828015610de6575060008181526020819052604090206003015460ff165b15610df2576001820191505b600101610d99565b5092915050565b6006546101009004600160a060020a031681565b600a60205260009081526040902054600160a060020a031681565b333014610e75576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611edf833981519152604482015290519081900360640190fd5b600160a060020a038116600090815260026020526040902054819060ff1615610ed6576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611edf833981519152604482015290519081900360640190fd5b81600160a060020a0381161515610f37576040805160e560020a62461bcd02815260206004820152600f60248201527f41646472657373206973206e756c6c0000000000000000000000000000000000604482015290519081900360640190fd5b6003805490506001016004546032821180610f5157508181115b80610f5a575080155b80610f63575081155b15610fb8576040805160e560020a62461bcd02815260206004820152601360248201527f496e76616c696420726571756972656d656e7400000000000000000000000000604482015290519081900360640190fd5b600160a060020a038516600081815260026020526040808220805460ff1916600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01805473ffffffffffffffffffffffffffffffffffffffff191684179055517ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d9190a25050505050565b600080805b6003548110156110d4576000848152600160205260408120600380549192918490811061108357fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff16156110b7576001820191505b6004548214156110cc576001925050506110d7565b60010161105a565b50505b919050565b6000805b600354811015611145576000838152600160205260408120600380549192918490811061110957fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff161561113d576001820191505b6001016110e0565b50919050565b6000602081815291815260409081902080546001808301546002808501805487516101009582161595909502600019011691909104601f8101889004880284018801909652858352600160a060020a03909316959094919291908301828280156111f65780601f106111cb576101008083540402835291602001916111f6565b820191906000526020600020905b8154815290600101906020018083116111d957829003601f168201915b5050506003909301549192505060ff1684565b60096020526000908152604090205460ff1681565b6060600380548060200260200160405190810160405280929190818152602001828054801561127657602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311611258575b505050505090505b90565b6060806005546040519080825280602002602001820160405280156112b0578160200160208202803883390190505b5090506000805b600554811015611332578580156112e0575060008181526020819052604090206003015460ff16155b806113045750848015611304575060008181526020819052604090206003015460ff165b1561132a5780838381518110151561131857fe5b60209081029091010152600191909101905b6001016112b7565b87870360405190808252806020026020018201604052801561135e578160200160208202803883390190505b5093508790505b868110156113a757828181518110151561137b57fe5b906020019060200201518489830381518110151561139557fe5b60209081029091010152600101611365565b505050949350505050565b6060806003805490506040519080825280602002602001820160405280156113e4578160200160208202803883390190505b5090506000805b60035481101561149c576000858152600160205260408120600380549192918490811061141457fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff161561149457600380548290811061144f57fe5b6000918252602090912001548351600160a060020a039091169084908490811061147557fe5b600160a060020a03909216602092830290910190910152600191909101905b6001016113eb565b816040519080825280602002602001820160405280156114c6578160200160208202803883390190505b509350600090505b8181101561151b5782818151811015156114e457fe5b9060200190602002015184828151811015156114fc57fe5b600160a060020a039092166020928302909101909101526001016114ce565b505050919050565b60055481565b33301461156e576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611edf833981519152604482015290519081900360640190fd5b60035481603282118061158057508181115b80611589575080155b80611592575081155b156115e7576040805160e560020a62461bcd02815260206004820152601360248201527f496e76616c696420726571756972656d656e7400000000000000000000000000604482015290519081900360640190fd5b60048390556040805184815290517fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a9181900360200190a1505050565b333014611669576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611edf833981519152604482015290519081900360640190fd5b600654600160a060020a0382811661010090920416141561168957600080fd5b60068054600160a060020a039092166101000274ffffffffffffffffffffffffffffffffffffffff0019909216919091179055565b3360008181526002602052604090205460ff161515611715576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611edf833981519152604482015290519081900360640190fd5b6000828152602081905260409020548290600160a060020a03161515611785576040805160e560020a62461bcd02815260206004820152601760248201527f45786973746564207472616e73616374696f6e2069642e000000000000000000604482015290519081900360640190fd5b60008381526001602090815260408083203380855292529091205484919060ff16156117fb576040805160e560020a62461bcd02815260206004820152601660248201527f436f6e6669726d6564207472616e73616374696f6e2e00000000000000000000604482015290519081900360640190fd5b6000858152600160208181526040808420338086529252808420805460ff1916909317909255905187927f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef91a361185185611c34565b5050505050565b6000611865848484611af9565b9050611870816116be565b9392505050565b60408051808201909152600381527f4554480000000000000000000000000000000000000000000000000000000000602082015281565b603281565b60045481565b600b6020526000908152604090205481565b333014611910576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611edf833981519152604482015290519081900360640190fd5b600160a060020a038216600090815260026020526040902054829060ff161515611972576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611edf833981519152604482015290519081900360640190fd5b600160a060020a038216600090815260026020526040902054829060ff16156119d3576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611edf833981519152604482015290519081900360640190fd5b60005b600354811015611a5f5784600160a060020a03166003828154811015156119f957fe5b600091825260209091200154600160a060020a03161415611a575783600382815481101515611a2457fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a03160217905550611a5f565b6001016119d6565b50600160a060020a03808516600081815260026020526040808220805460ff1990811690915593871682528082208054909416600117909355915190917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9091a2604051600160a060020a038416907ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d90600090a250505050565b600083600160a060020a0381161515611b5c576040805160e560020a62461bcd02815260206004820152600f60248201527f41646472657373206973206e756c6c0000000000000000000000000000000000604482015290519081900360640190fd5b60055460408051608081018252600160a060020a0388811682526020808301898152838501898152600060608601819052878152808452959095208451815473ffffffffffffffffffffffffffffffffffffffff191694169390931783555160018301559251805194965091939092611bdc926002850192910190611e46565b50606091909101516003909101805460ff191691151591909117905560058054600101905560405182907fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5190600090a2509392505050565b600081815260208190526040902060030154819060ff1615611ca0576040805160e560020a62461bcd02815260206004820152601560248201527f4578656375746564207472616e73616374696f6e2e0000000000000000000000604482015290519081900360640190fd5b611ca982611055565b15611e045760008281526020819052604080822060038101805460ff19166001908117909155815481830154935160028085018054959796600160a060020a03909416959394909383928592600019908316156101000201909116048015611d485780601f10611d26576101008083540402835291820191611d48565b820191906000526020600020905b815481529060010190602001808311611d34575b505091505060006040518083038185875af1925050503d8060008114611d8a576040519150601f19603f3d011682016040523d82523d6000602084013e611d8f565b606091505b505090508015611dc95760405184907f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7590600090a2611e01565b60405184907f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923690600090a260038201805460ff191690555b50505b5050565b600c6020526000908152604090205460ff1681565b815481835581811115611e4157600083815260209020611e41918101908301611ec4565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611e8757805160ff1916838001178555611eb4565b82800160010185558215611eb4579182015b82811115611eb4578251825591602001919060010190611e99565b50611ec0929150611ec4565b5090565b61127e91905b80821115611ec05760008155600101611eca56fe556e617574686f72697a65642e00000000000000000000000000000000000000a165627a7a72305820620a304d1f4c0cf3ced6c4561eded58216eafb3de08d3b63fc721313a44776de0029000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000040000000000000000000000004ff16c8ee6f5fed268cf764689451bf67795fbe8000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000060000000000000000000000008a3f117ef3b40f1661dedf7f28fc33e7b6fae4f800000000000000000000000067c3c784c49d9ab8757adb71491df1a1b38fbfa800000000000000000000000034ebf4f74a881eb63f666e63ce1ff2f287ca5a8b00000000000000000000000031df9d7ee1a61b362277022eae46435782d66cff0000000000000000000000003924ac70075078a7713f543b72e3f8817ecec646000000000000000000000000d1176f2f576c102f6516d386de53ec7a72cc1491Deployed Bytecode
0x6080604052600436106101955763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025e7c2781146101d7578063173825d91461021d57806320ea8d86146102525780632dfdf0b51461027c5780632f54bf6e146102a35780633411c81c146102ea5780633a8105ec146103235780634a8c1fb414610338578063547415251461034d5780635c60da1b146103815780635ed7a8fc146103965780637065cb48146103c0578063784547a7146103f35780638b51d13f1461041d5780639ace38c2146104475780639d188c1614610514578063a0e67e2b1461053e578063a8abe69a146105a3578063b5dc40c3146105e3578063b77bf6001461060d578063ba51a6df14610622578063bb913f411461064c578063c01a8c841461067f578063c6427474146106a9578063c763e5a114610771578063d74f8edd146107fb578063dc8452cd14610810578063e1d703a114610825578063e20056e614610858578063ec096f8d14610893578063ee22610b1461095b578063f01b246714610985575b6006546101009004600160a060020a03168015156101b257600080fd5b60405136600082376000803683855af43d806000843e8180156101d3578184f35b8184fd5b3480156101e357600080fd5b50610201600480360360208110156101fa57600080fd5b50356109af565b60408051600160a060020a039092168252519081900360200190f35b34801561022957600080fd5b506102506004803603602081101561024057600080fd5b5035600160a060020a03166109d7565b005b34801561025e57600080fd5b506102506004803603602081101561027557600080fd5b5035610bb9565b34801561028857600080fd5b50610291610d42565b60408051918252519081900360200190f35b3480156102af57600080fd5b506102d6600480360360208110156102c657600080fd5b5035600160a060020a0316610d48565b604080519115158252519081900360200190f35b3480156102f657600080fd5b506102d66004803603604081101561030d57600080fd5b5080359060200135600160a060020a0316610d5d565b34801561032f57600080fd5b50610201610d7d565b34801561034457600080fd5b506102d6610d8c565b34801561035957600080fd5b506102916004803603604081101561037057600080fd5b508035151590602001351515610d95565b34801561038d57600080fd5b50610201610e01565b3480156103a257600080fd5b50610201600480360360208110156103b957600080fd5b5035610e15565b3480156103cc57600080fd5b50610250600480360360208110156103e357600080fd5b5035600160a060020a0316610e30565b3480156103ff57600080fd5b506102d66004803603602081101561041657600080fd5b5035611055565b34801561042957600080fd5b506102916004803603602081101561044057600080fd5b50356110dc565b34801561045357600080fd5b506104716004803603602081101561046a57600080fd5b503561114b565b6040518085600160a060020a0316600160a060020a031681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b838110156104d65781810151838201526020016104be565b50505050905090810190601f1680156105035780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561052057600080fd5b506102d66004803603602081101561053757600080fd5b5035611209565b34801561054a57600080fd5b5061055361121e565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561058f578181015183820152602001610577565b505050509050019250505060405180910390f35b3480156105af57600080fd5b50610553600480360360808110156105c657600080fd5b508035906020810135906040810135151590606001351515611281565b3480156105ef57600080fd5b506105536004803603602081101561060657600080fd5b50356113b2565b34801561061957600080fd5b50610291611523565b34801561062e57600080fd5b506102506004803603602081101561064557600080fd5b5035611529565b34801561065857600080fd5b506102506004803603602081101561066f57600080fd5b5035600160a060020a0316611624565b34801561068b57600080fd5b50610250600480360360208110156106a257600080fd5b50356116be565b3480156106b557600080fd5b50610291600480360360608110156106cc57600080fd5b600160a060020a03823516916020810135918101906060810160408201356401000000008111156106fc57600080fd5b82018360208201111561070e57600080fd5b8035906020019184600183028401116401000000008311171561073057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611858945050505050565b34801561077d57600080fd5b50610786611877565b6040805160208082528351818301528351919283929083019185019080838360005b838110156107c05781810151838201526020016107a8565b50505050905090810190601f1680156107ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561080757600080fd5b506102916118ae565b34801561081c57600080fd5b506102916118b3565b34801561083157600080fd5b506102916004803603602081101561084857600080fd5b5035600160a060020a03166118b9565b34801561086457600080fd5b506102506004803603604081101561087b57600080fd5b50600160a060020a03813581169160200135166118cb565b34801561089f57600080fd5b50610291600480360360608110156108b657600080fd5b600160a060020a03823516916020810135918101906060810160408201356401000000008111156108e657600080fd5b8201836020820111156108f857600080fd5b8035906020019184600183028401116401000000008311171561091a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611af9945050505050565b34801561096757600080fd5b506102506004803603602081101561097e57600080fd5b5035611c34565b34801561099157600080fd5b506102d6600480360360208110156109a857600080fd5b5035611e08565b60038054829081106109bd57fe5b600091825260209091200154600160a060020a0316905081565b333014610a1c576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611edf833981519152604482015290519081900360640190fd5b600160a060020a038116600090815260026020526040902054819060ff161515610a7e576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611edf833981519152604482015290519081900360640190fd5b600160a060020a0382166000908152600260205260408120805460ff191690555b60035460001901811015610b545782600160a060020a0316600382815481101515610ac657fe5b600091825260209091200154600160a060020a03161415610b4c57600380546000198101908110610af357fe5b60009182526020909120015460038054600160a060020a039092169183908110610b1957fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a03160217905550610b54565b600101610a9f565b50600380546000190190610b689082611e1d565b506003546004541115610b8157600354610b8190611529565b604051600160a060020a038316907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9090600090a25050565b3360008181526002602052604090205460ff161515610c10576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611edf833981519152604482015290519081900360640190fd5b60008281526001602090815260408083203380855292529091205483919060ff161515610c87576040805160e560020a62461bcd02815260206004820152601a60248201527f4e6f7420636f6e6669726d6564207472616e73616374696f6e2e000000000000604482015290519081900360640190fd5b600084815260208190526040902060030154849060ff1615610cf3576040805160e560020a62461bcd02815260206004820152601560248201527f4578656375746564207472616e73616374696f6e2e0000000000000000000000604482015290519081900360640190fd5b6000858152600160209081526040808320338085529252808320805460ff191690555187927ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e991a35050505050565b60085481565b60026020526000908152604090205460ff1681565b600160209081526000928352604080842090915290825290205460ff1681565b600754600160a060020a031681565b60065460ff1681565b6000805b600554811015610dfa57838015610dc2575060008181526020819052604090206003015460ff16155b80610de65750828015610de6575060008181526020819052604090206003015460ff165b15610df2576001820191505b600101610d99565b5092915050565b6006546101009004600160a060020a031681565b600a60205260009081526040902054600160a060020a031681565b333014610e75576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611edf833981519152604482015290519081900360640190fd5b600160a060020a038116600090815260026020526040902054819060ff1615610ed6576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611edf833981519152604482015290519081900360640190fd5b81600160a060020a0381161515610f37576040805160e560020a62461bcd02815260206004820152600f60248201527f41646472657373206973206e756c6c0000000000000000000000000000000000604482015290519081900360640190fd5b6003805490506001016004546032821180610f5157508181115b80610f5a575080155b80610f63575081155b15610fb8576040805160e560020a62461bcd02815260206004820152601360248201527f496e76616c696420726571756972656d656e7400000000000000000000000000604482015290519081900360640190fd5b600160a060020a038516600081815260026020526040808220805460ff1916600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01805473ffffffffffffffffffffffffffffffffffffffff191684179055517ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d9190a25050505050565b600080805b6003548110156110d4576000848152600160205260408120600380549192918490811061108357fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff16156110b7576001820191505b6004548214156110cc576001925050506110d7565b60010161105a565b50505b919050565b6000805b600354811015611145576000838152600160205260408120600380549192918490811061110957fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff161561113d576001820191505b6001016110e0565b50919050565b6000602081815291815260409081902080546001808301546002808501805487516101009582161595909502600019011691909104601f8101889004880284018801909652858352600160a060020a03909316959094919291908301828280156111f65780601f106111cb576101008083540402835291602001916111f6565b820191906000526020600020905b8154815290600101906020018083116111d957829003601f168201915b5050506003909301549192505060ff1684565b60096020526000908152604090205460ff1681565b6060600380548060200260200160405190810160405280929190818152602001828054801561127657602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311611258575b505050505090505b90565b6060806005546040519080825280602002602001820160405280156112b0578160200160208202803883390190505b5090506000805b600554811015611332578580156112e0575060008181526020819052604090206003015460ff16155b806113045750848015611304575060008181526020819052604090206003015460ff165b1561132a5780838381518110151561131857fe5b60209081029091010152600191909101905b6001016112b7565b87870360405190808252806020026020018201604052801561135e578160200160208202803883390190505b5093508790505b868110156113a757828181518110151561137b57fe5b906020019060200201518489830381518110151561139557fe5b60209081029091010152600101611365565b505050949350505050565b6060806003805490506040519080825280602002602001820160405280156113e4578160200160208202803883390190505b5090506000805b60035481101561149c576000858152600160205260408120600380549192918490811061141457fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff161561149457600380548290811061144f57fe5b6000918252602090912001548351600160a060020a039091169084908490811061147557fe5b600160a060020a03909216602092830290910190910152600191909101905b6001016113eb565b816040519080825280602002602001820160405280156114c6578160200160208202803883390190505b509350600090505b8181101561151b5782818151811015156114e457fe5b9060200190602002015184828151811015156114fc57fe5b600160a060020a039092166020928302909101909101526001016114ce565b505050919050565b60055481565b33301461156e576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611edf833981519152604482015290519081900360640190fd5b60035481603282118061158057508181115b80611589575080155b80611592575081155b156115e7576040805160e560020a62461bcd02815260206004820152601360248201527f496e76616c696420726571756972656d656e7400000000000000000000000000604482015290519081900360640190fd5b60048390556040805184815290517fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a9181900360200190a1505050565b333014611669576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611edf833981519152604482015290519081900360640190fd5b600654600160a060020a0382811661010090920416141561168957600080fd5b60068054600160a060020a039092166101000274ffffffffffffffffffffffffffffffffffffffff0019909216919091179055565b3360008181526002602052604090205460ff161515611715576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611edf833981519152604482015290519081900360640190fd5b6000828152602081905260409020548290600160a060020a03161515611785576040805160e560020a62461bcd02815260206004820152601760248201527f45786973746564207472616e73616374696f6e2069642e000000000000000000604482015290519081900360640190fd5b60008381526001602090815260408083203380855292529091205484919060ff16156117fb576040805160e560020a62461bcd02815260206004820152601660248201527f436f6e6669726d6564207472616e73616374696f6e2e00000000000000000000604482015290519081900360640190fd5b6000858152600160208181526040808420338086529252808420805460ff1916909317909255905187927f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef91a361185185611c34565b5050505050565b6000611865848484611af9565b9050611870816116be565b9392505050565b60408051808201909152600381527f4554480000000000000000000000000000000000000000000000000000000000602082015281565b603281565b60045481565b600b6020526000908152604090205481565b333014611910576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611edf833981519152604482015290519081900360640190fd5b600160a060020a038216600090815260026020526040902054829060ff161515611972576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611edf833981519152604482015290519081900360640190fd5b600160a060020a038216600090815260026020526040902054829060ff16156119d3576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611edf833981519152604482015290519081900360640190fd5b60005b600354811015611a5f5784600160a060020a03166003828154811015156119f957fe5b600091825260209091200154600160a060020a03161415611a575783600382815481101515611a2457fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a03160217905550611a5f565b6001016119d6565b50600160a060020a03808516600081815260026020526040808220805460ff1990811690915593871682528082208054909416600117909355915190917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9091a2604051600160a060020a038416907ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d90600090a250505050565b600083600160a060020a0381161515611b5c576040805160e560020a62461bcd02815260206004820152600f60248201527f41646472657373206973206e756c6c0000000000000000000000000000000000604482015290519081900360640190fd5b60055460408051608081018252600160a060020a0388811682526020808301898152838501898152600060608601819052878152808452959095208451815473ffffffffffffffffffffffffffffffffffffffff191694169390931783555160018301559251805194965091939092611bdc926002850192910190611e46565b50606091909101516003909101805460ff191691151591909117905560058054600101905560405182907fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5190600090a2509392505050565b600081815260208190526040902060030154819060ff1615611ca0576040805160e560020a62461bcd02815260206004820152601560248201527f4578656375746564207472616e73616374696f6e2e0000000000000000000000604482015290519081900360640190fd5b611ca982611055565b15611e045760008281526020819052604080822060038101805460ff19166001908117909155815481830154935160028085018054959796600160a060020a03909416959394909383928592600019908316156101000201909116048015611d485780601f10611d26576101008083540402835291820191611d48565b820191906000526020600020905b815481529060010190602001808311611d34575b505091505060006040518083038185875af1925050503d8060008114611d8a576040519150601f19603f3d011682016040523d82523d6000602084013e611d8f565b606091505b505090508015611dc95760405184907f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7590600090a2611e01565b60405184907f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923690600090a260038201805460ff191690555b50505b5050565b600c6020526000908152604090205460ff1681565b815481835581811115611e4157600083815260209020611e41918101908301611ec4565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611e8757805160ff1916838001178555611eb4565b82800160010185558215611eb4579182015b82811115611eb4578251825591602001919060010190611e99565b50611ec0929150611ec4565b5090565b61127e91905b80821115611ec05760008155600101611eca56fe556e617574686f72697a65642e00000000000000000000000000000000000000a165627a7a72305820620a304d1f4c0cf3ced6c4561eded58216eafb3de08d3b63fc721313a44776de0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000040000000000000000000000004ff16c8ee6f5fed268cf764689451bf67795fbe8000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000060000000000000000000000008a3f117ef3b40f1661dedf7f28fc33e7b6fae4f800000000000000000000000067c3c784c49d9ab8757adb71491df1a1b38fbfa800000000000000000000000034ebf4f74a881eb63f666e63ce1ff2f287ca5a8b00000000000000000000000031df9d7ee1a61b362277022eae46435782d66cff0000000000000000000000003924ac70075078a7713f543b72e3f8817ecec646000000000000000000000000d1176f2f576c102f6516d386de53ec7a72cc1491
-----Decoded View---------------
Arg [0] : _owners (address[]): 0x8a3F117Ef3b40f1661Dedf7f28fC33E7b6fae4F8,0x67C3c784C49d9ab8757ADb71491df1A1B38FbFA8,0x34EBf4f74a881eB63F666E63ce1Ff2F287CA5a8b,0x31df9D7ee1A61b362277022eAe46435782D66Cff,0x3924Ac70075078A7713f543b72e3F8817ecEc646,0xd1176F2f576C102F6516D386De53ec7a72Cc1491
Arg [1] : _required (uint256): 4
Arg [2] : _implementation (address): 0x4Ff16C8eE6f5FEd268cf764689451bf67795fbe8
Arg [3] : _tetherAddress (address): 0xdAC17F958D2ee523a2206206994597C13D831ec7
-----Encoded View---------------
11 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [2] : 0000000000000000000000004ff16c8ee6f5fed268cf764689451bf67795fbe8
Arg [3] : 000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [5] : 0000000000000000000000008a3f117ef3b40f1661dedf7f28fc33e7b6fae4f8
Arg [6] : 00000000000000000000000067c3c784c49d9ab8757adb71491df1a1b38fbfa8
Arg [7] : 00000000000000000000000034ebf4f74a881eb63f666e63ce1ff2f287ca5a8b
Arg [8] : 00000000000000000000000031df9d7ee1a61b362277022eae46435782d66cff
Arg [9] : 0000000000000000000000003924ac70075078a7713f543b72e3f8817ecec646
Arg [10] : 000000000000000000000000d1176f2f576c102f6516d386de53ec7a72cc1491Deployed Bytecode Sourcemap
57:1474:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1095:14;;;;;-1:-1:-1;;;;;1095:14:1;1127:18;;;1119:27;;;;;;1196:4;1190:11;1235:12;1232:1;1227:3;1214:34;1321:1;1318;1304:12;1299:3;1293:4;1288:3;1275:48;1348:14;1398:4;1395:1;1390:3;1375:28;1424:6;1443:28;;;;1506:4;1501:3;1494:17;1443:28;1464:4;1459:3;1452:17;935:23:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;935:23:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;935:23:2;;;;;;;-1:-1:-1;;;;;935:23:2;;;;;;;;;;;;;;3987:465;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3987:465:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3987:465:2;-1:-1:-1;;;;;3987:465:2;;;;;6582:296;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6582:296:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6582:296:2;;;256:28:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;256:28:1;;;;;;;;;;;;;;;;;;;;889:40:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;889:40:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;889:40:2;-1:-1:-1;;;;;889:40:2;;;;;;;;;;;;;;;;;;;;;819:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;819:64:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;819:64:2;;;;;;-1:-1:-1;;;;;819:64:2;;;221:28:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;221:28:1;;;;141:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;141:30:1;;;;9513:315:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9513:315:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9513:315:2;;;;;;;;;;;;178:37:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;178:37:1;;;;346:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;346:44:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;346:44:1;;;3582:282:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3582:282:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3582:282:2;-1:-1:-1;;;;;3582:282:2;;;7679:333;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7679:333:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7679:333:2;;;9003:248;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9003:248:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9003:248:2;;;764:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;764:49:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;764:49:2;;;;;;;;-1:-1:-1;;;;;764:49:2;-1:-1:-1;;;;;764:49:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;764:49:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:48:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;291:48:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;291:48:1;;;9912:118:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9912:118:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;9912:118:2;;;;;;;;;;;;;;;;;11136:679;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11136:679:2;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;11136:679:2;;;;;;;;;;;;;;;;;;;;;;10209:578;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10209:578:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10209:578:2;;;990:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;990:28:2;;;;5281:212;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5281:212:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5281:212:2;;;878:157:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;878:157:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;878:157:1;-1:-1:-1;;;;;878:157:1;;;6109:349:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6109:349:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6109:349:2;;;5752:251;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5752:251:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;5752:251:2;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;5752:251:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5752:251:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5752:251:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;5752:251:2;;-1:-1:-1;5752:251:2;;-1:-1:-1;;;;;5752:251:2;98:36:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;98:36:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;98:36:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;216:41:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;216:41:2;;;;964:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;964:20:2;;;;396:49:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;396:49:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;396:49:1;-1:-1:-1;;;;;396:49:1;;;4651:459:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4651:459:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4651:459:2;;;;;;;;;;;8345:461;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8345:461:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;8345:461:2;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;8345:461:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8345:461:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8345:461:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8345:461:2;;-1:-1:-1;8345:461:2;;-1:-1:-1;;;;;8345:461:2;6992:536;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6992:536:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6992:536:2;;;452:44:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;452:44:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;452:44:1;;;935:23:2;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;935:23:2;;-1:-1:-1;935:23:2;:::o;3987:465::-;1185:10;1207:4;1185:27;1181:68;;1226:23;;;-1:-1:-1;;;;;1226:23:2;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1226:23:2;;;;;;;;;;;;;;1181:68;-1:-1:-1;;;;;1455:14:2;;;;;;:7;:14;;;;;;4077:5;;1455:14;;1454:15;1450:56;;;1483:23;;;-1:-1:-1;;;;;1483:23:2;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1483:23:2;;;;;;;;;;;;;;1450:56;-1:-1:-1;;;;;4098:14:2;;4115:5;4098:14;;;:7;:14;;;;;:22;;-1:-1:-1;;4098:22:2;;;4130:170;4147:6;:13;-1:-1:-1;;4147:17:2;4145:19;;4130:170;;;4200:5;-1:-1:-1;;;;;4187:18:2;:6;4194:1;4187:9;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4187:9:2;:18;4183:117;;;4237:6;4244:13;;-1:-1:-1;;4244:17:2;;;4237:25;;;;;;;;;;;;;;;;4225:6;:9;;-1:-1:-1;;;;;4237:25:2;;;;4232:1;;4225:9;;;;;;;;;;;;;;:37;;;;;-1:-1:-1;;;;;4225:37:2;;;;;-1:-1:-1;;;;;4225:37:2;;;;;;4280:5;;4183:117;4166:3;;4130:170;;;-1:-1:-1;4309:6:2;:18;;-1:-1:-1;;4309:18:2;;;;;;:::i;:::-;-1:-1:-1;4352:6:2;:13;4341:8;;:24;4337:74;;;4397:6;:13;4379:32;;:17;:32::i;:::-;4426:19;;-1:-1:-1;;;;;4426:19:2;;;;;;;;1259:1;3987:465;:::o;6582:296::-;6665:10;1455:14;;;;:7;:14;;;;;;;;1454:15;1450:56;;;1483:23;;;-1:-1:-1;;;;;1483:23:2;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1483:23:2;;;;;;;;;;;;;;1450:56;1784:28;;;;:13;:28;;;;;;;;6710:10;1784:35;;;;;;;;;6695:13;;6710:10;1784:35;;1783:36;1779:90;;;1833:36;;;-1:-1:-1;;;;;1833:36:2;;;;;;;;;;;;;;;;;;;;;;;;;;;1779:90;2124:12;:27;;;;;;;;;;:36;;;6742:13;;2124:36;;2120:85;;;2174:31;;;-1:-1:-1;;;;;2174:31:2;;;;;;;;;;;;;;;;;;;;;;;;;;;2120:85;6814:5;6771:28;;;:13;:28;;;;;;;;6800:10;6771:40;;;;;;;;:48;;-1:-1:-1;;6771:48:2;;;6834:37;6785:13;;6834:37;;;1879:1;1516;;6582:296;;:::o;256:28:1:-;;;;:::o;889:40:2:-;;;;;;;;;;;;;;;:::o;819:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;221:28:1:-;;;-1:-1:-1;;;;;221:28:1;;:::o;141:30::-;;;;;;:::o;9513:315:2:-;9616:10;;9642:179;9659:16;;9657:1;:18;9642:179;;;9701:7;:36;;;;-1:-1:-1;9713:12:2;:15;;;;;;;;;;:24;;;;;9712:25;9701:36;:92;;;;9757:8;:36;;;;-1:-1:-1;9769:12:2;:15;;;;;;;;;;:24;;;;;9757:36;9694:127;;;9820:1;9811:10;;;;9694:127;9677:3;;9642:179;;;;9513:315;;;;:::o;178:37:1:-;;;;;;-1:-1:-1;;;;;178:37:1;;:::o;346:44::-;;;;;;;;;;;;-1:-1:-1;;;;;346:44:1;;:::o;3582:282:2:-;1185:10;1207:4;1185:27;1181:68;;1226:23;;;-1:-1:-1;;;;;1226:23:2;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1226:23:2;;;;;;;;;;;;;;1181:68;-1:-1:-1;;;;;1329:14:2;;;;;;:7;:14;;;;;;3675:5;;1329:14;;1325:55;;;1357:23;;;-1:-1:-1;;;;;1357:23:2;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1357:23:2;;;;;;;;;;;;;;1325:55;3698:5;-1:-1:-1;;;;;2278:22:2;;;2274:65;;;2314:25;;;-1:-1:-1;;;;;2314:25:2;;;;;;;;;;;;;;;;;;;;;;;;;;;2274:65;3730:6;:13;;;;3746:1;3730:17;3749:8;;255:2;2439:10;:28;:66;;;;2495:10;2483:9;:22;2439:66;:96;;;-1:-1:-1;2521:14:2;;2439:96;:127;;;-1:-1:-1;2551:15:2;;2439:127;2432:177;;;2580:29;;;-1:-1:-1;;;;;2580:29:2;;;;;;;;;;;;;;;;;;;;;;;;;;;2432:177;-1:-1:-1;;;;;3773:14:2;;;;;;:7;:14;;;;;;:21;;-1:-1:-1;;3773:21:2;3790:4;3773:21;;;;;;3804:6;27:10:-1;;23:18;;;45:23;;3804:18:2;;;;;;-1:-1:-1;;3804:18:2;;;;;3837:20;;;3773:14;3837:20;2349:1;;1390;1259;3582:282;:::o;7679:333::-;7765:4;;;7809:197;7826:6;:13;7824:15;;7809:197;;;7864:28;;;;:13;:28;;;;;7893:6;:9;;7864:28;;;7900:1;;7893:9;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7893:9:2;7864:39;;;;;;;;;;;;;;;7860:71;;;7930:1;7921:10;;;;7860:71;7958:8;;7949:5;:17;7945:50;;;7991:4;7984:11;;;;;;7945:50;7841:3;;7809:197;;;;7679:333;;;;;:::o;9003:248::-;9098:10;;9124:120;9141:6;:13;9139:15;;9124:120;;;9177:28;;;;:13;:28;;;;;9206:6;:9;;9177:28;;;9213:1;;9206:9;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9206:9:2;9177:39;;;;;;;;;;;;;;;9173:71;;;9243:1;9234:10;;;;9173:71;9156:3;;9124:120;;;;9003:248;;;:::o;764:49::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;764:49:2;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;764:49:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;764:49:2;;;;;;;-1:-1:-1;;764:49:2;;;:::o;291:48:1:-;;;;;;;;;;;;;;;:::o;9912:118:2:-;9978:16;10017:6;10010:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10010:13:2;;;;;;;;;;;;;;;;;;;;;;;9912:118;;:::o;11136:679::-;11257:29;11302:32;11348:16;;11337:28;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;11337:28:2;-1:-1:-1;11302:63:2;-1:-1:-1;11375:10:2;;11415:250;11427:16;;11425:1;:18;11415:250;;;11469:7;:36;;;;-1:-1:-1;11481:12:2;:15;;;;;;;;;;:24;;;;;11480:25;11469:36;:92;;;;11525:8;:36;;;;-1:-1:-1;11537:12:2;:15;;;;;;;;;;:24;;;;;11525:36;11462:203;;;11621:1;11593:18;11612:5;11593:25;;;;;;;;;;;;;;;;;;:29;11649:1;11640:10;;;;;11462:203;11445:3;;11415:250;;;11708:4;11703:2;:9;11692:21;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;11692:21:2;;11674:39;;11730:4;11728:6;;11723:85;11738:2;11736:1;:4;11723:85;;;11787:18;11806:1;11787:21;;;;;;;;;;;;;;;;;;11759:15;11779:4;11775:1;:8;11759:25;;;;;;;;;;;;;;;;;;:49;11742:3;;11723:85;;;11136:679;;;;;;;;;:::o;10209:578::-;10300:31;10347:34;10398:6;:13;;;;10384:28;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;10384:28:2;-1:-1:-1;10347:65:2;-1:-1:-1;10422:10:2;;10462:186;10474:6;:13;10472:15;;10462:186;;;10510:28;;;;:13;:28;;;;;10539:6;:9;;10510:28;;;10546:1;;10539:9;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10539:9:2;10510:39;;;;;;;;;;;;;;;10506:142;;;10596:6;:9;;10603:1;;10596:9;;;;;;;;;;;;;;;;10569:24;;-1:-1:-1;;;;;10596:9:2;;;;10569:17;;10587:5;;10569:24;;;;;;-1:-1:-1;;;;;10569:36:2;;;:24;;;;;;;;;;:36;10632:1;10623:10;;;;;10506:142;10489:3;;10462:186;;;10688:5;10674:20;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;10674:20:2;;10657:37;;10711:1;10709:3;;10704:76;10716:5;10714:1;:7;10704:76;;;10760:17;10778:1;10760:20;;;;;;;;;;;;;;;;;;10740:14;10755:1;10740:17;;;;;;;;;;-1:-1:-1;;;;;10740:40:2;;;:17;;;;;;;;;;:40;10723:3;;10704:76;;;10209:578;;;;;;:::o;990:28::-;;;;:::o;5281:212::-;1185:10;1207:4;1185:27;1181:68;;1226:23;;;-1:-1:-1;;;;;1226:23:2;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1226:23:2;;;;;;;;;;;;;;1181:68;5383:6;:13;5398:9;255:2;2439:28;;;:66;;;2495:10;2483:9;:22;2439:66;:96;;;-1:-1:-1;2521:14:2;;2439:96;:127;;;-1:-1:-1;2551:15:2;;2439:127;2432:177;;;2580:29;;;-1:-1:-1;;;;;2580:29:2;;;;;;;;;;;;;;;;;;;;;;;;;;;2432:177;5423:8;:20;;;5458:28;;;;;;;;;;;;;;;;;1259:1;;5281:212;:::o;878:157:1:-;1185:10:2;1207:4;1185:27;1181:68;;1226:23;;;-1:-1:-1;;;;;1226:23:2;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1226:23:2;;;;;;;;;;;;;;1181:68;967:14:1;;-1:-1:-1;;;;;967:25:1;;;:14;;;;;:25;;959:34;;;;;;1003:14;:24;;-1:-1:-1;;;;;1003:24:1;;;;;-1:-1:-1;;1003:24:1;;;;;;;;;878:157::o;6109:349:2:-;6192:10;1455:14;;;;:7;:14;;;;;;;;1454:15;1450:56;;;1483:23;;;-1:-1:-1;;;;;1483:23:2;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1483:23:2;;;;;;;;;;;;;;1450:56;1642:1;1591:27;;;;;;;;;;:39;6230:13;;-1:-1:-1;;;;;1591:39:2;:53;1587:104;;;1658:33;;;-1:-1:-1;;;;;1658:33:2;;;;;;;;;;;;;;;;;;;;;;;;;;;1587:104;1964:28;;;;:13;:28;;;;;;;;6281:10;1964:35;;;;;;;;;6266:13;;6281:10;1964:35;;1960:85;;;2013:32;;;-1:-1:-1;;;;;2013:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;1960:85;6307:28;;;;6350:4;6307:28;;;;;;;;6336:10;6307:40;;;;;;;;:47;;-1:-1:-1;;6307:47:2;;;;;;;6369:39;;6321:13;;6369:39;;;6418:33;6437:13;6418:18;:33::i;:::-;1701:1;;1516;6109:349;;:::o;5752:251::-;5863:18;5913:40;5928:11;5941:5;5948:4;5913:14;:40::i;:::-;5897:56;;5963:33;5982:13;5963:18;:33::i;:::-;5752:251;;;;;:::o;98:36:1:-;;;;;;;;;;;;;;;;;;;:::o;216:41:2:-;255:2;216:41;:::o;964:20::-;;;;:::o;396:49:1:-;;;;;;;;;;;;;:::o;4651:459:2:-;1185:10;1207:4;1185:27;1181:68;;1226:23;;;-1:-1:-1;;;;;1226:23:2;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1226:23:2;;;;;;;;;;;;;;1181:68;-1:-1:-1;;;;;1455:14:2;;;;;;:7;:14;;;;;;4760:5;;1455:14;;1454:15;1450:56;;;1483:23;;;-1:-1:-1;;;;;1483:23:2;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1483:23:2;;;;;;;;;;;;;;1450:56;-1:-1:-1;;;;;1329:14:2;;;;;;:7;:14;;;;;;4793:8;;1329:14;;1325:55;;;1357:23;;;-1:-1:-1;;;;;1357:23:2;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1357:23:2;;;;;;;;;;;;;;1325:55;4822:6;4817:149;4834:6;:13;4832:15;;4817:149;;;4883:5;-1:-1:-1;;;;;4870:18:2;:6;4877:1;4870:9;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4870:9:2;:18;4866:100;;;4920:8;4908:6;4915:1;4908:9;;;;;;;;;;;;;;;;;;:20;;;;;-1:-1:-1;;;;;4908:20:2;;;;;-1:-1:-1;;;;;4908:20:2;;;;;;4946:5;;4866:100;4849:3;;4817:149;;;-1:-1:-1;;;;;;4975:14:2;;;4992:5;4975:14;;;:7;:14;;;;;;:22;;-1:-1:-1;;4975:22:2;;;;;;5007:17;;;;;;;;:24;;;;;4975:22;5007:24;;;;5046:19;;4975:14;;5046:19;;;5080:23;;-1:-1:-1;;;;;5080:23:2;;;;;;;;1516:1;1259;4651:459;;:::o;8345:461::-;8482:18;8452:11;-1:-1:-1;;;;;2278:22:2;;;2274:65;;;2314:25;;;-1:-1:-1;;;;;2314:25:2;;;;;;;;;;;;;;;;;;;;;;;;;;;2274:65;8532:16;;8588:140;;;;;;;;-1:-1:-1;;;;;8588:140:2;;;;;;;;;;;;;;;;;;-1:-1:-1;8588:140:2;;;;;;8558:27;;;;;;;;;;:170;;;;-1:-1:-1;;8558:170:2;;;;;;;;;;-1:-1:-1;8558:170:2;;;;;;;8532:16;;-1:-1:-1;8588:140:2;;8558:27;;:170;;;;;;;;;;:::i;:::-;-1:-1:-1;8558:170:2;;;;;;;;;;;;-1:-1:-1;;8558:170:2;;;;;;;;;;8738:16;:21;;-1:-1:-1;8738:21:2;;;8774:25;;8785:13;;8774:25;;-1:-1:-1;;8774:25:2;8345:461;;;;;;:::o;6992:536::-;2124:12;:27;;;;;;;;;;:36;;;7075:13;;2124:36;;2120:85;;;2174:31;;;-1:-1:-1;;;;;2174:31:2;;;;;;;;;;;;;;;;;;;;;;;;;;;2120:85;7108:26;7120:13;7108:11;:26::i;:::-;7104:418;;;7150:23;7176:27;;;;;;;;;;;7217:12;;;:19;;-1:-1:-1;;7217:19:2;7232:4;7217:19;;;;;;7268:15;;7295:9;;;;7268:47;;7306:8;;;;7268:47;;7176:27;;7150:23;-1:-1:-1;;;;;7268:15:2;;;;7295:9;;7306:8;;7268:47;;7306:8;;-1:-1:-1;;7268:47:2;;;;7217:19;7268:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;7250:65:2;;;7333:6;7329:183;;;7362:24;;7372:13;;7362:24;;;;;7329:183;;;7428:31;;7445:13;;7428:31;;;;;7477:12;;;:20;;-1:-1:-1;;7477:20:2;;;7329:183;7104:418;;;6992:536;;:::o;452:44:1:-;;;;;;;;;;;;;;;:::o;57:1474::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;57:1474:1;;;-1:-1:-1;57:1474:1;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;
Swarm Source
bzzr://620a304d1f4c0cf3ced6c4561eded58216eafb3de08d3b63fc721313a44776de
Loading...LoadingLoading...LoadingABI for the implementation contract at 0xc3430bc8c2c05fc6b42114bf7f82a3e2f3ee9454, using the EIP-897 DelegateProxy concept.
Previously recorded to be on 0x9f2e4581d47c2851ea1150ab8126b45c5939d8f5.Learn more about proxy contracts in our Knowledge Base
Loading...LoadingABI for the implementation contract at 0xc3430bc8c2c05fc6b42114bf7f82a3e2f3ee9454, using the EIP-897 DelegateProxy concept.
Previously recorded to be on 0x9f2e4581d47c2851ea1150ab8126b45c5939d8f5.Learn more about proxy contracts in our Knowledge Base
Loading...LoadingLoading...LoadingLoading...LoadingLoading...LoadingLoading...LoadingMultichain Portfolio | 27 Chains
Chain Token Portfolio % Price Amount Value ETH 22.81% $0.999997 3,671,889.7092 $3,671,878.69 ETH 21.00% $59,580 56.7241 $3,379,622.09 ETH 18.16% $1 2,923,860.3105 $2,923,860.31 ETH 12.47% $0.220989 9,082,809.9125 $2,007,201.08 ETH Ether (ETH)7.82% $2,350.78 535.7285 $1,259,381.98 ETH 7.50% $0.004221 285,912,014.489 $1,206,935.96 ETH 5.05% $0.999882 812,435.296 $812,339.43 ETH 1.53% $0.000596 412,350,351.9509 $245,811.27 ETH 0.74% $0.380526 313,039.6167 $119,119.81 ETH 0.73% $0.017707 6,629,097.2799 $117,383.22 ETH 0.54% $0.004755 18,426,306.5789 $87,609.9 ETH 0.41% $0.022865 2,862,166.3858 $65,442.29 ETH 0.31% $0.002054 24,374,399.3118 $50,073.3 ETH 0.25% $1.01 39,856.2806 $40,095.42 ETH 0.20% $0.023661 1,367,348.1287 $32,353.25 ETH 0.09% $0.000669 21,997,057.4502 $14,705.23 ETH 0.08% $0.019443 694,723.7235 $13,507.62 ETH 0.07% $5.2 2,020.001 $10,504.01 ETH 0.05% $0.000253 33,774,699.7653 $8,533.53 ETH 0.05% $0.038205 196,129.5144 $7,493.1 ETH 0.04% $0.001441 4,840,089.8635 $6,976.01 ETH 0.04% $0.097746 60,500.0886 $5,913.64 ETH 0.03% $0.000565 9,484,383.9106 $5,355.04 ETH 0.01% $0.001002 1,797,227.656 $1,801.08 ETH 0.01% $0.998658 1,644.8167 $1,642.61 ETH <0.01% $0.920029 163.8661 $150.76 ETH <0.01% $0.001167 58,562.1586 $68.36 ETH <0.01% $0.000407 102,087.4529 $41.53 ETH <0.01% $6.62 1 $6.62 ETH <0.01% $0.004772 1,000 $4.77 ETH <0.01% $0.037664 110.01 $4.14 ETH <0.01% <$0.000001 27,823,693.2694 $2.78 ETH <0.01% $0.037427 50.0029 $1.87 ETH <0.01% $0.000704 1,000 $0.704 ETH <0.01% $0.025148 21.1499 $0.5318 ETH <0.01% $0.003693 100 $0.3693 ETH <0.01% $0.005986 40 $0.2394 POL <0.01% $2,345.22 0.1674 $392.61 POL <0.01% $0.397718 0.02 $0.007954 BSC <0.01% $0.578119 0.28 $0.1618 Loading...Loading[ 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 DirtyBytesArrayToStorage (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), SignedArrayStorageCopy (low/medium-severity), ABIEncoderV2StorageArrayWithMultiSlotElement (low-severity), DynamicConstructorArgumentsClippedABIV2 (very low-severity), UninitializedFunctionPointerInConstructor (very low-severity), IncorrectEventSignatureInLibraries (very low-severity), ABIEncoderV2PackedStorage (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.Address Cards
To use this feature, please login to your Etherscan account and return to this page.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.