feature:set_authorized_caller and deduction authorization matrix - #301
Merged
Conversation
|
@Amizeey Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
closes #229
Description
Configure which address may invoke deduct flows alongside the owner; emit an audit-friendly event on changes.
Requirements and context
Avoid invalid addresses if they are meaningless on Stellar for this contract.
Document operational migration from owner-only metering to backend-signed metering.
Suggested execution
Fork the repo and create a branch: git checkout -b feature/vault-authorized-caller
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
lib.rs + test.rs.
ACCESS_CONTROL.md updates.
Matrix tests: owner allowed, authorized caller allowed, others rejected.
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
feat(vault): authorized caller for metering
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.