Transaction Hash:
Block:
21942820 at Feb-28-2025 05:41:35 AM +UTC
Transaction Fee:
0.00048565755038235 ETH
$1.81
Gas Used:
216,791 Gas / 2.24021085 Gwei
Emitted Events:
58 |
Matt.Transfer( from=[Sender] 0xc90a076bf297d201c45e91447c75e8bd22436e29, to=0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71, value=12196802860098000 )
|
59 |
Matt.Approval( owner=[Sender] 0xc90a076bf297d201c45e91447c75e8bd22436e29, spender=[Receiver] RedSnwapper, value=0 )
|
60 |
Matt.Transfer( from=0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71, to=UniswapV2Pair, value=12196802860097999 )
|
61 |
WETH9.Transfer( src=UniswapV2Pair, dst=0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71, wad=23678402667845156 )
|
62 |
UniswapV2Pair.Sync( reserve0=694509078147852117, reserve1=1328600537522733176 )
|
63 |
UniswapV2Pair.Swap( sender=0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71, amount0In=12196802860097999, amount1In=0, amount0Out=0, amount1Out=23678402667845156, to=0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71 )
|
64 |
WETH9.Withdrawal( src=0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71, wad=23678402667845156 )
|
65 |
0x85cd07ea01423b1e937929b44e4ad8c40bbb5e71.0x1bf1122521093cffed0b7f29833cd231d885bae58dceb074e411a1fbd94824bd( 0x1bf1122521093cffed0b7f29833cd231d885bae58dceb074e411a1fbd94824bd, 0x000000000000000000000000ad27827c312cd5e71311d68e180a9872d42de23d, 0x0000000000000000000000004c917a6f6cebdde6d5ad57c05913e72a15fe2eb3, 0x0000000000000000000000000000000000000000000000000000000000000000, 00000000000000000000000085cd07ea01423b1e937929b44e4ad8c40bbb5e71, 000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee, 000000000000000000000000000000000000000000000000002b54ed75df21cf, 0000000000000000000000000000000000000000000000000053b3b471f75bce, 00000000000000000000000000000000000000000000000000541f61bbdd9624, fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x388C818C...7ccB19297
Miner
| (Lido: Execution Layer Rewards Vault) | 330.933750788140866528 Eth | 330.933925385607372619 Eth | 0.000174597466506091 | |
0x4C917A6F...A15FE2EB3 | |||||
0xaE71002b...173E5bDa1 | |||||
0xC02aaA39...83C756Cc2 | 2,902,132.265520080142171497 Eth | 2,902,132.241841677474326341 Eth | 0.023678402667845156 | ||
0xC90A076b...D22436E29 |
0.039814328402240223 Eth
Nonce: 4
|
0.062948173493066765 Eth
Nonce: 5
| 0.023133845090826542 | ||
0xca226bd9...a722f8ADa | 1.082309456486628371 Eth | 1.082368356513264635 Eth | 0.000058900026636264 |
Execution Trace
RedSnwapper.snwap( tokenIn=0x4C917A6F6CeBDDE6D5AD57C05913e72A15FE2EB3, amountIn=12196802860098000, recipient=0xC90A076bf297D201c45e91447C75e8bD22436E29, tokenOut=0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE, amountOutMin=23501110627869670, executor=0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71, executorData=0xEE623204000000000000000000000000CA226BD9C754F1283123D32B2A7CF62A722F8ADA00000000000000000000000000000000000000000000000000003591BB2A37E80000000000000000000000004C917A6F6CEBDDE6D5AD57C05913E72A15FE2EB3000000000000000000000000000000000000000000000000002B54ED75DF21D0000000000000000000000000EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE00000000000000000000000000000000000000000000000000541F61BBDD96280000000000000000000000000000000000000000000000000053B3B471F75BCE000000000000000000000000C90A076BF297D201C45E91447C75E8BD22436E29000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073014C917A6F6CEBDDE6D5AD57C05913E72A15FE2EB301FFFF00AE71002BDC2F845768AE1E84DDA1C08173E5BDA10185CD07EA01423B1E937929B44E4AD8C40BBB5E71000BB801C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC201FFFF020085CD07EA01423B1E937929B44E4AD8C40BBB5E7100000000000000000000000000 ) => ( amountOut=23619502641208892 )
-
Matt.transferFrom( sender=0xC90A076bf297D201c45e91447C75e8bD22436E29, recipient=0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71, amount=12196802860098000 ) => ( True )
0xad27827c312cd5e71311d68e180a9872d42de23d.1cff79cd( )
0x85cd07ea01423b1e937929b44e4ad8c40bbb5e71.ee623204( )
-
Matt.balanceOf( account=0xAD27827C312Cd5E71311d68e180a9872d42dE23D ) => ( 0 )
-
Matt.balanceOf( account=0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71 ) => ( 12196802860098000 )
-
Matt.transfer( recipient=0xaE71002bdc2F845768AE1E84DdA1c08173E5bDa1, amount=12196802860097999 ) => ( True )
-
UniswapV2Pair.STATICCALL( )
-
Matt.balanceOf( account=0xaE71002bdc2F845768AE1E84DdA1c08173E5bDa1 ) => ( 694509078147852117 )
UniswapV2Pair.swap( amount0Out=0, amount1Out=23678402667845156, to=0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71, data=0x )
-
WETH9.balanceOf( 0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71 ) => ( 23678402667845157 )
WETH9.withdraw( wad=23678402667845156 )
- ETH 0.023678402667845156
0x85cd07ea01423b1e937929b44e4ad8c40bbb5e71.CALL( )
- ETH 0.023678402667845156
- ETH 0.023678402667845156
0x85cd07ea01423b1e937929b44e4ad8c40bbb5e71.CALL( )
-
Matt.balanceOf( account=0xAD27827C312Cd5E71311d68e180a9872d42dE23D ) => ( 0 )
- ETH 0.000058900026636264
TokenChomper.CALL( )
- ETH 0.023619502641208892
0xc90a076bf297d201c45e91447c75e8bd22436e29.CALL( )
-
snwap[RedSnwapper (ln:477)]
universalBalanceOf[RedSnwapper (ln:486)]
safeTransferFrom[RedSnwapper (ln:488)]
safeTransfer[RedSnwapper (ln:489)]
balanceOf[RedSnwapper (ln:489)]
execute[RedSnwapper (ln:491)]
universalBalanceOf[RedSnwapper (ln:492)]
MinimalOutputBalanceViolation[RedSnwapper (ln:494)]
File 1 of 5: RedSnwapper
File 2 of 5: Matt
File 3 of 5: UniswapV2Pair
File 4 of 5: WETH9
File 5 of 5: TokenChomper
12345678910111213141516// 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.*
File 2 of 5: Matt
12345678910111213141516/**https://twitter.com/Matt_Furie/status/1700400724306534724https://t.me/redhotcock_PORTAL**/// SPDX-License-Identifier: MITpragma solidity 0.8.20;abstract contract Context {function _msgSender() internal view virtual returns (address) {return msg.sender;}
File 3 of 5: UniswapV2Pair
12345678910111213141516// File: contracts/interfaces/IUniswapV2Pair.solpragma solidity >=0.5.0;interface IUniswapV2Pair {event Approval(address indexed owner, address indexed spender, uint value);event Transfer(address indexed from, address indexed to, uint value);function name() external pure returns (string memory);function symbol() external pure returns (string memory);function decimals() external pure returns (uint8);function totalSupply() external view returns (uint);function balanceOf(address owner) external view returns (uint);function allowance(address owner, address spender) external view returns (uint);function approve(address spender, uint value) external returns (bool);
File 4 of 5: WETH9
12345678910111213141516// Copyright (C) 2015, 2016, 2017 Dapphub// This program is free software: you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation, either version 3 of the License, or// (at your option) any later version.// This program is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.// You should have received a copy of the GNU General Public License// along with this program. If not, see <http://www.gnu.org/licenses/>.pragma solidity ^0.4.18;
File 5 of 5: TokenChomper
12345678910111213141516// SPDX-License-Identifier: GPL-3.0-or-laterpragma solidity >=0.8.0;import "/interfaces/IRouteProcessor.sol";import "interfaces/IERC20.sol";import "./Auth.sol";/// @title TokenChomper for selling accumulated tokens for weth or other base assets/// @notice This contract will be used for fee collection and breakdown/// @dev Uses Auth contract for 2-step owner process and trust operators to guard functionscontract TokenChomper is Auth {address public immutable weth;IRouteProcessor public routeProcessor;bytes4 private constant TRANSFER_SELECTOR = bytes4(keccak256(bytes('transfer(address,uint256)')));error TransferFailed();constructor(address _operator,address _routeProcessor,