Commit graph

18222 commits

Author SHA1 Message Date
Steven Roose
fcec315daa
Merge #501: [0.17 MERGE] merge up to Core 8aa9badf5e
d670da8b3 fixup non-breaking merge error (Gregory Sanders)
60b7ef528 MERGE-FIX: mining_basic.py: Remove magic constants, make sure serialized header deserializes (Gregory Sanders)
faaac5caa RPCTypeCheck bip32derivs arg in walletcreatefunded (Gregory Sanders)
1f0c4282e QA: add basic walletcreatefunded optional arg test (Gregory Sanders)
1f18d7b59 walletcreatefundedpsbt: remove duplicate replaceable arg (Gregory Sanders)
2252ec500 Allow ConstructTransaction to not throw error with 0-input txn (Gregory Sanders)
d795c610d [qt] TransactionView: highlight replacement tx after fee bump (Sjors Provoost)
6d5fcad57 [gui] Make proxy icon from statusbar clickable (Cristian Mircea Messel)
de0b4fba2 depends: fix qt determinism (Cory Fields)
ea16c2d04 appveyor: fetch the latest port data (Chun Kuan Lee)
c4aecd1d8 Add risc-v 64-bit to gitian (Chun Kuan Lee)
96dda8b05 [depends] Add riscv qt depends support for cross compiling bitcoin-qt (Chun Kuan Lee)
241f8b5de Fix typo in feature_blocksdir.py log message (Alexander Leishman)
fa091b001 qa: Add tests for submitheader (MarcoFalke)
36b1b63f2 rpc: Expose ProcessNewBlockHeaders (MarcoFalke)
b2f23c415 [RPC] Remove getinfo deprecation warning (John Newbery)
4b3b85c59 refactor: use fs:: over boost::filesystem:: (fanquake)
8bd98a384 [trivial] Fix typo in CDiskBlockPos struct's ToString (Jon Layton)
1f6ff04e5 Use wildcard path in test_bitcoin.vcxproj (Chun Kuan Lee)
90cc69c0c ci: Add appveyor.yml to build on MSVC (Chun Kuan Lee)
4d0c7924d Make macro compatible with MSVC (Chun Kuan Lee)
5df6f089b More tests of signer checks (Andrew Chow)
7c8bffdc2 Test that a non-witness script as witness utxo is not signed (Andrew Chow)
8254e9950 Additional sanity checks in SignPSBTInput (Pieter Wuille)
c05712cb5 Only wipe wrong UTXO type data if overwritten by wallet (Pieter Wuille)
bd19cc78c Serialize non-witness utxo as a non-witness tx but always deserialize as witness (Andrew Chow)
43811e633 Fix PSBT deserialization of 0-input transactions (Andrew Chow)
a9cf5c962 Import CInv from correct module (Chun Kuan Lee)
265bd5088 Removes unsed `CBloomFilter` constructor. (251)
16bcc1b82 Remove unused dummy_tx variable from FillPSBT (Carl Dong)
8845c8aea tests: Replace usage of tostring() with tobytes() (Carl Dong)
fa5ce2738 ui: Compile boost:signals2 only once (MarcoFalke)
6ad0328f1 Don't assert(foo()) where foo has side effects (practicalswift)
ef7beaea6 Visual Studio build configuration for Bitcoin Core (Aaron Clauson)
d56b73f21 Remove redundant extern (practicalswift)
f04bb1361 Enable -Wredundant-decls (gcc) if available (practicalswift)
a9e90e500 Remove redundant redeclaration of rescanblockchain(...) in same scope (practicalswift)
49e56625a fix deprecation in bitcoin-util-test.py (Isidoro Ghezzi)

Pull request description:

  Half the "diff" here is from changes that 0.17 branch already had backported, and the rest are diffs of features we added touching small code changes.

  only 1323 commits to go

