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

Bitcoin integration #1117

Closed
wants to merge 1,885 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1885 commits
Select commit Hold shift + click to select a range
314784a
Make listunspent and signrawtransaction RPCs support witnessScript
meshcollider Oct 15, 2018
928beae
Add test for P2SH-P2WSH in signrawtransactionwithkey and listunspent
meshcollider Oct 15, 2018
6ca836a
Add release note for listunspent P2WSH change
meshcollider Oct 15, 2018
6aaa0ab
Remove manual byte editing in wallet_tx_clone func test
instagibbs Feb 13, 2019
cbe7efe
Merge #15389: Remove unnecessary const_cast
laanwj Feb 13, 2019
fabcfa5
fuzz: Move deserialize tests to test/fuzz/deserialize.cpp
Feb 13, 2019
fab15ff
fuzz: Script validation flags
Feb 13, 2019
9c4a900
Merge #15390: [wallet-tool] Close bdb when flushing wallet
Feb 13, 2019
9c93f5d
Merge #15334: wallet: Log absolute paths for the wallets
laanwj Feb 13, 2019
fa7ca8e
qa: Add test/fuzz/test_runner.py
Jan 16, 2019
2452c6c
Merge #14978: Factor out PSBT utilities from RPCs for use in GUI code…
meshcollider Feb 14, 2019
fd46c4c
Bump minimum Qt version to 5.5.1
Sjors Feb 12, 2019
3c6ef03
msvc: Fix silent merge conflict between #13926 and #14372 part II
ken2812221 Feb 14, 2019
8c3fdd3
fixes m_assumed_blockchain_size variables values:
marcotnunes Feb 14, 2019
38989ab
Merge #15183: [Qt]: fixes m_assumed_blockchain_size variable value
Feb 14, 2019
e3b1c7a
Merge #15407: msvc: Fix silent merge conflict between #13926 and #143…
Feb 14, 2019
7cee858
Add compile time verification of assumptions we're currently making i…
practicalswift Feb 11, 2019
4a43eb8
[build] Makefile.am: add rule for src/bitcoin-wallet
Sjors Feb 13, 2019
88a91e2
[build] AppVeyor: clean cache when build configuration changes
Sjors Feb 13, 2019
fa9b60c
Remove unused TransactionError constants
Feb 14, 2019
9b1df4b
Merge #15388: [build] Makefile.am: add rule for src/bitcoin-wallet
Feb 14, 2019
c45415f
Refactor keymetadata writing to a separate method
achow101 Nov 6, 2018
e7652d3
Add WriteHDKeypath function and move *HDKeypath to util/bip32.{h,cpp}
achow101 Nov 6, 2018
bac8c67
Add a method to CWallet to write just CKeyMetadata
achow101 Nov 6, 2018
345bff6
Remove hdmasterkeyid
achow101 Feb 12, 2019
758c6d7
Merge #15063: GUI: If BIP70 is disabled, attempt to fall back to BIP2…
jonasschnelli Feb 14, 2019
fab6b07
test: txindex: interrupt threadGroup before calling destructor
Feb 14, 2019
eeeee58
travis: Combine --disable-bip70 into existing job
Feb 14, 2019
3b33cbc
Merge #15393: build: Bump minimum Qt version to 5.5.1
jonasschnelli Feb 14, 2019
b7456e6
Merge #15195: gui: Add Close Wallet action
jonasschnelli Feb 14, 2019
fa535af
fuzz: test_runner: Better error message when built with afl
Feb 14, 2019
3782075
Move all PID file stuff to init.cpp
hebasto Feb 14, 2019
cd8ca8b
Merge #14626: Select orphan transaction uniformly for eviction
Feb 14, 2019
3facd9f
Merge #14481: Add P2SH-P2WSH support to listunspent RPC
laanwj Feb 14, 2019
642bd7b
Merge #15411: travis: Combine --disable-bip70 into existing job
Feb 14, 2019
31f7c6d
Merge #15295: fuzz: Add test/fuzz/test_runner.py and run it in travis
Feb 14, 2019
33480c6
Merge #15285: build: Prefer Python 3.4 even if newer versions are pre…
Feb 14, 2019
eab63bc
Store key origin info in key metadata
achow101 Nov 6, 2018
3d235df
Implement a function to add KeyOriginInfo to a wallet
achow101 Nov 6, 2018
02d6586
Import KeyOriginData when importing descriptors
achow101 Nov 6, 2018
4c75a69
Test importing descriptors with key origin information
achow101 Nov 6, 2018
cb3511b
Add release notes for importing key origin info change
achow101 Feb 13, 2019
8d0ec74
Merge #14021: Import key origin data through descriptors in importmulti
meshcollider Feb 14, 2019
99cccb9
Add a method to add a pubkey to the keypool
achow101 Nov 6, 2018
9b81fd1
Fetch keys from keypool when private keys are disabled
achow101 Nov 6, 2018
513719c
Add option to importmulti add an imported pubkey to the keypool
achow101 Nov 6, 2018
9e1551b
Test pubkey import to keypool
achow101 Nov 6, 2018
f4b00b7
Import public keys in order
achow101 Dec 16, 2018
c576979
Merge #14075: Import watch only pubkeys to the keypool if private key…
meshcollider Feb 14, 2019
543ef7d
tests: Add missing cs_main locks required when accessing pcoinsdbview…
practicalswift Feb 15, 2019
901baf2
doc: update FreeBSD build guide for 12.0
fanquake Feb 15, 2019
4d2767c
Merge #15413: tests: Add missing cs_main locks required when accessin…
Feb 15, 2019
bf3677a
Merge #15405: [build] AppVeyor: clean cache when build configuration …
Feb 15, 2019
eca1273
Merge #15383: [rpc] mining: Omit uninitialized currentblockweight, cu…
Feb 15, 2019
9580190
Merge #15391: Add compile time verification of assumptions we're curr…
laanwj Feb 15, 2019
743c2f4
Merge #15399: fuzz: Script validation flags
Feb 15, 2019
7344a7b
Implement utxoupdatepsbt RPC and tests
achow101 Jul 21, 2018
08f749c
Implement joinpsbts RPC and tests
achow101 Jul 21, 2018
cb40b3a
Figure out what is missing during signing
achow101 Aug 1, 2018
77542cf
Move PSBT UTXO fetching to a separate method
achow101 Aug 1, 2018
3b40bff
Descriptor checksum
sipa Feb 7, 2019
b52cb63
Add getdescriptorinfo to compute checksum
sipa Feb 7, 2019
be62903
Make descriptor checksums mandatory in deriveaddresses and importmulti
sipa Feb 13, 2019
fd637be
Add checksums to descriptors.md
sipa Feb 8, 2019
540729e
Implement analyzepsbt RPC and tests
achow101 Aug 1, 2018
f9d50e8
Merge #15410: test: txindex: interrupt threadGroup before calling des…
Feb 16, 2019
d5b929c
Merge #13932: Additional utility RPCs for PSBT
laanwj Feb 16, 2019
f60d029
Merge #15368: Descriptor checksums
laanwj Feb 16, 2019
d3661a3
[Doc] add missing newline to witnessScript in listunspent help
harding Feb 16, 2019
a607c9a
[Doc] importmulti: add missing description of keypool option
harding Feb 16, 2019
e9c1900
Merge #15398: msvc: add rapidcheck property tests
laanwj Feb 17, 2019
2d03379
Merge #15426: [Doc] importmulti: add missing description of keypool o…
laanwj Feb 17, 2019
4064d04
Merge #15425: [Doc] add missing newline to listunspent help for witne…
laanwj Feb 17, 2019
a083f75
Update assumevalid, minimumchainwork, and getchaintxstats to height 5…
gmaxwell Feb 17, 2019
8a1f0a3
scripted-diff: Remove NDEBUG pre-define
ken2812221 Feb 17, 2019
3ec56be
appveyor: Remove unused NDEBUG removal
ken2812221 Feb 17, 2019
b72c787
Merge #15431: msvc: scripted-diff: Remove NDEBUG pre-define in projec…
Feb 17, 2019
0bedcba
Use a single wallet batch for UpgradeKeyMetadata
jonasschnelli Feb 18, 2019
8e4b4f6
Address test todos by removing -txindex to nodes.
amitiuttarwar Feb 14, 2019
f5a623e
Merge #15429: Update assumevalid, minimumchainwork, and getchaintxsta…
laanwj Feb 18, 2019
29e82e4
Merge #15250: Use RdSeed when available, and reduce RdRand load
laanwj Feb 18, 2019
39e20fc
Add missing #include.
domob1812 Feb 18, 2019
6ba3f1f
Merge #15397: Remove manual byte editing in wallet_tx_clone func test
Feb 18, 2019
f78cd3d
Merge #15348: doc: Add separate productivity notes document
Feb 18, 2019
904308d
Merge #15433: Use a single wallet batch for UpgradeKeyMetadata
meshcollider Feb 18, 2019
1a062b8
tests: remove byte.hex() to keep compatibility
AkioNak Feb 19, 2019
e3e1a56
[test] functional: set cwd of nodes to tmpdir
Sjors Feb 15, 2019
3e4fd40
Merge #15415: [test] functional: allow custom cwd, use tmpdir as default
Feb 19, 2019
38429c4
Merge #15404: [test] Remove -txindex to start nodes
laanwj Feb 19, 2019
fab0d85
qa: Remove mocktime unless required
Feb 11, 2019
1111aec
qa: Always refresh stale cache to be out of ibd
Feb 11, 2019
fa25210
qa: Fix wallet_txn_doublespend issue
Feb 15, 2019
f9775a8
Merge #15439: tests: remove byte.hex() to keep compatibility
Feb 20, 2019
fa05626
rpc: Add RPCHelpMan::IsValidNumArgs()
Feb 13, 2019
fa4ce70
rpc: Actually throw help when passed invalid number of params
Feb 13, 2019
3e1ca13
Merge #15278: Improve PID file error handling
laanwj Feb 21, 2019
4d126f2
Merge #15416: doc: update FreeBSD build guide for 12.0
laanwj Feb 21, 2019
b853746
Merge #15222: docs: Add info about factors that affect dependency list
laanwj Feb 21, 2019
53b3103
refactor: Drop redundant wallet reference
promag Feb 21, 2019
a83aedc
Merge #13676: Explain that mempool memory is added to -dbcache
laanwj Feb 21, 2019
a094b54
Merge #15273: docs: Slight tweak to the verify-commits script directions
laanwj Feb 22, 2019
77fcf25
Merge #15458: refactor: Drop redundant wallet reference
Feb 22, 2019
169dced
Merge #15408: Remove unused TransactionError constants
Feb 22, 2019
f3f9c1d
Merge #15435: rpc: Add missing #include
Feb 22, 2019
a720a98
gui: Fix async open wallet call order
promag Feb 22, 2019
6ad79cb
wallet: Use fsbridge::ifstream to fix Windows path issue
ken2812221 Feb 23, 2019
9d6dcc5
Abstract EraseBlockData out of RewindBlockIndex
sipa Feb 24, 2019
32b2696
Move erasure of non-active blocks to a separate loop in RewindBlockIndex
sipa Feb 24, 2019
1d34287
Merge the disconnection and erasing loops in RewindBlockIndex
sipa Feb 24, 2019
436f7d7
Release cs_main during RewindBlockIndex operation
sipa Feb 13, 2019
880ce7d
Call RewindBlockIndex without cs_main held
sipa Feb 13, 2019
241b2c7
Make RewindBlockIndex interruptible
sipa Feb 14, 2019
9b1ff5c
Call InvalidateBlock without cs_main held
sipa Feb 13, 2019
1a8a5ed
Merge #15401: rpc: Actually throw help when passed invalid number of …
laanwj Feb 25, 2019
3f5ad62
Enable PID file creation on Windows
riordant Feb 25, 2019
b4fc525
Merge #15456: Enable PID file creation on WIN
laanwj Feb 25, 2019
ef362f2
rpc/gui: Remove 'Unknown block versions being mined' warning
laanwj Feb 25, 2019
fa2cdc9
test: Simplify create_cache
Feb 23, 2019
8f470ec
Merge #15419: qa: Always refresh cache to be out of ibd
Feb 25, 2019
fa9ff8f
doc: Remove misleading hint in getrawtransaction
Feb 26, 2019
9999879
refactor: Use RPCHelpMan::IsValidNumArgs in getrawtransaction
Feb 25, 2019
d88f7f8
Merge #15471: rpc/gui: Remove 'Unknown block versions being mined' wa…
Feb 26, 2019
2fa85eb
add rpc_misc.py, mv test getmemoryinfo, add test mallocinfo
adamjonas Jan 31, 2019
fa466cb
doc: Update release process for snap package
Feb 27, 2019
6f43ed4
Merge #15462: gui: Fix async open wallet call order
laanwj Feb 27, 2019
a4f9c02
Merge #15468: wallet: Use fsbridge::ifstream to fix Windows path issue
laanwj Feb 27, 2019
a0d4e79
Merge #15477: doc: Remove misleading hint in getrawtransaction
laanwj Feb 27, 2019
20268c6
Merge #15489: doc: Update release process for snap package
laanwj Feb 28, 2019
4a5e52c
msvc: Use a single file to specify the include path
ken2812221 Feb 28, 2019
29c24b0
Merge #15503: msvc: Use a single file to specify the include path
Feb 28, 2019
7aa6a8a
Add ParseRange function to parse args of the form int/[int,int]
sipa Feb 27, 2019
6b9f45e
Support ranges arguments in RPC help
sipa Feb 27, 2019
4566011
Add support for stop/[start,stop] ranges to scantxoutset
sipa Feb 27, 2019
1675b7c
Use stop/[start,stop] notation in importmulti desc range
sipa Feb 27, 2019
9bb32eb
Release cs_main during InvalidateBlock iterations
sipa Feb 14, 2019
9ce9c37
Prevent callback overruns in InvalidateBlock and RewindBlockIndex
sipa Feb 14, 2019
8d22041
Optimization: don't add txn back to mempool after 10 invalidates
sipa Feb 14, 2019
aeb7fbf
appveyor: Don't build debug libraries instead of "build and delete"
ken2812221 Feb 28, 2019
fa852f0
test: Bump timeout on tests that timeout on windows
Feb 28, 2019
ca253f6
Make deriveaddresses use stop/[start,stop] notation for ranges
sipa Feb 27, 2019
e8612ad
Merge #15507: test: Bump timeout on tests that timeout on windows
Mar 1, 2019
a6d7026
Merge #15497: rpc: Consistent range arguments in scantxoutset/importm…
Mar 1, 2019
9586157
[rpc] deriveaddresses: add range to CRPCConvertParam
Sjors Mar 1, 2019
dc251de
Merge #15506: appveyor: fix cache issue and reduce dependencies build…
Mar 1, 2019
f13ad1c
modify test for memory locked in case locking pages failed at some point
adamjonas Mar 1, 2019
f9dbb31
Merge #15485: add rpc_misc.py, mv test getmemoryinfo, add test malloc…
Mar 1, 2019
37f236a
Merge #15510: [rpc] deriveaddresses: add range to CRPCConvertParam
laanwj Mar 2, 2019
742f7dd
build: Bump version to 0.18.0
laanwj Mar 2, 2019
fa3148a
doc: Remove ppa from linux build instructions
Mar 3, 2019
519b0bc
Make last disconnected block BLOCK_FAILED_VALID, even when aborted
sipa Mar 3, 2019
b702e37
doc: Merge release notes fragments
laanwj Mar 4, 2019
7630301
Merge #15524: [0.18] doc: Remove ppa from linux build instructions
laanwj Mar 4, 2019
6a178e5
build: set RC1
laanwj Mar 4, 2019
71ac4eb
doc: Remove pr release notes file in wrong dir
Mar 4, 2019
0fd3632
Merge #15552: 0.18: Granular invalidateblock and RewindBlockIndex
laanwj Mar 7, 2019
f810f14
gitian: Improve error handling
laanwj Mar 6, 2019
561b00a
[addrman] Improve tried table collision logging
sdaftuar Feb 26, 2019
487f0c3
[net] feeler connections can be made to outbound peers in same netgroup
sdaftuar Feb 26, 2019
333be7a
[addrman] Ensure collisions eventually get resolved
sdaftuar Feb 26, 2019
b80dedb
[addrman] Improve collision logging and address nits
sdaftuar Mar 1, 2019
936ef73
qt: periodic translations update
laanwj Mar 9, 2019
021a9ad
build: use full version string in setup.exe
Mar 6, 2019
20fd64f
doc: correct analysepsbt rpc doc
fanquake Mar 8, 2019
2edd0c4
rpc: return a number for estimated_feerate in analyzepsbt
fanquake Mar 9, 2019
232ef63
Fix overflow bug in analyzepsbt fee: CAmount instead of int
sipa Mar 11, 2019
a01925c
doc: Pre-rc2 translations update
laanwj Mar 14, 2019
ef27a06
wallet: Log and ignore errors in ListWalletDir and IsBerkeleyBtree
promag Mar 11, 2019
85f1755
build: bump to rc2
laanwj Mar 14, 2019
889af0e
doc: Update manpages
laanwj Mar 14, 2019
da14d90
[p2p] Enable BIP 61 REJECT messages by default
jnewbery Mar 14, 2019
a756363
[docs] document BIP 61 deprecation
jnewbery Mar 14, 2019
d3a0382
Merge #15602: 0.18: [p2p] Enable reject messages by default
Mar 14, 2019
238ef33
Do not relay banned IP addresses
sipa Mar 18, 2019
98a24a2
gui: Defer removeAndDeleteWallet when no modal widget is active
promag Mar 17, 2019
b022242
Merge #15641: Backport #15614 to 0.18: gui: Defer removeAndDeleteWall…
laanwj Mar 22, 2019
be8b9c6
[rpc] Remove deprecated functionality message from validateaddress help
jnewbery Mar 22, 2019
7eab2db
Merge #15647: [rpc] Remove deprecated functionality message from vali…
Mar 23, 2019
09a05e8
qt: Translations update pre-rc3
laanwj Mar 28, 2019
f14a0aa
build: Bump to rc3
laanwj Mar 28, 2019
dcd96b8
release: Update the Windows Codesigning certificate
theuni Mar 27, 2019
7bcf90c
doc: Update manpages for changes since rc2
laanwj Mar 28, 2019
6355214
Simplify orphan processing in preparation for interruptibility
sipa Mar 20, 2019
bb60121
[MOVEONLY] Move processing of orphan queue to ProcessOrphanTx
sipa Mar 20, 2019
50c56f2
Interrupt orphan processing after every transaction
sipa Mar 20, 2019
a90db2f
[tests] Add test for wallet rebroadcasts
jnewbery Mar 22, 2019
ebf6566
wallet: Move CWallet::ReacceptWalletTransactions locks to callers
promag Mar 27, 2019
ed0498a
interfaces: Add Chain::requestMempoolTransactions
promag Mar 27, 2019
59716ec
wallet: Update transactions with current mempool after load
promag Mar 27, 2019
95faffe
qa: Check unconfirmed balance after loadwallet
promag Mar 27, 2019
32ec900
Merge #15691: 0.18: rc3 backports
laanwj Apr 2, 2019
538fef6
Update bips.md for 0.18.0
sipa Apr 6, 2019
956c0aa
doc: correct bitcoinconsensus_version in shared-libraries
fanquake Apr 7, 2019
1b0752a
Mention new PSBT RPCs in psbt.md
sipa Apr 5, 2019
bf32bc4
Mention new descriptor RPCs in descriptors.md
sipa Apr 5, 2019
164082c
Merge #15775: [0.18] Doc Backports
Apr 9, 2019
60d4621
rpc: getrpcinfo docs
benthecarman Apr 5, 2019
f42ed14
Merge #15790: [0.18] backport #15754
laanwj Apr 15, 2019
b3a04c9
[rpc] Remove the addresses field from the getaddressinfo return object
jnewbery Apr 4, 2019
fa3993b
Merge #15800: Backport: [rpc] Remove the addresses field from the get…
Apr 15, 2019
8f7cfb0
gitignore: add *.dat
jamesob Apr 12, 2019
c69138a
gitignore: add *.plist (clang-check)
jamesob Apr 12, 2019
9c572e3
doc: mention creating application support bitcoin folder on OSX
Apr 12, 2019
6d2448c
doc/dependencies: Fix typo libsrvg->librsvg
luke-jr Mar 28, 2019
194226f
doc: describe onlynet option in doc/tor.md
jonatack Apr 11, 2019
a644780
doc: Clarify RPC versioning
Apr 11, 2019
7fcbe7d
Keep full pubkeys in FlatSigningProvider::origins
sipa Apr 4, 2019
802dcd3
Import all origin info in importmulti; even for non-importing pubkeys
sipa Apr 4, 2019
235550d
Take non-importing keys into account for spendability warning in desc…
sipa Apr 6, 2019
e57462c
Merge #15803: [0.18] Backport 15749: importmulti only imports origin …
Apr 16, 2019
8602d8b
Revert "Change in transaction pull scheduling to prevent InvBlock-rel…
sdaftuar Apr 17, 2019
e753cbd
Merge #15818: [0.18] doc backports
laanwj Apr 18, 2019
5546207
GUI: Options: Set the range of pruning size before loading its value
luke-jr Apr 11, 2019
a58d80d
GUI: Options: Remove the upper-bound limit from pruning size setting
luke-jr Apr 11, 2019
607b1b7
Merge #15839: [0.18] Revert GetData randomization change (#14897)
Apr 18, 2019
a4fc2fb
gui: Pre-rc4 translations update
laanwj Apr 18, 2019
4384839
doc: Move release notes from wiki
laanwj Apr 18, 2019
379f71e
build: Bump version to rc4
laanwj Apr 18, 2019
fad9eb1
doc: 0.18: Remove TODO from release notes
Apr 19, 2019
825ecb5
Merge #15852: doc: 0.18: Remove TODO from release notes
Apr 26, 2019
2472733
build: Bump version to -final
laanwj Apr 30, 2019
abc21e3
Remove files
dsaveliev May 10, 2019
053e1a0
Change ports
dsaveliev May 10, 2019
8ed1b9a
Change currency symbol
dsaveliev May 10, 2019
b0bfee6
Adapt names of executables
dsaveliev May 10, 2019
23e16f0
Move paths containing "bitcoin" to respective "unite" paths
dsaveliev May 10, 2019
24e5bdc
Adapt URLs
dsaveliev May 10, 2019
8070161
Rename occurences of "bitcoin core" to "unit-e"
dsaveliev May 10, 2019
86d7261
Rename occurences of "bitcoin" to "unit-e"
dsaveliev May 10, 2019
0e09c9d
Apply adjustments to tests and constants for name changes
dsaveliev May 10, 2019
31a4afc
Change unit identifier
dsaveliev May 10, 2019
5387eec
Remove trailing whitespace
dsaveliev May 10, 2019
868c1a2
Appropriate files from unit-e
dsaveliev May 10, 2019
ffbfea8
Resolved conflicts
dsaveliev May 27, 2019
83c88ed
Fix issues and make the branch to compile
dsaveliev May 27, 2019
c804722
Remove AppVeyor configuration
cornelius Jun 5, 2019
2c0da3b
Adhere to naming convention
cornelius Jun 5, 2019
7641a16
Remove obsolete notes
cornelius Jun 5, 2019
b1a1320
Keep "Bitcoin" in PSBT
cornelius Jun 5, 2019
97efdcb
Remove Qt linter
cornelius Jun 5, 2019
400fcde
Run all lint checks
cornelius Jun 5, 2019
85875e5
Remove Qt patches
cornelius Jun 5, 2019
abfb3af
Fix linkage errors
dsaveliev Jun 6, 2019
b5abcca
Make the CLI build
cornelius Jun 6, 2019
58df705
Fix compilation warnings
dsaveliev Jun 7, 2019
dbf4098
Fix some of the unit tests
dsaveliev Jun 19, 2019
a859b8a
add missing include
frolosofsky Jun 19, 2019
31c894a
Fix compilation errors
frolosofsky Jun 19, 2019
1393b48
Fix linkage on macos with usbdevice enabled
frolosofsky Jun 20, 2019
00ebfa3
Fix another portion of the unit tests
dsaveliev Jun 20, 2019
26e8344
Fix unit tests
dsaveliev Jun 21, 2019
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
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .clonemachine
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,5 @@ appropriated_files:
removed_files:
- contrib/gitian-descriptors/gitian-osx-signer.yml
- doc/translation_process.md
- .appveyor.yml
- test/lint/lint-qt.sh
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ src/unite
src/unit-e
src/unit-e-cli
src/unit-e-tx
src/unite-wallet
src/test/test_unite
src/test/test_unite_fuzzy

