95432aa Test listunspent sanity when specifying initialfreecoins (Carl Dong)
1ac14fc restore bitcoin regtest gen block using -genesis_style (Gregory Sanders)
8b8c11a Add initialfreecoins option, default of 0 (Carl Dong)
Pull request description:
This PR adds a `-initialfreecoins` debug option, and a `-con_genesis_style` to go along with it.
This allows us to correctly set the amount of coins created in the genesis block, either in the `elements` style or `bitcoin` style.
Tests have been modified to test that the correct amount of coins are created.
Tree-SHA512: d3c56e7109e8e6496b6e5b819dc09f3ebf82013882854cc76062a39e4399e7eeb5789b567be527133278c1646a2765d02a09bd2d9618bdaeec5a852042e40c2b
- Add CommitToArgument without fedpegScript or signblockscript
- Modify CreateGenesisBlock to take in the genesis scriptSig
- Add AppendInitialIssuace without assets support
- AppendInitialIssuance to genesis block for Custom chain only
- Add -initialfreecoins option
- Modify tests to work with initialfreecoins
53ad841 Add explanation about how BIP32 unhardened derivation can be used to simplify whitelisting
71c5fe0 Add comment to explain effect of max_n_iterations in surjectionproof_init
85fd42f add unit test for generator and pedersen commitment roundtripping
2ccf885 rangeproof: fix serialization of pedersen commintments
60c173b rangeproof: verify correctness of pedersen commitments when parsing
32d7526 generator: verify correctness of point when parsing
ae14e8a rangeproof: check that points deserialize correctly when verifying rangeproof
44fe43d rangeproof: add fixed vector test case
e065d7d Expose generator in shared library
fb1ba32 fix spelling in documentation
fb75faa Test for rejection of trailing bytes in range proofs
9b2cf17 Test for rejection of trailing bytes in surjection proofs
a3a1800 Reject surjection proofs with trailing garbage
0c77ae9 Minor bugfix. Wrong length due to NUL character.
b1f31bc Add whitelisting benchmark
52a9f8f add whitelist_impl.h to include for dist
a707865 generator: add API tests
ec1ef04 generator: remove unnecessary ARG_CHECK from generate()
b0e9aa8 Fix generator makefile
526c654 Fix pedersen_blind_generator_blind_sum return value documentation
b51886e Add n_keys argument to whitelist_verify
37c57de Fix checks of whitelist serialize/parse arguments
9b8a9d9 whitelist: fix serialize/parse API to take serialized length
7f17515 Fix include/secp256k1_rangeproof.h function argument documentation.
0d81702 rangeproof: add API tests
417bb06 surjectionproof: rename unit test functions to be more consistent with other modules
1e2d5c1 surjectionproof: add API unit tests
7878a29 surjectionproof: tests_impl.h s/assert/CHECK/g
e609591 rangeproof: fix memory leak in unit tests
0c17f79 add surjection proof module
c174f0c Implement ring-signature based whitelist delegation scheme
a2bc660 rangeproof: several API changes
21bfb3c Expose generator in pedersen/rangeproof API
f4620de Constant-time generator module
d46fc3c rangeproof: expose sidechannel message field in the signing API
cf40b1b [RANGEPROOF BREAK] Use quadratic residue for tie break and modularity cleanup
6d28767 Get rid of precomputed H tables (Pieter Wuille)
ae1e576 Pedersen commitments, borromean ring signatures, and ZK range proofs.
efc61dc Add 64-bit integer utilities
e34ceb3 Merge #557: Eliminate scratch memory used when generating contexts
b3bf5f9 ecmult_impl: expand comment to explain how effective affine interacts with everything
efa783f Store z-ratios in the 'x' coord they'll recover
ffd3b34 add `secp256k1_ge_set_all_gej_var` test which deals with many infinite points
84740ac ecmult_impl: save one fe_inv_var
4704527 ecmult_impl: eliminate scratch memory used when generating context
7f7a2ed ecmult_gen_impl: eliminate scratch memory used when generating context
314a61d Merge #553: add static context object which has no capabilities
1086fda Merge #354: [ECDH API change] Support custom hash function
40fde61 prevent attempts to modify `secp256k1_context_no_precomp`
ed7c084 add static context object which has no capabilities
1e6f1f5 Merge #529: fix tests.c in the count == 0 case
c8fbc3c [ECDH API change] Allow pass arbitrary data to hash function
b00be65 [ECDH API change] Support custom hash function
95e99f1 fix tests.c in the count == 0 case
452d8e4 Merge #523: scratch: add stack frame support
6fe5043 scratch: add stack frame support
9bc2e26 Merge #522: parameterize ecmult_const over input size
7c1b91b parameterize ecmult_const over input size
dbc3ddd Merge #513: Increase sparsity of pippenger fixed window naf representation
fb9271d Merge #510: add a couple missing `const`s to ecmult_pippenger_wnaf
cd5f602 Merge #515: Fix typo
09146ae Merge #512: secp256k1_ec_privkey_negate - fix documentation
ec0a7b3 Don't touch leading zeros in wnaf_fixed.
9e36d1b Fix bug in wnaf_fixed where the wnaf array is not completely zeroed when given a 0 scalar.
96f68a0 Don't invert scalar in wnaf_fixed when it is even because a caller might intentionally give a scalar with many leading zeros.
9b7c47a Fix typo
6dbb007 Increase sparsity of pippenger fixed window naf representation
1646ace secp256k1_ec_privkey_negate - fix documentation
9b3ff03 add a couple missing `const`s to ecmult_pippenger_wnaf
cd329db Merge #460: [build] Update ax_jni_include_dir.m4 macro
7f9c1a1 Merge #498: tests: Avoid calling fclose(...) with an invalid argument
f99aa8d Merge #499: tests: Make sure we get the requested number of bytes from /dev/urandom
b549d3d Merge #472: [build] Set --enable-jni to no by default instead of auto.
d333521 Merge #494: Support OpenSSL versions >= 1.1 for ENABLE_OPENSSL_TESTS
2ef8ea5 Merge #495: Add bench_ecmult to .gitignore
82a96e4 tests: Make sure we get the requested number of bytes from /dev/urandom
5aae5b5 Avoid calling fclose(...) with an invalid argument
cb32940 Add bench_ecmult to .gitignore
31abd3a Support OpenSSL versions >= 1.1 for ENABLE_OPENSSL_TESTS
c95f6f1 Merge #487: fix tests typo, s/changed/unchanged
fb46c83 Merge #463: Reduce usage of hardcoded size constants
02f5001 Merge #490: Disambiguate bench functions and types
1f46d60 Disambiguate bench functions and types
f54c6c5 Merge #480: Enable benchmark building by default
c77fc08 Merge #486: Add pippenger_wnaf for multi-multiplication
d2f9c6b Use more precise pippenger bucket windows
4c950bb Save some additions per window in _pippenger_wnaf
a58f543 Add flags for choosing algorithm in ecmult_multi benchmark
36b22c9 Use scratch space dependent batching in ecmult_multi
355a38f Add pippenger_wnaf ecmult_multi
bc65aa7 Add bench_ecmult
dba5471 Add ecmult_multi tests
8c1c831 Generalize Strauss to support multiple points
548de42 add resizeable scratch space API
0e96cdc fix typo, s/changed/unchanged
c7680e5 Reduce usage of hardcoded size constants
6ad5cdb Merge #479: Get rid of reserved _t in type names
7a78f60 Print whether we're building benchmarks
4afec9f Build benchmarks by default
d1dc9df Get rid of reserved _t in type names
57752d2 [build] Set --enable-jni to no by default instead of auto.
e7daa9b [build] Tweak JNI macro to warn instead of error for JNI not found.
5b22977 [build] Update ax_jni_include_dir.m4 macro to deal with recent versions of macOS
git-subtree-dir: src/secp256k1
git-subtree-split: 53ad841cafa3bcb94b65409aec91fd7043533cf7
2bfabb3 blockheaders include block height, nodes validate it (Gregory Sanders)
8f6bedf functional framework support for CScriptNum decode (Gregory Sanders)
Pull request description:
The feature is enabled by default in custom chains; cannot be activated in legacy chains.
Tree-SHA512: d033b7dd0d853e5693efda584494cf58ed7ff43ce32d1f5d44e4ee52907b989e434c8dbb28a0f843da8b799548924d2499e8759a96ed5a7191b95f22b29c7f6e
The block height validation is gated by the startup option
`con_blockheightinheader`, accesible in custom chains only
using option `chain=<name>`. Only if set to true will this
field be (de)serialized and evaluated in consensus logic.
Otherwise the field is simply ignored, other than being
stored in memory as the default value 0.
e20b836 Actually run the bitcoin functional tests with test_runner (Gregory Sanders)
Pull request description:
We were just re-running the other tests.
Tree-SHA512: 25d7ffada5fc97f1188cdd906b4c36cdb230ef3ec51e9db4fd199902b675db1e91d6595292ccb0b24a094055c13aae3fe076e0cfc9a09b5d718695f27344f96e
d97920c add functional test for coinbase connection to db (Gregory Sanders)
e532664 allow grabbing genesis transaction(s) when connected (Gregory Sanders)
c7e5549 [#9102] really don't validate genesis block (Gregory Sanders)
ccf40db connect genesis block transaction outputs to coin db (Gregory Sanders)
Pull request description:
Tests should now be working.
Tree-SHA512: aa2af6637c534d7f9185e969118b52519fe0609ae79fa8f4d5213f939f9a5915f958cf93d02aa6f4a47795c87cc23c93daff3807347cb1b12a426326e6dea60e
5b4aff7 Duplicate serializations of consensus objects to use as Bitcoin serialization (Gregory Sanders)
Pull request description:
…lization
This will allow us to break elements serialization in other PRs such as height in block header.
Tree-SHA512: 1c58bb6caeef8d874579abcf536c7ca4541538e85441f51709971b7c7c5ce9e48e0c6dc09626a27aed0f045fbb1fe21c756b1d3986ce75489cf06fecc16eb15b
ef039f0 Add travis build that tests bitcoin functional tests (Gregory Sanders)
Pull request description:
We're going to keep these tests alive as long as possible to increase modularity/QA of the codebase.
Tree-SHA512: c0639422fe518cd9a5f6eb06f24a4c812d38bdde95f37a6787b10ab009e6ee9ff22b30ea8f79e6cf47581bd0d7577fe149f3e636c4c6f0488c9c6555730b8315
7bac720 add block subsidy argument to allow different/non-inflation chains (Gregory Sanders)
Pull request description:
Previously we just set this to 0 and continued, this allows tests to otherwise pass up until this point.
Tree-SHA512: e4e6ae85779a6079ccad38941b4b0dbb3362fa4d902aff5cedbea4641201646f6946cc0d140cb0fdac81c5009ff983baabebcbeeed99f089e44ad492fd6cd1ee