This commit drastically improves the privacy of the HUSH anonymity set
under attacks which ingest wallet.dat's which have been obtained by
seizure, i.e. stealing someones HUSH wallet.dat and putting it into
chain analysis software. Ciphertrace is known to do this to ZEC and XMR
and we can assume all chain analysis companies are implementing new
ways to de-anonymize privacy coins with any data they can obtain.
Instead of randomly sending to a randomly chosen static address,
hushd Sietch zdust addresses are now randomly generated at run-time. These
addresses are not stored in wallet.dat in any way and their private keys
are not known except by the internal memory of hushd for a few milliseconds.
This data is not stored in long-lived data structures of hushd, only as long
as the RPC z_getnewaddress is running or the equivalent function for internals
code paths. The seeds or private keys of these addresses are never stored on disk.
This now brings hushd on par with SDL, which already does this via a
different but equivalent seed phrase technique.
With this technique, if a HUSH wallet.dat is seized, it's impossible to tell
if any of the shielded outputs are random Sietch zdust with random data payload
or a one-time-use zaddr with encrypted payload.
Assets:
change tokeninfo to return "supply" in satoshis
Max description length to 4096
Rewards:
Fix rewardsunlock without giving it a locked txid always gives error
Fix (nonconsensus) allow anybody to unlock only AFTER maxtime
Fix rewards unlock to use mempool
fix could you add a locked_funds value to rewardsinfo?
Fix i deposited 100000 at 20% apr for one day i only got back
100000.01140669 seems like too little for 20% APR
Faucet:
Fix txid with 0x00 at beginning and end required for faucetget txid
(65536 average iterations needed)
Change reduce faucet get to 0.1 coins
Can’t reproduce: it seems that if you re-run faucetget twice in the
same block is when it pegs the cpu to max
Dice:
fix Dice status always returning loss
Wont fix Profit margin for dice plan sounds good. -> use -ac_commission
* 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.