Skip to content

Add GGWP (WolfPack) revenue distribution & staking contract#880

Open
MZoxx wants to merge 5 commits into
qubic:developfrom
MZoxx:feature/2026-05-18-ggwp-contract
Open

Add GGWP (WolfPack) revenue distribution & staking contract#880
MZoxx wants to merge 5 commits into
qubic:developfrom
MZoxx:feature/2026-05-18-ggwp-contract

Conversation

@MZoxx
Copy link
Copy Markdown
Contributor

@MZoxx MZoxx commented May 18, 2026

GGWP is a revenue-distribution and staking smart contract:

  • Daily revenue payout at 11:00 UTC, split 70/10/10/10: GGWP token holders, SC shareholders (676 IPO shares), rank-weighted clan members, and a hardcoded reinvestment address.
  • Staking: Made for 100M WP tokens; total 52 EP;GGWP holders stake tokens for per-epoch rewards; unstaking has a 2-epoch delay.
  • Holder and shareholder snapshots are taken at BEGIN_EPOCH.

Registered at contract index 28, construction epoch 216 (proposal in epoch 214, IPO in 215, construction and first use in 216).

Files: src/contracts/GGWP.h, test/contract_ggwp.cpp, registration in src/contract_core/contract_def.h, and the Visual Studio project files.

GGWP.h passes the Qubic Contract Verification Tool.

MZoxx and others added 2 commits May 18, 2026 09:02
GGWP is a revenue-distribution and staking smart contract:
- Daily revenue payout at 11:00 UTC, split 70/10/10/10: GGWP token
  holders, SC shareholders (676 IPO shares), rank-weighted clan
  members, and a hardcoded reinvestment address.
- Staking: GGWP holders stake tokens for per-epoch rewards;
  unstaking has a 2-epoch delay.
- Holder and shareholder snapshots are taken at BEGIN_EPOCH.

Registered at contract index 28, construction epoch 216
(proposal in epoch 214, IPO in 215, construction and first use in 216).

Files: src/contracts/GGWP.h, test/contract_ggwp.cpp, registration in
src/contract_core/contract_def.h, and the Visual Studio project files.

GGWP.h passes the Qubic Contract Verification Tool.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- SetExcludeAddress test fixed (expects correct error code)
- StakingRewardCappedByPool test fixed (bounded checks)
- Contract index 28 configured
- Full revenue distribution and staking functionality tested
- Ready for qubic/core deployment
@Franziska-Mueller Franziska-Mueller requested review from Franziska-Mueller and cyber-pc and removed request for Franziska-Mueller May 26, 2026 10:51
Comment thread src/contracts/GGWP.h Outdated
Comment thread src/contracts/GGWP.h Outdated
MZoxx added 2 commits May 28, 2026 13:30
…w in staking

Security:
- Deprecate SetAdmin procedure (always rejects) to prevent NULL_ID attacks
- Admin address is now immutable, hardcoded to token issuer at INITIALIZE
- Token issuer address: MLMWPSQNVAIBRFDHWCKSFOVUAZDDWKJGCLRSYZIUEFDURPWIPQXACYOEPMLB

Correctness:
- Cast quotient to uint128 in staking reward calculation to prevent overflow
- Reward: ((uint128)quotient * (uint128)stakerTokens).low

Tests:
- Updated SetAdmin tests to verify deprecation
- Added AdminImmutable test to verify immutable admin
- Added StakingRewardOverflowEdgeCase test for overflow protection
- All 39 tests passing

Resolves GitHub review comments on adminAddress NULL_ID and uint128 overflow issues.
ID constructor takes 56 arguments (28 bytes), checksum validation
happens separately in the Qubic runtime.
Comment thread src/contracts/GGWP.h
Comment thread test/contract_ggwp.cpp
Comment thread test/contract_ggwp.cpp
Comment thread test/contract_ggwp.cpp
Comment thread test/contract_ggwp.cpp
@MZoxx MZoxx force-pushed the feature/2026-05-18-ggwp-contract branch from ee93b99 to e736790 Compare May 28, 2026 08:54
Comment thread src/contract_core/contract_def.h Outdated
- Proposal: Epoch 215
- IPO: Epoch 216
- Construction/Live: Epoch 217

Co-Authored-By: Haiku 4.5 <noreply@anthropic.com>
@MZoxx MZoxx force-pushed the feature/2026-05-18-ggwp-contract branch from 1239724 to 5f60ec3 Compare May 28, 2026 09:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants