Description
Document and test how optional request_id is represented in deduct event topics so indexers parse consistently.
Requirements and context
- Avoid breaking schema changes without an explicit version/migration note.
- Align
EVENT_SCHEMA.md with implementation.
Suggested execution
- Fork the repo and create a branch:
git checkout -b docs/vault-request-id-events
- Implement changes in the Callora-Contracts Soroban workspace (
contracts/*/src/).
- Run
cargo fmt, cargo clippy --all-targets --all-features -- -D warnings, and cargo test from the workspace root.
- For WASM release builds:
cargo build --target wasm32-unknown-unknown --release -p callora-vault (adjust -p if the crate name differs).
Deliverables
EVENT_SCHEMA.md + test.rs (where the Soroban test harness allows assertions).
UPGRADE.md note if behavior changes.
Test and commit
- Run tests and
./scripts/coverage.sh (or cargo tarpaulin per tarpaulin.toml).
- Cover edge cases; include summarized test output and brief security notes in the PR description.
Example commit message
docs(vault): clarify request_id event encoding
Guidelines
- Minimum 95% line coverage for touched crates (workspace policy).
- Clear documentation (Rust
/// on public items where applicable; repo markdown as needed).
- Timeframe: 96 hours from assignment unless agreed otherwise.
Description
Document and test how optional
request_idis represented indeductevent topics so indexers parse consistently.Requirements and context
EVENT_SCHEMA.mdwith implementation.Suggested execution
git checkout -b docs/vault-request-id-eventscontracts/*/src/).cargo fmt,cargo clippy --all-targets --all-features -- -D warnings, andcargo testfrom the workspace root.cargo build --target wasm32-unknown-unknown --release -p callora-vault(adjust-pif the crate name differs).Deliverables
EVENT_SCHEMA.md+test.rs(where the Soroban test harness allows assertions).UPGRADE.mdnote if behavior changes.Test and commit
./scripts/coverage.sh(orcargo tarpaulinpertarpaulin.toml).Example commit message
Guidelines
///on public items where applicable; repo markdown as needed).