ObolNetwork / ObolNetwork/obol-sdk

Upgrade to cluster definition v1.10

Open
#112 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

api-squad
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:

  1. 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.
  1. 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.
  1. 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.