Skip to content

v3 prelude #256

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 49 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
b51a2a3
WIP starting updates for v3 prelude
solipsis Apr 29, 2025
78abdbe
WIP: still sorting out dependencies
solipsis Apr 29, 2025
11110ad
compiling again. still a bunch of stuff to fix/implement
solipsis Apr 30, 2025
1b9da1f
start cleaning up interfaces
solipsis May 1, 2025
67c0735
repo cleaning, remove unused fields from Oracle report
seongyun-ko May 1, 2025
66b8dd2
Merge pull request #259 from etherfi-protocol/syko/feature/v3-prelude…
seongyun-ko May 1, 2025
fd05034
working test setup
solipsis May 4, 2025
a49bf3a
initial deposit test
solipsis May 5, 2025
44b6b87
start cleaning up permissions and forwarding
solipsis May 5, 2025
c9648c9
wip permissions updates for etherfiNodesManager
solipsis May 6, 2025
3e81d8c
continue updating permissions and roles
solipsis May 6, 2025
2057609
start cleaning up events and errors
solipsis May 7, 2025
a5921ec
add recovery function in weETH and eETH
shivam-ef May 7, 2025
f96622a
fix role name
shivam-ef May 7, 2025
31450ac
continue core cleanup
solipsis May 7, 2025
a489697
add admin method to fill in old pubkeys
solipsis May 8, 2025
3d4d958
update constructors for finalized fields
solipsis May 9, 2025
5d16755
liquidity pool updates for compatibility
solipsis May 14, 2025
857f07e
admin can change validator size
solipsis May 14, 2025
a74daaf
clean up etherfi viewer
solipsis May 14, 2025
d201943
Merge pull request #262 from etherfi-protocol/feat/recovery-function
solipsis May 14, 2025
3e116b7
resolve merge conflicts
solipsis May 14, 2025
426f4d2
add verifyCheckpointProofs to eigenlayer convenience functions
solipsis May 14, 2025
fcf5f1f
C-01 + I-05 audit fixes
solipsis Jun 2, 2025
2d535a9
enable dynamic test linking
solipsis Jun 3, 2025
42d12bc
[M-01] + [M-02] + [M-04] + [I-03] + [I-06] audit fixes
solipsis Jun 3, 2025
7ba63b6
[L-01] audit fixes
solipsis Jun 3, 2025
4441627
[I-02] audit fixes
solipsis Jun 4, 2025
3537659
[I-04] audit fixes
solipsis Jun 4, 2025
ecf6856
[I-01] audit fixes
solipsis Jun 4, 2025
4288ecd
WIP: updating oracle/admin for v3 prelude
solipsis Jun 4, 2025
c820841
[M-03] audit fixes
solipsis Jun 5, 2025
4f59539
permission tests for v3 prelude functions
solipsis Jun 6, 2025
21129f1
FIX [M-02] audit item
solipsis Jun 9, 2025
08aa561
[I-02] additional audit fixes
solipsis Jun 10, 2025
8fad1ef
improve permissions for node call forwarding
solipsis Jun 10, 2025
c850dca
skip withdrawals that are not simple beacon eth withdrawals
solipsis Jun 10, 2025
feaf4df
test cleanup
solipsis Jun 10, 2025
ad70513
deprecate non validator spinup tasks
vvalecha519 Jun 16, 2025
e0fe153
rename to validator approval instead of validatorManagement
vvalecha519 Jun 16, 2025
6d5a033
add test to make sure the oracle changes work
vvalecha519 Jun 18, 2025
539792d
re-add removed event for compatibility
solipsis Jun 18, 2025
f45a635
wip better validator test setup
solipsis Jun 27, 2025
78c8ac9
debugging tests
solipsis Jun 27, 2025
9d2e6fe
update forge-std version
solipsis Jun 27, 2025
7106834
finish validator helper
solipsis Jun 27, 2025
6d0806c
linking tests
solipsis Jun 28, 2025
4bb269c
cleanup
solipsis Jun 29, 2025
298c5cf
more test cleanup
solipsis Jun 29, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ optimizer_runs = 1500
extra_output = ["storageLayout"]
bytecode_hash = 'none'
solc-version = '0.8.27'
dynamic_test_linking = true

