Page MenuHomePhabricator

[secp256k1] Update overflow check
ClosedPublic

Authored by PiRK on Apr 10 2026, 13:23.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Commits
rABC601096b9879d: [secp256k1] Update overflow check
Summary

One does not simply check for integer overlow.

This is a backport of secp256k1#1218

Test Plan

ninja check-secp256k1

Diff Detail

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

Event Timeline

PiRK requested review of this revision.Apr 10 2026, 13:23

Tail of the build log:

  CFLAGS_x86_64-unknown-linux-gnu = None
  OUT_DIR = Some(/work/target/debug/build/ecash-secp256k1-sys-81e5283bca7fe3e9/out)
  cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  TARGET = Some(x86_64-unknown-linux-gnu)
  CARGO_CFG_TARGET_FEATURE = Some(fxsr,sse,sse2)
  HOST = Some(x86_64-unknown-linux-gnu)
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = None
  cargo:rerun-if-env-changed=HOST_CFLAGS
  HOST_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS_x86_64_unknown_linux_gnu
  CFLAGS_x86_64_unknown_linux_gnu = None
  cargo:rerun-if-env-changed=CFLAGS_x86_64-unknown-linux-gnu
  CFLAGS_x86_64-unknown-linux-gnu = None
  cargo:warning=In file included from ../../../src/secp256k1/contrib/lax_der_parsing.h:59,
  cargo:warning=                 from ../../../src/secp256k1/contrib/lax_der_parsing.c:9:
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:241:18: error: expected ';' before 'const'
  cargo:warning=  241 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_static;
  cargo:warning=      |                  ^~~~~~
  cargo:warning=      |                  ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:244:18: error: expected ';' before 'const'
  cargo:warning=  244 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_no_precomp
  cargo:warning=      |                  ^~~~~~
  cargo:warning=      |                  ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:641:18: error: expected ';' before 'const'
  cargo:warning=  641 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_rfc6979;
  cargo:warning=      |                  ^~~~~~
  cargo:warning=      |                  ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:644:18: error: expected ';' before 'const'
  cargo:warning=  644 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_default;
  cargo:warning=      |                  ^~~~~~
  cargo:warning=      |                  ;
  cargo:warning=In file included from ../../../src/secp256k1/contrib/lax_der_parsing.h:59,
  cargo:warning=                 from ../../../src/secp256k1/contrib/lax_der_parsing.c:9:
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:241:18: error: expected ';' before 'const'
  cargo:warning=  241 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_static;
  cargo:warning=      |                  ^~~~~~
  cargo:warning=      |                  ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:244:18: error: expected ';' before 'const'
  cargo:warning=  244 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_no_precomp
  cargo:warning=      |                  ^~~~~~
  cargo:warning=      |                  ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:641:18: error: expected ';' before 'const'
  cargo:warning=  641 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_rfc6979;
  cargo:warning=      |                  ^~~~~~
  cargo:warning=      |                  ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:644:18: error: expected ';' before 'const'
  cargo:warning=  644 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_default;
  cargo:warning=      |                  ^~~~~~
  cargo:warning=      |                  ;

  --- stderr


  error occurred in cc-rs: command did not execute successfully (status code exit status: 1): LC_ALL="C" "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-4" "-fno-omit-frame-pointer" "-m64" "-I" "../../../src/secp256k1/" "-I" "../../../src/secp256k1/include" "-I" "../../../src/secp256k1/src" "-I" "wasm/wasm-sysroot" "-Wall" "-Wextra" "-Wno-unused-function" "-Wno-unused-parameter" "-DSECP256K1_API=" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_SCHNORR=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-Dprintf(...)=" "-DECMULT_GEN_PREC_BITS=4" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-o" "/work/target/debug/build/ecash-secp256k1-sys-81e5283bca7fe3e9/out/6ea78a1c812bdfd1-lax_der_parsing.o" "-c" "../../../src/secp256k1/contrib/lax_der_parsing.c"


Build build-ecash-secp256k1 failed with exit code 101

