oh dear

just been working on making use of the libsecp256k1 library from bitcoin core and it just dawned on me that fiatjaf doesn't have a test in there for making sure the signing works, but ok lol

Reply to this note

Please Login to reply.

Discussion

Usually, you don't test 3rd party libs but assume that they test and fix it themselves. But you can still add an integration test

yeah, he put it in there for the most frequent operation, verification, the signature is applied by the client after all

but for the case where an application is sending out ephemeral messages at a high volume it matters to ensure it works identically

i'm putting a toggle into it so it can be enabled or disabled, but enable it by default

just finished, now with also signing benchmarks... the signing performance is also abysmal, twice as abysmal

goos: linux

goarch: amd64

pkg: github.com/mleku/nodl/pkg/libsecp256k1

cpu: AMD Ryzen 5 PRO 4650G with Radeon Graphics

BenchmarkSignatureVerification/btcec-12 132 9049449 ns/op

BenchmarkSignatureVerification/libsecp256k1-12 754 1584984 ns/op

BenchmarkSign/btcec-12 52 23092526 ns/op

BenchmarkSign/libsecp256k1-12 780 1492018 ns/op