Expand Down Expand Up @@ -51,6 +52,7 @@ src/univalue/gen
*.a
*.pb.cc
*.pb.h
*.dat

*.log
*.trs
Expand Down Expand Up @@ -101,3 +103,9 @@ conftest.err
conftest.cpp
conftest
conftest.nm

# Output from running db4 installation
db4/

# clang-check
*.plist
1 change: 1 addition & 0 deletions .python-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.4.9
56 changes: 35 additions & 21 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
branches:
only:
- master
dist: trusty
dist: trusty # there is a xenial in 0.18.0
os: linux
language: minimal
cache:
Expand All @@ -18,10 +18,11 @@ git:
env:
global:
- MAKEJOBS=-j3
- RUN_TESTS=false
- RUN_UNIT_TESTS=true
- RUN_FUNCTIONAL_TESTS=true
- RUN_FUZZ_TESTS=false
- RUN_BENCH=false # Set to true for any one job that has debug enabled, to quickly check bench is not crashing or hitting assertions
- DOCKER_NAME_TAG=ubuntu:18.04
- LC_ALL=C.UTF-8
- BOOST_TEST_RANDOM=1$TRAVIS_BUILD_ID
- CCACHE_SIZE=100M
- CCACHE_TEMPDIR=/tmp/.ccache-temp
Expand All @@ -38,13 +39,16 @@ install:
before_script:
- set -o errexit; source .travis/test_05_before_script.sh
script:
- set -o errexit; source .travis/test_06_script.sh
- if [ $SECONDS -gt 1200 ]; then set +o errexit; echo "Travis early exit to cache current state"; false; else set -o errexit; source .travis/test_06_script_a.sh; fi
- if [ $SECONDS -gt 1800 ]; then set +o errexit; echo "Travis early exit to cache current state"; false; else set -o errexit; source .travis/test_06_script_b.sh; fi
after_script:
- echo $TRAVIS_COMMIT_RANGE
- echo $TRAVIS_COMMIT_LOG
- echo $TRAVIS_COMMIT_RANGE
- echo $TRAVIS_COMMIT_LOG
jobs:
include:

