Description
Add initialize callable once to set global config (e.g. default token, max rate) if product requires shared deployment config.
Requirements and context
- Prevent double init.
- Auth: deployer or immutable args per Soroban pattern.
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/contract-initialize-config
Implementation targets
lib.rs + storage for config.
- Tests: double init fails.
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): one-time initializer for global settings
Description
Add
initializecallable once to set global config (e.g. default token, max rate) if product requires shared deployment config.Requirements and context
Suggested execution
streampay-contracts).Implementation targets
lib.rs+ storage for config.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 testinStreamPay-Contracts.Cover edge cases; capture test output and short security notes in the PR description.
Guidelines
Example commit message