* Sketch CurveImpl enum, replace macro definitions with templates
* Replace use of MD_TYPE and HASH macros with templates
* Replace HASH macro
* WIP
* Remove remaining compile-disabled code from keypair.h
* Expose CurveImpl, correct 256k1_bitcoin params
* Test all supported curves
* Add test that wrong curve fails to validate
* verify(vector, vector) should delegate, not reimplement
* Corrupt more, to ensure we affect content not padding
* Rename CURVE_CHOICE options to be LEDGER_CURVE_CHOICE
* LEDGER_CURVE_CHOICE determines default_curve_choice
* Proof-of-concept - factories for virtual implementation
* Virtualise PublicKey
* Re-enable other tests
* Remove templated CurveParameters
* Add labels, test for wrong curve, wrong impl
* Correct comment
* Delegate sign(CBuffer), reducing code duplication
* Remove TODO enum
* tls_bench compares curves for signing
* Extract make_contents
* tls_bench does comparison of all supported curves
* Tidy
* Temporary verbose logging of ecp group ID
* Produce standard (non-recoverable) signatures by default, for compatibility
* Fix curve logging, add tests of key transfer across implementations
* Verify with non-recoverable sigs too
* Log inconsistent failing cases
* Correct implementation substitutability test
* Normalize secp256k1 signatures - they may have come from mbedtls
* Re-order picobench results for readability
* Add some secp256k1 link dependencies
* Unprotect constructors - there are legitimate uses for direct construction
* Verifier curve type is parsed from cert
* history_bench builds
* Reminder TODO comment
* frontend_test builds and passes
* Clients compile
* genesisgenerator compiles
* membervoting_test builds
* Fix sign_hash, sign/verify ack data normally
* Remove unneeded CurveParams entirely
Detect PublicKey type
Simplify construction to minimum
* Correct test with new API
* verify_hash via publickey, test sign_hash and verify_hash
* Include tests
* Update to latest signature
* Ditto
* Update function signatures for people with raw data
* Fix history calls
* When constructing from explicit key, don't pass curve too
* API updates
* Fix nodestate
* inline
* EVERYTHING BUILDS
* Tidy cmake link args
* Remove unnecessary direct use of mbedtls_ecdsa_*
* Remove uint8_t restriction in sig_size
* tls_bench actually compares relevant hash operations
* bitcoin preference doesn't need to be a macro
* Standardise use of use_bitcoin_impl
* clang-format
* Test now uses distinct manual hash operation
CHECK rather than REQUIRE
* Rename LEDGER_curve to SERVICE_IDENTITY_curve
* use fmtlib
* Let mbedtls determine message digest size/function
* Add details to all thrown errors
* Remove parameter packs, document use_bitcoin_impl
* Name magic constant, extract parse_secp256k_bc
* No success without an argument
* Make it clear that JoinNetwork gets an async response
* return json::success(true);
* Expect truth
* luA luI
* Make logging.lua consistent with logging.cpp
* KO OK
* Remove unused coverage CI step
* Add new e2e forwarding performance test
* Remove verification file
* Re-enable storage of tx-times and metrics data + copy all clients csv
files back
* Disable signatures for forwarding test for now
* Actually push performance data
* Only push client* csv files
* Re-enable compress time and metrics
* Indentation of CI yml file
* Some more fixups
* Added fast-start for clients and fixups
* Cleanup
* Change comment
* Remove fast-start option as join protocol is now synchronous