docs: clarify withdraw preconditions - #173
Open
babymakh2026-maker wants to merge 2 commits into
Open
babymakh2026-maker wants to merge 2 commits into
babymakh2026-maker wants to merge 2 commits into
Conversation
babymakh2026-maker
marked this pull request as ready for review
August 2, 2026 13:53
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.
Summary
ResultAsyncvalidation outcomes and thrown SDK invariant errors.withdrawaction docs, anduseWithdrawdocs thatwithdrawassumes the sender already has a supply position for the selected market and reserve.userSupplies/useUserSuppliesbefore submitting a withdrawal.senderrequest field.Why
Issue #150 surfaced that consumers can mistake thrown invariant failures, such as attempting to withdraw without an existing supply position, for execution-plan validation errors. The maintainer guidance is that these are violated preconditions, while modeled outcomes such as
InsufficientBalanceErrorremain part of the normal execution flow.This PR makes that contract explicit where integrators are likely to read it, so they know which checks to perform before calling
withdrawand avoid depending on invariant message text.Refs #150.
Validation
pnpm lintpnpm build