Transaction Hash:
Block:
21972442 at Mar-04-2025 08:50:47 AM +UTC
Transaction Fee:
0.000141799 ETH
$0.43
Gas Used:
202,570 Gas / 0.7 Gwei
Emitted Events:
515 |
UUPSProxy.0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925( 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925, 0x000000000000000000000000c5d65ce2dfc2ee9f215aee043f5b5811ef7b5e28, 0x00000000000000000000000077a917df7a084b7b3e43517ae28373c2a5492625, 0000000000000000000000000000000000000000000000000000000000000000 )
|
516 |
UUPSProxy.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x000000000000000000000000c5d65ce2dfc2ee9f215aee043f5b5811ef7b5e28, 0x000000000000000000000000a1bea5fe917450041748dbbbe7e9ac57a4bbebab, 00000000000000000000000000000000000000000000000000005af3107a4000 )
|
517 |
UUPSProxy.0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925( 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925, 0x000000000000000000000000a1bea5fe917450041748dbbbe7e9ac57a4bbebab, 0x0000000000000000000000000000000000001ff3684f28c67538d4d072c22734, 00000000000000000000000000000000000000000000000000005af3107a4000 )
|
518 |
WETH9.Transfer( src=UniswapV3Pool, dst=MainnetSettler, wad=106102154611007 )
|
519 |
UUPSProxy.0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925( 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925, 0x000000000000000000000000a1bea5fe917450041748dbbbe7e9ac57a4bbebab, 0x0000000000000000000000000000000000001ff3684f28c67538d4d072c22734, 0000000000000000000000000000000000000000000000000000000000000000 )
|
520 |
UUPSProxy.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x000000000000000000000000a1bea5fe917450041748dbbbe7e9ac57a4bbebab, 0x000000000000000000000000202a6012894ae5c288ea824cbc8a9bfb26a49b93, 00000000000000000000000000000000000000000000000000005af3107a4000 )
|
521 |
UniswapV3Pool.Swap( sender=MainnetSettler, recipient=MainnetSettler, amount0=-106102154611007, amount1=100000000000000, sqrtPriceX96=76912294256291092513161841701, liquidity=10300625462919899211504959, tick=-594 )
|
522 |
WETH9.Withdrawal( src=MainnetSettler, wad=106102154611007 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x202A6012...b26A49b93 | (Uniswap V3: weETH 2) | ||||
0x95222290...5CC4BAfe5
Miner
| (beaverbuild) | 9.88671569466945167 Eth | 9.88672298895809034 Eth | 0.00000729428863867 | |
0xC02aaA39...83C756Cc2 | 2,866,819.060127915737370771 Eth | 2,866,819.060021813582759764 Eth | 0.000106102154611007 | ||
0xc5d65cE2...1eF7B5e28 |
0.020019997891919612 Eth
Nonce: 150
|
0.019984301046530619 Eth
Nonce: 151
| 0.000035696845388993 | ||
0xCd5fE23C...3E359b7ee |
Execution Trace
ApprovalProxy.transferAndMulticall( tokens=[0xCd5fE23C85820F7B72D0926FC9b05b43E359b7ee], amounts=[100000000000000], targets=[0xCd5fE23C85820F7B72D0926FC9b05b43E359b7ee, 0xf70da97812CB96acDF810712Aa562db8dfA3dbEF, 0x0000000000001fF3684f28c67538d4D072C22734], datas=[CV6nswAAAAAAAAAAAAAAAAAAAAAAAB/zaE8oxnU41NBywic0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABa8xB6QAA=, , IhO8CwAAAAAAAAAAAAAAAA0ONkqnhSKRiDwWKyLW2B9jVUKPAAAAAAAAAAAAAAAAzV/iPIWCD3ty0JJvybBbQ+NZt+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFrzEHpAAAAAAAAAAAAAAAAAAA0ONkqnhSKRiDwWKyLW2B9jVUKPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBB//mR8AAAAAAAAAAAAAAAChvqX+kXRQBBdI27vn6axXpLvrqwAAAAAAAAAAAAAAAO7u7u7u7u7u7u7u7u7u7u7u7u7uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfiMtsTtwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoA8mDpZ1jkUZKMeQyAr0PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYQizm7eAAAAAAAAAAAAAAAADQ42SqeFIpGIPBYrItbYH2NVQo8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAM1f4jyFgg97ctCSb8mwW0PjWbfuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABa8xB6QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABnxr/MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAszV/iPIWCD3ty0JJvybBbQ+NZt+4AAABkwCqqObIj/o0KDlxPJ+rZCDx1bMIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEOMnBRwAAAAAAAAAAAAAAAMAqqjmyI/6NCg5cTyfq2Qg8dWzCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJxAAAAAAAAAAAAAAAADAKqo5siP+jQoOXE8n6tkIPHVswgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJC4afU0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==], values=[0, 0, 0], refundTo=0xc5d65cE2Dfc2EE9F215aee043f5B5811eF7B5e28 ) => ( 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000A000000000000000000000000000000000000000000000000000000000000000C00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001 )
UUPSProxy.23b872dd( )
-
WeETH.transferFrom( from=0xc5d65cE2Dfc2EE9F215aee043f5B5811eF7B5e28, to=0xA1BEa5fe917450041748Dbbbe7E9AC57A4bBEBaB, amount=100000000000000 ) => ( True )
-
ERC20Router.delegatecallMulticall( targets=[0xCd5fE23C85820F7B72D0926FC9b05b43E359b7ee, 0xf70da97812CB96acDF810712Aa562db8dfA3dbEF, 0x0000000000001fF3684f28c67538d4D072C22734], datas=[CV6nswAAAAAAAAAAAAAAAAAAAAAAAB/zaE8oxnU41NBywic0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABa8xB6QAA=, , IhO8CwAAAAAAAAAAAAAAAA0ONkqnhSKRiDwWKyLW2B9jVUKPAAAAAAAAAAAAAAAAzV/iPIWCD3ty0JJvybBbQ+NZt+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFrzEHpAAAAAAAAAAAAAAAAAAA0ONkqnhSKRiDwWKyLW2B9jVUKPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBB//mR8AAAAAAAAAAAAAAAChvqX+kXRQBBdI27vn6axXpLvrqwAAAAAAAAAAAAAAAO7u7u7u7u7u7u7u7u7u7u7u7u7uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfiMtsTtwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoA8mDpZ1jkUZKMeQyAr0PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYQizm7eAAAAAAAAAAAAAAAADQ42SqeFIpGIPBYrItbYH2NVQo8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAM1f4jyFgg97ctCSb8mwW0PjWbfuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABa8xB6QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABnxr/MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAszV/iPIWCD3ty0JJvybBbQ+NZt+4AAABkwCqqObIj/o0KDlxPJ+rZCDx1bMIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEOMnBRwAAAAAAAAAAAAAAAMAqqjmyI/6NCg5cTyfq2Qg8dWzCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJxAAAAAAAAAAAAAAAADAKqo5siP+jQoOXE8n6tkIPHVswgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJC4afU0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==], values=[0, 0, 0], refundTo=0xc5d65cE2Dfc2EE9F215aee043f5B5811eF7B5e28 ) => ( 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000A000000000000000000000000000000000000000000000000000000000000000C00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001 )
Multicaller.aggregate( targets=[0xCd5fE23C85820F7B72D0926FC9b05b43E359b7ee, 0xf70da97812CB96acDF810712Aa562db8dfA3dbEF, 0x0000000000001fF3684f28c67538d4D072C22734], data=[CV6nswAAAAAAAAAAAAAAAAAAAAAAAB/zaE8oxnU41NBywic0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABa8xB6QAA=, , IhO8CwAAAAAAAAAAAAAAAA0ONkqnhSKRiDwWKyLW2B9jVUKPAAAAAAAAAAAAAAAAzV/iPIWCD3ty0JJvybBbQ+NZt+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFrzEHpAAAAAAAAAAAAAAAAAAA0ONkqnhSKRiDwWKyLW2B9jVUKPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBB//mR8AAAAAAAAAAAAAAAChvqX+kXRQBBdI27vn6axXpLvrqwAAAAAAAAAAAAAAAO7u7u7u7u7u7u7u7u7u7u7u7u7uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfiMtsTtwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoA8mDpZ1jkUZKMeQyAr0PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYQizm7eAAAAAAAAAAAAAAAADQ42SqeFIpGIPBYrItbYH2NVQo8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAM1f4jyFgg97ctCSb8mwW0PjWbfuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABa8xB6QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABnxr/MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAszV/iPIWCD3ty0JJvybBbQ+NZt+4AAABkwCqqObIj/o0KDlxPJ+rZCDx1bMIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEOMnBRwAAAAAAAAAAAAAAAMAqqjmyI/6NCg5cTyfq2Qg8dWzCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJxAAAAAAAAAAAAAAAADAKqo5siP+jQoOXE8n6tkIPHVswgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJC4afU0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==], values=[0, 0, 0], refundTo=0xc5d65cE2Dfc2EE9F215aee043f5B5811eF7B5e28 ) => ( [AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE=, , AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB] )
UUPSProxy.095ea7b3( )
-
WeETH.approve( spender=0x0000000000001fF3684f28c67538d4D072C22734, amount=100000000000000 ) => ( True )
-
-
Relay: Solver.CALL( )
AllowanceHolder.2213bc0b( )
-
MainnetSettler.balanceOf( 0xA1BEa5fe917450041748Dbbbe7E9AC57A4bBEBaB )
MainnetSettler.execute( slippage=[{name:recipient, type:address, order:1, indexed:false, value:0xA1BEa5fe917450041748Dbbbe7E9AC57A4bBEBaB, valueString:0xA1BEa5fe917450041748Dbbbe7E9AC57A4bBEBaB}, {name:buyToken, type:address, order:2, indexed:false, value:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE, valueString:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE}, {name:minAmountOut, type:uint256, order:3, indexed:false, value:105041133063900, valueString:105041133063900}], actions=[Is5u3gAAAAAAAAAAAAAAAA0ONkqnhSKRiDwWKyLW2B9jVUKPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAADNX+I8hYIPe3LQkm/JsFtD41m37gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWvMQekAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ8a/zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALM1f4jyFgg97ctCSb8mwW0PjWbfuAAAAZMAqqjmyI/6NCg5cTyfq2Qg8dWzCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==, OMnBRwAAAAAAAAAAAAAAAMAqqjmyI/6NCg5cTyfq2Qg8dWzCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJxAAAAAAAAAAAAAAAADAKqo5siP+jQoOXE8n6tkIPHVswgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJC4afU0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=], 0F260E96758E451928C790C80AF43C0000000000000000000000000000000000 ) => ( True )
UniswapV3Pool.swap( recipient=0x0d0E364aa7852291883C162B22D6D81f6355428F, zeroForOne=False, amountSpecified=100000000000000, sqrtPriceLimitX96=1461446703485210103287273052203988822378723970341, data=0x0000000000000000000000000000000000000000CD5FE23C85820F7B72D0926FC9B05B43E359B7EE00000000000000000000000000000000000000000000000000005AF3107A400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000067C6BFCC01 ) => ( amount0=-106102154611007, amount1=100000000000000 )
-
WETH9.transfer( dst=0x0d0E364aa7852291883C162B22D6D81f6355428F, wad=106102154611007 ) => ( True )
-
UUPSProxy.70a08231( )
-
MainnetSettler.fa461e33( )
-
UUPSProxy.70a08231( )
-
-
WETH9.balanceOf( 0x0d0E364aa7852291883C162B22D6D81f6355428F ) => ( 106102154611007 )
WETH9.withdraw( wad=106102154611007 )
- ETH 0.000106102154611007
MainnetSettler.CALL( )
- ETH 0.000106102154611007
- ETH 0.000106102154611007
ERC20Router.CALL( )
-
- ETH 0.000106102154611007
0xc5d65ce2dfc2ee9f215aee043f5b5811ef7b5e28.CALL( )
transferAndMulticall[ApprovalProxy (ln:37)]
ArrayLengthsMismatch[ApprovalProxy (ln:47)]
ArrayLengthsMismatch[ApprovalProxy (ln:51)]
safeTransferFrom[ApprovalProxy (ln:55)]
delegatecallMulticall[ApprovalProxy (ln:60)]
File 1 of 9: ApprovalProxy
File 2 of 9: UUPSProxy
File 3 of 9: UniswapV3Pool
File 4 of 9: MainnetSettler
File 5 of 9: WETH9
File 6 of 9: WeETH
File 7 of 9: ERC20Router
File 8 of 9: Multicaller
File 9 of 9: AllowanceHolder
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity ^0.8.23;import {Ownable} from "solady/src/auth/Ownable.sol";import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";import {IERC20Router} from "../src/types/interfaces/IERC20Router.sol";contract ApprovalProxy is Ownable {using SafeERC20 for IERC20;error ArrayLengthsMismatch();error ERC20TransferFromFailed();error NativeTransferFailed();event RouterUpdated(address newRouter);address public router;receive() external payable {}constructor(address _owner, address _router) {_initializeOwner(_owner);
File 2 of 9: UUPSProxy
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity 0.8.13;import "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol";contract UUPSProxy is ERC1967Proxy {constructor(address _implementation,bytes memory _data) ERC1967Proxy(_implementation, _data) {}}// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.7.0) (proxy/ERC1967/ERC1967Proxy.sol)pragma solidity ^0.8.0;import "../Proxy.sol";import "./ERC1967Upgrade.sol";/*** @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an
File 3 of 9: UniswapV3Pool
12345678910111213141516// SPDX-License-Identifier: BUSL-1.1pragma solidity =0.7.6;import './interfaces/IUniswapV3Pool.sol';import './NoDelegateCall.sol';import './libraries/LowGasSafeMath.sol';import './libraries/SafeCast.sol';import './libraries/Tick.sol';import './libraries/TickBitmap.sol';import './libraries/Position.sol';import './libraries/Oracle.sol';import './libraries/FullMath.sol';import './libraries/FixedPoint128.sol';import './libraries/TransferHelper.sol';import './libraries/TickMath.sol';import './libraries/LiquidityMath.sol';import './libraries/SqrtPriceMath.sol';
File 4 of 9: MainnetSettler
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity =0.8.25 >=0.6.2 >=0.8.25 ^0.8.0 ^0.8.25;// lib/forge-std/src/interfaces/IERC165.solinterface IERC165 {/// @notice Query if a contract implements an interface/// @param interfaceID The interface identifier, as specified in ERC-165/// @dev Interface identification is specified in ERC-165. This function/// uses less than 30,000 gas./// @return `true` if the contract implements `interfaceID` and/// `interfaceID` is not 0xffffffff, `false` otherwisefunction supportsInterface(bytes4 interfaceID) external view returns (bool);}// lib/forge-std/src/interfaces/IERC20.sol/// @dev Interface of the ERC20 standard as defined in the EIP./// @dev This includes the optional name, symbol, and decimals metadata.interface IERC20 {
File 5 of 9: 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 6 of 9: WeETH
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity 0.8.13;import "@openzeppelin-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol";import "@openzeppelin-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol";import "@openzeppelin-upgradeable/contracts/access/OwnableUpgradeable.sol";import "@openzeppelin-upgradeable/contracts/token/ERC20/extensions/draft-ERC20PermitUpgradeable.sol";import "./interfaces/IeETH.sol";import "./interfaces/ILiquidityPool.sol";import "./interfaces/IRateProvider.sol";contract WeETH is ERC20Upgradeable, UUPSUpgradeable, OwnableUpgradeable, ERC20PermitUpgradeable, IRateProvider {//--------------------------------------------------------------------------------------//--------------------------------- STATE-VARIABLES ----------------------------------//--------------------------------------------------------------------------------------IeETH public eETH;ILiquidityPool public liquidityPool;//--------------------------------------------------------------------------------------
File 7 of 9: ERC20Router
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity ^0.8.25;import {Ownable} from "solady/src/auth/Ownable.sol";import {Tstorish} from "tstorish/src/Tstorish.sol";import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";import {IERC721} from "@openzeppelin/contracts/token/ERC721/IERC721.sol";import {IERC1155} from "@openzeppelin/contracts/token/ERC1155/IERC1155.sol";import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";import {IAllowanceTransfer} from "permit2-relay/src/interfaces/IAllowanceTransfer.sol";import {ISignatureTransfer} from "permit2-relay/src/interfaces/ISignatureTransfer.sol";import {IPermit2} from "permit2-relay/src/interfaces/IPermit2.sol";import {RelayerWitness} from "./types/lib/RelayStructs.sol";import {IMulticaller} from "./types/interfaces/IMulticaller.sol";contract ERC20Router is Ownable, Tstorish {using SafeERC20 for IERC20;// --- Errors --- //
File 8 of 9: Multicaller
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity ^0.8.4;/*** @title Multicaller* @author vectorized.eth* @notice Contract that allows for efficient aggregation* of multiple calls in a single transaction.*/contract Multicaller {// =============================================================// ERRORS// =============================================================/*** @dev The lengths of the input arrays are not the same.*/error ArrayLengthsMismatch();
File 9 of 9: AllowanceHolder
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity ^0.8.25;import {AllowanceHolderBase} from "./AllowanceHolderBase.sol";import {TransientStorage} from "./TransientStorage.sol";/// @custom:security-contact security@0x.orgcontract AllowanceHolder is TransientStorage, AllowanceHolderBase {constructor() {require(address(this) == 0x0000000000001fF3684f28c67538d4D072C22734 || block.chainid == 31337);}/// @inheritdoc AllowanceHolderBasefunction exec(address operator, address token, uint256 amount, address payable target, bytes calldata data)internaloverridereturns (bytes memory){(bytes memory result, address sender, TSlot allowance) = _exec(operator, token, amount, target, data);