Skip to content

Release v0.23.0 - #20

Merged
jdogresorg merged 98 commits into
masterfrom
release/v0.23.0
Oct 12, 2026
Merged

jdogresorg merged 98 commits into
masterfrom
release/v0.23.0

Conversation

@jdogresorg

Copy link
Copy Markdown
Contributor

What this release carries

Added

  • Added the remote tracker profile that fails closed.
  • Answered node rejections from broadcast_tx as error -32010 with the node code.

Changed

  • Bounded fragmented input selection at the transaction cap and refused capped unconfirmed selections.
  • Rounded fees up and shared one caller fee-rate cap with a node-anchored burn backstop.

Fixed

  • Returned retryable errors for capped dust selection and deferred capped selections that contain mempool inputs.
  • Mirrored exact PSBT fee totals past 2^53 from the SDK copy.

Testnet activation

  • MIRROR_ADMISSION_ACTIVATION.BTC:testnet on BTC:testnet at height 154234
  • MIRROR_ADMISSION_ACTIVATION.LTC:testnet on LTC:testnet at height 4903068
  • MIRROR_ADMISSION_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67936053
  • MIRROR_ADMISSION_CONSUMER_ACTIVATION.BTC:testnet on BTC:testnet at height 154291
  • MIRROR_ADMISSION_CONSUMER_ACTIVATION.LTC:testnet on LTC:testnet at height 4903291
  • MIRROR_ADMISSION_CONSUMER_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67936888
  • ANCHOR_ATTEST_BARRIER_ACTIVATION.BTC:testnet on BTC:testnet at height 154291
  • TOKEN_BRIDGE_ACTIVATION.BTC:testnet on BTC:testnet at height 154567
  • TOKEN_BRIDGE_ACTIVATION.LTC:testnet on LTC:testnet at height 4903068
  • TOKEN_BRIDGE_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67951140
  • TOKEN_POLICY_INHERITANCE_ACTIVATION.BTC:testnet on BTC:testnet at height 154567
  • TOKEN_POLICY_INHERITANCE_ACTIVATION.LTC:testnet on LTC:testnet at height 4903068
  • TOKEN_POLICY_INHERITANCE_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67951140
  • ORACLE_PRICE_AGE_HOURLY_ACTIVATION.BTC:testnet on BTC:testnet at height 154778
  • ORACLE_PRICE_AGE_HOURLY_ACTIVATION.LTC:testnet on LTC:testnet at height 4905005
  • ORACLE_PRICE_AGE_HOURLY_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67956923
  • LIST_SHARE_ACTIVATION.BTC:testnet on BTC:testnet at height 154777
  • LIST_SHARE_ACTIVATION.LTC:testnet on LTC:testnet at height 4905004
  • LIST_SHARE_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67956922
  • LIST_SHARE_CONSUMER_ACTIVATION.BTC:testnet on BTC:testnet at height 154777
  • LIST_SHARE_CONSUMER_ACTIVATION.LTC:testnet on LTC:testnet at height 4905004
  • LIST_SHARE_CONSUMER_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67956922
  • LIST_UNION_ACTIVATION.BTC:testnet on BTC:testnet at height 154777
  • LIST_UNION_ACTIVATION.LTC:testnet on LTC:testnet at height 4905004
  • LIST_UNION_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67956922
  • LIST_TRANSFER_ACTIVATION.BTC:testnet on BTC:testnet at height 154777
  • LIST_TRANSFER_ACTIVATION.LTC:testnet on LTC:testnet at height 4905004
  • LIST_TRANSFER_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67956922
  • LIST_ADDRESS_REF_ACTIVATION.BTC:testnet on BTC:testnet at height 154777
  • LIST_ADDRESS_REF_ACTIVATION.LTC:testnet on LTC:testnet at height 4905004
  • LIST_ADDRESS_REF_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67956922
  • LIST_TICK_COIN_ACTIVATION.BTC:testnet on BTC:testnet at height 154777
  • LIST_TICK_COIN_ACTIVATION.LTC:testnet on LTC:testnet at height 4905004
  • LIST_TICK_COIN_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67956922
  • MARKET_LIST_SOURCE_ACTIVATION.BTC:testnet on BTC:testnet at height 154777
  • MARKET_LIST_SOURCE_ACTIVATION.LTC:testnet on LTC:testnet at height 4905004
  • MARKET_LIST_SOURCE_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67956922
  • LIST_CHANGE_REMATCH_ACTIVATION.BTC:testnet on BTC:testnet at height 154777
  • LIST_CHANGE_REMATCH_ACTIVATION.LTC:testnet on LTC:testnet at height 4905004
  • LIST_CHANGE_REMATCH_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67956922
  • LIST_SHARE_PRODUCER_ACTIVATION.BTC:testnet on BTC:testnet at height 154777
  • ORACLE_HOURLY_WINDOW_FIRST_ROUND.testnet on oracle:testnet at height 5082
  • ANCHOR_EMPTY_FOLD_REJECT_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • ANCHOR_EMPTY_FOLD_REJECT_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • ANCHOR_EMPTY_FOLD_REJECT_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • COOLDOWN_MATURITY_ESCROW_REVERSAL_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • COOLDOWN_MATURITY_ESCROW_REVERSAL_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • COOLDOWN_MATURITY_ESCROW_REVERSAL_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • DISPENSER_REFILL_POLICY_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • DISPENSER_REFILL_POLICY_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • DISPENSER_REFILL_POLICY_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • ATTEST_RELAY_RESPONSE_DEADLINE_ACTIVATION.BTC:testnet on BTC:testnet at block time 1791804379
  • ATTEST_RELAY_RESPONSE_DEADLINE_ACTIVATION.LTC:testnet on LTC:testnet at block time 1791804379
  • ATTEST_RELAY_RESPONSE_DEADLINE_ACTIVATION.DOGE:testnet on DOGE:testnet at block time 1791804379
  • BRIDGE_ROW_FIELDS_TERMINAL_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • BRIDGE_ROW_FIELDS_TERMINAL_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • BRIDGE_ROW_FIELDS_TERMINAL_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • ADMIT_CHAIN_MARGIN_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • ATTEST_BATCH_HEAD_STATE_HASH_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • ATTEST_BATCH_HEAD_STATE_HASH_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • ATTEST_BATCH_HEAD_STATE_HASH_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • ANCHOR_PREACTIVATION_STATUS_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • ANCHOR_PREACTIVATION_STATUS_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • ANCHOR_PREACTIVATION_STATUS_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • ANCHOR_ARCHIVE_FOLD_TERM_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • ANCHOR_ARCHIVE_FOLD_TERM_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • ANCHOR_ARCHIVE_FOLD_TERM_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • CROSS_CHAIN_REMOTE_TOKEN_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • CROSS_CHAIN_REMOTE_TOKEN_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • CROSS_CHAIN_REMOTE_TOKEN_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • SEND_GATED_TOTAL_TICK_ID_ACTIVATION.BTC:testnet on BTC:testnet at block time 1791804379
  • SEND_GATED_TOTAL_TICK_ID_ACTIVATION.LTC:testnet on LTC:testnet at block time 1791804379
  • SEND_GATED_TOTAL_TICK_ID_ACTIVATION.DOGE:testnet on DOGE:testnet at block time 1791804379
  • PRICE_LANDED_STRICT_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • PRICE_LANDED_STRICT_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • PRICE_LANDED_STRICT_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • ATTEST_RELAY_FEE_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • ATTEST_RELAY_FEE_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • ATTEST_RELAY_FEE_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • BIGINT_SURFACE_STRIP_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • BIGINT_SURFACE_STRIP_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • BIGINT_SURFACE_STRIP_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • ACTION_ADMISSION_DISPATCHED_ONLY.BTC:testnet on BTC:testnet at height 156230
  • ACTION_ADMISSION_DISPATCHED_ONLY.LTC:testnet on LTC:testnet at height 4912984
  • ACTION_ADMISSION_DISPATCHED_ONLY.DOGE:testnet on DOGE:testnet at height 67989993
  • VM_LINT_BANNED_WITH_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • VM_LINT_BANNED_WITH_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • VM_LINT_BANNED_WITH_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • VM_LINT_NESTING_DEPTH_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • VM_LINT_NESTING_DEPTH_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • VM_LINT_NESTING_DEPTH_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • DISPENSER_DELAY_PROTOCOL_TIME_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • DISPENSER_DELAY_PROTOCOL_TIME_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • DISPENSER_DELAY_PROTOCOL_TIME_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • BRIDGE_POLICY_REFUSAL_RECORD_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • BRIDGE_POLICY_REFUSAL_RECORD_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • BRIDGE_POLICY_REFUSAL_RECORD_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • PRICE_WIRE_TRAILING_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • PRICE_WIRE_TRAILING_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • PRICE_WIRE_TRAILING_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • ORACLE_SNAPSHOT_AGE_SECONDS_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • ORACLE_SNAPSHOT_AGE_SECONDS_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • ORACLE_SNAPSHOT_AGE_SECONDS_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • BET_FEED_LIST_EDIT_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • BET_FEED_LIST_EDIT_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • BET_FEED_LIST_EDIT_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • CROSS_CHAIN_OFFER_LIST_EXPORT.BTC:testnet on BTC:testnet at height 156230
  • CROSS_CHAIN_OFFER_LIST_EXPORT.LTC:testnet on LTC:testnet at height 4912984
  • CROSS_CHAIN_OFFER_LIST_EXPORT.DOGE:testnet on DOGE:testnet at height 67989993
  • VM_LINT_DESTRUCTURE_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • VM_LINT_DESTRUCTURE_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • VM_LINT_DESTRUCTURE_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • GOV_TALLY_FAILOVER_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • BRIDGE_PROOF_READY_SNAPSHOT_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • BRIDGE_PROOF_READY_SNAPSHOT_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • BRIDGE_PROOF_READY_SNAPSHOT_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • LANDING_CLEAR_FRONTIER_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • LANDING_CLEAR_FRONTIER_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • LANDING_CLEAR_FRONTIER_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • REORG_SNAPSHOT_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • CROSS_CHAIN_OFFER_LIST_ENFORCEMENT.BTC:testnet on BTC:testnet at height 156230
  • CROSS_CHAIN_OFFER_LIST_ENFORCEMENT.LTC:testnet on LTC:testnet at height 4912984
  • CROSS_CHAIN_OFFER_LIST_ENFORCEMENT.DOGE:testnet on DOGE:testnet at height 67989993
  • FEDERATED_HUB_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • FEDERATED_HUB_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • FEDERATED_HUB_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993

