Skip to content

fix: validate split sum, product description, claim reference uniqueness, and admin zero address - #758

Merged
nonsobethel0-dev merged 1 commit into
Parashield-Protocol:mainfrom
emdevelopa:fix/emdevelopa-split-desc-ref-admin
Oct 20, 2026
Merged

nonsobethel0-dev merged 1 commit into
Parashield-Protocol:mainfrom
emdevelopa:fix/emdevelopa-split-desc-ref-admin

Conversation

@emdevelopa

Copy link
Copy Markdown
Contributor

Summary of Changes

This pull request resolves four issues across the Parashield contracts:

  1. RiskPool Premium Split Validation ([bug] RiskPool does not validate premium split sum equals 10000 bps #756):

    • Enforce that the sum of all premium split components (lp_bps + treas_bps + backstop_bps) strictly equals 10,000 bps (100%) in execute_parameter_change.
    • Prevent under/over-allocation of pool yields.
  2. PolicyEngine Product Description Validation ([bug] PolicyEngine does not validate product description is not empty #755):

    • Validate that params.name is non-empty and has a valid minimum character length in create_product.
    • Added EmptyDescription and InvalidDescription error variants to prevent uninformative products.
  3. ClaimsProcessor Claim Reference Uniqueness ([bug] ClaimsProcessor does not validate claim reference number is unique #754):

    • Added submit_claim_with_ref entrypoint and StorageKey::ClaimReference(Symbol) tracking.
    • Enforce unique claim reference numbers, rejecting duplicates with Error::DuplicateClaimReference.
  4. RiskPool Zero Address Admin Validation ([security] RiskPool does not validate admin address is not the zero address #753):

    • Enforce require_not_zero_address on admin address during pool initialisation (initialize), admin rotation proposal (propose_new_admin), and acceptance (accept_admin).
    • Prevents permanently locking contract administration to the zero address.

Closes #756
Closes #755
Closes #754
Closes #753

@nonsobethel0-dev
nonsobethel0-dev merged commit a9789cc into Parashield-Protocol:main Oct 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants