Commit graph

9469 commits

Author SHA1 Message Date
Gregory Sanders
f7f38015f8
Merge #514: fix vector length calculation for targets in BlindTransaction
045335a fix vector length calculation for targets in BlindTransaction (Dmitry Petukhov)
2019-03-28 16:55:16 -04:00
Gregory Sanders
aaee9dde6f
Merge #402: Disallow extended encoding for non-witness transactions
8719c94 Disallow extended encoding for non-witness transactions (Pieter Wuille)

Pull request description:

  Backport from upstream https://github.com/bitcoin/bitcoin/pull/14039

Tree-SHA512: a91810e0afe4d631e2e08cd1bc919e83e3dbdac050f1a66ddc0c6210b222e5813f5b36b27111976e83a4c7683507e4ed06ef475467e1c0e572ccb3d0abc631e4
2019-03-25 10:47:02 -04:00
Dmitry Petukhov
045335a4a6
fix vector length calculation for targets in BlindTransaction
the size of surjectionTargets and targetAssetGenerator vectors
was calculated as tx.vin.size()*3, based on the fact that for
each input there might also be up to 2 issuance pseudo-inputs,
but did not take into account that the number of auxiliary generators
may exceed the number of inputs. This fixes the size calculations
by taking into account auxiliary generators supplied beyond vin size.
2019-03-21 11:16:19 +05:00
Gregory Sanders
5699e2178f
Merge #472: Add comment on witness-null issuance transactions' invalidity
1599356 Add comment on witness-null issuance transactions' invalidity (Gregory Sanders)
2019-03-06 09:16:32 -05:00
Gregory Sanders
534a033c12
Merge #509: Properly serialize surjection proof in caching checker
50404af Properly serialize surjection proof in caching checker (Gregory Sanders)
2019-03-06 09:14:27 -05:00
Gregory Sanders
d954b5e43a
Merge #480: remove redundant value validity check
a9dcc1d remove redundant value validity check (Gregory Sanders)

Pull request description:

  This condition is already checked two conditionals above.

