Page MenuHomePhabricator

scripted-diff: rename privkey with seckey in secp256k1 interface
ClosedPublic

Authored by PiRK on Feb 10 2026, 13:29.

Details

Summary
-BEGIN VERIFY SCRIPT-
sed -i 's/privkey/seckey/g' src/key.cpp src/test/fuzz/secp256k1_ec_seckey_import_export_der.cpp
-END VERIFY SCRIPT-

This change is needed before deprecating the secp256k1_privkey_* functions in D19546

This is a backport of core#19228
https://github.com/bitcoin/bitcoin/pull/19228/changes/e10439ce5a54cd13062e4ed07ebc681e385ed5cb

Test Plan

ninja all check-all bitcoin-fuzzers

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

PiRK requested review of this revision.Feb 10 2026, 13:29

Tail of the build log:

[54/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/muhash.cpp.o
[55/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/multiplication_overflow.cpp.o
[56/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/net_permissions.cpp.o
[57/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/netaddress.cpp.o
[58/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/parse_script.cpp.o
[59/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/node_eviction.cpp.o
[60/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/prevector.cpp.o
[61/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/p2p_transport_deserializer.cpp.o
[62/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/parse_hd_keypath.cpp.o
[63/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/load_external_block_file.cpp.o
[64/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/parse_univalue.cpp.o
[65/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/net.cpp.o
[66/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/pow.cpp.o
[67/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/psbt.cpp.o
[68/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/primitives_transaction.cpp.o
[69/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/script_flags.cpp.o
[70/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/protocol.cpp.o
[71/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/random.cpp.o
[72/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/rolling_bloom_filter.cpp.o
[73/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/script_bitcoin_consensus.cpp.o
[74/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/script_descriptor_cache.cpp.o
[75/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/script.cpp.o
[76/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/spanparsing.cpp.o
[77/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/signature_checker.cpp.o
[78/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/process_message.cpp.o
[79/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/script_ops.cpp.o
[80/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/script_interpreter.cpp.o
[81/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/process_messages.cpp.o
[82/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/secp256k1_ecdsa_signature_parse_der_lax.cpp.o
[83/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/scriptnum_ops.cpp.o
[84/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/secp256k1_ec_seckey_import_export_der.cpp.o
[85/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/script_sign.cpp.o
[86/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/span.cpp.o
[87/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/string.cpp.o
[88/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/tx_in.cpp.o
[89/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/tx_out.cpp.o
[90/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/script_sigcache.cpp.o
[91/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/strprintf.cpp.o
[92/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/socks5.cpp.o
[93/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/system.cpp.o
[94/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/timedata.cpp.o
[95/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/txrequest.cpp.o
[96/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/util.cpp.o
[97/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/transaction.cpp.o
[98/99] Building CXX object src/test/fuzz/CMakeFiles/fuzz.dir/validation_load_mempool.cpp.o
[99/99] Linking CXX executable src/test/fuzz/fuzz
FAILED: src/test/fuzz/fuzz 
: && /usr/bin/clang++ -g -O2 -fuse-ld=lld -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,-z,separate-code -lstdc++fs -fPIE -pie src/test/CMakeFiles/testutil.dir/util/blockfilter.cpp.o src/test/CMakeFiles/testutil.dir/util/blockindex.cpp.o src/test/CMakeFiles/testutil.dir/util/coins.cpp.o src/test/CMakeFiles/testutil.dir/util/logging.cpp.o src/test/CMakeFiles/testutil.dir/util/mining.cpp.o src/test/CMakeFiles/testutil.dir/util/net.cpp.o src/test/CMakeFiles/testutil.dir/util/random.cpp.o src/test/CMakeFiles/testutil.dir/util/setup_common.cpp.o src/test/CMakeFiles/testutil.dir/util/str.cpp.o src/test/CMakeFiles/testutil.dir/util/transaction_utils.cpp.o src/test/CMakeFiles/testutil.dir/util/txmempool.cpp.o src/test/CMakeFiles/testutil.dir/util/validation.cpp.o src/test/CMakeFiles/testutil.dir/util/wallet.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/fuzz.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/addition_overflow.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/addrdb.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/asmap.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/asmap_direct.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/autofile.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/banman.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/base_encode_decode.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/bitdeque.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/block.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/block_header.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/blockfilter.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/bloom_filter.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/buffered_file.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/cashaddr.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/chain.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/checkqueue.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/coinscache_sim.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/coins_view.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/connman.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/crypto.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/crypto_aes256.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/crypto_aes256cbc.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/crypto_chacha20.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/crypto_common.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/crypto_hkdf_hmac_sha256_l32.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/crypto_poly1305.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/cuckoocache.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/descriptor_parse.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/deserialize.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/eval_script.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/fee_rate.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/fees.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/flatfile.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/float.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/golomb_rice.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/hex.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/http_request.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/integer.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/key.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/key_io.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/kitchen_sink.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/load_external_block_file.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/locale.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/merkleblock.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/message.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/muhash.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/multiplication_overflow.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/net.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/net_permissions.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/netaddress.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/node_eviction.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/overflow.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/p2p_transport_deserializer.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/parse_hd_keypath.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/parse_iso8601.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/parse_numbers.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/parse_script.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/parse_univalue.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/prevector.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/pow.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/primitives_transaction.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/process_message.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/process_messages.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/protocol.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/psbt.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/random.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/rolling_bloom_filter.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/script.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/script_bitcoin_consensus.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/script_descriptor_cache.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/script_flags.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/script_interpreter.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/script_ops.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/script_sigcache.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/script_sign.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/scriptnum_ops.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/secp256k1_ecdsa_signature_parse_der_lax.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/secp256k1_ec_seckey_import_export_der.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/signature_checker.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/socks5.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/span.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/spanparsing.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/string.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/strprintf.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/system.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/timedata.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/transaction.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/tx_in.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/tx_out.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/txrequest.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/util.cpp.o src/test/fuzz/CMakeFiles/fuzz.dir/validation_load_mempool.cpp.o -o src/test/fuzz/fuzz  -Wl,-rpath,/work/abc-ci-builds/build-clang-tidy/src:  /usr/lib/x86_64-linux-gnu/libjemalloc_pic.a  -lstdc++fs  src/libserver.a  src/librpcclient.a  src/libbitcoinconsensus.so.0.32.8  src/libserver.a  src/wallet/libwallet.a  src/libserver.a  src/wallet/libwallet.a  /usr/lib/x86_64-linux-gnu/libevent_pthreads.so  /usr/lib/x86_64-linux-gnu/libminiupnpc.so  /usr/lib/x86_64-linux-gnu/libnatpmp.so  src/zmq/libzmq.a  /usr/lib/x86_64-linux-gnu/libzmq.so  chronik/libchronik.a  chronik/libchronik_lib.a  -lgcc_s  -lrt  -lpthread  -ldl  -lc  -latomic  chronik/libchronik-bridge.a  src/leveldb/libleveldb.a  src/crc32c/libcrc32c.a  /usr/lib/x86_64-linux-gnu/libdb_cxx-5.3.so  /usr/lib/x86_64-linux-gnu/libsqlite3.so  src/libbitcoinconsensus.a  src/libscript.a  src/libcommon.a  src/libbitcoinconsensus.a  src/libscript.a  src/libcommon.a  src/libutil.a  /usr/lib/x86_64-linux-gnu/libevent.so  src/univalue/libunivalue.a  src/crypto/libcrypto.a  src/crypto/libcrypto_sse4.1.a  src/crypto/libcrypto_avx2.a  src/crypto/libcrypto_shani.a  src/secp256k1/libsecp256k1.a  /usr/lib/x86_64-linux-gnu/libjemalloc_pic.a  -lm  -lstdc++fs && :
ld.lld: error: undefined symbol: ec_privkey_import_der(secp256k1_context_struct const*, unsigned char*, unsigned char const*, unsigned long)
>>> referenced by secp256k1_ec_seckey_import_export_der.cpp:26 (/work/src/test/fuzz/secp256k1_ec_seckey_import_export_der.cpp:26)
>>>               src/test/fuzz/CMakeFiles/fuzz.dir/secp256k1_ec_seckey_import_export_der.cpp.o:(secp256k1_ec_seckey_import_export_der_fuzz_target(std::vector<unsigned char, std::allocator<unsigned char> > const&))
>>> referenced by secp256k1_ec_seckey_import_export_der.cpp:44 (/work/src/test/fuzz/secp256k1_ec_seckey_import_export_der.cpp:44)
>>>               src/test/fuzz/CMakeFiles/fuzz.dir/secp256k1_ec_seckey_import_export_der.cpp.o:(secp256k1_ec_seckey_import_export_der_fuzz_target(std::vector<unsigned char, std::allocator<unsigned char> > const&))

ld.lld: error: undefined symbol: ec_privkey_export_der(secp256k1_context_struct const*, unsigned char*, unsigned long*, unsigned char const*, bool)
>>> referenced by secp256k1_ec_seckey_import_export_der.cpp:39 (/work/src/test/fuzz/secp256k1_ec_seckey_import_export_der.cpp:39)
>>>               src/test/fuzz/CMakeFiles/fuzz.dir/secp256k1_ec_seckey_import_export_der.cpp.o:(secp256k1_ec_seckey_import_export_der_fuzz_target(std::vector<unsigned char, std::allocator<unsigned char> > const&))
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: cannot make progress due to previous errors.
Build build-clang-tidy failed with exit code 1
PiRK edited the summary of this revision. (Show Details)
PiRK edited the test plan for this revision. (Show Details)

fix the fuzzer that was backported out of sequence (https://github.com/bitcoin/bitcoin/pull/19379)

This revision is now accepted and ready to land.Feb 10 2026, 16:22