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

[Consensus] Max payment count for budget proposals #2101

Merged

Conversation

random-zebra
Copy link

Set it to 6 on main-net and 20 on testnet.
Consider "expired" a proposal 1 and a half cycles after the last payment (instead of 1 cycle + a number of blocks equal to the number of payments) and enforce that block start is a superblock (currently checked only in the RPC, but not in consensus).
Update the functional test to check improper inputs during the creation of a budget proposal.

Also fix a bug with invalid total budget amount on testnet.

@random-zebra random-zebra added Budget/Proposal System Needs Backport Placeholder tag for anything needing a backport to prior version branches Consensus labels Dec 22, 2020
@random-zebra random-zebra added this to the 5.0.0 milestone Dec 22, 2020
@random-zebra random-zebra self-assigned this Dec 22, 2020
@random-zebra random-zebra force-pushed the 202012_proposal-max-payments branch 2 times, most recently from 5f47a82 to 44ef66a Compare December 22, 2020 18:08
furszy
furszy previously approved these changes 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.

code review ACK f5f8bd9, looking good.

Would be good to prepare a test to verify the proposal removal after the last payment.

-BEGIN VERIFY SCRIPT-
sed -i 's/alloted/allotted/g' src/*/*.h src/*/*.cpp test/functional/*.py ;
sed -i 's/Alloted/Allotted/g' src/*/*.h src/*/*.cpp test/functional/*.py ;
-END VERIFY SCRIPT-
the cycle is 144 blocks, not 146.
Use the available GetBlockValue/nBudgetCycleBlocks, instead of
hardcoding the constants.

Note: GetTotalBudget should consider the possibility of changes to the
block value, between consecutive superblocks.
Since the chain already passed the last reduction, and the block value
is fixed at 5, we can leave this as is for now.
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.

reviewed one more time, ACK bdfaaed .

Note: The available budget per cycle in testnet has been drastically decreased. Same rules as mainnet were applied.

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.

Code ACK bdfaaed

@Fuzzbawls Fuzzbawls merged commit 9d95c16 into PIVX-Project:master Dec 27, 2020
Fuzzbawls pushed a commit to Fuzzbawls/PIVX that referenced this pull request Dec 27, 2020
Fuzzbawls pushed a commit to Fuzzbawls/PIVX that referenced this pull request Dec 27, 2020
Fuzzbawls pushed a commit to Fuzzbawls/PIVX that referenced this pull request Dec 27, 2020
Fuzzbawls pushed a commit to Fuzzbawls/PIVX that referenced this pull request Dec 27, 2020
Fuzzbawls pushed a commit to Fuzzbawls/PIVX that referenced this pull request Dec 27, 2020
-BEGIN VERIFY SCRIPT-
sed -i 's/alloted/allotted/g' src/*/*.h src/*/*.cpp test/functional/*.py ;
sed -i 's/Alloted/Allotted/g' src/*/*.h src/*/*.cpp test/functional/*.py ;
-END VERIFY SCRIPT-

Github-Pull: PIVX-Project#2101
Rebased-From: 72abccf
Fuzzbawls pushed a commit to Fuzzbawls/PIVX that referenced this pull request Dec 27, 2020
the cycle is 144 blocks, not 146.
Use the available GetBlockValue/nBudgetCycleBlocks, instead of
hardcoding the constants.

Note: GetTotalBudget should consider the possibility of changes to the
block value, between consecutive superblocks.
Since the chain already passed the last reduction, and the block value
is fixed at 5, we can leave this as is for now.

Github-Pull: PIVX-Project#2101
Rebased-From: bdfaaed
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.

None yet

3 participants