Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG][GUI] Don't return StakingOnlyUnlocked from WalletModel::sendCoins #2104

Conversation

random-zebra
Copy link

@random-zebra random-zebra commented Dec 23, 2020

Bug found in current master.
Steps to reproduce

  1. Unlock the wallet for staking only.
  2. Try to send a transaction
  3. The wallet asks to insert the password (to fully unlock).
  4. Insert the password, and then accept the confirmation dialog.

Issue:
Instead of sending the tx, the wallet asks again for the password, and still doesn't send the transaction (without any feedback) even when the password is entered a second time.

Cause:
By the time the flow reaches WalletModel::sendCoins, the UnlockContext is lost, and the wallet has been relocked (for staking only) already.
This is correct, as the transaction is created and signed in WalletModel::prepareTransaction, and sendCoins only commits the transaction, therefore it doesn't need a fully-unlocked wallet.

The function, though, currently returns early with return value SendCoinsReturn::StakingOnlyUnlocked, if the wallet is unlocked for-staking-only, and the transaction isn't sent.

Fix:
Simply remove the un-needed check in sendCoins.

@random-zebra random-zebra added GUI Bug Needs Backport Placeholder tag for anything needing a backport to prior version branches labels Dec 23, 2020
@random-zebra random-zebra added this to the 5.0.0 milestone Dec 23, 2020
@random-zebra random-zebra self-assigned this Dec 23, 2020
Copy link

@furszy furszy left a comment

Choose a reason for hiding this comment

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

Nice catch, quite clear. ACK f79a00d .

Copy link
Collaborator

@Fuzzbawls Fuzzbawls left a comment

Choose a reason for hiding this comment

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

ACK f79a00d

@random-zebra random-zebra merged commit b9665fb into PIVX-Project:master Dec 24, 2020
Fuzzbawls pushed a commit to Fuzzbawls/PIVX that referenced this pull request Dec 27, 2020
random-zebra added a commit that referenced this pull request Dec 28, 2020
41abf5a clear StakeableCoins before initializing (PeterL73)
3de9861 [Policy] Set DEFAULT_SHIELDEDTXFEE_K to 100 (from 1000) (random-zebra)
4a8e571 [BUG] Fix total budget on testnet (random-zebra)
4285bee scripted-diff: Fix "alloted" typo (random-zebra)
107529b Tests: check getbudgetinfo / getbudgetprojection updated output (random-zebra)
495c546 Tests: check invalid RPC inputs in rpc_budget test (random-zebra)
723a41b Consensus: enforce that proposal BlockStart must be a superblock (random-zebra)
5fb488a Consensus: enforce proposal max payments (6 main-net / 20 test-net) (random-zebra)
6377883 [BUG][Tests] Fix remote nodes switched ports in PivxTier2TestFramework (random-zebra)
73864a0 Startup: move masternode port validation inside `initMasternode`. (furszy)
18e83cf Only return the tx hex string in rawdelegatestake (Fuzzbawls)
85d83b1 Further RPC help output cleanups (Fuzzbawls)
2c315a3 Only Return the transaction hex string in `rawshieldsendmany` (Fuzzbawls)
a6b3f77 [BUG][GUI] Cache unconfirmed_balance only for transparent outs (random-zebra)
d95f0ca [BUG][GUI] Don't return StakingOnlyUnlocked from WalletModel::sendCoins (random-zebra)
f17aabc [Trivial][GUI] coin control: Fixed column size in list-mode (random-zebra)
f3662f8 [GUI] Finally, fix duplicate records. (furszy)
1d95c40 [DOC] main readme, added latest release version and release date badges (furszy)
afcba75 [DOC] main readme, re-written to current project state. (furszy)
7fd9e62 [DOC] Readme, migrated staled travis badge for github actions status badge. (furszy)
227161b [Trivial][RPC] Drop 'ed' suffix from Shielded in TxSaplingToJSON (random-zebra)
ed8999a [GUI] send screen, hide shield all coins btn for now. (furszy)

Pull request description:

  further backports for the 5.0 branch:

  #2094
  #2093
  #2095
  #2096
  #2098
  #2104
  #2102
  #2097
  #2103
  #2101
  #2108
  #2109

ACKs for top commit:
  furszy:
    utACK 41abf5a
  random-zebra:
    utACK 41abf5a and merging...

Tree-SHA512: 34619594f6e87362f8760a24c39ef25e8acf856de258d1e40f5a1264381fb9e6f6210bcca2b1bc765a0366c7a4467d43c95147bf75f7c2d64d16ee3b41a9efb9
@random-zebra random-zebra removed the Needs Backport Placeholder tag for anything needing a backport to prior version branches label Dec 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants