You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Both documented cleanup paths for an unmatched, never-opened resting sell offer fail — dexdo orders cancel <ID> and dexdo destroy — on a deal with zero funds at risk (funded=false, opened=false, deposit=0). No working CLI method currently retires a stale-but-otherwise-healthy resting offer.
This looks like a regression of (or incomplete fix for) #54, where @Futurizt noted: "v0.0.12 reads orders/market indexer-first (no more long chain-read timeouts) and skips consumed/stale orders instead of blocking on them... please reopen if the symptom recurs on v0.0.12." It has recurred, and reproduces unchanged on v0.0.14 too.
Environment
dexdo versions tested: 0.0.12 (SHA256-verified against release SHA256SUMS) and 0.0.14 (fresh download, checksum-verified, correctly self-reports dexdo 0.0.14)
WARN dexdo::cli::orders: order-book event fold unavailable; using legacy chain fallback error=account 0:<ORDER_BOOK_ADDR> ext-out GraphQL errors: [{"message":"Invalid account_id: expected 64 hex characters without prefix",...}]
Error: chain read timed out after 30s; retry or use `dexdo market-data` where applicable
The event-fold read sends the order-book account_id to GraphQL still carrying its 0: prefix, which the endpoint rejects. It falls back to a "legacy" path that itself hangs — reproduced identically at 30s and 60s timeouts, ruling out a plain slow-network explanation.
Bug 2 — destroy on an unmatched (!_opened) TC: exit_code=336 (iob::ERR_EXPIRED)
Error: block manager rejected message code=TVM_ERROR message="Failed to execute the message. Error occurred during the compute phase."; exit_code=336 (iob::ERR_EXPIRED) stage=data
Reproduced twice on v0.0.12, once more on v0.0.14. TokenContract.destroy() (read from the gosh-sh/dexdo contracts source) is a pure local operation — !_opened && !_disputed check, optional buyer refund, selfdestruct — with no call into InferenceOrderBook at all. Exit 336 is defined nowhere in the contracts tree except as InferenceOrderBook.ERR_EXPIRED, so this may be a message-envelope-level expiry rejection (plausible given intermittent shellnet RPC instability) rather than an actual IOB interaction — but either way it blocks the only remaining path to retire a stale offer.
Impact
No CLI-only way currently exists to retire a plain unmatched resting offer with zero funds at risk — both documented routes (dexdo-sell-model skill guide) fail. Contributes to the same order-book congestion class as #36/#54.
Summary
Both documented cleanup paths for an unmatched, never-opened resting sell offer fail —
dexdo orders cancel <ID>anddexdo destroy— on a deal with zero funds at risk (funded=false,opened=false,deposit=0). No working CLI method currently retires a stale-but-otherwise-healthy resting offer.This looks like a regression of (or incomplete fix for) #54, where @Futurizt noted: "v0.0.12 reads orders/market indexer-first (no more long chain-read timeouts) and skips consumed/stale orders instead of blocking on them... please reopen if the symptom recurs on v0.0.12." It has recurred, and reproduces unchanged on v0.0.14 too.
Environment
dexdo 0.0.14)Bug 1 —
orders cancel/orders list: malformed GraphQL query, broken fallbackThe event-fold read sends the order-book account_id to GraphQL still carrying its
0:prefix, which the endpoint rejects. It falls back to a "legacy" path that itself hangs — reproduced identically at 30s and 60s timeouts, ruling out a plain slow-network explanation.Bug 2 —
destroyon an unmatched (!_opened) TC:exit_code=336 (iob::ERR_EXPIRED)Reproduced twice on v0.0.12, once more on v0.0.14.
TokenContract.destroy()(read from thegosh-sh/dexdocontracts source) is a pure local operation —!_opened && !_disputedcheck, optional buyer refund,selfdestruct— with no call intoInferenceOrderBookat all. Exit 336 is defined nowhere in the contracts tree except asInferenceOrderBook.ERR_EXPIRED, so this may be a message-envelope-level expiry rejection (plausible given intermittent shellnet RPC instability) rather than an actual IOB interaction — but either way it blocks the only remaining path to retire a stale offer.Impact
No CLI-only way currently exists to retire a plain unmatched resting offer with zero funds at risk — both documented routes (
dexdo-sell-modelskill guide) fail. Contributes to the same order-book congestion class as #36/#54.Ask