Tree-SHA512: 65c4d72d2edd949aed7cd0ff749f6ead81faff43f6600a296c309fed85633f6fe4624db111598b39a7757c95878455b7eff843989b081b5049fb2765810eb1fb
2019-01-24 18:31:14 +00:00
Gregory Sanders
d670da8b30 fixup non-breaking merge error 2019-01-24 13:01:20 -05:00
Gregory Sanders
07173d02f4 Merge branch 'elements-0.17' into merge_13968 2019-01-24 12:51:19 -05:00
Steven Roose
9308a7f388
Merge #484: [0.17] PAK Enforcement, as policy
19ef5e3cb Add link to pak authorization design in secp-zpk (Gregory Sanders)
1cb252e01 Descriptor support in PAK infrastructure and tests (Gregory Sanders)
636673447 Properly encode parent witness addresses (Gregory Sanders)
7e63ce39e Extend validateaddress to check parent address validity. (Gregory Sanders)
85bcda52f pak mempool removal: don't modify the vector you are taking range over (Gregory Sanders)
8de42370d fixup mempool clearing of peg-outs on block commitment (Gregory Sanders)
542b826c9 ScriptHasvalidPAKProof: Allow any standard single-key output script type (Gregory Sanders)
71acfb359 Add IsPayToWitnessPubkeyHash convenience function (Gregory Sanders)
1241343bd testproposedblock: Reject blocks with non-matching pak commitments (Gregory Sanders)
47ea638b4 miner adds commitment when pak enforcement is set only (Gregory Sanders)
3fc3ac340 disallow pak enforcement arg when nonstandard tx are possible (Gregory Sanders)
dfe5331db Miner adds PAK commitments when config 'disagress' with block commits (Gregory Sanders)
bcd8db972 functional test for pak feature (Gregory Sanders)
5b6d767b6 Load PAK arguments from config and disk on startup (Gregory Sanders)
d391782cd Add getwalletpakinfo RPC call (Gregory Sanders)
f06e6f648 Wallet offline_counter starts at -1 (Gregory Sanders)
0e52456f3 Return status of pak enforcement on the blockchain in (Gregory Sanders)
050bb4905 Add getpakinfo RPC call, without wallet state (Gregory Sanders)
3cfe2d49e Add sendtomainchain RPC call which is used when -pak_enforce is enabled (Gregory Sanders)
567de67af Break out sendtomainchain to call functions based on -enforce_pak (Gregory Sanders)
070be0f5c add initpegout RPC for peg-out wallet initialization (Gregory Sanders)
47422e71d Write and load peg-out wallet functions on wallet load (Gregory Sanders)
4e631bd77 Add derivation helpers for peg-out wallet infrastructure (Gregory Sanders)
1559cc9c3 C(Pub)Key::Derive: Return optional tweak vector for peg-out wallets (Gregory Sanders)
f1dbd1cf3 -multi_data_permitted: Allow >1 op_return output by policy (Gregory Sanders)
9f5cc03f9 Read PAK list from connected blocks, save list, and boot transactions not conforming (Gregory Sanders)
86fbc2418 GetPAKKeysFromCommitment utility function (Gregory Sanders)
bf66d77a8 Add Read/Write functions to txdb for PAK lists (Gregory Sanders)
2b4899dd3 PAK enforcement via standardness, drop multi-op_return restriction (Gregory Sanders)
6679823fc Create global PAK lists for config and blockchain state (Gregory Sanders)
8c7746c4d Add CScript::IsPayToPubkeyHash convienience function (Gregory Sanders)
43424cbf7 Add PAK proof validation function (Gregory Sanders)
378e59461 Define PAKList structure and operations (Gregory Sanders)
40571ab6d Turn on secp-zkp experimental modules for PAK (Gregory Sanders)
2019-01-24 17:25:36 +00:00
Gregory Sanders
19ef5e3cba Add link to pak authorization design in secp-zpk 2019-01-24 11:07:17 -05:00
Gregory Sanders
1cb252e01d Descriptor support in PAK infrastructure and tests 2019-01-24 11:07:17 -05:00
Gregory Sanders
6366734477 Properly encode parent witness addresses 2019-01-24 11:07:11 -05:00
Gregory Sanders
7e63ce39e8 Extend validateaddress to check parent address validity. 2019-01-24 11:07:11 -05:00
Gregory Sanders
85bcda52fc pak mempool removal: don't modify the vector you are taking range over 2019-01-24 11:07:11 -05:00
Gregory Sanders
8de42370d0 fixup mempool clearing of peg-outs on block commitment 2019-01-24 11:07:11 -05:00
Gregory Sanders
542b826c95 ScriptHasvalidPAKProof: Allow any standard single-key output script type 2019-01-24 11:07:11 -05:00
Gregory Sanders
71acfb359b Add IsPayToWitnessPubkeyHash convenience function 2019-01-24 11:07:11 -05:00
Gregory Sanders
1241343bd5 testproposedblock: Reject blocks with non-matching pak commitments 2019-01-24 11:07:11 -05:00
Gregory Sanders
47ea638b43 miner adds commitment when pak enforcement is set only 2019-01-24 11:07:11 -05:00
Gregory Sanders
3fc3ac340f disallow pak enforcement arg when nonstandard tx are possible 2019-01-24 11:07:11 -05:00
Gregory Sanders
dfe5331dba Miner adds PAK commitments when config 'disagress' with block commits 2019-01-24 11:07:11 -05:00
Gregory Sanders
bcd8db972f functional test for pak feature 2019-01-24 11:07:11 -05:00
Gregory Sanders
5b6d767b61 Load PAK arguments from config and disk on startup 2019-01-24 11:07:10 -05:00
Gregory Sanders
d391782cd9 Add getwalletpakinfo RPC call 2019-01-24 11:07:07 -05:00
Gregory Sanders
f06e6f648e Wallet offline_counter starts at -1 2019-01-24 11:07:07 -05:00
Gregory Sanders
0e52456f30 Return status of pak enforcement on the blockchain in 2019-01-24 11:07:07 -05:00
Gregory Sanders
050bb49055 Add getpakinfo RPC call, without wallet state 2019-01-24 11:07:06 -05:00
Gregory Sanders
3cfe2d49ef Add sendtomainchain RPC call which is used when -pak_enforce is enabled 2019-01-24 11:07:05 -05:00
Gregory Sanders
567de67afc Break out sendtomainchain to call functions based on -enforce_pak 2019-01-24 11:07:01 -05:00
Gregory Sanders
070be0f5ca add initpegout RPC for peg-out wallet initialization 2019-01-24 11:07:01 -05:00
Gregory Sanders
47422e71d8 Write and load peg-out wallet functions on wallet load 2019-01-24 11:07:01 -05:00
Gregory Sanders
4e631bd778 Add derivation helpers for peg-out wallet infrastructure 2019-01-24 11:07:01 -05:00
Gregory Sanders
1559cc9c3b C(Pub)Key::Derive: Return optional tweak vector for peg-out wallets 2019-01-24 11:07:01 -05:00
Gregory Sanders
f1dbd1cf3d -multi_data_permitted: Allow >1 op_return output by policy 2019-01-24 11:06:59 -05:00
Gregory Sanders
9f5cc03f94 Read PAK list from connected blocks, save list, and boot transactions not conforming 2019-01-24 11:06:55 -05:00
Gregory Sanders
86fbc2418f GetPAKKeysFromCommitment utility function 2019-01-24 11:06:55 -05:00
Gregory Sanders
bf66d77a8d Add Read/Write functions to txdb for PAK lists 2019-01-24 11:06:55 -05:00
Gregory Sanders
2b4899dd3c PAK enforcement via standardness, drop multi-op_return restriction 2019-01-24 11:06:55 -05:00
Gregory Sanders
6679823fc0 Create global PAK lists for config and blockchain state 2019-01-24 11:06:55 -05:00
Gregory Sanders
8c7746c4de Add CScript::IsPayToPubkeyHash convienience function 2019-01-24 11:06:55 -05:00
Gregory Sanders
43424cbf71 Add PAK proof validation function 2019-01-24 11:06:55 -05:00
Gregory Sanders
378e594617 Define PAKList structure and operations 2019-01-24 11:06:25 -05:00
Gregory Sanders
60b7ef5287 MERGE-FIX: mining_basic.py: Remove magic constants, make sure serialized header deserializes 2019-01-23 16:48:36 -05:00
Gregory Sanders
c5a93c008f UPSTREAM MERGE BROKEN: Merge commit '8aa9badf5e' into e17 2019-01-23 16:48:22 -05:00
Gregory Sanders
1dfef27322
Merge #500: [0.17 MERGE] test merge with upstream
263b377 gitian: bump descriptors for (0.)18 (fanquake)
2da54f5 Cleanup StartRest() (DesWurstes)
58efc49 build: bump version to 0.17.99 (Wladimir J. van der Laan)

