Repository navigation
Release v0.23.0 - #66
Merged
Merged
Conversation
Compare every rejected fuzz token against the full operator-facing error so changes to the valid argument details cannot pass unnoticed.
Use a non-port module fixture so build and run failure tests remain isolated from host-port discovery. Normalize caught rejection values while retaining each exact diagnostic assertion.
Stub published host ports so the focused chaos cases reach their intended Docker failure paths.
The null-branch clone case asserted a git@ URL, but modulesUrls is HTTPS by design. It now asserts the same table the sibling URL case uses.
Suppress the default hub API URL when seed URLs come from the per-coin config, while preserving explicit URLs outside seed mode. Add focused config-service coverage.
The supplied base passed all three develop CI jobs, and the affected non-Bitcoin E2E path recovered without an xchain-node content change. No source fix is needed.
Keep the fallback API route until merged seed selection is known. An explicitly empty per-coin seed list now overrides host seed defaults, while seeded regtest and mainnet routes still omit the pinned API URL.
Keep the built-in volume-name and published-port functions when a partial dependency injection omits either binding.
Point chaos config-service doubles at the live config module so the config directory override is applied.
…ty report The Stryker mutate globs now reach the module, docker, database, bootstrap and status split directories, and the weekly mutation workflow errors when no report is produced.
Include every selected service implementation directory without negative globs. Require both mutation reports to be nonempty before the scheduled artifact upload.
Retain the originally required host-port and volume-name helpers when dependency injection omits them.
Resolve stale singleton container references by canonical Docker name. Skip config delivery when the named hub is also absent while preserving real network attachment failures.
Verify signed mainnet indexer archives by importing them into a disposable test database and comparing block-row, token, and issuance counts. Serialize the rehearsal with other mutating commands and always remove the database it creates.
Exercise updateHub with a removed stored container ID and verify it retries the canonical Docker name before delivering configuration.
Include every selected service split in mutation runs and require both scheduled reports to be nonempty. Keep the dry run compatible with config isolation and source-inspection tests without excluding tests or narrowing mutate ranges.
Allow a lane symlink into a main checkout only when the declared sibling SHA matches HEAD and tracked state is clean.
Extract the re-exec phase and test fixtures into focused helpers. Keep every function within the repository readability limit without changing the atomic handoff behavior.
Use a validated host environment override for MariaDB publication and fallback connections. Cover collision checks, connection fallback, and invalid values.
Remove static service database password fallbacks and persist fresh credentials on first configuration. Cover native installs, reuse, and cross-install uniqueness.
Set the full nightly plan to six shards for each coin, reducing the measured action share to about 34 minutes while using 18 concurrent runners for the combined matrix. Pin the count and total concurrency in the workflow contract test.
Make the re-executed child acquire the command lock normally so a competing mutator can win the handoff interval and cause the update to refuse.
Escape schema-name wildcard characters for the mainnet grant while retaining the non-mainnet wildcard. Add focused coverage and refresh the suite-title pin.
Keep the HubMirror grant coverage in smaller suite callbacks and condense its implementation rationale for the style checks.
Assert generated credentials and sidecar persistence without requiring a database container. Verify shared hub and indexer password relationships under the current per-install credential contract.
dbPasswordCanRotate answers without inspecting the host database container, so an install never reaches the getDatabaseContainerId seam. R-E2E-006 asserts that the probe is absent, and the e2e env comment describes the database seal as a guard rather than a required path.
… config directory getDefaultConfig persists generated database passwords into sidecars, so the partial fs stubs need the sidecar read and write calls and the real-fs experiments need a directory they can create.
…ates The stack hub's xchain-indexer entries named only the indexer API host and port. The explorer builds its pools from db_host and db_port and falls back to host and port, so the stack explorer dialled the indexer API as MariaDB, held no pools and answered every ping 503, failing any suite that boots against the stack's own explorer.
Every host-side caller reaches a stack indexer through its published port from one source address, so the venue's hubs, indexers and suite share one 600 a minute bucket. The hubs' admission-tip, request and stake reads used it up in about 40 seconds and were refused with 429 for the rest of each window, so no admission heights were published. The stack indexers now take the same high limit the stack encoders do.
The explorer answers ping 503 until its next hub config poll sees the seeded coins, which can trail a warm boot by a minute, so a suite started right after setup failed its initial explorer check. Setup now polls the explorer's ping and fails loudly if it never answers.
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.
Generated from the ten signed v0.23.0 sibling tags and the platform tag; xchain-contracts stays at its existing component tag.
Release v0.23.0 manifest
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.
What this release carries
Added
Changed
Fixed
Testnet activation
MIRROR_ADMISSION_ACTIVATION.BTC:testnetonBTC:testnetat height154234MIRROR_ADMISSION_ACTIVATION.LTC:testnetonLTC:testnetat height4903068MIRROR_ADMISSION_ACTIVATION.DOGE:testnetonDOGE:testnetat height67936053MIRROR_ADMISSION_CONSUMER_ACTIVATION.BTC:testnetonBTC:testnetat height154291MIRROR_ADMISSION_CONSUMER_ACTIVATION.LTC:testnetonLTC:testnetat height4903291MIRROR_ADMISSION_CONSUMER_ACTIVATION.DOGE:testnetonDOGE:testnetat height67936888ANCHOR_ATTEST_BARRIER_ACTIVATION.BTC:testnetonBTC:testnetat height154291TOKEN_BRIDGE_ACTIVATION.BTC:testnetonBTC:testnetat height154567TOKEN_BRIDGE_ACTIVATION.LTC:testnetonLTC:testnetat height4903068TOKEN_BRIDGE_ACTIVATION.DOGE:testnetonDOGE:testnetat height67951140TOKEN_POLICY_INHERITANCE_ACTIVATION.BTC:testnetonBTC:testnetat height154567TOKEN_POLICY_INHERITANCE_ACTIVATION.LTC:testnetonLTC:testnetat height4903068TOKEN_POLICY_INHERITANCE_ACTIVATION.DOGE:testnetonDOGE:testnetat height67951140ORACLE_PRICE_AGE_HOURLY_ACTIVATION.BTC:testnetonBTC:testnetat height154778ORACLE_PRICE_AGE_HOURLY_ACTIVATION.LTC:testnetonLTC:testnetat height4905005ORACLE_PRICE_AGE_HOURLY_ACTIVATION.DOGE:testnetonDOGE:testnetat height67956923LIST_SHARE_ACTIVATION.BTC:testnetonBTC:testnetat height154777LIST_SHARE_ACTIVATION.LTC:testnetonLTC:testnetat height4905004LIST_SHARE_ACTIVATION.DOGE:testnetonDOGE:testnetat height67956922LIST_SHARE_CONSUMER_ACTIVATION.BTC:testnetonBTC:testnetat height154777LIST_SHARE_CONSUMER_ACTIVATION.LTC:testnetonLTC:testnetat height4905004LIST_SHARE_CONSUMER_ACTIVATION.DOGE:testnetonDOGE:testnetat height67956922LIST_UNION_ACTIVATION.BTC:testnetonBTC:testnetat height154777LIST_UNION_ACTIVATION.LTC:testnetonLTC:testnetat height4905004LIST_UNION_ACTIVATION.DOGE:testnetonDOGE:testnetat height67956922LIST_TRANSFER_ACTIVATION.BTC:testnetonBTC:testnetat height154777LIST_TRANSFER_ACTIVATION.LTC:testnetonLTC:testnetat height4905004LIST_TRANSFER_ACTIVATION.DOGE:testnetonDOGE:testnetat height67956922LIST_ADDRESS_REF_ACTIVATION.BTC:testnetonBTC:testnetat height154777LIST_ADDRESS_REF_ACTIVATION.LTC:testnetonLTC:testnetat height4905004LIST_ADDRESS_REF_ACTIVATION.DOGE:testnetonDOGE:testnetat height67956922LIST_TICK_COIN_ACTIVATION.BTC:testnetonBTC:testnetat height154777LIST_TICK_COIN_ACTIVATION.LTC:testnetonLTC:testnetat height4905004LIST_TICK_COIN_ACTIVATION.DOGE:testnetonDOGE:testnetat height67956922MARKET_LIST_SOURCE_ACTIVATION.BTC:testnetonBTC:testnetat height154777MARKET_LIST_SOURCE_ACTIVATION.LTC:testnetonLTC:testnetat height4905004MARKET_LIST_SOURCE_ACTIVATION.DOGE:testnetonDOGE:testnetat height67956922LIST_CHANGE_REMATCH_ACTIVATION.BTC:testnetonBTC:testnetat height154777LIST_CHANGE_REMATCH_ACTIVATION.LTC:testnetonLTC:testnetat height4905004LIST_CHANGE_REMATCH_ACTIVATION.DOGE:testnetonDOGE:testnetat height67956922LIST_SHARE_PRODUCER_ACTIVATION.BTC:testnetonBTC:testnetat height154777ORACLE_HOURLY_WINDOW_FIRST_ROUND.testnetonoracle:testnetat height5082ANCHOR_EMPTY_FOLD_REJECT_ACTIVATION.BTC:testnetonBTC:testnetat height156230ANCHOR_EMPTY_FOLD_REJECT_ACTIVATION.LTC:testnetonLTC:testnetat height4912984ANCHOR_EMPTY_FOLD_REJECT_ACTIVATION.DOGE:testnetonDOGE:testnetat height67989993COOLDOWN_MATURITY_ESCROW_REVERSAL_ACTIVATION.BTC:testnetonBTC:testnetat height156230COOLDOWN_MATURITY_ESCROW_REVERSAL_ACTIVATION.LTC:testnetonLTC:testnetat height4912984COOLDOWN_MATURITY_ESCROW_REVERSAL_ACTIVATION.DOGE:testnetonDOGE:testnetat height67989993DISPENSER_REFILL_POLICY_ACTIVATION.BTC:testnetonBTC:testnetat height156230DISPENSER_REFILL_POLICY_ACTIVATION.LTC:testnetonLTC:testnetat height4912984DISPENSER_REFILL_POLICY_ACTIVATION.DOGE:testnetonDOGE:testnetat height67989993ATTEST_RELAY_RESPONSE_DEADLINE_ACTIVATION.BTC:testnetonBTC:testnetat block time1791804379ATTEST_RELAY_RESPONSE_DEADLINE_ACTIVATION.LTC:testnetonLTC:testnetat block time1791804379ATTEST_RELAY_RESPONSE_DEADLINE_ACTIVATION.DOGE:testnetonDOGE:testnetat block time1791804379BRIDGE_ROW_FIELDS_TERMINAL_ACTIVATION.BTC:testnetonBTC:testnetat height156230BRIDGE_ROW_FIELDS_TERMINAL_ACTIVATION.LTC:testnetonLTC:testnetat height4912984BRIDGE_ROW_FIELDS_TERMINAL_ACTIVATION.DOGE:testnetonDOGE:testnetat height67989993ADMIT_CHAIN_MARGIN_ACTIVATION.DOGE:testnetonDOGE:testnetat height67989993ATTEST_BATCH_HEAD_STATE_HASH_ACTIVATION.BTC:testnetonBTC:testnetat height156230ATTEST_BATCH_HEAD_STATE_HASH_ACTIVATION.LTC:testnetonLTC:testnetat height4912984ATTEST_BATCH_HEAD_STATE_HASH_ACTIVATION.DOGE:testnetonDOGE:testnetat height67989993ANCHOR_PREACTIVATION_STATUS_ACTIVATION.BTC:testnetonBTC:testnetat height156230ANCHOR_PREACTIVATION_STATUS_ACTIVATION.LTC:testnetonLTC:testnetat height4912984ANCHOR_PREACTIVATION_STATUS_ACTIVATION.DOGE:testnetonDOGE:testnetat height67989993ANCHOR_ARCHIVE_FOLD_TERM_ACTIVATION.BTC:testnetonBTC:testnetat height156230ANCHOR_ARCHIVE_FOLD_TERM_ACTIVATION.LTC:testnetonLTC:testnetat height4912984ANCHOR_ARCHIVE_FOLD_TERM_ACTIVATION.DOGE:testnetonDOGE:testnetat height67989993CROSS_CHAIN_REMOTE_TOKEN_ACTIVATION.BTC:testnetonBTC:testnetat height156230CROSS_CHAIN_REMOTE_TOKEN_ACTIVATION.LTC:testnetonLTC:testnetat height4912984CROSS_CHAIN_REMOTE_TOKEN_ACTIVATION.DOGE:testnetonDOGE:testnetat height67989993SEND_GATED_TOTAL_TICK_ID_ACTIVATION.BTC:testnetonBTC:testnetat block time1791804379SEND_GATED_TOTAL_TICK_ID_ACTIVATION.LTC:testnetonLTC:testnetat block time1791804379SEND_GATED_TOTAL_TICK_ID_ACTIVATION.DOGE:testnetonDOGE:testnetat block time1791804379PRICE_LANDED_STRICT_ACTIVATION.BTC:testnetonBTC:testnetat height156230PRICE_LANDED_STRICT_ACTIVATION.LTC:testnetonLTC:testnetat height4912984PRICE_LANDED_STRICT_ACTIVATION.DOGE:testnetonDOGE:testnetat height67989993ATTEST_RELAY_FEE_ACTIVATION.BTC:testnetonBTC:testnetat height156230ATTEST_RELAY_FEE_ACTIVATION.LTC:testnetonLTC:testnetat height4912984ATTEST_RELAY_FEE_ACTIVATION.DOGE:testnetonDOGE:testnetat height67989993BIGINT_SURFACE_STRIP_ACTIVATION.BTC:testnetonBTC:testnetat height156230BIGINT_SURFACE_STRIP_ACTIVATION.LTC:testnetonLTC:testnetat height4912984BIGINT_SURFACE_STRIP_ACTIVATION.DOGE:testnetonDOGE:testnetat height67989993ACTION_ADMISSION_DISPATCHED_ONLY.BTC:testnetonBTC:testnetat height156230ACTION_ADMISSION_DISPATCHED_ONLY.LTC:testnetonLTC:testnetat height4912984ACTION_ADMISSION_DISPATCHED_ONLY.DOGE:testnetonDOGE:testnetat height67989993VM_LINT_BANNED_WITH_ACTIVATION.BTC:testnetonBTC:testnetat height156230VM_LINT_BANNED_WITH_ACTIVATION.LTC:testnetonLTC:testnetat height4912984VM_LINT_BANNED_WITH_ACTIVATION.DOGE:testnetonDOGE:testnetat height67989993VM_LINT_NESTING_DEPTH_ACTIVATION.BTC:testnetonBTC:testnetat height156230VM_LINT_NESTING_DEPTH_ACTIVATION.LTC:testnetonLTC:testnetat height4912984VM_LINT_NESTING_DEPTH_ACTIVATION.DOGE:testnetonDOGE:testnetat height67989993DISPENSER_DELAY_PROTOCOL_TIME_ACTIVATION.BTC:testnetonBTC:testnetat height156230DISPENSER_DELAY_PROTOCOL_TIME_ACTIVATION.LTC:testnetonLTC:testnetat height4912984DISPENSER_DELAY_PROTOCOL_TIME_ACTIVATION.DOGE:testnetonDOGE:testnetat height67989993BRIDGE_POLICY_REFUSAL_RECORD_ACTIVATION.BTC:testnetonBTC:testnetat height156230BRIDGE_POLICY_REFUSAL_RECORD_ACTIVATION.LTC:testnetonLTC:testnetat height4912984BRIDGE_POLICY_REFUSAL_RECORD_ACTIVATION.DOGE:testnetonDOGE:testnetat height67989993PRICE_WIRE_TRAILING_ACTIVATION.BTC:testnetonBTC:testnetat height156230PRICE_WIRE_TRAILING_ACTIVATION.LTC:testnetonLTC:testnetat height4912984PRICE_WIRE_TRAILING_ACTIVATION.DOGE:testnetonDOGE:testnetat height67989993ORACLE_SNAPSHOT_AGE_SECONDS_ACTIVATION.BTC:testnetonBTC:testnetat height156230ORACLE_SNAPSHOT_AGE_SECONDS_ACTIVATION.LTC:testnetonLTC:testnetat height4912984ORACLE_SNAPSHOT_AGE_SECONDS_ACTIVATION.DOGE:testnetonDOGE:testnetat height67989993BET_FEED_LIST_EDIT_ACTIVATION.BTC:testnetonBTC:testnetat height156230BET_FEED_LIST_EDIT_ACTIVATION.LTC:testnetonLTC:testnetat height4912984BET_FEED_LIST_EDIT_ACTIVATION.DOGE:testnetonDOGE:testnetat height67989993CROSS_CHAIN_OFFER_LIST_EXPORT.BTC:testnetonBTC:testnetat height156230CROSS_CHAIN_OFFER_LIST_EXPORT.LTC:testnetonLTC:testnetat height4912984CROSS_CHAIN_OFFER_LIST_EXPORT.DOGE:testnetonDOGE:testnetat height67989993VM_LINT_DESTRUCTURE_ACTIVATION.BTC:testnetonBTC:testnetat height156230VM_LINT_DESTRUCTURE_ACTIVATION.LTC:testnetonLTC:testnetat height4912984VM_LINT_DESTRUCTURE_ACTIVATION.DOGE:testnetonDOGE:testnetat height67989993GOV_TALLY_FAILOVER_ACTIVATION.BTC:testnetonBTC:testnetat height156230BRIDGE_PROOF_READY_SNAPSHOT_ACTIVATION.BTC:testnetonBTC:testnetat height156230BRIDGE_PROOF_READY_SNAPSHOT_ACTIVATION.LTC:testnetonLTC:testnetat height4912984BRIDGE_PROOF_READY_SNAPSHOT_ACTIVATION.DOGE:testnetonDOGE:testnetat height67989993LANDING_CLEAR_FRONTIER_ACTIVATION.BTC:testnetonBTC:testnetat height156230LANDING_CLEAR_FRONTIER_ACTIVATION.LTC:testnetonLTC:testnetat height4912984LANDING_CLEAR_FRONTIER_ACTIVATION.DOGE:testnetonDOGE:testnetat height67989993REORG_SNAPSHOT_ACTIVATION.BTC:testnetonBTC:testnetat height156230CROSS_CHAIN_OFFER_LIST_ENFORCEMENT.BTC:testnetonBTC:testnetat height156230CROSS_CHAIN_OFFER_LIST_ENFORCEMENT.LTC:testnetonLTC:testnetat height4912984CROSS_CHAIN_OFFER_LIST_ENFORCEMENT.DOGE:testnetonDOGE:testnetat height67989993FEDERATED_HUB_ACTIVATION.BTC:testnetonBTC:testnetat height156230FEDERATED_HUB_ACTIVATION.LTC:testnetonLTC:testnetat height4912984FEDERATED_HUB_ACTIVATION.DOGE:testnetonDOGE:testnetat height67989993Release v0.23.0
Base:
masterat5bc40e57990ff6a40fa7b7e0a71f8355695173ecHead:
release/v0.23.0atc06ee3563047d74ac023d04260fe45ff167593b0Landed refs