XChain Platform v0.15.3
XChain Platform v0.15.3
A patch train. xchain-node, xchain-indexer, xchain-sync, xchain-sdk and xchain-explorer move to 0.15.3; xchain-hub stays at 0.15.2 and the other seven components keep the tags they shipped under in v0.15.0. The pinned set is src/release-manifest.json at this tag; the signed artifact set and SHA256SUMS.asc are attached.
Order-independent chunked contract deployment
A contract whose source does not fit one transaction is deployed as chunk carriers plus an assembling DEPLOY, and the indexer assembled it only at the assembler's position from carriers already confirmed below it, so a group whose pieces confirmed out of order, including a correctly sequenced one that a reorg re-packed, failed permanently and burned its fee. A chunk group now deploys exactly once, in the block where its last piece confirms, whatever order the pieces arrived in: an assembling DEPLOY that lands early is held pending with its base fee paid, and the contract takes the index and address of the piece that completed it.
- The explorer's DEPLOY detail reports which action deployed the contract and whether the assembly is still pending (
deployed_contract_index,assembly_status), and the completing carrier's page shows the deploy card. - The SDK's deploy workflow resolves the contract through that field, and
workflows.resolveDeployedContract(actionIndex)is public for clients that resume after a reorg. - The sync follower's schema version moves to 8 for the two new
contract_executionscolumns. - Activation: genesis on mainnet and regtest; testnet from 2026-09-10 00:00:00 UTC. Every testnet indexer must run this release before that instant.
- Correction (v0.15.5): the testnet instant was brought forward to 2026-09-08 12:00:00 UTC by v0.15.5; testnet indexers must run v0.15.5 before that instant.
Price-batch reconciliation read
A hub deciding whether it still owed the chain a price batch could only guess, so windows the chain already carried were re-proposed every hour. The indexer now answers getpricebatches (which oracle rounds in a range already ride a valid PRICE batch), so a hub can skip re-publishing them.
Upgrade notes
Roll indexers before the explorer on every venue: the v0.15.3 explorer reads the new execution columns unconditionally. Do not roll the v0.15.3 sync client onto a replica that has already applied a later schema.