ObolNetwork / ObolNetwork/obol-sdk
Upgrade to cluster definition v1.10
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 2
- Avg merge
- 6d 20h
- Merged PRs (30d)
- 1
Description
Description:
To fully support the new v1.10.0 cluster‐definition schema in our SDK (and downstream FE/LP), we need to establish sensible defaults and enforce validation rules on the following fields:
- compounding
- Default: true
- Allowed values: true or false
- Note: Controls whether validator deposits are “compounded” (0x02) or simple (0x01), which in turn affects deposit defaults and validator type.
- target_gas_limit
- Default: 36000000
- Validation: Must be a positive integer (> 0). [might not need since protocol already checks with uint?]
3.consensus_protocol
- Default: "" (empty string)
- Allowed values: "" or "qbft"
- Note: We only support “qbft” for now; any other input should be rejected.
- deposit_amounts
- Default: null
- Validation:
- If compounding === false (simple validators):
- Must be either null or an array containing any subset of:
- ["1000000000", "32000000000"]
- (Corresponds to [1 ETH, 32 ETH] in wei-scale strings)
- If compounding === true (compounded validators):
- Must be either null or an array containing any subset of:
- ["1000000000", "8000000000", "32000000000", "256000000000"]
- (Corresponds to [1 ETH, 8 ETH, 32 ETH, 256 ETH])
Acceptance Criteria:
- SDK definitions default compounding to true and reject non-boolean inputs.
- SDK defaults target_gas_limit to 36000000; rejects zero or negative values.
- SDK defaults consensus_protocol to ""; rejects any string other than "" or "qbft".
- SDK defaults deposit_amounts to null; validates array entries against the correct set based on compounding.
- Unit tests covering each field’s default and validation behavior.
- Documentation updated (FE/LP README or spec) to reflect the new defaults and validation logic.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the SDK's cluster-definition definitions and existing unit-test setup, then locate the FE/LP README or spec named in the issue. Cover each field's defaults, validation rules, conditional deposit sets, and invalid values in tests; done means the documentation matches and the unit tests pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, documentation, testing-qa
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100