Skip to content
Open
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
3291 commits
Select commit Hold shift + click to select a range
3366c94
Merge pull request #1533 from lidofinance/feat/audit-8
folkyatina Oct 29, 2025
7aaf6a9
Merge pull request #1535 from lidofinance/fix/revert-on-burn-on-pause
folkyatina Oct 28, 2025
138921e
fix(NodeOperatorFee): charge fee quarantined value
folkyatina Oct 29, 2025
68b4b28
fix(VaultHub): pause VaultHub implementation
folkyatina Oct 29, 2025
59f1185
feat: pause VaultHub implementation
tamtamchik Oct 29, 2025
513fb10
chore: after review
tamtamchik Oct 29, 2025
0802c17
fix(Dashboard): disable fee accrual by default on disconnect
folkyatina Oct 30, 2025
a6273f8
test: fix unit tests
folkyatina Oct 30, 2025
f06ed84
test: restore integration tests
folkyatina Oct 30, 2025
3503873
feat(LazyOracle): add totalValueReminder to quarantine logic and upda…
folkyatina Oct 31, 2025
c2d6f7c
fix(LazyOracle): fix typo
folkyatina Nov 1, 2025
77b58ba
fix(NodeOperatorFee): after review polish
folkyatina Nov 1, 2025
6547709
test: extract and improve quarantine tests
folkyatina Nov 1, 2025
cfdc077
chore: remove a bit of dead code
folkyatina Nov 1, 2025
3c7b1ae
fix(Dashboard): remove _currentSettledGrowth param from connect methods
folkyatina Nov 1, 2025
4717e16
fix(OperatorGrid): final solution of the wrong shortfall problem
folkyatina Nov 1, 2025
c4f1389
test: fix vault hub creation
tamtamchik Nov 1, 2025
713f3c8
Merge pull request #1537 from lidofinance/fix/pause-vault-hub-impl
tamtamchik Nov 1, 2025
1b8f838
fix(LazyOracle): small fixes after review
folkyatina Nov 1, 2025
95ade9c
fix(LazyOracle): case with slashing after quarantine start
folkyatina Nov 1, 2025
34665a9
test(VaultHub): add a test for shortfall on last numbers from Certora
folkyatina Nov 2, 2025
f453de4
Merge pull request #1538 from lidofinance/fix/no-fee-revamp-2
folkyatina Nov 2, 2025
33006a9
Merge pull request #1540 from lidofinance/fix/shortfall-again
folkyatina Nov 2, 2025
ebf1a00
test: fix a test
folkyatina Nov 2, 2025
3807a31
Merge pull request #1541 from lidofinance/feat/audit-9
folkyatina Nov 2, 2025
d4fc0d5
feat: hoodi patch 2
tamtamchik Nov 3, 2025
084d93e
chore: add workflow for hoodi tests
folkyatina Oct 21, 2025
39c5825
chore: change the name of the workflow
folkyatina Oct 21, 2025
8e866ab
chore: fix naming
folkyatina Oct 21, 2025
5382c1e
test: add HOODI prefix handling to env
folkyatina Nov 3, 2025
cec7282
feat(upgrade): add EasyTrack new factoring upon V3 voting
arwer13 Nov 3, 2025
7da4588
test: fix some tests for hoodi
folkyatina Nov 3, 2025
5ffe3d7
feat(upgrade): add EasyTrack new factoring upon V3 voting
arwer13 Nov 3, 2025
1a79634
test: add bad debt cases
dry914 Nov 4, 2025
bc9f31e
Merge branch 'feat/vaults' into chore/new-integration-tests
dry914 Nov 4, 2025
17c32c2
test: unskip and update some tests
failingtwice Nov 4, 2025
82564ae
test: disconnect is NOT blocked by jail
dry914 Nov 4, 2025
b7dc37a
test: add rounding difference to force rebalance test
dry914 Nov 4, 2025
f448657
chore: remove transferToVault
tamtamchik Nov 4, 2025
080312e
test(nor): cleanup transferToVault test
tamtamchik Nov 4, 2025
bee0ebc
Merge pull request #1545 from lidofinance/feat/remove-transfer-to-vault
tamtamchik Nov 4, 2025
ec2e87b
Merge pull request #1542 from lidofinance/feat/hoodi-update-2
tamtamchik Nov 4, 2025
72da6c2
test: restore a lot of accounting tests
folkyatina Nov 4, 2025
17a4fca
Merge remote-tracking branch 'origin/feat/vaults' into feat/hoodi-wor…
folkyatina Nov 4, 2025
c0027d9
test: fix burn shares test for hoodi
folkyatina Nov 4, 2025
1828de1
test: fix happy path for vaults on hoodi
folkyatina Nov 4, 2025
7c231fb
test: fix OperatorGrid tests for hoodi
folkyatina Nov 4, 2025
86f8b3b
test: fix disconnected integration tests on hoodi
folkyatina Nov 4, 2025
11b0280
test: fix lazyOracle bootstrap test
folkyatina Nov 4, 2025
14a082f
test: fix lido v2 happy path for hoodi
folkyatina Nov 4, 2025
87b8700
test: fix dsm integration test on hoodi
folkyatina Nov 4, 2025
10232b3
test: fix another dsm integration test on hoodi
folkyatina Nov 4, 2025
1aa4b3b
test: reduce staking limit test duration
folkyatina Nov 4, 2025
a814145
test: fix shortfall tests for hoodi
folkyatina Nov 5, 2025
bb9aeb2
test: fix NOR acl problems on hoodi
folkyatina Nov 5, 2025
6f738c0
Merge pull request #1524 from lidofinance/feat/ci-hoodi-state
folkyatina Nov 5, 2025
f857d07
Merge pull request #1543 from lidofinance/feat/upgrade-plug-et
tamtamchik Nov 5, 2025
0073f59
feat: batchValidatorStatuses getter for LidoOracle
folkyatina Nov 5, 2025
6785bae
test: force-disconnect integration tests
failingtwice Nov 6, 2025
fd00424
fix: integration tests after review
dry914 Nov 6, 2025
021b56a
test: add balance check
dry914 Nov 6, 2025
c286120
Merge pull request #1519 from lidofinance/chore/new-integration-tests
tamtamchik Nov 6, 2025
5e85de2
feat: allow update fees on unhealthy vault
tamtamchik Nov 6, 2025
c0c392b
fix(VaultHub): possible fix for shortfall problem
folkyatina Nov 6, 2025
aba3fc5
test: fix unit tests
folkyatina Nov 6, 2025
87a3652
test: fixing
failingtwice Nov 7, 2025
453512d
chore(VaultHub): fix the rounding problem
folkyatina Nov 7, 2025
b98cf87
Merge remote-tracking branch 'origin/feat/vaults' into feat/hoodi-wor…
folkyatina Nov 7, 2025
63a4e7a
Merge pull request #1546 from lidofinance/feat/batchValidatorStatuses
folkyatina Nov 7, 2025
692bd37
chore: update natspec
tamtamchik Nov 7, 2025
63bc1cd
chore: update natspec
tamtamchik Nov 7, 2025
b3d01ed
Merge pull request #1547 from lidofinance/feat/fix-fees-update
tamtamchik Nov 7, 2025
3642a7a
fix(VaultHub): add early return for small values in shortfall
folkyatina Nov 7, 2025
ffa5ef9
fix(VaultHub): better place for early return
folkyatina Nov 7, 2025
2fc26c8
fix(OperatorGrid): force 10 bp difference between frt and rr
folkyatina Nov 7, 2025
b3aba11
test: fix shortfall integration tests
folkyatina Nov 7, 2025
6c7ee2c
Merge pull request #1548 from lidofinance/fix/shortfall-again-2
folkyatina Nov 7, 2025
e103423
test: fix accounting integration test
folkyatina Nov 7, 2025
f9ce0a0
Merge pull request #1549 from lidofinance/feat/audit-10
folkyatina Nov 10, 2025
594ef0c
test: force disconnect integrations
failingtwice Nov 10, 2025
b52b540
fix(Accounting): using the recent badSharesToInternalize in simulation
folkyatina Nov 10, 2025
cc34eba
feat: disallow max staking limit
tamtamchik Nov 10, 2025
44fd430
test: fix unit tests
folkyatina Nov 10, 2025
79fe122
Merge pull request #1553 from lidofinance/fix/internalize-bad-debt-si…
folkyatina Nov 10, 2025
fa220d9
Merge pull request #1554 from lidofinance/feat/disallow-max-staking-l…
folkyatina Nov 10, 2025
c38a37c
feat: add only for contract verification
tamtamchik Nov 10, 2025
e54d545
Merge pull request #1555 from lidofinance/feat/audit-11
tamtamchik Nov 10, 2025
6786a24
Merge branch 'feat/vaults' into feat/patch-oracle
tamtamchik Nov 10, 2025
958a8f9
chore: patch 3
tamtamchik Nov 10, 2025
05e32b3
test: add vaulthub fee integration tests
failingtwice Nov 11, 2025
8361697
feat: disable role renouncement
failingtwice Nov 11, 2025
10c9125
Merge pull request #1557 from lidofinance/dashboard/disable-role-reno…
failingtwice Nov 11, 2025
db60f92
feat: remove role grants from agent
failingtwice Nov 12, 2025
f0c4b72
feat: update mainnet upgrade params
failingtwice Nov 12, 2025
40e0692
feat: remove unused assert func
failingtwice Nov 13, 2025
5811c7a
Merge pull request #1558 from lidofinance/remove-role-grants-to-agent
folkyatina Nov 13, 2025
ca702c1
feat: update params, change frt, rename max maxRelativeShareLimitBP t…
failingtwice Nov 13, 2025
b7fd9be
Merge pull request #1559 from lidofinance/update-mainnet-params
failingtwice Nov 13, 2025
f9a9f80
Merge pull request #1556 from lidofinance/feat/patch-3
tamtamchik Nov 13, 2025
cbce2e9
fix(OperatorGrid): don't change tier if shareLimit is lower than liab…
folkyatina Nov 17, 2025
e3d1f34
feat: set gas limit
failingtwice Nov 18, 2025
17e854a
fix(OperatorGrid): add the same restriction to update share limit
folkyatina Nov 18, 2025
4852c9b
feat: set VaultsAdapter address in upgrade params
failingtwice Nov 18, 2025
25cbb57
test: remove duplicate case
failingtwice Nov 18, 2025
2f397e2
test: make tests more precise
failingtwice Nov 18, 2025
77142d3
feat: move TokenRateNotifier to core repo for upgrade
failingtwice Nov 19, 2025
533bc55
test(Accounting): more resilient accounting tests on hoodi
folkyatina Nov 19, 2025
bcbb8b9
test: disable CSM integration tests for Hoodi
folkyatina Nov 19, 2025
ff8b45d
test: fix v2 happy path on hoodi
folkyatina Nov 19, 2025
576e552
test: fix bad debt integration test for hoodi
folkyatina Nov 19, 2025
04a5397
test: fix some obligations test on hoodi
folkyatina Nov 19, 2025
a61217e
Merge remote-tracking branch 'origin/feat/vaults' into feat/hoodi-wor…
folkyatina Nov 19, 2025
f3cc2c4
test: skip renounceRole test for Dashboard on hoodi
folkyatina Nov 19, 2025
4f98411
test: fix some bad debt tests on Hoodi
folkyatina Nov 19, 2025
d253877
test: fix a happy path on scratch
folkyatina Nov 19, 2025
3985e07
feat: add token rate modifier to state file
failingtwice Nov 20, 2025
a817bda
feat: include token rate notifier migration in v3 deploy
failingtwice Nov 20, 2025
ed22ce5
test: fix accounting test on mainnet
folkyatina Nov 20, 2025
aea0ae2
feat: give pause/resume rights to reseal manager
failingtwice Nov 20, 2025
3ffe890
chore: configure gas limit
failingtwice Nov 20, 2025
86d5d86
Merge pull request #1561 from lidofinance/fix/change-tier-over-liability
folkyatina Nov 20, 2025
d37d009
test: fix accounting test on mainnet
folkyatina Nov 20, 2025
02b6d84
test: fix obligation test on mainnet
folkyatina Nov 20, 2025
6833f36
fix: set gas limit for upgrade template
failingtwice Nov 21, 2025
afad3c7
feat: update initial share limit
failingtwice Nov 21, 2025
e6938b1
fix(OperatorGrid): safe downcasting for share limit
folkyatina Nov 24, 2025
45e5417
fix(Accounting): mint in one piece to have consistent share rate
folkyatina Nov 24, 2025
931e198
fix(V3Template): update an upgrade expiry timestamp
folkyatina Nov 24, 2025
5b0dc6e
fix(V3Template): update an upgrade expiry timestamp
folkyatina Nov 24, 2025
7b95142
Merge pull request #1567 from lidofinance/fix/fees-lump-sum
folkyatina Nov 24, 2025
00da576
feat: update natspec
failingtwice Nov 25, 2025
45d8a1e
feat: update vote script timestamp
failingtwice Nov 25, 2025
3ab8c51
feat: update comment
failingtwice Nov 25, 2025
f46d8c8
Merge branch 'feat/audit-12' of https://github.com/lidofinance/core i…
failingtwice Nov 25, 2025
99caff7
Merge pull request #1566 from lidofinance/fix/tiers-safe-cast
folkyatina Nov 25, 2025
e808104
fix: realistic sanity check
failingtwice Nov 25, 2025
7f0a225
Merge branch 'feat/audit-12' into feat/hoodi-workflow
folkyatina Nov 25, 2025
2b9d6bb
Merge remote-tracking branch 'origin/feat/audit-12' into feat/hoodi-w…
folkyatina Nov 25, 2025
83e4cd7
chore: fix voting items numeration
dry914 Nov 25, 2025
087aa0d
Merge pull request #1569 from lidofinance/v3-voting-items-numeration
tamtamchik Nov 25, 2025
9e14dd4
fix: minor improvements
failingtwice Nov 26, 2025
e5adbb2
feat: move temp admin to upgrade dir
failingtwice Nov 26, 2025
a242e20
feat: obtain csm accounting more reliably
failingtwice Nov 26, 2025
00b4212
fix: remove unused interfaces and errors
failingtwice Nov 26, 2025
419e087
feat: emit event on V3TempAdmin setup completion
failingtwice Nov 26, 2025
8da655d
feat: improve comments
failingtwice Nov 26, 2025
3d43a23
feat: clean up comments
failingtwice Nov 26, 2025
0a89053
feat: retrieve addresses chain-agnostically
failingtwice Nov 26, 2025
5285145
feat: consistent approach for name-based module lookup
failingtwice Nov 26, 2025
07dc9b0
feat: check old and new notifier are different
failingtwice Nov 26, 2025
f7f0d26
fix: remove unused error
failingtwice Nov 26, 2025
1253512
feat: add extra role checks
failingtwice Nov 26, 2025
1364ddd
feat: update deploy params
failingtwice Nov 26, 2025
18903e6
fix: remove invalid role check
failingtwice Nov 26, 2025
c69f55d
Update deployed-mainnet.json
failingtwice Nov 26, 2025
c9d6752
Merge pull request #1564 from lidofinance/v3-deploy-script
failingtwice Nov 26, 2025
b12e3c8
Merge branch 'feat/vaults' of https://github.com/lidofinance/core int…
failingtwice Nov 26, 2025
b983714
feat: update expiry timestamp
failingtwice Nov 26, 2025
1626a2a
Merge pull request #1568 from lidofinance/feat/audit-12
folkyatina Nov 26, 2025
9eb9701
feat: add time constraints for vote execution
failingtwice Nov 26, 2025
ca29f69
feat: use constants from time window bounds
failingtwice Nov 26, 2025
bc6c56f
Merge pull request #1573 from lidofinance/time-constraints
failingtwice Nov 26, 2025
358aeb8
Merge remote-tracking branch 'origin/feat/vaults' into feat/hoodi-wor…
folkyatina Nov 27, 2025
0c45de6
chore: unify naming in workflows
folkyatina Nov 27, 2025
ba6292a
test: prevent state pollution in tests
folkyatina Nov 27, 2025
568ef50
Merge pull request #1520 from lidofinance/feat/hoodi-workflow
folkyatina Nov 27, 2025
02a90d0
chore: unify scratch with mainnet params
folkyatina Nov 27, 2025
dbc5998
chore: hoodi patch 4
tamtamchik Nov 27, 2025
bcde540
chore: cleanup validate-configs exclusions
folkyatina Nov 29, 2025
238796a
chore: remove isHoodi from configs
folkyatina Nov 29, 2025
d071bd6
test: shorten names for integration testing jobs
folkyatina Nov 29, 2025
960787e
test: more renaming for jobs
folkyatina Nov 29, 2025
66ed21d
Merge pull request #1575 from lidofinance/fix/unify-scratch-with-mainnet
folkyatina Nov 29, 2025
2fdfdc8
Merge pull request #1574 from lidofinance/feat/hoodi-patch-4
folkyatina Nov 29, 2025
e03e3ad
Merge branch 'feat/vaults' of https://github.com/lidofinance/core int…
failingtwice Dec 1, 2025
263677b
Merge branch 'feat/vaults' of https://github.com/lidofinance/core int…
failingtwice Dec 1, 2025
eb5b5fe
feat: minor updates in V3VoteScript
dry914 Dec 1, 2025
1ea3fcb
feat: equal steth approx assertion
failingtwice Dec 1, 2025
9299d5f
chore: remove redundant AragonAppImpl check
dry914 Dec 1, 2025
1e968f2
fix: use EPOCHS_PER_SLASHINGS_VECTOR instead of 36 days
dry914 Dec 1, 2025
8018f1a
feat: log explorer links in deploy
failingtwice Dec 1, 2025
1a364c8
fix: minor renaming
dry914 Dec 1, 2025
c0a17ea
Merge pull request #1577 from lidofinance/feat/log-tx-link
tamtamchik Dec 1, 2025
10fe1f7
Merge pull request #1576 from lidofinance/chore/voting-script-fixes
tamtamchik Dec 1, 2025
b9b4ecf
test: enable renounce tests on hoodi
folkyatina Dec 1, 2025
f78df98
fix: lido impl check in kernel
dry914 Dec 1, 2025
63240af
fix: remove redundant roles from Agent
dry914 Dec 1, 2025
0ce614f
test: enable back almost all TW tests
folkyatina Dec 1, 2025
807ba1e
test: enable historical proof tests
folkyatina Dec 1, 2025
29984aa
test: fix flaky obligation tests
folkyatina Dec 1, 2025
e18ef62
Merge remote-tracking branch 'origin/develop' into feat/vaults
folkyatina Dec 1, 2025
196e106
test: better fix for flaky tests
folkyatina Dec 1, 2025
9d67c7d
test: use mainnet params for verifier in scratch
folkyatina Dec 2, 2025
cd6ca5e
chore: fix tests
dry914 Dec 2, 2025
f5f9bf7
Merge pull request #1578 from lidofinance/chore/voting-script-fixes
tamtamchik Dec 2, 2025
8f4ae5e
test: skip some TW tests on Hoodi
folkyatina Dec 2, 2025
46508e1
Merge pull request #1579 from lidofinance/feat/tw-tests
folkyatina Dec 2, 2025
06c6db0
feat: add temp deployment file
tamtamchik Dec 2, 2025
e5edcf2
feat: remove SetLiabilitySharesTarget factory from vote script
dry914 Dec 2, 2025
5c36d33
Merge pull request #1581 from lidofinance/chore/voting-script-fixes
tamtamchik Dec 2, 2025
bd0404c
feat: add forking block number
tamtamchik Dec 2, 2025
0d33f06
Merge branch 'feat/vaults' into test-batch
folkyatina Dec 2, 2025
b0a7bec
test: fix disconnect flow in obligation tests
folkyatina Dec 2, 2025
547c401
Merge pull request #1552 from lidofinance/test-batch
folkyatina Dec 2, 2025
2989d1e
test: add TokenRebaseNotifier to scratch deploy and remove some roles
folkyatina Dec 2, 2025
0584d43
chore: fix yarn upgrade test helper
folkyatina Dec 2, 2025
bb7886f
test: fix GENESIS_TIME_MAINNET
folkyatina Dec 2, 2025
237a600
test: fix flaky test
folkyatina Dec 2, 2025
9c4635e
test: add ossification test
folkyatina Dec 2, 2025
57ca95d
Merge pull request #1583 from lidofinance/feat/vaults-scripts
tamtamchik Dec 2, 2025
5e51ea0
test(StakingVault): add more tests
folkyatina Dec 2, 2025
bb8f739
Merge pull request #874 from lidofinance/feat/vaults
tamtamchik Dec 2, 2025
a7fe175
Merge branch 'master' into feat/sync-master-with-develop
tamtamchik Dec 2, 2025
6508587
ci: some chores for coverage
tamtamchik Dec 2, 2025
e9d85f0
feat: deploy Lido V3 contracts & submit artifacts
failingtwice Dec 3, 2025
5b5b418
chore: revert ethToSubmit
tamtamchik Dec 3, 2025
d00e3a8
Merge pull request #1587 from lidofinance/lido-v3-mainnet-deploy
tamtamchik Dec 5, 2025
1970165
fix: update voting impl address
failingtwice Dec 5, 2025
aca3e2a
chore: cleanup stvaults artifacts
tamtamchik Dec 5, 2025
a19d5ec
Merge pull request #1589 from lidofinance/update-voting-impl-address
tamtamchik Dec 5, 2025
c827a86
Merge pull request #1590 from lidofinance/chore/cleanup
tamtamchik Dec 5, 2025
336dca9
test: add a node operator happy path
failingtwice Dec 6, 2025
28e26f8
test: separate into steps
failingtwice Dec 7, 2025
080cabe
test: add a test for static array zeroing
folkyatina Dec 7, 2025
275b539
Merge pull request #1593 from lidofinance/test/bls_zeroing
tamtamchik Dec 7, 2025
525a267
Merge pull request #1585 from lidofinance/feat/sync-master-with-develop
tamtamchik Dec 7, 2025
b51d90a
test: better time advancements in tests
folkyatina Dec 8, 2025
140f5b2
test: fix quarantine test
folkyatina Dec 8, 2025
83292b0
test: another fix for the quarantine test
folkyatina Dec 8, 2025
5cd1c0c
fix: update hardcoded IVaultsAdapter
dry914 Dec 8, 2025
f0e8808
test: improve happy path
failingtwice Dec 8, 2025
dff61bb
Merge pull request #1595 from lidofinance/fix/update-vault-hub-interface
tamtamchik Dec 8, 2025
9bd414f
feat: redeploy V3VoteScript with correct VaultsAdapter interface
failingtwice Dec 8, 2025
030af4f
fix: update tests for hoodi
failingtwice Dec 8, 2025
69e827c
test: better PDG cases
folkyatina Dec 8, 2025
3321d6d
Merge pull request #1592 from lidofinance/node-operator-happy-path-test
folkyatina Dec 8, 2025
0da3f80
feat: add pause to pdg
tamtamchik Dec 9, 2025
2c915fa
feat: unpause pdg for tests
tamtamchik Dec 9, 2025
8672ee1
Merge pull request #1596 from lidofinance/redeploy-v3-vote-script
tamtamchik Dec 9, 2025
933ebbc
ci: fix update tests
tamtamchik Dec 9, 2025
c0034fc
test: test recover tokens
failingtwice Dec 9, 2025
b8d51cc
Merge pull request #1599 from lidofinance/feat/update-voting
tamtamchik Dec 9, 2025
45f609c
feat: add rejection tests
failingtwice Dec 9, 2025
238af02
feat: redeploy V3VoteScript with PDG pause on start
failingtwice Dec 9, 2025
dbb1611
feat: improve tests
failingtwice Dec 10, 2025
6ff1d86
Merge pull request #1594 from lidofinance/test/better-tests
folkyatina Dec 10, 2025
636e4dd
test: adjust default RR to 50_00 if not
folkyatina Dec 10, 2025
ec1dc8d
Merge pull request #1603 from lidofinance/fix/hoodi-tests
folkyatina Dec 10, 2025
f4f6e60
Merge pull request #1601 from lidofinance/test/recover-tokens
folkyatina Dec 11, 2025
77c3ed4
Merge pull request #1602 from lidofinance/redeploy-vote-script-with-p…
tamtamchik Dec 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
26 changes: 20 additions & 6 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# RPC URL for a locally running node (Ganache, Anvil, Hardhat Network, etc.), used for scratch deployment and tests
LOCAL_RPC_URL=http://localhost:8555

