* Fix
* -print
* Filter null outputs
* Rewards cc
* Fix
* Linker
* Fix
* Fix
* KOMODO_LONGESTCHAIN
* Mining_height
* Fix dropped assetoshis
* Error null CCvin
* Test
* Test
* Test
* Fix sell
* Fix order book prints
* )
* Test
* Test
* Fix order display
* Fix oops
* Fix duplicate vin
* Remove dust check
* Fix silly bug
* Test
* Test
* Fix
* Test
* Test
* Test
* Test
* Test
* Test
* Test
* Fix compiler error: call of overloaded 'Pair(const char [9], time_t)' is ambiguous
* Fix compiler error: call of overloaded 'Pair(const char [9], time_t)' is ambiguous
* Correctly parse optional top parameter to getsnapshot
* Fix token orders crash
* Add SEC to assetchains.json
* Split amounts/validation: bid, ask, swap
* Fixes
* Test
* Test
* Test
* Test
* +print
* Test
* Test
* Test
* Test
* Test
* Test
* SMALLVAL
* Test
* Test
* Test
* Test
* Test
* Test
* Test
* Properly handle multiple vins funding fills
* Test
* Test
* Test
* Test
* Fix ask fill dest
* Test
* Rewards functions
* Fix
* Test
* Params to rewardscalc
* Create funding, addfunding, lock
* Test
* +print
* tokenswapask
* Test
* Test
* Swap functions
* ac_cc under 1000 is not fungible
* Allow to cancel invalid orders
* Prevent negative numbers in assets tx
* Uint64 -> int64
* Fix oops
* Prevent bid for nonexistent assetid
* Error check bidding for assetid that is txid but not asset creation
* Fix
* Fix
* Add pause if scriptcheckqueue isn't idle
* Fix
* -> -> .
* Fix
* Test
* VOBJ
* Tokeninfo rpc
* Asset list
* Test
* strcpy(cp->normaladdr,AssetsNormaladdr);
* Fix
* Rewardslist rewardsinfo
* Fix
* Fix
* Fix
* Vent
* fix
* Int64
* Int64
* Fix createfunding
* Fix false positive error
* sbits = stringbits(planstr);
* Fix maxmoney
* Fix funding name
* Test
* Print
* CCutoxvalue
* Fix rewardslock utxo selection
* New PoW diff calc
* tst
* Test
* Oldflag for PoW calc
* Test
* Test
* tst
* Test
* Test
* Filter locked utxo
* Test
* Fix PoW recalc
* Test min seconds
* int64_t CCduration(uint256 txid)
* Test
* Test
* Test one day
* Test
* Test
* Test
* Test
* Test
* Test
* Test
* Test
* Test
* Test
* Test
* Test
* Test
* Test
* Test
* Test
* Prevent inputs of CC inputs
* Test
* tst
* Test
* Test
* Test
* Test
* Test
* Test
* Test
* Test
* Test
* Test
* Test
* Test
* New rewards address
* Fix mask
* Test
* Test
* Test
* Test
* Test
* Test
* Teest
* Stricter vin/vout checks for assets
* Token swap ready for testing
* Fix rewards unlock
* Fix
* Test
* Validate rewards
* Test
* Trim funding input
* Test
* Test
* Test
* Test
* Test
* Test
* Test
* Test
* Test
* Activate CCduration constraint
* Parameterize KOMODO_FIRSTFUNGIBLEID to 100
* +print
* Test
* Test
* Test
* Test
* Fix c script
* Test
* Initial dice morph from rewards.cpp
* Fix
* Test
* Fix
* Test
* Diceaddfunds
* Fix
* Dice list and dice info
* dicefund
* Dice bet
* Test
* Test
* Put process block's check block call inside lock, revert mining testblockvalidity outside lock
* Don't exit fiat-cli on error
* Docs for coinsupply RPC and improved error-checking on block height
* Version to 0.3.12-beta.
* Change version to 0.3.12 for gilab CI.
* Put undefines for _cpuid back.
* Network decentralizatoin and bug fixes
* Remove unnecessary staking delay
* Staking and mining timeing improvements
* Put staking readout once per staking loop so people know it's staking
* Fail on get_chainactive before lock if checks fail
* Fix check for stake transaction after Komodo merge
* Portable dev (#105)
* Force portable code
* Switch to old MMX instructions, avoiding SSE & SSE2 instructions.
* Less agressive, leave verus code (which checks for it) using advanced instructions.
* Compiling only for windows
* Update .gitlab-ci.yml
* Try -march=native for C++ code generation.
* Tweaking machine architecture settings.
* Try native alone.
* Also get LIBCRYPTOCONDITIONS to -march=native
* Switch other lib to native as well.
* Try switching back further for CPU architecture.
* Even lower end settings.
* Turn on symbols.
* Use sse2,3 and 4 capable x64.
* Once again let verus lib use advances instructioins since it checjs via CPUID at run time.
* Modify a few more makefile entries.
* Switch to AMD model similar to our test system.
* Get snark makefile to k8 too.
* Yet another -march to modify to k8, or two of them.
* Brute force k8 settings, comment non-portable code out.
* Put the condition on cpuid back.
* Put non-portable advenced instruction code back
* Enable instructions.
* Add lib for separate settings.
* Update .gitlab-ci.yml
* Update .gitlab-ci.yml
* Update .gitlab-ci.yml
* Update .gitlab-ci.yml
* replacing k8-sse3 specific flags to x86-84
* updating versions
* updating versions
* Get verus-cli verusd updated (#106)
* Force portable code
* Switch to old MMX instructions, avoiding SSE & SSE2 instructions.
* Less agressive, leave verus code (which checks for it) using advanced instructions.
* Compiling only for windows
* Update .gitlab-ci.yml
* Try -march=native for C++ code generation.
* Tweaking machine architecture settings.
* Try native alone.
* Also get LIBCRYPTOCONDITIONS to -march=native
* Switch other lib to native as well.
* Try switching back further for CPU architecture.
* Even lower end settings.
* Turn on symbols.
* Use sse2,3 and 4 capable x64.
* Once again let verus lib use advances instructioins since it checjs via CPUID at run time.
* Modify a few more makefile entries.
* Switch to AMD model similar to our test system.
* Get snark makefile to k8 too.
* Yet another -march to modify to k8, or two of them.
* Brute force k8 settings, comment non-portable code out.
* Put the condition on cpuid back.
* Put non-portable advenced instruction code back
* Enable instructions.
* Add lib for separate settings.
* Update .gitlab-ci.yml
* Update .gitlab-ci.yml
* Update .gitlab-ci.yml
* Update .gitlab-ci.yml
* replacing k8-sse3 specific flags to x86-84
* updating versions
* Propagate verusd changes.
This field has no defined semantics. While it was added as a result of
discussions about merged mining in #724, this field will not necessarily ever be
used for that purpose.
The main and test networks are configured to use parameters that are currently
low-memory but usable with the basic solver; they will be increased once the
solver is optimised. The regtest network is configured to have extremely low
memory usage for speed.
Note that Bitcoin's double-hasher is used for the difficulty check. This does
not match the paper, but is simpler than changing the block header
serialization. Single hashing is kept for the EquiHash solver because there is
no requirement on execution time there, only on memory usage.
Move the txid duplicates check into BuildMerkleTree, where it can be done
much more efficiently (without needing to build a full txid set to detect
duplicates).
The previous version (using the std::set<uint256> to detect duplicates) was
also slightly too weak. A block mined with actual duplicate transactions
(which is invalid, due to the inputs of the duplicated transactions being
seen as double spends) would trigger the duplicates logic, resulting in the
block not being stored on disk, and rerequested. This change fixes that by
only triggering in the case of duplicated transactions that can actually
result in an identical merkle root.
Lots of people read the Bitcoin Core codebase to learn more about
crypto; better to warn about flaws explicitly so they don't blindly copy
the code for other uses and create broken systems.
Allows network wallets and other clients to see transactions that respend
a prevout already spent in an unconfirmed transaction in this node's mempool.
Knowledge of an attempted double-spend is of interest to recipients of the
first spend. In some cases, it will allow these recipients to withhold
goods or services upon being alerted of a double-spend that deprives them
of payment.
As before, respends are not added to the mempool.
Anti-Denial-of-Service-Attack provisions:
- Use a bloom filter to relay only one respend per mempool prevout
- Rate-limit respend relays to a default of 100 thousand bytes/minute
- Define tx2.IsEquivalentTo(tx1): equality when scriptSigs are not considered
- Do not relay these equivalent transactions
Remove an unused variable declaration in txmempool.cpp.
Use CFeeRate instead of an int64_t for quantities that are
fee-per-size.
Helps prevent unit-conversion mismatches between the wallet,
relaying, and mining code.
Size specifiers are no longer needed now that we use typesafe tinyformat
for string formatting, instead of the system's sprintf.
No functional changes.
This continues the work in #3735.
Amend to d5f1e72. It turns out that BerkelyDB was including inttypes.h
indirectly, so we cannot fix this with just macros.
Trivial commit: apply the following script to all .cpp and .h files:
# Middle
sed -i 's/"PRIx64"/x/g' "$1"
sed -i 's/"PRIu64"/u/g' "$1"
sed -i 's/"PRId64"/d/g' "$1"
# Initial
sed -i 's/PRIx64"/"x/g' "$1"
sed -i 's/PRIu64"/"u/g' "$1"
sed -i 's/PRId64"/"d/g' "$1"
# Trailing
sed -i 's/"PRIx64/x"/g' "$1"
sed -i 's/"PRIu64/u"/g' "$1"
sed -i 's/"PRId64/d"/g' "$1"
After this commit, `git grep` for PRI.64 should turn up nothing except
the defines in util.h.
contrib/devtools/fix-copyright-headers.py script to be able to perform this maintenance task with ease during the rest of the year, every year. Modifications to contrib/devtools/README.md to document what fix-copyright-headers.py does.