Transaction Hash:
Block:
22499596 at May-17-2025 01:50:23 AM +UTC
Transaction Fee:
0.0006451205794125 ETH
$1.61
Gas Used:
346,100 Gas / 1.863971625 Gwei
Emitted Events:
405 |
BeaconProxy.BeaconUpgraded( beacon=UpgradeableBeacon )
|
406 |
BeaconProxy.0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498( 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498, 0000000000000000000000000000000000000000000000000000000000000001 )
|
407 |
TransparentUpgradeableProxy.0x21c99d0db02213c32fff5b05cf0a718ab5f858802b91498f80d82270289d856a( 0x21c99d0db02213c32fff5b05cf0a718ab5f858802b91498f80d82270289d856a, 0x000000000000000000000000d09414cfc7d07c68fbe680ee3bfba1261f8e5e68, 0x0000000000000000000000003b8d268e9149e554f705f020efd718c757acffe3 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x3b8d268E...757ACffe3 |
0.008651962100836885 Eth
Nonce: 3
|
0.008006841521424385 Eth
Nonce: 4
| 0.0006451205794125 | ||
0x4838B106...B0BAD5f97
Miner
| (Titan Builder) | 13.077829542820691825 Eth | 13.078031385373230425 Eth | 0.0002018425525386 | |
0x91E677b0...4a0d3A338 | (EigenLayer: Eigen Pod Manager) | ||||
0xd09414cF...61f8e5E68 |
0 Eth
Nonce: 0
|
0 Eth
Nonce: 1
|
Execution Trace
TransparentUpgradeableProxy.CALL( )
EigenPodManager.DELEGATECALL( )
BeaconProxy.60806040( )
-
UpgradeableBeacon.STATICCALL( )
-
BeaconProxy.c4d66de8( )
-
UpgradeableBeacon.STATICCALL( )
-
EigenPod.initialize( _podOwner=0x3b8d268E9149e554f705f020EfD718c757ACffe3 )
-
File 1 of 5: TransparentUpgradeableProxy
File 2 of 5: BeaconProxy
File 3 of 5: EigenPodManager
File 4 of 5: UpgradeableBeacon
File 5 of 5: EigenPod
12345678910111213141516// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.7.0) (proxy/transparent/TransparentUpgradeableProxy.sol)pragma solidity ^0.8.0;import "../ERC1967/ERC1967Proxy.sol";/*** @dev This contract implements a proxy that is upgradeable by an admin.** To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector* clashing], which can potentially be used in an attack, this contract uses the* https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two* things that go hand in hand:** 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if* that call matches one of the admin functions exposed by the proxy itself.* 2. If the admin calls the proxy, it can access the admin functions, but its calls will never be forwarded to the* implementation. If the admin tries to call a function on the implementation it will fail with an error that says
File 2 of 5: BeaconProxy
12345678910111213141516// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.5.0) (interfaces/draft-IERC1822.sol)pragma solidity ^0.8.0;/*** @dev ERC1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified* proxy whose upgrades are fully controlled by the current implementation.*/interface IERC1822Proxiable {/*** @dev Returns the storage slot that the proxiable contract assumes is being used to store the implementation* address.** IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks* bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this
File 3 of 5: EigenPodManager
12345678910111213141516// SPDX-License-Identifier: BUSL-1.1pragma solidity ^0.8.27;import "@openzeppelin/contracts/utils/Create2.sol";import "@openzeppelin/contracts/utils/math/SafeCast.sol";import "@openzeppelin-upgrades/contracts/proxy/utils/Initializable.sol";import "@openzeppelin-upgrades/contracts/access/OwnableUpgradeable.sol";import "@openzeppelin-upgrades/contracts/security/ReentrancyGuardUpgradeable.sol";import "../libraries/SlashingLib.sol";import "../mixins/SemVerMixin.sol";import "../permissions/Pausable.sol";import "./EigenPodPausingConstants.sol";import "./EigenPodManagerStorage.sol";/*** @title The contract used for creating and managing EigenPods* @author Layr Labs, Inc.* @notice Terms of Service: https://docs.eigenlayer.xyz/overview/terms-of-service
File 4 of 5: UpgradeableBeacon
12345678910111213141516// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (proxy/beacon/UpgradeableBeacon.sol)pragma solidity ^0.8.0;import "./IBeacon.sol";import "../../access/Ownable.sol";import "../../utils/Address.sol";/*** @dev This contract is used in conjunction with one or more instances of {BeaconProxy} to determine their* implementation contract, which is where they will delegate all function calls.** An owner is able to change the implementation the beacon points to, thus upgrading the proxies that use this beacon.*/contract UpgradeableBeacon is IBeacon, Ownable {address private _implementation;/*** @dev Emitted when the implementation returned by the beacon is changed.
File 5 of 5: EigenPod
12345678910111213141516// SPDX-License-Identifier: BUSL-1.1pragma solidity ^0.8.27;import "@openzeppelin-upgrades/contracts/proxy/utils/Initializable.sol";import "@openzeppelin-upgrades/contracts/security/ReentrancyGuardUpgradeable.sol";import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";import "../libraries/BeaconChainProofs.sol";import "../mixins/SemVerMixin.sol";import "../interfaces/IETHPOSDeposit.sol";import "../interfaces/IEigenPodManager.sol";import "../interfaces/IPausable.sol";import "./EigenPodPausingConstants.sol";import "./EigenPodStorage.sol";/*** @title The implementation contract used for restaking beacon chain ETH on EigenLayer* @author Layr Labs, Inc.* @notice Terms of Service: https://docs.eigenlayer.xyz/overview/terms-of-service