LOCAL_LOCATOR_ADDRESS=
LOCAL_AGENT_ADDRESS=
LOCAL_VOTING_ADDRESS=
Expand All @@ -23,13 +22,13 @@ LOCAL_VALIDATOR_EXIT_DELAY_VERIFIER_ADDRESS=
LOCAL_VALIDATORS_EXIT_BUS_ORACLE_ADDRESS=
LOCAL_WITHDRAWAL_QUEUE_ADDRESS=
LOCAL_WITHDRAWAL_VAULT_ADDRESS=
LOCAL_STAKING_VAULT_FACTORY_ADDRESS=
LOCAL_STAKING_VAULT_BEACON_ADDRESS=
LOCAL_VALIDATOR_CONSOLIDATION_REQUESTS_ADDRESS=

# RPC URL for a separate, non Hardhat Network node (Anvil, Infura, Alchemy, etc.)
MAINNET_RPC_URL=http://localhost:8545

# RPC URL for Hardhat Network forking, required for running tests on mainnet fork with tracing (Infura, Alchemy, etc.)
# RPC URL for Hardhat Network forking, required for running tests on fork with tracing (Infura, Alchemy, etc.)
# https://hardhat.org/hardhat-network/docs/guides/forking-other-networks#forking-other-networks
FORK_RPC_URL=https://eth.drpc.org
RPC_URL=https://eth.drpc.org

