Spend less on fees, more on crypto. Buy crypto easily with MoonPay Balance. 20M+ users trust MoonPay worldwide.
Ready to onboard to Ethereum? With MetaMask Portfolio, you're in control.
Don’t invest unless you’re prepared to lose all the money you invest.
Ready to simplify your web3 experience? Try the all-in-one web3 app trusted by millions worldwide.
Available on 9 networks: Ethereum mainnet, Linea, Polygon, Optimism, BNB Chain, zkSync Era, Base, Avalanche.
Everyday giveaways up to 100 ETH, Lucky Spins. Deposit BONUS 300% and Cashbacks!
5000+ Slots & Live Casino Games, 50+cryptos. Register with Etherscan and get 760% deposit bonus. Win Big$, withdraw it fast.
Slots, Roulette, Poker & more - Proud sponsors of UFC, Everton & StakeF1 team!
5000+ Slots & Live Casino Games, 50+cryptos. Register with Etherscan and get 760% deposit bonus. Win Big$, withdraw it fast.
Anonymous play on awesome games - sign up now for 25 free jackpot spins - worth $100s!
100s of games, generous bonuses, 20+ years of trusted gaming. Join CryptoWins & start winning today!
Overview
ETH Balance
Eth Value
$66.37 (@ $3,490.36/ETH)Token Holdings
Could not find any matches!
- ERC-20 Tokens (95)522.09206172 1INCH1INCH Token (1INCH)$217.07@0.415832,028,985.1926976 CAWA Hunters Dr... (CAW)$2.02@0.004,450.55090813 APEApeCoin (APE)$5,563.19@1.250.00000008 ARKMArkham (ARKM)$0.00@1.57080.07576025 AXSAxie Infinit... (AXS)$0.51@6.7217.13483181 BXXBaanx (BXX)$0.77@0.04490.00000799 BBTCBinance Wrap... (BBTC)$0.78@97,988.000.00928673 LINKChainLink To... (LINK)$0.23@24.490.37049208 CHZchiliZ (CHZ)$0.03@0.09210.00679867 cbETHCoinbase Wra... (cbETH)$25.68@3,777.728.97658802 CQTCovalent Que... (CQT)$0.05@0.005713.71061464 CROCronos Coin (CRO)$2.16@0.15770.00000006 MANADecentraland (MANA)$0.00@0.52840.7127367 DYDXdYdX (DYDX)$1.13@1.580.00376202 ETHxETHx (ETHx)$13.70@3,641.302.24235642 FETFetch (FET)$3.00@1.341,862,434.79874291 FLOKIFLOKI (FLOKI)$331.89@0.00020.01518379 FXSFrax Share (FXS)$0.06@4.100.16713465 GTCGitcoin (GTC)$0.13@0.774610.42894447 GRTGraph Token (GRT)$136.17@0.22310.01553189 GGravity (G)$0.00@0.03267.83000068 IMXImmutable X (IMX)$11.20@1.430.00731198 INJInjective To... (INJ)$0.17@22.57241.50820264 LCXLCX (LCX)$0.43@0.284716.00000001 LDOLido DAO Tok... (LDO)$30.56@1.910.33421911 LPTLivepeer Tok... (LPT)$6.33@18.951,406,380,687,038,030 TRUMPMAGA (TRUMP)0.82134826 MEMEMemecoin (MEME)$0.01@0.011133,977,639.0125207 PEPEPepe (PEPE)$629.61@0.000.00003212 QNTQuant (QNT)$0.00@118.780.52261091 RNDRRender Token (RNDR)$3.93@7.522.57312944 RBNRibbon (RBN)$0.99@0.38560.00170197 rETHRocket Pool ... (rETH)$6.65@3,909.99183.5921397 SCALEScalia Infra... (SCALE)$0.47@0.002511,382,506.8959933 SHIBSHIBA INU (SHIB)$260.20@0.001,613.34615793 SPELLSpell Token (SPELL)$1.29@0.000816.61681526 STGStargateToke... (STG)$6.75@0.40610.00706046 stETHstETH (stETH)$24.63@3,488.200.21646298 SUPERSuperVerse (SUPER)$0.38@1.740.00005473 sETHSynth sETH (sETH)$0.19@3,416.930 SNXSynthetix Ne... (SNX)$0.00@2.2028.5366 UDSUndeadServic... (UDS)$4.55@0.15940.73411266 UNIUniswap (UNI)$10.16@13.840.00346226 AAVEAave Token (AAVE)$1.28@369.060.08559669 BUSDBUSD (BUSD)$0.08@0.98540.00000002 COMPCompound (COMP)$0.00@86.350.00000001 CRVCurve DAO To... (CRV)$0.00@1.02870.42343368 DAIDai Stableco... (DAI)$0.42@1.000.71896658 FTMFantom Token (FTM)$0.69@0.966647.83366074 KNCKyber Networ... (KNC)$27.38@0.57240.00000025 MKRMaker (MKR)$0.00@1,603.1361.48244271 MATICMatic Token (MATIC)$31.58@0.51361.47667411 PENDLEPendle (PENDLE)$7.78@5.270.690711 USDTTether USD (USDT)$0.69@0.99960.316198 USDCUSDC (USDC)$0.32@1.000.00084707 wBETHWrapped Bina... (wBETH)$3.13@3,692.420.00047298 WBTCWrapped BTC (WBTC)$46.72@98,782.000.00451531 WETHWrapped Ethe... (WETH)$15.76@3,490.358248,000 Earn $TUSD airdrops at https://www.tenorusd.orgERC-20: $ te... (Earn $...)4.75ERC20 ***50,000 $ERC-20: + $5... ($)16,053,221.2726 CHKNChickencoin$1.23@0.005.31046522 DEAIERC-20: De L... (DEAI)4.15941068 DSyncDestra Network$1.46@0.35151.54201645 DOGE2ERC-20: DOGE... (DOGE2)1,674,773,178.14664 DINUDogey-Inu$1.28@0.003,559.56010414 EWIFERC-20: ETHE... (EWIF)9,187,113,374.38021 KIBIDIERC-20: SKIB... (KIBIDI)1 UPCUPCX$3.73@3.73891.06101393 GALAGala$34.29@0.038513.73971408 GPUNodeAI$19.79@1.4429.4438168 OPSECOpSec$3.16@0.10731.2 TokenERC-20 TOKEN*[Suspicious]1.4 TokenERC-20 TOKEN*[Suspicious]7,200,000 TokenERC-20 TOKEN*[Suspicious]6,000 TokenERC-20 TOKEN*[Suspicious]48,970.84 TokenERC-20 TOKEN*[Suspicious]5,000 TokenERC-20 TOKEN*[Suspicious]525,235,396 TokenERC-20 TOKEN*[Suspicious]74.7 TokenERC-20 TOKEN*[Suspicious]92.47 TokenERC-20 TOKEN*[Suspicious]1.7 TokenERC-20 TOKEN*[Suspicious]5,000 TokenERC-20 TOKEN*[Suspicious]950 TokenERC-20 TOKEN*[Suspicious]1.4 TokenERC-20 TOKEN*[Suspicious]0.7 TokenERC-20 TOKEN*[Suspicious]245.44 TokenERC-20 TOKEN*[Suspicious]5,000 TokenERC-20 TOKEN*[Suspicious]1,500 TokenERC-20 TOKEN*[Suspicious]1.4 TokenERC-20 TOKEN*[Spam]75,539,184.44 TokenERC-20 TOKEN*[Spam]132.84 TokenERC-20 TOKEN*[Spam]3,999.99 TokenERC-20 TOKEN*[Spam]3,999.99 TokenERC-20 TOKEN*[Spam]3,999.99 TokenERC-20 TOKEN*[Spam]NFT Tokens (89)pepenewyear.com'PEPE Mysterybox NFTERC-1155claim rewards on aprgraph.comaprgraph.comERC-1155claim rewards on apyusd.netapyusd.netERC-1155claim rewards on clinkevent.comclinkevent.comERC-1155claim rewards on cronosprotocol.netcronosprotocol.netERC-1155nft-dai.comDAI Mysterybox NFTERC-1155claim rewards on dydxnetwork.orgdydxnetwork.orgERC-1155claim rewards on fetchevent.netfetchevent.netERC-1155claim rewards on fetpool.orgfetpool.orgERC-1155claim rewards on fraxprotocol.comfraxprotocol.comERC-1155claim rewards on galav2.comgalav2.comERC-1155claim rewards on getaave.orggetaave.orgERC-1155claim rewards on getquant.orggetquant.orgERC-1155claim rewards on injectivepool.orginjectivepool.orgERC-1155claim rewards on linkprize.iolinkprize.ioERC-1155nft-memecoin.comMEME Mysterybox NFTERC-1155claim rewards on pepetoken.netpepetoken.netERC-1155https://t.ly/wethPOOL wETHERC-1155claim rewards on pooledeth.orgpooledeth.orgERC-1155claim rewards qntnetwork.orgqntnetwork.orgERC-1155claim rewards on renderpool.orgrenderpool.orgERC-1155claim rewards on renderportal.netrenderportal.netERC-1155claim rewards on snxtoken.comsnxtoken.comERC-1155claim rewards on stakedeth.iostakedeth.ioERC-1155claim rewards on univ4labs.orguniv4labs.orgERC-1155claim rewards on univ4portal.comuniv4portal.comERC-1155claim rewards on wbtcnetwork.netwbtcnetwork.netERC-1155claim rewards on wsteth.comwsteth.comERC-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*[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]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]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]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
- Transactions
- Internal Transactions
- Token Transfers (ERC-20)
- NFT Transfers
- Contract
- Events
- Analytics
- Multichain Portfolio
- Cards New
Advanced Filter- Filter by Tx Type:
- Tx
- Internal Tx
- ERC-20
- NFTs
Latest 25 from a total of 961 transactions
Transaction Hash MethodBlockFromToTransfer 20925833 2024-10-09 5:06:23 77 days ago 1728450383 IN 0.0175 ETH$61.08 0.00022939 10.89514411 Withdraw 20925260 2024-10-09 3:11:35 77 days ago 1728443495 IN 0 ETH$0.00 0.00052084 14.64778887 Withdraw Tokens 20925253 2024-10-09 3:10:11 77 days ago 1728443411 IN 0 ETH$0.00 0.00087487 13.31553153 Withdraw Tokens 20925251 2024-10-09 3:09:47 77 days ago 1728443387 IN 0 ETH$0.00 0.00317976 13.70017302 Withdraw Tokens 20925250 2024-10-09 3:09:35 77 days ago 1728443375 IN 0 ETH$0.00 0.00086791 13.68157704 Withdraw Tokens 20925248 2024-10-09 3:09:11 77 days ago 1728443351 IN 0 ETH$0.00 0.00086774 13.78310133 Withdraw Tokens 20925247 2024-10-09 3:08:59 77 days ago 1728443339 IN 0 ETH$0.00 0.00084682 13.44644057 Withdraw Tokens 20925245 2024-10-09 3:08:35 77 days ago 1728443315 IN 0 ETH$0.00 0.00078339 13.43964608 Withdraw Tokens 20925244 2024-10-09 3:08:23 77 days ago 1728443303 IN 0 ETH$0.00 0.00094279 13.75017463 Withdraw Tokens 20925243 2024-10-09 3:08:11 77 days ago 1728443291 IN 0 ETH$0.00 0.00096483 13.26567788 Withdraw Tokens 20925242 2024-10-09 3:07:59 77 days ago 1728443279 IN 0 ETH$0.00 0.00089642 13.02438114 Withdraw Tokens 20925240 2024-10-09 3:07:35 77 days ago 1728443255 IN 0 ETH$0.00 0.00096268 13.60800252 Withdraw Tokens 20925239 2024-10-09 3:07:23 77 days ago 1728443243 IN 0 ETH$0.00 0.00130996 13.65415968 Withdraw Tokens 20925237 2024-10-09 3:06:59 77 days ago 1728443219 IN 0 ETH$0.00 0.00087158 13.71089086 Withdraw Tokens 20925235 2024-10-09 3:06:35 77 days ago 1728443195 IN 0 ETH$0.00 0.00083571 13.30541078 Withdraw Tokens 20925233 2024-10-09 3:06:11 77 days ago 1728443171 IN 0 ETH$0.00 0.00096623 13.12461921 Withdraw Tokens 20925231 2024-10-09 3:05:47 77 days ago 1728443147 IN 0 ETH$0.00 0.00084775 13.41594013 Withdraw Tokens 20925229 2024-10-09 3:05:23 77 days ago 1728443123 IN 0 ETH$0.00 0.00078027 13.59537513 Withdraw Tokens 20925227 2024-10-09 3:04:59 77 days ago 1728443099 IN 0 ETH$0.00 0.0008882 13.50698832 Withdraw Tokens 20925225 2024-10-09 3:04:35 77 days ago 1728443075 IN 0 ETH$0.00 0.0009409 13.09613365 Withdraw Tokens 20923379 2024-10-08 20:54:11 78 days ago 1728420851 IN 0 ETH$0.00 0.00150262 20.17138794 Withdraw Tokens 20906866 2024-10-06 13:39:59 80 days ago 1728221999 IN 0 ETH$0.00 0.00047473 7.53627978 Withdraw Tokens 20876228 2024-10-02 7:10:11 84 days ago 1727853011 IN 0 ETH$0.00 0.00038413 5.1565961 Withdraw Tokens 20858133 2024-09-29 18:36:47 87 days ago 1727635007 IN 0 ETH$0.00 0.00068615 9.54878488 Withdraw Tokens 20843103 2024-09-27 16:17:47 89 days ago 1727453867 IN 0 ETH$0.00 0.00147019 20.46310835 Latest 25 internal transactions (View All)
Advanced mode:Parent Transaction Hash Block FromTo20925260 2024-10-09 3:11:35 77 days ago 1728443495 2.75 ETH$9,598.48 20835068 2024-09-26 13:24:11 90 days ago 1727357051 0.03072065 ETH$107.23 20825038 2024-09-25 3:48:35 91 days ago 1727236115 0.2715064 ETH$947.65 20820385 2024-09-24 12:14:11 92 days ago 1727180051 0.10546847 ETH$368.12 20816873 2024-09-24 0:29:47 92 days ago 1727137787 0.00003964 ETH$0.14 20816760 2024-09-24 0:06:59 92 days ago 1727136419 0.00094731 ETH$3.31 20813002 2024-09-23 11:32:23 93 days ago 1727091143 0.105 ETH$366.49 20813002 2024-09-23 11:32:23 93 days ago 1727091143 0.105 ETH$366.49 20809867 2024-09-23 1:01:11 93 days ago 1727053271 0.00289995 ETH$10.12 20801516 2024-09-21 21:03:47 95 days ago 1726952627 6 ETH$20,942.15 20778793 2024-09-18 16:52:35 98 days ago 1726678355 1.50368701 ETH$5,248.41 20773983 2024-09-18 0:44:47 98 days ago 1726620287 0.00039636 ETH$1.38 20773920 2024-09-18 0:32:11 98 days ago 1726619531 0.0000792 ETH$0.28 20757257 2024-09-15 16:37:35 101 days ago 1726418255 1.51528 ETH$5,288.87 20757257 2024-09-15 16:37:35 101 days ago 1726418255 1.51528 ETH$5,288.87 20757172 2024-09-15 16:20:23 101 days ago 1726417223 1.51570067 ETH$5,290.34 20756710 2024-09-15 14:47:35 101 days ago 1726411655 0.00000001 ETH$0.00 20749760 2024-09-14 15:32:11 102 days ago 1726327931 1.50837 ETH$5,264.75 20749760 2024-09-14 15:32:11 102 days ago 1726327931 1.50837 ETH$5,264.75 20744620 2024-09-13 22:16:59 103 days ago 1726265819 0.00834531 ETH$29.13 20738448 2024-09-13 1:36:47 103 days ago 1726191407 0.00039683 ETH$1.39 20738320 2024-09-13 1:11:11 103 days ago 1726189871 0.00007959 ETH$0.28 20733008 2024-09-12 7:21:23 104 days ago 1726125683 0.00015802 ETH$0.55 20731164 2024-09-12 1:10:59 104 days ago 1726103459 0.62379693 ETH$2,177.27 20711663 2024-09-09 7:48:35 107 days ago 1725868115 0.0003974 ETH$1.39 Loading...LoadingContract Name:Vault
Compiler Versionv0.8.17+commit.8df45f5f
Optimization Enabled:Yes with 1000 runs
Other Settings:default evmVersionContract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: BUSL-1.1 pragma solidity ^0.8.17; import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol"; import "./access/MPCOperable.sol"; import "./interfaces/IVault.sol"; import "./interfaces/IWETH.sol"; contract Vault is MPCOperable, IVault { using SafeERC20 for IERC20; using SafeERC20 for IERC20Permit; address public immutable WETH; constructor(address _WETH, address _MPC) MPCOperable(_MPC) { WETH = _WETH; } receive() external payable {} function deposit() external payable {} function depositToMPC() external payable { _withdraw(payable(mpc()), msg.value); } function depositTokens(address from, address token, uint256 amount) external onlyMPCOperable { _depositTokens(from, token, amount); } function depositTokensToMPC(address from, address token, uint256 amount) external onlyMPCOperable { _depositTokensToMPC(from, token, amount); } function depositTokensWithPermit( address from, address token, uint256 amount, Permit calldata permit ) external onlyMPCOperable { IERC20Permit(token).permit(from, address(this), permit.amount, permit.deadline, permit.v, permit.r, permit.s); _depositTokens(from, token, amount); } function depositTokensToMPCWithPermit( address from, address token, uint256 amount, Permit calldata permit ) external onlyMPCOperable { IERC20Permit(token).permit(from, address(this), permit.amount, permit.deadline, permit.v, permit.r, permit.s); _depositTokensToMPC(from, token, amount); } function withdraw(address payable to, uint256 amount) external onlyMPCOperable { _withdraw(to, amount); } function withdrawTokens(address to, address token, uint256 amount) external onlyMPCOperable { IERC20(token).safeTransfer(to, amount); } function _depositTokens(address from, address token, uint256 amount) internal { IERC20(token).safeTransferFrom(from, address(this), amount); if (token == WETH) { IWETH(WETH).withdraw(amount); } } function _depositTokensToMPC(address from, address token, uint256 amount) internal { if (token == WETH) { IERC20(token).safeTransferFrom(from, address(this), amount); IWETH(WETH).withdraw(amount); _withdraw(payable(mpc()), amount); } else { IERC20(token).safeTransferFrom(from, mpc(), amount); } } function _withdraw(address payable to, uint256 amount) private { (bool success, ) = to.call{value: amount}(""); require(success, "Vault: Sending ETH has been failed"); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/draft-IERC20Permit.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in * https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. * * Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by * presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't * need to send a transaction, and thus is not required to hold Ether at all. */ interface IERC20Permit { /** * @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens, * given ``owner``'s signed approval. * * IMPORTANT: The same issues {IERC20-approve} has related to transaction * ordering also apply here. * * Emits an {Approval} event. * * Requirements: * * - `spender` cannot be the zero address. * - `deadline` must be a timestamp in the future. * - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` * over the EIP712-formatted function arguments. * - the signature must use ``owner``'s current nonce (see {nonces}). * * For more information on the signature format, see the * https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP * section]. */ function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; /** * @dev Returns the current nonce for `owner`. This value must be * included whenever a signature is generated for {permit}. * * Every successful call to {permit} increases ``owner``'s nonce by one. This * prevents a signature from being used multiple times. */ function nonces(address owner) external view returns (uint256); /** * @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}. */ // solhint-disable-next-line func-name-mixedcase function DOMAIN_SEPARATOR() external view returns (bytes32); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 amount ) external returns (bool); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.8.0) (token/ERC20/utils/SafeERC20.sol) pragma solidity ^0.8.0; import "../IERC20.sol"; import "../extensions/draft-IERC20Permit.sol"; import "../../../utils/Address.sol"; /** * @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 IERC20;` statement to your contract, * which allows you to call the safe operations as `token.safeTransfer(...)`, etc. */ library SafeERC20 { 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)); } /** * @dev Deprecated. This function has issues similar to the ones found in * {IERC20-approve}, and its usage is discouraged. * * Whenever possible, use {safeIncreaseAllowance} and * {safeDecreaseAllowance} instead. */ 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' 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) + value; _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } function safeDecreaseAllowance( IERC20 token, address spender, uint256 value ) internal { unchecked { uint256 oldAllowance = token.allowance(address(this), spender); require(oldAllowance >= value, "SafeERC20: decreased allowance below zero"); uint256 newAllowance = oldAllowance - value; _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } } function safePermit( IERC20Permit token, address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) internal { uint256 nonceBefore = token.nonces(owner); token.permit(owner, spender, value, deadline, v, r, s); uint256 nonceAfter = token.nonces(owner); require(nonceAfter == nonceBefore + 1, "SafeERC20: permit did not succeed"); } /** * @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. We use {Address-functionCall} to perform this call, which verifies that // the target address contains contract code and also asserts for success in the low-level call. bytes memory returndata = address(token).functionCall(data, "SafeERC20: low-level call failed"); if (returndata.length > 0) { // Return data is optional require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed"); } } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.8.0) (utils/Address.sol) pragma solidity ^0.8.1; /** * @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 * ==== * * [IMPORTANT] * ==== * You shouldn't rely on `isContract` to protect against flash loan attacks! * * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract * constructor. * ==== */ function isContract(address account) internal view returns (bool) { // This method relies on extcodesize/address.code.length, which returns 0 // for contracts in construction, since the code is only stored at the end // of the constructor execution. return account.code.length > 0; } /** * @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]. */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{value: amount}(""); require(success, "Address: unable to send value, recipient may have reverted"); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain `call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ function functionCallWithValue( address target, bytes memory data, uint256 value ) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCallWithValue( address target, bytes memory data, uint256 value, string memory errorMessage ) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); (bool success, bytes memory returndata) = target.call{value: value}(data); return verifyCallResultFromTarget(target, success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall( address target, bytes memory data, string memory errorMessage ) internal view returns (bytes memory) { (bool success, bytes memory returndata) = target.staticcall(data); return verifyCallResultFromTarget(target, success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { (bool success, bytes memory returndata) = target.delegatecall(data); return verifyCallResultFromTarget(target, success, returndata, errorMessage); } /** * @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling * the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract. * * _Available since v4.8._ */ function verifyCallResultFromTarget( address target, bool success, bytes memory returndata, string memory errorMessage ) internal view returns (bytes memory) { if (success) { if (returndata.length == 0) { // only check isContract if the call was successful and the return data is empty // otherwise we already know that it was a contract require(isContract(target), "Address: call to non-contract"); } return returndata; } else { _revert(returndata, errorMessage); } } /** * @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the * revert reason or using the provided one. * * _Available since v4.3._ */ function verifyCallResult( bool success, bytes memory returndata, string memory errorMessage ) internal pure returns (bytes memory) { if (success) { return returndata; } else { _revert(returndata, errorMessage); } } function _revert(bytes memory returndata, string memory errorMessage) private pure { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly /// @solidity memory-safe-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } }
// SPDX-License-Identifier: BUSL-1.1 pragma solidity ^0.8.17; abstract contract MPCManageable { event MPCUpdated(address indexed oldMPC, address indexed newMPC, uint256 effectiveTime); uint256 public constant DELAY = 2 days; address internal _oldMPC; address internal _newMPC; uint256 internal _newMPCEffectiveTime; constructor(address _MPC) { _updateMPC(_MPC, 0); } modifier onlyMPC() { _checkMPC(); _; } function mpc() public view returns (address) { if (block.timestamp >= _newMPCEffectiveTime) { return _newMPC; } return _oldMPC; } function updateMPC(address newMPC) public onlyMPC { _updateMPC(newMPC, DELAY); } function _updateMPC(address newMPC, uint256 delay) private { require(newMPC != address(0), "MPCManageable: Nullable MPC"); _oldMPC = mpc(); _newMPC = newMPC; _newMPCEffectiveTime = block.timestamp + delay; emit MPCUpdated(_oldMPC, _newMPC, _newMPCEffectiveTime); } function _checkMPC() internal view { require(msg.sender == mpc(), "MPCManageable: Non MPC"); } }
// SPDX-License-Identifier: BUSL-1.1 pragma solidity ^0.8.17; import "./MPCManageable.sol"; abstract contract MPCOperable is MPCManageable { event Initialized(); event OperatorAdded(address indexed operator, uint256 effectiveTime); event OperatorRemoved(address indexed operator); bool private _initialized; mapping(address => uint256) public operators; modifier onlyMPCOperable() { _checkMPCOperable(); _; } constructor(address _MPC) MPCManageable(_MPC) {} function initOperators(address[] memory _operators) public onlyMPC { require(!_initialized, "MPCOperable: Already initialized"); require(_operators.length > 0, "MPCOperable: Empty operators"); _initialized = true; for (uint256 i = 0; i < _operators.length; i++) { _addOperator(_operators[i], 0); } emit Initialized(); } function initialized() public view returns (bool) { return _initialized; } function addOperator(address operator) public onlyMPC { _addOperator(operator, DELAY); } function removeOperator(address operator) public onlyMPC { require(operators[operator] != 0, "MPCOperable: Operator doesn't exist"); delete operators[operator]; emit OperatorRemoved(operator); } function _addOperator(address operator, uint256 delay) private { require(operator != address(0x0), "MPCOperable: Nullable operator"); require(operators[operator] == 0, "MPCOperable: Operator exists"); operators[operator] = block.timestamp + delay; emit OperatorAdded(operator, operators[operator]); } function _checkMPCOperable() internal view { require( (operators[msg.sender] > 0 && block.timestamp >= operators[msg.sender]) || msg.sender == mpc(), "MPCOperable: Must be MPC or operator" ); } }
// SPDX-License-Identifier: BUSL-1.1 pragma solidity ^0.8.17; struct Permit { uint256 amount; uint256 deadline; uint8 v; bytes32 r; bytes32 s; } interface IVault { function WETH() external view returns (address); receive() external payable; function deposit() external payable; function depositToMPC() external payable; function depositTokens(address from, address token, uint256 amount) external; function depositTokensToMPC(address from, address token, uint256 amount) external; function depositTokensWithPermit(address from, address token, uint256 amount, Permit calldata permit) external; function depositTokensToMPCWithPermit(address from, address token, uint256 amount, Permit calldata permit) external; function withdraw(address payable to, uint256 amount) external; function withdrawTokens(address to, address token, uint256 amount) external; }
// SPDX-License-Identifier: BUSL-1.1 pragma solidity ^0.8.17; interface IWETH { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); function balanceOf(address) external view returns (uint256); function allowance(address, address) external view returns (uint256); function deposit() external payable; function withdraw(uint256) external; function approve(address guy, uint256 wad) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom(address src, address dst, uint256 amount) external returns (bool); }
{ "optimizer": { "enabled": true, "runs": 1000 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
[{"inputs":[{"internalType":"address","name":"_WETH","type":"address"},{"internalType":"address","name":"_MPC","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldMPC","type":"address"},{"indexed":true,"internalType":"address","name":"newMPC","type":"address"},{"indexed":false,"internalType":"uint256","name":"effectiveTime","type":"uint256"}],"name":"MPCUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"uint256","name":"effectiveTime","type":"uint256"}],"name":"OperatorAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"}],"name":"OperatorRemoved","type":"event"},{"inputs":[],"name":"DELAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WETH","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"addOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"depositToMPC","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"depositTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"depositTokensToMPC","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Permit","name":"permit","type":"tuple"}],"name":"depositTokensToMPCWithPermit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Permit","name":"permit","type":"tuple"}],"name":"depositTokensWithPermit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_operators","type":"address[]"}],"name":"initOperators","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mpc","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"operators","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"removeOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newMPC","type":"address"}],"name":"updateMPC","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a06040523480156200001157600080fd5b506040516200168e3803806200168e833981016040819052620000349162000192565b80806200004381600062000058565b5050506001600160a01b0316608052620001f2565b6001600160a01b038216620000b35760405162461bcd60e51b815260206004820152601b60248201527f4d50434d616e61676561626c653a204e756c6c61626c65204d50430000000000604482015260640160405180910390fd5b620000bd62000149565b600080546001600160a01b03199081166001600160a01b039384161790915560018054909116918416919091179055620000f88142620001ca565b60028190556001546000546040519283526001600160a01b03918216929116907fd4f738392c346d39b1aa1a5aec7636e00ee014a495f29ce6fb1770051c4d8aff9060200160405180910390a35050565b600060025442106200016557506001546001600160a01b031690565b506000546001600160a01b031690565b80516001600160a01b03811681146200018d57600080fd5b919050565b60008060408385031215620001a657600080fd5b620001b18362000175565b9150620001c16020840162000175565b90509250929050565b80820180821115620001ec57634e487b7160e01b600052601160045260246000fd5b92915050565b6080516114646200022a6000396000818161029401528181610a1301528181610a6001528181610d5d0152610dbf01526114646000f3fe6080604052600436106101125760003560e01c8063a60cdab2116100a5578063c669c65711610074578063e2a804d211610059578063e2a804d2146102ee578063f3fef3a31461030e578063f75c26641461032e57600080fd5b8063c669c657146102ce578063d0e30db01461013e57600080fd5b8063a60cdab214610222578063ac20243e14610242578063ac8a584a14610262578063ad5c46481461028257600080fd5b80633b057a10116100e15780633b057a10146101c35780635e35359e146101cb57806369b41170146101eb5780639870d7fe1461020257600080fd5b8063105aeb961461011e57806313e7c9d814610140578063158ef93e1461018057806339dc5ef2146101a357600080fd5b3661011957005b600080fd5b34801561012a57600080fd5b5061013e610139366004611150565b610343565b005b34801561014c57600080fd5b5061016d61015b366004611150565b60046020526000908152604090205481565b6040519081526020015b60405180910390f35b34801561018c57600080fd5b5060035460ff166040519015158152602001610177565b3480156101af57600080fd5b5061013e6101be366004611174565b61035b565b61013e610373565b3480156101d757600080fd5b5061013e6101e6366004611174565b610386565b3480156101f757600080fd5b5061016d6202a30081565b34801561020e57600080fd5b5061013e61021d366004611150565b6103a2565b34801561022e57600080fd5b5061013e61023d3660046111b5565b6103b7565b34801561024e57600080fd5b5061013e61025d366004611227565b61049b565b34801561026e57600080fd5b5061013e61027d366004611150565b6105c8565b34801561028e57600080fd5b506102b67f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610177565b3480156102da57600080fd5b5061013e6102e93660046111b5565b6106a1565b3480156102fa57600080fd5b5061013e610309366004611174565b61077f565b34801561031a57600080fd5b5061013e6103293660046112ec565b610792565b34801561033a57600080fd5b506102b66107a8565b61034b6107d3565b610358816202a30061083b565b50565b61036361093b565b61036e8383836109fc565b505050565b61038461037e6107a8565b34610ac9565b565b61038e61093b565b61036e6001600160a01b0383168483610b92565b6103aa6107d3565b610358816202a300610c3b565b6103bf61093b565b6001600160a01b03831663d505accf8530843560208601356103e76060880160408901611318565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b1681526001600160a01b0395861660048201529490931660248501526044840191909152606483015260ff166084820152606084013560a4820152608084013560c482015260e401600060405180830381600087803b15801561047257600080fd5b505af1158015610486573d6000803e3d6000fd5b505050506104958484846109fc565b50505050565b6104a36107d3565b60035460ff16156104fb5760405162461bcd60e51b815260206004820181905260248201527f4d50434f70657261626c653a20416c726561647920696e697469616c697a656460448201526064015b60405180910390fd5b600081511161054c5760405162461bcd60e51b815260206004820152601c60248201527f4d50434f70657261626c653a20456d707479206f70657261746f72730000000060448201526064016104f2565b6003805460ff1916600117905560005b815181101561059b5761058982828151811061057a5761057a61133b565b60200260200101516000610c3b565b8061059381611367565b91505061055c565b506040517f5daa87a0e9463431830481fd4b6e3403442dfb9a12b9c07597e9f61d50b633c890600090a150565b6105d06107d3565b6001600160a01b038116600090815260046020526040812054900361065d5760405162461bcd60e51b815260206004820152602360248201527f4d50434f70657261626c653a204f70657261746f7220646f65736e277420657860448201527f697374000000000000000000000000000000000000000000000000000000000060648201526084016104f2565b6001600160a01b038116600081815260046020526040808220829055517f80c0b871b97b595b16a7741c1b06fed0c6f6f558639f18ccbce50724325dc40d9190a250565b6106a961093b565b6001600160a01b03831663d505accf8530843560208601356106d16060880160408901611318565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b1681526001600160a01b0395861660048201529490931660248501526044840191909152606483015260ff166084820152606084013560a4820152608084013560c482015260e401600060405180830381600087803b15801561075c57600080fd5b505af1158015610770573d6000803e3d6000fd5b50505050610495848484610d5b565b61078761093b565b61036e838383610d5b565b61079a61093b565b6107a48282610ac9565b5050565b600060025442106107c357506001546001600160a01b031690565b506000546001600160a01b031690565b6107db6107a8565b6001600160a01b0316336001600160a01b0316146103845760405162461bcd60e51b815260206004820152601660248201527f4d50434d616e61676561626c653a204e6f6e204d50430000000000000000000060448201526064016104f2565b6001600160a01b0382166108915760405162461bcd60e51b815260206004820152601b60248201527f4d50434d616e61676561626c653a204e756c6c61626c65204d5043000000000060448201526064016104f2565b6108996107a8565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081166001600160a01b0393841617909155600180549091169184169190911790556108ea8142611380565b60028190556001546000546040519283526001600160a01b03918216929116907fd4f738392c346d39b1aa1a5aec7636e00ee014a495f29ce6fb1770051c4d8aff9060200160405180910390a35050565b33600090815260046020526040902054158015906109685750336000908152600460205260409020544210155b8061098b57506109766107a8565b6001600160a01b0316336001600160a01b0316145b6103845760405162461bcd60e51b8152602060048201526024808201527f4d50434f70657261626c653a204d757374206265204d5043206f72206f70657260448201527f61746f720000000000000000000000000000000000000000000000000000000060648201526084016104f2565b610a116001600160a01b038316843084610e4e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03160361036e57604051632e1a7d4d60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d90602401600060405180830381600087803b158015610aac57600080fd5b505af1158015610ac0573d6000803e3d6000fd5b50505050505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610b16576040519150601f19603f3d011682016040523d82523d6000602084013e610b1b565b606091505b505090508061036e5760405162461bcd60e51b815260206004820152602260248201527f5661756c743a2053656e64696e672045544820686173206265656e206661696c60448201527f656400000000000000000000000000000000000000000000000000000000000060648201526084016104f2565b6040516001600160a01b03831660248201526044810182905261036e9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610e9f565b6001600160a01b038216610c915760405162461bcd60e51b815260206004820152601e60248201527f4d50434f70657261626c653a204e756c6c61626c65206f70657261746f72000060448201526064016104f2565b6001600160a01b03821660009081526004602052604090205415610cf75760405162461bcd60e51b815260206004820152601c60248201527f4d50434f70657261626c653a204f70657261746f72206578697374730000000060448201526064016104f2565b610d018142611380565b6001600160a01b038316600081815260046020526040908190208390555190917fcbcb793495a5fd793da61a1d62ab99b58925f94b0a61beeec3ea7d7d6c4f259491610d4f91815260200190565b60405180910390a25050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610e3457610da96001600160a01b038316843084610e4e565b604051632e1a7d4d60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d90602401600060405180830381600087803b158015610e0b57600080fd5b505af1158015610e1f573d6000803e3d6000fd5b5050505061036e610e2e6107a8565b82610ac9565b61036e83610e406107a8565b6001600160a01b0385169190845b6040516001600160a01b03808516602483015283166044820152606481018290526104959085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401610bd7565b6000610ef4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610f849092919063ffffffff16565b80519091501561036e5780806020019051810190610f129190611399565b61036e5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016104f2565b6060610f938484600085610f9b565b949350505050565b6060824710156110135760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016104f2565b600080866001600160a01b0316858760405161102f91906113df565b60006040518083038185875af1925050503d806000811461106c576040519150601f19603f3d011682016040523d82523d6000602084013e611071565b606091505b50915091506110828783838761108d565b979650505050505050565b606083156110fc5782516000036110f5576001600160a01b0385163b6110f55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104f2565b5081610f93565b610f9383838151156111115781518083602001fd5b8060405162461bcd60e51b81526004016104f291906113fb565b6001600160a01b038116811461035857600080fd5b803561114b8161112b565b919050565b60006020828403121561116257600080fd5b813561116d8161112b565b9392505050565b60008060006060848603121561118957600080fd5b83356111948161112b565b925060208401356111a48161112b565b929592945050506040919091013590565b6000806000808486036101008112156111cd57600080fd5b85356111d88161112b565b945060208601356111e88161112b565b93506040860135925060a0605f198201121561120357600080fd5b509295919450926060019150565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561123a57600080fd5b823567ffffffffffffffff8082111561125257600080fd5b818501915085601f83011261126657600080fd5b81358181111561127857611278611211565b8060051b604051601f19603f8301168101818110858211171561129d5761129d611211565b6040529182528482019250838101850191888311156112bb57600080fd5b938501935b828510156112e0576112d185611140565b845293850193928501926112c0565b98975050505050505050565b600080604083850312156112ff57600080fd5b823561130a8161112b565b946020939093013593505050565b60006020828403121561132a57600080fd5b813560ff8116811461116d57600080fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161137957611379611351565b5060010190565b8082018082111561139357611393611351565b92915050565b6000602082840312156113ab57600080fd5b8151801515811461116d57600080fd5b60005b838110156113d65781810151838201526020016113be565b50506000910152565b600082516113f18184602087016113bb565b9190910192915050565b602081526000825180602084015261141a8160408501602087016113bb565b601f01601f1916919091016040019291505056fea264697066735822122064c7d3e5a67d5171b84be4a20bd4a1f367bc589cc9bf028cc7e20d816c24f6b764736f6c63430008110033000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000c76281a72dbb71ae4762cda699cd3d6ba53afbaDeployed Bytecode
0x6080604052600436106101125760003560e01c8063a60cdab2116100a5578063c669c65711610074578063e2a804d211610059578063e2a804d2146102ee578063f3fef3a31461030e578063f75c26641461032e57600080fd5b8063c669c657146102ce578063d0e30db01461013e57600080fd5b8063a60cdab214610222578063ac20243e14610242578063ac8a584a14610262578063ad5c46481461028257600080fd5b80633b057a10116100e15780633b057a10146101c35780635e35359e146101cb57806369b41170146101eb5780639870d7fe1461020257600080fd5b8063105aeb961461011e57806313e7c9d814610140578063158ef93e1461018057806339dc5ef2146101a357600080fd5b3661011957005b600080fd5b34801561012a57600080fd5b5061013e610139366004611150565b610343565b005b34801561014c57600080fd5b5061016d61015b366004611150565b60046020526000908152604090205481565b6040519081526020015b60405180910390f35b34801561018c57600080fd5b5060035460ff166040519015158152602001610177565b3480156101af57600080fd5b5061013e6101be366004611174565b61035b565b61013e610373565b3480156101d757600080fd5b5061013e6101e6366004611174565b610386565b3480156101f757600080fd5b5061016d6202a30081565b34801561020e57600080fd5b5061013e61021d366004611150565b6103a2565b34801561022e57600080fd5b5061013e61023d3660046111b5565b6103b7565b34801561024e57600080fd5b5061013e61025d366004611227565b61049b565b34801561026e57600080fd5b5061013e61027d366004611150565b6105c8565b34801561028e57600080fd5b506102b67f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6040516001600160a01b039091168152602001610177565b3480156102da57600080fd5b5061013e6102e93660046111b5565b6106a1565b3480156102fa57600080fd5b5061013e610309366004611174565b61077f565b34801561031a57600080fd5b5061013e6103293660046112ec565b610792565b34801561033a57600080fd5b506102b66107a8565b61034b6107d3565b610358816202a30061083b565b50565b61036361093b565b61036e8383836109fc565b505050565b61038461037e6107a8565b34610ac9565b565b61038e61093b565b61036e6001600160a01b0383168483610b92565b6103aa6107d3565b610358816202a300610c3b565b6103bf61093b565b6001600160a01b03831663d505accf8530843560208601356103e76060880160408901611318565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b1681526001600160a01b0395861660048201529490931660248501526044840191909152606483015260ff166084820152606084013560a4820152608084013560c482015260e401600060405180830381600087803b15801561047257600080fd5b505af1158015610486573d6000803e3d6000fd5b505050506104958484846109fc565b50505050565b6104a36107d3565b60035460ff16156104fb5760405162461bcd60e51b815260206004820181905260248201527f4d50434f70657261626c653a20416c726561647920696e697469616c697a656460448201526064015b60405180910390fd5b600081511161054c5760405162461bcd60e51b815260206004820152601c60248201527f4d50434f70657261626c653a20456d707479206f70657261746f72730000000060448201526064016104f2565b6003805460ff1916600117905560005b815181101561059b5761058982828151811061057a5761057a61133b565b60200260200101516000610c3b565b8061059381611367565b91505061055c565b506040517f5daa87a0e9463431830481fd4b6e3403442dfb9a12b9c07597e9f61d50b633c890600090a150565b6105d06107d3565b6001600160a01b038116600090815260046020526040812054900361065d5760405162461bcd60e51b815260206004820152602360248201527f4d50434f70657261626c653a204f70657261746f7220646f65736e277420657860448201527f697374000000000000000000000000000000000000000000000000000000000060648201526084016104f2565b6001600160a01b038116600081815260046020526040808220829055517f80c0b871b97b595b16a7741c1b06fed0c6f6f558639f18ccbce50724325dc40d9190a250565b6106a961093b565b6001600160a01b03831663d505accf8530843560208601356106d16060880160408901611318565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b1681526001600160a01b0395861660048201529490931660248501526044840191909152606483015260ff166084820152606084013560a4820152608084013560c482015260e401600060405180830381600087803b15801561075c57600080fd5b505af1158015610770573d6000803e3d6000fd5b50505050610495848484610d5b565b61078761093b565b61036e838383610d5b565b61079a61093b565b6107a48282610ac9565b5050565b600060025442106107c357506001546001600160a01b031690565b506000546001600160a01b031690565b6107db6107a8565b6001600160a01b0316336001600160a01b0316146103845760405162461bcd60e51b815260206004820152601660248201527f4d50434d616e61676561626c653a204e6f6e204d50430000000000000000000060448201526064016104f2565b6001600160a01b0382166108915760405162461bcd60e51b815260206004820152601b60248201527f4d50434d616e61676561626c653a204e756c6c61626c65204d5043000000000060448201526064016104f2565b6108996107a8565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081166001600160a01b0393841617909155600180549091169184169190911790556108ea8142611380565b60028190556001546000546040519283526001600160a01b03918216929116907fd4f738392c346d39b1aa1a5aec7636e00ee014a495f29ce6fb1770051c4d8aff9060200160405180910390a35050565b33600090815260046020526040902054158015906109685750336000908152600460205260409020544210155b8061098b57506109766107a8565b6001600160a01b0316336001600160a01b0316145b6103845760405162461bcd60e51b8152602060048201526024808201527f4d50434f70657261626c653a204d757374206265204d5043206f72206f70657260448201527f61746f720000000000000000000000000000000000000000000000000000000060648201526084016104f2565b610a116001600160a01b038316843084610e4e565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316826001600160a01b03160361036e57604051632e1a7d4d60e01b8152600481018290527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031690632e1a7d4d90602401600060405180830381600087803b158015610aac57600080fd5b505af1158015610ac0573d6000803e3d6000fd5b50505050505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610b16576040519150601f19603f3d011682016040523d82523d6000602084013e610b1b565b606091505b505090508061036e5760405162461bcd60e51b815260206004820152602260248201527f5661756c743a2053656e64696e672045544820686173206265656e206661696c60448201527f656400000000000000000000000000000000000000000000000000000000000060648201526084016104f2565b6040516001600160a01b03831660248201526044810182905261036e9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610e9f565b6001600160a01b038216610c915760405162461bcd60e51b815260206004820152601e60248201527f4d50434f70657261626c653a204e756c6c61626c65206f70657261746f72000060448201526064016104f2565b6001600160a01b03821660009081526004602052604090205415610cf75760405162461bcd60e51b815260206004820152601c60248201527f4d50434f70657261626c653a204f70657261746f72206578697374730000000060448201526064016104f2565b610d018142611380565b6001600160a01b038316600081815260046020526040908190208390555190917fcbcb793495a5fd793da61a1d62ab99b58925f94b0a61beeec3ea7d7d6c4f259491610d4f91815260200190565b60405180910390a25050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316826001600160a01b031603610e3457610da96001600160a01b038316843084610e4e565b604051632e1a7d4d60e01b8152600481018290527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031690632e1a7d4d90602401600060405180830381600087803b158015610e0b57600080fd5b505af1158015610e1f573d6000803e3d6000fd5b5050505061036e610e2e6107a8565b82610ac9565b61036e83610e406107a8565b6001600160a01b0385169190845b6040516001600160a01b03808516602483015283166044820152606481018290526104959085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401610bd7565b6000610ef4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610f849092919063ffffffff16565b80519091501561036e5780806020019051810190610f129190611399565b61036e5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016104f2565b6060610f938484600085610f9b565b949350505050565b6060824710156110135760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016104f2565b600080866001600160a01b0316858760405161102f91906113df565b60006040518083038185875af1925050503d806000811461106c576040519150601f19603f3d011682016040523d82523d6000602084013e611071565b606091505b50915091506110828783838761108d565b979650505050505050565b606083156110fc5782516000036110f5576001600160a01b0385163b6110f55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104f2565b5081610f93565b610f9383838151156111115781518083602001fd5b8060405162461bcd60e51b81526004016104f291906113fb565b6001600160a01b038116811461035857600080fd5b803561114b8161112b565b919050565b60006020828403121561116257600080fd5b813561116d8161112b565b9392505050565b60008060006060848603121561118957600080fd5b83356111948161112b565b925060208401356111a48161112b565b929592945050506040919091013590565b6000806000808486036101008112156111cd57600080fd5b85356111d88161112b565b945060208601356111e88161112b565b93506040860135925060a0605f198201121561120357600080fd5b509295919450926060019150565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561123a57600080fd5b823567ffffffffffffffff8082111561125257600080fd5b818501915085601f83011261126657600080fd5b81358181111561127857611278611211565b8060051b604051601f19603f8301168101818110858211171561129d5761129d611211565b6040529182528482019250838101850191888311156112bb57600080fd5b938501935b828510156112e0576112d185611140565b845293850193928501926112c0565b98975050505050505050565b600080604083850312156112ff57600080fd5b823561130a8161112b565b946020939093013593505050565b60006020828403121561132a57600080fd5b813560ff8116811461116d57600080fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161137957611379611351565b5060010190565b8082018082111561139357611393611351565b92915050565b6000602082840312156113ab57600080fd5b8151801515811461116d57600080fd5b60005b838110156113d65781810151838201526020016113be565b50506000910152565b600082516113f18184602087016113bb565b9190910192915050565b602081526000825180602084015261141a8160408501602087016113bb565b601f01601f1916919091016040019291505056fea264697066735822122064c7d3e5a67d5171b84be4a20bd4a1f367bc589cc9bf028cc7e20d816c24f6b764736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000c76281a72dbb71ae4762cda699cd3d6ba53afba
-----Decoded View---------------
Arg [0] : _WETH (address): 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
Arg [1] : _MPC (address): 0x0c76281A72dbb71AE4762CdA699Cd3D6Ba53aFBa
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Arg [1] : 0000000000000000000000000c76281a72dbb71ae4762cda699cd3d6ba53afbaLoading...LoadingLoading...Loading
Loading...Loading
Loading...LoadingLoading...LoadingLoading...LoadingLoading...LoadingLoading...LoadingLoading...LoadingMultichain Portfolio | 30 Chains
Chain Token Portfolio % Price Amount Value ETH 27.04% $1.25 4,450.5509 $5,563.19 ETH 3.06% $0.000019 33,977,639.0125 $629.61 ETH 1.61% $0.000178 1,862,434.7987 $331.89 ETH 1.26% $0.000023 11,382,506.896 $260.2 ETH 1.06% $0.415771 522.0921 $217.07 ETH 0.66% $0.223069 610.4289 $136.17 ETH Ether (ETH)0.32% $3,490.36 0.019 $66.37 ETH 0.23% $98,782 0.00047298 $46.72 ETH 0.17% $0.038482 891.061 $34.29 ETH 0.15% $0.513591 61.4824 $31.58 ETH 0.15% $1.91 16 $30.56 ETH 0.13% $0.572389 47.8337 $27.38 ETH 0.12% $3,777.72 0.00679867 $25.68 ETH 0.12% $3,488.2 0.00706046 $24.63 ETH 0.10% $1.44 13.7397 $19.79 ETH 0.08% $3,490.36 0.00451531 $15.76 ETH 0.07% $3,641.3 0.00376202 $13.7 ETH 0.05% $1.43 7.83 $11.2 ETH 0.05% $13.84 0.7341 $10.16 ETH 0.04% $5.27 1.4767 $7.78 ETH 0.03% $0.406065 16.6168 $6.75 ETH 0.03% $3,909.99 0.00170197 $6.65 ETH 0.03% $18.95 0.3342 $6.33 ETH 0.02% $0.159425 28.5366 $4.55 ETH 0.02% $7.52 0.5226 $3.93 ETH 0.02% $3.73 1 $3.73 ETH 0.02% $0.107326 29.4438 $3.16 ETH 0.02% $3,692.42 0.00084707 $3.13 ETH 0.01% $1.34 2.2424 $3 ETH 0.01% $0.157679 13.7106 $2.16 ETH <0.01% <$0.000001 32,028,985.1927 $2.02 ETH <0.01% $0.351524 4.1594 $1.46 ETH <0.01% $0.000799 1,613.3462 $1.29 ETH <0.01% <$0.000001 1,674,773,178.1466 $1.28 ETH <0.01% $369.06 0.00346226 $1.28 ETH <0.01% <$0.000001 16,053,221.2726 $1.23 ETH <0.01% $1.58 0.7127 $1.13 ETH <0.01% $0.385647 2.5731 $0.9923 ETH <0.01% $97,988 0.00000799 $0.7829 ETH <0.01% $0.044867 17.1348 $0.7687 ETH <0.01% $0.966599 0.719 $0.6949 ETH <0.01% $0.999557 0.6907 $0.6904 ETH <0.01% $6.72 0.0758 $0.5091 ETH <0.01% $0.00255 183.5921 $0.468 ETH <0.01% $0.284689 1.5082 $0.4293 ETH <0.01% $1 0.4234 $0.4234 ETH <0.01% $1.74 0.2165 $0.3766 ETH <0.01% $1 0.3162 $0.3161 ETH <0.01% $24.49 0.00928673 $0.2274 ETH <0.01% $3,416.93 0.00005473 $0.187 ETH <0.01% $22.57 0.00731198 $0.165 ETH <0.01% $0.773987 0.1671 $0.1293 BSC 9.51% $0.000178 10,987,619.2105 $1,956.13 BSC 6.16% $98,865.17 0.0128 $1,266.8 BSC 4.75% $3,489.88 0.2798 $976.4 BSC 3.42% $22.58 31.1535 $703.45 BSC 2.43% $1 499.7331 $499.77 BSC 1.94% $6.91 57.7639 $399.42 BSC 1.35% $701.52 0.3948 $276.96 BSC 1.07% $0.334449 658.0746 $220.09 BSC 1.01% $0.999189 208.3574 $208.19 BSC 0.68% $108.93 1.2928 $140.83 BSC 0.63% $462.66 0.2786 $128.89 BSC 0.41% $0.000016 5,302,346.9032 $83.56 BSC 0.29% $0.000023 2,579,524.883 $58.88 BSC 0.19% $1 38.7206 $38.84 BSC 0.18% $196.88 0.1905 $37.51 BSC 0.18% $0.415862 89.789 $37.34 BSC 0.16% $5.43 6.2332 $33.82 BSC 0.16% $13.81 2.3714 $32.74 BSC 0.15% $0.839472 37.3615 $31.36 BSC 0.15% $0.514598 60.8949 $31.34 BSC 0.07% $0.41133 33.9264 $13.95 BSC 0.04% $701.82 0.0113 $7.93 BSC 0.03% $1.3 4.0316 $5.25 BSC 0.02% $1 3.4817 $3.49 BSC 0.01% $1 2.2649 $2.27 BSC 0.01% $2.55 0.8543 $2.18 BSC <0.01% $6.72 0.2838 $1.91 BSC <0.01% $1.7 0.9572 $1.62 BSC <0.01% $2.3 0.61 $1.4 BSC <0.01% $0.105325 12.5785 $1.32 BSC <0.01% $0.743565 1.5814 $1.18 BSC <0.01% $2.06 0.5495 $1.13 BSC <0.01% <$0.000001 277,745,668.579 $1.01 BSC <0.01% $0.439443 2.0405 $0.8966 BSC <0.01% $0.180598 4.3382 $0.7834 BSC <0.01% $0.13331 5.8306 $0.7772 BSC <0.01% $0.96776 0.6608 $0.6394 BSC <0.01% $1.26 0.4517 $0.5701 BSC <0.01% $0.429695 1.1966 $0.5141 BSC <0.01% $5.29 0.092 $0.487 BSC <0.01% $0.051259 9.2733 $0.4753 BSC <0.01% $9.97 0.0432 $0.4308 BSC <0.01% $0.000019 23,237.008 $0.4298 BSC <0.01% $0.914613 0.32 $0.2926 BSC <0.01% $0.495468 0.5271 $0.2611 BSC <0.01% $0.456265 0.5548 $0.2531 BSC <0.01% $0.764419 0.3188 $0.2437 BSC <0.01% $368.87 0.00042052 $0.1551 BSC <0.01% $0.742098 0.2028 $0.1504 BSC <0.01% $0.997811 0.1499 $0.1496 BSC <0.01% $0.034478 4.3289 $0.1492 BSC <0.01% $0.086965 1.5984 $0.139 BSC <0.01% $0.254818 0.4977 $0.1268 BSC <0.01% $0.996946 0.1166 $0.1162 BSC <0.01% $0.008442 13.4934 $0.1139 BSC <0.01% $0.111396 0.9884 $0.1101 BSC <0.01% $0.158317 0.6719 $0.1063 BSC <0.01% $0.083841 1.2177 $0.102 ARB 7.46% $1 1,532.5015 $1,534.03 ARB 2.15% $0.802695 549.9894 $441.47 ARB 0.64% $29.76 4.4558 $132.6 ARB 0.59% $0.463942 260.0016 $120.63 ARB 0.09% $3,487.87 0.00556584 $19.41 ARB 0.05% $24.48 0.4067 $9.96 ARB 0.03% $0.420556 13.4971 $5.68 ARB 0.02% $3,488.74 0.00113228 $3.95 ARB <0.01% $6.05 0.3214 $1.94 ARB <0.01% $0.41133 4.2117 $1.73 ARB <0.01% $0.225099 6.9491 $1.56 ARB <0.01% $1 1.3005 $1.3 ARB <0.01% $0.999189 0.9845 $0.9837 ARB <0.01% $1 0.9228 $0.9237 ARB <0.01% $0.223002 3.8431 $0.857 ARB <0.01% $1 0.8 $0.8015 ARB <0.01% $0.000095 8,393.8726 $0.7949 ARB <0.01% $98,811 0.00000653 $0.6452 ARB <0.01% $3,907.89 0.00011978 $0.468 ARB <0.01% $1.04 0.2612 $0.2719 ARB <0.01% $0.290045 0.7289 $0.2114 ARB <0.01% $5.26 0.0347 $0.1826 ARB <0.01% $0.01745 9.4745 $0.1653 ARB <0.01% $4,132.5 0.00003935 $0.1626 ARB <0.01% $13.83 0.0113 $0.1559 BASE 7.58% $1 1,559.1916 $1,559.19 BASE 0.54% $3,488.74 0.0317 $110.55 BASE 0.28% $1 58.3228 $58.33 BASE 0.06% $3,488.43 0.00365042 $12.73 BASE 0.02% $3,775.12 0.00102734 $3.88 BASE 0.01% $1 2.7342 $2.73 BASE <0.01% $0.022943 80.8 $1.85 BASE <0.01% $6.05 0.1783 $1.08 BASE <0.01% <$0.000001 27,374,001.0539 $0.9416 BASE <0.01% $0.715244 0.8666 $0.6198 BASE <0.01% $1 0.5604 $0.5614 BASE <0.01% $0.022388 19.8922 $0.4453 BASE <0.01% $3,591.79 0.0000785 $0.2819 BASE <0.01% <$0.000001 25,229,583.4352 $0.2119 BASE <0.01% $3.11 0.0325 $0.1012 OP 2.41% $1.91 258.6825 $495.26 OP 0.39% $0.999385 81.1207 $81.07 OP 0.27% $3,490.37 0.0161 $56.24 OP 0.13% $0.987236 26.3221 $25.99 OP 0.02% $2.3 1.9997 $4.6 OP 0.01% $0.999921 2.2993 $2.3 OP <0.01% $5.26 0.3787 $1.99 OP <0.01% $98,719 0.00001714 $1.69 OP <0.01% $3,891.84 0.00034297 $1.33 OP <0.01% $28.65 0.0462 $1.32 OP <0.01% $3,489.42 0.00022803 $0.7956 OP <0.01% $4,136.86 0.00014802 $0.6123 OP <0.01% $2.2 0.2048 $0.4505 OP <0.01% $3,439.98 0.00006165 $0.212 OP <0.01% $1 0.1163 $0.1162 AVAX 1.71% $40.3 8.7366 $352.12 AVAX 1.14% $0.42022 560.062 $235.35 AVAX 0.18% $0.017898 2,099.9185 $37.58 AVAX 0.05% $98,951 0.00010647 $10.54 AVAX 0.04% $29.79 0.3035 $9.04 AVAX 0.02% $369.06 0.0117 $4.33 AVAX <0.01% $0.999163 1.3092 $1.31 AVAX <0.01% $0.01167 67.7903 $0.7911 AVAX <0.01% $1 0.6101 $0.6101 AVAX <0.01% $47.5 0.0123 $0.5848 AVAX <0.01% $1 0.4987 $0.4987 AVAX <0.01% $3,488.43 0.00009766 $0.3406 AVAX <0.01% $0.999163 0.3198 $0.3194 AVAX <0.01% $0.627785 0.5021 $0.3152 AVAX <0.01% $1 0.2814 $0.2814 AVAX <0.01% $98,782 0.00000198 $0.1955 LINEA 0.34% $0.999206 70.3341 $70.28 LINEA 0.22% $3,588.03 0.0126 $45.06 LINEA 0.18% $1 37.205 $37.2 LINEA 0.15% $3,478.7 0.00897192 $31.21 LINEA 0.15% $98,685 0.00030527 $30.13 LINEA 0.02% $3,492.19 0.000945 $3.3 LINEA 0.01% $4,130.91 0.00061927 $2.56 LINEA <0.01% $0.001501 446.5213 $0.67 LINEA <0.01% $1 0.2 $0.2001 LINEA <0.01% $0.000256 481.2046 $0.1229 POL 0.19% $13.83 2.8283 $39.12 POL 0.16% $0.515269 65.4226 $33.71 POL 0.12% $0.513713 48.5435 $24.94 POL 0.07% $98,815 0.00014656 $14.48 POL 0.05% $197.51 0.053 $10.46 POL 0.04% $0.999139 9.1155 $9.11 POL 0.04% $3,489.88 0.00253171 $8.84 POL 0.04% $1.91 4.1352 $7.9 POL 0.04% $1 7.2036 $7.22 POL 0.03% $1.03 6.6181 $6.8 POL 0.03% $1.59 3.8465 $6.12 POL 0.02% <$0.000001 395,487,402.6408 $5.1 POL 0.02% $0.011094 317.6864 $3.52 POL 0.02% $0.996901 3.3753 $3.36 POL 0.02% $86.25 0.0377 $3.25 POL 0.01% $3.8 0.718 $2.73 POL 0.01% $1.04 2.5613 $2.67 POL 0.01% $0.007475 354.0537 $2.65 POL 0.01% $0.225109 11.7342 $2.64 POL <0.01% $40.32 0.0505 $2.04 POL <0.01% $0.528788 3.4795 $1.84 POL <0.01% $0.045307 30.936 $1.4 POL <0.01% $0.223032 5.0903 $1.14 POL <0.01% $0.585689 1.8919 $1.11 POL <0.01% $0.000269 3,100 $0.833 POL <0.01% $1 0.6619 $0.6618 POL <0.01% $1 0.623 $0.623 POL <0.01% $1.06 0.561 $0.5951 POL <0.01% $2.68 0.2059 $0.5517 POL <0.01% $0.578714 0.8507 $0.4922 POL <0.01% $0.005597 60.78 $0.3401 POL <0.01% $0.999919 0.3173 $0.3172 POL <0.01% $2.2 0.0954 $0.2097 POL <0.01% $1 0.1821 $0.1822 POL <0.01% $0.049295 3.6028 $0.1776 POL <0.01% $0.001393 113.5327 $0.1581 POL <0.01% $93,603.26 0.00000154 $0.1441 POL <0.01% $0.740214 0.1919 $0.142 POL <0.01% $0.994014 0.132 $0.1312 POL <0.01% $0.000752 140.6597 $0.1057 Loading...Loading[ Download: CSV Export ][ Download: CSV Export ]A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.
Address QR Code
My Address - Private Name Tag or Note
My Name Tag:
Private Name Tags (up to 35 characters) can be used for easy identification of addressesPrivate Note:
A private note (up to 500 characters) can be attached to this address.
Please DO NOT store any passwords or private keys here.Compiler specific version warnings:
The compiled contract might be susceptible to VerbatimInvalidDeduplication (low-severity), FullInlinerNonExpressionSplitArgumentEvaluationOrder (low-severity), MissingSideEffectsOnSelectorAccess (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.SignIn
Address Cards
To use this feature, please login to your Etherscan account and return to this page.Before You Copy
Transaction Private Note
This website uses cookies to improve your experience. By continuing to use this website, you agree to its Terms and Privacy Policy.