This policy defines how maintainers track, evaluate, and roll out Soroban dependency updates for
liquifact_escrow.
- Pin
soroban-sdkand related Soroban crates inCargo.tomlto an explicit compatible series. - Keep
Cargo.lockcommitted so CI and reviewers execute the same resolved dependency graph. - Avoid broad, implicit upgrades in feature branches unrelated to dependency maintenance.
- Review upstream Soroban/Stellar release notes for:
- host behavior changes
- VM/runtime breaking changes
- deprecations affecting contract APIs or testutils
- Run dependency audit commands and open a tracking issue for any actionable findings.
- Evaluate patch/minor updates for
soroban-sdkand direct transitive risk dependencies. - Create a dedicated dependency-update branch.
- Run full escrow validation suite (
fmt,clippy,test,llvm-covpolicy gate). - Record migration impact (if any) on contract behavior, events, or storage assumptions.
For every dependency bump candidate:
- Run existing CI gate commands from
README.md. - Re-run scenario-critical tests:
- funding to funded transition
- settlement and claim path
- legal hold gating
- dust sweep guards
- Validate event compatibility for indexers (
docs/EVENT_SCHEMA.mdexpectations). - Confirm no accidental storage schema drift unless intentionally planned.
If behavior changes are detected, document them in the PR and propose explicit migration/redeploy guidance before merge.
Maintainers should track Soroban host/runtime notes as first-class input for release risk:
- Monitor upstream release notes and advisories on each weekly check.
- Flag any host-level semantic change that could affect:
- auth boundaries
- event shape/order assumptions
- token call behavior and balance-delta checks
- ledger timestamp/sequence assumptions in tests
Open a dependency-risk issue immediately when uncertain impact exists, even before code changes.
When a high-severity advisory or breakage is announced:
- Open an incident issue (
severity, affected versions, suspected blast radius). - Create emergency branch (example:
hotfix/deps-soroban-<version>). - Apply minimal dependency bump and lockfile update.
- Run mandatory checks:
cargo fmt --all -- --checkcargo clippy -p liquifact_escrow -- -D warningscargo test -p liquifact_escrowcargo llvm-cov --features testutils --fail-under-lines 95 --summary-only -p liquifact_escrow
- Perform merge dry-run against
upstream/main. - Open PR with:
- advisory reference
- risk assessment
- rollback plan
- explicit note on token-economics assumptions remaining out of scope per
escrow/src/external_calls.rs.
- This policy governs dependency update process and verification, not token-economics support expansion.
- Unsupported token models (fee-on-transfer/rebasing/hook behavior) remain out of scope unless explicitly accepted in a separate ADR and implementation PR.