Tree-SHA512: b8ba752877c081e4f5a7e796ff6ca065ddf7b644089eb38033c17a17ca2da8243833fbfe2e669a427f90a6c21c8de022c8db237990e088efaf218b9775d75222
2019-03-06 09:11:42 -05:00
Gregory Sanders
50404afa1d Properly serialize surjection proof in caching checker 2019-02-18 09:09:50 -05:00
Steven Roose
7f6351782a
Merge #399: add RPC to deblind transactionwith blinding keys in wallet
fa2c2641b add RPC to deblind transactionwith blinding keys in wallet (Gregory Sanders)
2019-02-14 16:28:31 +00:00
Dmitry Petukhov
36a40e853f
check amount against MAX_MONEY with unsigned comparison
Because explicit conversion of arbitrarily large unsigned values
to signed values of the same bit width is implementation defined
until c++20, better check against MAX_MONEY with unsigned comparison.
2019-01-04 00:33:49 +05:00
Gregory Sanders
15371c3f78 Refactor UnblindConfidentialPair, and use proper generator serialization comparison 2019-01-03 12:06:22 -05:00
Gregory Sanders
67fa9497cf Use proper secp API to compare generators in issuance validation 2019-01-03 12:06:15 -05:00
Gregory Sanders
2300bcf1b5
Merge #489: Fix UnblindConfidentialPair: use IsFullyValid() for ephemeral_key
07f2178 add test: UnblindConfidentialPair: invalid pubk in nNonce.vchCommitment (Dmitry Petukhov)
f8a9d8b Fix UnblindConfidentialPair: use IsFullyValid() for ephemeral_key (Dmitry Petukhov)
2019-01-02 13:15:07 -05:00
Dmitry Petukhov
07f2178eb5
add test: UnblindConfidentialPair: invalid pubk in nNonce.vchCommitment
Added to prevent regression, code supplied by @instagibbs
(https://github.com/ElementsProject/elements/pull/489#issuecomment-450933962)
2019-01-02 23:12:56 +05:00
Dmitry Petukhov
f8a9d8bfa5
Fix UnblindConfidentialPair: use IsFullyValid() for ephemeral_key
if nNonce.vchCommitment contains invalid key of correct length,
IsValid() check will pass, but then assertion will be hit
when secp256k1_ec_pubkey_parse() is called on it inside CKey::ECDH().
Therefore, the check should be done with IsFullyValid()
2018-12-31 22:30:36 +05:00
Dmitry Petukhov
f7a5476082
add standard license header to src/blind.cpp 2018-12-22 21:01:25 +05:00
Gregory Sanders
a9dcc1d431 remove redundant value validity check 2018-12-13 13:08:33 -05:00
Gregory Sanders
21cb8aab9b rawreissuance rpc 2018-12-12 16:27:52 -05:00
Gregory Sanders
1251ecd411 fixup rawissueasset help comment 2018-12-12 16:27:52 -05:00
Gregory Sanders
23371af262 add confidential_key explanation in validateaddress help 2018-12-12 16:22:09 -05:00
Gregory Sanders
c579f4b524 Correct how wallet blinding logic detects which token id to use based on blinding keys 2018-12-12 16:22:09 -05:00
Gregory Sanders
fff2dccc1e blindrawtransaction: Have blind_issuances parse correctly from command line 2018-12-12 16:22:09 -05:00
Gregory Sanders
756bdc060e issueasset_base: Push 0-value value to issuance field if blinding 2018-12-12 16:22:09 -05:00
Gregory Sanders
a5e1af5285 rawissueasset RPC call 2018-12-03 19:04:33 +01:00
Gregory Sanders
f9f91ba137 Fixup issueasset help results information 2018-12-01 15:33:40 -05:00
Gregory Sanders
2b22b6dfc6 Fixup (raw)blindrawtransaction 2018-11-29 16:35:42 -05:00
Gregory Sanders
a5e9e0e40f Fix blinding logic for issuances on input 1 or higher 2018-11-29 16:13:12 -05:00
Gregory Sanders
83df289765 fixup BlindTransaction issuance counting assertion 2018-11-29 16:13:12 -05:00
Gregory Sanders
1599356bb2 Add comment on witness-null issuance transactions' invalidity 2018-11-27 09:06:05 -05:00
Steven Roose
e2c8580085
Merge #466: Add basic raw pegin creation test and fixup return name in help
f2161b411 Improve raw peg-in creation logic/help and add basic tests (Gregory Sanders)

Pull request description:

  shores up concerns in https://github.com/ElementsProject/elements/issues/465 and fixes a return variable help text. Adds tests.

Tree-SHA512: d32305a355c3bbac22c9cf5ceab57825f9dd1ced40a401cda62d25cba4313a832032720b0ecc30f2ca0025c3992099d32660fec566955dd00973ffb42362e32b
2018-11-15 18:34:07 +00:00
Gregory Sanders
1d52ca257e
Merge #464: Liquid forward ports
0064b03 Add Asset parameter to MutateTxAddOutData (yoshihide shimada)
0dd6605 Remove comma for `claimpegin` in command line help info (Stefan Liu)
a2715eb validation: change pindexPrev->nHeight + 1 to nHeight (shafisher)
2018-11-15 12:51:40 -05:00
Gregory Sanders
f2161b411f Improve raw peg-in creation logic/help and add basic tests 2018-11-14 21:58:02 -05:00
yoshihide shimada
0064b03f39 Add Asset parameter to MutateTxAddOutData 2018-11-14 09:26:51 -05:00
Stefan Liu
0dd6605820 Remove comma for claimpegin in command line help info
When calling this method(`claimpegin`) with liquid-cli, we don't commas between parameters.
2018-11-13 10:13:04 -05:00
shafisher
a2715eb9a5 validation: change pindexPrev->nHeight + 1 to nHeight 2018-11-13 10:12:36 -05:00
Steven Roose
99cc03457f
Merge #460: fix endianness of getrawtransaction issuance entropy, add basic test
8b0ebae27 fix endianness of getrawtransaction issuance entropy, add basic test (Gregory Sanders)
2018-11-08 16:57:33 +00:00
Gregory Sanders
8b0ebae271 fix endianness of getrawtransaction issuance entropy, add basic test 2018-11-08 11:20:42 -05:00
Gregory Sanders
3cf35fc090
Merge #410: compact block RPC calls
c3fe935 test compact block rpcs (Gregory Sanders)
c3cbe6e compact block RPC calls (Gregory Sanders)

Pull request description:

  Combined with https://github.com/ElementsProject/elements/pull/339 should be pretty powerful for speed of block proposal transmission.

Tree-SHA512: 305256b844a28542bb720ab86a36ec91982dd41c4d8e455e34ad3db12daa6e8b25ccfe2728fa514812655c2121c8d1d36e71f2af83f86b2de6c5d0c72541d79e
2018-10-29 12:46:35 -04:00
Gregory Sanders
f3a424f0d0 update secp256k1-zkp 2318f18a909dffa1f962e681db7ff62cdc0f8e1c 2018-10-08 15:03:18 +09:00
Gregory Sanders
abb7b015d8 Add some additional comments about BitcoindRPCCheck infra 2018-10-03 17:57:57 +09:00
Gregory Sanders
62c56f446a don't set CorruptionPossible for peg-in transaction failure
Previously the peg-in validation logic was done in script
which means it was handled correctly by mempool/block logic.

We then moved these checks outside of script, which means
that these checks aren't multithreaded/batched, and return
the specific error states, including CorruptionPossible.

This means that blocks are never considered permanently invalid and
in certain circumstances tried in an infinite loop.

Instead we mark it as a normal failure, and allow the peg-in invalid
block queue to take care of it instead.
2018-10-03 17:57:57 +09:00
Gregory Sanders
5d7cd6b843 parameterize the rpc re-checking of peg-in validation failed blocks 2018-10-03 17:57:42 +09:00
Gregory Sanders
ba8d498559 bitcoind rpc check should take main locks for mapBlockIndex, check for key 2018-10-03 17:57:42 +09:00
Gregory Sanders
5fe9c2cbeb
Merge #419: fix various undefined behavior and null ptr dereferences
0184575 re-enable failing travis build (Gregory Sanders)
f6875bd fix use after free in peg-in mempool logic (Gregory Sanders)
ea9d92d only try to set best chain if signal is registered (Gregory Sanders)
61c5491 fix undefined behavior in confidential commitment serialization (Gregory Sanders)
2018-09-27 12:11:56 -04:00
Gregory Sanders
ba1c470aef
Merge #417: require 0.16.3 parent Core node
c37eb06 require 0.16.3 parent Core node (Gregory Sanders)
2018-09-27 10:11:31 -04:00
Gregory Sanders
f6875bd32c fix use after free in peg-in mempool logic 2018-09-26 18:05:15 -04:00
Gregory Sanders
35364b6746
rpc: reject non-hex strings for claim_script 2018-09-26 19:05:42 +02:00
Gregory Sanders
ea9d92d453 only try to set best chain if signal is registered 2018-09-26 12:09:57 -04:00
Gregory Sanders
61c54913c9 fix undefined behavior in confidential commitment serialization 2018-09-25 19:57:36 -04:00
Gregory Sanders
c37eb06b94 require 0.16.3 parent Core node 2018-09-25 12:17:50 -04:00
Suhas Daftuar
05c8066c8e Fix crash bug with duplicate inputs within a transaction
Introduced by #9049
2018-09-19 11:27:25 -04:00