Release v0.23.0

Base: master at f2376610d61fe59b5d1568cd3d7baca12192976d
Head: release/v0.23.0 at 2ccbe9bfcb05dd50fa2a59519c9e51438e44509d

Landed refs

  • 2ccbe9b Release v0.23.0
  • 73ed42f Set the repo git identity at session start and turn attribution off
  • bd03330 Merge: Sync sibling checkout helper
  • 1c53085 Sync sibling checkout helper
  • ad10959 Sync the canonical action manifest
  • 495deec Fix 4 review findings in xchain-encoder
  • b5e2293 Merge: Preserve capped selection error contract
  • 78273a3 Merge: Nest capped selection tests
  • aafacf9 Preserve capped selection error contract
  • 2906b0b sync trunk
  • 43c79f8 Merge: Clarify JSON-RPC error retry ownership
  • b6a2000 Clarify JSON-RPC error retry ownership
  • 3f716c2 Nest capped selection tests
  • e327c8a sync trunk
  • 46f6f61 Merge: Sanitize archived patch references
  • 327d6f6 Group capped selection tests under existing suite
  • 54440de Sanitize archived patch references
  • 750e6f6 Sanitize archived patch subject
  • a64f06e Return retryable errors for capped dust selection
  • b04ab86 Archive orphaned encoder work as patch
  • ba376c9 Defer capped selections containing mempool inputs
  • e157a82 Preserve the unconfirmed input cap contract
  • 0b5c5e8 Refuse a capped unconfirmed selection with NO_CONFIRMED_UTXO
  • 65fd444 Bound fragmented input selection at transaction cap
  • bcd62bb fix: review round corrections
  • e48c5fe Repin the vendored action manifest hash after the BET format 4 re-vendor.
  • a50ea4a Merge BET format 4 lane work.
  • 0aea6dd test: enforce exact action manifest identity
  • 6ed1bb6 test: tolerate staged BET manifest landing
  • decc58c sync trunk
  • 3409cc5 Merge: test: re-vendor action manifest settlement anchors
  • 165c3f8 Merge: test: resolve published vectors from sibling
  • e7db35c test: resolve published vectors from sibling
  • 96deef4 test: split published vector assertions
  • 5c2102b test: exercise published Taproot envelope vectors
  • 90ea857 sync trunk
  • ca86144 Re-sync the coin registry from the canonical xchain-hub/src/coins
  • b31479c test: assert published envelope grammar
  • a9315f8 sync trunk
  • 2610fd0 Fix encoder validator and cancel-envelope findings
  • 690d39e test: restore published vectors to nested suite
  • 7412bc7 sync trunk
  • 63f2577 Merge: Split connector node code cases into their own suite
  • 88da5cd Merge: Consolidate tracker profile test coverage
  • c702060 test: place taproot vectors at declared path
  • 678b5f6 test: group taproot vector suite
  • a487d84 test: pin published taproot envelope vectors
  • a8eb953 test: sync BET version 4 manifest
  • 6253e0c Split connector node code cases into their own suite
  • 7da12e9 Cover connector-to-controller node code propagation in broadcast_tx test
  • 68bd2ce Consolidate tracker profile test coverage
  • 94d4aac Answer node rejections from broadcast_tx as -32010 with the node code
  • bb91b19 Refactor trackerless profile test layout
  • 489a4bd test: re-vendor action manifest settlement anchors
  • d4ec74c Add UTXO_TRACKER_PROFILE=remote fail-closed tracker profile
  • 05b6195 Merge: Route coin conformance through sibling guard
  • 4c0486a Route coin conformance through sibling guard
  • 155b3a6 Review round 2026-10-06, fourth pass: 1 review fix in xchain-encoder
  • 4b0f7f9 Merge: Clarify AGPL attribution term
  • 3271718 Review round 2026-10-06, third pass: 1 review fix in xchain-encoder
  • b8535b6 Review round 2026-10-06, second pass: 1 review fix in xchain-encoder
  • 690139e Clarify AGPL attribution term
  • 80a0a3d Review round 2026-10-06: 3 review fixes in xchain-encoder
  • f5a17f9 Review round 2026-10-06: 4 review fixes in xchain-encoder
  • ffe475b Merge: sync trunk
  • 9c6c5ef sync trunk
  • f515908 Merge: Add the CLA Assistant step to the encoder PR checklist
  • 2a55aa3 Add the CLA Assistant step to the encoder PR checklist
  • 8374509 sync trunk
  • 280dbff Cover a multi-chunk payload through one P2SH fund tx
  • c959f56 Exempt every spelling of the OpenRPC spec route from the key gate, apply the burn backstop under any operator cap and validate caller output addresses for the network (review 9999 10005 10025)
  • cf092c2 Merge: Route encoder api env reads through the config module
  • f2d773e Route encoder api env reads through the config module
  • 8b22769 Merge: Confirm generated CI tier timing block
  • 56350c1 Confirm generated CI tier timing block
  • 5837cf3 sync trunk
  • c4aaf70 Merge: verify first input key unit coverage
  • e93f470 Merge: split identity pin test suites
  • 6c699fb Merge: test: exercise suite title compare CLI
  • 71a69ae Merge: sync trunk
  • bb1b1ec test: exercise suite title compare CLI
  • 945d901 fix: allow additive suite-title growth
  • a05ba0a sync trunk
  • bee8cbb sync trunk
  • 6f71a02 Merge: Keep UTXO complexity test within structure limits
  • 2cfeb6d Keep UTXO complexity test within structure limits
  • 53c6762 Make UTXO complexity test deterministic
  • ceadb67 Split validator test suites
  • 92875bb test validator value checks
  • c27311f verify first input key unit coverage
  • a9722e3 split identity pin test suites
  • 1e1cb10 sync trunk
  • b8e5a7d sync trunk
  • 2c413e6 sync trunk
  • 35efe72 test first input key binding and reservations
  • 64c5da8 test identity pin exports
  • d232340 Regenerate CI tier timing block
  • edc0bd3 Merge master (v0.21.3 release) back into develop

Update the generated run_tier block so fast-tier runs stop after their first failed tier.
Add pure coverage for pin construction, comparisons, deterministic key order, and tracked file constants.
Cover first-input key selection, exact-input reservation errors, and reservation expiry through the focused unit surface.
Keep each Mocha suite callback below the structure limit while preserving the identity pin export coverage.
Confirm the focused test passes and rejects controlled key, error-type, and reservation-lifetime regressions.
Cover exact integer parsing, optional booleans, satoshi amount boundaries, and Latin-1 scanning.
Keep each suite callback within the repository structure limits.
Replace the runner-speed-dependent wall-clock ceiling with a txid property-read bound that directly distinguishes the linear implementation from the historical quadratic scan.
Extract counted UTXO construction from the test callback and shorten its explanatory comment so the repository structure ratchet accepts the deterministic regression guard.
Keep reporting added test files and titles without failing the pin comparison. Preserve failures for dropped files, dropped titles, and other identity changes.
Run additive and dropped coverage fixtures through the executable compare path so exit-code regressions are caught.
The tier wirer reports this checkout already wired. Record the re-offered verification after confirming the generated stop marker, shell syntax, and structure ratchet.
…ply the burn backstop under any operator cap and validate caller output addresses for the network (review 9999 10005 10025)
Pins that every chunk becomes its own leg of a single funding transaction and that the reveal spends all legs and keeps a value output.
Keep the vendored manifest strict against every canonical byte while allowing the immediately preceding BET version list until the documentation change lands.
Compare the vendored and canonical manifests as raw buffers without accepting the preceding BET version list.
- Encoder sends -32010 reasons UTXO_TRACKER_UNREACHABLE and UTXO_TRACKER_SYNC_MISSING, which error-codes.md does not list
- estimatesmartfee no-estimate throw drops modern Core's result.errors reason on mainnet
Stop before a 501st input mutates the PSBT. Return a retryable confirmed-input reason when confirmed-only selection cannot fund within the cap, while preserving the existing range refusal when unconfirmed inputs are allowed.
Both the confirmed-only and unconfirmed paths now stop at the input cap with the retryable NO_CONFIRMED_UTXO reason instead of a range error.
Keep NO_CONFIRMED_UTXO specific to confirmed-only selection while stopping every path before a 501st input is added. Unconfirmed-enabled selection continues to use the established range refusal when largest-first selection cannot fund within the cap.
Return the retryable confirmed-output reason when a largest-first selection containing an unconfirmed input reaches the transaction cap. Keep the established range refusal for unconfirmed-enabled selections made entirely from confirmed inputs.
Treat every underfunded selection at the transaction input ceiling as an operational funding condition. Add focused tracker-fed coverage for large publisher dust sets and the all-confirmed unconfirmed-enabled path.
Remove the internal reference from the format-patch subject while preserving the archived diff and its stable patch identity.
Keep the required dust-cap test path as a generated Mocha entry point while housing its assertions with the large-set input selection coverage. This keeps the unit test directory within the structure ratchet.
Replace the direct forwarding entry point with the required nested suite. Keep capped-selection assertions separate from the deduplication suite so focused runs execute each test once.
Document that the SDK treats JSON-RPC body errors as final and callers decide when to retry.
Distinguish selections that could fund beyond the input ceiling from dust sets that remain underfunded. Keep the retryable funding error for exhausted dust while retaining the established range error for transactions that would require input 501.
- Action manifest labels DISPENSER_CANCEL/DISPENSER_EDIT as legacy with no indexer twin, but the indexer writes them as live action names
- Sibling cors_origin.js headers name wrong paths and the wrong copy count, so the "keep the six in step" list has drifted
- NODE_RPC_TIMEOUT empty or unit-suffixed silently disables or shrinks the coin-node RPC timeout
- Encoder never checks the node's getblockchaininfo chain against the configured NETWORK tier
Refresh the identity pin after vendoring the current action manifest.
Copy the canonical helper bytes from the indexer so pinned clean main checkouts can satisfy cross-repository tests.
Bump to 0.23.0 and record the release changelog. Arm the v0.23.0 testnet gates at BTC 156230, LTC 4912984 and DOGE 67989993, with instant 1791804379 for the time and change rows; mainnet stays unarmed. Tests that pinned the unarmed testnet state now read the armed rows, and the identity and suite-title pins are regenerated.
@jdogresorg
jdogresorg merged commit 57b0bd2 into master Oct 12, 2026
8 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant