Conversation
cyber-pc
commented
Jun 10, 2026
Collaborator
- Decrease ADDITION_SOLUTION_THRESHOLD_DEFAULT to 74300
- Decrease HYPERIDENTITY_SOLUTION_THRESHOLD_DEFAULT to 313
- Mark contractProcessorState as volatile to defensively prevent load hoisting
- IPO of contract GGWP (WolfPack) if proposal accepted
- Update RANDOM contract
#912) * feat(GGWP): WolfPack contract — exec-fee reserve, governance, weekly payout, staking fees GGWP (WolfPack) revenue-distribution & staking contract, based on qubic/core develop. - Weekly revenue distribution in END_EPOCH: 70% GGWP holders / 10% SC shareholders (via qpi.distributeDividends) / 10% rank-weighted clan / 9% reinvest / 1% exec-fee reserve - Self-sustainability: exec-fee reserve fed by the 1% cut + stake (900 QU) / unstake (900 QU) fees - Shareholder governance: change admin/reinvest address by >51% of the 676 SC shares, up to 8 concurrent proposals, live voting power via qpi.numberOfShares - Anti-dust: min eligible holder balance (10k), min stake (500k), unstake leaves 0 or >=500k - FinalizeUnstake/ClaimStakingRewards: caller funds the QX release fee - contract_def: GGWP construction epoch 218 (proposal 216, IPO 217) - 51/51 unit tests passing (Linux x86_64 / clang) * fix(GGWP): satisfy contract verifier (no string literals, no '/' operator) - static_assert: drop the message string (verifier disallows string literals) - GetGovProposal: requiredShares uses div(...) instead of the '/' operator Verified locally with qubic-contract-verify: "Contract compliance check PASSED". * fix(GGWP): compact govVoteMap once per epoch (cleanupIfNeeded) Addresses review feedback on PR #912: govVoteMap accumulates tombstones from withdrawn/superseded votes (removeByKey). Adding it to the END_EPOCH cleanup block reclaims those slots, consistent with the other state maps.
* 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 --------- Co-authored-by: double-k-3033 <double-k-3033@users.noreply.github.com> Co-authored-by: N-010 <N-010@users.noreply.github.com> Co-authored-by: Franziska Mueller <11660876+Franziska-Mueller@users.noreply.github.com>
…oisting. Without volatile, the C++ standard permits the compiler to hoist the spin-loop load into a register, leaving the loop body with no memory access. clang 14 -O2 does this; modern clang and MSVC happen not to via an internal heuristic but the standard does not require them to stay conservative.
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.