Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 989 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
0xc02aaa39 | 18557387 | 380 days ago | IN | 0.00100133 ETH | 0.00607781 | ||||
0x1f1f26c9 | 18557175 | 380 days ago | IN | 0 ETH | 0.00456007 | ||||
0xc02aaa39 | 18556984 | 380 days ago | IN | 0.0001004 ETH | 0.00413087 | ||||
0xc02aaa39 | 18538507 | 383 days ago | IN | 0.00000082 ETH | 0.00572705 | ||||
0xc02aaa39 | 18538490 | 383 days ago | IN | 0.00000013 ETH | 0.00622432 | ||||
0xc02aaa39 | 18529582 | 384 days ago | IN | 0.00057959 ETH | 0.01051247 | ||||
0x7df18e4e | 18336936 | 411 days ago | IN | 0 ETH | 0.00162735 | ||||
0xc02aaa39 | 18335206 | 412 days ago | IN | 0.005 ETH | 0.00335828 | ||||
0xc02aaa39 | 18332562 | 412 days ago | IN | 0.003 ETH | 0.00101698 | ||||
0x7df18e4e | 18327729 | 413 days ago | IN | 0 ETH | 0.00238134 | ||||
0xc02aaa39 | 18325377 | 413 days ago | IN | 0.006 ETH | 0.00173315 | ||||
0xc02aaa39 | 18320334 | 414 days ago | IN | 0.005 ETH | 0.00195227 | ||||
0xc02aaa39 | 18320196 | 414 days ago | IN | 0.005 ETH | 0.00181558 | ||||
0xc02aaa39 | 18314008 | 414 days ago | IN | 0.005 ETH | 0.00310628 | ||||
Recover | 18313164 | 415 days ago | IN | 0 ETH | 0.00027729 | ||||
0x7df18e4e | 18308317 | 415 days ago | IN | 0 ETH | 0.00145842 | ||||
0xc02aaa39 | 18304437 | 416 days ago | IN | 0.006 ETH | 0.00167246 | ||||
0xc02aaa39 | 18302872 | 416 days ago | IN | 0.00899999 ETH | 0.00095904 | ||||
0xc02aaa39 | 18302819 | 416 days ago | IN | 0.007 ETH | 0.00084057 | ||||
0xf0438090 | 18302802 | 416 days ago | IN | 0 ETH | 0.00101449 | ||||
0x6186a538 | 18302646 | 416 days ago | IN | 0 ETH | 0.00092357 | ||||
0x88bbb792 | 18302643 | 416 days ago | IN | 0 ETH | 0.00127912 | ||||
0xc02aaa39 | 18302530 | 416 days ago | IN | 0.00899999 ETH | 0.0015888 | ||||
0xc02aaa39 | 18302359 | 416 days ago | IN | 0.01 ETH | 0.0014223 | ||||
0x6186a538 | 18302255 | 416 days ago | IN | 0 ETH | 0.00093937 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
18557387 | 380 days ago | 0.00099257 ETH | ||||
18557175 | 380 days ago | 0.00007536 ETH | ||||
18557175 | 380 days ago | 0.00007603 ETH | ||||
18556984 | 380 days ago | 0.00009952 ETH | ||||
18538507 | 383 days ago | 0.00000081 ETH | ||||
18538490 | 383 days ago | 0.00000012 ETH | ||||
18529582 | 384 days ago | 0.00057452 ETH | ||||
18336936 | 411 days ago | 0.00729887 ETH | ||||
18336936 | 411 days ago | 0.0073633 ETH | ||||
18335206 | 412 days ago | 0.00495625 ETH | ||||
18332562 | 412 days ago | 0.00297375 ETH | ||||
18327729 | 413 days ago | 0.09068723 ETH | ||||
18327729 | 413 days ago | 0.09148774 ETH | ||||
18325377 | 413 days ago | 0.0059475 ETH | ||||
18320334 | 414 days ago | 0.00495625 ETH | ||||
18320196 | 414 days ago | 0.00495625 ETH | ||||
18314008 | 414 days ago | 0.00495625 ETH | ||||
18313164 | 415 days ago | 0.029268 ETH | ||||
18308317 | 415 days ago | 0.00591391 ETH | ||||
18308317 | 415 days ago | 0.00596611 ETH | ||||
18304437 | 416 days ago | 0.0059475 ETH | ||||
18302872 | 416 days ago | 0.00892125 ETH | ||||
18302819 | 416 days ago | 0.00693875 ETH | ||||
18302802 | 416 days ago | 0.00513583 ETH | ||||
18302802 | 416 days ago | 0.00518116 ETH |
Loading...
Loading
Contract Name:
MeowlRouter
Compiler Version
v0.8.19+commit.7dd6d404
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: AGPL-3.0-only pragma solidity ^0.8.19; import {IERC20} from "./interfaces/IERC20.sol"; import {SafeTransfer} from "./lib/SafeTransfer.sol"; import {IWETH} from "./interfaces/IWETH.sol"; interface IUniswapV2Pair { function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function swap( uint amount0Out, uint amount1Out, address to, bytes calldata data ) external; } // &&&&&&&&&%%%&%#(((/,,,**,,,**,,,*******/*,,/%%%%%%#.,%%%%%%%%%%%%%%%% ./(#%%%%/. #%%/***,,*,*,,,,**, // %&&&&&&&&&%%%/((((*,,,,,,,**/.,,,*****/%%#. ,**,,%%%%%%%%%%%%%%%%%%#. #%%%%%#*,,,,,,*,,,,,* // ,.,,*(%&&%%/*/((((,,,,,,,,**((%%,,**, .#%%/*%%%%%%%,*%%%%%%%%%%%%%%%%#% .. #%%%%%,*,*,,**,*,**, // ..,.,,.,,.,.*((((,,,,,,,****(#%%%%%,*%%%%%. .(%%%%%#,#%%%%%%%%%%%%%%%%, &@# . * (%%%%***,*,,*,*,,,, // .,.,,..,.,.,/(((,,,,,*****/#%%%%%%%%%%%%%, ,%%%%%%%%%%%%%%%%%% . . / *#%%#***,*,*,**,,** // ,,.,,,,.,,.,/((,,,****/#%%%%%%%%%%%%%%, , .... #%%%%%%%%&&%%%%%, / ... ,(%%%%/****,****,*#%# // .,,.,.,.,.,,/(##%%%%%%%%%%%%%%%%%%%%% , /, ....... %%%%%%%%&&%%%%%% /* . , @%%%%/*******/(##%## // ,..,,..,.,,%%%%%%%%%%%%%%%%%%%%%%%%%(#@..(/ ..... /, %%%%%%%%&&&%%%%%(.*//// @%%%%%/****(#%%%%%%#/ // ,,,..,.,,,.%%%%%%%%%%%%%%%%%%%%%%%%%%%%@../(* @ .,%%%%%%%%%%%%%%%%%%%%/ ./(%%%%%/*/(#%%%%%%%#**/ // .,,,,,,,,,,*,#%%%%%%%%%%%%%%%%%%%%%%%%%%&@, ,*/(/,. #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#(#%%%%%%%#//*/// // ,,.,,.,,,,,,,,,,#%%%%%%%%%%%%%%%%%%%%%%%%%%( .#%%%%%%%%%%%%#%&&&%%%%%%%%%%%%%%%*%%%#%%%#(**(**//* // .,,,,..,*..,.,,,,...*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,(%#%%%(*/*///*//#% contract MeowlRouter { using SafeTransfer for IERC20; using SafeTransfer for IWETH; address internal immutable feeAddress; // MAINNET: 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 // BASE: 0x4200000000000000000000000000000000000006 address internal constant WETH9 = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; uint32 internal constant FEE_NUMERATOR = 875; uint32 internal constant FEE_DENOMINATOR = 100000; event Swap( address tokenIn, address tokenOut, uint actualAmountIn, uint actualAmountOut, uint feeAmount ); constructor() { feeAddress = msg.sender; } receive() external payable {} // *** Receive profits from contract *** // function recover(address token) public { require(msg.sender == feeAddress, "shoo"); if (token == address(0)) { SafeTransfer.safeTransferETH(msg.sender, address(this).balance); return; } else { IERC20(token).safeTransfer( msg.sender, IERC20(token).balanceOf(address(this)) ); } } /* Payload structure - tokenIn: address - Address of the token you're swapping - tokenOut: address - Address of the token you want - pair: address - Univ2 pair - minAmountOut: uint128 - Min amount out - amountIn?: uint128 - Amount you're giving via swap */ fallback() external payable { address tokenIn; address tokenOut; address pair; uint minAmountOut; uint amountIn; address receiver; uint feeAmount; assembly { // bytes20 tokenIn := shr(96, calldataload(0)) // bytes20 tokenOut := shr(96, calldataload(20)) // bytes20 pair := shr(96, calldataload(40)) // uint128 minAmountOut := shr(128, calldataload(60)) } if (address(tokenIn) == WETH9 && msg.value > 0) { feeAmount = (msg.value * FEE_NUMERATOR) / FEE_DENOMINATOR; amountIn = msg.value - feeAmount; IWETH weth = IWETH(WETH9); weth.deposit{value: amountIn}(); weth.safeTransfer(pair, amountIn); receiver = msg.sender; } else { assembly { // uint128 amountIn := shr(128, calldataload(76)) } IERC20(tokenIn).safeTransferFrom(msg.sender, pair, amountIn); receiver = address(this); } // Prepare variables for calculating expected amount out uint reserveIn; uint reserveOut; { (uint reserve0, uint reserve1, ) = IUniswapV2Pair(pair) .getReserves(); // sort reserves if (tokenIn < tokenOut) { // Token0 is equal to inputToken // Token1 is equal to outputToken reserveIn = reserve0; reserveOut = reserve1; } else { // Token0 is equal to outputToken // Token1 is equal to inputToken reserveIn = reserve1; reserveOut = reserve0; } } // Find the actual amountIn sent to pair (accounts for tax if any) and amountOut uint actualAmountIn = IERC20(tokenIn).balanceOf(address(pair)) - reserveIn; uint amountOut = _getAmountOut(actualAmountIn, reserveIn, reserveOut); // Prepare swap variables and call pair.swap() (uint amount0Out, uint amount1Out) = tokenIn < tokenOut ? (uint(0), amountOut) : (amountOut, uint(0)); uint balBefore = IERC20(tokenOut).balanceOf(address(receiver)); IUniswapV2Pair(pair).swap( amount0Out, amount1Out, receiver, new bytes(0) ); uint actualAmountOut = IERC20(tokenOut).balanceOf(address(receiver)) - balBefore; require(actualAmountOut >= minAmountOut, "Too little received"); if (receiver == address(this)) { // Only support native ETH out because we can't differentiate if (tokenOut == WETH9) { IWETH(WETH9).withdraw(amountOut); feeAmount = (actualAmountOut * FEE_NUMERATOR) / FEE_DENOMINATOR; SafeTransfer.safeTransferETH(msg.sender, amountOut - feeAmount); } else { feeAmount = (actualAmountOut * FEE_NUMERATOR) / FEE_DENOMINATOR; IERC20(tokenOut).safeTransfer( msg.sender, actualAmountOut - feeAmount ); } } emit Swap( tokenIn, tokenOut, actualAmountIn, actualAmountOut, feeAmount ); } function _getAmountOut( uint amountIn, uint reserveIn, uint reserveOut ) internal pure returns (uint amountOut) { require(amountIn > 0, "UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT"); require( reserveIn > 0 && reserveOut > 0, "UniswapV2Library: INSUFFICIENT_LIQUIDITY" ); uint amountInWithFee = amountIn * 997; uint numerator = amountInWithFee * reserveOut; uint denominator = reserveIn * 1000 + amountInWithFee; amountOut = numerator / denominator; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface IERC20 { event Approval(address, address, uint256); event Transfer(address, address, uint256); function name() external view returns (string memory); function decimals() external view returns (uint8); function transferFrom(address, address, uint256) external returns (bool); function allowance(address, address) external view returns (uint256); function approve(address, uint256) external returns (bool); function transfer(address, uint256) external returns (bool); function balanceOf(address) external view returns (uint256); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "./IERC20.sol"; interface IWETH is IERC20 { function withdraw(uint256 amount) external; function deposit() external payable; }
// SPDX-License-Identifier: MIT pragma solidity >=0.8.0; import "../interfaces/IERC20.sol"; library SafeTransfer { function safeTransferFrom( IERC20 token, address from, address to, uint256 value ) internal { (bool s, ) = address(token).call( abi.encodeWithSelector( IERC20.transferFrom.selector, from, to, value ) ); require(s, "safeTransferFrom failed"); } function safeTransfer(IERC20 token, address to, uint256 value) internal { (bool s, ) = address(token).call( abi.encodeWithSelector(IERC20.transfer.selector, to, value) ); require(s, "safeTransfer failed"); } function safeApprove(IERC20 token, address to, uint256 value) internal { (bool s, ) = address(token).call( abi.encodeWithSelector(IERC20.approve.selector, to, value) ); require(s, "safeApprove failed"); } function safeTransferETH(address to, uint256 amount) internal { bool success; /// @solidity memory-safe-assembly assembly { // Transfer the ETH and store if it succeeded or not. success := call(gas(), to, amount, 0, 0, 0, 0) } require(success, "ETH_TRANSFER_FAILED"); } }
{ "viaIR": true, "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"tokenIn","type":"address"},{"indexed":false,"internalType":"address","name":"tokenOut","type":"address"},{"indexed":false,"internalType":"uint256","name":"actualAmountIn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"actualAmountOut","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"feeAmount","type":"uint256"}],"name":"Swap","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"recover","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a080604052346100235733608052610b99908161002982396080518161097f0152f35b600080fdfe608060405260043610156108db575b36156108d9576000803560601c90808073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28414806108d0575b1561080f57509050620186a061005034610a52565b049061005c8234610a69565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc23b1561054657604051630d0e30db60e41b81526000816004818573c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af18015610803576107ef575b5060008091604051602081019163a9059cbb60e01b835260283560601c60248301526044820152604481526100e181610936565b51908273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1610103610a8a565b50156107b45733905b604051630240bc6b60e21b815290606082600481602835841c5afa9182156107a7578190829361074b575b5060143560601c8610926001600160701b03908116929116831561074657915b6040516370a0823160e01b815260283560601c60048201526020816024818b5afa801561073b5784908490610705575b6101919250610a69565b9384156106ac5783158015806106a3575b1561064d576103e591828702918783048403610639578284868a020204851483151715610623576103e880880297880414171561060f57818601861161060f57818601156105f957156105ea57848101868402830204845b6040516370a0823160e01b81526001600160a01b038a1660048201529160208360248160143560601c5afa9283156105df5787936105ab575b50604051906020820182811067ffffffffffffffff8211176105955760405287825260283560601c3b156105915760405163022c0d9f60e01b8152600481019390935260248301526001600160a01b038a166044830152608060648301528051608483018190528791839190835b82811061057657505081818460a4809484010152601f801991011681010301818360283560601c5af180156105535790869161055e575b50506040516370a0823160e01b81526001600160a01b03891660048201529060208260248160143560601c5afa801561055357869061051a575b61031c9250610a69565b96603c3560801c88106104df576001600160a01b03163014610383575b7f9734819749a91fc3be03ea83205f924ee08479bd3f0da48efc91d94d050cac1e60a08a8a8a8a60405193845260143560601c6020850152604084015260608301526080820152a1005b90919293965073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc260143560601c146000146104875773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc23b1561048357604051632e1a7d4d60e01b815296019184020204600485018190529381816024818373c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1801561047857610461575b5050918160a09361045561044f620186a06104477f9734819749a91fc3be03ea83205f924ee08479bd3f0da48efc91d94d050cac1e9997610a52565b048095610a69565b33610b18565b91938193953880610339565b61046b8291610922565b610475578061040b565b80fd5b6040513d84823e3d90fd5b8380fd5b5050505060a0925081620186a06104bf7f9734819749a91fc3be03ea83205f924ee08479bd3f0da48efc91d94d050cac1e9694610a52565b04916104da6104ce8484610a69565b3360143560601c610aca565b610455565b60405162461bcd60e51b8152602060048201526013602482015272151bdbc81b1a5d1d1b19481c9958d95a5d9959606a1b6044820152606490fd5b506020823d60201161054b575b8161053460209383610952565b810103126105465761031c9151610312565b600080fd5b3d9150610527565b6040513d88823e3d90fd5b61056790610922565b6105725784386102d8565b8480fd5b602081830181015160a488840101528b9550869450016102a1565b8780fd5b634e487b7160e01b600052604160045260246000fd5b9092506020813d6020116105d7575b816105c760209383610952565b8101031261054657519138610233565b3d91506105ba565b6040513d89823e3d90fd5b838582018785028402046101fa565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b85526011600452602485fd5b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b86526011600452602486fd5b60405162461bcd60e51b815260206004820152602860248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4c604482015267495155494449545960c01b6064820152608490fd5b508215156101a2565b60405162461bcd60e51b815260206004820152602b60248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4960448201526a1394155517d05353d5539560aa1b6064820152608490fd5b50506020813d602011610733575b8161072060209383610952565b8101031261054657836101919151610187565b3d9150610713565b6040513d85823e3d90fd5b610157565b9250506060823d60601161079f575b8161076760609383610952565b810103126104755761077882610a76565b604061078660208501610a76565b93015163ffffffff81160361079b5738610137565b5080fd5b3d915061075a565b50604051903d90823e3d90fd5b60405162461bcd60e51b81526020600482015260136024820152721cd85999551c985b9cd9995c8819985a5b1959606a1b6044820152606490fd5b6107fa919250610922565b600090816100ad565b6040513d6000823e3d90fd5b60405160208101906323b872dd60e01b825233602482015260283560601c6044820152604c3560801c60648201526064815260a0810181811067ffffffffffffffff8211176108bc5760405251829182875af161086a610a8a565b501561087757309061010c565b60405162461bcd60e51b815260206004820152601760248201527f736166655472616e7366657246726f6d206661696c65640000000000000000006044820152606490fd5b634e487b7160e01b84526041600452602484fd5b5034151561003b565b005b6000803560e01c630cd865ec146108f2575061000e565b34610475576020366003190112610475576004356001600160a01b038116810361079b5761091f90610974565b80f35b67ffffffffffffffff811161059557604052565b6080810190811067ffffffffffffffff82111761059557604052565b90601f8019910116810190811067ffffffffffffffff82111761059557604052565b6001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082163303610a275716806109b957506109b74733610b18565b565b6040516370a0823160e01b81523060048201529190602083602481845afa928315610803576000936109f4575b50916109b791923390610aca565b6020813d8211610a1f575b81610a0c60209383610952565b81010312610483575192506109b76109e6565b3d91506109ff565b606460405162461bcd60e51b815260206004820152600460248201526373686f6f60e01b6044820152fd5b9061036b9182810292818404149015171561062357565b9190820391821161062357565b51906001600160701b038216820361054657565b3d15610ac5573d9067ffffffffffffffff82116105955760405191610ab9601f8201601f191660200184610952565b82523d6000602084013e565b606090565b600092838093604051602081019363a9059cbb60e01b855260018060a01b038093166024830152604482015260448152610b0381610936565b5193165af1610b10610a8a565b50156107b457565b600080809381935af115610b2857565b60405162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b6044820152606490fdfea26469706673582212209b4ded51910420bf9b8d0626888ff87745f156d6946e4c5b7a7b0852a00cd5db64736f6c63430008130033
Deployed Bytecode
0x608060405260043610156108db575b36156108d9576000803560601c90808073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28414806108d0575b1561080f57509050620186a061005034610a52565b049061005c8234610a69565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc23b1561054657604051630d0e30db60e41b81526000816004818573c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af18015610803576107ef575b5060008091604051602081019163a9059cbb60e01b835260283560601c60248301526044820152604481526100e181610936565b51908273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1610103610a8a565b50156107b45733905b604051630240bc6b60e21b815290606082600481602835841c5afa9182156107a7578190829361074b575b5060143560601c8610926001600160701b03908116929116831561074657915b6040516370a0823160e01b815260283560601c60048201526020816024818b5afa801561073b5784908490610705575b6101919250610a69565b9384156106ac5783158015806106a3575b1561064d576103e591828702918783048403610639578284868a020204851483151715610623576103e880880297880414171561060f57818601861161060f57818601156105f957156105ea57848101868402830204845b6040516370a0823160e01b81526001600160a01b038a1660048201529160208360248160143560601c5afa9283156105df5787936105ab575b50604051906020820182811067ffffffffffffffff8211176105955760405287825260283560601c3b156105915760405163022c0d9f60e01b8152600481019390935260248301526001600160a01b038a166044830152608060648301528051608483018190528791839190835b82811061057657505081818460a4809484010152601f801991011681010301818360283560601c5af180156105535790869161055e575b50506040516370a0823160e01b81526001600160a01b03891660048201529060208260248160143560601c5afa801561055357869061051a575b61031c9250610a69565b96603c3560801c88106104df576001600160a01b03163014610383575b7f9734819749a91fc3be03ea83205f924ee08479bd3f0da48efc91d94d050cac1e60a08a8a8a8a60405193845260143560601c6020850152604084015260608301526080820152a1005b90919293965073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc260143560601c146000146104875773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc23b1561048357604051632e1a7d4d60e01b815296019184020204600485018190529381816024818373c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1801561047857610461575b5050918160a09361045561044f620186a06104477f9734819749a91fc3be03ea83205f924ee08479bd3f0da48efc91d94d050cac1e9997610a52565b048095610a69565b33610b18565b91938193953880610339565b61046b8291610922565b610475578061040b565b80fd5b6040513d84823e3d90fd5b8380fd5b5050505060a0925081620186a06104bf7f9734819749a91fc3be03ea83205f924ee08479bd3f0da48efc91d94d050cac1e9694610a52565b04916104da6104ce8484610a69565b3360143560601c610aca565b610455565b60405162461bcd60e51b8152602060048201526013602482015272151bdbc81b1a5d1d1b19481c9958d95a5d9959606a1b6044820152606490fd5b506020823d60201161054b575b8161053460209383610952565b810103126105465761031c9151610312565b600080fd5b3d9150610527565b6040513d88823e3d90fd5b61056790610922565b6105725784386102d8565b8480fd5b602081830181015160a488840101528b9550869450016102a1565b8780fd5b634e487b7160e01b600052604160045260246000fd5b9092506020813d6020116105d7575b816105c760209383610952565b8101031261054657519138610233565b3d91506105ba565b6040513d89823e3d90fd5b838582018785028402046101fa565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b85526011600452602485fd5b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b86526011600452602486fd5b60405162461bcd60e51b815260206004820152602860248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4c604482015267495155494449545960c01b6064820152608490fd5b508215156101a2565b60405162461bcd60e51b815260206004820152602b60248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4960448201526a1394155517d05353d5539560aa1b6064820152608490fd5b50506020813d602011610733575b8161072060209383610952565b8101031261054657836101919151610187565b3d9150610713565b6040513d85823e3d90fd5b610157565b9250506060823d60601161079f575b8161076760609383610952565b810103126104755761077882610a76565b604061078660208501610a76565b93015163ffffffff81160361079b5738610137565b5080fd5b3d915061075a565b50604051903d90823e3d90fd5b60405162461bcd60e51b81526020600482015260136024820152721cd85999551c985b9cd9995c8819985a5b1959606a1b6044820152606490fd5b6107fa919250610922565b600090816100ad565b6040513d6000823e3d90fd5b60405160208101906323b872dd60e01b825233602482015260283560601c6044820152604c3560801c60648201526064815260a0810181811067ffffffffffffffff8211176108bc5760405251829182875af161086a610a8a565b501561087757309061010c565b60405162461bcd60e51b815260206004820152601760248201527f736166655472616e7366657246726f6d206661696c65640000000000000000006044820152606490fd5b634e487b7160e01b84526041600452602484fd5b5034151561003b565b005b6000803560e01c630cd865ec146108f2575061000e565b34610475576020366003190112610475576004356001600160a01b038116810361079b5761091f90610974565b80f35b67ffffffffffffffff811161059557604052565b6080810190811067ffffffffffffffff82111761059557604052565b90601f8019910116810190811067ffffffffffffffff82111761059557604052565b6001600160a01b03907f0000000000000000000000001bb0303f9e28031a5ffd9ffaa37c6adcae9f5bbb82163303610a275716806109b957506109b74733610b18565b565b6040516370a0823160e01b81523060048201529190602083602481845afa928315610803576000936109f4575b50916109b791923390610aca565b6020813d8211610a1f575b81610a0c60209383610952565b81010312610483575192506109b76109e6565b3d91506109ff565b606460405162461bcd60e51b815260206004820152600460248201526373686f6f60e01b6044820152fd5b9061036b9182810292818404149015171561062357565b9190820391821161062357565b51906001600160701b038216820361054657565b3d15610ac5573d9067ffffffffffffffff82116105955760405191610ab9601f8201601f191660200184610952565b82523d6000602084013e565b606090565b600092838093604051602081019363a9059cbb60e01b855260018060a01b038093166024830152604482015260448152610b0381610936565b5193165af1610b10610a8a565b50156107b457565b600080809381935af115610b2857565b60405162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b6044820152606490fdfea26469706673582212209b4ded51910420bf9b8d0626888ff87745f156d6946e4c5b7a7b0852a00cd5db64736f6c63430008130033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,556.62 | 0.00112901 | $4.02 |
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.