# https://docs.lido.fi/deployed-contracts
MAINNET_LOCATOR_ADDRESS=0xC1d0b3DE6792Bf6b4b37EccdcC24e45978Cfd2Eb
Expand All @@ -53,12 +52,27 @@ MAINNET_STAKING_ROUTER_ADDRESS=
MAINNET_VALIDATORS_EXIT_BUS_ORACLE_ADDRESS=
MAINNET_WITHDRAWAL_QUEUE_ADDRESS=
MAINNET_WITHDRAWAL_VAULT_ADDRESS=
MAINNET_STAKING_VAULT_FACTORY_ADDRESS=
MAINNET_STAKING_VAULT_BEACON_ADDRESS=
MAINNET_VALIDATOR_CONSOLIDATION_REQUESTS_ADDRESS=

HOODI_LOCATOR_ADDRESS=0xe2EF9536DAAAEBFf5b1c130957AB3E80056b06D8
HOODI_AGENT_ADDRESS=0x0534aA41907c9631fae990960bCC72d75fA7cfeD
HOODI_VOTING_ADDRESS=0x49B3512c44891bef83F8967d075121Bd1b07a01B
HOODI_EASY_TRACK_EXECUTOR_ADDRESS=0x79a20FD0FA36453B2F45eAbab19bfef43575Ba9E

SEPOLIA_RPC_URL=
HOODI_RPC_URL=

# Scratch deployment via hardhat variables
DEPLOYER=0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266
GENESIS_TIME=1639659600
SLOTS_PER_EPOCH=32
GAS_PRIORITY_FEE=1
GAS_MAX_FEE=100

# Etherscan API key for verifying contracts
ETHERSCAN_API_KEY=

# Local devnet private key
LOCAL_DEVNET_PK=0x0000000000000000000000000000000000000000000000000000000000000000
6 changes: 1 addition & 5 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:

jobs:
coverage:
name: Hardhat
name: Hardhat / Unit Tests
runs-on: ubuntu-latest
env:
NODE_OPTIONS: --max_old_space_size=6400
Expand All @@ -23,10 +23,6 @@ jobs:
- name: Common setup
uses: ./.github/workflows/setup

# Remove the integration tests from the test suite, as they require a mainnet fork to run properly
- name: Remove integration tests
run: rm -rf test/integration

- name: Collect coverage
run: yarn test:coverage

Expand Down
26 changes: 26 additions & 0 deletions .github/workflows/linters.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,3 +44,29 @@ jobs:

- name: Run typescript types check
run: yarn typecheck

format:
name: Format
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Common setup
uses: ./.github/workflows/setup

- name: Run format check
run: yarn format

validate-configs:
name: Validate Configs
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Common setup
uses: ./.github/workflows/setup

- name: Validate configurations
run: yarn validate:configs
29 changes: 29 additions & 0 deletions .github/workflows/tests-integration-hoodi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Integration Tests

on: [push]

jobs:
test_hardhat_integration_fork:
name: Hardhat / Hoodi
runs-on: ubuntu-latest
timeout-minutes: 120
env:
NODE_OPTIONS: --max_old_space_size=7200
SKIP_GAS_REPORT: true
SKIP_CONTRACT_SIZE: true
SKIP_INTERFACES_CHECK: true

steps:
- uses: actions/checkout@v4

- name: Common setup
uses: ./.github/workflows/setup

- name: Run integration tests
run: yarn test:integration
env:
RPC_URL: "${{ secrets.HOODI_RPC_URL }}"
LOG_LEVEL: debug
NETWORK_STATE_FILE: deployed-hoodi.json
# TODO: enable csm integration tests later (CSM is deployed on hoodis)
INTEGRATION_WITH_CSM: "off"
46 changes: 38 additions & 8 deletions .github/workflows/tests-integration-mainnet.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,26 @@
name: Integration Tests

on:
push:
schedule:
- cron: "0 10 */2 * *"
on: [push]

jobs:
test_hardhat_integration_fork:
name: Hardhat / Mainnet
runs-on: ubuntu-latest
timeout-minutes: 120
env:
NODE_OPTIONS: --max_old_space_size=7200
SKIP_GAS_REPORT: true
SKIP_CONTRACT_SIZE: true
SKIP_INTERFACES_CHECK: true

services:
hardhat-node:
image: ghcr.io/lidofinance/hardhat-node:2.24.3
image: ghcr.io/lidofinance/hardhat-node:2.26.0
ports:
- 8545:8545
- 8555:8545
env:
ETH_RPC_URL: "${{ secrets.ETH_RPC_URL }}"
DONT_SET_CHAIN_ID: true
HARDFORK: "prague"

steps:
Expand All @@ -26,7 +29,34 @@ jobs:
- name: Common setup
uses: ./.github/workflows/setup

- name: Prepare network state file
run: cp deployed-mainnet.json deployed-mainnet-upgrade.json

- name: Deploy upgrade
run: yarn upgrade:deploy
env:
RPC_URL: http://localhost:8555
DEPLOYER: "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" # first acc of default mnemonic "test test ..."
GAS_PRIORITY_FEE: 1
GAS_MAX_FEE: 100
GAS_LIMIT: 30000000
NETWORK_STATE_FILE: deployed-mainnet-upgrade.json
UPGRADE_PARAMETERS_FILE: scripts/upgrade/upgrade-params-mainnet.toml

