Transaction Hash:
Block:
12892909 at Jul-25-2021 02:55:49 AM +UTC
Transaction Fee:
0.004010292 ETH
$10.26
Gas Used:
182,286 Gas / 22 Gwei
Emitted Events:
91 |
WeightedPool2Tokens.Transfer( from=0x0000000000000000000000000000000000000000, to=[Sender] 0xf2948eb21cd5f5c4e332ffc5238be657bffaff65, value=2484474367884025676 )
|
92 |
BalancerGovernanceToken.Transfer( from=[Sender] 0xf2948eb21cd5f5c4e332ffc5238be657bffaff65, to=[Receiver] Vault, value=4241554348846000000 )
|
93 |
BalancerGovernanceToken.Approval( owner=[Sender] 0xf2948eb21cd5f5c4e332ffc5238be657bffaff65, spender=[Receiver] Vault, value=115792089237316195423570985008687907853269984665640564039449325665414283639935 )
|
94 |
WETH9.Transfer( src=[Sender] 0xf2948eb21cd5f5c4e332ffc5238be657bffaff65, dst=[Receiver] Vault, wad=9273339557512449 )
|
95 |
Vault.PoolBalanceChanged( poolId=5C6EE304399DBDB9C8EF030AB642B10820DB8F56000200000000000000000014, liquidityProvider=[Sender] 0xf2948eb21cd5f5c4e332ffc5238be657bffaff65, tokens=[0xba100000625a3754423978a60c9317c58a424e3D, 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2], deltas=[4241554348846000000, 9273339557512449], protocolFeeAmounts=[0, 0] )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x5c6Ee304...820DB8F56 | |||||
0xba100000...58a424e3D | |||||
0xBA122222...d566BF2C8 | (Balancer: Vault) | ||||
0xC02aaA39...83C756Cc2 | |||||
0xEA674fdD...16B898ec8
Miner
| (Ethermine) | 2,337.775674986762731326 Eth | 2,337.779685278762731326 Eth | 0.004010292 | |
0xF2948Eb2...7bffAFf65 |
0.041619074 Eth
Nonce: 14
|
0.037608782 Eth
Nonce: 15
| 0.004010292 |
Execution Trace
Vault.joinPool( poolId=5C6EE304399DBDB9C8EF030AB642B10820DB8F56000200000000000000000014, sender=0xF2948Eb21cD5F5c4E332ffC5238Be657bffAFf65, recipient=0xF2948Eb21cD5F5c4E332ffC5238Be657bffAFf65, request=[{name:assets, type:address[], order:1, indexed:false, value:[0xba100000625a3754423978a60c9317c58a424e3D, 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2], valueString:[0xba100000625a3754423978a60c9317c58a424e3D, 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2]}, {name:maxAmountsIn, type:uint256[], order:2, indexed:false, value:[4241554348846000000, 9273339557512449], valueString:[4241554348846000000, 9273339557512449]}, {name:userData, type:bytes, order:3, indexed:false, value:0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000224E7E3162DA19A800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000003ADD0735227AA7800000000000000000000000000000000000000000000000000020F20D9E350501, valueString:0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000224E7E3162DA19A800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000003ADD0735227AA7800000000000000000000000000000000000000000000000000020F20D9E350501}, {name:fromInternalBalance, type:bool, order:4, indexed:false, value:false, valueString:False}] )
-
ProtocolFeesCollector.STATICCALL( )
-
WeightedPool2Tokens.onJoinPool( poolId=5C6EE304399DBDB9C8EF030AB642B10820DB8F56000200000000000000000014, sender=0xF2948Eb21cD5F5c4E332ffC5238Be657bffAFf65, recipient=0xF2948Eb21cD5F5c4E332ffC5238Be657bffAFf65, balances=[4575452371031288251979413, 10003343108722026358500], lastChangeBlock=12892833, protocolSwapFeePercentage=0, userData=0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000224E7E3162DA19A800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000003ADD0735227AA7800000000000000000000000000000000000000000000000000020F20D9E350501 ) => ( amountsIn=[4241554348846000000, 9273339557512449], dueProtocolFeeAmounts=[0, 0] )
-
BalancerGovernanceToken.transferFrom( sender=0xF2948Eb21cD5F5c4E332ffC5238Be657bffAFf65, recipient=0xBA12222222228d8Ba445958a75a0704d566BF2C8, amount=4241554348846000000 ) => ( True )
-
WETH9.transferFrom( src=0xF2948Eb21cD5F5c4E332ffC5238Be657bffAFf65, dst=0xBA12222222228d8Ba445958a75a0704d566BF2C8, wad=9273339557512449 ) => ( True )
joinPool[PoolBalances (ln:3536)]
_joinOrExit[PoolBalances (ln:3545)]
ensureInputLengthMatch[PoolBalances (ln:3604)]
_require[InputHelpers (ln:2428)]
_translateToIERC20[PoolBalances (ln:3607)]
_validateTokensAndGetBalances[PoolBalances (ln:3608)]
_getPoolTokens[PoolBalances (ln:3758)]
ensureInputLengthMatch[PoolBalances (ln:3759)]
_require[InputHelpers (ln:2428)]
_require[PoolBalances (ln:3760)]
_require[PoolBalances (ln:3762)]
_callPoolBalanceChange[PoolBalances (ln:3615)]
totalsAndLastChangeBlock[PoolBalances (ln:3655)]
_getPoolAddress[PoolBalances (ln:3656)]
onJoinPool[PoolBalances (ln:3658)]
_getProtocolSwapFeePercentage[PoolBalances (ln:3664)]
onExitPool[PoolBalances (ln:3667)]
_getProtocolSwapFeePercentage[PoolBalances (ln:3673)]
ensureInputLengthMatch[PoolBalances (ln:3676)]
_require[InputHelpers (ln:2428)]
_processJoinPoolTransfers[PoolBalances (ln:3680)]
_require[PoolBalances (ln:3702)]
_receiveAsset[PoolBalances (ln:3705)]
_isETH[PoolBalances (ln:3706)]
add[PoolBalances (ln:3707)]
_payFeeAmount[PoolBalances (ln:3710)]
_translateToIERC20[PoolBalances (ln:3710)]
increaseCash[PoolBalances (ln:3714)]
decreaseCash[PoolBalances (ln:3715)]
_handleRemainingEth[PoolBalances (ln:3718)]
_processExitPoolTransfers[PoolBalances (ln:3681)]
_require[PoolBalances (ln:3737)]
_sendAsset[PoolBalances (ln:3740)]
_payFeeAmount[PoolBalances (ln:3742)]
_translateToIERC20[PoolBalances (ln:3742)]
decreaseCash[PoolBalances (ln:3744)]
add[PoolBalances (ln:3744)]
_getPoolSpecialization[PoolBalances (ln:3617)]
_setTwoTokenPoolCashBalances[PoolBalances (ln:3619)]
_setMinimalSwapInfoPoolBalances[PoolBalances (ln:3621)]
_setGeneralPoolBalances[PoolBalances (ln:3624)]
PoolBalanceChanged[PoolBalances (ln:3627)]
_unsafeCastToInt256[PoolBalances (ln:3632)]
payable[PoolBalances (ln:3545)]
_toPoolBalanceChange[PoolBalances (ln:3545)]
File 1 of 5: Vault
File 2 of 5: WeightedPool2Tokens
File 3 of 5: BalancerGovernanceToken
File 4 of 5: WETH9
File 5 of 5: ProtocolFeesCollector
12345678910111213141516// SPDX-License-Identifier: GPL-3.0-or-later// 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.7.0;pragma experimental ABIEncoderV2;import "./interfaces/IAuthorizer.sol";import "./interfaces/IWETH.sol";import "./VaultAuthorization.sol";
File 2 of 5: WeightedPool2Tokens
12345678910111213141516// SPDX-License-Identifier: GPL-3.0-or-later// 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.7.0;pragma experimental ABIEncoderV2;import "../../lib/math/FixedPoint.sol";import "../../lib/helpers/InputHelpers.sol";import "../../lib/helpers/TemporarilyPausable.sol";
File 3 of 5: BalancerGovernanceToken
12345678910111213141516// SPDX-License-Identifier: MIT// File @openzeppelin/contracts/utils/EnumerableSet.sol@v3.0.1pragma solidity ^0.6.0;/*** @dev Library for managing* https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive* types.** Sets have the following properties:** - Elements are added, removed, and checked for existence in constant time* (O(1)).* - Elements are enumerated in O(n). No guarantees are made on the ordering.
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: ProtocolFeesCollector
12345678910111213141516// SPDX-License-Identifier: GPL-3.0-or-later// 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.7.0;pragma experimental ABIEncoderV2;import "../lib/openzeppelin/IERC20.sol";import "../lib/helpers/InputHelpers.sol";import "../lib/helpers/Authentication.sol";