-
Notifications
You must be signed in to change notification settings - Fork 92
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
Implement RingCT Staking #1019
base: master
Are you sure you want to change the base?
Implement RingCT Staking #1019
Commits on Oct 30, 2022
-
[Refactor] SetOutputs, ArrangeOutBlinds
Moves some functionality for creating RingCT transactions into helper functions. Removes a duplicate error for when setting a fee of 0 fails. (Later we will attempt to set a fee of nFeeRet, which would be 0 in this case anyway.)
Configuration menu - View commit details
-
Copy full SHA for 188bd83 - Browse repository at this point
Copy the full SHA 188bd83View commit details -
[Refactor] Parameterize CreateCoinStake.
Change CreateTxOuts to create the actual TxOut pointers rather than fill a list of TxOuts and separately extract the pointers.
Configuration menu - View commit details
-
Copy full SHA for 43d50f7 - Browse repository at this point
Copy the full SHA 43d50f7View commit details -
This sets up a basic but incomplete implementation of CreateRingCTStake. Includes a weighting function that groups coins into buckets along powers of 16 sats, where the weight of the coin would be equal to the smallest value in the bucket regardless of the actual value of the coin.
Configuration menu - View commit details
-
Copy full SHA for 01c1ae9 - Browse repository at this point
Copy the full SHA 01c1ae9View commit details -
Configuration menu - View commit details
-
Copy full SHA for e67ccd2 - Browse repository at this point
Copy the full SHA e67ccd2View commit details -
Refactor out the necessary vectors to store separately in the stakeinput, since we need them from both the input blinds and the output blinds.
Configuration menu - View commit details
-
Copy full SHA for b5366b0 - Browse repository at this point
Copy the full SHA b5366b0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3c258cc - Browse repository at this point
Copy the full SHA 3c258ccView commit details -
RingCT: Refactor to isolate input/output handling.
And allow static allocation of the context structs.
Configuration menu - View commit details
-
Copy full SHA for ba6ad67 - Browse repository at this point
Copy the full SHA ba6ad67View commit details -
RingCT staking params and fixes
Move COutputR to a common location. Hold a copy of COutputR in RingCTStake for its lifetime. Handle other memory lifetime issues.
Configuration menu - View commit details
-
Copy full SHA for 66f7e40 - Browse repository at this point
Copy the full SHA 66f7e40View commit details -
Configuration menu - View commit details
-
Copy full SHA for d9ebfd2 - Browse repository at this point
Copy the full SHA d9ebfd2View commit details -
Configuration menu - View commit details
-
Copy full SHA for e588f97 - Browse repository at this point
Copy the full SHA e588f97View commit details -
Configuration menu - View commit details
-
Copy full SHA for ce5daef - Browse repository at this point
Copy the full SHA ce5daefView commit details -
Configuration menu - View commit details
-
Copy full SHA for f14b4c3 - Browse repository at this point
Copy the full SHA f14b4c3View commit details -
Configuration menu - View commit details
-
Copy full SHA for d971e6c - Browse repository at this point
Copy the full SHA d971e6cView commit details -
RingCT: Correctly mark pending spends.
Add a helper class for resetting pending spends.
Configuration menu - View commit details
-
Copy full SHA for a4b064f - Browse repository at this point
Copy the full SHA a4b064fView commit details -
RingCT Stake: verify block signature
and unmark pending spends if the block is not created.
Configuration menu - View commit details
-
Copy full SHA for 3b423c6 - Browse repository at this point
Copy the full SHA 3b423c6View commit details -
RingCT stake: Move rewards to coinbase.
- Provide the txCoinbase to the CoinStake object for filling out further if necessary. (Originally, so that we could reference them in the coinstake, but this won't be necessary if we make them ringct to begin with. Still, it's easier to have in one place.) - Fix two misc error() calls that were broken. - Use blind_sum and verify_tally to confirm that the anon coin rewards sum to the expected number.
Configuration menu - View commit details
-
Copy full SHA for 727d150 - Browse repository at this point
Copy the full SHA 727d150View commit details -
RingCT stake: accept and load the block
Remove some debugging statements and other cleanup.
Configuration menu - View commit details
-
Copy full SHA for 986c7a5 - Browse repository at this point
Copy the full SHA 986c7a5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4787fba - Browse repository at this point
Copy the full SHA 4787fbaView commit details -
RingCT Staking: Make hash proof match.
- Stake uniqueness is the hash of the public key of the input. - Stake indexfrom is the block index at the minimum stake depth.
Configuration menu - View commit details
-
Copy full SHA for 52e904f - Browse repository at this point
Copy the full SHA 52e904fView commit details -
RingCT Stake: Rangeproof the min. allowed weight.
As the stake weight controls the hash difficulty ceiling, we can simply choose the lowest bracket in which the stake hash comes under the ceiling, and use that as our rangeproof min_value for added privacy. - Fix overflow detection when multiplying arith_uint256. Otherwise regtest stake targets can be a little wonky. - Remove an unnecessary back-and-forth cast to uint256. - The RingCT stake bracket weights are basically constants, so do that.
Configuration menu - View commit details
-
Copy full SHA for 9156bd4 - Browse repository at this point
Copy the full SHA 9156bd4View commit details -
Add enable_wallet guards to similar places as existing ones. Remove unused stake functions from early attempts.
Configuration menu - View commit details
-
Copy full SHA for d6af2ec - Browse repository at this point
Copy the full SHA d6af2ecView commit details -
Configuration menu - View commit details
-
Copy full SHA for fae067a - Browse repository at this point
Copy the full SHA fae067aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4b7e21f - Browse repository at this point
Copy the full SHA 4b7e21fView commit details
Commits on Nov 5, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 037b458 - Browse repository at this point
Copy the full SHA 037b458View commit details
Commits on Jan 14, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 89822cb - Browse repository at this point
Copy the full SHA 89822cbView commit details