Skip to content

Add GGWP (WolfPack) contract commands to qubic-cli#125

Open
MZoxx wants to merge 3 commits into
qubic:mainfrom
MZoxx:feature/2026-05-18-ggwp-commands
Open

Add GGWP (WolfPack) contract commands to qubic-cli#125
MZoxx wants to merge 3 commits into
qubic:mainfrom
MZoxx:feature/2026-05-18-ggwp-commands

Conversation

@MZoxx

@MZoxx MZoxx commented May 18, 2026

Copy link
Copy Markdown
Contributor

Adds CLI support for the GGWP (WolfPack) revenue-distribution and staking smart contract:

  • Read: status, holder/clan/shareholder/staking info, exclude
    info, distribution preview
  • Admin: deposit revenue, add/remove clan member, set clan rank,
    set admin, set exclude address
  • Staking: stake, request/finalize unstake, deposit staking rewards,
    claim staking rewards

Adds CLI support for the GGWP (WolfPack) revenue-distribution and
staking smart contract:
- Read:    status, holder/clan/shareholder/staking info, exclude
           info, distribution preview
- Admin:   deposit revenue, add/remove clan member, set clan rank,
           set admin, set exclude address
- Staking: stake, request/finalize unstake, deposit staking rewards,
           claim staking rewards

New files ggwp.cpp / ggwp.h; command parsing in argparser.h, dispatch
in main.cpp, command enum in structs.h, globals in global.h, build
entry in CMakeLists.txt, and a [WOLFPACK COMMANDS] section in both the
-help output and README.md. Builds cleanly against current main.
@cyber-pc

Copy link
Copy Markdown
Collaborator

@MZoxx Do you need to update this PR to adapt to the change in core ?

@cyber-pc cyber-pc self-assigned this Jun 24, 2026
@cyber-pc cyber-pc added this to qubic Jun 24, 2026
@cyber-pc cyber-pc removed their assignment Jun 24, 2026
@cyber-pc cyber-pc removed this from qubic Jun 24, 2026
MZoxx added 2 commits June 25, 2026 16:10
WP_CONTRACT_INDEX was 27 (Escrow); the live WolfPack contract is index 28. Add WP_STAKE_FEE/WP_FINALIZE_FEE/WP_CLAIM_FEE constants for the contract-enforced invocation-reward fees.
wpStake/wpFinalizeUnstake/wpClaimStakingRewards sent invocationReward 0, which the contract rejects (INSUFFICIENT_FEE). Send 900/1000/100 QU respectively. Fix the stake LOG hint to newMgmtIdx 28.
Comment thread argparser.h
printf("\t\tShow WolfPack exclude addresses (slot 1 and slot 2).\n");
printf("\t-ggwpdistpreview <AMOUNT>\n");
printf("\t\tPreview distribution split for AMOUNT QU (calls WP fn 7).\n");
printf("\t-ggwpdeposit <amount>\n");

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: it would be consistent if you spelled AMOUNT all caps here, dito for some other parameters below (rank, slot,...)

Comment thread ggwp.h
// ─── Input/Output structs ──────────────────────────────────────

// fn 1 – GetStatus
struct WPGetStatus_output

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we have core as a submodule in the cli, can you try to use the structs from core directly instead of duplicating them? (let me know if there are issues due to includes)

@Franziska-Mueller Franziska-Mueller removed the request for review from cyber-pc June 25, 2026 15:25
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.

3 participants