* 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 corrects a bug the case of tying group size where the code may
fail to select the group with the newest member. Since newest time
is the final selection criteria, failing to break ties on it
on the step before can undermine the final selection.
Tied netgroups are very common.
With automatic tor HS support in place we should probably not be providing
absolute protection for local peers, since HS inbound could be used to
attack pretty easily. Instead, this counts on the latency metric inside
AttemptToEvictConnection to privilege actually local peers.
- Force AUTHCOOKIE size to be 32 bytes: This provides protection against
an attack where a process pretends to be Tor and uses the cookie
authentication method to nab arbitrary files such as the
wallet
- torcontrol logging
- fix cookie auth
- add HASHEDPASSWORD auth, fix fd leak when fwrite() fails
- better error reporting when cookie file is not ok
- better init/shutdown flow
- stop advertizing service when disconnected from tor control port
- COOKIE->SAFECOOKIE auth
Starting with Tor version 0.2.7.1 it is possible, through Tor's control socket
API, to create and destroy 'ephemeral' hidden services programmatically.
https://stem.torproject.org/api/control.html#stem.control.Controller.create_ephemeral_hidden_service
This means that if Tor is running (and proper authorization is available),
bitcoin automatically creates a hidden service to listen on, without user
manual configuration. This will positively affect the number of available
.onion nodes.
- When the node is started, connect to Tor through control socket
- Send `ADD_ONION` command
- First time:
- Make it create a hidden service key
- Save the key in the data directory for later usage
- Make it redirect port 8333 to the local port 8333 (or whatever port we're listening on).
- Keep control socket connection open for as long node is running. The hidden service will
(by default) automatically go away when the connection is closed.
The setAskFor duplicate elimination was too eager and removed entries
when we still had no getdata response, allowing the peer to keep
INVing and not responding.
mapAlreadyAskedFor does not keep track of which peer has a request queued for a
particular tx. As a result, a peer can blind a node to a tx indefinitely by
sending many invs for the same tx, and then never replying to getdatas for it.
Each inv received will be placed 2 minutes farther back in mapAlreadyAskedFor,
so a short message containing 10 invs would render that tx unavailable for 20
minutes.
This is fixed by disallowing a peer from having more than one entry for a
particular inv in mapAlreadyAskedFor at a time.
`nMinPingUsecTime` was left uninitialized in CNode.
The correct initialization for a minimum-until-now is int64_t's max value, so initialize it to that.
Thanks @MarcoFalke for noticing.