Commit Graph

24400 Commits

Author SHA1 Message Date
Duke
c5eeb74807 Simplify MAX_BLOCK_SIZE
Our code requires sapling activation at height 1 so we can simplify this function
which should lead to some performance improvements since it is called from many
places, including mining code.
2024-09-16 11:06:31 -04:00
Duke
912942f2a8 Delete more CC stuff 2024-09-13 18:50:28 -04:00
Duke
4f4a72da8e Go back to taking both main+wallet lock in DecrementWitnesses
By taking a wallet lock first and then main later we run into
a potential deadlock :

2024-09-13 11:14:37 POTENTIAL DEADLOCK DETECTED
2024-09-13 11:14:37 Previous lock order was:
2024-09-13 11:14:37  (1) cs_wallet  wallet/wallet.cpp:985
2024-09-13 11:14:37  (2) cs_main  wallet/wallet.cpp:890
2024-09-13 11:14:37 Current lock order is:
2024-09-13 11:14:37  (2) cs_main  wallet/wallet.cpp:2845
2024-09-13 11:14:37  (1) cs_wallet  wallet/wallet.cpp:2845
2024-09-13 09:34:10 -04:00
Duke
f5cae3b403 getinfo rpc needs a cs_wallet lock
Without it we get an AssertLockHeld when calling GetKeyPoolSize .
We could probably make this lock apply to less code, possibly only
the single line that calls GetKeyPoolSize() needs it.
2024-09-13 04:37:48 -04:00
Duke
6845fcd93a This rpc can only be used on non z2z chains 2024-09-13 04:22:28 -04:00
Duke
be3641158a Only take cs_main lock in GetSaplingSpendDepth
We do not seem to need this lock for the entire DecrementNoteWitnesses function,
we need it only when calling GetSaplingSpendDepth. Also protects against
the case in the future where some code without cs_main calls GetSaplingSpendDepth.
2024-09-13 04:11:38 -04:00
Duke
72c530d281 SMART_CHAIN_SYMBOL is always defined 2024-09-13 03:50:07 -04:00
Duke
7e486538c9 SMART_CHAIN_SYMBOL is always set, so we can remove these checks 2024-09-12 20:12:26 -04:00
Duke
215d0b7db4 Remove commented out code 2024-09-12 20:02:10 -04:00
Duke
8b0c0493ac Ensure cs_main lock is held when TestBlockValidity() is called 2024-09-12 19:47:42 -04:00
Duke
04165e161a Explain more details about the burn address 2024-09-12 13:40:30 -04:00
Duke
f8e7df37a1 Delete commented out code 2024-09-12 12:12:59 -04:00
Duke
7f9878cf0c Take a lock on cs_main in DecrementNoteWitnesses
Another possibly better approach would be to take a lock inside
GetSaplingSpendDepth since we want the lock to apply to as little
code as possible and it is GetSaplingSpendDepth that calls GetDepthInMainChain
which requires a cs_main lock .
2024-09-12 11:47:58 -04:00
Duke
ed86f2dd1d Sleep for 200us before each ActivateBestChainStep call
This should lower the main thread's likelihood to immediately reacquire
cs_main after dropping it, which should help ThreadNotifyWallets and the
RPC methods to acquire cs_main more quickly.

Ported from ZEC commit e2cd1b761fe556bc6d61849346902c3611530307
2024-09-12 00:21:56 -04:00
Duke
b4e083ae56 Add what seems to be missing locks in mining code 2024-09-11 23:59:57 -04:00
Duke
b71d95bdd4 Delete disabled code 2024-09-11 23:32:46 -04:00
Duke
aa75877cd6 Print stacktrace when asserting a lock is held 2024-09-11 23:31:44 -04:00
Duke
2a910549ba Merge branch 'dev' of https://git.hush.is/hush/hush3 into dev 2024-09-11 14:53:58 -04:00
Duke
25f2ccb30e Document exactly what the RD6GgnrMpPaTSMn8vai6yiGA7mN4QGPVMY address is and how it is derived 2024-09-11 14:53:33 -04:00
Duke
1e892f23e6 Remove dead nVersion code
This is very old code from the early days of Bitcoin, our mainnets have
never used peer protocol version.