- name: Mock Aragon voting
run: yarn upgrade:mock-voting
env:
RPC_URL: http://localhost:8555
NETWORK_STATE_FILE: deployed-mainnet-upgrade.json

- name: Workaround for not updated state error when forking a fork
run: yarn hardhat --network local run --no-compile scripts/utils/mine.ts
env:
RPC_URL: http://localhost:8555

- name: Run integration tests
run: yarn test:integration:fork:mainnet
run: yarn test:integration
env:
RPC_URL: http://localhost:8545
RPC_URL: http://localhost:8555
LOG_LEVEL: debug
NETWORK_STATE_FILE: deployed-mainnet-upgrade.json
11 changes: 7 additions & 4 deletions .github/workflows/tests-integration-scratch.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Integration Tests
name: Integration Tests Scratch

on: [push]

Expand All @@ -7,10 +7,14 @@ jobs:
name: Hardhat / Scratch
runs-on: ubuntu-latest
timeout-minutes: 120
env:
SKIP_GAS_REPORT: true
SKIP_CONTRACT_SIZE: true
SKIP_INTERFACES_CHECK: true

services:
hardhat-node:
image: ghcr.io/lidofinance/hardhat-node:2.24.3-scratch
image: ghcr.io/lidofinance/hardhat-node:2.26.0-scratch
ports:
- 8555:8545

