dash/src
pasta 79ced62d6f
Merge #6369: feat: increased withdrawal limits to flat 2000 from v22
e43ca6243a feat: replace assert to error in p2p code of Asset Lock (Konstantin Akimov)
c97f5f5ca5 feat: update some asserts related to CreditPool in consensus code to exceptions (Konstantin Akimov)
877aa08144 feat: generate less blocks in feature_asset_locks.py to make it faster (Konstantin Akimov)
a51ade5cc9 style: apply clang-format (Konstantin Akimov)
ef6190e434 docs: add release notes for withdrawal changes in v22 (Konstantin Akimov)
5b0a2f56cd fix: string in credit pool logs 'previous' is renamed to recently unlocked (Konstantin Akimov)
31ca8a497a feat: update limit of withdrawals to flat 2000 starting from v22 (Konstantin Akimov)

Pull request description:

  ## Issue being fixed or feature implemented
  Limit 1000 seems a bit small at the moment, while limit 2000 is still safe enough.

  ## What was done?
  Withdrawals limits in pre-v22 are:
   - if credit pool is more than 10k -> limit withdrawals to 1k
   - if credit pool is between 100 dash and 10000 dash -> let to withdraw 10%.
   - if 10% of credit pool is less than 100 dash -> no limits, let to withdraw everything.

  The fork `withdrawals` introduces higher limit:
   - 2000 dash per last 576 blocks. That's all.

  ## How Has This Been Tested?
  Updated functional test `feature_asset_locks.py`

  ## Breaking Changes
  Limits of withdrawals are increased to 2000 dash. It changes consensus rules.

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [x] I have commented my code, particularly in hard-to-understand areas
  - [x] I have added or updated relevant unit/integration/functional/e2e tests
  - [x] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone

ACKs for top commit:
  PastaPastaPasta:
    utACK e43ca6243a
  UdjinM6:
    utACK e43ca6243a