Pull request description:

  Ironically gets us off "0.17" branch onto 0.17.99.

Tree-SHA512: f809cfd336d8911c182075a4c93293e92c0902c9d364c8d7478858a063921a9f40835d237ee3796c6e2954feb46f48a94a986fc625fb70d3797003256b45c132
2019-01-23 15:28:51 -05:00
Gregory Sanders
e3388ecfa2 UPSTREAM MERGE: Merge commit '62d40f1983' into elements-0.17 2019-01-23 12:57:11 -05:00
Gregory Sanders
92af96af2f
Merge #495: [0.17] Add new Elements opcodes
a09e63f Make OP_DETERMINISTICRANDOM endian-safe (Steven Roose)
1967112 Fix typo in comment (Steven Roose)
aa7c92e Add test cases for OP_SUBSTR_LAZY (Steven Roose)
547d3a0 Add OP_SUBSTR_LAZY (Steven Roose)
9fea017 Add test cases for the re-enabled opcodes (Steven Roose)
13e1103 Re-enable several disabled opcodes (Steven Roose)
4ec1d91 Add unit tests for OP_CHECKSIGFROMSTACK (Steven Roose)
c27ea98 Add OP_CHECKSIGFROMSTACK[VERIFY] (Steven Roose)
8c20371 Add OP_DETERMINISTICRANDOM unit tests (Steven Roose)
358a1bb Add OP_DETERMINISTICRANDOM (Steven Roose)