- stage: lint
name: 'lint'
env:
cache: false
language: python
Expand All @@ -55,56 +59,66 @@ jobs:
- set -o errexit; source .travis/lint_05_before_script.sh
script:
- set -o errexit; source .travis/lint_06_script.sh

- stage: test
name: "ARM"
name: 'ARM [GOAL: install] [no unit or functional tests]'
env: >-
HOST=arm-linux-gnueabihf
PACKAGES="g++-arm-linux-gnueabihf"
PACKAGES="python3 g++-arm-linux-gnueabihf"
RUN_UNIT_TESTS=false
RUN_FUNCTIONAL_TESTS=false
DEP_OPTS="NO_USB=1"
GOAL="install"
UNITE_CONFIG="--enable-glibc-back-compat --enable-reduce-exports"
# -Wno-psabi is to disable ABI warnings: "note: parameter passing for argument of type ... changed in GCC 7.1"
# This could be removed once the ABI change warning does not show up by default
UNITE_CONFIG="--enable-glibc-back-compat --enable-reduce-exports CXXFLAGS=-Wno-psabi"

- stage: test
name: "Win32 (unit tests)"
name: 'Win32 [GOAL: deploy] [unit tests]'
env: >-
HOST=i686-w64-mingw32
DPKG_ADD_ARCH="i386"
PACKAGES="python3 nsis g++-mingw-w64-i686 wine-binfmt wine32"
RUN_TESTS=true
GOAL="install"
RUN_FUNCTIONAL_TESTS=false
GOAL="deploy"
UNITE_CONFIG="--enable-reduce-exports --enable-usbdevice"

