Transaction Hash:
Block:
19812739 at May-06-2024 06:10:23 PM +UTC
Transaction Fee:
0.0009738339430292 ETH
$2.72
Gas Used:
176,660 Gas / 5.51247562 Gwei
Emitted Events:
517 |
WETH9.Deposit( dst=[Receiver] WrappedTokenGatewayV3, wad=464000000000000000000 )
|
518 |
InitializableImmutableAdminUpgradeabilityProxy.0x804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a( 0x804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a, 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2, 0000000000000000000000000000000000000000000b367c26b93148a8237238, 0000000000000000000000000000000000000000004a4c3e0109caa1f07b8764, 000000000000000000000000000000000000000000126cc8fe21275b3956785f, 0000000000000000000000000000000000000000034eecf33e9c7f1c3c8c9f64, 0000000000000000000000000000000000000000035db27cf53184ab7169f141 )
|
519 |
WETH9.Transfer( src=[Receiver] WrappedTokenGatewayV3, dst=InitializableImmutableAdminUpgradeabilityProxy, wad=464000000000000000000 )
|
520 |
InitializableImmutableAdminUpgradeabilityProxy.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000f368d43f148e1803ec793670183b0ca6a07d3898, 000000000000000000000000000000000000000000000019277c0af22adddf21 )
|
521 |
InitializableImmutableAdminUpgradeabilityProxy.0x458f5fa412d0f69b08dd84872b0215675cc67bc1d5b6fd93300a1c3878b86196( 0x458f5fa412d0f69b08dd84872b0215675cc67bc1d5b6fd93300a1c3878b86196, 0x000000000000000000000000893411580e590d62ddbca8a703d61cc4a8c7b2b9, 0x000000000000000000000000f368d43f148e1803ec793670183b0ca6a07d3898, 000000000000000000000000000000000000000000000019277c0af22adddf21, 0000000000000000000000000000000000000000000000000030e552c59ddf21, 0000000000000000000000000000000000000000034eecf33e9c7f1c3c8c9f64 )
|
522 |
InitializableImmutableAdminUpgradeabilityProxy.0x2b627736bca15cd5381dcf80b0bf11fd197d01a037c52b927a881a10fb73ba61( 0x2b627736bca15cd5381dcf80b0bf11fd197d01a037c52b927a881a10fb73ba61, 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2, 0x000000000000000000000000f368d43f148e1803ec793670183b0ca6a07d3898, 0x0000000000000000000000000000000000000000000000000000000000000000, 000000000000000000000000893411580e590d62ddbca8a703d61cc4a8c7b2b9, 000000000000000000000000000000000000000000000019274b259f65400000 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x4d5F47FA...C9BC514E8 | |||||
0x87870Bca...50B4fA4E2 | (Aave: Pool V3) | ||||
0x95222290...5CC4BAfe5
Miner
| (beaverbuild) | 14.782747275065390296 Eth | 14.782754701448652176 Eth | 0.00000742638326188 | |
0xC02aaA39...83C756Cc2 | 3,099,085.121869653789155467 Eth | 3,099,549.121869653789155467 Eth | 464 | ||
0xF368d43f...6a07d3898 |
465.56924387328848167 Eth
Nonce: 3408
|
1.56827003934545247 Eth
Nonce: 3409
| 464.0009738339430292 |
Execution Trace
ETH 464
WrappedTokenGatewayV3.depositETH( 0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2, onBehalfOf=0xF368d43f148e1803eC793670183b0CA6a07d3898, referralCode=0 )
- ETH 464
WETH9.CALL( )
InitializableImmutableAdminUpgradeabilityProxy.e8eda9df( )
Pool.deposit( asset=0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2, amount=464000000000000000000, onBehalfOf=0xF368d43f148e1803eC793670183b0CA6a07d3898, referralCode=0 )
SupplyLogic.1913f161( )
InitializableImmutableAdminUpgradeabilityProxy.STATICCALL( )
-
VariableDebtToken.DELEGATECALL( )
-
InitializableImmutableAdminUpgradeabilityProxy.STATICCALL( )
-
StableDebtToken.DELEGATECALL( )
-
InitializableImmutableAdminUpgradeabilityProxy.STATICCALL( )
-
AToken.DELEGATECALL( )
-
DefaultReserveInterestRateStrategy.calculateInterestRates( params=[{name:unbacked, type:uint256, order:1, indexed:false, value:0, valueString:0}, {name:liquidityAdded, type:uint256, order:2, indexed:false, value:464000000000000000000, valueString:464000000000000000000}, {name:liquidityTaken, type:uint256, order:3, indexed:false, value:0, valueString:0}, {name:totalStableDebt, type:uint256, order:4, indexed:false, value:0, valueString:0}, {name:totalVariableDebt, type:uint256, order:5, indexed:false, value:500535217510852063026352, valueString:500535217510852063026352}, {name:averageStableBorrowRate, type:uint256, order:6, indexed:false, value:0, valueString:0}, {name:reserveFactor, type:uint256, order:7, indexed:false, value:1500, valueString:1500}, {name:reserve, type:address, order:8, indexed:false, value:0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2, valueString:0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2}, {name:aToken, type:address, order:9, indexed:false, value:0x4d5F47FA6A74757f35C14fD3a6Ef8E3C9BC514E8, valueString:0x4d5F47FA6A74757f35C14fD3a6Ef8E3C9BC514E8}] ) => ( 13555481992416654008742456, 89820554277126887658194788, 22274387993988821360736351 )
-
WETH9.balanceOf( 0x4d5F47FA6A74757f35C14fD3a6Ef8E3C9BC514E8 ) => ( 198108958714090707150868 )
-
-
WETH9.transferFrom( src=0x893411580e590D62dDBca8a703d61Cc4A8c7b2b9, dst=0x4d5F47FA6A74757f35C14fD3a6Ef8E3C9BC514E8, wad=464000000000000000000 ) => ( True )
InitializableImmutableAdminUpgradeabilityProxy.b3f1c93d( )
AToken.mint( caller=0x893411580e590D62dDBca8a703d61Cc4A8c7b2b9, onBehalfOf=0xF368d43f148e1803eC793670183b0CA6a07d3898, amount=464000000000000000000, index=1023870208954364115462954852 ) => ( False )
-
InitializableImmutableAdminUpgradeabilityProxy.31873e2e( )
-
depositETH[WrappedTokenGatewayV3 (ln:41)]
File 1 of 13: WrappedTokenGatewayV3
File 2 of 13: WETH9
File 3 of 13: InitializableImmutableAdminUpgradeabilityProxy
File 4 of 13: InitializableImmutableAdminUpgradeabilityProxy
File 5 of 13: Pool
File 6 of 13: SupplyLogic
File 7 of 13: InitializableImmutableAdminUpgradeabilityProxy
File 8 of 13: VariableDebtToken
File 9 of 13: InitializableImmutableAdminUpgradeabilityProxy
File 10 of 13: StableDebtToken
File 11 of 13: AToken
File 12 of 13: DefaultReserveInterestRateStrategy
File 13 of 13: InitializableImmutableAdminUpgradeabilityProxy
12345678910111213141516// SPDX-License-Identifier: AGPL-3.0pragma solidity ^0.8.10;import {Ownable} from '@aave/core-v3/contracts/dependencies/openzeppelin/contracts/Ownable.sol';import {IERC20} from '@aave/core-v3/contracts/dependencies/openzeppelin/contracts/IERC20.sol';import {GPv2SafeERC20} from '@aave/core-v3/contracts/dependencies/gnosis/contracts/GPv2SafeERC20.sol';import {IWETH} from '@aave/core-v3/contracts/misc/interfaces/IWETH.sol';import {IPool} from '@aave/core-v3/contracts/interfaces/IPool.sol';import {IAToken} from '@aave/core-v3/contracts/interfaces/IAToken.sol';import {ReserveConfiguration} from '@aave/core-v3/contracts/protocol/libraries/configuration/ReserveConfiguration.sol';import {UserConfiguration} from '@aave/core-v3/contracts/protocol/libraries/configuration/UserConfiguration.sol';import {DataTypes} from '@aave/core-v3/contracts/protocol/libraries/types/DataTypes.sol';import {IWrappedTokenGatewayV3} from 'aave-v3-periphery/contracts/misc/interfaces/IWrappedTokenGatewayV3.sol';import {DataTypesHelper} from 'aave-v3-periphery/contracts/libraries/DataTypesHelper.sol';/*** @dev This contract is an upgrade of the WrappedTokenGatewayV3 contract, with immutable pool address.* This contract keeps the same interface of the deprecated WrappedTokenGatewayV3 contract.
File 2 of 13: 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 3 of 13: InitializableImmutableAdminUpgradeabilityProxy
12345678910111213141516// SPDX-License-Identifier: AGPL-3.0pragma solidity 0.8.10;/*** @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:
File 4 of 13: InitializableImmutableAdminUpgradeabilityProxy
12345678910111213141516// SPDX-License-Identifier: AGPL-3.0pragma solidity 0.8.10;/*** @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:
File 5 of 13: Pool
12345678910111213141516// SPDX-License-Identifier: LGPL-3.0-or-laterpragma solidity ^0.8.10;import {IERC20} from '../../openzeppelin/contracts/IERC20.sol';/// @title Gnosis Protocol v2 Safe ERC20 Transfer Library/// @author Gnosis Developers/// @dev Gas-efficient version of Openzeppelin's SafeERC20 contract.library GPv2SafeERC20 {/// @dev Wrapper around a call to the ERC20 function `transfer` that reverts/// also when the token returns `false`.function safeTransfer(IERC20 token, address to, uint256 value) internal {bytes4 selector_ = token.transfer.selector;// solhint-disable-next-line no-inline-assemblyassembly {let freeMemoryPointer := mload(0x40)mstore(freeMemoryPointer, selector_)mstore(add(freeMemoryPointer, 4), and(to, 0xffffffffffffffffffffffffffffffffffffffff))
File 6 of 13: SupplyLogic
12345678910111213141516// SPDX-License-Identifier: LGPL-3.0-or-laterpragma solidity ^0.8.10;import {IERC20} from '../../openzeppelin/contracts/IERC20.sol';/// @title Gnosis Protocol v2 Safe ERC20 Transfer Library/// @author Gnosis Developers/// @dev Gas-efficient version of Openzeppelin's SafeERC20 contract.library GPv2SafeERC20 {/// @dev Wrapper around a call to the ERC20 function `transfer` that reverts/// also when the token returns `false`.function safeTransfer(IERC20 token, address to, uint256 value) internal {bytes4 selector_ = token.transfer.selector;// solhint-disable-next-line no-inline-assemblyassembly {let freeMemoryPointer := mload(0x40)mstore(freeMemoryPointer, selector_)mstore(add(freeMemoryPointer, 4), and(to, 0xffffffffffffffffffffffffffffffffffffffff))
File 7 of 13: InitializableImmutableAdminUpgradeabilityProxy
12345678910111213141516// SPDX-License-Identifier: AGPL-3.0pragma solidity 0.8.10;/*** @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:
File 8 of 13: VariableDebtToken
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity 0.8.10;/** @dev Provides information about the current execution context, including the* sender of the transaction and its data. While these are generally available* via msg.sender and msg.data, they should not be accessed in such a direct* manner, since when dealing with GSN meta-transactions the account sending and* paying for execution may not be the actual sender (as far as an application* is concerned).** This contract is only required for intermediate, library-like contracts.*/abstract contract Context {function _msgSender() internal view virtual returns (address payable) {return payable(msg.sender);}
File 9 of 13: InitializableImmutableAdminUpgradeabilityProxy
12345678910111213141516// SPDX-License-Identifier: AGPL-3.0pragma solidity 0.8.10;/*** @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:
File 10 of 13: StableDebtToken
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity 0.8.10;/** @dev Provides information about the current execution context, including the* sender of the transaction and its data. While these are generally available* via msg.sender and msg.data, they should not be accessed in such a direct* manner, since when dealing with GSN meta-transactions the account sending and* paying for execution may not be the actual sender (as far as an application* is concerned).** This contract is only required for intermediate, library-like contracts.*/abstract contract Context {function _msgSender() internal view virtual returns (address payable) {return payable(msg.sender);}
File 11 of 13: AToken
12345678910111213141516// SPDX-License-Identifier: LGPL-3.0-or-laterpragma solidity 0.8.10;import {IERC20} from '../../openzeppelin/contracts/IERC20.sol';/// @title Gnosis Protocol v2 Safe ERC20 Transfer Library/// @author Gnosis Developers/// @dev Gas-efficient version of Openzeppelin's SafeERC20 contract.library GPv2SafeERC20 {/// @dev Wrapper around a call to the ERC20 function `transfer` that reverts/// also when the token returns `false`.function safeTransfer(IERC20 token,address to,uint256 value) internal {bytes4 selector_ = token.transfer.selector;// solhint-disable-next-line no-inline-assembly
File 12 of 13: DefaultReserveInterestRateStrategy
12345678910111213141516// SPDX-License-Identifier: BUSL-1.1pragma solidity ^0.8.0;import {IERC20} from '../../dependencies/openzeppelin/contracts/IERC20.sol';import {WadRayMath} from '../libraries/math/WadRayMath.sol';import {PercentageMath} from '../libraries/math/PercentageMath.sol';import {DataTypes} from '../libraries/types/DataTypes.sol';import {Errors} from '../libraries/helpers/Errors.sol';import {IDefaultInterestRateStrategy} from '../../interfaces/IDefaultInterestRateStrategy.sol';import {IReserveInterestRateStrategy} from '../../interfaces/IReserveInterestRateStrategy.sol';import {IPoolAddressesProvider} from '../../interfaces/IPoolAddressesProvider.sol';/*** @title DefaultReserveInterestRateStrategy contract* @author Aave* @notice Implements the calculation of the interest rates depending on the reserve state* @dev The model of interest rate is based on 2 slopes, one before the `OPTIMAL_USAGE_RATIO`* point of usage and another from that one to 100%.
File 13 of 13: InitializableImmutableAdminUpgradeabilityProxy
12345678910111213141516// SPDX-License-Identifier: AGPL-3.0pragma solidity 0.8.10;/*** @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: