Skip to content
Closed
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
483b442
feat: initial deploy to local devnet
eddort Dec 11, 2024
e5aa190
feat: speed up scratch deployment for local-devnet
eddort Dec 11, 2024
ee55926
refactor: add deployed-local-devnet.json to gitignore
eddort Dec 11, 2024
ce8c268
chore: add default pk for local devnet
tamtamchik Dec 12, 2024
2983d01
feat: decrease voting time for devnet
eddort Dec 17, 2024
e879318
fix: consensusVersion in VEBO defaults
eddort Dec 19, 2024
ce1e448
feat: update default params for devnet
eddort Dec 19, 2024
e622b3b
feat: custom SLOTS_PER_EPOCH support
eddort Dec 22, 2024
6c8bab8
fix: change the module type on curated-onchain-v1 for SimpleDVT in th…
Amuhar Dec 24, 2024
cf98121
fix: vebo access control and deploy tests
Amuhar Jan 9, 2025
517076e
feat: vebo gas, submitReportData, happyPath tests
Amuhar Jan 10, 2025
8fa4443
fix: submitReportData method tests
Amuhar Jan 10, 2025
afc5fa1
feat: test shareRate with fuzzing
sergeyWh1te Jan 10, 2025
e772d2a
Merge branch 'feat/vaults' into feat/vaults-fuzzing-share-rate
tamtamchik Jan 13, 2025
0b6fc5c
feat: test shareRate with fuzzing
sergeyWh1te Jan 13, 2025
6317957
feat: test shareRate with fuzzing
sergeyWh1te Jan 13, 2025
c289fb8
chore: some refactoring
tamtamchik Jan 13, 2025
d79df96
feat: test shareRate with fuzzing
sergeyWh1te Jan 14, 2025
3ac9843
Merge remote-tracking branch 'origin/develop' into feat/val-1556-move…
Amuhar Jan 15, 2025
167c387
feat: fuzz oracleReport
sergeyWh1te Jan 16, 2025
2386b48
chore: add oracle report related contracts
tamtamchik Jan 16, 2025
79ecbbb
fix: accounting initialization
tamtamchik Jan 16, 2025
7fc5b7f
feat: added _sharesRequestedToBurn to fuzzing
sergeyWh1te Jan 16, 2025
c9f78d0
feat: added _sharesRequestedToBurn to fuzzing
sergeyWh1te Jan 16, 2025
166ef4b
feat: refactor fuzz.ProtocolDeployment
sergeyWh1te Jan 17, 2025
c39aeea
feat: fix incorrect timestamp for Report
sergeyWh1te Jan 17, 2025
7d05ee2
chore: add todos
tamtamchik Jan 20, 2025
2571fe1
build(deps): bump undici from 5.28.4 to 5.28.5
dependabot[bot] Jan 22, 2025
1203e29
feat: wip fuzz handleOracleReport
sergeyWh1te Jan 22, 2025
ec51299
Merge pull request #928 from lidofinance/dependabot/npm_and_yarn/undi…
tamtamchik Jan 22, 2025
6ae1888
feat: fuzz clValidators after report
sergeyWh1te Jan 23, 2025
ea08979
feat: try to get elRewards
sergeyWh1te Jan 23, 2025
f7870a8
feat: invariant_handleOracleReport
sergeyWh1te Jan 29, 2025
2c5f189
Merge commit '2d11786ebc1f06165c501fa8e9fecef053e12ab9' into feat/loc…
mkurayan Jan 30, 2025
02ac654
feat: invariant_handleOracleReport
sergeyWh1te Jan 30, 2025
490652e
feat: check invariant lido.transfer
sergeyWh1te Jan 31, 2025
8b88a72
feat: check invariant_vaultsDonAffectSharesRate
sergeyWh1te Feb 4, 2025
2488ef7
feat: add block explorer verify params to hh config
eddort Feb 9, 2025
be1e2d8
Merge branch 'feat/local-devnet' of github.com:lidofinance/core into …
eddort Feb 9, 2025
e309222
test: fix new operators discrepancy
tamtamchik Feb 10, 2025
d4bcbf3
feat: move common tests setup to provision part
tamtamchik Feb 10, 2025
eef9523
feat: simplify provisioning
tamtamchik Feb 10, 2025
46e4593
fix: tests
tamtamchik Feb 10, 2025
f492007
feat: add mainnet integration tests to schedule
tamtamchik Feb 10, 2025
7dd0aa4
chore: update CODEOWNERS
tamtamchik Feb 10, 2025
7f6f404
Merge remote-tracking branch 'origin/feat/vaults' into feat/vaults-fu…
tamtamchik Feb 10, 2025
e9a302d
feat: stabilize tests
tamtamchik Feb 10, 2025
9e4e49e
Merge pull request #941 from lidofinance/feat/fix-mainnet-integration
tamtamchik Feb 11, 2025
667791a
fix: negative rebase
tamtamchik Feb 11, 2025
106c9c2
Merge pull request #943 from lidofinance/fix/develop
tamtamchik Feb 11, 2025
9a5a20a
Merge pull request #942 from lidofinance/develop
tamtamchik Feb 11, 2025
a4bd6b8
feat: hardhat based logs
tamtamchik Feb 11, 2025
3155741
chore: cleanup logs
tamtamchik Feb 11, 2025
d4a71e2
chore: refactor
tamtamchik Feb 12, 2025
986cfde
chore: migrate foundry to stable
tamtamchik Feb 14, 2025
b0c3352
Merge pull request #946 from lidofinance/fix/foundry
tamtamchik Feb 14, 2025
2f28a18
Merge pull request #944 from lidofinance/feat/auto-trace
tamtamchik Feb 14, 2025
a8734c3
Merge branch 'develop' into feat/val-1556-move-vebo-legacy-tests
tamtamchik Feb 14, 2025
087b03e
fix(test): vebo gas test
tamtamchik Feb 14, 2025
014df01
test: speed up gas validation test
tamtamchik Feb 14, 2025
1ef6b88
Merge pull request #917 from lidofinance/feat/val-1556-move-vebo-lega…
tamtamchik Feb 14, 2025
8ffcf2b
fix: hardhat config types
eddort Feb 17, 2025
72a4628
Revert "feat: speed up scratch deployment for local-devnet"
eddort Feb 17, 2025
965cd4c
Merge branch 'develop' of github.com:lidofinance/core into feat/local…
eddort Feb 17, 2025
6e7c60e
fix: integration tests
eddort Feb 17, 2025
d1fc7ec
fix: IDepositContract format
eddort Feb 17, 2025
f22a7a9
refactor: reset defaults
eddort Feb 17, 2025
f4d128f
refactor: env vars
eddort Feb 18, 2025
9492d8f
refactor: env example
eddort Feb 18, 2025
5e7e304
fix: initialize WithdrawalVault
eddort Feb 18, 2025
b403164
fix: hh etherscan config
eddort Feb 18, 2025
6089070
fix: wv initialize
eddort Feb 18, 2025
25b4eda
Merge pull request #896 from lidofinance/feat/local-devnet
tamtamchik Feb 18, 2025
bec2685
feat: merge develop into fuzzShareRate
sergeyWh1te Feb 19, 2025
144188f
feat: merge develop into fuzzShareRate
sergeyWh1te Feb 19, 2025
9177a9e
feat: merge develop into fuzzShareRate
sergeyWh1te Feb 19, 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
4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@
"typecheck": "tsc --noEmit",
"prepare": "husky",
"abis:extract": "hardhat abis:extract",
"verify:deployed": "hardhat verify:deployed"
"verify:deployed": "hardhat verify:deployed",
"test:fuzzShateRate": "forge test --match-path \"test/0.8.25/ShareRate.t.sol\"",
"test:fuzzOracleReport": "forge test --match-path \"test/0.8.25/Accounting.t.sol\""
},
"lint-staged": {
"./**/*.ts": [
Expand Down
30 changes: 30 additions & 0 deletions test/0.4.24/contracts/SecondOpinionOracle__Mock.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// SPDX-License-Identifier: UNLICENSED
// for testing purposes only

pragma solidity 0.8.9;

contract SecondOpinionOracle__Mock {
bool private success;
uint256 private clBalanceGwei;
uint256 private withdrawalVaultBalanceWei;
uint256 private totalDepositedValidators;
uint256 private totalExitedValidators;

function getReport(uint256 refSlot) external view returns (bool, uint256, uint256, uint256, uint256) {
return (success, clBalanceGwei, withdrawalVaultBalanceWei, totalDepositedValidators, totalExitedValidators);
}

function mock__setReportValues(
bool _success,
uint256 _clBalanceGwei,
uint256 _withdrawalVaultBalanceWei,
uint256 _totalDepositedValidators,
uint256 _totalExitedValidators
) external {
success = _success;
clBalanceGwei = _clBalanceGwei;
withdrawalVaultBalanceWei = _withdrawalVaultBalanceWei;
totalDepositedValidators = _totalDepositedValidators;
totalExitedValidators = _totalExitedValidators;
}
}
81 changes: 81 additions & 0 deletions test/0.4.24/contracts/StakingRouter__MockForLidoAccounting.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,11 @@

pragma solidity 0.8.9;

import {StakingRouter} from "contracts/0.8.9/StakingRouter.sol";

contract StakingRouter__MockForLidoAccounting {
event Mock__MintedRewardsReported();
event Mock__MintedTotalShares(uint256 indexed _totalShares);

address[] private recipients__mocked;
uint256[] private stakingModuleIds__mocked;
Expand Down Expand Up @@ -32,6 +35,13 @@ contract StakingRouter__MockForLidoAccounting {

function reportRewardsMinted(uint256[] calldata _stakingModuleIds, uint256[] calldata _totalShares) external {
emit Mock__MintedRewardsReported();

uint256 totalShares = 0;
for (uint256 i = 0; i < _totalShares.length; i++) {
totalShares += _totalShares[i];
}

emit Mock__MintedTotalShares(totalShares);
}

function mock__getStakingRewardsDistribution(
Expand All @@ -47,4 +57,75 @@ contract StakingRouter__MockForLidoAccounting {
totalFee__mocked = _totalFee;
precisionPoint__mocked = _precisionPoints;
}

function getStakingModuleIds() public view returns (uint256[] memory) {
return stakingModuleIds__mocked;
}

function getRecipients() public view returns (address[] memory) {
return recipients__mocked;
}

function getStakingModule(uint256 _stakingModuleId) public view returns (StakingRouter.StakingModule memory) {
if (_stakingModuleId >= 4) {
revert("Staking module does not exist");
}

if (_stakingModuleId == 1) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add a comment that production values are used? And if possible to add a proof link. Otherwise no one will guess why the numbers are like they are here.

return
StakingRouter.StakingModule({
id: 1,
stakingModuleAddress: 0x55032650b14df07b85bF18A3a3eC8E0Af2e028d5,
stakingModuleFee: 500,
treasuryFee: 500,
stakeShareLimit: 10000,
status: 0,
name: "curated-onchain-v1",
lastDepositAt: 1732694279,
lastDepositBlock: 21277744,
exitedValidatorsCount: 88207,
priorityExitShareThreshold: 10000,
maxDepositsPerBlock: 150,
minDepositBlockDistance: 25
});
}

if (_stakingModuleId == 2) {
return
StakingRouter.StakingModule({
id: 2,
stakingModuleAddress: 0xaE7B191A31f627b4eB1d4DaC64eaB9976995b433,
stakingModuleFee: 800,
treasuryFee: 200,
stakeShareLimit: 400,
status: 0,
name: "SimpleDVT",
lastDepositAt: 1735217831,
lastDepositBlock: 21486781,
exitedValidatorsCount: 5,
priorityExitShareThreshold: 444,
maxDepositsPerBlock: 150,
minDepositBlockDistance: 25
});
}

if (_stakingModuleId == 3) {
return
StakingRouter.StakingModule({
id: 3,
stakingModuleAddress: 0xdA7dE2ECdDfccC6c3AF10108Db212ACBBf9EA83F,
stakingModuleFee: 600,
treasuryFee: 400,
stakeShareLimit: 100,
status: 0,
name: "Community Staking",
lastDepositAt: 1735217387,
lastDepositBlock: 21486745,
exitedValidatorsCount: 104,
priorityExitShareThreshold: 125,
maxDepositsPerBlock: 30,
minDepositBlockDistance: 25
});
}
}
}
Loading
Loading