Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
7fb4417
fix(strategy-manager): change slashing and obligationUpdate event order
riccardo-ssvlabs May 12, 2025
f3efb28
Merge pull request #47 from ssvlabs/fix/event-order-slashing
riccardo-ssvlabs May 14, 2025
1a21e65
fix(strategy): revert slashing if strategy not opted in
riccardo-ssvlabs May 27, 2025
a023070
test(strategy): revert slash not opted in strategy
riccardo-ssvlabs May 27, 2025
5b2de18
chore: <- update solhint
riccardo-ssvlabs May 27, 2025
90ede9d
Add Security Checks for Config (#49)
riccardo-ssvlabs May 28, 2025
1c86fe4
Enrich SSVBasedApps interface (#51)
riccardo-ssvlabs May 28, 2025
58dae6b
Remove IERC165 Interface Check (#52)
riccardo-ssvlabs May 28, 2025
5c94bda
feat: check bApp registered during OptIn (#53)
riccardo-ssvlabs May 28, 2025
8555ef4
Use `ICore.TokenConfig` for `registerBApp()` (#50)
riccardo-ssvlabs May 28, 2025
7767ca6
chore: update prettier dependency (#62)
mtabasco May 28, 2025
900166e
chore(deps): update dependency solhint to ^5.1.0 (#56)
renovate[bot] May 28, 2025
892568c
chore(deps): update dependency node to v22 (#59)
renovate[bot] May 28, 2025
c9464a8
chore(deps): update dependency lint-staged to v16 (#58)
renovate[bot] May 28, 2025
9ee223c
chore(deps): update dependency node to v22 (#64)
renovate[bot] May 28, 2025
3ee95af
chore(deps): update dependency solhint to ^5.1.0 (#63)
renovate[bot] May 28, 2025
572d843
chore: update docs + add release notes
mtabasco May 28, 2025
c4b0aa3
Merge pull request #68 from ssvlabs/chore/update-docs
riccardo-ssvlabs May 29, 2025
0e90248
chore(deps): pin dependencies (#55)
renovate[bot] May 29, 2025
bcc903e
chore: sepolia deployment, bump version
mtabasco Jun 6, 2025
1b5c742
Example ECDSA verifier (#72)
riccardo-ssvlabs Jun 11, 2025
727e648
Fix: Propose Obligation Update storage ref (#74)
riccardo-ssvlabs Jun 17, 2025
2ed1f2b
chore: sync with develop
mtabasco Jun 17, 2025
80b5ab3
chore: release notes
mtabasco Jun 17, 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
2 changes: 1 addition & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
- name: Install Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: '18'
node-version: '22'
cache: 'npm'
cache-dependency-path: package-lock.json

Expand Down
2 changes: 1 addition & 1 deletion .solhint.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"extends": "solhint:recommended",
"rules": {
"compiler-version": ["error", "0.8.29"],
"compiler-version": ["error", "0.8.30"],
"no-inline-assembly": "off",
"no-unused-import": "error",
"func-named-parameters": "off",
Expand Down
2 changes: 1 addition & 1 deletion .tool-versions
Original file line number Diff line number Diff line change
@@ -1 +1 @@
solidity 0.8.29
solidity 0.8.30
43 changes: 40 additions & 3 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,45 @@
# Release Notes

## [v0.2.0] 2024-06-xx
### Description
- fix(strategy-manager): change slashing and obligationUpdate event order
- fix(strategy): revert slashing if strategy not opted in
- feat: add and enforce basic checks for config vars
- Enrich SSVBasedApps interface (#51)
- Remove IERC165 Interface Check (#52)
- feat: check bApp registered during OptIn (#53)
- chore: update docs + add release notes
- chore: sepolia deployment, bump version
- Example ECDSA verifier (#72)
- Fix: Propose Obligation Update storage ref (#74)
- feat: add script for implementation update and solidity 0.8.30

### Contracts
#### New (examples)
- `contract ECDSAVerifier is OwnableBasedApp`

### Interfaces
#### New
- `interface IViews`

#### Modified
- `interface IBasedApp is IERC165` -> `interface IBasedApp`

### Functions
#### Modified
- `function registerBApp(
address[] calldata tokens,
uint32[] calldata sharedRiskLevels,
string calldata metadataURI) external`

->
- `function registerBApp(
ICore.TokenConfig[] calldata tokenConfigs,
string calldata metadataURI
) external
`


## [v0.1.1 - fix] 2024-06-17
### Description
- Fix to update the storage references when proposing an obligation
Expand All @@ -9,13 +49,11 @@
## [v0.1.1] 2024-06-xx

### Functions

#### Modified
- `function registerBApp(ICore.TokenConfig[] calldata tokenConfigs, string calldata metadataURI) external`
- `function updateDisabledFeatures(uint32 value) external onlyOwner`

### Errors

#### New
- `error InvalidDisabledFeatures();`
- `error InvalidFeeExpireTime();`
Expand All @@ -28,6 +66,5 @@
- `error InvalidWithdrawalTimelockPeriod();`

### Events

#### Modified
- `event BAppRegistered(address indexed bApp, ICore.TokenConfig[] tokenConfigs, string metadataURI);`
25 changes: 25 additions & 0 deletions artifacts/deploy-sepolia.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"addresses": {
"BAppsModule": "0x7321E62c0aC3C49b84464cD2EacE43e6995a1ca5",
"ProtocolModule": "0x7a30a199ff232Ddbf2863bB5B9517D67B482484c",
"SSVBasedAppsImpl": "0x9fCD30C040B40D633bae83d49b3A2B79D02899b0",
"SSVBasedAppsProxy": "0x413eEE616aEC463E5605B008EBC2DDDC536a0cE8",
"StrategyModule": "0x868C2789045d7ffC144635Da7D8cC0a974C58f89"
},
"chainInfo": {
"chainId": 11155111,
"deploymentBlock": 8489872
},
"parameters": {
"disabledFeatures": 0,
"feeExpireTime": 3600,
"feeTimelockPeriod": 300,
"maxFeeIncrement": 500,
"maxShares": 100000000000000000000000000000000000000000000000000,
"obligationExpireTime": 3600,
"obligationTimelockPeriod": 300,
"tokenUpdateTimelockPeriod": 300,
"withdrawalExpireTime": 3600,
"withdrawalTimelockPeriod": 300
}
}
3 changes: 2 additions & 1 deletion docs/src/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@ __`❍ forge test`__

[Slashing & Withdrawals](./guides/slashing-and-withdrawals.md)

[Generation pattern](./guides/generations.md)

## :gear: _Feature Activation_

[Feature Activation](./guides/feature-activation.md)
Expand All @@ -78,7 +80,6 @@ __`❍ forge test`__

[Based Apps Onboarding Guide](./guides/bApp-onboarding.md)

&nbsp;

## :rocket: _Deployments_

Expand Down
1 change: 1 addition & 0 deletions docs/src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
- [IProtocolManager](src/core/interfaces/IProtocolManager.sol/interface.IProtocolManager.md)
- [ISSVBasedApps](src/core/interfaces/ISSVBasedApps.sol/interface.ISSVBasedApps.md)
- [IStrategyManager](src/core/interfaces/IStrategyManager.sol/interface.IStrategyManager.md)
- [IViews](src/core/interfaces/IViews.sol/interface.IViews.md)
- [❱ libraries](src/core/libraries/README.md)
- [SSVCoreModules](src/core/libraries/CoreStorageLib.sol/enum.SSVCoreModules.md)
- [CoreStorageLib](src/core/libraries/CoreStorageLib.sol/library.CoreStorageLib.md)
Expand Down
8 changes: 4 additions & 4 deletions docs/src/src/core/SSVBasedApps.sol/contract.SSVBasedApps.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# SSVBasedApps
[Git Source](https://github.com/ssvlabs/based-applications/blob/f462573124548b82b6a002d4ef069bdfacf5c637/src/core/SSVBasedApps.sol)
[Git Source](https://github.com/ssvlabs/based-applications/blob/3ee95af731e4fce61ac2b03f418aa4e9fb5f64bd/src/core/SSVBasedApps.sol)

**Inherits:**
[ISSVBasedApps](/src/core/interfaces/ISSVBasedApps.sol/interface.ISSVBasedApps.md), UUPSUpgradeable, Ownable2StepUpgradeable, [IBasedAppManager](/src/core/interfaces/IBasedAppManager.sol/interface.IBasedAppManager.md), [IStrategyManager](/src/core/interfaces/IStrategyManager.sol/interface.IStrategyManager.md), [IProtocolManager](/src/core/interfaces/IProtocolManager.sol/interface.IProtocolManager.md)
[ISSVBasedApps](/src/core/interfaces/ISSVBasedApps.sol/interface.ISSVBasedApps.md), UUPSUpgradeable, Ownable2StepUpgradeable

**Author:**

Expand Down Expand Up @@ -91,7 +91,7 @@ function updateBAppMetadataURI(string calldata metadataURI) external;


```solidity
function registerBApp(address[] calldata tokens, uint32[] calldata sharedRiskLevels, string calldata metadataURI) external;
function registerBApp(ICore.TokenConfig[] calldata tokenConfigs, string calldata metadataURI) external;
```

### updateBAppsTokens
Expand Down Expand Up @@ -329,7 +329,7 @@ function updateMaxFeeIncrement(uint32 value) external onlyOwner;


```solidity
function updateDisabledFeatures(uint32 disabledFeatures) external onlyOwner;
function updateDisabledFeatures(uint32 value) external onlyOwner;
```

### delegations
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# IBasedAppManager
[Git Source](https://github.com/ssvlabs/based-applications/blob/f462573124548b82b6a002d4ef069bdfacf5c637/src/core/interfaces/IBasedAppManager.sol)
[Git Source](https://github.com/ssvlabs/based-applications/blob/3ee95af731e4fce61ac2b03f418aa4e9fb5f64bd/src/core/interfaces/IBasedAppManager.sol)


## Functions
### registerBApp


```solidity
function registerBApp(address[] calldata tokens, uint32[] calldata sharedRiskLevels, string calldata metadataURI) external;
function registerBApp(ICore.TokenConfig[] calldata tokenConfigs, string calldata metadataURI) external;
```

### updateBAppMetadataURI
Expand All @@ -34,7 +34,7 @@ event BAppMetadataURIUpdated(address indexed bApp, string metadataURI);
### BAppRegistered

```solidity
event BAppRegistered(address indexed bApp, address[] tokens, uint32[] sharedRiskLevel, string metadataURI);
event BAppRegistered(address indexed bApp, ICore.TokenConfig[] tokenConfigs, string metadataURI);
```

### BAppTokensUpdated
Expand Down
2 changes: 1 addition & 1 deletion docs/src/src/core/interfaces/ICore.sol/interface.ICore.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# ICore
[Git Source](https://github.com/ssvlabs/based-applications/blob/f462573124548b82b6a002d4ef069bdfacf5c637/src/core/interfaces/ICore.sol)
[Git Source](https://github.com/ssvlabs/based-applications/blob/3ee95af731e4fce61ac2b03f418aa4e9fb5f64bd/src/core/interfaces/ICore.sol)


## Structs
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# IProtocolManager
[Git Source](https://github.com/ssvlabs/based-applications/blob/f462573124548b82b6a002d4ef069bdfacf5c637/src/core/interfaces/IProtocolManager.sol)
[Git Source](https://github.com/ssvlabs/based-applications/blob/3ee95af731e4fce61ac2b03f418aa4e9fb5f64bd/src/core/interfaces/IProtocolManager.sol)


## Functions
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# ISSVBasedApps
[Git Source](https://github.com/ssvlabs/based-applications/blob/f462573124548b82b6a002d4ef069bdfacf5c637/src/core/interfaces/ISSVBasedApps.sol)
[Git Source](https://github.com/ssvlabs/based-applications/blob/3ee95af731e4fce61ac2b03f418aa4e9fb5f64bd/src/core/interfaces/ISSVBasedApps.sol)

**Inherits:**
[IStrategyManager](/src/core/interfaces/IStrategyManager.sol/interface.IStrategyManager.md), [IBasedAppManager](/src/core/interfaces/IBasedAppManager.sol/interface.IBasedAppManager.md), [IProtocolManager](/src/core/interfaces/IProtocolManager.sol/interface.IProtocolManager.md), [IViews](/src/core/interfaces/IViews.sol/interface.IViews.md)


## Functions
Expand All @@ -10,13 +13,6 @@
function getModuleAddress(SSVCoreModules moduleId) external view returns (address);
```

### getVersion


```solidity
function getVersion() external pure returns (string memory version);
```

### initialize


Expand Down Expand Up @@ -51,6 +47,60 @@ event ModuleUpdated(SSVCoreModules indexed moduleId, address moduleAddress);
error InvalidMaxFeeIncrement();
```

### InvalidMaxShares

```solidity
error InvalidMaxShares();
```

### InvalidFeeTimelockPeriod

```solidity
error InvalidFeeTimelockPeriod();
```

### InvalidFeeExpireTime

```solidity
error InvalidFeeExpireTime();
```

### InvalidWithdrawalTimelockPeriod

```solidity
error InvalidWithdrawalTimelockPeriod();
```

### InvalidWithdrawalExpireTime

```solidity
error InvalidWithdrawalExpireTime();
```

### InvalidObligationTimelockPeriod

```solidity
error InvalidObligationTimelockPeriod();
```

### InvalidObligationExpireTime

```solidity
error InvalidObligationExpireTime();
```

### InvalidTokenUpdateTimelockPeriod

```solidity
error InvalidTokenUpdateTimelockPeriod();
```

### InvalidDisabledFeatures

```solidity
error InvalidDisabledFeatures();
```

### TargetModuleDoesNotExist

```solidity
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# IStrategyManager
[Git Source](https://github.com/ssvlabs/based-applications/blob/f462573124548b82b6a002d4ef069bdfacf5c637/src/core/interfaces/IStrategyManager.sol)
[Git Source](https://github.com/ssvlabs/based-applications/blob/3ee95af731e4fce61ac2b03f418aa4e9fb5f64bd/src/core/interfaces/IStrategyManager.sol)


## Functions
Expand Down
Loading