ETH Price: $2,796.04 (+6.24%)

Transaction Decoder

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 Code
0x4d5F47FA...C9BC514E8
0x87870Bca...50B4fA4E2
(Aave: Pool V3)
(beaverbuild)
14.782747275065390296 Eth14.782754701448652176 Eth0.00000742638326188
0xC02aaA39...83C756Cc2 3,099,085.121869653789155467 Eth3,099,549.121869653789155467 Eth464
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( )
                      File 1 of 13: WrappedTokenGatewayV3
                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      8
                      9
                      10
                      11
                      12
                      13
                      14
                      15
                      16
                      // SPDX-License-Identifier: AGPL-3.0
                      pragma 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.
                      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                      File 2 of 13: WETH9
                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      8
                      9
                      10
                      11
                      12
                      13
                      14
                      15
                      16
                      // 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;
                      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                      File 3 of 13: InitializableImmutableAdminUpgradeabilityProxy
                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      8
                      9
                      10
                      11
                      12
                      13
                      14
                      15
                      16
                      // SPDX-License-Identifier: AGPL-3.0
                      pragma 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:
                      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                      File 4 of 13: InitializableImmutableAdminUpgradeabilityProxy
                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      8
                      9
                      10
                      11
                      12
                      13
                      14
                      15
                      16
                      // SPDX-License-Identifier: AGPL-3.0
                      pragma 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:
                      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                      File 5 of 13: Pool
                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      8
                      9
                      10
                      11
                      12
                      13
                      14
                      15
                      16
                      // SPDX-License-Identifier: LGPL-3.0-or-later
                      pragma 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
                      assembly {
                      let freeMemoryPointer := mload(0x40)
                      mstore(freeMemoryPointer, selector_)
                      mstore(add(freeMemoryPointer, 4), and(to, 0xffffffffffffffffffffffffffffffffffffffff))
                      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                      File 6 of 13: SupplyLogic
                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      8
                      9
                      10
                      11
                      12
                      13
                      14
                      15
                      16
                      // SPDX-License-Identifier: LGPL-3.0-or-later
                      pragma 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
                      assembly {
                      let freeMemoryPointer := mload(0x40)
                      mstore(freeMemoryPointer, selector_)
                      mstore(add(freeMemoryPointer, 4), and(to, 0xffffffffffffffffffffffffffffffffffffffff))
                      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                      File 7 of 13: InitializableImmutableAdminUpgradeabilityProxy
                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      8
                      9
                      10
                      11
                      12
                      13
                      14
                      15
                      16
                      // SPDX-License-Identifier: AGPL-3.0
                      pragma 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:
                      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                      File 8 of 13: VariableDebtToken
                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      8
                      9
                      10
                      11
                      12
                      13
                      14
                      15
                      16
                      // SPDX-License-Identifier: MIT
                      pragma 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);
                      }
                      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                      File 9 of 13: InitializableImmutableAdminUpgradeabilityProxy
                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      8
                      9
                      10
                      11
                      12
                      13
                      14
                      15
                      16
                      // SPDX-License-Identifier: AGPL-3.0
                      pragma 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:
                      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                      File 10 of 13: StableDebtToken
                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      8
                      9
                      10
                      11
                      12
                      13
                      14
                      15
                      16
                      // SPDX-License-Identifier: MIT
                      pragma 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);
                      }
                      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                      File 11 of 13: AToken
                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      8
                      9
                      10
                      11
                      12
                      13
                      14
                      15
                      16
                      // SPDX-License-Identifier: LGPL-3.0-or-later
                      pragma 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
                      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                      File 12 of 13: DefaultReserveInterestRateStrategy
                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      8
                      9
                      10
                      11
                      12
                      13
                      14
                      15
                      16
                      // SPDX-License-Identifier: BUSL-1.1
                      pragma 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%.
                      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                      File 13 of 13: InitializableImmutableAdminUpgradeabilityProxy
                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      8
                      9
                      10
                      11
                      12
                      13
                      14
                      15
                      16
                      // SPDX-License-Identifier: AGPL-3.0
                      pragma 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:
                      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX