Skip to content

Fixed-point rates for Stellar asset decimals #53

@greatest0fallt1me

Description

@greatest0fallt1me

Description

Support fixed-point rate representation to align with 7-decimal Stellar assets and avoid float in clients.

Requirements and context

  • Document scale factor in StreamInfo or separate field.
  • Migration from raw i128 rate if breaking.

Suggested execution

  • Fork the repository and create a branch (example below).
  • Implement the changes in the StreamPay-Contracts Soroban crate (streampay-contracts).
  • Keep the contract secure, tested, and documented; prefer small, reviewable diffs.
git checkout -b feature/fixed-point-rate-decimals

Implementation targets

  • lib.rs + docs/decimals.md.
  • Tests with realistic decimals.

Tests and validation

  • Add or extend contract tests for this scope.

  • Cover edge cases; paste summarized test output and security notes in the PR.

  • Run cargo test in StreamPay-Contracts.

  • Cover edge cases; capture test output and short security notes in the PR description.

Guidelines

  • Target minimum 95% test coverage for touched contract code (or justify gaps explicitly).
  • Clear documentation (rustdoc / project docs as specified).
  • Timeframe: 96 hours from assignment.

Example commit message

feat(contracts): fixed-point rate for asset decimals

Metadata

Metadata

Assignees

No one assigned
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions