Skip to content

validate_milestone: remove duplicate / stub implementations #114

@1nonlypiece

Description

@1nonlypiece

Description

There are multiple conflicting validate_milestone definitions in the crate tree. Keep one correct implementation with proper auth and storage updates.

Requirements and context

  • Verifier or creator auth per Option<Address> rules

  • Sets milestone_validated without transferring funds (release is separate)

  • Must be secure, fully tested, and documented

  • Should be efficient and easy to review for auditors and integrators

Suggested execution

  1. Fork the repository and create a branch: git checkout -b fix/validate-milestone-single
  2. Implement the changes listed below
  3. Open a draft PR early for design feedback

Implement

  • Delete stub functions in test modules that shadow contract API
  • Integration test: cannot validate twice

Tests and documentation

  • Add or extend automated tests: src/lib.rs
  • Add or update documentation: vesting.md
  • Add Rustdoc (///) on public contract APIs where applicable (NatSpec-style)
  • Validate stated security assumptions explicitly in PR description

Test and commit

  1. Run the full contract test suite (e.g. cargo test, Soroban local sandbox if applicable)
  2. Cover edge cases called out in this issue
  3. Attach test output summary and short security notes in the PR
  4. Ensure minimum 95% line coverage for touched modules (cargo tarpaulin / project standard)

Example commit message

fix(soroban): single validate_milestone implementation with tests

Guidelines

Item Target
Test coverage 95% on changed code
Documentation Clear, versioned, matches on-chain behavior
Timeframe 96 hours from assignment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Stellar WaveIssues in the Stellar wave programcoreCore contract logicsmart-contractSoroban / on-chain workvaultVault domain

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions