Repository navigation
Conversation
|
@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 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 SDK bindings match contract WASM Soroban contract (test + wasm build) The contract code references |
|
@omoh5 Thanks for the build fix; the contract compiles and its tests pass now. One check still fails: Your change adds contract functions and errors, so the generated TypeScript client has to be regenerated from the new WASM: cd contracts/escrow && cargo build --target wasm32v1-none --release
stellar contract bindings typescript --wasm target/wasm32v1-none/release/docforum_escrow.wasm --output-dir /tmp/escrow-bindings --overwrite
cp /tmp/escrow-bindings/src/index.ts ../../sdk/src/generated/contract-client.tsUse the Stellar CLI version pinned in |
|
@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 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 TypeScript SDK (Deno), TypeScript SDK (Node 20) SDK bindings match contract WASM Also failing: TypeScript SDK (Bun), Soroban contract (test + wasm build), TypeScript SDK (Node 22), React hooks package, Reproducible WASM across checkout paths, TypeScript SDK (Chromium), TypeScript SDK (Node 24).
|
|
@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 Soroban contract, Reproducible WASM across checkout paths TypeScript SDK (all runtimes), React hooks package
cd contracts/escrow && cargo build --target wasm32v1-none --release
stellar contract bindings typescript --wasm target/wasm32v1-none/release/docforum_escrow.wasm --output-dir /tmp/escrow-bindings --overwrite
cp /tmp/escrow-bindings/src/index.ts ../../sdk/src/generated/contract-client.ts
|
|
@omoh5 CI is failing on this branch against the latest TypeScript SDK (Deno), TypeScript SDK (Bun), TypeScript SDK (Node 22) Also failing: TypeScript SDK (Chromium), TypeScript SDK (Node 20), React hooks package, TypeScript SDK (Node 24), Reproducible WASM across checkout paths, Soroban contract (test + wasm build), SDK bindings match contract WASM. These are the same errors as last time: your new |
|
@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 Soroban contract (test + wasm build) TypeScript SDK (Node 24), TypeScript SDK (Deno) Also failing: TypeScript SDK (Bun), Reproducible WASM across checkout paths, SDK bindings match contract WASM, React hooks package, TypeScript SDK (Node 20), TypeScript SDK (Node 22), TypeScript SDK (Chromium). The tests call |
|
@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 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 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: |
|
@omoh5 CI on The SDK build fails on that: The contract job also still reports the missing fragment: To fix it:
|
Closes #114
Summary
Implements dependent escrows, allowing an escrow to require another escrow to reach a specified status before its funds can be released.
This moves release-order enforcement on-chain, making multi-step payment agreements verifiable by both parties.
Changes
ROADMAP.md.Implementation Details
Dependency representation: [Describe actual storage and types.]
Release behavior: [Describe how the required status is verified.]
Cycle prevention: Dependencies reference only existing lower-ID escrows.
Refund behavior: Dependencies do not block otherwise valid refunds.
Compatibility: [Describe contract storage and SDK compatibility decisions.]
Edge Cases
Testing
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 command output or a concise relevant excerpt.]
Documentation
Scope
This PR is limited to dependent escrow creation, dependency validation, release enforcement, refund safety, required tests, and documentation.
Cross-contract dependencies and unrelated escrow functionality are out of scope.