-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Add Debian menu entry + icon #29
Conversation
Add Debian menu entry + icon
Great, thanks! |
Does this only work with debian? And shouldnt we use the new logo? |
Not only with Debian, packager just has to use the resource :) Like I prepared in the AUR I used the logo on the website's sliding banner, if there's a new one then merge it anytime you want :) In fact the commit is in master, while releases use the master-rc4 branch. |
Nice, AUR <3 |
Clever trick ! Included to the |
logical timestamp indexing of block hashes
Updated the genesis block input hex to be accurate.
* Update seed nodes (#28) * Rewards: Adjust Miner/Masternode reward ratio - Add sentinel version check - Bump version to v0.12.3.0 (#27) * Update the version number * Bump to 70213 * Adjust Rewards * Update sentinel ping code to require min version * Update blockHeight for reward change, update client version and copyright * Update checkpoints (#30) * Add new DNS nodes (#31) * Adding a script to update the Linux wallets to the latest version (#33) * Update masternode upgrade script. * Adding info to run pac update for linux (#34) * Update README.md * Update masternode installer script * Bump min protocol version to 70213 (#35) * Fix genesis block input hex (#29) Updated the genesis block input hex to be accurate. * Add block 50000 to the checkpoints (#36) * Bump min protocol version to 70213 * Add block 50,000 to the checkpoints * Reject bad chain with wrong rewards, block 50000 * Formating * Update invalidate logic, all blocks which are different than the main chain will be invalidated. * Update masternode installation script
* revised testnet settings (dashpay#27) * Final DIP0003 activation change for testnet and mainnet.
Add coinstakes and masternode reward types to Qt's transaction overview display Approved-by: Cevap
Initial core Wagerr parameters and algorithms - Load genesis block - Set consensus parameters - Block reward values - PoW difficulty algorithm Load 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 format POS changes that introduce the need for additional checks - Skip nValue check for transactions on regular coinstakes - Make sure coinstakes are properly checked Update 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 blocks Also: - 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. (dashpay#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: BitcoinUnlimited/BitcoinUnlimited#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 AvailableCoins TODO: - 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/POW Separate 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 files Re-add getextendedbalance RPC call Based on commit 209f82f - Add functions to calculate locked and unlocked balances - Add RPC call getextendedbalance Add 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 setstakesplitthreshold Add getstakingstatus RPC command Update token transaction creation input handling - Eliminate amountAvailable from ConstructTx - Rename totalBchNeeded to totalWagerrNeeded Set 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 locked Tweak 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 met Add 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 setstakesplitthreshold 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 blocks Replace softfork deployments with block height based fork settings Do not skip token group fee validation when skipping script checks Add createrawtokentransaction 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 specified Add 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 listtokentransactions - Enable listtokentransactions to return output on all tokens instead of on specific tokens only - Distinguish between token amounts and token authorities listtokentransactions 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 groupIdentifier In 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 groupAuthorities Check 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 reindexing Use 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 used Improve 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 <> 0 Correctly set parameter parsing for listtokentransactions and listtokenssinceblock 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 dashpay#1002) - Port PIVX commits on nTime offset warnings (PR dashpay#1138) - Adjust chain parameters - Add several copyright notices Proper coinstake handling in wallet - Make coinstake inputs available after disconnect - Correctly display immature coinstake balance Update test framework - Set correct spork key, genesis time, data folders and MN collateral - Update MN registration: replace dip0003 softwork with spork Time 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 CBlockReward Disable 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 tracking Update 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 output Move 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 CTokenGroupDescription 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 NFTs Update token configuration help text - Move decimal position parameter - Add BLS key for management tokens Remove unneeded nHeight from ManagementTokensCreated() 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 (dashpay#17) icon update updated images (dashpay#18) splash and toolbar logos Update dark.css (dashpay#20) 27507a to c2064a 0e85dc to ff005b primary and secondary color changes (dashpay#21) swith to wagerr primary and secondary ff005b and c2064a update traditional colors (dashpay#22) primary and secondary update Token description: allow numbers and spaces - At least 2 characters - No space at beginning or end Add token document hashing, signing and verification Change default font to Montserrat Update token document RPC commands - Add help texts - Change boolean parameter parsing Update token document class Update configuremanagementtoken help text Update splash screen rendering Update ports Button icon color updates update main dark BG updated background for dark theme Update functional tests (dashpay#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 initialization test/util checks for make check now working (dashpay#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 parsing Update 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 validating Update tests to run with new token parameters (dashpay#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 (dashpay#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_OVERFLOW Update 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 (dashpay#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 (dashpay#36) Remove coinjoin related RPC commands Update man pages Update mainnet keys Update pixmaps Fix for qt tests (dashpay#37) Create initial snapcraft configurations (dashpay#38) * Create initial snapcraft configurations * Change version to 5.0.0 Add in blue logo (dashpay#39) Update style sheets and logos - Update light.css - Update dark.css - toolbar icon logo updates (dashpay#40) - logo update - updated splash with BG (dashpay#41) - update light toobar to match (dashpay#42) - Edit request bar (dashpay#43) Update style - Only Dark theme - Selected and hovered inputs get a border - Update splash rendering Update 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 70929 New(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.0 Circleci 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 checkblock Set all collateral to 25000 Update test framework CSS Styles -Update CSS Styles -Update images Update 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 chain Guix 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 prefix Update depends qt to version 5.9.8 -Add don't hardcode pwd patch -Remove hardcoded wagerr g++ from build.sh Update 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 menu Update chain parameters and settings for Wagerr mainnet - non-betting sync Add Wagerr 4.0 betting code Source: 4.0 commit 6bc216c12d4622a1b9e0ca3649a27dd22a9e1e5c 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 listtransactionrecords Various fixes
…ay#29) * Don't pre-compress points and don't maintain serialized data * Correctly initialize norm flag in ep2_set_infty * Replace stl-like container apis with Serialize method which returns std::vector * Remove the operator< from BLSPublicKey and BLSSignature * Fix memory leak and optimize sorting in AggregateSigsSecure sortKey was never freed, using std::vector now. Also avoiding unnecessary copies. * Optimize sorting in SecureMergeInfos Avoid unnecessary copies and serialization. * Optimize sorting in AggregateSigsInternal and remove old HashPubKeys Avoid unnecessary copies and serialization * Update python bindings (no size() and <) * Rename sorted to sortedIndices * Add "std::vector<uint8_t> Serialize() const" to other classes as well * Deduplicate code for BLSUtil::BytesCompare * Revert to using uint8_t* instead of std::vector<uint8_t>
* feat: added back in private keys from BIP32 Seed * feat: added in unit test
fa2e614 test: Fix off-by-one in mockscheduler test RPC (MarcoFalke) Pull request description: Fixes: ``` fuzz: scheduler.cpp:83: void CScheduler::MockForward(std::chrono::seconds): Assertion `delta_seconds.count() > 0 && delta_seconds < std::chrono::hours{1}' failed. ==1059066== ERROR: libFuzzer: deadly signal #0 0x558f75449c10 in __sanitizer_print_stack_trace (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x5fec10) dashpay#1 0x558f753f32b8 in fuzzer::PrintStackTrace() fuzzer.o dashpay#2 0x558f753d68d3 in fuzzer::Fuzzer::CrashCallback() fuzzer.o dashpay#3 0x7f4a3cbbb3bf (/lib/x86_64-linux-gnu/libpthread.so.0+0x153bf) dashpay#4 0x7f4a3c7ff18a in raise (/lib/x86_64-linux-gnu/libc.so.6+0x4618a) dashpay#5 0x7f4a3c7de858 in abort (/lib/x86_64-linux-gnu/libc.so.6+0x25858) dashpay#6 0x7f4a3c7de728 (/lib/x86_64-linux-gnu/libc.so.6+0x25728) dashpay#7 0x7f4a3c7eff35 in __assert_fail (/lib/x86_64-linux-gnu/libc.so.6+0x36f35) dashpay#8 0x558f7588a913 in CScheduler::MockForward(std::chrono::duration<long, std::ratio<1l, 1l> >) scheduler.cpp:83:5 dashpay#9 0x558f75b0e5b1 in mockscheduler()::$_7::operator()(RPCHelpMan const&, JSONRPCRequest const&) const rpc/misc.cpp:435:30 dashpay#10 0x558f75b0e5b1 in std::_Function_handler<UniValue (RPCHelpMan const&, JSONRPCRequest const&), mockscheduler()::$_7>::_M_invoke(std::_Any_data const&, RPCHelpMan const&, JSONRPCRequest const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:285:9 dashpay#11 0x558f7587a141 in std::function<UniValue (RPCHelpMan const&, JSONRPCRequest const&)>::operator()(RPCHelpMan const&, JSONRPCRequest const&) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 dashpay#12 0x558f7587a141 in RPCHelpMan::HandleRequest(JSONRPCRequest const&) const rpc/util.cpp:565:26 dashpay#13 0x558f756c0086 in CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)::operator()(JSONRPCRequest const&, UniValue&, bool) const ./rpc/server.h:110:91 dashpay#14 0x558f756c0086 in std::_Function_handler<bool (JSONRPCRequest const&, UniValue&, bool), CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)>::_M_invoke(std::_Any_data const&, JSONRPCRequest const&, UniValue&, bool&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:285:9 dashpay#15 0x558f756b8592 in std::function<bool (JSONRPCRequest const&, UniValue&, bool)>::operator()(JSONRPCRequest const&, UniValue&, bool) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 dashpay#16 0x558f756b8592 in ExecuteCommand(CRPCCommand const&, JSONRPCRequest const&, UniValue&, bool) rpc/server.cpp:480:20 dashpay#17 0x558f756b8592 in ExecuteCommands(std::vector<CRPCCommand const*, std::allocator<CRPCCommand const*> > const&, JSONRPCRequest const&, UniValue&) rpc/server.cpp:444:13 dashpay#18 0x558f756b8017 in CRPCTable::execute(JSONRPCRequest const&) const rpc/server.cpp:464:13 dashpay#19 0x558f7552457a in (anonymous namespace)::RPCFuzzTestingSetup::CallRPC(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) test/fuzz/rpc.cpp:50:25 dashpay#20 0x558f7552457a in rpc_fuzz_target(Span<unsigned char const>) test/fuzz/rpc.cpp:354:28 dashpay#21 0x558f7544cf0f in std::_Function_handler<void (Span<unsigned char const>), void (*)(Span<unsigned char const>)>::_M_invoke(std::_Any_data const&, Span<unsigned char const>&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:300:2 dashpay#22 0x558f75c05197 in std::function<void (Span<unsigned char const>)>::operator()(Span<unsigned char const>) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 dashpay#23 0x558f75c05197 in LLVMFuzzerTestOneInput test/fuzz/fuzz.cpp:74:5 dashpay#24 0x558f753d8073 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) fuzzer.o dashpay#25 0x558f753c1f72 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) fuzzer.o dashpay#26 0x558f753c7d6a in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) fuzzer.o dashpay#27 0x558f753f3a92 in main (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x5a8a92) dashpay#28 0x7f4a3c7e00b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) dashpay#29 0x558f7539cc9d in _start (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x551c9d) ACKs for top commit: practicalswift: cr ACK fa2e614 Tree-SHA512: cfa120265261f0ad019b46c426b915c1c007806b37aecb27016ce780a0ddea5e6fc9b09065fd40684b11183dcd3bf543558d7a655e604695021653540266baf7
fa2e614 test: Fix off-by-one in mockscheduler test RPC (MarcoFalke) Pull request description: Fixes: ``` fuzz: scheduler.cpp:83: void CScheduler::MockForward(std::chrono::seconds): Assertion `delta_seconds.count() > 0 && delta_seconds < std::chrono::hours{1}' failed. ==1059066== ERROR: libFuzzer: deadly signal #0 0x558f75449c10 in __sanitizer_print_stack_trace (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x5fec10) dashpay#1 0x558f753f32b8 in fuzzer::PrintStackTrace() fuzzer.o dashpay#2 0x558f753d68d3 in fuzzer::Fuzzer::CrashCallback() fuzzer.o dashpay#3 0x7f4a3cbbb3bf (/lib/x86_64-linux-gnu/libpthread.so.0+0x153bf) dashpay#4 0x7f4a3c7ff18a in raise (/lib/x86_64-linux-gnu/libc.so.6+0x4618a) dashpay#5 0x7f4a3c7de858 in abort (/lib/x86_64-linux-gnu/libc.so.6+0x25858) dashpay#6 0x7f4a3c7de728 (/lib/x86_64-linux-gnu/libc.so.6+0x25728) dashpay#7 0x7f4a3c7eff35 in __assert_fail (/lib/x86_64-linux-gnu/libc.so.6+0x36f35) dashpay#8 0x558f7588a913 in CScheduler::MockForward(std::chrono::duration<long, std::ratio<1l, 1l> >) scheduler.cpp:83:5 dashpay#9 0x558f75b0e5b1 in mockscheduler()::$_7::operator()(RPCHelpMan const&, JSONRPCRequest const&) const rpc/misc.cpp:435:30 dashpay#10 0x558f75b0e5b1 in std::_Function_handler<UniValue (RPCHelpMan const&, JSONRPCRequest const&), mockscheduler()::$_7>::_M_invoke(std::_Any_data const&, RPCHelpMan const&, JSONRPCRequest const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:285:9 dashpay#11 0x558f7587a141 in std::function<UniValue (RPCHelpMan const&, JSONRPCRequest const&)>::operator()(RPCHelpMan const&, JSONRPCRequest const&) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 dashpay#12 0x558f7587a141 in RPCHelpMan::HandleRequest(JSONRPCRequest const&) const rpc/util.cpp:565:26 dashpay#13 0x558f756c0086 in CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)::operator()(JSONRPCRequest const&, UniValue&, bool) const ./rpc/server.h:110:91 dashpay#14 0x558f756c0086 in std::_Function_handler<bool (JSONRPCRequest const&, UniValue&, bool), CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)>::_M_invoke(std::_Any_data const&, JSONRPCRequest const&, UniValue&, bool&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:285:9 dashpay#15 0x558f756b8592 in std::function<bool (JSONRPCRequest const&, UniValue&, bool)>::operator()(JSONRPCRequest const&, UniValue&, bool) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 dashpay#16 0x558f756b8592 in ExecuteCommand(CRPCCommand const&, JSONRPCRequest const&, UniValue&, bool) rpc/server.cpp:480:20 dashpay#17 0x558f756b8592 in ExecuteCommands(std::vector<CRPCCommand const*, std::allocator<CRPCCommand const*> > const&, JSONRPCRequest const&, UniValue&) rpc/server.cpp:444:13 dashpay#18 0x558f756b8017 in CRPCTable::execute(JSONRPCRequest const&) const rpc/server.cpp:464:13 dashpay#19 0x558f7552457a in (anonymous namespace)::RPCFuzzTestingSetup::CallRPC(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) test/fuzz/rpc.cpp:50:25 dashpay#20 0x558f7552457a in rpc_fuzz_target(Span<unsigned char const>) test/fuzz/rpc.cpp:354:28 dashpay#21 0x558f7544cf0f in std::_Function_handler<void (Span<unsigned char const>), void (*)(Span<unsigned char const>)>::_M_invoke(std::_Any_data const&, Span<unsigned char const>&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:300:2 dashpay#22 0x558f75c05197 in std::function<void (Span<unsigned char const>)>::operator()(Span<unsigned char const>) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 dashpay#23 0x558f75c05197 in LLVMFuzzerTestOneInput test/fuzz/fuzz.cpp:74:5 dashpay#24 0x558f753d8073 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) fuzzer.o dashpay#25 0x558f753c1f72 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) fuzzer.o dashpay#26 0x558f753c7d6a in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) fuzzer.o dashpay#27 0x558f753f3a92 in main (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x5a8a92) dashpay#28 0x7f4a3c7e00b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) dashpay#29 0x558f7539cc9d in _start (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x551c9d) ACKs for top commit: practicalswift: cr ACK fa2e614 Tree-SHA512: cfa120265261f0ad019b46c426b915c1c007806b37aecb27016ce780a0ddea5e6fc9b09065fd40684b11183dcd3bf543558d7a655e604695021653540266baf7
fa2e614 test: Fix off-by-one in mockscheduler test RPC (MarcoFalke) Pull request description: Fixes: ``` fuzz: scheduler.cpp:83: void CScheduler::MockForward(std::chrono::seconds): Assertion `delta_seconds.count() > 0 && delta_seconds < std::chrono::hours{1}' failed. ==1059066== ERROR: libFuzzer: deadly signal #0 0x558f75449c10 in __sanitizer_print_stack_trace (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x5fec10) dashpay#1 0x558f753f32b8 in fuzzer::PrintStackTrace() fuzzer.o dashpay#2 0x558f753d68d3 in fuzzer::Fuzzer::CrashCallback() fuzzer.o dashpay#3 0x7f4a3cbbb3bf (/lib/x86_64-linux-gnu/libpthread.so.0+0x153bf) dashpay#4 0x7f4a3c7ff18a in raise (/lib/x86_64-linux-gnu/libc.so.6+0x4618a) dashpay#5 0x7f4a3c7de858 in abort (/lib/x86_64-linux-gnu/libc.so.6+0x25858) dashpay#6 0x7f4a3c7de728 (/lib/x86_64-linux-gnu/libc.so.6+0x25728) dashpay#7 0x7f4a3c7eff35 in __assert_fail (/lib/x86_64-linux-gnu/libc.so.6+0x36f35) dashpay#8 0x558f7588a913 in CScheduler::MockForward(std::chrono::duration<long, std::ratio<1l, 1l> >) scheduler.cpp:83:5 dashpay#9 0x558f75b0e5b1 in mockscheduler()::$_7::operator()(RPCHelpMan const&, JSONRPCRequest const&) const rpc/misc.cpp:435:30 dashpay#10 0x558f75b0e5b1 in std::_Function_handler<UniValue (RPCHelpMan const&, JSONRPCRequest const&), mockscheduler()::$_7>::_M_invoke(std::_Any_data const&, RPCHelpMan const&, JSONRPCRequest const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:285:9 dashpay#11 0x558f7587a141 in std::function<UniValue (RPCHelpMan const&, JSONRPCRequest const&)>::operator()(RPCHelpMan const&, JSONRPCRequest const&) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 dashpay#12 0x558f7587a141 in RPCHelpMan::HandleRequest(JSONRPCRequest const&) const rpc/util.cpp:565:26 dashpay#13 0x558f756c0086 in CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)::operator()(JSONRPCRequest const&, UniValue&, bool) const ./rpc/server.h:110:91 dashpay#14 0x558f756c0086 in std::_Function_handler<bool (JSONRPCRequest const&, UniValue&, bool), CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)>::_M_invoke(std::_Any_data const&, JSONRPCRequest const&, UniValue&, bool&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:285:9 dashpay#15 0x558f756b8592 in std::function<bool (JSONRPCRequest const&, UniValue&, bool)>::operator()(JSONRPCRequest const&, UniValue&, bool) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 dashpay#16 0x558f756b8592 in ExecuteCommand(CRPCCommand const&, JSONRPCRequest const&, UniValue&, bool) rpc/server.cpp:480:20 dashpay#17 0x558f756b8592 in ExecuteCommands(std::vector<CRPCCommand const*, std::allocator<CRPCCommand const*> > const&, JSONRPCRequest const&, UniValue&) rpc/server.cpp:444:13 dashpay#18 0x558f756b8017 in CRPCTable::execute(JSONRPCRequest const&) const rpc/server.cpp:464:13 dashpay#19 0x558f7552457a in (anonymous namespace)::RPCFuzzTestingSetup::CallRPC(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) test/fuzz/rpc.cpp:50:25 dashpay#20 0x558f7552457a in rpc_fuzz_target(Span<unsigned char const>) test/fuzz/rpc.cpp:354:28 dashpay#21 0x558f7544cf0f in std::_Function_handler<void (Span<unsigned char const>), void (*)(Span<unsigned char const>)>::_M_invoke(std::_Any_data const&, Span<unsigned char const>&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:300:2 dashpay#22 0x558f75c05197 in std::function<void (Span<unsigned char const>)>::operator()(Span<unsigned char const>) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 dashpay#23 0x558f75c05197 in LLVMFuzzerTestOneInput test/fuzz/fuzz.cpp:74:5 dashpay#24 0x558f753d8073 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) fuzzer.o dashpay#25 0x558f753c1f72 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) fuzzer.o dashpay#26 0x558f753c7d6a in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) fuzzer.o dashpay#27 0x558f753f3a92 in main (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x5a8a92) dashpay#28 0x7f4a3c7e00b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) dashpay#29 0x558f7539cc9d in _start (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x551c9d) ACKs for top commit: practicalswift: cr ACK fa2e614 Tree-SHA512: cfa120265261f0ad019b46c426b915c1c007806b37aecb27016ce780a0ddea5e6fc9b09065fd40684b11183dcd3bf543558d7a655e604695021653540266baf7
f507681 qt: Connect WalletView signal to BitcoinGUI slot directly (Hennadii Stepanov) bd50ff9 qt: Drop redundant OverviewPage::handleOutOfSyncWarningClicks slot (Hennadii Stepanov) 793f195 qt: Drop redundant WalletView::requestedSyncWarningInfo slot (Hennadii Stepanov) Pull request description: This PR: - removes slots whose only job is to emit a signal, since we can use the signal as a slot - connects the`WalletView::outOfSyncWarningClicked` signal to the `BitcoinGUI::showModalOverlay` slot directly, and removes intermediate `WalletFrame` slot and signal - split from dashpay#29 This PR does not change behavior. ACKs for top commit: Talkless: tACK f507681, tested on Debian Sid with Qt 5.15.2, no any behavioral changes noticed. promag: Code review ACK f507681. Tree-SHA512: cd636a7e61881b2cbee84d5425d2107a8e39683b8eb32d79dc9ea942db55d5c1979be2f70da1660eaee5de622d10ed5a92f11fc2351de21b84324b10b23d0c96
f507681 qt: Connect WalletView signal to BitcoinGUI slot directly (Hennadii Stepanov) bd50ff9 qt: Drop redundant OverviewPage::handleOutOfSyncWarningClicks slot (Hennadii Stepanov) 793f195 qt: Drop redundant WalletView::requestedSyncWarningInfo slot (Hennadii Stepanov) Pull request description: This PR: - removes slots whose only job is to emit a signal, since we can use the signal as a slot - connects the`WalletView::outOfSyncWarningClicked` signal to the `BitcoinGUI::showModalOverlay` slot directly, and removes intermediate `WalletFrame` slot and signal - split from dashpay#29 This PR does not change behavior. ACKs for top commit: Talkless: tACK f507681, tested on Debian Sid with Qt 5.15.2, no any behavioral changes noticed. promag: Code review ACK f507681. Tree-SHA512: cd636a7e61881b2cbee84d5425d2107a8e39683b8eb32d79dc9ea942db55d5c1979be2f70da1660eaee5de622d10ed5a92f11fc2351de21b84324b10b23d0c96
d54d949 qt: Fix regression in "Encrypt Wallet" menu item (Hennadii Stepanov) Pull request description: Fix dashpay#392. Adding a new item to the `m_wallet_selector` must follow the establishment of a connection between the `WalletView::encryptionStatusChanged` signal and the `BitcoinGUI::updateWalletStatus` slot. This was a regression introduced in bitcoin@20e2e24 (dashpay#29). --- An _encrypted_ wallet being auto-loaded at the GUI startup: - on master (eaf09bd) ![Screenshot from 2021-08-03 22-38-49](https://user-images.githubusercontent.com/32963518/128075837-cdbb2047-5327-43ea-b2d5-2dcdef67cdc0.png) - with this PR ![Screenshot from 2021-08-03 22-34-58](https://user-images.githubusercontent.com/32963518/128075572-cb727652-ad44-4b85-bf64-edcd19f9dea1.png) ACKs for top commit: achow101: ACK d54d949 jarolrod: ACK d54d949 Tree-SHA512: 669615ec8e1517c2f4cdf59bd11a7c85be793ba0dda112361cf95e6c2f0636215fed331d26a86dc9b779a49defae1b248232f98dab449584376c111c288e87bb
f507681 qt: Connect WalletView signal to BitcoinGUI slot directly (Hennadii Stepanov) bd50ff9 qt: Drop redundant OverviewPage::handleOutOfSyncWarningClicks slot (Hennadii Stepanov) 793f195 qt: Drop redundant WalletView::requestedSyncWarningInfo slot (Hennadii Stepanov) Pull request description: This PR: - removes slots whose only job is to emit a signal, since we can use the signal as a slot - connects the`WalletView::outOfSyncWarningClicked` signal to the `BitcoinGUI::showModalOverlay` slot directly, and removes intermediate `WalletFrame` slot and signal - split from dashpay#29 This PR does not change behavior. ACKs for top commit: Talkless: tACK f507681, tested on Debian Sid with Qt 5.15.2, no any behavioral changes noticed. promag: Code review ACK f507681. Tree-SHA512: cd636a7e61881b2cbee84d5425d2107a8e39683b8eb32d79dc9ea942db55d5c1979be2f70da1660eaee5de622d10ed5a92f11fc2351de21b84324b10b23d0c96
d54d949 qt: Fix regression in "Encrypt Wallet" menu item (Hennadii Stepanov) Pull request description: Fix dashpay#392. Adding a new item to the `m_wallet_selector` must follow the establishment of a connection between the `WalletView::encryptionStatusChanged` signal and the `BitcoinGUI::updateWalletStatus` slot. This was a regression introduced in bitcoin@20e2e24 (dashpay#29). --- An _encrypted_ wallet being auto-loaded at the GUI startup: - on master (eaf09bd) ![Screenshot from 2021-08-03 22-38-49](https://user-images.githubusercontent.com/32963518/128075837-cdbb2047-5327-43ea-b2d5-2dcdef67cdc0.png) - with this PR ![Screenshot from 2021-08-03 22-34-58](https://user-images.githubusercontent.com/32963518/128075572-cb727652-ad44-4b85-bf64-edcd19f9dea1.png) ACKs for top commit: achow101: ACK d54d949 jarolrod: ACK d54d949 Tree-SHA512: 669615ec8e1517c2f4cdf59bd11a7c85be793ba0dda112361cf95e6c2f0636215fed331d26a86dc9b779a49defae1b248232f98dab449584376c111c288e87bb
Example-PR about adding Debian menu entry for Darkcoin, something user-friendly that's missing to easily start up Darkcoin-qt. (contains only 128px PNG logo)