15M+ users trust MoonPay. Checkout with your preferred payment method.
Ready to onboard to Ethereum? With MetaMask Portfolio, you're in control.
Discover tokens across Ethereum and multiple L2 networks seamlessly and manage your Web3 everything, all in one place.
Opt-in, make your first trade on Exchange Plus & receive random crypto rewards from 10,000 SHIB, to 0.01 BTC.
Everyday giveaways up to 100 ETH, Lucky Spins. Deposit BONUS 300% and Cashbacks!
Play all your favorite Slots & Live Games, including Plinko, Aviator and Crash! Truly anonymous casino.
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
$0.00Token Holdings
Could not find any matches!
- ERC-20 Tokens (>100)303.405902 DEXTDEXTools (DEXT)$282.57@0.93131,503.184061 AAGAAG (AAG)$11.06@0.007420,000 AMISAMIS (AMIS)$70.49@0.00351,131.4 ANKRAnkr Network (ANKR)$62.01@0.05485 API3API3 (API3)$19.20@3.845 BADGERBadger (BADGER)$37.16@7.432639.445795 BANDBandToken (BAND)$87.57@2.222,400 BANKBankless Tok... (BANK)$5.06@0.00210.01724577 MARKBenchmark (MARK)$0.01@0.54455,193.686474 CHAINChain Games (CHAIN)$111.61@0.0215700 CHZchiliZ (CHZ)$99.56@0.142267.421959 CREAMCream (CREAM)$1,922.67@28.517958.000218 CROCronos Coin (CRO)$144.52@0.1509644,232.8 CYFMCyberFM Radi... (CYFM)$0.00@0.0010,000 DRCDigital Rese... (DRC)$2.92@0.00031,831,607,570 ELONDogelon (ELON)$491.78@0.0045.026453 ENJEnjinCoin (ENJ)$22.73@0.50491.5 IDEverest ID (ID)$0.39@0.26246,120.812829 FRAXFrax (FRAX)$6,102.10@0.9969641.605345 FXSFrax Share (FXS)$4,940.36@7.701,431.349 FRONTFrontier Tok... (FRONT)$1,817.81@1.271.8 GTCGitcoin (GTC)$3.94@2.1912,245.8811 ONEHarmonyOne (ONE)$392.44@0.03260 HOTHoloToken (HOT)$0.20@0.0034100 HOTCROSSHot Cross To... (HOTCRO...)0.103 HTHuobiToken (HT)$0.09@0.85768,100 HIDHypersign Id... (HID)$614.14@0.0758255,511.334587 IMXImpermax (IMX)100 KEEPKEEP Token (KEEP)$25.44@0.2544116.31858228 KLEEKlee Kai (KLEE)4.378995 LPTLivepeer Tok... (LPT)$84.91@19.395,072.07 MIMMagic Intern... (MIM)$5,025.73@0.99091 MATHMATH Token (MATH)$0.19@0.18960.7 OHMOHM V1 (OHM)$47.69@68.1325,000 OPCTOpacity (OPCT)$38.18@0.001552,729 ORBSOrbs (ORBS)$2,507.43@0.04760.0001 PPBLZPepemon (PPBLZ)$0.00@19.2931,000 PLGPLGToken (PLG)$0.03@0.00338 POLYPolymath (POLY)$35.50@0.10527,312.601287 renDOGErenDOGE (renDOG...)$199.81@0.00732.1 RENRepublic (REN)$0.22@0.10431 ROUTERoute (ROUTE)$3.90@3.901,201,000 IDRTRupiah Token (IDRT)$75.36@0.000159.40486 SANDSAND (SAND)$41.12@0.692249.28433 QUARTZSandclock (QUARTZ)$9.68@0.196472,401,377.363301 SHIBSHIBA INU (SHIB)$2,250.23@0.0015,982.261819 SPELLSpell Token (SPELL)$19.25@0.0012698.745958 xSUSHISushiBar (xSUSHI)$1,704.94@2.441.273 sUSDSynth sUSD (sUSD)$1.27@0.9937816.891542 SNXSynthetix Ne... (SNX)$3,986.43@4.88917,686.16 TELTelcoin (TEL)$3,717.43@0.0041111 TRBTellor Tribu... (TRB)$10,335.21@93.110.000281 TVKTerra Virtua... (TVK)$0.00@0.0517100 TORGTORG (TORG)$0.00@0.008,632.545684 LUNCWrapped LUNC... (LUNC)110 MIRWrapped MIR ... (MIR)$8.91@0.081119,534.87964 USTCWrapped USTC... (USTC)$3,343.65@0.0280.58712601 YAMYAM (YAM)$0.07@0.12510.27915 YFIyearn.financ... (YFI)$2,499.12@8,952.5911.37201 YFLYFLink (YFL)$77.28@6.79583.882966 AAVEAave Token (AAVE)$491.28@126.521550 BATBAT (BAT)$16.80@0.3360.15 BNBBNB (BNB)$88.21@588.0646500 BUSDBUSD (BUSD)$500.00@1.0019.236706 COMPCompound (COMP)$1,504.31@78.209,495.30907418 DAIDai Stableco... (DAI)$9,465.61@0.99691,072.831027 MANADecentraland (MANA)$722.63@0.67364.078449 ENSEthereum Nam... (ENS)$90.05@22.08376.632971 GRTGraph Token (GRT)$157.88@0.419251.632 NEXONexo (NEXO)$69.19@1.3411,911.80482219 SUSHISushiToken (SUSHI)$21,322.13@1.79499.534772 USDTTether USD (USDT)$498.85@0.998631,862.697599 USDCUSDC (USDC)$31,841.95@0.99930.26130081 WBTCWrapped BTC (WBTC)$18,409.95@70,455.000.262656 WETHWrapped Ethe... (WETH)$939.33@3,576.261,571.52 ZRXZRX (ZRX)$1,714.53@1.0913,999.99 Visit usdgift.org to claim rewards# usdgift.or... (Visit ...)7,500 $ Evmosia.com$ Evmosia.c... ($ Evm...)1 Otherside Beta Access (ApeWL.io)ApeWL.io (Ot... (Others...)374.625 1BUSDBinance USD ... (1BUSD)100,000 CajeroCajero (Cajero)4,569.41608 11CHAINChain Games (11CHAI...)100 dARTdART Token (dART)1,159,607,165 11ELONDogelon (Wor... (11ELON)100,000,000,000 ELONINDEXDogelon Inde... (ELONIN...)70,387,745,878.0984 DOGENDogenToken (DOGEN)10 DRLDragonLords (DRL)100 EARTHEARTH (EARTH)100,117.58149794 ECHOEcho Token (ECHO)120,728.347931 EMNEminence (EMN)204,000 ERC20ERC20 (ERC20)9,953,150,988.68233 FEGFEGtoken (FEG)265,985,919 XFLFlame (XFL)0.1 GST2Gastoken.io (GST2)$3.98@39.75631,500,000 CATHGreenCatHarm... (CATH)10,797.770247 1ONEHarmony ONE (1ONE)0.000001 JPYCJPY Coin (JPYC)16,000,000,000 LAIKALaikaProtoco... (LAIKA)4,731,606.59078327 MAGGOTMaggotToken (MAGGOT)0.02 MEMEMEME (MEME)$1.30@64.95NFT Tokens (20)Airdropaaveprotocol.netERC-1155nft-dai.comDAI Mysterybox NFTERC-1155Airdropfraxnetwork.comERC-1155Airdropget-usd.orgERC-1155Moonbirdpunk OriginMoonbirdpunk OriginERC-1155Airdropshibanetwork.orgERC-1155Airdropusdgift.orgERC-1155Official Authorize credentialvisit usdcaward.com Claim AwardERC-1155nft-wbtc.comWBTC Mysterybox NFTERC-1155Official Authorize credentialWBTC: Airdrop NFT VoucherERC-1155ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]
More Info
Private Name Tags
ContractCreator
Multichain Info
1 address found viaLatest 25 from a total of 14,938 transactions
Transaction Hash MethodBlockFromToValue Lock Token 17476752 2023-06-14 7:38:59 288 days ago 1686728339 IN 0 ETH 0.00103867 16.01490201 Lock Token 17476751 2023-06-14 7:38:47 288 days ago 1686728327 IN 0 ETH 0.00097674 15.0599435 Lock Token 17476747 2023-06-14 7:37:59 288 days ago 1686728279 IN 0 ETH 0.00109658 16.90776275 Lock Token 17476746 2023-06-14 7:37:47 288 days ago 1686728267 IN 0 ETH 0.00107208 16.53003174 Lock Token 17476743 2023-06-14 7:37:11 288 days ago 1686728231 IN 0 ETH 0.00100348 15.47226117 Lock Token 17476740 2023-06-14 7:36:35 288 days ago 1686728195 IN 0 ETH 0.00102738 15.84079275 Lock Token 17476692 2023-06-14 7:26:35 288 days ago 1686727595 IN 0 ETH 0.00102949 15.87335246 Lock Token 17476689 2023-06-14 7:25:59 288 days ago 1686727559 IN 0 ETH 0.00099728 15.37672168 Lock Token 17476687 2023-06-14 7:25:35 288 days ago 1686727535 IN 0 ETH 0.00105592 16.28078897 Lock Token 17000515 2023-04-08 1:42:59 355 days ago 1680918179 IN 0 ETH 0.00126108 19.44403378 Lock Token 16783438 2023-03-08 12:08:35 385 days ago 1678277315 IN 0 ETH 0.00162325 25.02815376 Lock Token 16783416 2023-03-08 12:04:11 385 days ago 1678277051 IN 0 ETH 0.0013727 21.16513013 Lock Token 16783408 2023-03-08 12:02:35 385 days ago 1678276955 IN 0 ETH 0.00133927 20.64972359 Lock Token 16511241 2023-01-29 8:19:47 424 days ago 1674980387 IN 0 ETH 0.00092448 14.25424888 Lock Token 16511237 2023-01-29 8:18:59 424 days ago 1674980339 IN 0 ETH 0.00091641 14.12979596 Lock Token 16503992 2023-01-28 8:02:47 425 days ago 1674892967 IN 0 ETH 0.00097676 15.06033761 Lock Token 16503984 2023-01-28 8:01:11 425 days ago 1674892871 IN 0 ETH 0.00097013 14.95803293 Lock Token 16496503 2023-01-27 6:55:59 426 days ago 1674802559 IN 0 ETH 0.00112289 18.69716772 Transfer 15645452 2022-09-30 10:07:59 545 days ago 1664532479 IN 0.001 ETH 0.00023009 10.95708082 Lock Token 15559079 2022-09-18 7:55:23 557 days ago 1663487723 IN 0 ETH 0.00011056 2 Lock Token 15012704 2022-06-23 11:20:27 643 days ago 1655983227 IN 0 ETH 0.00113696 17.70529446 Lock Token 15004934 2022-06-22 0:27:51 645 days ago 1655857671 IN 0 ETH 0.00277843 46.24484295 Lock Token 15003365 2022-06-21 17:22:19 645 days ago 1655832139 IN 0 ETH 0.00335629 74.84552713 Lock Token 15002184 2022-06-21 11:56:25 645 days ago 1655812585 IN 0 ETH 0.00118182 19.38046215 Lock Token 15000740 2022-06-21 5:40:46 646 days ago 1655790046 IN 0 ETH 0.00123335 22.30579383 View more zero value Internal Transactions in Advanced View mode
Advanced mode:Loading...LoadingContract Name:ERC20EthManager
Compiler Versionv0.5.17+commit.d19bba13
Contract Source Code (Solidity)
- library SafeMath
- - function add(uint256 a, uint256 b)
- - function sub(uint256 a, uint256 b)
- - function sub(uint256 a, uint256 b, st ...
- - function mul(uint256 a, uint256 b)
- - function div(uint256 a, uint256 b)
- - function div(uint256 a, uint256 b, st ...
- - function mod(uint256 a, uint256 b)
- - function mod(uint256 a, uint256 b, st ...
- interface IERC20
- - function totalSupply()
- - function balanceOf(address account)
- - function transfer(address recipient, ...
- - function allowance(address owner, add ...
- - function approve(address spender, uin ...
- - function transferFrom(address sender, ...
- library Address
- - function isContract(address account)
- - function toPayable(address account)
- - function sendValue(address payable re ...
- library SafeERC20
- - function safeTransfer(IERC20 token, a ...
- - function safeTransferFrom(IERC20 toke ...
- - function safeApprove(IERC20 token, ad ...
- - function safeIncreaseAllowance(IERC20 ...
- - function safeDecreaseAllowance(IERC20 ...
- - function callOptionalReturn(IERC20 to ...
- contract ERC20EthManager *
- - function lockToken(
- - function lockTokenFor(
- - function unlockToken(
/** *Submitted for verification at Etherscan.io on 2021-07-05 */ // File: @openzeppelin/contracts/math/SafeMath.sol pragma solidity ^0.5.0; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. * * _Available since v2.4.0._ */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. * * _Available since v2.4.0._ */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. * * _Available since v2.4.0._ */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } // File: @openzeppelin/contracts/token/ERC20/IERC20.sol pragma solidity ^0.5.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. Does not include * the optional functions; to access them see {ERC20Detailed}. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } // File: @openzeppelin/contracts/utils/Address.sol pragma solidity ^0.5.5; /** * @dev Collection of functions related to the address type */ library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } /** * @dev Converts an `address` into `address payable`. Note that this is * simply a type cast: the actual underlying value is not changed. * * _Available since v2.4.0._ */ function toPayable(address account) internal pure returns (address payable) { return address(uint160(account)); } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. * * _Available since v2.4.0._ */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-call-value (bool success, ) = recipient.call.value(amount)(""); require(success, "Address: unable to send value, recipient may have reverted"); } } // File: @openzeppelin/contracts/token/ERC20/SafeERC20.sol pragma solidity ^0.5.0; /** * @title SafeERC20 * @dev Wrappers around ERC20 operations that throw on failure (when the token * contract returns false). Tokens that return no value (and instead revert or * throw on failure) are also supported, non-reverting calls are assumed to be * successful. * To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract, * which allows you to call the safe operations as `token.safeTransfer(...)`, etc. */ library SafeERC20 { using SafeMath for uint256; using Address for address; function safeTransfer(IERC20 token, address to, uint256 value) internal { callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value)); } function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal { callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value)); } function safeApprove(IERC20 token, address spender, uint256 value) internal { // safeApprove should only be called when setting an initial allowance, // or when resetting it to zero. To increase and decrease it, use // 'safeIncreaseAllowance' and 'safeDecreaseAllowance' // solhint-disable-next-line max-line-length require((value == 0) || (token.allowance(address(this), spender) == 0), "SafeERC20: approve from non-zero to non-zero allowance" ); callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value)); } function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal { uint256 newAllowance = token.allowance(address(this), spender).add(value); callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal { uint256 newAllowance = token.allowance(address(this), spender).sub(value, "SafeERC20: decreased allowance below zero"); callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } /** * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement * on the return value: the return value is optional (but if data is returned, it must not be false). * @param token The token targeted by the call. * @param data The call data (encoded using abi.encode or one of its variants). */ function callOptionalReturn(IERC20 token, bytes memory data) private { // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since // we're implementing it ourselves. // A Solidity high level call has three parts: // 1. The target address is checked to verify it contains contract code // 2. The call itself is made, and success asserted // 3. The return value is decoded, which in turn checks the size of the returned data. // solhint-disable-next-line max-line-length require(address(token).isContract(), "SafeERC20: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = address(token).call(data); require(success, "SafeERC20: low-level call failed"); if (returndata.length > 0) { // Return data is optional // solhint-disable-next-line max-line-length require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed"); } } } // File: contracts/erc20/ERC20EthManager.sol pragma solidity 0.5.17; contract ERC20EthManager { using SafeMath for uint256; using SafeERC20 for IERC20; mapping(bytes32 => bool) public usedEvents_; event Locked( address indexed token, address indexed sender, uint256 amount, address recipient ); event Unlocked( address ethToken, uint256 amount, address recipient, bytes32 receiptId ); address public wallet; modifier onlyWallet { require(msg.sender == wallet, "HmyManager/not-authorized"); _; } /** * @dev constructor * @param _wallet is the multisig wallet */ constructor(address _wallet) public { wallet = _wallet; } /** * @dev lock tokens to be minted on harmony chain * @param ethTokenAddr is the ethereum token contract address * @param amount amount of tokens to lock * @param recipient recipient address on the harmony chain */ function lockToken( address ethTokenAddr, uint256 amount, address recipient ) public { require( recipient != address(0), "EthManager/recipient is a zero address" ); require(amount > 0, "EthManager/zero token locked"); IERC20 ethToken = IERC20(ethTokenAddr); uint256 _balanceBefore = ethToken.balanceOf(msg.sender); ethToken.safeTransferFrom(msg.sender, address(this), amount); uint256 _balanceAfter = ethToken.balanceOf(msg.sender); uint256 _actualAmount = _balanceBefore.sub(_balanceAfter); emit Locked(address(ethToken), msg.sender, _actualAmount, recipient); } /** * @dev lock tokens for a user address to be minted on harmony chain * @param ethTokenAddr is the ethereum token contract address * @param userAddr is token holder address * @param amount amount of tokens to lock * @param recipient recipient address on the harmony chain */ function lockTokenFor( address ethTokenAddr, address userAddr, uint256 amount, address recipient ) public onlyWallet { require( recipient != address(0), "EthManager/recipient is a zero address" ); require(amount > 0, "EthManager/zero token locked"); IERC20 ethToken = IERC20(ethTokenAddr); uint256 _balanceBefore = ethToken.balanceOf(userAddr); ethToken.safeTransferFrom(userAddr, address(this), amount); uint256 _balanceAfter = ethToken.balanceOf(userAddr); uint256 _actualAmount = _balanceBefore.sub(_balanceAfter); emit Locked(address(ethToken), userAddr, _actualAmount, recipient); } /** * @dev unlock tokens after burning them on harmony chain * @param ethTokenAddr is the ethereum token contract address * @param amount amount of unlock tokens * @param recipient recipient of the unlock tokens * @param receiptId transaction hash of the burn event on harmony chain */ function unlockToken( address ethTokenAddr, uint256 amount, address recipient, bytes32 receiptId ) public onlyWallet { require( !usedEvents_[receiptId], "EthManager/The burn event cannot be reused" ); IERC20 ethToken = IERC20(ethTokenAddr); usedEvents_[receiptId] = true; ethToken.safeTransfer(recipient, amount); emit Unlocked(ethTokenAddr, amount, recipient, receiptId); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
[{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"recipient","type":"address"}],"name":"Locked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"ethToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"bytes32","name":"receiptId","type":"bytes32"}],"name":"Unlocked","type":"event"},{"constant":false,"inputs":[{"internalType":"address","name":"ethTokenAddr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"}],"name":"lockToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"ethTokenAddr","type":"address"},{"internalType":"address","name":"userAddr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"}],"name":"lockTokenFor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"ethTokenAddr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"bytes32","name":"receiptId","type":"bytes32"}],"name":"unlockToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"usedEvents_","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051610be9380380610be98339818101604052602081101561003357600080fd5b5051600180546001600160a01b0319166001600160a01b03909216919091179055610b86806100636000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630296be631461005c57806309eb27281461009a578063521eb273146100d0578063bccc9fcf146100f4578063fe7f61ea14610125575b600080fd5b6100986004803603608081101561007257600080fd5b506001600160a01b0381358116916020810135821691604082013591606001351661015f565b005b610098600480360360608110156100b057600080fd5b506001600160a01b038135811691602081013591604090910135166103e8565b6100d86105f3565b604080516001600160a01b039092168252519081900360200190f35b6101116004803603602081101561010a57600080fd5b5035610602565b604080519115158252519081900360200190f35b6100986004803603608081101561013b57600080fd5b506001600160a01b0381358116916020810135916040820135169060600135610617565b6001546001600160a01b031633146101ba576040805162461bcd60e51b8152602060048201526019602482015278121b5e53585b9859d95c8bdb9bdd0b585d5d1a1bdc9a5e9959603a1b604482015290519081900360640190fd5b6001600160a01b0381166101ff5760405162461bcd60e51b8152600401808060200182810382526026815260200180610b026026913960400191505060405180910390fd5b60008211610254576040805162461bcd60e51b815260206004820152601c60248201527f4574684d616e616765722f7a65726f20746f6b656e206c6f636b656400000000604482015290519081900360640190fd5b60008490506000816001600160a01b03166370a08231866040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156102b157600080fd5b505afa1580156102c5573d6000803e3d6000fd5b505050506040513d60208110156102db57600080fd5b505190506102fa6001600160a01b03831686308763ffffffff61074c16565b6000826001600160a01b03166370a08231876040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561035257600080fd5b505afa158015610366573d6000803e3d6000fd5b505050506040513d602081101561037c57600080fd5b505190506000610392838363ffffffff6107ac16565b604080518281526001600160a01b0388811660208301528251939450808b1693908816927f4c6ab40ee4cfa212a441d32ee2897945b4a52461284f9369e23fdf8faa6cdd69928290030190a35050505050505050565b6001600160a01b03811661042d5760405162461bcd60e51b8152600401808060200182810382526026815260200180610b026026913960400191505060405180910390fd5b60008211610482576040805162461bcd60e51b815260206004820152601c60248201527f4574684d616e616765722f7a65726f20746f6b656e206c6f636b656400000000604482015290519081900360640190fd5b604080516370a0823160e01b8152336004820152905184916000916001600160a01b038416916370a08231916024808301926020929190829003018186803b1580156104cd57600080fd5b505afa1580156104e1573d6000803e3d6000fd5b505050506040513d60208110156104f757600080fd5b505190506105166001600160a01b03831633308763ffffffff61074c16565b604080516370a0823160e01b815233600482015290516000916001600160a01b038516916370a0823191602480820192602092909190829003018186803b15801561056057600080fd5b505afa158015610574573d6000803e3d6000fd5b505050506040513d602081101561058a57600080fd5b5051905060006105a0838363ffffffff6107ac16565b604080518281526001600160a01b03888116602083015282519394503393908816927f4c6ab40ee4cfa212a441d32ee2897945b4a52461284f9369e23fdf8faa6cdd69928290030190a350505050505050565b6001546001600160a01b031681565b60006020819052908152604090205460ff1681565b6001546001600160a01b03163314610672576040805162461bcd60e51b8152602060048201526019602482015278121b5e53585b9859d95c8bdb9bdd0b585d5d1a1bdc9a5e9959603a1b604482015290519081900360640190fd5b60008181526020819052604090205460ff16156106c05760405162461bcd60e51b815260040180806020018281038252602a815260200180610ad8602a913960400191505060405180910390fd5b6000818152602081905260409020805460ff19166001179055836106f46001600160a01b038216848663ffffffff6107f516565b604080516001600160a01b038088168252602082018790528516818301526060810184905290517fb24e65d2501e29a3ce014b0cc2283699c081ad27f10d64f036f96912b6f8943e9181900360800190a15050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526107a690859061084c565b50505050565b60006107ee83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a04565b9392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261084790849061084c565b505050565b61085e826001600160a01b0316610a9b565b6108af576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106108ed5780518252601f1990920191602091820191016108ce565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461094f576040519150601f19603f3d011682016040523d82523d6000602084013e610954565b606091505b5091509150816109ab576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156107a6578080602001905160208110156109c757600080fd5b50516107a65760405162461bcd60e51b815260040180806020018281038252602a815260200180610b28602a913960400191505060405180910390fd5b60008184841115610a935760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610a58578181015183820152602001610a40565b50505050905090810190601f168015610a855780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590610acf57508115155b94935050505056fe4574684d616e616765722f546865206275726e206576656e742063616e6e6f74206265207265757365644574684d616e616765722f726563697069656e742069732061207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a72315820490ed419666034f80143a4c1ba96add1fa4fc0510339b9303ecaf6b2a899f1e664736f6c63430005110032000000000000000000000000715cdda5e9ad30a0ced14940f9997ee611496de6Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100575760003560e01c80630296be631461005c57806309eb27281461009a578063521eb273146100d0578063bccc9fcf146100f4578063fe7f61ea14610125575b600080fd5b6100986004803603608081101561007257600080fd5b506001600160a01b0381358116916020810135821691604082013591606001351661015f565b005b610098600480360360608110156100b057600080fd5b506001600160a01b038135811691602081013591604090910135166103e8565b6100d86105f3565b604080516001600160a01b039092168252519081900360200190f35b6101116004803603602081101561010a57600080fd5b5035610602565b604080519115158252519081900360200190f35b6100986004803603608081101561013b57600080fd5b506001600160a01b0381358116916020810135916040820135169060600135610617565b6001546001600160a01b031633146101ba576040805162461bcd60e51b8152602060048201526019602482015278121b5e53585b9859d95c8bdb9bdd0b585d5d1a1bdc9a5e9959603a1b604482015290519081900360640190fd5b6001600160a01b0381166101ff5760405162461bcd60e51b8152600401808060200182810382526026815260200180610b026026913960400191505060405180910390fd5b60008211610254576040805162461bcd60e51b815260206004820152601c60248201527f4574684d616e616765722f7a65726f20746f6b656e206c6f636b656400000000604482015290519081900360640190fd5b60008490506000816001600160a01b03166370a08231866040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156102b157600080fd5b505afa1580156102c5573d6000803e3d6000fd5b505050506040513d60208110156102db57600080fd5b505190506102fa6001600160a01b03831686308763ffffffff61074c16565b6000826001600160a01b03166370a08231876040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561035257600080fd5b505afa158015610366573d6000803e3d6000fd5b505050506040513d602081101561037c57600080fd5b505190506000610392838363ffffffff6107ac16565b604080518281526001600160a01b0388811660208301528251939450808b1693908816927f4c6ab40ee4cfa212a441d32ee2897945b4a52461284f9369e23fdf8faa6cdd69928290030190a35050505050505050565b6001600160a01b03811661042d5760405162461bcd60e51b8152600401808060200182810382526026815260200180610b026026913960400191505060405180910390fd5b60008211610482576040805162461bcd60e51b815260206004820152601c60248201527f4574684d616e616765722f7a65726f20746f6b656e206c6f636b656400000000604482015290519081900360640190fd5b604080516370a0823160e01b8152336004820152905184916000916001600160a01b038416916370a08231916024808301926020929190829003018186803b1580156104cd57600080fd5b505afa1580156104e1573d6000803e3d6000fd5b505050506040513d60208110156104f757600080fd5b505190506105166001600160a01b03831633308763ffffffff61074c16565b604080516370a0823160e01b815233600482015290516000916001600160a01b038516916370a0823191602480820192602092909190829003018186803b15801561056057600080fd5b505afa158015610574573d6000803e3d6000fd5b505050506040513d602081101561058a57600080fd5b5051905060006105a0838363ffffffff6107ac16565b604080518281526001600160a01b03888116602083015282519394503393908816927f4c6ab40ee4cfa212a441d32ee2897945b4a52461284f9369e23fdf8faa6cdd69928290030190a350505050505050565b6001546001600160a01b031681565b60006020819052908152604090205460ff1681565b6001546001600160a01b03163314610672576040805162461bcd60e51b8152602060048201526019602482015278121b5e53585b9859d95c8bdb9bdd0b585d5d1a1bdc9a5e9959603a1b604482015290519081900360640190fd5b60008181526020819052604090205460ff16156106c05760405162461bcd60e51b815260040180806020018281038252602a815260200180610ad8602a913960400191505060405180910390fd5b6000818152602081905260409020805460ff19166001179055836106f46001600160a01b038216848663ffffffff6107f516565b604080516001600160a01b038088168252602082018790528516818301526060810184905290517fb24e65d2501e29a3ce014b0cc2283699c081ad27f10d64f036f96912b6f8943e9181900360800190a15050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526107a690859061084c565b50505050565b60006107ee83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a04565b9392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261084790849061084c565b505050565b61085e826001600160a01b0316610a9b565b6108af576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106108ed5780518252601f1990920191602091820191016108ce565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461094f576040519150601f19603f3d011682016040523d82523d6000602084013e610954565b606091505b5091509150816109ab576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156107a6578080602001905160208110156109c757600080fd5b50516107a65760405162461bcd60e51b815260040180806020018281038252602a815260200180610b28602a913960400191505060405180910390fd5b60008184841115610a935760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610a58578181015183820152602001610a40565b50505050905090810190601f168015610a855780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590610acf57508115155b94935050505056fe4574684d616e616765722f546865206275726e206576656e742063616e6e6f74206265207265757365644574684d616e616765722f726563697069656e742069732061207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a72315820490ed419666034f80143a4c1ba96add1fa4fc0510339b9303ecaf6b2a899f1e664736f6c63430005110032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000715cdda5e9ad30a0ced14940f9997ee611496de6
-----Decoded View---------------
Arg [0] : _wallet (address): 0x715CdDa5e9Ad30A0cEd14940F9997EE611496De6
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000715cdda5e9ad30a0ced14940f9997ee611496de6Deployed Bytecode Sourcemap
15365:3611:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15365:3611:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17398:740;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;17398:740:0;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16365:707;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;16365:707:0;;;;;;;;;;;;;;;;;:::i;15801:21::-;;;:::i;:::-;;;;-1:-1:-1;;;;;15801:21:0;;;;;;;;;;;;;;15465:43;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15465:43:0;;:::i;:::-;;;;;;;;;;;;;;;;;;18473:500;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;18473:500:0;;;;;;;;;;;;;;;;;;;;:::i;17398:740::-;15882:6;;-1:-1:-1;;;;;15882:6:0;15868:10;:20;15860:58;;;;;-1:-1:-1;;;15860:58:0;;;;;;;;;;;;-1:-1:-1;;;15860:58:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;17589:23:0;;17567:111;;;;-1:-1:-1;;;17567:111:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17706:1;17697:6;:10;17689:51;;;;;-1:-1:-1;;;17689:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;17751:15;17776:12;17751:38;;17800:22;17825:8;-1:-1:-1;;;;;17825:18:0;;17844:8;17825:28;;;;;;;;;;;;;-1:-1:-1;;;;;17825:28:0;-1:-1:-1;;;;;17825:28:0;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17825:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17825:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17825:28:0;;-1:-1:-1;17864:58:0;-1:-1:-1;;;;;17864:25:0;;17890:8;17908:4;17915:6;17864:58;:25;:58;:::i;:::-;17933:21;17957:8;-1:-1:-1;;;;;17957:18:0;;17976:8;17957:28;;;;;;;;;;;;;-1:-1:-1;;;;;17957:28:0;-1:-1:-1;;;;;17957:28:0;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17957:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17957:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17957:28:0;;-1:-1:-1;17996:21:0;18020:33;:14;17957:28;18020:33;:18;:33;:::i;:::-;18069:61;;;;;;-1:-1:-1;;;;;18069:61:0;;;;;;;;;17996:57;;-1:-1:-1;18069:61:0;;;;;;;;;;;;;;;;15929:1;;;;17398:740;;;;:::o;16365:707::-;-1:-1:-1;;;;;16515:23:0;;16493:111;;;;-1:-1:-1;;;16493:111:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16632:1;16623:6;:10;16615:51;;;;;-1:-1:-1;;;16615:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;16751:30;;;-1:-1:-1;;;16751:30:0;;16770:10;16751:30;;;;;;16702:12;;16677:15;;-1:-1:-1;;;;;16751:18:0;;;;;:30;;;;;;;;;;;;;;:18;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;16751:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16751:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16751:30:0;;-1:-1:-1;16792:60:0;-1:-1:-1;;;;;16792:25:0;;16818:10;16838:4;16845:6;16792:60;:25;:60;:::i;:::-;16887:30;;;-1:-1:-1;;;16887:30:0;;16906:10;16887:30;;;;;;16863:21;;-1:-1:-1;;;;;16887:18:0;;;;;:30;;;;;;;;;;;;;;;:18;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;16887:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16887:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16887:30:0;;-1:-1:-1;16928:21:0;16952:33;:14;16887:30;16952:33;:18;:33;:::i;:::-;17001:63;;;;;;-1:-1:-1;;;;;17001:63:0;;;;;;;;;16928:57;;-1:-1:-1;17027:10:0;;17001:63;;;;;;;;;;;;16365:707;;;;;;;:::o;15801:21::-;;;-1:-1:-1;;;;;15801:21:0;;:::o;15465:43::-;;;;;;;;;;;;;;;;:::o;18473:500::-;15882:6;;-1:-1:-1;;;;;15882:6:0;15868:10;:20;15860:58;;;;;-1:-1:-1;;;15860:58:0;;;;;;;;;;;;-1:-1:-1;;;15860:58:0;;;;;;;;;;;;;;;18665:11;:22;;;;;;;;;;;;;18664:23;18642:115;;;;-1:-1:-1;;;18642:115:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18768:15;18817:22;;;;;;;;;;:29;;-1:-1:-1;;18817:29:0;18842:4;18817:29;;;18793:12;18857:40;-1:-1:-1;;;;;18857:21:0;;18879:9;18890:6;18857:40;:21;:40;:::i;:::-;18913:52;;;-1:-1:-1;;;;;18913:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15929:1;18473:500;;;;:::o;12308:204::-;12435:68;;;-1:-1:-1;;;;;12435:68:0;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;12435:68:0;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;12409:95:0;;12428:5;;12409:18;:95::i;:::-;12308:204;;;;:::o;1369:136::-;1427:7;1454:43;1458:1;1461;1454:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1447:50;1369:136;-1:-1:-1;;;1369:136:0:o;12124:176::-;12233:58;;;-1:-1:-1;;;;;12233:58:0;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;12233:58:0;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;12207:85:0;;12226:5;;12207:18;:85::i;:::-;12124:176;;;:::o;14163:1114::-;14767:27;14775:5;-1:-1:-1;;;;;14767:25:0;;:27::i;:::-;14759:71;;;;;-1:-1:-1;;;14759:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;14904:12;14918:23;14953:5;-1:-1:-1;;;;;14945:19:0;14965:4;14945:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;14945:25:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;14903:67:0;;;;14989:7;14981:52;;;;;-1:-1:-1;;;14981:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15050:17;;:21;15046:224;;15192:10;15181:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15181:30:0;15173:85;;;;-1:-1:-1;;;15173:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1842:192;1928:7;1964:12;1956:6;;;;1948:29;;;;-1:-1:-1;;;1948:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1948:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2000:5:0;;;1842:192::o;9153:619::-;9213:4;9681:20;;9524:66;9721:23;;;;;;:42;;-1:-1:-1;9748:15:0;;;9721:42;9713:51;9153:619;-1:-1:-1;;;;9153:619:0:o
Swarm Source
bzzr://490ed419666034f80143a4c1ba96add1fa4fc0510339b9303ecaf6b2a899f1e6
Loading...LoadingLoading...Loading
Loading...Loading
Loading...LoadingLoading...LoadingLoading...LoadingLoading...LoadingLoading...LoadingMultichain Portfolio | 24 Chains
Chain Token Portfolio % Price Amount Value ETH 20.70% $0.999349 31,862.6976 $31,841.95 ETH 13.86% $1.79 11,911.8048 $21,322.13 ETH 11.97% $70,455 0.2613 $18,409.95 ETH 6.72% $93.11 111 $10,335.21 ETH 6.15% $0.996872 9,495.3091 $9,465.61 ETH 4.06% $0.006965 896,428.8331 $6,243.79 ETH 3.97% $0.996942 6,120.8128 $6,102.1 ETH 3.27% $0.990863 5,072.07 $5,025.73 ETH 3.21% $7.7 641.6053 $4,940.36 ETH 2.59% $4.88 816.8915 $3,986.43 ETH 2.42% $0.004051 917,686.16 $3,717.43 ETH 2.27% $3.49 1,000 $3,490 ETH 2.17% $0.027972 119,534.8796 $3,343.65 ETH 1.63% $0.047553 52,729 $2,507.43 ETH 1.62% $8,952.59 0.2792 $2,499.12 ETH 1.46% $0.000031 72,401,377.3633 $2,250.23 ETH 1.25% $28.52 67.422 $1,922.67 ETH 1.18% $1.27 1,431.349 $1,817.81 ETH 1.11% $1.09 1,571.52 $1,714.53 ETH 1.11% $2.44 698.746 $1,704.94 ETH 0.98% $78.2 19.2367 $1,504.31 ETH 0.85% $1.89 689.8554 $1,303.83 ETH 0.61% $3,576.26 0.2627 $939.33 ETH 0.47% $0.673571 1,072.831 $722.63 ETH 0.40% $0.07582 8,100 $614.14 ETH 0.33% $1 500 $500 ETH 0.32% $0.998633 499.5348 $498.85 ETH 0.32% <$0.000001 1,831,607,570 $491.78 ETH 0.32% $126.52 3.883 $491.28 ETH 0.26% $0.032047 12,245.8811 $392.44 ETH 0.24% $0.000024 14,820,437.2426 $362.61 ETH 0.18% $0.931321 303.4059 $282.57 ETH 0.15% $0.000061 3,772,224.3 $230.22 ETH 0.13% $0.007316 27,312.6013 $199.81 ETH 0.10% $0.419181 376.633 $157.88 ETH 0.09% $0.150854 958.0002 $144.52 ETH 0.07% $0.02149 5,193.6865 $111.61 ETH 0.06% $0.142226 700 $99.56 ETH 0.06% $22.08 4.0784 $90.05 ETH 0.06% $588.06 0.15 $88.21 ETH 0.06% $2.22 39.4458 $87.57 ETH 0.06% $19.39 4.379 $84.91 ETH 0.05% $6.8 11.372 $77.28 ETH 0.05% $0.000063 1,201,000 $75.36 ETH 0.05% $0.003525 20,000 $70.49 ETH 0.04% $1.34 51.632 $69.19 ETH 0.04% $0.054805 1,131.4 $62.01 ETH 0.03% $68.13 0.7 $47.69 ETH 0.03% $0.692183 59.4049 $41.12 ETH 0.02% $0.001527 25,000 $38.18 ETH 0.02% $7.43 5 $37.16 ETH 0.02% $0.105035 338 $35.5 ETH 0.02% $0.25435 100 $25.44 ETH 0.01% $0.504856 45.0265 $22.73 ETH 0.01% $0.001204 15,982.2618 $19.25 ETH 0.01% $3.84 5 $19.2 ETH 0.01% $0.371976 48 $17.85 ETH 0.01% $0.336006 50 $16.8 ETH <0.01% $2.15 6 $12.9 ETH <0.01% $0.007355 1,503.1841 $11.06 ETH <0.01% $0.196439 49.2843 $9.68 ETH <0.01% $0.081037 110 $8.91 ETH <0.01% $0.002109 2,400 $5.06 ETH <0.01% $39.76 0.1 $3.98 ETH <0.01% $2.19 1.8 $3.94 ETH <0.01% $3.9 1 $3.9 ETH <0.01% $0.000292 10,000 $2.92 ETH <0.01% $64.95 0.02 $1.3 ETH <0.01% $0.99373 1.273 $1.27 ETH <0.01% $0.00005 20,213 $1.02 ETH <0.01% $0.446575 1 $0.4465 ETH <0.01% $0.262438 1.5 $0.3936 ETH <0.01% $0.104271 2.1 $0.2189 ETH <0.01% $0.003401 60 $0.204 ETH <0.01% $0.189626 1 $0.1896 BSC 0.66% $0.010066 101,000 $1,016.65 MATIC <0.01% $1.01 0.0005 $0.000507 [ Download: CSV Export ]A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.
Address QR Code
My Address - Private Name Tag or Note
My Name Tag:
Private Name Tags (up to 35 characters) can be used for easy identification of addressesPrivate Note:
A private note (up to 500 characters) can be attached to this address.
Please DO NOT store any passwords or private keys here.Compiler specific version warnings:
The compiled contract might be susceptible to AbiReencodingHeadOverflowWithStaticArrayCleanup (medium-severity), DirtyBytesArrayToStorage (low-severity), NestedCalldataArrayAbiReencodingSizeValidation (very low-severity), ABIDecodeTwoDimensionalArrayMemory (very low-severity), KeccakCaching (medium-severity), EmptyByteArrayCopy (medium-severity), DynamicArrayCleanup (medium-severity), MissingEscapingInFormatting (very low-severity), ImplicitConstructorCallvalueCheck (very low-severity), TupleAssignmentMultiStackSlotComponents (very low-severity), MemoryArrayCreationOverflow (low-severity) Solidity Compiler Bugs.
Connect a Wallet
Connecting wallet for read function is optional, useful if you want to call certain functions or simply use your wallet's node.Connect a Wallet
Connecting wallet for read function is optional, useful if you want to call certain functions or simply use your wallet's node.Connect a Wallet
Connecting wallet for read function is optional, useful if you want to call certain functions or simply use your wallet's node.Before You Copy
This website uses cookies to improve your experience. By continuing to use this website, you agree to its Terms and Privacy Policy.