[fuzz]
max_shrink_iters = 100
Expand Down
2 changes: 1 addition & 1 deletion lib/forge-std
Submodule forge-std updated 50 files
+6 −12 .github/workflows/ci.yml
+3 −1 .github/workflows/sync.yml
+193 −0 CONTRIBUTING.md
+19 −3 README.md
+5 −3 foundry.toml
+1 −1 package.json
+12 −1 scripts/vm.py
+16 −9 src/Base.sol
+1 −0 src/Script.sol
+1 −1 src/StdAssertions.sol
+47 −11 src/StdChains.sol
+17 −5 src/StdCheats.sol
+30 −0 src/StdConstants.sol
+18 −3 src/StdInvariant.sol
+104 −0 src/StdJson.sol
+1 −1 src/StdStorage.sol
+104 −0 src/StdToml.sol
+1 −18 src/StdUtils.sol
+1 −0 src/Test.sol
+826 −67 src/Vm.sol
+635 −608 src/console.sol
+1 −1,555 src/console2.sol
+1 −1 src/interfaces/IERC1155.sol
+3 −3 src/interfaces/IERC4626.sol
+72 −0 src/interfaces/IERC6909.sol
+1 −1 src/interfaces/IERC721.sol
+150 −0 src/interfaces/IERC7540.sol
+241 −0 src/interfaces/IERC7575.sol
+0 −234 src/mocks/MockERC20.sol
+0 −235 src/mocks/MockERC721.sol
+693 −4 src/safeconsole.sol
+44 −0 test/CommonBase.t.sol
+1 −5 test/StdAssertions.t.sol
+33 −27 test/StdChains.t.sol
+56 −35 test/StdCheats.t.sol
+38 −0 test/StdConstants.t.sol
+12 −12 test/StdError.t.sol
+1 −1 test/StdJson.t.sol
+4 −14 test/StdMath.t.sol
+33 −8 test/StdStorage.t.sol
+1 −1 test/StdStyle.t.sol
+1 −1 test/StdToml.t.sol
+12 −12 test/StdUtils.t.sol
+9 −6 test/Vm.t.sol
+1 −1 test/compilation/CompilationScript.sol
+1 −1 test/compilation/CompilationScriptBase.sol
+1 −1 test/compilation/CompilationTest.sol
+1 −1 test/compilation/CompilationTestBase.sol
+0 −441 test/mocks/MockERC20.t.sol
+0 −721 test/mocks/MockERC721.t.sol
26 changes: 23 additions & 3 deletions script/Create2Factory.sol
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,32 @@ pragma solidity ^0.8.0;
import "@openzeppelin/contracts/utils/Create2.sol";

contract Create2Factory {
event Deployed(address addr, address deployer, bytes32 bytecode_hash, bytes32 salt);
event Deployed(address addr, address deployer, bytes32 bytecodeHash, bytes32 salt);

/// @notice Deploys a contract using CREATE2
/// @param code The contract bytecode including constructor arguments
/// @param salt A unique value to influence contract address
function deploy(bytes memory code, bytes32 salt) external payable returns (address) {
address addr = Create2.deploy(msg.value, salt, code);

emit Deployed(addr, address(this), keccak256(code), salt);
emit Deployed(addr, msg.sender, keccak256(code), salt);
return addr;
}
}

/// @notice Computes the deterministic address of a contract
/// @param salt The salt used for deployment
/// @param code The bytecode including constructor arguments
/// @return predicted The predicted deterministic contract address
function computeAddress(bytes32 salt, bytes memory code) public view returns (address predicted) {
predicted = Create2.computeAddress(salt, keccak256(code), address(this));
}

/// @notice Verifies whether a given deployed address matches provided code and salt
/// @param addr The address to verify
/// @param salt The salt used for the deployment
/// @param code The contract bytecode including constructor arguments
/// @return True if the address matches the computed address, false otherwise
function verify(address addr, bytes32 salt, bytes memory code) external view returns (bool) {
return (addr == computeAddress(salt, code));
}
}
44 changes: 0 additions & 44 deletions script/DeployEigenlayerSlashing.s.sol

This file was deleted.

147 changes: 0 additions & 147 deletions script/DeployOnlyAddressCheck.js

This file was deleted.

87 changes: 0 additions & 87 deletions script/DeployPatch2.s.sol

This file was deleted.

54 changes: 0 additions & 54 deletions script/Deploy_Instructions_Phase_One.md

This file was deleted.

Loading