- stage: test
name: "32-bit + dash (unit and functional tests)"
name: '32-bit + dash [GOAL: install] [unit and functional tests]'
env: >-
HOST=i686-pc-linux-gnu
DPKG_ADD_ARCH="i386"
PACKAGES="g++-multilib python3-zmq libudev-dev:i386"
RUN_TESTS=true
GOAL="install"
UNITE_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++ --enable-usbdevice"
CONFIG_SHELL="/bin/dash"

- stage: test
name: "x86_64 Linux (unit and functional tests)"
name: 'x86_64 Linux [GOAL: install] [trusty] [no depends, only system libs]'
env: >-
HOST=x86_64-unknown-linux-gnu
PACKAGES="python3-zmq libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libudev-dev libhidapi-dev libusb-1.0-0-dev"
NO_DEPENDS=1
RUN_TESTS=true
GOAL="install"
UNITE_CONFIG="--enable-zmq --with-incompatible-bdb --enable-glibc-back-compat --enable-reduce-exports CPPFLAGS=-DDEBUG_LOCKORDER --enable-usbdevice"

- stage: test
name: "x86_64 Linux, No wallet (unit tests)"
name: 'x86_64 Linux [GOAL: install] [trusty] [no wallet, unit tests]'
env: >-
HOST=x86_64-unknown-linux-gnu
PACKAGES="python3"
PACKAGES="python3-zmq"
DEP_OPTS="NO_WALLET=1 NO_USB=1"
RUN_TESTS=true
RUN_FUNCTIONAL_TESTS=false
GOAL="install"
UNITE_CONFIG="--enable-glibc-back-compat --enable-reduce-exports"

- stage: test
name: "Cross-Mac"
name: 'macOS 10.10 [GOAL: deploy] [no tests]'
env: >-
HOST=x86_64-apple-darwin14
PACKAGES="cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python-dev python3-setuptools-git"
OSX_SDK=10.11
GOAL="all deploy"
RUN_UNIT_TESTS=false
RUN_FUNCTIONAL_TESTS=false
GOAL="deploy"
UNITE_CONFIG="--enable-reduce-exports --enable-werror --enable-usbdevice"
12 changes: 11 additions & 1 deletion .travis/lint_04_install.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
#!/usr/bin/env bash
#
# Copyright (c) 2018 The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.

export LC_ALL=C

travis_retry pip install flake8==3.5.0 pytest-mock
travis_retry pip install codespell==1.13.0
travis_retry pip install flake8==3.5.0
travis_retry pip install vulture==0.29

SHELLCHECK_VERSION=v0.6.0
curl -s "https://storage.googleapis.com/shellcheck/shellcheck-${SHELLCHECK_VERSION}.linux.x86_64.tar.xz" | tar --xz -xf - --directory /tmp/
export PATH="/tmp/shellcheck-${SHELLCHECK_VERSION}:${PATH}"
2 changes: 2 additions & 0 deletions .travis/lint_05_before_script.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,5 @@
# file COPYING or http://www.opensource.org/licenses/mit-license.php.

export LC_ALL=C

git fetch --unshallow
6 changes: 6 additions & 0 deletions .travis/lint_06_script.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,9 @@ test/lint/check-doc.py
test/lint/check-rpc-mappings.py .
echo "* Running remaining lint scripts"
test/lint/lint-all.sh

if [ "$TRAVIS_REPO_SLUG" = "unite/unite" -a "$TRAVIS_EVENT_TYPE" = "cron" ]; then
git log --merges --before="2 days ago" -1 --format='%H' > ./contrib/verify-commits/trusted-sha512-root-commit
while read -r LINE; do travis_retry gpg --keyserver hkp://subset.pool.sks-keyservers.net --recv-keys $LINE; done < contrib/verify-commits/trusted-keys &&
travis_wait 50 contrib/verify-commits/verify-commits.py --clean-merge=2;
fi
9 changes: 7 additions & 2 deletions .travis/test_03_before_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@
# Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.

export LC_ALL=C
export LC_ALL=C.UTF-8

PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/python/d' | tr "\n" ":" | sed "s|::|:|g")
# Add llvm-symbolizer directory to PATH. Needed to get symbolized stack traces from the sanitizers.
PATH=$PATH:/usr/lib/llvm-6.0/bin/
export PATH

BEGIN_FOLD () {
Expand All @@ -18,5 +20,8 @@ BEGIN_FOLD () {
END_FOLD () {
RET=$?
echo "travis_fold:end:${CURRENT_FOLD_NAME}"
return $RET
if [ $RET != 0 ]; then
echo "${CURRENT_FOLD_NAME} failed with status code ${RET}"
fi
}

21 changes: 17 additions & 4 deletions .travis/test_04_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,33 @@

export LC_ALL=C.UTF-8

travis_retry docker pull $DOCKER_NAME_TAG
env | grep -E '^(CCACHE_|WINEDEBUG|LC_ALL|BOOST_TEST_RANDOM|CONFIG_SHELL)' | tee /tmp/env
travis_retry docker pull "$DOCKER_NAME_TAG"

export DIR_FUZZ_IN=${TRAVIS_BUILD_DIR}/qa-assets
git clone https://github.com/bitcoin-core/qa-assets ${DIR_FUZZ_IN}
export DIR_FUZZ_IN=${DIR_FUZZ_IN}/fuzz_seed_corpus/

mkdir -p "${TRAVIS_BUILD_DIR}/sanitizer-output/"
export ASAN_OPTIONS=""
export LSAN_OPTIONS="suppressions=${TRAVIS_BUILD_DIR}/test/sanitizer_suppressions/lsan"
export TSAN_OPTIONS="suppressions=${TRAVIS_BUILD_DIR}/test/sanitizer_suppressions/tsan:log_path=${TRAVIS_BUILD_DIR}/sanitizer-output/tsan"
export UBSAN_OPTIONS="suppressions=${TRAVIS_BUILD_DIR}/test/sanitizer_suppressions/ubsan:print_stacktrace=1:halt_on_error=1"
env | grep -E '^(UNITE_CONFIG|CCACHE_|WINEDEBUG|LC_ALL|BOOST_TEST_RANDOM|CONFIG_SHELL|(ASAN|LSAN|TSAN|UBSAN)_OPTIONS)' | tee /tmp/env
if [[ $HOST = *-mingw32 ]]; then
DOCKER_ADMIN="--cap-add SYS_ADMIN"
elif [[ $UNITE_CONFIG = *--with-sanitizers=*address* ]]; then # If ran with (ASan + LSan), Docker needs access to ptrace (https://github.com/google/sanitizers/issues/764)
DOCKER_ADMIN="--cap-add SYS_PTRACE"
fi
DOCKER_ID=$(docker run $DOCKER_ADMIN -idt --mount type=bind,src=$TRAVIS_BUILD_DIR,dst=$TRAVIS_BUILD_DIR --mount type=bind,src=$CCACHE_DIR,dst=$CCACHE_DIR -w $TRAVIS_BUILD_DIR --env-file /tmp/env $DOCKER_NAME_TAG)

DOCKER_EXEC () {
docker exec $DOCKER_ID bash -c "cd $PWD && $*";
docker exec $DOCKER_ID bash -c "cd $PWD && $*"
}

if [ -n "$DPKG_ADD_ARCH" ]; then
DOCKER_EXEC dpkg --add-architecture "$DPKG_ADD_ARCH"
fi

travis_retry DOCKER_EXEC apt-get update
travis_retry DOCKER_EXEC apt-get install --no-install-recommends --no-upgrade -qq $PACKAGES $DOCKER_PACKAGES
travis_retry DOCKER_EXEC apt-get install --no-install-recommends --no-upgrade -qq $PACKAGES $DOCKER_PACKAGES

8 changes: 3 additions & 5 deletions .travis/test_05_before_script.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,22 @@
# Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.

export LC_ALL=C
export LC_ALL=C.UTF-8

DOCKER_EXEC echo \> \$HOME/.unite # Make sure default datadir does not exist and is never read by creating a dummy file
DOCKER_EXEC echo \> \$HOME/.unit-e # Make sure default datadir does not exist and is never read by creating a dummy file

mkdir -p depends/SDKs depends/sdk-sources

if [ -n "$OSX_SDK" -a ! -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then
curl --location --fail $SDK_URL/MacOSX${OSX_SDK}.sdk.tar.gz -o depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz
fi

if [ -n "$OSX_SDK" -a -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then
tar -C depends/SDKs -xf depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz
fi

if [[ $HOST = *-mingw32 ]]; then
DOCKER_EXEC update-alternatives --set $HOST-g++ \$\(which $HOST-g++-posix\)
fi

if [ -z "$NO_DEPENDS" ]; then
DOCKER_EXEC CONFIG_SHELL= make $MAKEJOBS -C depends HOST=$HOST $DEP_OPTS
fi

50 changes: 50 additions & 0 deletions .travis/test_06_script_a.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
#!/usr/bin/env bash
#
# Copyright (c) 2018 The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.

export LC_ALL=C.UTF-8

TRAVIS_COMMIT_LOG=$(git log --format=fuller -1)
export TRAVIS_COMMIT_LOG

OUTDIR=$BASE_OUTDIR/$TRAVIS_PULL_REQUEST/$TRAVIS_JOB_NUMBER-$HOST
UNITE_CONFIG_ALL="--disable-dependency-tracking --prefix=$TRAVIS_BUILD_DIR/depends/$HOST --bindir=$OUTDIR/bin --libdir=$OUTDIR/lib"
if [ -z "$NO_DEPENDS" ]; then
DOCKER_EXEC ccache --max-size=$CCACHE_SIZE
fi

BEGIN_FOLD autogen
if [ -n "$CONFIG_SHELL" ]; then
DOCKER_EXEC "$CONFIG_SHELL" -c "./autogen.sh"
else
DOCKER_EXEC ./autogen.sh
fi
END_FOLD

mkdir build
cd build || (echo "could not enter build directory"; exit 1)

BEGIN_FOLD configure
DOCKER_EXEC ../configure --cache-file=config.cache $UNITE_CONFIG_ALL $UNITE_CONFIG || ( cat config.log && false)
END_FOLD

BEGIN_FOLD distdir
DOCKER_EXEC make distdir VERSION=$HOST
END_FOLD

cd "unite-$HOST" || (echo "could not enter distdir unite-$HOST"; exit 1)

BEGIN_FOLD configure
DOCKER_EXEC ./configure --cache-file=../config.cache $UNITE_CONFIG_ALL $UNITE_CONFIG || ( cat config.log && false)
END_FOLD

set -o errtrace
trap 'DOCKER_EXEC "cat ${TRAVIS_BUILD_DIR}/sanitizer-output/* 2> /dev/null"' ERR

BEGIN_FOLD build
DOCKER_EXEC make $MAKEJOBS $GOAL || ( echo "Build failure. Verbose build follows." && DOCKER_EXEC make $GOAL V=1 ; false )
END_FOLD

cd ${TRAVIS_BUILD_DIR} || (echo "could not enter travis build dir $TRAVIS_BUILD_DIR"; exit 1)
27 changes: 27 additions & 0 deletions .travis/test_06_script_b.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/usr/bin/env bash
#
# Copyright (c) 2018 The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.

export LC_ALL=C.UTF-8

cd "build/unite-$HOST" || (echo "could not enter distdir build/unite-$HOST"; exit 1)

if [ "$RUN_UNIT_TESTS" = "true" ]; then
BEGIN_FOLD unit-tests
DOCKER_EXEC LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/depends/$HOST/lib make $MAKEJOBS check VERBOSE=1
END_FOLD
fi

if [ "$RUN_FUNCTIONAL_TESTS" = "true" ]; then
BEGIN_FOLD functional-tests
DOCKER_EXEC test/functional/test_runner.py --ci --combinedlogslen=4000 --coverage --quiet --failfast
END_FOLD
fi

if [ "$RUN_FUZZ_TESTS" = "true" ]; then
BEGIN_FOLD fuzz-tests
DOCKER_EXEC test/fuzz/test_runner.py -l DEBUG ${DIR_FUZZ_IN}
END_FOLD
fi
Loading