Skip to content

fix: thread --announce-only through stake/liquidity/crowd submission paths#899

Open
bitloi wants to merge 4 commits intolatent-to:stagingfrom
bitloi:fix/issue-2-announce-only-stake-liquidity-crowd
Open

fix: thread --announce-only through stake/liquidity/crowd submission paths#899
bitloi wants to merge 4 commits intolatent-to:stagingfrom
bitloi:fix/issue-2-announce-only-stake-liquidity-crowd

Conversation

@bitloi
Copy link
Copy Markdown
Contributor

@bitloi bitloi commented Apr 3, 2026

Closes #898

--announce-only was accepted at the CLI layer but dropped on multiple stake/liquidity/crowd paths before extrinsic submission.

This change:

  • threads announce_only from CLI handlers into downstream command functions
  • passes announce_only to sign_and_send_extrinsic / sign_and_send_batch_extrinsic
  • fixes the interactive unstake -> unstake_all path to forward proxy + announce_only
  • keeps announce-only behavior consistent by disabling MEV shielding when announcing
  • adds regression tests for CLI forwarding and command-level forwarding across stake, liquidity, and crowd flows

@bitloi bitloi changed the base branch from main to staging April 3, 2026 00:36
@bitloi bitloi force-pushed the fix/issue-2-announce-only-stake-liquidity-crowd branch 2 times, most recently from ca5ba97 to 30fc840 Compare April 3, 2026 01:04
@bitloi bitloi force-pushed the fix/issue-2-announce-only-stake-liquidity-crowd branch from b4807ac to c420a37 Compare April 3, 2026 02:35
…unce-only-stake-liquidity-crowd

# Conflicts:
#	tests/unit_tests/test_stake_add.py
@bitloi
Copy link
Copy Markdown
Contributor Author

bitloi commented Apr 6, 2026

@ibraheem-abe Thanks for your review. I just fixed the conflict, would you please review this PR as well?

Copy link
Copy Markdown
Contributor

@thewhaleking thewhaleking left a comment

Choose a reason for hiding this comment

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

LGTM but want @ibraheem-abe to verify

@ibraheem-abe
Copy link
Copy Markdown
Contributor

The forwarding looks right to me, but I think the success UX is still a bit off for --announce-only.

In that mode we’re only submitting Proxy.announce, not actually executing the underlying stake/liquidity/crowd call yet.
Execution only happens later.

Some of these paths still seem to report success as if the real action already happened, which feels misleading.
(For example, stake added, crowdloan funded etc)

Ideally we should branch the success handling for announce_only=True so we say “announcement submitted” instead of showing finalized-style messaging for the underlying operation (Eg: Stake added, Stake removed).

A disclaimer might be useful too in cases where we interact with staking calls and show the slippage table etc
(eg: this is the expected receivable xyz right now; not guaranteed when the call actually executes)

@thewhaleking wdyt

@thewhaleking
Copy link
Copy Markdown
Contributor

The forwarding looks right to me, but I think the success UX is still a bit off for --announce-only.

In that mode we’re only submitting Proxy.announce, not actually executing the underlying stake/liquidity/crowd call yet. Execution only happens later.

Some of these paths still seem to report success as if the real action already happened, which feels misleading. (For example, stake added, crowdloan funded etc)

Ideally we should branch the success handling for announce_only=True so we say “announcement submitted” instead of showing finalized-style messaging for the underlying operation (Eg: Stake added, Stake removed).

A disclaimer might be useful too in cases where we interact with staking calls and show the slippage table etc (eg: this is the expected receivable xyz right now; not guaranteed when the call actually executes)

@thewhaleking wdyt

Now that you mention it, that is probably why I didn't fully implement this.

@ibraheem-abe
Copy link
Copy Markdown
Contributor

ibraheem-abe commented Apr 7, 2026

The forwarding looks right to me, but I think the success UX is still a bit off for --announce-only.
In that mode we’re only submitting Proxy.announce, not actually executing the underlying stake/liquidity/crowd call yet. Execution only happens later.
Some of these paths still seem to report success as if the real action already happened, which feels misleading. (For example, stake added, crowdloan funded etc)
Ideally we should branch the success handling for announce_only=True so we say “announcement submitted” instead of showing finalized-style messaging for the underlying operation (Eg: Stake added, Stake removed).
A disclaimer might be useful too in cases where we interact with staking calls and show the slippage table etc (eg: this is the expected receivable xyz right now; not guaranteed when the call actually executes)
@thewhaleking wdyt

Now that you mention it, that is probably why I didn't fully implement this.

Should effort be made to add this branching right now or during/after V10?
We probably need to handle this cmd to cmd basis as well if we wanna have a great UX for this module.

@bitloi
Copy link
Copy Markdown
Contributor Author

bitloi commented Apr 7, 2026

@thewhaleking @ibraheem-abe Do you want me to add announce-only success messaging in this PR or as a follow-up?

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.

bug: --announce-only is silently dropped in stake/liquidity/crowd commands

3 participants