Repository navigation
Conversation
…one with both parties' consent
|
@omoh5 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! 🚀 |
|
@omoh5 This PR now has merge conflicts with git fetch upstream # upstream = https://github.com/DocForum/docforum-escrow.git
git rebase upstream/main
# resolve the conflicts, re-run the tests, then:
git push --force-with-leaseThe usual culprits are shared docs like Automated message. It won't repeat unless the PR conflicts again after your next push. |
|
@omoh5 CI is failing on this branch against the latest Reproducible WASM across checkout paths, SDK bindings match contract WASM, Soroban contract (test + wasm build)
This PR also conflicts with |
|
@omoh5 CI is failing on this branch against the latest SDK bindings match contract WASM, Reproducible WASM across checkout paths, Soroban contract (test + wasm build) These are the same errors as before: |
|
@omoh5 This PR now has merge conflicts with git fetch upstream # upstream = https://github.com/DocForum/docforum-escrow.git
git rebase upstream/main
# resolve the conflicts, re-run the tests, then:
git push --force-with-leaseThe usual culprits are shared docs like Automated message. It won't repeat unless the PR conflicts again after your next push. |
|
@omoh5 CI is failing on this branch against the latest The migration types and variants still aren't defined anywhere on this branch, and |
|
@omoh5 CI is failing in the contract build (Soroban test, SDK bindings and reproducible-WASM jobs all hit the same compile errors): The migration code is there, but the type, enum and |
|
@omoh5 This PR now has merge conflicts with git fetch upstream # upstream = https://github.com/DocForum/docforum-escrow.git
git rebase upstream/main
# resolve the conflicts, re-run the tests, then:
git push --force-with-leaseThe usual culprits are shared docs like Automated message. It won't repeat unless the PR conflicts again after your next push. |
|
@omoh5 Heads-up: #268 just changed how contract PRs work in this repo. Your PR changes
This should also make your next merge from |
|
@omoh5 The new contract check (#268, see my earlier comment) fails this PR: |
Closes #117
Summary
Implements a consent-based migration protocol that allows open escrows to move securely between supported Soroban contract deployments.
The migration requires authorization from both the payer and releaser, verifies trusted source deployments, and ensures escrow funds and records move atomically.
Changes
export_toon the source escrow contract.import_fromon the destination contract.ROADMAP.md.Security Design
Authorization: Both payer and releaser must approve migration.
Trusted source verification: [Describe actual allowlist and authenticated invocation mechanism.]
Atomicity: [Explain how contract state changes and token transfers roll back together.]
Replay prevention: [Describe the migration identity and duplicate detection.]
Escrow lifecycle: [Explain how the source escrow becomes non-spendable after migration.]
Compatibility
Existing immutable testnet deployments without an export function cannot use this protocol.
Integrators must continue tracking those deployments and settle their escrows through existing release or refund paths.
Testing
Integration tests cover:
Verification
From
contracts/escrow/:cargo test— [Actual result]cargo build --target wasm32v1-none --release— [Actual result]If SDK changes were required:
npm run typecheck— [Actual result]npm run build— [Actual result]npm run test:integration— [Actual result, if applicable]Test output: [Paste actual output or a relevant excerpt.]
Documentation
Scope
This PR is limited to consent-based escrow migration, security validation, required contract tests, ADR documentation, and related integration guidance.
It does not retroactively enable migration for existing immutable deployments.