Expand All @@ -33,13 +37,12 @@ jobs:
GAS_PRIORITY_FEE: 1
GAS_MAX_FEE: 100
NETWORK_STATE_FILE: "deployed-local.json"
NETWORK_STATE_DEFAULTS_FILE: "scripts/scratch/deployed-testnet-defaults.json"
NETWORK_STATE_DEFAULTS_FILE: "scripts/defaults/testnet-defaults.json"

- name: Finalize scratch deployment
run: yarn hardhat --network local run --no-compile scripts/utils/mine.ts

- name: Run integration tests
run: yarn test:integration:fork:local
env:
LOG_LEVEL: "debug"
INTEGRATION_WITH_CSM: "off"
29 changes: 29 additions & 0 deletions .github/workflows/tests-integration-upgrade-template.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Integration Test (Upgrade)

on: [push]

jobs:
test_hardhat_integration_fork_template:
name: Hardhat / Mainnet
runs-on: ubuntu-latest
timeout-minutes: 120
env:
SKIP_GAS_REPORT: true
SKIP_CONTRACT_SIZE: true
SKIP_INTERFACES_CHECK: true

steps:
- uses: actions/checkout@v4

- name: Common setup
uses: ./.github/workflows/setup

- name: Prepare network state file
run: cp deployed-mainnet.json deployed-mainnet-upgrade.json

- name: Run Upgrade Template Integration Tests
run: yarn test:integration:upgrade-template
env:
RPC_URL: "${{ secrets.ETH_RPC_URL }}"
UPGRADE_PARAMETERS_FILE: scripts/upgrade/upgrade-params-mainnet.toml
GAS_LIMIT: 30000000
39 changes: 39 additions & 0 deletions .github/workflows/verify-state-hoodi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Verify State On Hoodi

on:
workflow_dispatch:
push:
branches:
- "feat/ci-hoodi-state"
schedule:
- cron: "0 0 * * *" # runs every day at midnight UTC

jobs:
run_state_mate:
name: Run state-mate on hoodi
runs-on: ubuntu-latest
timeout-minutes: 120
env:
STATE_MATE_BRANCH: "feat/v3-hoodi"
HOODI_REMOTE_RPC_URL: "https://hoodi.drpc.org"

steps:
- name: Checkout state-mate
uses: actions/checkout@v4
with:
repository: lidofinance/state-mate
ref: ${{ env.STATE_MATE_BRANCH }}

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20"

- name: Enable Corepack
run: corepack enable

- name: Install dependencies
run: yarn install

- name: Run state-mate
run: yarn start configs/hoodi/lidov3-testnet.yaml
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@
.yarn/
.vscode/
.cursor/
.claude/

node_modules/
coverage/
state-mate/

coverage.json

Expand All @@ -25,6 +27,7 @@ lib/abi/*.json
.env
accounts.json
deployed-local.json
deployed-local-devnet.json
deployed-hardhat.json
deployed-local-devnet.json
deployed-mainnet-upgrade.json
Expand Down
2 changes: 2 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
yarn compile
yarn lint-staged
yarn typecheck
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
20.12
22.15
4 changes: 4 additions & 0 deletions .solcover.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,9 @@ module.exports = {
// Skip contracts that are tested by Foundry tests
"common/lib", // 100% covered by test/common/*.t.sol
"0.8.9/lib/UnstructuredStorage.sol", // 100% covered by test/0.8.9/unstructuredStorage.t.sol
"openzeppelin",
"testnet",
"upgrade",
],
irMinimum: true,
};
11 changes: 9 additions & 2 deletions .solhintignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,9 @@
contracts/Migrations.sol
contracts/0.6.11/deposit_contract.sol
contracts/openzeppelin/
contracts/0.8.9/utils/access/AccessControl.sol
contracts/0.8.9/utils/access/AccessControlEnumerable.sol

contracts/0.4.24/template/
contracts/0.6.11/deposit_contract.sol
contracts/0.6.12/
contracts/0.8.9/WithdrawalsManagerProxy.sol
contracts/0.8.9/LidoExecutionLayerRewardsVault.sol
3 changes: 0 additions & 3 deletions .vscode/extensions.json

This file was deleted.

8 changes: 0 additions & 8 deletions .vscode/settings.json

This file was deleted.

Loading
Loading