File tree Expand file tree Collapse file tree 7 files changed +46
-10
lines changed Expand file tree Collapse file tree 7 files changed +46
-10
lines changed Original file line number Diff line number Diff line change
1
+ # 6.1.7
2
+ __ added__
3
+ - skip ecc library verification via DANGER_DO_NOT_VERIFY_ECCLIB flag
4
+
1
5
# 6.1.6
2
6
__ fixed__
3
7
- Fix sighash treatment when signing taproot script sign scripts using Psbt (#2104 )
Original file line number Diff line number Diff line change 1
1
{
2
2
"name" : " bitcoinjs-lib" ,
3
- "version" : " 6.1.6 " ,
3
+ "version" : " 6.1.7 " ,
4
4
"description" : " Client-side Bitcoin JavaScript library" ,
5
5
"main" : " ./src/index.js" ,
6
6
"types" : " ./src/index.d.ts" ,
Original file line number Diff line number Diff line change @@ -5,8 +5,11 @@ import { TinySecp256k1Interface } from './types';
5
5
* If `eccLib` is a new instance, it will be verified before setting it as the active library.
6
6
*
7
7
* @param eccLib The instance of the ECC library to initialize.
8
+ * @param opts Extra initialization options. Use {DANGER_DO_NOT_VERIFY_ECCLIB:true} if ecc verification should not be executed. Not recommended!
8
9
*/
9
- export declare function initEccLib ( eccLib : TinySecp256k1Interface | undefined ) : void ;
10
+ export declare function initEccLib ( eccLib : TinySecp256k1Interface | undefined , opts ?: {
11
+ DANGER_DO_NOT_VERIFY_ECCLIB : boolean ;
12
+ } ) : void ;
10
13
/**
11
14
* Retrieves the ECC Library instance.
12
15
* Throws an error if the ECC Library is not provided.
Original file line number Diff line number Diff line change @@ -8,14 +8,16 @@ const _ECCLIB_CACHE = {};
8
8
* If `eccLib` is a new instance, it will be verified before setting it as the active library.
9
9
*
10
10
* @param eccLib The instance of the ECC library to initialize.
11
+ * @param opts Extra initialization options. Use {DANGER_DO_NOT_VERIFY_ECCLIB:true} if ecc verification should not be executed. Not recommended!
11
12
*/
12
- function initEccLib ( eccLib ) {
13
+ function initEccLib ( eccLib , opts ) {
13
14
if ( ! eccLib ) {
14
15
// allow clearing the library
15
16
_ECCLIB_CACHE . eccLib = eccLib ;
16
17
} else if ( eccLib !== _ECCLIB_CACHE . eccLib ) {
17
- // new instance, verify it
18
- verifyEcc ( eccLib ) ;
18
+ if ( ! opts ?. DANGER_DO_NOT_VERIFY_ECCLIB )
19
+ // new instance, verify it
20
+ verifyEcc ( eccLib ) ;
19
21
_ECCLIB_CACHE . eccLib = eccLib ;
20
22
}
21
23
}
Original file line number Diff line number Diff line change
1
+ import { initEccLib } from '../src' ;
2
+ import { describe , test } from 'mocha' ;
3
+ import * as assert from 'assert' ;
4
+
5
+ describe ( `initEccLib` , ( ) => {
6
+ beforeEach ( ( ) => {
7
+ initEccLib ( undefined ) ;
8
+ } ) ;
9
+
10
+ test ( 'initEccLib should fail when invalid' , ( ) => {
11
+ assert . throws ( ( ) => {
12
+ initEccLib ( { isXOnlyPoint : ( ) => false } as any ) ;
13
+ } , 'Error: ecc library invalid' ) ;
14
+ } ) ;
15
+
16
+ test ( 'initEccLib should not fail when DANGER_DO_NOT_VERIFY_ECCLIB = true' , ( ) => {
17
+ initEccLib ( { isXOnlyPoint : ( ) => false } as any , {
18
+ DANGER_DO_NOT_VERIFY_ECCLIB : true ,
19
+ } ) ;
20
+ assert . ok ( 'it does not fail, verification is excluded' ) ;
21
+ } ) ;
22
+ } ) ;
Original file line number Diff line number Diff line change @@ -8,14 +8,19 @@ const _ECCLIB_CACHE: { eccLib?: TinySecp256k1Interface } = {};
8
8
* If `eccLib` is a new instance, it will be verified before setting it as the active library.
9
9
*
10
10
* @param eccLib The instance of the ECC library to initialize.
11
+ * @param opts Extra initialization options. Use {DANGER_DO_NOT_VERIFY_ECCLIB:true} if ecc verification should not be executed. Not recommended!
11
12
*/
12
- export function initEccLib ( eccLib : TinySecp256k1Interface | undefined ) : void {
13
+ export function initEccLib (
14
+ eccLib : TinySecp256k1Interface | undefined ,
15
+ opts ?: { DANGER_DO_NOT_VERIFY_ECCLIB : boolean } ,
16
+ ) : void {
13
17
if ( ! eccLib ) {
14
18
// allow clearing the library
15
19
_ECCLIB_CACHE . eccLib = eccLib ;
16
20
} else if ( eccLib !== _ECCLIB_CACHE . eccLib ) {
17
- // new instance, verify it
18
- verifyEcc ( eccLib ! ) ;
21
+ if ( ! opts ?. DANGER_DO_NOT_VERIFY_ECCLIB )
22
+ // new instance, verify it
23
+ verifyEcc ( eccLib ! ) ;
19
24
_ECCLIB_CACHE . eccLib = eccLib ;
20
25
}
21
26
}
You can’t perform that action at this time.
0 commit comments