Repository navigation
Release v1.301.0 - #967
Merged
Merged
Release v1.301.0#967
Conversation
Franziska-Mueller
commented
Jul 28, 2026
Contributor
- Add Bpp9000 mining algorithm
- Add outsourced computations (OC) consensus
- Refactoring of qpi.h into multiple subheaders for better maintainability
- QIP SC update (approved in epoch 221)
- bug fix for Random SC
) Three test-only failures in test/contract_qraffle.cpp: - TokenRaffle_WinnerReceivesTokensMinusFees / TokenRaffle_DepositSlotFull used system.epoch = 5, below QRAFFLE's construction epoch (192). Below that epoch, qpi.acquire/releaseShares reject handing token management to QRAFFLE, so every depositInTokenRaffle() fails. Use epoch 200/201. - InitialRegisters_CannotLogout invoked logout for the 5 bootstrap register IDs, which INITIALIZE seeds into contract state but not the spectrum. invokeUserProcedure bails before running when the invocator is absent from the spectrum, leaving output zeroed (== QRAFFLE_SUCCESS), so the expected QRAFFLE_INITIAL_REGISTER_CANNOT_LOGOUT never appeared. increaseEnergy() to place each ID in the spectrum. - TokenRaffle_WinnerReceivesTokensMinusFees expected-winner formula ignored that the winner is itself a DAO register and thus receives one registerPerShare slice from the END_EPOCH register-fee redistribution on top of the winner payout. Add + registerPerShare. Full ContractQraffle suite: 78/78 pass. Co-authored-by: double-k-3033 <double-k-3033@users.noreply.github.com>
* move qpi to its own qpi folder, create qpi sub headers * split all code from qpi.h into new sub headers * move all qpi_*_impl headers into their own qpi/impl folder * move ContractBase from qpi_context to qpi_types * remove old files from vcxproj
* qip second update * reset contract state * transferRightsFee initialization in begin epoch * 224 epoch * smul() instead of multiplication
* fix: entropy index problem and unregistered function problem * feat: add test file * fix: refund on invalid BuyEntropy inputs; always clear reveal slot - BuyEntropy: add missing else branch so invalid inputs (bad tier, zero/oversize bits, underpaid fee) refund the full invocation reward instead of silently keeping it. - END_TICK: move reveals.set(..., zeroReveal) out of the a no-show aren't permanently locked out. * fix: correct BuyEntropy output format and refund overpayment Change BuyEntropy_output.entropy from Array<bit_4096,32> to a single bit_4096, copy the first numberOfBits bits, and refund any payment beyond numberOfBits*100 instead of silently keeping it. Co-Authored-By: N-010 <N-010@users.noreply.github.com> * fix: hold provider collateral until reveal Rework the collateral lifecycle so a provider's stake stays locked from commit until they reveal: - refund the stake on a valid reveal, slash (burn) it on a no-show - reject an empty commit before any state change to avoid double refund - stop paying silent providers from the treasury at END_TICK Adds lockedCollateralAmounts and revealedThisTickFlags state, and gtests covering the collateral lifecycle. * fix: const and padding problem * fix: const issue * fix: empty tick problem * feat: add new variable to BuyEntropy for trust * fix: check trustee in buyentropy * update comment * fix: reject transaction from SC * fix: commit and reveal in same tick * fix: re-enroll evicted RANDOM provider on reveal to prevent stream lockout * feat: allow safe unsubscribe from RANDOM via reveal + empty commit * feat: add RANDOM GetProviderStatus query; revert silent re-enroll (08fea1c) --------- Co-authored-by: double-k-3033 <double-k-3033@users.noreply.github.com> Co-authored-by: N-010 <N-010@users.noreply.github.com>
* Add OcEngine, OC auth transaction, and interface registry * Expose OC invocation to contracts via QPI (INVOKE_OC, getOcInvocationStatus) * Wire OcEngine into the node: tx type 13, tick processing, auth signature broadcast, snapshots * Add QUtil TriggerOC/TriggerOCBatch procedures for Mock OC end-to-end testing * Add OcEngine tests and build registration * Add logging for OC Machinery * Increase offset and timeout of OC * Replace one-shot scheduledBy bitmap with edge-triggered auth tx reschedule (lastScheduledTick, timeout 5->12) * Route OC invocation fee through per-interface fee function table in __qpiInvokeOC * Trim oc_engine.h comments * Move QUtil OC batch bound to file-scope QUTIL_MAX_OC_BATCH_COUNT for contract-verify compliance * Add OC_INVOCATION_STATUS_CHANGE log event (type 16) for OC invocation status transitions * Remove TriggerOCBatch batch OC invocation procedure from QUtil
…963) RevealAndCommit rejects invalid/stale calls silently (refund only, no signal), so an off-chain client had no way to tell whether a submitted tx actually took effect. lastUpdateTick stamps the tick of the last accepted RevealAndCommit per provider slot, surfaced via GetProviderStatus: a client compares it to the tick it submitted in to tell acceptance from rejection. Co-authored-by: double-k-3033 <double-k-3033@users.noreply.github.com>
* Remove HyperIdentity and add reference bpp9000 mining algo. * Change mining solution protocol - Add score field into solution message and transaction - Miner ranking is ranked by best score and tick number as tie-breaker * Update the POPULATION_THRESHOLD * Nonce[0] value will indicate the running algo. * Disable anti-attractor until the ant colony. * Turn off mining seed rotation. * Add load task file for bpp9000. * Update bpp9000 unittest. * F3 will print best score miner. * Add training data for bpp9000 - TrainingData: Jan 1 2025 00:00 UTC, 8760 deltas - Topology: topo-seed 0x62707039303030 * Fix the synthesic generation for profiling. * Speedup for score_bpp9000. * ScoreBpp9000: replace align with unaligned store/load. * Turn off profiling of score. * Fix memcpy generation from MSVC. --------- Co-authored-by: cyber-pc <cyber-pc@blue-pc.localhost>
…958) Co-authored-by: qct-security-bot <security@qubic.li>
Contributor
|
lgmt |
cyber-pc
previously approved these changes
Jul 28, 2026
cyber-pc
approved these changes
Jul 29, 2026
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.