Commit Graph

2468 Commits

Author SHA1 Message Date
Duke
c6892b950b Merge branch 'dev' into lockzins 2025-08-13 01:19:34 -04:00
Duke
5d31a77036 Do not throw exception during syncing on regtest 2025-08-12 23:57:27 -04:00
Duke
45f2e6b134 Remove unused code 2025-08-12 23:39:26 -04:00
Duke
0cd2bafa3a Remove unused CLI options and update debian example config 2025-08-12 13:37:44 -04:00
Duke
bd52fc5ee6 Try harder to avoid selecting locked notes to spend 2025-08-11 09:36:45 -04:00
Duke
d415277548 Merge branch 'dev' into lockzins 2025-07-29 09:10:42 -04:00
Duke
ab81589bdf Add rpc docs for using * with z_shieldcoinbase 2025-07-24 12:37:58 -04:00
Duke
7e63e2f013 We call them HACs now 2025-06-27 05:32:12 -04:00
Duke
007f2b31af Keep a list of notes we are spending and must lock which is different from the list of all notes we might spend 2025-05-31 12:21:17 -04:00
Duke
b5db300aed Clean up some comments 2025-05-31 11:07:52 -04:00
Duke
4fde93960b Upstream zec issue 1360 is mostly about sprout and sending to taddrs, which is not relevant 2025-05-31 10:09:24 -04:00
Duke
46070c65fd Remove comment which is no longer correct, z_mergetoaddress has locked notes for a long time now 2025-05-30 13:56:38 -04:00
Duke
e38e10acdd Show a prefix of the first 8 chars of the hash for note debug lines 2025-05-30 09:54:44 -04:00
Duke
67dc93617c Merge branch 'dev' into lockzins 2025-05-30 08:41:30 -04:00
Duke
dba46b2ba6 Wait until after find_unspent_notes() to lock notes in z_sendmany 2025-05-30 08:40:42 -04:00
Duke
88143a87fc Clean up locks if z_sendmany is cancelled 2025-05-30 08:22:31 -04:00
Duke
b43a4f2653 Remove unused code and formatting 2025-05-30 08:22:16 -04:00
Duke
d7fe1d43ca Debug logs when locking/unlocking a note 2025-05-29 18:43:30 -04:00
Duke
a520a3e655 Support using non-hex utf8 strings with z_sendmany memo 2025-05-29 15:40:07 -04:00
Duke
cc1c0b30b0 There is now only one opreturn possible in z_sendmany so pull the assignment to opret out of the loop 2025-05-29 15:31:47 -04:00
Duke
38901a073b opreturn is no longer a valid json key in z_sendmany 2025-05-29 15:24:17 -04:00
Duke
a710dd2099 Allow an optional opreturn param 2025-05-29 15:08:40 -04:00
Duke
b6418912f2 Document utf8: prefix in z_sendmany opreturn and add example to RPC help 2025-05-29 13:53:21 -04:00
Duke
48e0a989c1 Decode utf8 in opreturn and convert to hex 2025-05-29 02:39:58 -04:00
Duke
fb3eb56c8f Begin supporting utf8: in z_sendmany opreturn 2025-05-20 12:29:56 -04:00
Duke
492fbcd023 Leave opretValue null unless a 5th argument is given to avoid adding empty opreturns 2025-05-20 12:21:47 -04:00
Duke
97878fa065 There can be only one OP_RETURN in a tx 2025-05-20 11:47:22 -04:00
Duke
cb1b3df553 Remove unused sprout junk 2025-05-19 09:20:54 -04:00
Duke
2bd3b510ed Also lock transparent input utxos in z_sendmany, like z_mergetoaddress already does 2025-05-19 08:56:53 -04:00
Duke
532b15b45e Lock and unlock sapling notes during consolidations 2025-05-18 17:38:03 -04:00
Duke
dcdc9b4d69 We no longer need to include this joinsplit header 2025-05-18 17:37:25 -04:00
Duke
982986bb70 Remove unused joinsplit variables from z_mergetoaddress 2025-05-18 17:00:28 -04:00
Duke
40337a04b3 Remove unused joinsplit variables 2025-05-18 16:57:29 -04:00
Duke
8d93e5dfb4 Add locked key to z_listunspent rpc docs 2025-05-18 16:11:09 -04:00
Duke
1b527bc838 Add 'locked' key to the output of z_listunspent 2025-05-18 16:07:47 -04:00
Duke
8980fceadf Add logging for the locking+unlocking of zins 2025-05-18 16:07:10 -04:00
Duke
bd730cb927 Lock zins inside z_sendmany async operation 2025-05-18 14:52:51 -04:00
Duke
d18e246a92 Remove unused sprout datastructures 2025-05-18 14:21:20 -04:00
Duke
604d77fcd9 No use wasting memory to keep track of the set of all addresses and never use it 2025-05-17 23:28:31 -04:00
Duke
18e4ca070e Remove more cc stuff 2024-10-01 10:49:13 -04:00
Duke
a00ad8eeb8 Merge branch 'dev' into duke 2024-10-01 08:58:09 -04:00
Duke
93f6514d86 Disable absurd fee checks when adding to the mempool
To protect users who are not using opreturn we prevent any use of z_sendmany
with absurd fees if opreturn is not being used, so this change only affects
users who are adding opreturn data. Since there is no way to currently send
opreturn data via a GUI this still protects all GUI users from absurd fees
while allowing CLI users to decide to use higher fees.
2024-09-26 11:13:07 -04:00
Duke
380875906d Remove more CC stuff 2024-09-22 09:40:37 -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
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
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
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
65c4c5c8de They are called Hush Arrakis Chains (HACs) now 2024-03-15 14:06:57 -04:00