Tail of the build log:

  cargo:warning=  241 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_static;
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:241:42: error: expected ';' after top level declarator
  cargo:warning=  241 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_static;
  cargo:warning=      |                                          ^
  cargo:warning=      |                                          ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:244:1: error: unknown type name 'SECP256K1_API_VAR'
  cargo:warning=  244 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_no_precomp
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:244:42: error: expected ';' after top level declarator
  cargo:warning=  244 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_no_precomp
  cargo:warning=      |                                          ^
  cargo:warning=      |                                          ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:641:1: error: unknown type name 'SECP256K1_API_VAR'
  cargo:warning=  641 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_rfc6979;
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:641:49: error: expected ';' after top level declarator
  cargo:warning=  641 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_rfc6979;
  cargo:warning=      |                                                 ^
  cargo:warning=      |                                                 ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:644:1: error: unknown type name 'SECP256K1_API_VAR'
  cargo:warning=  644 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_default;
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:644:49: error: expected ';' after top level declarator
  cargo:warning=  644 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_default;
  cargo:warning=      |                                                 ^
  cargo:warning=      |                                                 ;
  cargo:warning=8 errors generated.

  --- stderr


  error occurred in cc-rs: command did not execute successfully (status code exit status: 1): LC_ALL="C" "clang" "-Oz" "-ffunction-sections" "-fdata-sections" "-fno-exceptions" "--target=wasm32-unknown-unknown" "-I" "../../../src/secp256k1/" "-I" "../../../src/secp256k1/include" "-I" "../../../src/secp256k1/src" "-I" "wasm/wasm-sysroot" "-I" "wasm/wasm-sysroot" "-Wno-unused-function" "-Wno-unused-parameter" "-DSECP256K1_API=" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_SCHNORR=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-Dprintf(...)=" "-DECMULT_GEN_PREC_BITS=4" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-DENABLE_MODULE_RECOVERY=1" "-Wno-pointer-sign" "-Wno-implicit-function-declaration" "-o" "/work/modules/ecash-lib-wasm/./target/wasm32-unknown-unknown/release-wasm/build/ecash-secp256k1-sys-553871913c9fedce/out/6ea78a1c812bdfd1-lax_der_parsing.o" "-c" "../../../src/secp256k1/contrib/lax_der_parsing.c"


warning: build failed, waiting for other jobs to finish...
Failed opening './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_browser.js: No such file or directory
./build-wasm.sh: line 39: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 40: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.wasm: No such file or directory
./build-wasm.sh: line 41: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 43: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.d.ts: No such file or directory
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_nodejs.js: No such file or directory
Build cashtab-tests failed with exit code 2

Tail of the build log:

  cargo:warning=  241 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_static;
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:241:42: error: expected ';' after top level declarator
  cargo:warning=  241 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_static;
  cargo:warning=      |                                          ^
  cargo:warning=      |                                          ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:244:1: error: unknown type name 'SECP256K1_API_VAR'
  cargo:warning=  244 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_no_precomp
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:244:42: error: expected ';' after top level declarator
  cargo:warning=  244 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_no_precomp
  cargo:warning=      |                                          ^
  cargo:warning=      |                                          ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:641:1: error: unknown type name 'SECP256K1_API_VAR'
  cargo:warning=  641 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_rfc6979;
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:641:49: error: expected ';' after top level declarator
  cargo:warning=  641 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_rfc6979;
  cargo:warning=      |                                                 ^
  cargo:warning=      |                                                 ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:644:1: error: unknown type name 'SECP256K1_API_VAR'
  cargo:warning=  644 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_default;
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:644:49: error: expected ';' after top level declarator
  cargo:warning=  644 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_default;
  cargo:warning=      |                                                 ^
  cargo:warning=      |                                                 ;
  cargo:warning=8 errors generated.

  --- stderr


  error occurred in cc-rs: command did not execute successfully (status code exit status: 1): LC_ALL="C" "clang" "-Oz" "-ffunction-sections" "-fdata-sections" "-fno-exceptions" "--target=wasm32-unknown-unknown" "-I" "../../../src/secp256k1/" "-I" "../../../src/secp256k1/include" "-I" "../../../src/secp256k1/src" "-I" "wasm/wasm-sysroot" "-I" "wasm/wasm-sysroot" "-Wno-unused-function" "-Wno-unused-parameter" "-DSECP256K1_API=" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_SCHNORR=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-Dprintf(...)=" "-DECMULT_GEN_PREC_BITS=4" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-DENABLE_MODULE_RECOVERY=1" "-Wno-pointer-sign" "-Wno-implicit-function-declaration" "-o" "/work/modules/ecash-lib-wasm/./target/wasm32-unknown-unknown/release-wasm/build/ecash-secp256k1-sys-553871913c9fedce/out/6ea78a1c812bdfd1-lax_der_parsing.o" "-c" "../../../src/secp256k1/contrib/lax_der_parsing.c"


warning: build failed, waiting for other jobs to finish...
Failed opening './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_browser.js: No such file or directory
./build-wasm.sh: line 39: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 40: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.wasm: No such file or directory
./build-wasm.sh: line 41: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 43: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.d.ts: No such file or directory
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_nodejs.js: No such file or directory
Build ecash-lib-tests failed with exit code 2

Tail of the build log:

  cargo:warning=  241 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_static;
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:241:42: error: expected ';' after top level declarator
  cargo:warning=  241 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_static;
  cargo:warning=      |                                          ^
  cargo:warning=      |                                          ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:244:1: error: unknown type name 'SECP256K1_API_VAR'
  cargo:warning=  244 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_no_precomp
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:244:42: error: expected ';' after top level declarator
  cargo:warning=  244 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_no_precomp
  cargo:warning=      |                                          ^
  cargo:warning=      |                                          ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:641:1: error: unknown type name 'SECP256K1_API_VAR'
  cargo:warning=  641 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_rfc6979;
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:641:49: error: expected ';' after top level declarator
  cargo:warning=  641 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_rfc6979;
  cargo:warning=      |                                                 ^
  cargo:warning=      |                                                 ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:644:1: error: unknown type name 'SECP256K1_API_VAR'
  cargo:warning=  644 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_default;
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:644:49: error: expected ';' after top level declarator
  cargo:warning=  644 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_default;
  cargo:warning=      |                                                 ^
  cargo:warning=      |                                                 ;
  cargo:warning=8 errors generated.

  --- stderr


  error occurred in cc-rs: command did not execute successfully (status code exit status: 1): LC_ALL="C" "clang" "-Oz" "-ffunction-sections" "-fdata-sections" "-fno-exceptions" "--target=wasm32-unknown-unknown" "-I" "../../../src/secp256k1/" "-I" "../../../src/secp256k1/include" "-I" "../../../src/secp256k1/src" "-I" "wasm/wasm-sysroot" "-I" "wasm/wasm-sysroot" "-Wno-unused-function" "-Wno-unused-parameter" "-DSECP256K1_API=" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_SCHNORR=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-Dprintf(...)=" "-DECMULT_GEN_PREC_BITS=4" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-DENABLE_MODULE_RECOVERY=1" "-Wno-pointer-sign" "-Wno-implicit-function-declaration" "-o" "/work/modules/ecash-lib-wasm/./target/wasm32-unknown-unknown/release-wasm/build/ecash-secp256k1-sys-553871913c9fedce/out/6ea78a1c812bdfd1-lax_der_parsing.o" "-c" "../../../src/secp256k1/contrib/lax_der_parsing.c"


warning: build failed, waiting for other jobs to finish...
Failed opening './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_browser.js: No such file or directory
./build-wasm.sh: line 39: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 40: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.wasm: No such file or directory
./build-wasm.sh: line 41: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 43: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.d.ts: No such file or directory
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_nodejs.js: No such file or directory
Build ecash-agora-tests failed with exit code 2

Tail of the build log:

  cargo:warning=  241 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_static;
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:241:42: error: expected ';' after top level declarator
  cargo:warning=  241 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_static;
  cargo:warning=      |                                          ^
  cargo:warning=      |                                          ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:244:1: error: unknown type name 'SECP256K1_API_VAR'
  cargo:warning=  244 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_no_precomp
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:244:42: error: expected ';' after top level declarator
  cargo:warning=  244 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_no_precomp
  cargo:warning=      |                                          ^
  cargo:warning=      |                                          ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:641:1: error: unknown type name 'SECP256K1_API_VAR'
  cargo:warning=  641 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_rfc6979;
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:641:49: error: expected ';' after top level declarator
  cargo:warning=  641 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_rfc6979;
  cargo:warning=      |                                                 ^
  cargo:warning=      |                                                 ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:644:1: error: unknown type name 'SECP256K1_API_VAR'
  cargo:warning=  644 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_default;
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:644:49: error: expected ';' after top level declarator
  cargo:warning=  644 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_default;
  cargo:warning=      |                                                 ^
  cargo:warning=      |                                                 ;
  cargo:warning=8 errors generated.

  --- stderr


  error occurred in cc-rs: command did not execute successfully (status code exit status: 1): LC_ALL="C" "clang" "-Oz" "-ffunction-sections" "-fdata-sections" "-fno-exceptions" "--target=wasm32-unknown-unknown" "-I" "../../../src/secp256k1/" "-I" "../../../src/secp256k1/include" "-I" "../../../src/secp256k1/src" "-I" "wasm/wasm-sysroot" "-I" "wasm/wasm-sysroot" "-Wno-unused-function" "-Wno-unused-parameter" "-DSECP256K1_API=" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_SCHNORR=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-Dprintf(...)=" "-DECMULT_GEN_PREC_BITS=4" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-DENABLE_MODULE_RECOVERY=1" "-Wno-pointer-sign" "-Wno-implicit-function-declaration" "-o" "/work/modules/ecash-lib-wasm/./target/wasm32-unknown-unknown/release-wasm/build/ecash-secp256k1-sys-553871913c9fedce/out/6ea78a1c812bdfd1-lax_der_parsing.o" "-c" "../../../src/secp256k1/contrib/lax_der_parsing.c"


warning: build failed, waiting for other jobs to finish...
Failed opening './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_browser.js: No such file or directory
./build-wasm.sh: line 39: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 40: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.wasm: No such file or directory
./build-wasm.sh: line 41: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 43: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.d.ts: No such file or directory
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_nodejs.js: No such file or directory
Build ecash-wallet-tests failed with exit code 2

Tail of the build log:

  cargo:warning=  241 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_static;
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:241:42: error: expected ';' after top level declarator
  cargo:warning=  241 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_static;
  cargo:warning=      |                                          ^
  cargo:warning=      |                                          ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:244:1: error: unknown type name 'SECP256K1_API_VAR'
  cargo:warning=  244 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_no_precomp
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:244:42: error: expected ';' after top level declarator
  cargo:warning=  244 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_no_precomp
  cargo:warning=      |                                          ^
  cargo:warning=      |                                          ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:641:1: error: unknown type name 'SECP256K1_API_VAR'
  cargo:warning=  641 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_rfc6979;
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:641:49: error: expected ';' after top level declarator
  cargo:warning=  641 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_rfc6979;
  cargo:warning=      |                                                 ^
  cargo:warning=      |                                                 ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:644:1: error: unknown type name 'SECP256K1_API_VAR'
  cargo:warning=  644 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_default;
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:644:49: error: expected ';' after top level declarator
  cargo:warning=  644 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_default;
  cargo:warning=      |                                                 ^
  cargo:warning=      |                                                 ;
  cargo:warning=8 errors generated.

  --- stderr


  error occurred in cc-rs: command did not execute successfully (status code exit status: 1): LC_ALL="C" "clang" "-Oz" "-ffunction-sections" "-fdata-sections" "-fno-exceptions" "--target=wasm32-unknown-unknown" "-I" "../../../src/secp256k1/" "-I" "../../../src/secp256k1/include" "-I" "../../../src/secp256k1/src" "-I" "wasm/wasm-sysroot" "-I" "wasm/wasm-sysroot" "-Wno-unused-function" "-Wno-unused-parameter" "-DSECP256K1_API=" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_SCHNORR=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-Dprintf(...)=" "-DECMULT_GEN_PREC_BITS=4" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-DENABLE_MODULE_RECOVERY=1" "-Wno-pointer-sign" "-Wno-implicit-function-declaration" "-o" "/work/modules/ecash-lib-wasm/./target/wasm32-unknown-unknown/release-wasm/build/ecash-secp256k1-sys-553871913c9fedce/out/6ea78a1c812bdfd1-lax_der_parsing.o" "-c" "../../../src/secp256k1/contrib/lax_der_parsing.c"


warning: build failed, waiting for other jobs to finish...
Failed opening './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_browser.js: No such file or directory
./build-wasm.sh: line 39: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 40: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.wasm: No such file or directory
./build-wasm.sh: line 41: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 43: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.d.ts: No such file or directory
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_nodejs.js: No such file or directory
Build ecash-agora-integration-tests failed with exit code 2

