Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wallet fix missing amount with fee exceeds balance #2761

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
10000 commits
Select commit Hold shift + click to select a range
fa12706
Reject invalid rpcauth formats
Apr 30, 2022
c0f5cc1
build: Fix `libmultiprocess` cross-compiling to Linux hosts
hebasto Apr 30, 2022
c2b2958
tidy: add readability-redundant-declaration
fanquake May 1, 2022
e389c4d
Merge bitcoin/bitcoin#25043: Reject invalid rpcauth formats
fanquake May 1, 2022
7fd0860
Bugfix: configure: Define defaults for enable_arm_{crc,shani}
luke-jr May 2, 2022
5c93fc1
Merge bitcoin/bitcoin#25017: validation: make CScriptCheck and prevec…
May 2, 2022
b483084
doc: replace bitcoin.conf with placeholder file
josibake May 2, 2022
1c7e820
script: add script to generate example bitcoin.conf
josibake Dec 22, 2021
6aac946
doc: update bitcoin-conf.md
josibake Jun 17, 2021
037c5e5
Merge bitcoin/bitcoin#25042: lint: Fix lint-circular-dependencies.py …
laanwj May 2, 2022
88044a1
Guard `#include <config/bitcoin-config.h>`
hebasto May 2, 2022
2c56404
Merge bitcoin/bitcoin#25029: rpc: Move fee estimation RPCs to separat…
May 3, 2022
fa87eb8
rpc: Move output script RPCs to separate file
May 3, 2022
fa758f9
scripted-diff: Rename rpc/misc.cpp to rpc/node.cpp
May 3, 2022
d24318a
Merge bitcoin/bitcoin#24941: test: MiniWallet: support skipping mempo…
May 3, 2022
64d2715
Merge bitcoin/bitcoin#25053: Guard `#include <config/bitcoin-config.h>`
fanquake May 3, 2022
12455ac
Merge bitcoin/bitcoin#24470: Disallow more unsafe string->path conver…
May 3, 2022
d1bfe5e
test: add coverage for invalid requests for `blockfilterheaders`
brunoerg Apr 30, 2022
4cb9d21
blockstorage: add LIFETIMEBOUND to GetFirstStoredBlock()::start_time
jonatack May 3, 2022
b7ab9db
Extend Split to work with multiple separators
martinus May 2, 2022
0d7efcd
core_read: Replace boost::split with SplitString
martinus May 2, 2022
d1a9850
http: replace boost::split with SplitString
martinus May 2, 2022
f849e63
fuzz: SplitString with multiple separators
martinus May 4, 2022
880cec9
Merge bitcoin/bitcoin#25047: tidy: add readability-redundant-declaration
May 4, 2022
9b42d62
Merge bitcoin/bitcoin#25045: test: add coverage for invalid requests …
May 4, 2022
14cb53d
Merge bitcoin/bitcoin#25040: refactor: Pass lifetimebound reference t…
May 4, 2022
c290249
Merge bitcoin/bitcoin#25058: rpc: Move output script RPCs to separate…
fanquake May 4, 2022
d17bbc3
Merge bitcoin/bitcoin#25060: blockstorage: add LIFETIMEBOUND to GetFi…
May 4, 2022
fac6cfc
refactor: Change * to & in MutableTransactionSignatureCreator
Jul 1, 2020
9183c66
Merge bitcoin/bitcoin#25046: build: Fix `libmultiprocess` cross-compi…
fanquake May 4, 2022
bde5836
Merge bitcoin/bitcoin#25057: refactor: replace remaining boost::split…
fanquake May 4, 2022
0047d9b
Merge bitcoin/bitcoin#24993: test, contrib, refactor: use `with` when…
laanwj May 4, 2022
33aaf43
Merge bitcoin/bitcoin#24976: netgroup: Follow-up for #22910
fanquake May 4, 2022
fe6a299
Merge bitcoin/bitcoin#24852: util: optimize HexStr
laanwj May 4, 2022
50635d2
build: include bitcoin.conf in build outputs
josibake Dec 22, 2021
970b998
doc: update devtools, release-process readmes
josibake Dec 22, 2021
b42643c
doc: update init.cpp -conf help text
josibake Dec 29, 2021
81c09ee
Unroll the ChaCha20 inner loop for performance
sipa Apr 22, 2022
5e1aaca
Merge bitcoin/bitcoin#24933: util: Replace non-threadsafe strerror
laanwj May 4, 2022
d4475ea
Merge bitcoin/bitcoin#22235: script: add script to generate example b…
laanwj May 4, 2022
0d080a1
Merge bitcoin/bitcoin#24141: Rename message_command variables in src/…
May 5, 2022
1ad5d50
Merge bitcoin/bitcoin#24866: build: No longer need to hack the `PATH`…
fanquake May 5, 2022
a0e2a31
build: Drop redundant checks for ranlib and strip tools
hebasto Mar 14, 2022
bd6ceb4
test: port 'lint-shell.sh' to python
whiteh0rse Apr 30, 2022
308dd2e
Sanity assert GetAncestor() != nullptr where appropriate
adamjonas Oct 21, 2019
7cc1860
Merge bitcoin/bitcoin#24566: build: Drop redundant checks for ranlib …
fanquake May 5, 2022
c367736
Merge bitcoin/bitcoin#24840: test: port 'lint-shell.sh' to python
May 5, 2022
e4478d3
Merge bitcoin/bitcoin#25006: guix: consolidate kernel headers to 5.15…
fanquake May 5, 2022
ded915e
contrib: fix dirname on `verify-commits`
brunoerg May 5, 2022
4604508
Merge bitcoin/bitcoin#25070: contrib: fix dirname on `verify-commits`
fanquake May 5, 2022
fa2deae
Wrap boost::replace_all
May 5, 2022
74d9f4b
Merge bitcoin/bitcoin#25068: Wrap boost::replace_all
May 6, 2022
dba1231
test: previous releases: add v23.0
Sjors May 4, 2022
b2e7811
Merge bitcoin/bitcoin#24538: miner: bug fix? update for ancestor incl…
May 6, 2022
b557a24
Merge bitcoin/bitcoin#19426: refactor: Change * to & in MutableTransa…
May 6, 2022
77a9997
Merge bitcoin/bitcoin#25063: test: previous releases: add v23.0
May 6, 2022
59ac8ba
Merge bitcoin/bitcoin#24804: Sanity assert GetAncestor() != nullptr w…
May 6, 2022
fa32ced
doc: Shorten explanation of "maintainers"
May 6, 2022
370120e
Remove obsolete BDB ENABLE_WALLET section in developer notes
jonatack May 6, 2022
2a22f03
parsing external signer master fingerprint string as bytes instead of…
Apr 28, 2022
92b35ab
index, refactor: Change sync variables to use `std::chrono::steady_cl…
w0xlt May 6, 2022
faa5c62
Add time helpers for std::chrono::steady_clock
Apr 19, 2022
fa4fb8d
random: Add FastRandomContext::rand_uniform_delay
Apr 8, 2022
ba10b90
Wallet: Ensure m_attaching_chain is set before registering for signals
luke-jr May 9, 2022
8abe79a
Merge bitcoin/bitcoin#25078: doc: Shorten explanation of "maintainers"
fanquake May 9, 2022
dab18f0
Merge bitcoin/bitcoin#24946: Unroll the ChaCha20 inner loop for perfo…
May 9, 2022
efae252
test: Remove extended lint (cppcheck)
laanwj May 9, 2022
a8098f2
Merge bitcoin/bitcoin#25091: test: Remove extended lint (cppcheck)
May 9, 2022
fc4cb85
Prefer Python for scripts in developer notes
jonatack May 6, 2022
5fca70f
Link in developer notes style to internal interface exception
jonatack May 6, 2022
23854f8
refactor: make MainSignalsInstance() a class
jonatack May 3, 2022
2aaec23
refactor: remove unused forward declarations in validationinterface.h
jonatack May 9, 2022
ca1ac1f
scripted-diff: Rename MainSignalsInstance() class to MainSignalsImpl()
jonatack May 9, 2022
3dd95cb
Merge bitcoin-core/gui#591: test: Add tests for `tableView` in `Addre…
hebasto May 9, 2022
298389e
guix: bump time-machine to 998eda3067c7d21e0d9bb3310d2f5a14b8f1c681
fanquake May 9, 2022
b9219b2
Merge bitcoin-core/gui#590: refactor: Declare `WalletModel` member fu…
hebasto May 9, 2022
69675ea
validation: add CChainParams to ChainstateManager
ajtowns Jan 18, 2022
38860f9
validation: remove redundant CChainParams params from ChainstateManag…
ajtowns Jan 18, 2022
5c67e84
validation: replace ::Params() calls with chainstate/chainman member
ajtowns Apr 14, 2022
eaa2e3f
validation: move UpdateUncommittedBlockStructures and GenerateCoinbas…
ajtowns Jan 18, 2022
deffe0d
deploymentstatus: allow chainman in place of consensusParams
ajtowns Apr 14, 2022
78adef1
refactor: use chainman instead of chainParams for DeploymentActive*
ajtowns Apr 14, 2022
d603f1d
deploymentstatus: make versionbitscache a parameter
ajtowns Apr 14, 2022
eca22c7
test/versionbits: make versionbitscache a parameter
ajtowns Apr 14, 2022
bb5c24b
validation: move g_versionbitscache into ChainstateManager
ajtowns Apr 14, 2022
967654d
Merge bitcoin/bitcoin#25079: index: Change sync variables to use `std…
May 10, 2022
faeb5b5
doc: Explain Bitcoin Core in README.md
May 9, 2022
fb7c12c
Merge bitcoin/bitcoin#24921: Add time helpers for std::chrono::steady…
May 10, 2022
fa90516
Switch scheduler to steady_clock
May 10, 2022
ed4eeaf
Merge bitcoin/bitcoin#24793: test: Change color of skipped functional…
laanwj May 10, 2022
e66b321
Add C++ functions and methods section to developer notes
jonatack May 9, 2022
6542842
Add clang lifetimebound section to developer notes
jonatack May 10, 2022
bdc6881
wallet: Change log interval to use `steady_clock`
w0xlt May 10, 2022
b8ded26
Merge bitcoin/bitcoin#25090: doc: Explain Bitcoin Core instead of Bit…
fanquake May 11, 2022
9feb887
rpc: check `fopen` return code in dumptxoutset
theStack May 11, 2022
27d7b11
Merge bitcoin/bitcoin#25106: rpc: dumptxoutset: check `fopen` return …
May 11, 2022
fab9e8a
Remove unused GetTimeSeconds
May 10, 2022
cca900e
Merge bitcoin/bitcoin#25104: wallet: Change log interval to use `stea…
May 11, 2022
9db941d
Merge bitcoin/bitcoin#25100: Switch scheduler to steady_clock
May 11, 2022
7d73f58
Increase threadsafety annotation coverage
ajtowns Apr 20, 2022
436ce02
sync.h: strengthen AssertLockNotHeld assertion
ajtowns Apr 20, 2022
51527ec
Merge bitcoin/bitcoin#25051: Bugfix: configure: Define defaults for e…
laanwj May 11, 2022
a2a8e91
Merge bitcoin/bitcoin#24925: refactor: make GetRand a template, remov…
May 12, 2022
e3bab43
Merge bitcoin/bitcoin#25099: guix: bump time-machine to 998eda3067c7d…
fanquake May 12, 2022
c9c5b30
guix: compile glibc without -werror
fanquake Apr 8, 2022
508bd4d
guix: adjust RISC-V __has_include() patch to work with GCC 10
fanquake Apr 20, 2022
0e51913
guix: fix glibc 2.27 multiple definition warnings with GCC 10
fanquake Apr 20, 2022
88fd3f8
guix: use -fcommon when building glibc 2.24
fanquake May 6, 2022
6b9d53e
guix: native GCC 10 toolchain for Linux builds
fanquake Mar 29, 2022
dd9f61a
Merge bitcoin/bitcoin#25102: Remove unused GetTimeSeconds
May 12, 2022
f403531
Squashed 'src/univalue/' changes from a44caf65fe..6c19d050a9
May 12, 2022
fac2c79
Bump univalue subtree
May 12, 2022
672d49c
scripted-diff: replace non-standard fixed width integer types (`u_int…
theStack May 12, 2022
faa5a7a
test: Check msg type in msg capture is followed by zeros
May 12, 2022
51ec96b
refactor: move StartExtraBlockRelayPeers from header to implementation
jonatack Apr 1, 2022
2709ffb
Merge bitcoin/bitcoin#25115: scripted-diff: replace non-standard fixe…
fanquake May 12, 2022
1df42bc
test: compare `/mempool/info` response with `getmempoolinfo` RPC
brunoerg May 12, 2022
fe1fcdc
Merge bitcoin/bitcoin#25121: test: compare `/mempool/info` response w…
May 13, 2022
b3f0a34
Merge bitcoin/bitcoin#25119: net, refactor: move StartExtraBlockRelay…
May 13, 2022
1d5325a
Merge bitcoin/bitcoin#25117: test: Check msg type in msg capture is f…
May 13, 2022
25dd4d8
Merge bitcoin/bitcoin#24595: deploymentstatus: move g_versionbitscach…
May 13, 2022
faac67c
test: Fix intermittent race in p2p_unrequested_blocks.py
May 13, 2022
225e5b5
Merge bitcoin/bitcoin#25113: Bump univalue subtree
fanquake May 13, 2022
fa347a9
rpc: Fix implicit-integer-sign-change in gettxout
May 9, 2022
8c5533c
rpc: remove deprecated "softforks" field from getblockchaininfo
theStack May 12, 2022
a01b92a
doc: add release notes about removal of the `deprecatedrpc=softforks`…
theStack May 12, 2022
71e4cfe
test: p2p: add missing BIP157 message types to MESSAGEMAP
theStack May 13, 2022
fae3200
test: Slim down versionbits_tests.cpp
May 13, 2022
5dc6d92
test: make BIP157 messages default-constructible (MESSAGEMAP compatib…
theStack May 13, 2022
ada8358
Sanitize port in `addpeeraddress()`
amadeuszpawlik May 13, 2022
4faa550
test: Fix race condition in index pruning test
fjahr May 12, 2022
b74a6dd
Merge bitcoin/bitcoin#25123: test: Fix race condition in index prune …
May 15, 2022
cba909e
[net] Stop testing version 1 compact blocks.
jnewbery Jan 2, 2021
16730b6
[net processing] Only advertise support for version 2 compact blocks
jnewbery Jan 2, 2021
42882fc
[net processing] Only accept `sendcmpct` with version=2
jnewbery Jan 2, 2021
25edb2b
[net processing] Simplify `sendcmpct` processing
jnewbery Jan 2, 2021
a45d53c
[net processing] Remove fSupportsDesiredCmpctVersion
jnewbery Jan 2, 2021
b486f72
[net processing] Remove fWantsCmpctWitness
jnewbery Jan 2, 2021
30c3a01
[net processing] fPreferHeaderAndIDs implies fProvidesHeaderAndIDs
jnewbery Jan 2, 2021
d0e9774
[net processing] Tidy up `sendcmpct` processing
jnewbery Jan 2, 2021
3b6bfbc
[net processing] Rename CNodeState compact block members
jnewbery Jan 2, 2021
bb985a7
[net processing] Only relay blocks by cmpctblock and cache for fast r…
jnewbery Jan 2, 2021
a50e34c
[net processing] Remove redundant nodestate->m_sendcmpct check in May…
jnewbery Jan 2, 2021
bc2eee7
Merge bitcoin/bitcoin#25092: doc: various developer notes updates
May 16, 2022
195df1e
Merge bitcoin/bitcoin#25067: validationinterface: make MainSignalsIns…
May 16, 2022
1511c9e
Merge bitcoin/bitcoin#24640: Bugfix: RPC/blockchain: Correct descript…
May 16, 2022
dc0ee57
Merge bitcoin/bitcoin#20799: net processing: Only support version 2 c…
fanquake May 16, 2022
aa3200d
Merge bitcoin/bitcoin#25109: Strengthen AssertLockNotHeld assertions
May 16, 2022
8edd0d3
refactor: reduce scope of lock `m_most_recent_block_mutex`
theStack Jan 25, 2022
b019cdc
Merge bitcoin/bitcoin#25095: rpc: Fix implicit-integer-sign-change in…
fanquake May 16, 2022
83003ff
refactor: replace RecursiveMutex `m_most_recent_block_mutex` with Mutex
theStack May 1, 2022
6b87fa5
Merge bitcoin/bitcoin#25125: test: Slim down versionbits_tests.cpp
fanquake May 16, 2022
07cb4de
Merge bitcoin/bitcoin#24962: prevector: enforce is_trivially_copyable_v
May 16, 2022
c9fdaa5
wallet: CreateTransactionInternal(): return out-params as (optional) …
theStack Dec 13, 2020
4c5ceb0
wallet: CreateTransaction(): return out-params as (optional) struct
theStack Dec 13, 2020
187504b
Merge bitcoin/bitcoin#23662: rpc: improve `getreceivedby{address,labe…
achow101 May 16, 2022
ca446f2
Add proper thread safety annotation to `CachedTxGetAvailableCredit()`
hebasto May 16, 2022
8cfe93e
Add proper thread safety annotation to `CWallet::GetTxConflicts()`
hebasto May 16, 2022
a55db4e
Add more proper thread safety annotations
hebasto May 16, 2022
98f4db3
Merge bitcoin/bitcoin#25088: Wallet: Ensure m_attaching_chain is set …
achow101 May 16, 2022
91a42d6
Merge bitcoin/bitcoin#25019: parse external signer master fp as bytes…
achow101 May 16, 2022
8270740
Merge bitcoin/bitcoin#25114: rpc: remove deprecated "softforks" field…
May 17, 2022
0be1dc1
Merge bitcoin/bitcoin#24062: refactor: replace RecursiveMutex `m_most…
May 17, 2022
652b54e
bench: Add `--sanity-check` flag, use it in `make check`
laanwj May 11, 2022
4f31c21
bench: Make all arguments -kebab-case
laanwj May 12, 2022
c65bf50
Remove fUseWTXID parameter from CBlockHeaderAndShortTxIDs constructor
jnewbery May 16, 2022
1ab389b
Merge bitcoin/bitcoin#20640: wallet, refactor: return out-params of C…
fanquake May 17, 2022
3799d2d
Fix -rpcwait with -netinfo printing negative time durations
jonatack May 16, 2022
3a998d2
Use steady_clock in ConnectAndCallRPC and inline time call in loop co…
jonatack May 17, 2022
dd8a2df
Merge bitcoin/bitcoin#25107: bench: Add `--sanity-check` flag, use it…
fanquake May 17, 2022
d5d40d5
Merge bitcoin/bitcoin#23679: Sanitize `port` in `addpeeraddress()`
fanquake May 17, 2022
7aa40f5
refactor: use C++11 default initializers
fanquake May 11, 2022
ac6fbf2
tidy: use modernize-use-default-member-init
fanquake May 11, 2022
c6122f5
test: use sendall in wallet_taproot.py tests
ishaanam May 17, 2022
f7a1e67
Merge bitcoin/bitcoin#25159: test: use `sendall` in wallet_taproot.py…
achow101 May 17, 2022
84bf31f
Merge bitcoin/bitcoin#25076: guix: native GCC 10 toolchain for Linux …
fanquake May 18, 2022
bf6526f
[test] Remove segwit argument from build_block_on_tip()
jnewbery May 16, 2022
174f58c
Add link to NetBSD release
MarnixCroes May 18, 2022
139f789
Merge bitcoin/bitcoin#25124: test: Fix intermittent race in p2p_unreq…
May 18, 2022
629e250
Merge bitcoin/bitcoin#25148: refactor: Remove `NO_THREAD_SAFETY_ANALY…
May 18, 2022
002411d
Merge bitcoin/bitcoin#25157: Fix -rpcwait with -netinfo returning neg…
May 18, 2022
42e3250
[net processing] [refactor] Move m_next_send_feefilter and m_fee_filt…
jnewbery Apr 26, 2022
290a8da
[net processing] Comment all TxRelay members
jnewbery Aug 16, 2021
b0a4ac9
[net processing] Add m_tx_relay_mutex to protect m_tx_relay ptr
jnewbery Aug 27, 2021
9db82f1
[net processing] Don't initialize TxRelay for non-tx-relay peers.
jnewbery Feb 6, 2021
fa4ee53
Do not pass time getter to Chainstate helpers
May 18, 2022
faf012b
Do not pass Consensus::Params& to Chainstate helpers
May 18, 2022
fafe5c0
Do not pass CChainParams& to BlockAssembler constructor
May 18, 2022
fa30234
Do not pass CChainParams& to PeerManager::make
May 18, 2022
fa1b76a
Do not call global Params() when chainman is in scope
May 18, 2022
fa305fd
Add mockable clock type and TicksSinceEpoch helper
Apr 8, 2022
e016c00
Merge bitcoin/bitcoin#25126: test: add BIP157 message parsing support…
May 18, 2022
fa9af21
scripted-diff: Use getInt<T> over get_int/get_int64
May 13, 2022
7b3343f
Merge bitcoin/bitcoin#25108: tidy: add modernize-use-default-member-init
May 18, 2022
b953ea6
rpc: Put undocumented JSON failure mode behind a runtime flag
suhailsaqan May 17, 2022
bb83aba
Merge bitcoin/bitcoin#25161: rpc: Put undocumented JSON failure mode …
May 19, 2022
fafae67
build: Enable RPC_DOC_CHECK on --enable-debug
May 19, 2022
986bae8
Merge bitcoin/bitcoin#22778: net processing: Reduce resource usage fo…
fanquake May 19, 2022
fdb82a3
Merge bitcoin/bitcoin#25147: Net processing: follow ups to #20799 (re…
fanquake May 19, 2022
345d860
Merge bitcoin/bitcoin#25166: doc: Add link to NetBSD release
fanquake May 19, 2022
7171ebc
index: Don't commit a best block before indexing it during sync
mzumsande May 6, 2022
e18fd47
Merge bitcoin/bitcoin#25074: index: During sync, commit best block af…
fanquake May 19, 2022
ef0aa74
rpc: wallet: remove `-deprecatedrpc=exclude_coinbase` logic
theStack May 19, 2022
a4703ce
doc: add release notes about removal of the `deprecatedrpc=exclude_co…
theStack May 19, 2022
0de3694
Merge bitcoin/bitcoin#25153: scripted-diff: Use getInt<T> over get_in…
fanquake May 19, 2022
a63b60f
refactor: Add OptionsModel getOption/setOption methods
ryanofsky Apr 29, 2019
055d94d
test: add coverage for unknown network in -onlynet
brunoerg May 19, 2022
6407c0e
Merge bitcoin/bitcoin#25101: Add mockable clock type
fanquake May 20, 2022
d433f59
Merge bitcoin/bitcoin#25173: test: add coverage for unknown network i…
May 20, 2022
4a87098
Merge bitcoin/bitcoin#24830: init: Allow -proxy="" setting values
May 20, 2022
a39002e
Merge bitcoin/bitcoin#25170: build: Enable RPC_DOC_CHECK on --enable-…
fanquake May 20, 2022
a7e3afb
Merge bitcoin/bitcoin#25171: rpc: wallet: remove `-deprecatedrpc=excl…
May 20, 2022
0cd1a2e
Merge bitcoin/bitcoin#23595: util: Add ParseHex<std::byte>() helper
laanwj May 20, 2022
8118970
Merge bitcoin-core/gui#594: scripted-diff: replace deprecated Q_OS_MA…
hebasto May 20, 2022
8c61374
Merge bitcoin-core/gui#581: refactor: Revamp `ClientModel` code to ha…
hebasto May 20, 2022
5a6e3c1
refactor: Propagate negative `!m_most_recent_block_mutex` capability
hebasto May 20, 2022
2b3373c
refactor: Propagate negative `!m_tx_relay_mutex` capability
hebasto May 20, 2022
4d0c00d
Merge bitcoin/bitcoin#25168: refactor: Avoid passing params where not…
May 20, 2022
9ecb0a3
doc: remove passing `--disable-external-signer` in OpenBSD build guide
theStack May 20, 2022
dbe45c3
Add ChainstateManagerOpts, using as ::Options
dongcarl Mar 1, 2022
04c31c1
Add ChainstateManager::m_adjusted_time_callback
dongcarl Mar 1, 2022
53494bc
validation: Have ChainstateManager own m_chainparams
dongcarl May 18, 2022
3aa851a
Merge bitcoin/bitcoin#24820: test: 3 new tests for SelectCoins function
achow101 May 20, 2022
aac99fa
Merge bitcoin/bitcoin#25175: refactor: Improve thread safety analysis…
May 20, 2022
640eb77
Merge bitcoin/bitcoin#25064: [kernel 2b/n] Add `ChainstateManager::m_…
May 20, 2022
8897a21
rpc: getreceivedbylabel, don't loop over the entire wallet txs map if…
furszy May 12, 2022
baa3ddc
doc: add release notes about `getreceivedbylabel` returning an error …
furszy May 19, 2022
252f363
qt: Replace `QCoreApplication::quit()` with `QCoreApplication::exit(0)`
hebasto Apr 16, 2022
6fbb0ed
Set effective_value when initializing a COutput
ishaanam Apr 24, 2022
71a8dbe
refactor: Remove defunct attributes.h includes
Empact May 21, 2022
b0e16eb
Merge bitcoin-core/gui#600: refactor: Add OptionsModel getOption/setO…
hebasto May 22, 2022
6d20f4b
Merge bitcoin/bitcoin#25178: doc: remove passing `--disable-external-…
fanquake May 23, 2022
dfe11a1
Merge bitcoin-core/gui#586: Getting ready to Qt 6 (6/n). Replace `QCo…
hebasto May 23, 2022
66e3b16
Merge bitcoin/bitcoin#25184: refactor: Remove defunct attributes.h in…
May 23, 2022
908fb7e
test: Use permissions from git in `lint-files.py`
laanwj Apr 28, 2022
5ebff43
Merge bitcoin/bitcoin#25122: rpc: getreceivedbylabel, return early if…
achow101 May 23, 2022
3368f84
Merge bitcoin/bitcoin#25083: Set effective_value when initializing a …
achow101 May 23, 2022
fbb90c4
Merge bitcoin/bitcoin#25015: test: Use permissions from git in lint-f…
May 23, 2022
3082f22
wallet: add 'm_include_only_spendable_outputs' filter to CoinControl
furszy Apr 12, 2022
a43054f
wallet: return 'CoinsResult' struct in `AvailableCoins`.
furszy Apr 22, 2022
aa0be53
wallet::AvailableCoins, stop calling 'wtx.tx->vout[i]' multiple times.
furszy Apr 27, 2022
72c3bdc
wallet::IsLockedCoin accepting 'COutPoint' instead of hash:index.
furszy Apr 27, 2022
da875e6
wallet::IsSpent accepting 'COutPoint' instead of hash:index.
furszy Apr 27, 2022
31c9329
wallet::IsSpentKey decouple IsSpentKey(hash, n) from IsSpentKey(scrip…
furszy Apr 27, 2022
8be48c1
wallet: avoid extra IsSpentKey -> GetWalletTx lookups.
furszy Apr 27, 2022
3383415
wallet: remove now unused IsSpentKey(hash, index) method.
furszy Apr 27, 2022
5b6124d
wallet: speedup 'GetAvailableBalance' filtering by spendable outputs …
furszy Apr 27, 2022
51d2296
model: remove no longer useful "AmountWithFeeExceedsBalance" error.
furszy May 24, 2022
54561ed
wallet: CreateTransaction, add "total exceeds your balance when the t…
furszy May 24, 2022
d506b50
test: add unit test coverage for tx creation that exceeds the availab…
furszy May 24, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
336 changes: 336 additions & 0 deletions .cirrus.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,336 @@
env: # Global defaults
PACKAGE_MANAGER_INSTALL: "apt-get update && apt-get install -y"
MAKEJOBS: "-j10"
TEST_RUNNER_PORT_MIN: "14000" # Must be larger than 12321, which is used for the http cache. See https://cirrus-ci.org/guide/writing-tasks/#http-cache
CI_FAILFAST_TEST_LEAVE_DANGLING: "1" # Cirrus CI does not care about dangling process and setting this variable avoids killing the CI script itself on error
CCACHE_SIZE: "200M"
CCACHE_DIR: "/tmp/ccache_dir"
CCACHE_NOHASHDIR: "1" # Debug info might contain a stale path if the build dir changes, but this is fine

cirrus_ephemeral_worker_template_env: &CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
DANGER_RUN_CI_ON_HOST: "1" # Containers will be discarded after the run, so there is no risk that the ci scripts modify the system

persistent_worker_template_env: &PERSISTENT_WORKER_TEMPLATE_ENV
RESTART_CI_DOCKER_BEFORE_RUN: "1"

persistent_worker_template: &PERSISTENT_WORKER_TEMPLATE
persistent_worker: {} # https://cirrus-ci.org/guide/persistent-workers/

# https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks
filter_template: &FILTER_TEMPLATE
skip: $CIRRUS_REPO_FULL_NAME == "bitcoin-core/gui" && $CIRRUS_PR == "" # No need to run on the read-only mirror, unless it is a PR. https://cirrus-ci.org/guide/writing-tasks/#conditional-task-execution
stateful: false # https://cirrus-ci.org/guide/writing-tasks/#stateful-tasks

base_template: &BASE_TEMPLATE
<< : *FILTER_TEMPLATE
merge_base_script:
# Unconditionally install git (used in fingerprint_script) and set the
# default git author name (used in verify-commits.py)
- bash -c "$PACKAGE_MANAGER_INSTALL git"
- git config --global user.email "ci@ci.ci"
- git config --global user.name "ci"
- if [ "$CIRRUS_PR" = "" ]; then exit 0; fi
- git fetch $CIRRUS_REPO_CLONE_URL $CIRRUS_BASE_BRANCH
- git merge FETCH_HEAD # Merge base to detect silent merge conflicts

main_template: &MAIN_TEMPLATE
timeout_in: 120m # https://cirrus-ci.org/faq/#instance-timed-out
container:
# https://cirrus-ci.org/faq/#are-there-any-limits
# Each project has 16 CPU in total, assign 2 to each container, so that 8 tasks run in parallel
cpu: 2
greedy: true
memory: 8G # Set to 8GB to avoid OOM. https://cirrus-ci.org/guide/linux/#linux-containers
ccache_cache:
folder: "/tmp/ccache_dir"
depends_built_cache:
folder: "depends/built"
fingerprint_script: echo $CIRRUS_TASK_NAME $(git rev-list -1 HEAD ./depends)
ci_script:
- ./ci/test_run_all.sh

global_task_template: &GLOBAL_TASK_TEMPLATE
<< : *BASE_TEMPLATE
<< : *MAIN_TEMPLATE

compute_credits_template: &CREDITS_TEMPLATE
# https://cirrus-ci.org/pricing/#compute-credits
# Only use credits for pull requests to the main repo
use_compute_credits: $CIRRUS_REPO_FULL_NAME == 'bitcoin/bitcoin' && $CIRRUS_PR != ""

task:
name: 'lint [bionic]'
<< : *BASE_TEMPLATE
container:
image: ubuntu:bionic # For python 3.6, oldest supported version according to doc/dependencies.md
cpu: 1
memory: 1G
# For faster CI feedback, immediately schedule the linters
<< : *CREDITS_TEMPLATE
lint_script:
- ./ci/lint_run_all.sh
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV

task:
name: 'tidy [jammy]'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:jammy
cpu: 2
memory: 5G
# For faster CI feedback, immediately schedule the linters
<< : *CREDITS_TEMPLATE
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_native_tidy.sh"

task:
name: "Win64 native [msvc]"
<< : *FILTER_TEMPLATE
windows_container:
cpu: 4
memory: 8G
image: cirrusci/windowsservercore:visualstudio2019
timeout_in: 120m
env:
PATH: 'C:\jom;C:\Python39;C:\Python39\Scripts;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin;%PATH%'
PYTHONUTF8: 1
CI_VCPKG_TAG: '2022.04.12'
VCPKG_DOWNLOADS: 'C:\Users\ContainerAdministrator\AppData\Local\vcpkg\downloads'
VCPKG_DEFAULT_BINARY_CACHE: 'C:\Users\ContainerAdministrator\AppData\Local\vcpkg\archives'
CCACHE_DIR: 'C:\Users\ContainerAdministrator\AppData\Local\ccache'
WRAPPED_CL: 'C:\Users\ContainerAdministrator\AppData\Local\Temp\cirrus-ci-build\ci\test\wrapped-cl.bat'
QT_DOWNLOAD_URL: 'https://download.qt.io/official_releases/qt/5.15/5.15.3/single/qt-everywhere-opensource-src-5.15.3.zip'
QT_LOCAL_PATH: 'C:\qt-everywhere-opensource-src-5.15.3.zip'
QT_SOURCE_DIR: 'C:\qt-everywhere-src-5.15.3'
QTBASEDIR: 'C:\Qt_static'
x64_NATIVE_TOOLS: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat"'
QT_CONFIGURE_COMMAND: '..\configure -release -silent -opensource -confirm-license -opengl desktop -static -static-runtime -mp -qt-zlib -qt-pcre -qt-libpng -nomake examples -nomake tests -nomake tools -no-angle -no-dbus -no-gif -no-gtk -no-ico -no-icu -no-libjpeg -no-libudev -no-sql-sqlite -no-sql-odbc -no-sqlite -no-vulkan -skip qt3d -skip qtactiveqt -skip qtandroidextras -skip qtcharts -skip qtconnectivity -skip qtdatavis3d -skip qtdeclarative -skip doc -skip qtdoc -skip qtgamepad -skip qtgraphicaleffects -skip qtimageformats -skip qtlocation -skip qtlottie -skip qtmacextras -skip qtmultimedia -skip qtnetworkauth -skip qtpurchasing -skip qtquick3d -skip qtquickcontrols -skip qtquickcontrols2 -skip qtquicktimeline -skip qtremoteobjects -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qtsvg -skip qtvirtualkeyboard -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebglplugin -skip qtwebsockets -skip qtwebview -skip qtx11extras -skip qtxmlpatterns -no-openssl -no-feature-bearermanagement -no-feature-printdialog -no-feature-printer -no-feature-printpreviewdialog -no-feature-printpreviewwidget -no-feature-sql -no-feature-sqlmodel -no-feature-textbrowser -no-feature-textmarkdownwriter -no-feature-textodfwriter -no-feature-xml'
IgnoreWarnIntDirInTempDetected: 'true'
merge_script:
- git config --global user.email "ci@ci.ci"
- git config --global user.name "ci"
# Windows filesystem loses the executable bit, and all of the executable
# files are considered "modified" now. It will break the following `git merge`
# command. The next two commands make git ignore this issue.
- git config core.filemode false
- git reset --hard
- PowerShell -NoLogo -Command if ($env:CIRRUS_PR -ne $null) { git fetch $env:CIRRUS_REPO_CLONE_URL $env:CIRRUS_BASE_BRANCH; git merge FETCH_HEAD; }
msvc_qt_built_cache:
folder: "%QTBASEDIR%"
reupload_on_changes: false
fingerprint_script:
- echo %QT_DOWNLOAD_URL% %QT_CONFIGURE_COMMAND%
- msbuild -version
populate_script:
- curl -L -o C:\jom.zip http://download.qt.io/official_releases/jom/jom.zip
- mkdir C:\jom
- tar -xf C:\jom.zip -C C:\jom
- curl -L -o %QT_LOCAL_PATH% %QT_DOWNLOAD_URL%
- tar -xf %QT_LOCAL_PATH% -C C:\
- '%x64_NATIVE_TOOLS%'
- cd %QT_SOURCE_DIR%
- mkdir build
- cd build
- '%QT_CONFIGURE_COMMAND% -prefix %QTBASEDIR%'
- jom
- jom install
vcpkg_tools_cache:
folder: '%VCPKG_DOWNLOADS%\tools'
reupload_on_changes: false
fingerprint_script:
- echo %CI_VCPKG_TAG%
- msbuild -version
vcpkg_binary_cache:
folder: '%VCPKG_DEFAULT_BINARY_CACHE%'
reupload_on_changes: true
fingerprint_script:
- echo %CI_VCPKG_TAG%
- type build_msvc\vcpkg.json
- msbuild -version
populate_script:
- mkdir %VCPKG_DEFAULT_BINARY_CACHE%
ccache_cache:
folder: '%CCACHE_DIR%'
install_tools_script:
- choco install --yes --no-progress ccache
- choco install --yes --no-progress python3 --version=3.9.6
- pip install zmq
- ccache --version
- python -VV
install_vcpkg_script:
- cd ..
- git clone --quiet https://github.com/microsoft/vcpkg.git
- cd vcpkg
- git -c advice.detachedHead=false checkout %CI_VCPKG_TAG%
- .\bootstrap-vcpkg -disableMetrics
- echo set(VCPKG_BUILD_TYPE release) >> triplets\x64-windows-static.cmake
- .\vcpkg integrate install
- .\vcpkg version
build_script:
- '%x64_NATIVE_TOOLS%'
- cd %CIRRUS_WORKING_DIR%
- ccache --zero-stats
- python build_msvc\msvc-autogen.py
- msbuild build_msvc\bitcoin.sln -property:CLToolExe=%WRAPPED_CL% -property:Configuration=Release -maxCpuCount -verbosity:minimal -noLogo
- ccache --show-stats
unit_tests_script:
- src\test_bitcoin.exe -l test_suite
- src\bench_bitcoin.exe > NUL
- python test\util\test_runner.py
- python test\util\rpcauth-test.py
functional_tests_script:
# Increase the dynamic port range to the maximum allowed value to mitigate "OSError: [WinError 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted".
# See: https://docs.microsoft.com/en-us/biztalk/technical-guides/settings-that-can-be-modified-to-improve-network-performance
- netsh int ipv4 set dynamicport tcp start=1025 num=64511
- netsh int ipv6 set dynamicport tcp start=1025 num=64511
# Exclude feature_dbcrash for now due to timeout
- python test\functional\test_runner.py --nocleanup --ci --quiet --combinedlogslen=4000 --jobs=4 --timeout-factor=8 --extended --exclude feature_dbcrash

task:
name: 'ARM [unit tests, no functional tests] [bullseye]'
<< : *GLOBAL_TASK_TEMPLATE
arm_container:
image: debian:bullseye
cpu: 2
memory: 8G
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_arm.sh"
QEMU_USER_CMD: "" # Disable qemu and run the test natively

task:
name: 'Win64 [unit tests, no gui tests, no boost::process, no functional tests] [jammy]'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:jammy
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_win64.sh"

task:
name: '32-bit + dash [gui] [CentOS 8]'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: quay.io/centos/centos:stream8
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
PACKAGE_MANAGER_INSTALL: "yum install -y"
FILE_ENV: "./ci/test/00_setup_env_i686_centos.sh"

task:
name: '[previous releases, uses qt5 dev package and some depends packages, DEBUG] [unsigned char] [buster]'
previous_releases_cache:
folder: "releases"
<< : *GLOBAL_TASK_TEMPLATE
<< : *PERSISTENT_WORKER_TEMPLATE
env:
<< : *PERSISTENT_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_native_qt5.sh"

task:
name: '[TSan, depends, gui] [jammy]'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:jammy
cpu: 6 # Increase CPU and Memory to avoid timeout
memory: 24G
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_native_tsan.sh"

task:
name: '[MSan, depends] [focal]'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:focal
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_native_msan.sh"
MAKEJOBS: "-j4" # Avoid excessive memory use due to MSan

task:
name: '[ASan + LSan + UBSan + integer, no depends] [jammy]'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:jammy
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_native_asan.sh"
MAKEJOBS: "-j4" # Avoid excessive memory use

task:
name: '[fuzzer,address,undefined,integer, no depends] [jammy]'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:jammy
cpu: 4 # Increase CPU and memory to avoid timeout
memory: 16G
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_native_fuzz.sh"

task:
name: '[multiprocess, i686, DEBUG] [focal]'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:focal
cpu: 4
memory: 16G # The default memory is sometimes just a bit too small, so double everything
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_i686_multiprocess.sh"

task:
name: '[no wallet, libbitcoinkernel] [bionic]'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:bionic
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh"

task:
name: 'macOS 10.15 [gui, no tests] [focal]'
<< : *BASE_TEMPLATE
macos_sdk_cache:
folder: "depends/SDKs/$MACOS_SDK"
fingerprint_key: "$MACOS_SDK"
<< : *MAIN_TEMPLATE
container:
image: ubuntu:focal
env:
MACOS_SDK: "Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers"
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_mac.sh"

task:
name: 'macOS 12 native [gui, system sqlite only] [no depends]'
brew_install_script:
- brew install boost libevent qt@5 miniupnpc libnatpmp ccache zeromq qrencode libtool automake gnu-getopt
<< : *GLOBAL_TASK_TEMPLATE
macos_instance:
# Use latest image, but hardcode version to avoid silent upgrades (and breaks)
image: monterey-xcode-13.3 # https://cirrus-ci.org/guide/macOS
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
CI_USE_APT_INSTALL: "no"
PACKAGE_MANAGER_INSTALL: "echo" # Nothing to do
FILE_ENV: "./ci/test/00_setup_env_mac_host.sh"

task:
name: 'ARM64 Android APK [focal]'
<< : *BASE_TEMPLATE
android_sdk_cache:
folder: "depends/SDKs/android"
fingerprint_key: "ANDROID_API_LEVEL=28 ANDROID_BUILD_TOOLS_VERSION=28.0.3 ANDROID_NDK_VERSION=23.1.7779620"
depends_sources_cache:
folder: "depends/sources"
fingerprint_script: git rev-list -1 HEAD ./depends
<< : *MAIN_TEMPLATE
container:
image: ubuntu:focal
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_android.sh"
26 changes: 26 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# This is the top-most EditorConfig file.
root = true

# For all files.
[*]
charset = utf-8
end_of_line = lf
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true

# Source code files
[*.{h,cpp,py,sh}]
indent_size = 4

# .cirrus.yml, .fuzzbuzz.yml, etc.
[*.yml]
indent_size = 2

# Makefiles
[{*.am,Makefile.*.include}]
indent_style = tab

# Autoconf scripts
[configure.ac]
indent_size = 2
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<!-- This issue tracker is only for technical issues related to Bitcoin Core.

General bitcoin questions and/or support requests are best directed to the Bitcoin StackExchange at https://bitcoin.stackexchange.com.

For reporting security issues, please read instructions at https://bitcoincore.org/en/contact/.

If the node is "stuck" during sync or giving "block checksum mismatch" errors, please ensure your hardware is stable by running memtest and observe CPU temperature with a load-test tool such as linpack before creating an issue!

Any report, issue or feature request related to the GUI should be reported at
https://github.com/bitcoin-core/gui/issues/
-->

<!-- Describe the issue -->
<!--- What behavior did you expect? -->

<!--- What was the actual behavior (provide screenshots if the issue is GUI-related)? -->

<!--- How reliably can you reproduce the issue, what are the steps to do so? -->

<!-- What version of Bitcoin Core are you using, where did you get it (website, self-compiled, etc)? -->

<!-- What type of machine are you observing the error on (OS/CPU and disk type)? -->

<!-- GUI-related issue? What is your operating system and its version? If Linux, what is your desktop environment and graphical shell? -->

<!-- Any extra information that might be useful in the debugging process. -->
<!--- This is normally the contents of a `debug.log` or `config.log` file. Raw text or a link to a pastebin type site are preferred. -->
Loading