Skip to content

Replace unchecked arithmetic in extend_milestone_deadline with checked operations #404

Description

@francisdouglas-ux

Problem & Goal

Convert the arithmetic inside extend_milestone_deadline to checked operations that return a typed error, so no input can cause a wrap or an unhandled panic.

Context & Components

  • Target Repository: escrow-contract
  • Module/Component: extend_milestone_deadline (Extends the auto-release deadline of a milestone)

Implementation Details

  1. Review the existing codebase inside the escrow-contract directory.
  2. Locate the source files relating to extend_milestone_deadline.
  3. Implement the feature logic/validation rules step-by-step.
  4. Ensure code conforms to codebase patterns (lints, formats, types).

Verification & Testing Requirements

  • Validation check: Assert i128::MAX and i128::MIN operands return Error::InvalidAmount rather than panicking, and that valid amounts produce identical results to before.
  • Add comprehensive test cases matching these validation requirements.
  • Ensure all other existing project tests continue to compile and pass.

Note: This issue is completely self-contained and does not block or require any other issues to be resolved.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Stellar WaveIssues in the Stellar wave program

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions