Release v0.15.0 - xchain-contracts - #8
Merged
Merged
Conversation
Levelling develop with master, the ceremony step that closes a train. Commits that reach master without coming back leave the branch all work lands on missing what shipped, so the next diff off develop reads as though it never happened.
Levelling develop with master, the ceremony step that closes a train. Commits that reach master without coming back leave the branch all work lands on missing what shipped, so the next diff off develop reads as though it never happened.
…oors One wave of the review round on the xchain-platform board. Every change was re-derived from the code rather than applied from the finding recommended option, and each carries a control that reproduces the original failure. Review findings: 6388 6488 6529 ca79ba05c460 f503a7be019a
The library asserted that BATCH(DEPOSIT, EXECUTE) settles atomically, which the component doc and the user guide both contradict. Confirmed empirically before any doc was touched: a new AMM test shows a reverted swap leaves its batched DEPOSIT stranded (contract holds 1100 AAA with reserveA still 1000) and the next trader is then priced on the inherited balance. Corrects the front-door README and every BATCH-scope claim across ten templates plus five test-helper comments, leaving all intra-EXECUTE uses of "atomic" alone, since a method's state writes and its deferred emissions genuinely do commit together. Two sites needed more than a reword: crowdsale.js rested a safety argument on the false premise, and amm.js stated a real requirement in words asserting a guarantee the VM does not provide. The recommended CI drift guard was deliberately NOT built: implementing its predicate over the corrected tree returns 22 hits, 21 of them the corrective sentence the same proposal prescribes, so its only stable green state is deleting the warning. Review round 7 cluster 6d1196778298 (findings #6817, #6818). Also carries review round 6's contracts work.
Review-round fixes. The card dispenser and both auction templates accepted a positive-looking quantity at deploy and emitted it verbatim at settle, while the indexer re-quantises to the token's decimals: a fractional unit on a zero-decimal token delivers nothing and the payment is still taken. The quantity is now validated against the token's decimal precision at deploy and at emission. The timed price bet anchored a matched bet to a round cursor whose validity against the indexer's history window was never maintained, so acceptance could anchor to an already-evicted tip and settlement could not advance the cursor before eviction. One invariant, enforced at both seams. Suite: 433 passing, 0 failing (run on Linux; the isolated VM binding does not load on macOS from the shared install).
…ted-vm build failure The VM pins process.versions.modules to 127, so results taken on another major are not the fleet engine. isolated-vm resolves a prebuilt binding per ABI now, so the old "cannot build on 24" reasoning no longer holds.
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.
Cuts xchain-contracts for the v0.15.0 release train. 9 commits from master.
Fixed
buy()now reverts when the decayed asking price floors below one unit of the bid token's decimal grid, closing a path that handed the item to a caller who paid nothing.accept()now refuses a match on a pair with no readable oracle tip, closing a path where the scan cursor started below the host's preload floor and locked both stakes permanently.englishAuction/README.md).BATCH(DEPOSIT, EXECUTE)is not atomic, and a revertedEXECUTEleaves theDEPOSITstanding; "atomic" now means only the intra-EXECUTEstate-and-emission scope.amm.test.jspins it: a revertedswap()leaves its deposit in pool custody and the next trader is credited it.