Pull request description:

  Opcode parity with elements-0.14.1

Tree-SHA512: ebb8dd329ea4d4123189a9f0fa8fd95dd5ae134d202c2b640f868b8f0608948c24d404bdb487c20b39b398bc933dfd412e61ec562c3eb907b59fb986808cff3f
2019-01-15 15:17:42 -05:00
Steven Roose
a09e63fdad
Make OP_DETERMINISTICRANDOM endian-safe
Fixing a TODO from elements-0.14.1.

Signed-off-by: Steven Roose <steven@stevenroose.org>
2019-01-14 11:08:45 +00:00
Steven Roose
1967112d98 Fix typo in comment 2019-01-14 11:07:02 +00:00
Steven Roose
aa7c92eaef
Add test cases for OP_SUBSTR_LAZY
Signed-off-by: Steven Roose <steven@stevenroose.org>
2019-01-11 18:40:55 +00:00
Gregory Sanders
40571ab6d4 Turn on secp-zkp experimental modules for PAK 2019-01-11 13:29:09 -05:00
Steven Roose
32aec9af0b
Merge #493: secp-zkp update to fix a couple Travis issues
624a6153f Squashed 'src/secp256k1/' changes from 53ad841..43dd1f4 (Gregory Sanders)

Pull request description:

  Type mismatch may have been causing rangeproof verification failure in secp unit tests on 32 bit systems.

  The rangeproof unit tests also run far too long, so iterations are cut down to avoid a 10 minute Travis timeout.

Tree-SHA512: a23ea2db3338d122fef9e05527f88850cc71f597d1afca6bad5978312587effa945effe7d61866d88a2e576ea14a177ca878f524f6fb74bdce8d0ae310e898c1
2019-01-11 18:25:49 +00:00
Steven Roose
547d3a0c10 Add OP_SUBSTR_LAZY 2019-01-11 18:18:24 +00:00
Steven Roose
9fea017cf6
Add test cases for the re-enabled opcodes 2019-01-11 17:42:56 +00:00
Steven Roose
13e1103abe Re-enable several disabled opcodes
Re-enabled opcodes are:

- OP_CAT
- OP_SUBSTR
- OP_LEFT
- OP_RIGHT
- OP_INVERT
- OP_AND
- OP_OR
- OP_XOR
- OP_LSHIFT
- OP_RSHIFT
2019-01-11 17:42:01 +00:00