Document v2 receiver trustline preflight and token errors - #15
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
I patched the trustline timing wording directly on this PR branch in The constitution now states the narrower invariant: an address must already hold the asset trustline when that address is validated/introduced. That preserves valid flows where a trustline is created after the escrow itself was deployed but before a future receiver is added via No other PR content was changed. The |
techrebelgit
left a comment
There was a problem hiding this comment.
Reviewed against the merged Core API trustline preflight/error attribution behavior, including the corrected trustline timing invariant in 950ad7b. Content is aligned with implementation.
Reflects Trustless-Work/trustlesswork-core-api#42, now merged.
Changes
api/v2/core-concepts.md): which addresses each endpoint checks before building the transaction, and theESCROW_RECEIVER_TRUSTLINE_MISSING(422) response with its real Problem Details shape (extensions.missing, withtrustline-missing/account-missingreasons).deploy/update:roles.receiver, plusroles.platformwhenplatformFee > 0.deploy: every milestone receiver, plus the fee-earning platform.update: only the fee-earning platform, since the payload's milestones are ignored on-chain.manage-milestones: every new milestone receiver.api/v2/core-concepts.md): errors raised by the escrow's token contract now surface asTOKEN_*codes, with their HTTP status and the error-page URL pattern. Before this, a fund signer without a trustline gotESCROW_PLATFORM_FEE_TOO_HIGH; it now getsTOKEN_TRUSTLINE_MISSING.constitution.md(Article IV.2) and in theSKILL.mdtrustline gotcha.receiverMemofrom the deploy and update payload examples and from the type rules. It is hidden from the API's Swagger on those inputs (commit2acface). The versioned read response still returns it, so that example is unchanged.scripts/check-consistency.shpasses.