Tree-SHA512: 77fc27b6b38105cc311ee5ea78d66edfe854600ad6fb9422c0d302dac436e9aa1dcdc394a36ccb980d42de98091c1596e01be260b3a940df4e6309842fd89065
2024-10-28 12:30:05 -05:00
..
bench Merge #6334: backport: merge bitcoin#22951, #23137, #23293, #23439, #23152, #23517, #23637, #24080, #25485, #24565 (auxiliary backports: part 20) 2024-10-26 12:23:36 -05:00
bls chore: run contrib/devtools/copyright_header.py update . 2024-10-05 23:17:41 +03:00
coinjoin merge bitcoin#22951: move amount.h into consensus 2024-10-25 16:00:12 +00:00
common merge bitcoin#23137: move-only bloom to src/common 2024-10-25 21:36:52 +00:00
compat Merge bitcoin/bitcoin#26809: compat: use STDIN_FILENO over 0 2024-08-12 11:52:39 +07:00
config
consensus merge bitcoin#24565: Remove LOCKTIME_MEDIAN_TIME_PAST constant 2024-10-25 21:36:54 +00:00
crc32c Merge bitcoin/bitcoin#29493: subtree: update crc32c subtree 2024-10-24 11:16:20 -05:00
crypto Merge bitcoin/bitcoin#30097: crypto: disable asan for sha256_sse4 with clang and -O0 2024-10-25 15:30:56 -05:00
dashbls build: stop tracking cmake dependency relic_conf.h.in 2024-10-09 17:26:10 +03:00
evo feat: replace assert to error in p2p code of Asset Lock 2024-10-28 22:25:11 +07:00
governance merge bitcoin#23137: move-only bloom to src/common 2024-10-25 21:36:52 +00:00
gsl fix: optimize includes in gsl/pointer.h to speed up compile time 2024-08-26 16:16:31 +07:00
immer
index Merge #6352: backport: trivial 2024 10 23 pr9 2024-10-25 12:56:23 -05:00
init Merge bitcoin/bitcoin#22216: refactor: Make SetupServerArgs callable without NodeContext 2024-08-28 01:09:45 +07:00
interfaces merge bitcoin#22951: move amount.h into consensus 2024-10-25 16:00:12 +00:00
ipc Merge bitcoin/bitcoin#22218: multiprocess: Add ipc::Context and ipc::capnp::Context structs 2024-08-14 12:12:50 +07:00
leveldb
llmq fix: add ignoring safety-annotation for llmq/signing_shares due to template lambdas 2024-10-12 20:06:27 +07:00
logging merge bitcoin#22872: improve checkaddrman logging with duration in milliseconds 2024-09-03 14:57:48 +00:00
masternode merge bitcoin#22951: move amount.h into consensus 2024-10-25 16:00:12 +00:00
minisketch depends: update 'src/minisketch' to sipa/minisketch@a571ba20 as 1c94f1a3 2024-10-20 10:41:07 +00:00
node merge bitcoin#26359: Erlay support signaling follow-ups 2024-10-27 19:38:30 +00:00
policy merge bitcoin#24565: Remove LOCKTIME_MEDIAN_TIME_PAST constant 2024-10-25 21:36:54 +00:00
primitives merge bitcoin#22951: move amount.h into consensus 2024-10-25 16:00:12 +00:00
qt Merge #6362: backport: trivial 2024 10 25 pr1 2024-10-27 14:15:08 -05:00
rpc Merge #6365: backport: merge bitcoin#22778, #25156, #26497, #27213, #28189, #28155, #28895, partial bitcoin#26396 (networking backports: part 9) 2024-10-27 14:19:30 -05:00
script merge bitcoin#22951: move amount.h into consensus 2024-10-25 16:00:12 +00:00
secp256k1
stats Merge #6312: chore: Update copyrights and copyright_header.py script 2024-10-07 15:29:29 -05:00
support Merge bitcoin/bitcoin#26950: cleanse: switch to SecureZeroMemory for Windows cross-compile 2024-10-26 19:14:07 -05:00
test merge bitcoin#26686: Enable erlay setting in process_message(s) targets 2024-10-27 19:38:30 +00:00
univalue Merge bitcoin/bitcoin#30464: test, refactor: Fix MSVC warning C4101 "unreferenced local variable" 2024-09-27 12:52:15 -05:00
util Merge #6363: backport: trivial 2024 10 25 pr2 2024-10-26 19:21:50 -05:00
wallet merge bitcoin#22951: move amount.h into consensus 2024-10-25 16:00:12 +00:00
zmq merge bitcoin#26261: cleanup LookupIntern, Lookup and LookupHost 2024-09-11 18:34:06 +00:00
.clang-format
addrdb.cpp merge bitcoin#26847: track AddrMan totals by network and table, improve precision of adding fixed seeds 2024-09-11 16:18:46 +00:00
addrdb.h merge bitcoin#22910: Encapsulate asmap in NetGroupManager 2024-09-03 14:57:50 +00:00
addressindex.cpp chore: run contrib/devtools/copyright_header.py update . 2024-10-05 23:17:41 +03:00
addressindex.h merge bitcoin#22951: move amount.h into consensus 2024-10-25 16:00:12 +00:00
addrman_impl.h merge bitcoin#27745: select addresses by network follow-up 2024-09-11 18:34:07 +00:00
addrman.cpp Merge bitcoin/bitcoin#27319: addrman, refactor: improve stochastic test in AddSingle 2024-10-24 11:16:19 -05:00
addrman.h merge bitcoin#27015: bitcoin#26847 fixups (AddrMan totals) 2024-09-13 16:57:54 +00:00
arith_uint256.cpp
arith_uint256.h
attributes.h Merge bitcoin/bitcoin#27575: Introduce platform-agnostic ALWAYS_INLINE macro 2024-10-25 09:59:35 -05:00
banman.cpp
banman.h merge bitcoin#23137: move-only bloom to src/common 2024-10-25 21:36:52 +00:00
base58.cpp
base58.h
batchedlogger.cpp
batchedlogger.h
bech32.cpp Merge bitcoin/bitcoin#22579: doc: Add references for the generator/constant used in Bech32(m) 2024-10-04 14:59:02 +05:30
bech32.h
bip324.cpp merge bitcoin#28433: Follow-up to BIP324 connection support 2024-09-20 12:24:22 +00:00
bip324.h merge bitcoin#28433: Follow-up to BIP324 connection support 2024-09-20 12:24:22 +00:00
bitcoin-cli.cpp merge bitcoin#29212: Fix -netinfo backward compat with getpeerinfo pre-v26 2024-10-16 16:50:56 +00:00
bitcoin-tx.cpp Merge bitcoin/bitcoin#24139: Avoid unsigned integer overflow in bitcoin-tx 2024-09-12 20:24:08 +05:30
bitcoin-wallet.cpp
bitcoind.cpp Merge bitcoin/bitcoin#22216: refactor: Make SetupServerArgs callable without NodeContext 2024-08-28 01:09:45 +07:00
blockencodings.cpp
blockencodings.h
blockfilter.cpp Merge bitcoin/bitcoin#27010: refactor: use Hash helpers for double-SHA256 calculations 2024-10-25 09:08:28 -05:00
blockfilter.h merge bitcoin#24832: Verify the block filter hash when reading the filter from disk 2024-10-15 06:58:51 +00:00
cachemap.h
cachemultimap.h
chain.cpp merge bitcoin#25349: CBlockIndex/CDiskBlockIndex improvements for safety, consistent behavior 2024-08-23 06:57:37 +00:00
chain.h Merge bitcoin/bitcoin#28691: refactor: Remove CBlockFileInfo::SetNull 2024-10-24 13:50:32 -05:00
chainparams.cpp feat: generate less blocks in feature_asset_locks.py to make it faster 2024-10-28 21:47:46 +07:00
chainparams.h
chainparamsbase.cpp feat: remove feature_dip0020_activationl.py functional test and related code 2024-10-08 15:20:40 +07:00
chainparamsbase.h
chainparamsseeds.h chore: update seeds 2024-07-25 02:00:25 +07:00
checkqueue.h
clientversion.cpp
clientversion.h
coins.cpp Merge bitcoin/bitcoin#25663: tracing: do not use coin after move in CCoinsViewCache::AddCoin 2024-10-24 11:21:49 -05:00
coins.h Merge bitcoin/bitcoin#28913: coins: make sure PoolAllocator uses the correct alignment 2024-10-23 22:19:56 -05:00
compat.h
compressor.cpp
compressor.h
context.h chore: run contrib/devtools/copyright_header.py update . 2024-10-05 23:17:41 +03:00
core_io.h merge bitcoin#22951: move amount.h into consensus 2024-10-25 16:00:12 +00:00
core_memusage.h
core_read.cpp merge bitcoin#22875: Fix Racy ParseOpCode function initialization 2024-10-08 15:59:18 +00:00
core_write.cpp merge bitcoin#22951: move amount.h into consensus 2024-10-25 16:00:12 +00:00
ctpl_stl.h
cuckoocache.h
cxxtimer.hpp fix: adjust doxygen for dash codebase for -Wdocumentation 2024-07-13 01:58:21 +07:00
dash-cli-res.rc Merge bitcoin/bitcoin#22724: windres: use PACKAGE_VERSION rather than building more version numbers 2024-09-27 15:35:12 -05:00
dash-tx-res.rc Merge bitcoin/bitcoin#22724: windres: use PACKAGE_VERSION rather than building more version numbers 2024-09-27 15:35:12 -05:00
dash-wallet-res.rc Merge bitcoin/bitcoin#22724: windres: use PACKAGE_VERSION rather than building more version numbers 2024-09-27 15:35:12 -05:00
dashd-res.rc Merge bitcoin/bitcoin#22724: windres: use PACKAGE_VERSION rather than building more version numbers 2024-09-27 15:35:12 -05:00
dbwrapper.cpp merge bitcoin#23522: Improve fs::PathToString documentation 2024-08-06 18:00:38 +00:00
dbwrapper.h fix: adjust doxygen for dash codebase for -Wdocumentation 2024-07-13 01:58:21 +07:00
deploymentinfo.cpp feat: new fork WITHDRAWALS introduced 2024-10-08 03:15:53 +07:00
deploymentinfo.h
deploymentstatus.cpp Merge bitcoin/bitcoin#22597: consensus/params: simplify ValidDeployment check to avoid gcc warning 2024-08-09 16:59:39 +07:00
deploymentstatus.h Merge bitcoin/bitcoin#22385: refactor: Use DeploymentEnabled to hide VB deployments 2024-08-09 14:50:07 +07:00
dsnotificationinterface.cpp refactor: make pdsNotificationInterface a unique_ptr, rename 2024-09-13 13:06:22 +00:00
dsnotificationinterface.h refactor: make pdsNotificationInterface a unique_ptr, rename 2024-09-13 13:06:22 +00:00
dummywallet.cpp
flat-database.h Merge #6318: refactor: remove circular dependency governance/object over governance/classes 2024-10-08 17:12:24 -05:00
flatfile.cpp merge bitcoin#22937: Forbid calling unsafe fs::path(std::string) constructor and fs::path::string() method 2024-08-06 18:00:38 +00:00
flatfile.h Merge bitcoin/bitcoin#27289: Refactor: Remove unused FlatFilePos::SetNull 2024-10-24 15:16:39 -05:00
fs.cpp merge bitcoin#25898: remove WSL 1 workaround in fs 2024-08-13 22:53:50 +07:00
fs.h Merge #6213: backport: trivial 2024 08 14 2024-08-21 09:00:07 -05:00
hash_x11.h fmt: run clang-format on hash_x11.h 2024-10-04 15:35:45 -05:00
hash.cpp partial bitcoin#19953: Implement BIP 340-342 validation 2024-10-27 19:38:29 +00:00
hash.h partial bitcoin#19953: Implement BIP 340-342 validation 2024-10-27 19:38:29 +00:00
httprpc.cpp merge bitcoin#25619: avoid overriding non-virtual ToString() in CService and use better naming 2024-09-11 16:18:46 +00:00
httprpc.h
httpserver.cpp merge bitcoin#26261: cleanup LookupIntern, Lookup and LookupHost 2024-09-11 18:34:06 +00:00
httpserver.h
i2p.cpp Merge #6346: backport: trivial 2024 10 23 pr2 2024-10-24 16:54:41 -05:00
i2p.h
indirectmap.h
init.cpp merge bitcoin#26359: Erlay support signaling follow-ups 2024-10-27 19:38:30 +00:00
init.h Merge bitcoin/bitcoin#22216: refactor: Make SetupServerArgs callable without NodeContext 2024-08-28 01:09:45 +07:00
key_io.cpp
key_io.h
key.cpp Merge bitcoin/bitcoin#27010: refactor: use Hash helpers for double-SHA256 calculations 2024-10-25 09:08:28 -05:00
key.h
limitedmap.h
logging.cpp merge bitcoin#23443: Erlay support signaling 2024-10-27 19:38:29 +00:00
logging.h merge bitcoin#23443: Erlay support signaling 2024-10-27 19:38:29 +00:00
Makefile.am merge bitcoin#23670: Build minisketch test in make check, not in make 2024-10-27 19:38:30 +00:00
Makefile.bench.include Merge #6321: backport: trivial 2024 10 08 2024-10-22 09:12:06 -05:00
Makefile.crc32c.include
Makefile.leveldb.include
Makefile.minisketch.include merge bitcoin#23670: Build minisketch test in make check, not in make 2024-10-27 19:38:30 +00:00
Makefile.qt_locale.include
Makefile.qt.include Merge bitcoin-core/gui#381: refactor: Make BitcoinCore class reusable 2024-10-25 20:51:20 +07:00
Makefile.qttest.include merge bitcoin#24301: header-only Boost 2024-08-13 22:53:48 +07:00
Makefile.test_fuzz.include merge bitcoin#26497: Make ConsumeNetAddr always produce valid onion addresses 2024-10-26 19:22:31 +00:00
Makefile.test_util.include merge bitcoin#25325: Add pool based memory resource 2024-09-04 16:29:30 +00:00
Makefile.test.include merge bitcoin#23443: Erlay support signaling 2024-10-27 19:38:29 +00:00
Makefile.univalue.include
mapport.cpp Merge bitcoin/bitcoin#30283: upnp: fix build with miniupnpc 2.2.8 2024-10-26 19:14:05 -05:00
mapport.h
memusage.h merge bitcoin#25325: Add pool based memory resource 2024-09-04 16:29:30 +00:00
merkleblock.cpp partial Merge #20842: docs: consolidate typo & url fixing 2024-07-26 13:32:54 +07:00
merkleblock.h merge bitcoin#23137: move-only bloom to src/common 2024-10-25 21:36:52 +00:00
messagesigner.cpp
messagesigner.h
net_permissions.cpp merge bitcoin#26261: cleanup LookupIntern, Lookup and LookupHost 2024-09-11 18:34:06 +00:00
net_permissions.h
net_processing.cpp merge bitcoin#26359: Erlay support signaling follow-ups 2024-10-27 19:38:30 +00:00
net_processing.h refactor: new type of message processing result for resolving circular dependency over PeerManager 2024-10-03 16:30:45 +07:00
net_types.cpp Merge bitcoin/bitcoin#22362: Drop only invalid entries when reading banlist.json 2024-09-25 10:18:12 +05:30
net_types.h refactor: new type of message processing result for resolving circular dependency over PeerManager 2024-10-03 16:30:45 +07:00
net.cpp Merge #6365: backport: merge bitcoin#22778, #25156, #26497, #27213, #28189, #28155, #28895, partial bitcoin#26396 (networking backports: part 9) 2024-10-27 14:19:30 -05:00
net.h Merge #6365: backport: merge bitcoin#22778, #25156, #26497, #27213, #28189, #28155, #28895, partial bitcoin#26396 (networking backports: part 9) 2024-10-27 14:19:30 -05:00
netaddress.cpp merge bitcoin#26497: Make ConsumeNetAddr always produce valid onion addresses 2024-10-26 19:22:31 +00:00
netaddress.h merge bitcoin#26497: Make ConsumeNetAddr always produce valid onion addresses 2024-10-26 19:22:31 +00:00
netbase.cpp Merge bitcoin/bitcoin#30245: net: Allow -proxy=[::1] on nodes with IPV6 lo only 2024-10-26 19:14:06 -05:00
netbase.h merge bitcoin#26261: cleanup LookupIntern, Lookup and LookupHost 2024-09-11 18:34:06 +00:00
netfulfilledman.cpp chore: run contrib/devtools/copyright_header.py update . 2024-10-05 23:17:41 +03:00
netfulfilledman.h chore: run contrib/devtools/copyright_header.py update . 2024-10-05 23:17:41 +03:00
netgroup.cpp Merge bitcoin/bitcoin#24976: netgroup: Follow-up for #22910 2024-10-15 09:25:09 -05:00
netgroup.h merge bitcoin#22910: Encapsulate asmap in NetGroupManager 2024-09-03 14:57:50 +00:00
netmessagemaker.h fix: release unused memory in CNetMsgMaker::Make() 2024-08-27 20:45:36 +03:00
noui.cpp
noui.h
outputtype.cpp
outputtype.h
pow.cpp
pow.h
prevector.h
protocol.cpp merge bitcoin#23443: Erlay support signaling 2024-10-27 19:38:29 +00:00
protocol.h merge bitcoin#26359: Erlay support signaling follow-ups 2024-10-27 19:38:30 +00:00
psbt.cpp
psbt.h Merge bitcoin/bitcoin#26997: psbt: s/transcation/transaction/ 2024-10-23 20:06:32 -05:00
pubkey.cpp merge bitcoin#28196: BIP324 connection support 2024-09-20 12:24:22 +00:00
pubkey.h merge bitcoin#28196: BIP324 connection support 2024-09-20 12:24:22 +00:00
random.cpp Merge bitcoin/bitcoin#26839: Add support for RNDR/RNDRRS for AArch64 on Linux 2024-10-24 13:50:32 -05:00
random.h stats: clean up randomization code, move FastRandomContext inward 2024-09-11 14:34:19 +00:00
randomenv.cpp Merge #6362: backport: trivial 2024 10 25 pr1 2024-10-27 14:15:08 -05:00
randomenv.h
rest.cpp merge bitcoin#17631: Expose block filters over REST 2024-10-08 15:59:18 +00:00
reverse_iterator.h Merge bitcoin/bitcoin#26827: doc: use "std lib clock" over "C++11 clock" 2024-08-12 11:52:41 +07:00
saltedhasher.cpp
saltedhasher.h
scheduler.cpp partial bitcoin#24169: Add --enable-c++20 option 2024-08-06 18:00:39 +00:00
scheduler.h
serialize.h Merge bitcoin/bitcoin#28203: refactor: serialization simplifications 2024-10-24 11:18:38 -05:00
shutdown.cpp
shutdown.h
source_location.h
span.h
spentindex.h merge bitcoin#22951: move amount.h into consensus 2024-10-25 16:00:12 +00:00
spork.cpp chore: run contrib/devtools/copyright_header.py update . 2024-10-05 23:17:41 +03:00
spork.h fix: adjust the number of spork defaults 2024-10-16 13:16:00 +03:00
stacktraces.cpp chore: run contrib/devtools/copyright_header.py update . 2024-10-05 23:17:41 +03:00
stacktraces.h
streams.h merge bitcoin#16981: Improve runtime performance of --reindex 2024-10-15 06:58:52 +00:00
sync.cpp Merge #19668: Do not hide compile-time thread safety warnings 2024-10-12 20:06:28 +07:00
sync.h Merge #6319: backport: bitcoin#19668, #21598, #19979, #28774 - lock annotations 2024-10-21 09:08:38 -05:00
threadinterrupt.cpp
threadinterrupt.h
threadsafety.h
timedata.cpp
timedata.h
timestampindex.h chore: run contrib/devtools/copyright_header.py update . 2024-10-05 23:17:41 +03:00
tinyformat.h
torcontrol.cpp merge bitcoin#23538: Remove strtol in torcontrol 2024-10-08 15:59:17 +00:00
torcontrol.h
txdb.cpp merge bitcoin#22626: Remove txindex migration code 2024-10-05 17:10:03 +00:00
txdb.h merge bitcoin#22626: Remove txindex migration code 2024-10-05 17:10:03 +00:00
txmempool.cpp fix: add multiple missing annotation about locks for dash specific code 2024-10-12 20:06:23 +07:00
txmempool.h merge bitcoin#22951: move amount.h into consensus 2024-10-25 16:00:12 +00:00
txorphanage.cpp fix: fixes for orphange's locks and cs_main 2024-10-12 20:06:27 +07:00
txorphanage.h Merge bitcoin/bitcoin#21562: [net processing] Various tidying up of PeerManagerImpl ctor 2024-10-25 20:51:18 +07:00
uint256.cpp
uint256.h Merge bitcoin/bitcoin#27929: Added static_assert to check that base_blob is using whole bytes. 2024-10-25 09:12:01 -05:00
undo.h
unordered_lru_cache.h
validation.cpp merge bitcoin#24565: Remove LOCKTIME_MEDIAN_TIME_PAST constant 2024-10-25 21:36:54 +00:00
validation.h merge bitcoin#24080: Remove unused locktime flags 2024-10-25 21:36:53 +00:00
validationinterface.cpp merge bitcoin#19572: Create "sequence" notifier, enabling client-side mempool tracking 2024-08-26 15:35:12 +00:00
validationinterface.h merge bitcoin#24138: Commit MuHash and best block together for coinstatsindex 2024-10-15 06:58:50 +00:00
version.h chore: run contrib/devtools/copyright_header.py update . 2024-10-05 23:17:41 +03:00
versionbits.cpp
versionbits.h
walletinitinterface.h
warnings.cpp
warnings.h