Transaction Hash:
Block:
22418468 at May-05-2025 03:35:59 PM +UTC
Transaction Fee:
0.000776713603851216 ETH
$2.31
Gas Used:
346,023 Gas / 2.244687792 Gwei
Emitted Events:
111 |
BeaconProxy.BeaconUpgraded( beacon=UpgradeableBeacon )
|
112 |
BeaconProxy.0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498( 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498, 0000000000000000000000000000000000000000000000000000000000000001 )
|
113 |
TransparentUpgradeableProxy.0x21c99d0db02213c32fff5b05cf0a718ab5f858802b91498f80d82270289d856a( 0x21c99d0db02213c32fff5b05cf0a718ab5f858802b91498f80d82270289d856a, 0x000000000000000000000000c7b3d2af2ac6baa18100d5dffcf59a55f7e3ee89, 0x00000000000000000000000069eab63384c37d44a18401fd765e4c54df2b4185 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x69EAB633...4DF2b4185 |
0.010082208842558924 Eth
Nonce: 252
|
0.009305495238707708 Eth
Nonce: 253
| 0.000776713603851216 | ||
0x91E677b0...4a0d3A338 | (EigenLayer: Eigen Pod Manager) | ||||
0x95222290...5CC4BAfe5
Miner
| (beaverbuild) | 6.639463342253604569 Eth | 6.639809365253604569 Eth | 0.000346023 | |
0xC7b3d2AF...5F7E3ee89 |
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=0x69EAB63384C37D44a18401fD765E4c54DF2b4185 )
-
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