- Get this branch:
-
git clone
-b 1-big
https://git.launchpad.net/wagerr-rebase
Branch merges
Related source package recipes
Branch information
- Name:
- 1-big
- Repository:
- lp:wagerr-rebase
Recent commits
- c1a454d... by celbalrai <email address hidden>
-
gitignore - vscode
Initial core Wagerr parameters and algorithms
- Load genesis block
- Set consensus parameters
- Block reward values
- PoW difficulty algorithmLoad POS blocks
- Add POS flags to CBlockIndex
- Set coinbase maturity to 10 for blocks with height < 10
- Skip time checks before Midas activation
- Add validation and signature functions
- Adapt block formatPOS changes that introduce the need for additional checks
- Skip nValue check for transactions on regular coinstakes
- Make sure coinstakes are properly checkedUpdate POS
Update Zerocoin
Adapt patches to Dash 0.17 code base
Update PoS rules to Wagerr
Disable accumulator check
Enable communication with legacy nodes
Legacy nodes only send blocks, not headers:
- Directly respond to block inv's with getdata requests
- Respond to out-of-order blocks with requests for connecting blocksAlso:
- Disable checking for deterministic (on-chain) MNs before they are enabled.Adapt sync process to Wagerr specific parameters
create a shared library to make creating wallets easier. (#1130)
* create a shared library whose API presents the complicated or time consuming functions needed for creating and sending transactions
Tests for shared library
Refactor Script interpreter as a "virtual machine" encapsulated by a class.
Refactor script interpreter into a virtual machine, add access via cashlib and python, and more precise script error reporting.
Add FindScriptPubKey() to search the UTXO set
Blockchain/RPC: Add scantxoutset method to scan UTXO set
scantxoutset: add support for scripts
scantxoutset: support legacy P2PK script type
scantxoutset: mention that scanning by address will miss P2PK txouts
Add scantxoutset test
scantxoutset: remove witness related code
Tokens - Andrew Stone's implementation
Set ATP parameters
Adapt tokengroup implementation to Wagerr style transaction references
Destination encoders/decoders for tokens
Based on:
https://github. com/BitcoinUnli mited/BitcoinUn limited/ pull/873/ Adapt address encoder/decoder to Wagerr
Token implementation - ATP specific part
Update chain parameters: add nCoinbaseMaturity
Various fixes and updates
Update zerocoin - adapt to Wagerr
Generate POS blocks
- Generate POS blocks using RPC call 'generate'
- Allow generation of mixed POS/POW blocks
- Deterministic mn list skips the coinbase AND coinstake
- Set Staking parameters 'staking', 'wagerrstake', 'reservebalance'
- Schedule staking thread that attempts a stake every 1 second
- Currently this thread is empty
- Opening a wallet for mixing now also opens the wallet for staking
- Add stakable coins as an option for selecting AvailableCoinsTODO:
- Time regular stake block generation ('staking=1' functionality)
- Take coinstake split parameter from config options (currently fixed and set to 2000 WAGERR)
- Split difficulty algo for POS and POW in hybrid POS/POWSeparate wallet from non-wallet in token functionality
This restores the configure option --disable-wallet
- Split rpctokens and rpctokenwallet
- Split token script functionality
- Move XDM fee management functions to wallet section
- Reduce unnecessary include filesRe-add getextendedbalance RPC call
Based on commit 209f82f722bf4de
753be0f1c2f696f bfac3e37e0 - Add functions to calculate locked and unlocked balances
- Add RPC call getextendedbalanceAdd scantokens RPC command
Scantokens works similarly to scantxoutset.
It returns the set of UTXO's that hold the specified tokens.Update staking
- Disable staking on regtest
- Temporarily disable budget payments
- Subtract MN payment from staking outputs
- Add stake amount to output of CreateTxOuts()
- Initialize variables in stakemanager
- Add MintableCoins()
- Fill staking thread
- Log staking related output with 'staking' debug tag- Correct AvailableCoins parameters
Parameter interaction for -disablewallet and -staking
Make stake split threshold variable
Through RPC call setstakesplitth
reshold Add getstakingstatus RPC command
Update token transaction creation input handling
- Eliminate amountAvailable from ConstructTx
- Rename totalBchNeeded to totalWagerrNeededSet PoW reward in hybrid phase
Separate block rewards for POW and POS blocks
Separate token structure classes from token consensus functionality
Improve token transaction fee calculation
Update fee policy in line with current fee policy
Update masternode collateral amount
Fix rebase issues: use shared_ptr for wallets
Correct coinstake generation and relay after DIP0003 activation
- Move POS parameter initialization to accommodate for compact blocks
- Add block signature to compact blocks
- Add coinstake to prefilled transactions in compact blocks
- Add coinstake to block payee validation checks
- Fix error handling after failed block signature validation
- Fix error handling after failed stake generation attempt
- No staking when the wallet is lockedTweak staking thread timing
Rename XELEC to WELEC
Remove UniValue from tokengroup configuration status
Allowing tokens to be moved to the consensus code
Add zerocoin value to a coin's returned input value amount
Improve staking overhead and finish getstakingstatus
- Move Stake() to stakeManager
- No staking before masternode sync finished
- Port and adapt PivX' coinstake search time based staking status reporting
- Introduce sleep periods in the staking loop when staking is not available or effective
- RPC call getstakingstatus returns true when all staking conditions are metAdd coinstake flag to Coin and Coins
Add stake mint and masternode reward tx types to Qt transaction overview
Update/add maturity checks for coinstake and group configuration transactions
Finish adding setstakesplitth
reshold Port AutoCombineRewards
Finalize (pooled) mining support
- Include token rewards for miners in getblocktemplate
- Generate blocks with version 11 until start of the hybrid phase
- Enable X11 hashing for POW blocks during hybrid phase
- [FIX] Set minimum difficulty for first hybrid POW block
- Partial hybrid mining support
- Add CReward and CBlockReward classes to manage complex fee and reward structures
- Add block type version bit field that denotes POS or POW during Hybrid phase
- Streamline block generation
- [FIX] Only update block time for non-POS blocks when mining
- [FIX] Remove staking check from SelectCoins()
- [FIX] Check coinstake input values when validating new blocksReplace softfork deployments with block height based fork settings
Do not skip token group fee validation when skipping script checks
Add createrawtokent
ransaction RPC call Add listunspenttokens RPC call
Update token help output
- Update gettokenbalance to show that an address parameter is accepted
- Update sendtoken to show that multiple recipients and amounts can be specifiedAdd spork for bumping MIN_PEER_VERSION
Update default max size for relay of standard transactions
Block height based POS/POW markers
Ensure correct use of Params()
Skip checking for duplicate inputs when adding zerocoin txs to the wallet
As all zerocoin transactions have inputs with tx hash 0x0, all zerocoin transactions
were marked as 'conflicted' due to having the same inputs as other transactions.Avoid stalling and slow legacy nodes during IBD
Remove unused softfork output
Update listtokentransa
ctions - Enable listtokentransa
ctions to return output on all tokens instead of on specific tokens only
- Distinguish between token amounts and token authoritieslisttokentransa
ctions needed a token group ID string as input. This
commit makes that optional.
Now, when passing "*" or when omitting the token group ID string,
transactions from all token groups are returned.Harmonize use of token labels in RPC calls
In line with https:/
/github. com/ioncoincore /ion/pull/ 187 increase consistency:
- Refer to Wagerr with amount and to tokens with tokenAmount
- use tokenType to specify if an output is a value or an authority
- Use tokenAuthorities, not token_authorities
- use groupID instead of groupIdentifierIn line with Dash:
- use value and tokenValue for values with decimals
- use valueSat and tokenValueSat for their sat values (instead of using amount and tokenAmount for sat values)More consistency:
- Add authorities to scantokens
- Use token { ticker, value, ..} instead of token { tokenTicker, tokenValue, ..}
- Use tokenAuthorities in favor of groupAuthoritiesCheck if pprev exists when calculating block versions
Fix incorrect unique pointer handling in stake initialization
Update genesis time in functional tests
Correct coinstake maturity handling
Add IsGenerated() and apply maturity checks from IsCoinBase() to IsCoinStake(
)/IsGenerated( ) Enable verification of token database
When verification fails, the user either needs to start
with -reindex-tokens manually, or let the wallet reindex itself.
Around the upgrade to 5.0, a full reindex is a sane default.- Rename -reindextokens to -reindex-tokens
- Move ReindexTokenDB after setting chainActive
- Add VerifyTokenDB
- Add block hash of token creation to db
- Do not buffer tokens when reindexingUse correct hash field for token configuration
Limiting token database verification when blocks have been pruned
The token database is verified by finding the creation transaction
in the stored block, and then recreating the token creation transaction.
In pruned mode, the block might not be available anymore, so we
limit verification to testing if the block is in the block index if its
data hase been pruned.Enable scantokens to scan for subgroups
Update stake handling when creating MN list
Exclude MN collateral from staking inputs
Disallow authorities in coinbase and coinstake transactions
Remove commented out code
Update autocombinerewards
- Randomize autocombine interval
- Combine coins from only 1 address per iteration
- Only combine when at least 10 inputs can be usedImprove timing of autocombinerewards manager
Proper XDM tx accounting
Limit memory usage of mapZerocoinSupply
The current code retains functionality to validate past zerocoin transactions.
The ported code uses too much memory to store trivial zerocoin related data.Supply items in the map are now only stored:
- When zerocoin spends were possible
- When the supply denomination <> 0Correctly set parameter parsing for listtokentransa
ctions and listtokenssince block Add minimum confirmations option to token balance functions
Take zerocoin (deprecated) and unspendable coins into account in coin supply
Update getstakingstatus reporting
Bypass scheduler process queue
Update Wagerr params - minimum chain work
Update Wagerr params - set version numbers
Update chain parameters
Update chain parameters (for regtest)
Configure regtest minging and staking
Update PoS and sync validation, including parameters and reward structure
Remove hardened spork 6
Update sync settings
Avoid pre-fork stalling during sync
Disable accumulator loading
Staking: set fixed accumulator checkpoint on new blocks
CoinJoin: disable
Wallet staking maturity - update coin availability
Introduce block time protocol V2 (15 second windows)
- Port and adapt PIVX commits on time protocol V2 (PR #1002)
- Port PIVX commits on nTime offset warnings (PR #1138)
- Adjust chain parameters
- Add several copyright noticesProper coinstake handling in wallet
- Make coinstake inputs available after disconnect
- Correctly display immature coinstake balanceUpdate test framework
- Set correct spork key, genesis time, data folders and MN collateral
- Update MN registration: replace dip0003 softwork with sporkTime protocol v2: skip minimum block time on regtest
Update chain parameters (V16 heights)
Update chain params
Update chain parameters for regtest
Update chain parameters for testnet
Update Wagerr reward structure
- Update post-fork block reward schedule
- Store reward flags in CbTx to help verify and identify rewards across outputs
- Fix PoW reward distribution after DIP0003 activation
- Add Operator rewards to CBlockRewardDisable check for correct peer time on regtest
Update mininode for functional tests - set Wagerr params
Manage token group description storage on disconnecting blocks
Remove XDM
Remove from:
- Token creation
- Fee validation
- Supply trackingUpdate preconfigured management tokens
Add flag to make a group's melt capability sticky
Tokens from a group with the sticky_melt flag set do not need a token melt authority for melting.
- Only management tokens can currently have the sticky_melt bit set
- Tokeninfo now reports flags
- Removed optionality on management token configuration parameters
- Melt transactions that melt its full balance for a specified group include a 1 sat OP_RETURN output because a tx needs to have at least one outputMove staking manager and reward manager initialization to wallet init section
Add CTokenGroupID constructor that takes a group and a subgroup string as params
Require a single MN credit token as proregtx fee
tokenGroupManager - Update pointer getters and loop
Use more generalized functions for ProRegTx
Move token group creation description from OP_RETURN to its own SpecialTx
Add 'functional' include for std::function
Prepare for separating CTokenGroupDesc
ription in separate token types Use separate SpecialTX for management tokens
- Create base description from which specific token group types are derived
- Include BLS public key in management tokens
- Exclude BLS public key from group hash
- Exclude nDecimalPos from base group description to prepare for NFTsUpdate token configuration help text
- Move decimal position parameter
- Add BLS key for management tokensRemove unneeded nHeight from ManagementToken
sCreated( ) Tokenized ProUpRevTx
Add in missing includes to get gitian-build to complete
Add include for boost::
interruption_ point Rename to Wagerr
Wagerrlib disabled by default
Update regtest staking parameters
Enable getblocktemplate during POS in regtest only
Update gitian build to most recent version
* Update gitian build to most recent version
* Remove installation of cmake
Rebrand - additional renaming
Update to build qt under gcc 10 and above, get cmake from github
LLMQ updates
Replace softfork settings for dip20 activation with v17 activation hard fork param
- Set testnet fork block
Add files via upload (#17)
icon update
updated images (#18)
splash and toolbar logos
Update dark.css (#20)
27507a to c2064a
0e85dc to ff005b
primary and secondary color changes (#21)
swith to wagerr primary and secondary ff005b and c2064a
update traditional colors (#22)
primary and secondary update
Token description: allow numbers and spaces
- At least 2 characters
- No space at beginning or endAdd token document hashing, signing and verification
Change default font to Montserrat
Update token document RPC commands
- Add help texts
- Change boolean parameter parsingUpdate token document class
Update configuremanage
menttoken help text Update splash screen rendering
Update ports
Button icon color updates
update main dark BG
updated background for dark theme
Update functional tests (#29)
update of functional test scripts
* Update functional tests
* More updated scripts
Update rewards manager
- Fix database functions for stake split threshold and auto combine dust functions
- Rename autocombinerewards to autocombinedust
- Remove change output from autocombinedust
- Cleanup scheduling and initializationtest/util checks for make check now working (#31)
Refactor token description types
Instead of using inheritance and pointer type casting, use boost::variant
and templates to handle different token types.Tokenized ProUpRevTx
Never select inputs for staking that won't be accepted as outputs
Refactor parsing parameters for token configuration
Minor cleanup: Update token config dry run output
Add NFT functionality
- Make filters more flexible to allow for fine grained filter control
- Add NFT to checks
- Include NFT as token variant
- Initial NFT configuration parsingUpdate params - set wait-for-
islocked- timout to 4 minutes Set chain parameters for CSV and BIP147
Update dkg test framework param
Update tests and enabled tests
Update NFT system
- Only 1 mint output
- Mint output must match the mint_amount specified with configurenft
- Renamed token document functions to:
- encodetokenmetadata
- decodetokenmetadata
- signtokenmetadata
- validatetokenmetadata
- Switched from camelCase to snake_case
- Updated token help texts
- Allow dash inside token names (not at start or end)
- Add binary blob to NFT
- Simplify token metadata parsing and validatingUpdate tests to run with new token parameters (#32)
Bump NFT token data size to 96k
Refactor tokeninfo and add displaying NFT data file
feat: add tor entrypoint script for use in dashmate (#4182)
* feat: add entrypoint for tor features in dashmate
* fix: use spaces consistently for indendation
* fix: output blank line after info
* fix: ensure script is executable
* fix: keep linter happy
Update make check tests
Prevent selection of immature token authorities
And update log message when using immature token authorities
Update unit tests - account for new script error codes
Introducing:
- SCRIPT_ERR_NUMBER_ BAD_ENCODING
- NUMBER_OVERFLOWUpdate unit tests - account for introduction of fCoinBase flag to Coin class
Change client version to Wagerr 5.0.0.0
Update mainnet data - set chain size and year of first block
Revert base58_tests, add in script_tests.cpp (#35)
Update tests with OP_GROUP, NUMBER_OVERFLOW and NUMBER_BAD_ENCODING
Update maturity check for token authorities
Make tests with tokens functional again
Change from V16 to V17 add include to rewards.cpp
Update copyright messages
Update chain parameters and fork height
Reject zerocoin transactions before tx checks
Initial setup for CircleCI (#36)
Remove coinjoin related RPC commands
Update man pages
Update mainnet keys
Update pixmaps
Fix for qt tests (#37)
Create initial snapcraft configurations (#38)
* Create initial snapcraft configurations
* Change version to 5.0.0
Add in blue logo (#39)
Update style sheets and logos
- Update light.css
- Update dark.css
- toolbar icon logo updates (#40)
- logo update
- updated splash with BG (#41)
- update light toobar to match (#42)
- Edit request bar (#43)Update style
- Only Dark theme
- Selected and hovered inputs get a border
- Update splash renderingUpdate fork parameters
Update man pages
Updating name
Change data folder from .wagerr to .wagerrcoin
Set release flag
Update links
Update README.md
Ignore sporks from previous versions
Update clock offset warning
New snapcraft
New circleci configuration
Update test_runner to run tokens in main check and deterministic masternodes in extended check
Set snapcraft to build from master
Update unlock for staking interface
- Add menu item 'Settings/Unlock Wallet for Staking'
- getstakingstatus now respects 'unlocked for staking' status
- Help text on walletpassphrase refers to staking, not mixing
- A timeout of 0 seconds disables the timeout (instead of timing out immediately)Fixup
Add in working mac config, add make check to bionic
Bump minimum version before enforcement
Update snapcraft config to build v5.0.0
Add in wagerr specific values
- spork.h add in spork 20
- hash.h add in quark hash
- version.h rewind to version 70929New(er) graphics
Update depends, GUIX for builds, drop i686 support
- Depends updates needed to build using guix matching up with current bitcoin version 0.22.0 with the exception of boost which needs to remain at version 1.70
- Use GUIX to build deterministically as gitian-builder is now deprecated
- Update build documentation for deterministic builds
- Drop support for i686 Windows
- Change Makefile.am for Mac building as native_cdrkit is no longer used
- Use new XCode Mac SDK -> 12.1-12A7403
- Update macdeploy README for instructions on downloading new SDK
- Change QT building to work with new version of QT 12.11.0Circleci Updated to use cimg rather than circleci images
Change wagerr addresses for spork and token management
Add qminimal checks back in configure
Update make check tests
-Governance proposals json add correct mainnet address update key tests
-Update rpc_tests
-Update make check python tests
-Switch to quark for hashing
-Remove checkblockSet all collateral to 25000
Update test framework
CSS Styles
-Update CSS Styles
-Update imagesUpdate tests to work with wagerr
Unpatched bdb
Changes to get devnet working
Update Icons for snap builds, add bison for builds, update bdb patch
Update circleci
-run test_wagerr, test_wagerr-qt, and wagerr_bench at the end of x86_64 bionic
-rpcnestedtests.cpp change node results to fit quark chainGuix and Gitian build both working
-Add cmake to darwin packages
-Add in relative path to darwin.mk
-Remove no-sdk config option
-Reset tool eval
-Reset tonew eval
-Add ifeq to clang
-Remove path from native build
-Remove separate tool definitions
-Force ar and ranlib in gitian osx yml file
-Remove ranlib and ar from configure.ac
-Remove full path from cctools
-Remove ranlib and ar from bls-dash and cctools
-Add static ranlib and ar to bls-dash
-Add path to depends build include existing path
-Add path to depends build without export
-Reinstall AR and RANLIB
-Changeup of clang and clang++ for native builds
-Change native tools to remove prefixUpdate depends qt to version 5.9.8
-Add don't hardcode pwd patch
-Remove hardcoded wagerr g++ from build.shUpdate gui to show icons as well as text
-Change send window
-Change default to text under icon
-Add overview icon
-Add : in front of icon path
-Get overview from images
-Scale overview icon
-Reduce font size
-Remove underscores
-Remove coinjoin from options menuUpdate chain parameters and settings for Wagerr mainnet - non-betting sync
Add Wagerr 4.0 betting code
Source: 4.0 commit 6bc216c12d4622a
1b9e0ca3649a27d d22a9e1e5c Add Wagerr specific parameters and adapt to Dash' conventions
Add chain variables for betting, adapt code to Dash' conventions
Add betting hooks to validation sections
Port validation in betting v2/v3 phase
Add and adapt betting RPC commands
Add listtransaction
records Various fixes
- eaca69b... by UdjinM6 <email address hidden>
-
Merge pull request #4183 from UdjinM6/
backport_ 0.17.0. 3 [0.17.x] Backport candidates and bump to 0.17.0.3
- 7514885... by UdjinM6 <email address hidden>
-
doc: Add 0.17.0.3 release notes
- 6a54af0... by UdjinM6 <email address hidden>
-
Bump to v0.17.0.3
- 97e8461... by UdjinM6 <email address hidden>
-
doc: Archive v0.17.0.2 release notes
- 96c0418... by strophy <email address hidden>
-
feat: add tor entrypoint script for use in dashmate (#4182)
* feat: add entrypoint for tor features in dashmate
* fix: use spaces consistently for indendation
* fix: output blank line after info
* fix: ensure script is executable
* fix: keep linter happy
- 3661f36... by PastaPastaPasta <email address hidden>
-
Merge #14416: Fix OSX dmg issue (10.12 to 10.14) (#4177)
- 4f4bda0... by dustinface <email address hidden>
-
depends: Undefine `BLSALLOC_SODIUM` in `bls-dash.mk` (#4176)
- 575e0a3... by UdjinM6 <email address hidden>
-
qt: Add `QFont::Normal` as a supported font weight when no other font weights were found (#4175)
- ce4a73b... by UdjinM6 <email address hidden>
-
rpc: Fix `upgradetohd` help text (#4170)