Originally 150ab1d34c
2024-08-07 07:18:08 -07:00
Duke
8d2380a31d Record value of DEBUG_LOCKORDER in debug.log 2024-06-09 12:10:59 -04:00
Duke
8a997b04f3 Check if the node should stop when processing thread interrupts and exceptions, in hopes of stopping before a deadlock occurs 2024-06-09 11:22:21 -04:00
onryo
07054fc346 Prevent communication between HUSH3 nodes and DRAGONX nodes in both directions 2024-05-16 19:07:29 +02:00
Duke
5273f4be9e Give Hush mainnet a dedicated minimum protocol version #345
Hush and DragonX do not have the same requirements for which nodes they
should talk to because they don't necessarily have consensus changes at
the same time. For instance, 3.10.0 was a consensus change for Hush but
not DragonX. This commit changes things so that Hush nodes will no
longer talk to old nodes that are not consensus compatible but leaves
things the same for DragonX mainnet, which has never had a consensus
change.
2024-05-06 08:46:21 -07:00
Duke
18e3364bc2 Make docs for addnode/disconnectnode correct for HACs #376 2024-04-19 07:32:23 -04:00
Duke
0d0a7e9587 Fix 'writing 1 byte into region of size 0' 2024-04-18 06:41:25 -07:00
onryo
b446ec384c make sure genbuild.sh builds 2024-03-31 23:54:32 +02:00
Duke
975f22bfa0 Improve error message in z_sendmany if tx is estimated to be too large
The previous error message was incorrect, it could be too many inputs
or a combination of too many inputs and outputs and also did not report
the estimated size.
2024-03-21 11:30:54 -04:00
Duke
558f662a33 Do not apply sapling network rules to block height 0 or 1 in ScanForWalletTransactions 2024-03-21 11:17:58 -04:00
Duke
f5f851158a Merge branch 'dev' into duke 2024-03-21 11:07:56 -04:00
Duke
3354d45fd3 Make getchaintxstats less noisy in debug log 2024-03-20 16:19:54 -04:00
Duke
8ff5e4aa5e Make getchaintxstats less noisy in debug log 2024-03-20 14:09:02 -04:00
Duke
9842687be2 It is called hush-arrakis-chain now 2024-03-15 15:17:04 -04:00
Duke
25c27d2ef5 It is called hush-arrakis-chain now 2024-03-15 15:16:04 -04:00
Duke
d1991e6454 It is called hush-arrakis-chain now 2024-03-15 15:14:26 -04:00
Duke
49f8cf7ca7 Remove some unneeded cc code 2024-03-15 15:08:10 -04:00
Duke
65c4c5c8de They are called Hush Arrakis Chains (HACs) now 2024-03-15 14:06:57 -04:00
Duke
a7dd567031 They are called Hush Arrakis Chains (HACs) now 2024-03-15 13:33:18 -04:00
Duke
64f59552b3 They are called Hush Arrakis Chains (HACs) now 2024-03-15 13:32:46 -04:00
Duke
7db5749730 Merge branch 'dev' into duke 2024-03-15 13:29:14 -04:00
jahway603
4a3c335050 minor QA changes 2024-03-04 08:57:14 -05:00
onryo
beee6c1698 Update HUSH/DRGX checkpoints 2024-03-04 10:32:51 +01:00
Duke
81bd6e2f4e Merge branch 'dev' into duke 2024-03-03 09:58:12 -05:00
jahway603
8c8b6e88f0 make i2p seed 2024-03-01 16:52:25 -05:00
onryo
54af342484 make seeds 2024-03-01 10:16:38 +01:00
Duke
7b3c26ddfe Remove CC dingleberries 2024-02-28 12:43:43 -05:00
onryo
138cd7ab62 Update HUSH/DRGX checkpoints 2024-02-28 18:41:50 +01:00
Duke
dfa94d80d8 Fix copyright years which were incorrectly changed 2024-02-28 11:39:22 -05:00
Duke
774f1a9a78 Fix copyright years which were incorrectly changed 2024-02-28 11:38:07 -05:00
onryo
58b65f9670 Update copyrights 2024-02-27 23:59:59 +01:00