Tail of the build log:

  cargo:warning=  241 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_static;
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:241:42: error: expected ';' after top level declarator
  cargo:warning=  241 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_static;
  cargo:warning=      |                                          ^
  cargo:warning=      |                                          ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:244:1: error: unknown type name 'SECP256K1_API_VAR'
  cargo:warning=  244 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_no_precomp
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:244:42: error: expected ';' after top level declarator
  cargo:warning=  244 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_no_precomp
  cargo:warning=      |                                          ^
  cargo:warning=      |                                          ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:641:1: error: unknown type name 'SECP256K1_API_VAR'
  cargo:warning=  641 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_rfc6979;
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:641:49: error: expected ';' after top level declarator
  cargo:warning=  641 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_rfc6979;
  cargo:warning=      |                                                 ^
  cargo:warning=      |                                                 ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:644:1: error: unknown type name 'SECP256K1_API_VAR'
  cargo:warning=  644 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_default;
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:644:49: error: expected ';' after top level declarator
  cargo:warning=  644 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_default;
  cargo:warning=      |                                                 ^
  cargo:warning=      |                                                 ;
  cargo:warning=8 errors generated.

  --- stderr


  error occurred in cc-rs: command did not execute successfully (status code exit status: 1): LC_ALL="C" "clang" "-Oz" "-ffunction-sections" "-fdata-sections" "-fno-exceptions" "--target=wasm32-unknown-unknown" "-I" "../../../src/secp256k1/" "-I" "../../../src/secp256k1/include" "-I" "../../../src/secp256k1/src" "-I" "wasm/wasm-sysroot" "-I" "wasm/wasm-sysroot" "-Wno-unused-function" "-Wno-unused-parameter" "-DSECP256K1_API=" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_SCHNORR=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-Dprintf(...)=" "-DECMULT_GEN_PREC_BITS=4" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-DENABLE_MODULE_RECOVERY=1" "-Wno-pointer-sign" "-Wno-implicit-function-declaration" "-o" "/work/modules/ecash-lib-wasm/./target/wasm32-unknown-unknown/release-wasm/build/ecash-secp256k1-sys-553871913c9fedce/out/6ea78a1c812bdfd1-lax_der_parsing.o" "-c" "../../../src/secp256k1/contrib/lax_der_parsing.c"


warning: build failed, waiting for other jobs to finish...
Failed opening './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_browser.js: No such file or directory
./build-wasm.sh: line 39: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 40: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.wasm: No such file or directory
./build-wasm.sh: line 41: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 43: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.d.ts: No such file or directory
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_nodejs.js: No such file or directory
Build ecash-lib-integration-tests failed with exit code 2

Tail of the build log:

  cargo:warning=  241 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_static;
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:241:42: error: expected ';' after top level declarator
  cargo:warning=  241 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_static;
  cargo:warning=      |                                          ^
  cargo:warning=      |                                          ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:244:1: error: unknown type name 'SECP256K1_API_VAR'
  cargo:warning=  244 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_no_precomp
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:244:42: error: expected ';' after top level declarator
  cargo:warning=  244 | SECP256K1_API_VAR const secp256k1_context *secp256k1_context_no_precomp
  cargo:warning=      |                                          ^
  cargo:warning=      |                                          ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:641:1: error: unknown type name 'SECP256K1_API_VAR'
  cargo:warning=  641 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_rfc6979;
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:641:49: error: expected ';' after top level declarator
  cargo:warning=  641 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_rfc6979;
  cargo:warning=      |                                                 ^
  cargo:warning=      |                                                 ;
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:644:1: error: unknown type name 'SECP256K1_API_VAR'
  cargo:warning=  644 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_default;
  cargo:warning=      | ^
  cargo:warning=../../../src/secp256k1/include/secp256k1.h:644:49: error: expected ';' after top level declarator
  cargo:warning=  644 | SECP256K1_API_VAR const secp256k1_nonce_function secp256k1_nonce_function_default;
  cargo:warning=      |                                                 ^
  cargo:warning=      |                                                 ;
  cargo:warning=8 errors generated.

  --- stderr


  error occurred in cc-rs: command did not execute successfully (status code exit status: 1): LC_ALL="C" "clang" "-Oz" "-ffunction-sections" "-fdata-sections" "-fno-exceptions" "--target=wasm32-unknown-unknown" "-I" "../../../src/secp256k1/" "-I" "../../../src/secp256k1/include" "-I" "../../../src/secp256k1/src" "-I" "wasm/wasm-sysroot" "-I" "wasm/wasm-sysroot" "-Wno-unused-function" "-Wno-unused-parameter" "-DSECP256K1_API=" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_SCHNORR=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-Dprintf(...)=" "-DECMULT_GEN_PREC_BITS=4" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-DENABLE_MODULE_RECOVERY=1" "-Wno-pointer-sign" "-Wno-implicit-function-declaration" "-o" "/work/modules/ecash-lib-wasm/./target/wasm32-unknown-unknown/release-wasm/build/ecash-secp256k1-sys-553871913c9fedce/out/6ea78a1c812bdfd1-lax_der_parsing.o" "-c" "../../../src/secp256k1/contrib/lax_der_parsing.c"


warning: build failed, waiting for other jobs to finish...
Failed opening './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_browser.js: No such file or directory
./build-wasm.sh: line 39: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 40: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.wasm: No such file or directory
./build-wasm.sh: line 41: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 43: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.d.ts: No such file or directory
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_nodejs.js: No such file or directory
Build ecash-wallet-integration-tests failed with exit code 2
This revision is now accepted and ready to land.Apr 10 2026, 19:36
This revision was automatically updated to reflect the committed changes.