Transaction Hash:
Block:
22559405 at May-25-2025 11:01:23 AM +UTC
Transaction Fee:
0.000155934366873047 ETH
$0.49
Gas Used:
341,567 Gas / 0.456526441 Gwei
Emitted Events:
414 |
BoringVault.Transfer( from=[Sender] 0xc9c321360991f7dacfbe551c5c6a0049d38db5d3, to=0x5141B82f5fFDa4c6fE1E372978F1C5427640a190, amount=770752637248428 )
|
415 |
BoringVault.Transfer( from=0x5141B82f5fFDa4c6fE1E372978F1C5427640a190, to=0x39041F1B366fE33F9A5a79dE5120F2Aee2577ebc, amount=1926881593121 )
|
416 |
BoringVault.Approval( owner=0x5141B82f5fFDa4c6fE1E372978F1C5427640a190, spender=FluidDexT1, amount=768825755655307 )
|
417 |
BoringVault.Transfer( from=0x5141B82f5fFDa4c6fE1E372978F1C5427640a190, to=FluidLiquidityProxy, amount=768825755655307 )
|
418 |
ZtakingPool.Deposit( eventId=384845, depositor=FluidLiquidityProxy, token=BoringVault, amount=768825755655307 )
|
419 |
BoringVault.Transfer( from=FluidLiquidityProxy, to=ZtakingPool, amount=768825755655307 )
|
420 |
FluidLiquidityProxy.0x4d93b232a24e82b284ced7461bf4deacffe66759d5c24513e6f29e571ad78d15( 0x4d93b232a24e82b284ced7461bf4deacffe66759d5c24513e6f29e571ad78d15, 0x000000000000000000000000080574d224e960c272e005aa03efbe793f317640, 0x000000000000000000000000917cee801a67f933f2e6b33fc0cd1ed2d5909d88, 0000000000000000000000000000000000000000000000000002bb27d1c6b2c0, 0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000000, 000000000000000000000000000000000000000000000000eaf754fb36a51012, 000000000000000746a528800000000746a5288001a0c7c71c01e00003e80000 )
|
421 |
FluidLiquidityProxy.0x4d93b232a24e82b284ced7461bf4deacffe66759d5c24513e6f29e571ad78d15( 0x4d93b232a24e82b284ced7461bf4deacffe66759d5c24513e6f29e571ad78d15, 0x000000000000000000000000080574d224e960c272e005aa03efbe793f317640, 0x000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee, fffffffffffffffffffffffffffffffffffffffffffffffffffd33b187c60e80, 0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000005141b82f5ffda4c6fe1e372978f1c5427640a190, 0000000000000000000000000000000000000000000000000000000000000000, 00000000000000008f41bd8b14cf3e150000000000000000aa2e78293f090a15, 0000000000000007c708ccb440000007a91738b109a0cbca9c01e85fc3e80126 )
|
422 |
FluidDexT1.Swap( swap0to1=True, amountIn=768825755655307, amountOut=787587350000000, to=0x5141B82f5fFDa4c6fE1E372978F1C5427640a190 )
|
423 |
WETH9.Deposit( dst=0x5141B82f5fFDa4c6fE1E372978F1C5427640a190, wad=787587350000000 )
|
424 |
ENA.Transfer( from=UniswapV3Pool, to=[Receiver] AggregationRouterV6, value=5453857033287885224 )
|
425 |
WETH9.Transfer( src=0x5141B82f5fFDa4c6fE1E372978F1C5427640a190, dst=UniswapV3Pool, wad=787587350000000 )
|
426 |
UniswapV3Pool.Swap( sender=0x5141B82f5fFDa4c6fE1E372978F1C5427640a190, recipient=[Receiver] AggregationRouterV6, amount0=-5453857033287885224, amount1=787587350000000, sqrtPriceX96=950658863090989415497285647, liquidity=300869703783748045886953, tick=-88464 )
|
427 |
ENA.Transfer( from=[Receiver] AggregationRouterV6, to=[Sender] 0xc9c321360991f7dacfbe551c5c6a0049d38db5d3, value=5453857033287885224 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x080574D2...93f317640 | (Fluid: Dex weETHs - ETH) | ||||
0x4838B106...B0BAD5f97
Miner
| (Titan Builder) | 22.378221611575382345 Eth | 22.378238689925382345 Eth | 0.00001707835 | |
0x52Aa8994...360F4e497 | (Fluid: Liquidity) | 15,394.906360728427527265 Eth | 15,394.905573141077527265 Eth | 0.00078758735 | |
0x57e114B6...3181e6061 | |||||
0x917ceE80...2d5909D88 | |||||
0xC02aaA39...83C756Cc2 | 2,825,561.476373154524741615 Eth | 2,825,561.477160741874741615 Eth | 0.00078758735 | ||
0xc3Db44AD...f4A8EEa18 | (Uniswap V3: ENA 3) | ||||
0xc9c32136...9d38db5d3 |
0.005545663183474279 Eth
Nonce: 30
|
0.005389728816601232 Eth
Nonce: 31
| 0.000155934366873047 | ||
0xF047ab4c...611aEAfa6 | (Zircuit: Restaking Pool) |
Execution Trace
AggregationRouterV6.swap( executor=0x5141B82f5fFDa4c6fE1E372978F1C5427640a190, desc=[{name:srcToken, type:address, order:1, indexed:false, value:0x917ceE801a67f933F2e6b33fC0cD1ED2d5909D88, valueString:0x917ceE801a67f933F2e6b33fC0cD1ED2d5909D88}, {name:dstToken, type:address, order:2, indexed:false, value:0x57e114B691Db790C35207b2e685D4A43181e6061, valueString:0x57e114B691Db790C35207b2e685D4A43181e6061}, {name:srcReceiver, type:address, order:3, indexed:false, value:0x5141B82f5fFDa4c6fE1E372978F1C5427640a190, valueString:0x5141B82f5fFDa4c6fE1E372978F1C5427640a190}, {name:dstReceiver, type:address, order:4, indexed:false, value:0xc9c321360991F7DAcFbe551c5C6A0049d38db5d3, valueString:0xc9c321360991F7DAcFbe551c5C6A0049d38db5d3}, {name:amount, type:uint256, order:5, indexed:false, value:770752637248428, valueString:770752637248428}, {name:minReturnAmount, type:uint256, order:6, indexed:false, value:5393163041495983541, valueString:5393163041495983541}, {name:flags, type:uint256, order:7, indexed:false, value:0, valueString:0}], data=0x00000000000000000000000000000000000000017B0001180000FE00004E00A0744C8C09917CEE801A67F933F2E6B33FC0CD1ED2D5909D8839041F1B366FE33F9A5A79DE5120F2AEE2577EBC000000000000000000000000000000000000000000000000000001C0A317C7215120080574D224E960C272E005AA03EFBE793F317640917CEE801A67F933F2E6B33FC0CD1ED2D5909D8800242668DFAA000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002C524B99586200000000000000000000000005141B82F5FFDA4C6FE1E372978F1C5427640A1904041C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2D0E30DB002A00000000000000000000000000000000000000000000000004AD85D36482225B5EE63C1E580C3DB44ADC1FCDFD5671F555236EAE49F4A8EEA18C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2111111125421CA6DC452D289314280A0F8842A65 ) => ( returnAmount=5453857033287885224, spentAmount=770752637248428 )
BoringVault.transferFrom( from=0xc9c321360991F7DAcFbe551c5C6A0049d38db5d3, to=0x5141B82f5fFDa4c6fE1E372978F1C5427640a190, amount=770752637248428 ) => ( True )
-
TellerWithMultiAssetSupport.beforeTransfer( from=0xc9c321360991F7DAcFbe551c5C6A0049d38db5d3, to=0x5141B82f5fFDa4c6fE1E372978F1C5427640a190, operator=0x111111125421cA6dc452d289314280a0f8842A65 )
-
0x5141b82f5ffda4c6fe1e372978f1c5427640a190.4b64e492( )
0x5141b82f5ffda4c6fe1e372978f1c5427640a190.744c8c09( )
BoringVault.transfer( to=0x39041F1B366fE33F9A5a79dE5120F2Aee2577ebc, amount=1926881593121 ) => ( True )
-
TellerWithMultiAssetSupport.beforeTransfer( from=0x5141B82f5fFDa4c6fE1E372978F1C5427640a190, to=0x39041F1B366fE33F9A5a79dE5120F2Aee2577ebc, operator=0x5141B82f5fFDa4c6fE1E372978F1C5427640a190 )
-
-
BoringVault.approve( spender=0x080574D224E960c272e005aA03EFbe793f317640, amount=768825755655307 ) => ( True )
FluidDexT1.swapIn( swap0to1_=True, amountIn_=768825755655307, amountOutMin_=779711476500000, to_=0x5141B82f5fFDa4c6fE1E372978F1C5427640a190 ) => ( amountOut_=787587350000000 )
-
WeETHsContractRate.CALL( )
-
FluidLiquidityProxy.readFromStorage( slot_=E1BF7D29361978714AD5A88CF9255AB1BF29D90B2F7E0300E50CA1B25589AC63 ) => ( result_=45671926166590716196341031100955108770610950403862984916992 )
-
FluidLiquidityProxy.readFromStorage( slot_=A1829A9003092132F585B6CCDD167C19FE9774DBDEA4260287E8A8E8CA8185D7 ) => ( result_=48819952516598523884898598493544113638675068145129071575334 )
-
FluidLiquidityProxy.readFromStorage( slot_=BEBCFC02B6EF587ED23CE76915023B7E22E433FAB664C04187BE9D46655D8707 ) => ( result_=270372147105548618748076018633333563945760820839563050126680268831 )
-
FluidLiquidityProxy.readFromStorage( slot_=40DC33F4A02496C26F5643439C0FCDA9736D08A48EF4F82731C2BF134576DF97 ) => ( result_=261733248179612287026762430424907473794601457552431745637973304347 )
FluidLiquidityProxy.ad967e15( )
FluidLiquidityUserModule.operate( token_=0x917ceE801a67f933F2e6b33fC0cD1ED2d5909D88, supplyAmount_=768729651000000, borrowAmount_=0, withdrawTo_=0x0000000000000000000000000000000000000000, borrowTo_=0x0000000000000000000000000000000000000000, callbackData_=0x0000000000000000000000000000000000000000000000000002BB3E320F5C8B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005141B82F5FFDA4C6FE1E372978F1C5427640A190 ) => ( memVar3_=1000000000000, memVar4_=1000000000000 )
-
BoringVault.balanceOf( 0x52Aa899454998Be5b000Ad077a46Bbe360F4e497 ) => ( 0 )
FluidDexT1.liquidityCallback( token_=0x917ceE801a67f933F2e6b33fC0cD1ED2d5909D88, amount_=768729651000000, data_=0x0000000000000000000000000000000000000000000000000002BB3E320F5C8B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005141B82F5FFDA4C6FE1E372978F1C5427640A190 )
-
BoringVault.transferFrom( from=0x5141B82f5fFDa4c6fE1E372978F1C5427640a190, to=0x52Aa899454998Be5b000Ad077a46Bbe360F4e497, amount=768825755655307 ) => ( True )
-
-
BoringVault.balanceOf( 0x52Aa899454998Be5b000Ad077a46Bbe360F4e497 ) => ( 768825755655307 )
-
BoringVault.allowance( 0x52Aa899454998Be5b000Ad077a46Bbe360F4e497, 0xF047ab4c75cebf0eB9ed34Ae2c186f3611aEAfa6 ) => ( 115792089237316195423570985008687907853269984665640564039457584007913129639935 )
ZtakingPool.depositFor( _token=0x917ceE801a67f933F2e6b33fC0cD1ED2d5909D88, _for=0x52Aa899454998Be5b000Ad077a46Bbe360F4e497, _amount=768825755655307 )
-
BoringVault.transferFrom( from=0x52Aa899454998Be5b000Ad077a46Bbe360F4e497, to=0xF047ab4c75cebf0eB9ed34Ae2c186f3611aEAfa6, amount=768825755655307 ) => ( True )
-
-
FluidLiquidityProxy.ad967e15( )
FluidLiquidityUserModule.operate( token_=0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE, supplyAmount_=-787587350000000, borrowAmount_=0, withdrawTo_=0x5141B82f5fFDa4c6fE1E372978F1C5427640a190, borrowTo_=0x0000000000000000000000000000000000000000, callbackData_=0x ) => ( memVar3_=1052852557345, memVar4_=1068928439944 )
- ETH 0.00078758735
0x5141b82f5ffda4c6fe1e372978f1c5427640a190.CALL( )
- ETH 0.00078758735
-
- ETH 0.00078758735
WETH9.CALL( )
0x5141b82f5ffda4c6fe1e372978f1c5427640a190.ee63c1e5( )
UniswapV3Pool.swap( recipient=0x111111125421cA6dc452d289314280a0f8842A65, zeroForOne=False, amountSpecified=787587350000000, sqrtPriceLimitX96=1461446703485210103287273052203988822378723970341, data=0x000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 ) => ( amount0=-5453857033287885224, amount1=787587350000000 )
-
ENA.transfer( to=0x111111125421cA6dc452d289314280a0f8842A65, amount=5453857033287885224 ) => ( True )
-
WETH9.balanceOf( 0xc3Db44ADC1fCdFd5671f555236eae49f4A8EEa18 ) => ( 216526144005649815047 )
0x5141b82f5ffda4c6fe1e372978f1c5427640a190.fa461e33( )
-
WETH9.transfer( dst=0xc3Db44ADC1fCdFd5671f555236eae49f4A8EEa18, wad=787587350000000 ) => ( True )
-
-
WETH9.balanceOf( 0xc3Db44ADC1fCdFd5671f555236eae49f4A8EEa18 ) => ( 216526931592999815047 )
-
-
ENA.transfer( to=0xc9c321360991F7DAcFbe551c5C6A0049d38db5d3, amount=5453857033287885224 ) => ( True )
File 1 of 11: AggregationRouterV6
File 2 of 11: BoringVault
File 3 of 11: FluidLiquidityProxy
File 4 of 11: ZtakingPool
File 5 of 11: FluidDexT1
File 6 of 11: WETH9
File 7 of 11: UniswapV3Pool
File 8 of 11: ENA
File 9 of 11: TellerWithMultiAssetSupport
File 10 of 11: WeETHsContractRate
File 11 of 11: FluidLiquidityUserModule
12345678910111213141516/*,▄▓▓██▌ ,╓▄▄▓▓▓▓▓▓▓▓▄▄▄,,,▓██▓███▓▄▓███▓╬╬╬╬╬╬╬╬╬╬╬╬╬▓███▓▄,▄█ ▓██╬╣███████╬▓▀╬╬▓▓▓████████████▓█████▄,▓██▌ ▓██╬╣██████╬▓▌ ██████████████████████▌╙╙▀ⁿ▐████████╬▓████▓▓█╨ ▄ ╟█████████▓▓╬╬╬╬╬▓▓█████▓▄└▀▓▓▄╓ ╟█▓╣█████▓██████▀ ╓█▌ ███████▓▓▓▓▓╬╬╬╬╬╬╬╬╬╬╬╬▓██▓▄└▀████▓▄╥ ▐██╬╬██████████╙ Æ▀─ ▓███▀╚╠╬╩▀▀███████▓▓╬╬╬╬╬╬╬╬╬██▄└▀██▓▀▀█████▓╬▓██████▀ ▄█████▒╠" └╙▓██████▓╬╬╬╬╬╬╬╬██▄└▀██▄,└╙▀▀████▌└╙ ^"▀╙╙╙"╙██ @▄ ╙▀███████╬╬╬╬╬╬╬██µ└▀██▓▄, ██▌ ╒ ╙█▓ ]▓█▓╔ ▀███████▓╬╬╬╬╬▓█▌▀█████ ▓ ╟█▌ ]╠██▓░▒╓ ▀████████╬╬╬╬╣█▌▐████ ╓█▀█▌ ,██▌ ╚Å███▓▒▒╠╓ ╙█████████╬╬╬╣█▌└████ ▓█░░▓█ ▀▀▀ φ▒╫████▒▒▒▒╠╓ █████████▓╬╬▓█µ╘███µ ▌▄█▓▄▓▀` ,▀ ,╔╠░▓██████▌╠▒▒▒φ ██████████╬╬██▐████µ╙▓▀` ,▀╙,╔╔φφφ╠░▄▓███████▌░▓╙▒▒▒╠ └██╬███████╬▓█⌐
File 2 of 11: BoringVault
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity 0.8.21;import {Address} from "@openzeppelin/contracts/utils/Address.sol";import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";import {FixedPointMathLib} from "@solmate/utils/FixedPointMathLib.sol";import {SafeTransferLib} from "@solmate/utils/SafeTransferLib.sol";import {ERC20} from "@solmate/tokens/ERC20.sol";import {BeforeTransferHook} from "src/interfaces/BeforeTransferHook.sol";import {Auth, Authority} from "@solmate/auth/Auth.sol";contract BoringVault is ERC20, Auth, ERC721Holder, ERC1155Holder {using Address for address;using SafeTransferLib for ERC20;using FixedPointMathLib for uint256;// ========================================= STATE =========================================/**
File 3 of 11: FluidLiquidityProxy
12345678910111213141516//SPDX-License-Identifier: MITpragma solidity 0.8.21;contract Error {error FluidInfiniteProxyError(uint256 errorId_);}//SPDX-License-Identifier: MITpragma solidity 0.8.21;library ErrorTypes {/***********************************|| Infinite proxy ||__________________________________*//// @notice thrown when an implementation does not existuint256 internal constant InfiniteProxy__ImplementationNotExist = 50001;}// SPDX-License-Identifier: BUSL-1.1pragma solidity 0.8.21;
File 4 of 11: ZtakingPool
12345678910111213141516// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)pragma solidity ^0.8.20;import {Context} from "../utils/Context.sol";/*** @dev Contract module which provides a basic access control mechanism, where* there is an account (an owner) that can be granted exclusive access to* specific functions.** The initial owner is set to the address provided by the deployer. This can* later be changed with {transferOwnership}.** This module is used through inheritance. It will make available the modifier* `onlyOwner`, which can be applied to your functions to restrict their use to* the owner.*/
File 5 of 11: FluidDexT1
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity 0.8.21;interface IProxy {function setAdmin(address newAdmin_) external;function setDummyImplementation(address newDummyImplementation_) external;function addImplementation(address implementation_, bytes4[] calldata sigs_) external;function removeImplementation(address implementation_) external;function getAdmin() external view returns (address);function getDummyImplementation() external view returns (address);function getImplementationSigs(address impl_) external view returns (bytes4[] memory);function getSigsImplementation(bytes4 sig_) external view returns (address);function readFromStorage(bytes32 slot_) external view returns (uint256 result_);}// SPDX-License-Identifier: BUSL-1.1pragma solidity 0.8.21;/// @notice implements calculation of address for contracts deployed through CREATE.
File 6 of 11: 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 7 of 11: 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 8 of 11: ENA
12345678910111213141516// SPDX-License-Identifier: GPL-3.0pragma solidity 0.8.20;import "@openzeppelin/contracts/token/ERC20/ERC20.sol";import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";import "@openzeppelin/contracts/access/Ownable2Step.sol";import "./interfaces/IENADefinitions.sol";/*** @title ENA* @notice Governance token for the Ethena protocol*/contract ENA is Ownable2Step, ERC20Burnable, ERC20Permit, IENADefinitions {/// @notice Maximum inflation rate per year (percentage) expressed as an integeruint8 public constant MAX_INFLATION = 10;/// @notice The maximum frequency of inflationary mint invocationsuint32 public constant MINT_WAIT_PERIOD = 365 days;
File 9 of 11: TellerWithMultiAssetSupport
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity 0.8.21;import {ERC20} from "@solmate/tokens/ERC20.sol";import {WETH} from "@solmate/tokens/WETH.sol";import {BoringVault} from "src/base/BoringVault.sol";import {AccountantWithRateProviders} from "src/base/Roles/AccountantWithRateProviders.sol";import {FixedPointMathLib} from "@solmate/utils/FixedPointMathLib.sol";import {SafeTransferLib} from "@solmate/utils/SafeTransferLib.sol";import {BeforeTransferHook} from "src/interfaces/BeforeTransferHook.sol";import {Auth, Authority} from "@solmate/auth/Auth.sol";import {ReentrancyGuard} from "@solmate/utils/ReentrancyGuard.sol";contract TellerWithMultiAssetSupport is Auth, BeforeTransferHook, ReentrancyGuard {using FixedPointMathLib for uint256;using SafeTransferLib for ERC20;using SafeTransferLib for WETH;// ========================================= CONSTANTS =========================================
File 10 of 11: WeETHsContractRate
12345678910111213141516// SPDX-License-Identifier: BUSL-1.1pragma solidity 0.8.21;import { IWeETHsAccountant } from "../../interfaces/external/IWeETHsAccountant.sol";import { IFluidOracle } from "../../interfaces/iFluidOracle.sol";import { FluidCenterPrice } from "../../fluidCenterPrice.sol";import { Error as OracleError } from "../../error.sol";import { ErrorTypes } from "../../errorTypes.sol";abstract contract Events {/// @notice emitted when rebalancer successfully changes the contract rateevent LogRebalanceRate(uint256 oldRate, uint256 newRate);}abstract contract Constants {/// @dev WEETHS accountant contract; 0xbe16605B22a7faCEf247363312121670DFe5afBEIWeETHsAccountant internal immutable _WEETHS_ACCOUNTANT;/// @dev Minimum difference to trigger update in percent 1e4 decimals, 10000 = 1%uint256 internal immutable _MIN_UPDATE_DIFF_PERCENT;
File 11 of 11: FluidLiquidityUserModule
12345678910111213141516// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (interfaces/IERC20.sol)pragma solidity ^0.8.0;import "../token/ERC20/IERC20.sol";// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)pragma solidity ^0.8.0;/*** @dev Interface of the ERC20 standard as defined in the EIP.*/interface IERC20 {/*** @dev Emitted when `value` tokens are moved from one account (`from`) to* another (`to`).** Note that `value` may be zero.