@ledgerhq/hw-app-btc 6.11.0 → 6.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +110 -47
- package/lib/Btc.d.ts.map +1 -1
- package/lib/Btc.js +5 -3
- package/lib/Btc.js.map +1 -1
- package/lib/BtcNew.d.ts +1 -1
- package/lib/BtcNew.d.ts.map +1 -1
- package/lib/BtcNew.js +71 -174
- package/lib/BtcNew.js.map +1 -1
- package/lib/newops/accounttype.d.ts +110 -0
- package/lib/newops/accounttype.d.ts.map +1 -0
- package/lib/newops/accounttype.js +236 -0
- package/lib/newops/accounttype.js.map +1 -0
- package/lib/newops/appClient.d.ts +1 -1
- package/lib/newops/appClient.d.ts.map +1 -1
- package/lib/newops/appClient.js +7 -7
- package/lib/newops/appClient.js.map +1 -1
- package/lib/newops/clientCommands.d.ts +3 -2
- package/lib/newops/clientCommands.d.ts.map +1 -1
- package/lib/newops/clientCommands.js +19 -12
- package/lib/newops/clientCommands.js.map +1 -1
- package/lib/newops/merkle.js +2 -2
- package/lib/newops/merkle.js.map +1 -1
- package/lib/newops/psbtExtractor.js +2 -2
- package/lib/newops/psbtExtractor.js.map +1 -1
- package/lib/newops/psbtv2.d.ts +3 -0
- package/lib/newops/psbtv2.d.ts.map +1 -1
- package/lib/newops/psbtv2.js +14 -4
- package/lib/newops/psbtv2.js.map +1 -1
- package/lib-es/Btc.d.ts.map +1 -1
- package/lib-es/Btc.js +5 -3
- package/lib-es/Btc.js.map +1 -1
- package/lib-es/BtcNew.d.ts +1 -1
- package/lib-es/BtcNew.d.ts.map +1 -1
- package/lib-es/BtcNew.js +73 -176
- package/lib-es/BtcNew.js.map +1 -1
- package/lib-es/newops/accounttype.d.ts +110 -0
- package/lib-es/newops/accounttype.d.ts.map +1 -0
- package/lib-es/newops/accounttype.js +233 -0
- package/lib-es/newops/accounttype.js.map +1 -0
- package/lib-es/newops/appClient.d.ts +1 -1
- package/lib-es/newops/appClient.d.ts.map +1 -1
- package/lib-es/newops/appClient.js +7 -7
- package/lib-es/newops/appClient.js.map +1 -1
- package/lib-es/newops/clientCommands.d.ts +3 -2
- package/lib-es/newops/clientCommands.d.ts.map +1 -1
- package/lib-es/newops/clientCommands.js +19 -12
- package/lib-es/newops/clientCommands.js.map +1 -1
- package/lib-es/newops/merkle.js +2 -2
- package/lib-es/newops/merkle.js.map +1 -1
- package/lib-es/newops/psbtExtractor.js +2 -2
- package/lib-es/newops/psbtExtractor.js.map +1 -1
- package/lib-es/newops/psbtv2.d.ts +3 -0
- package/lib-es/newops/psbtv2.d.ts.map +1 -1
- package/lib-es/newops/psbtv2.js +14 -4
- package/lib-es/newops/psbtv2.js.map +1 -1
- package/package.json +3 -3
- package/src/Btc.ts +34 -3
- package/src/BtcNew.ts +105 -174
- package/src/newops/accounttype.ts +373 -0
- package/src/newops/appClient.ts +8 -7
- package/src/newops/clientCommands.ts +19 -12
- package/src/newops/merkle.ts +2 -2
- package/src/newops/psbtExtractor.ts +2 -2
- package/src/newops/psbtv2.ts +13 -4
- package/tests/Btc.test.ts +68 -39
- package/tests/newops/BtcNew.test.ts +47 -20
- package/tests/newops/integrationtools.ts +91 -50
- package/tests/newops/merkle.test.ts +1 -1
- package/tests/newops/testtx.ts +0 -55
package/README.md
CHANGED
|
@@ -45,50 +45,58 @@ Ledger Hardware Wallet BTC JavaScript bindings. Also supports many altcoins.
|
|
|
45
45
|
* [Parameters](#parameters-10)
|
|
46
46
|
* [createPaymentTransactionNew](#createpaymenttransactionnew-1)
|
|
47
47
|
* [Parameters](#parameters-11)
|
|
48
|
-
* [outputScriptOf](#outputscriptof)
|
|
49
|
-
* [Parameters](#parameters-12)
|
|
50
|
-
* [getTaprootOutputKey](#gettaprootoutputkey)
|
|
51
|
-
* [Parameters](#parameters-13)
|
|
52
48
|
* [BtcOld](#btcold)
|
|
53
|
-
* [Parameters](#parameters-
|
|
49
|
+
* [Parameters](#parameters-12)
|
|
54
50
|
* [Examples](#examples-7)
|
|
55
51
|
* [getWalletPublicKey](#getwalletpublickey-3)
|
|
56
|
-
* [Parameters](#parameters-
|
|
52
|
+
* [Parameters](#parameters-13)
|
|
57
53
|
* [Examples](#examples-8)
|
|
58
54
|
* [signMessageNew](#signmessagenew-1)
|
|
59
|
-
* [Parameters](#parameters-
|
|
55
|
+
* [Parameters](#parameters-14)
|
|
60
56
|
* [Examples](#examples-9)
|
|
61
57
|
* [createPaymentTransactionNew](#createpaymenttransactionnew-2)
|
|
62
|
-
* [Parameters](#parameters-
|
|
58
|
+
* [Parameters](#parameters-15)
|
|
63
59
|
* [Examples](#examples-10)
|
|
64
60
|
* [signP2SHTransaction](#signp2shtransaction-1)
|
|
65
|
-
* [Parameters](#parameters-
|
|
61
|
+
* [Parameters](#parameters-16)
|
|
66
62
|
* [Examples](#examples-11)
|
|
67
63
|
* [CreateTransactionArg](#createtransactionarg)
|
|
68
64
|
* [Properties](#properties)
|
|
69
65
|
* [AddressFormat](#addressformat)
|
|
66
|
+
* [AccountType](#accounttype)
|
|
67
|
+
* [spendingCondition](#spendingcondition)
|
|
68
|
+
* [Parameters](#parameters-17)
|
|
69
|
+
* [setInput](#setinput)
|
|
70
|
+
* [Parameters](#parameters-18)
|
|
71
|
+
* [setOwnOutput](#setownoutput)
|
|
72
|
+
* [Parameters](#parameters-19)
|
|
73
|
+
* [getDescriptorTemplate](#getdescriptortemplate)
|
|
74
|
+
* [SingleKeyAccount](#singlekeyaccount)
|
|
75
|
+
* [getTaprootOutputKey](#gettaprootoutputkey)
|
|
76
|
+
* [Parameters](#parameters-20)
|
|
70
77
|
* [AppClient](#appclient)
|
|
71
|
-
* [Parameters](#parameters-
|
|
78
|
+
* [Parameters](#parameters-21)
|
|
72
79
|
* [ClientCommandInterpreter](#clientcommandinterpreter)
|
|
80
|
+
* [Parameters](#parameters-22)
|
|
73
81
|
* [MerkelizedPsbt](#merkelizedpsbt)
|
|
74
|
-
* [Parameters](#parameters-
|
|
82
|
+
* [Parameters](#parameters-23)
|
|
75
83
|
* [Merkle](#merkle)
|
|
76
|
-
* [Parameters](#parameters-
|
|
84
|
+
* [Parameters](#parameters-24)
|
|
77
85
|
* [MerkleMap](#merklemap)
|
|
78
|
-
* [Parameters](#parameters-
|
|
86
|
+
* [Parameters](#parameters-25)
|
|
79
87
|
* [WalletPolicy](#walletpolicy)
|
|
80
|
-
* [Parameters](#parameters-
|
|
88
|
+
* [Parameters](#parameters-26)
|
|
81
89
|
* [extract](#extract)
|
|
82
|
-
* [Parameters](#parameters-
|
|
90
|
+
* [Parameters](#parameters-27)
|
|
83
91
|
* [finalize](#finalize)
|
|
84
|
-
* [Parameters](#parameters-
|
|
92
|
+
* [Parameters](#parameters-28)
|
|
85
93
|
* [clearFinalizedInput](#clearfinalizedinput)
|
|
86
|
-
* [Parameters](#parameters-
|
|
94
|
+
* [Parameters](#parameters-29)
|
|
87
95
|
* [writePush](#writepush)
|
|
88
|
-
* [Parameters](#parameters-
|
|
96
|
+
* [Parameters](#parameters-30)
|
|
89
97
|
* [PsbtV2](#psbtv2)
|
|
90
98
|
* [serializeTransactionOutputs](#serializetransactionoutputs-1)
|
|
91
|
-
* [Parameters](#parameters-
|
|
99
|
+
* [Parameters](#parameters-31)
|
|
92
100
|
* [Examples](#examples-12)
|
|
93
101
|
* [SignP2SHTransactionArg](#signp2shtransactionarg)
|
|
94
102
|
* [Properties](#properties-1)
|
|
@@ -384,34 +392,6 @@ transaction is returned.
|
|
|
384
392
|
|
|
385
393
|
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>**
|
|
386
394
|
|
|
387
|
-
### outputScriptOf
|
|
388
|
-
|
|
389
|
-
Generates a single signature scriptPubKey (output script) from a public key.
|
|
390
|
-
This is done differently depending on account type.
|
|
391
|
-
|
|
392
|
-
If accountType is p2tr, the public key must be a 32 byte x-only taproot
|
|
393
|
-
pubkey, otherwise it's expected to be a 33 byte ecdsa compressed pubkey.
|
|
394
|
-
|
|
395
|
-
#### Parameters
|
|
396
|
-
|
|
397
|
-
* `pubkey` **[Buffer](https://nodejs.org/api/buffer.html)**
|
|
398
|
-
* `accountType` **AccountType**
|
|
399
|
-
|
|
400
|
-
Returns **{script: [Buffer](https://nodejs.org/api/buffer.html), redeemScript: [Buffer](https://nodejs.org/api/buffer.html)?}**
|
|
401
|
-
|
|
402
|
-
### getTaprootOutputKey
|
|
403
|
-
|
|
404
|
-
Calculates a taproot output key from an internal key. This output key will be
|
|
405
|
-
used as witness program in a taproot output. The internal key is tweaked
|
|
406
|
-
according to recommendation in BIP341:
|
|
407
|
-
<https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki#cite_ref-22-0>
|
|
408
|
-
|
|
409
|
-
#### Parameters
|
|
410
|
-
|
|
411
|
-
* `internalPubkey` **[Buffer](https://nodejs.org/api/buffer.html)** A 32 byte x-only taproot internal key
|
|
412
|
-
|
|
413
|
-
Returns **[Buffer](https://nodejs.org/api/buffer.html)** The output key
|
|
414
|
-
|
|
415
395
|
### BtcOld
|
|
416
396
|
|
|
417
397
|
Bitcoin API.
|
|
@@ -566,6 +546,85 @@ address format is one of legacy | p2sh | bech32 | cashaddr
|
|
|
566
546
|
|
|
567
547
|
Type: (`"legacy"` | `"p2sh"` | `"bech32"` | `"bech32m"` | `"cashaddr"`)
|
|
568
548
|
|
|
549
|
+
### AccountType
|
|
550
|
+
|
|
551
|
+
Encapsulates differences between account types, for example p2wpkh,
|
|
552
|
+
p2wpkhWrapped, p2tr.
|
|
553
|
+
|
|
554
|
+
#### spendingCondition
|
|
555
|
+
|
|
556
|
+
Generates a scriptPubKey (output script) from a list of public keys. If a
|
|
557
|
+
p2sh redeemScript or a p2wsh witnessScript is needed it will also be set on
|
|
558
|
+
the returned SpendingCondition.
|
|
559
|
+
|
|
560
|
+
The pubkeys are expected to be 33 byte ecdsa compressed pubkeys.
|
|
561
|
+
|
|
562
|
+
##### Parameters
|
|
563
|
+
|
|
564
|
+
* `pubkeys` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[Buffer](https://nodejs.org/api/buffer.html)>**
|
|
565
|
+
|
|
566
|
+
Returns **SpendingCondition**
|
|
567
|
+
|
|
568
|
+
#### setInput
|
|
569
|
+
|
|
570
|
+
Populates the psbt with account type-specific data for an input.
|
|
571
|
+
|
|
572
|
+
##### Parameters
|
|
573
|
+
|
|
574
|
+
* `i` **[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)** The index of the input map to populate
|
|
575
|
+
* `inputTx` **([Buffer](https://nodejs.org/api/buffer.html) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))** The full transaction containing the spent output. This may
|
|
576
|
+
be omitted for taproot.
|
|
577
|
+
* `spentOutput` **SpentOutput** The amount and spending condition of the spent output
|
|
578
|
+
* `pubkeys` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[Buffer](https://nodejs.org/api/buffer.html)>** The 33 byte ecdsa compressed public keys involved in the input
|
|
579
|
+
* `pathElems` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)>>** The paths corresponding to the pubkeys, in same order.
|
|
580
|
+
|
|
581
|
+
Returns **void**
|
|
582
|
+
|
|
583
|
+
#### setOwnOutput
|
|
584
|
+
|
|
585
|
+
Populates the psbt with account type-specific data for an output. This is typically
|
|
586
|
+
done for change outputs and other outputs that goes to the same account as
|
|
587
|
+
being spent from.
|
|
588
|
+
|
|
589
|
+
##### Parameters
|
|
590
|
+
|
|
591
|
+
* `i` **[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)** The index of the output map to populate
|
|
592
|
+
* `cond` **SpendingCondition** The spending condition for this output
|
|
593
|
+
* `pubkeys` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[Buffer](https://nodejs.org/api/buffer.html)>** The 33 byte ecdsa compressed public keys involved in this output
|
|
594
|
+
* `paths` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)>>** The paths corresponding to the pubkeys, in same order.
|
|
595
|
+
|
|
596
|
+
Returns **void**
|
|
597
|
+
|
|
598
|
+
#### getDescriptorTemplate
|
|
599
|
+
|
|
600
|
+
Returns the descriptor template for this account type. Currently only
|
|
601
|
+
DefaultDescriptorTemplates are allowed, but that might be changed in the
|
|
602
|
+
future. See class WalletPolicy for more information on descriptor
|
|
603
|
+
templates.
|
|
604
|
+
|
|
605
|
+
Returns **DefaultDescriptorTemplate**
|
|
606
|
+
|
|
607
|
+
### SingleKeyAccount
|
|
608
|
+
|
|
609
|
+
**Extends BaseAccount**
|
|
610
|
+
|
|
611
|
+
Superclass for single signature accounts. This will make sure that the pubkey
|
|
612
|
+
arrays and path arrays in the method arguments contains exactly one element
|
|
613
|
+
and calls an abstract method to do the actual work.
|
|
614
|
+
|
|
615
|
+
### getTaprootOutputKey
|
|
616
|
+
|
|
617
|
+
Calculates a taproot output key from an internal key. This output key will be
|
|
618
|
+
used as witness program in a taproot output. The internal key is tweaked
|
|
619
|
+
according to recommendation in BIP341:
|
|
620
|
+
<https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki#cite_ref-22-0>
|
|
621
|
+
|
|
622
|
+
#### Parameters
|
|
623
|
+
|
|
624
|
+
* `internalPubkey` **[Buffer](https://nodejs.org/api/buffer.html)** A 32 byte x-only taproot internal key
|
|
625
|
+
|
|
626
|
+
Returns **[Buffer](https://nodejs.org/api/buffer.html)** The output key
|
|
627
|
+
|
|
569
628
|
### AppClient
|
|
570
629
|
|
|
571
630
|
This class encapsulates the APDU protocol documented at
|
|
@@ -591,6 +650,10 @@ If the command yelds results to the client, as signPsbt does, the yielded
|
|
|
591
650
|
data will be accessible after the command completed by calling getYielded(),
|
|
592
651
|
which will return the yields in the same order as they came in.
|
|
593
652
|
|
|
653
|
+
#### Parameters
|
|
654
|
+
|
|
655
|
+
* `progressCallback` **function (): void**
|
|
656
|
+
|
|
594
657
|
### MerkelizedPsbt
|
|
595
658
|
|
|
596
659
|
**Extends PsbtV2**
|
package/lib/Btc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Btc.d.ts","sourceRoot":"","sources":["../src/Btc.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAEpD,OAAO,MAAyB,MAAM,UAAU,CAAC;AACjD,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAIhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,aAAa,EAAE,CAAC;AAC9B;;;;;;GAMG;AAEH,MAAM,CAAC,OAAO,OAAO,GAAG;IACtB,SAAS,EAAE,SAAS,CAAC;gBAET,SAAS,EAAE,SAAS,EAAE,WAAW,SAAQ;IAiBrD;;;;;;OAMG;IACH,aAAa,CAAC,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1E;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,kBAAkB,CAChB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,aAAa,CAAC;KACxB,GACA,OAAO,CAAC;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;
|
|
1
|
+
{"version":3,"file":"Btc.d.ts","sourceRoot":"","sources":["../src/Btc.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAEpD,OAAO,MAAyB,MAAM,UAAU,CAAC;AACjD,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAIhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,aAAa,EAAE,CAAC;AAC9B;;;;;;GAMG;AAEH,MAAM,CAAC,OAAO,OAAO,GAAG;IACtB,SAAS,EAAE,SAAS,CAAC;gBAET,SAAS,EAAE,SAAS,EAAE,WAAW,SAAQ;IAiBrD;;;;;;OAMG;IACH,aAAa,CAAC,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1E;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,kBAAkB,CAChB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,aAAa,CAAC;KACxB,GACA,OAAO,CAAC;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAiFF;;;;;;;;OAQG;IACH,cAAc,CACZ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;QACT,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;IAIF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,2BAA2B,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAWvE;;;;;;;;;;;;;;;;;;OAkBG;IACH,mBAAmB,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAInE;;;;OAIG;IACH,gBAAgB,CACd,cAAc,EAAE,MAAM,EACtB,iBAAiB,GAAE,OAAO,GAAG,IAAI,GAAG,SAAiB,EACrD,YAAY,UAAQ,EACpB,YAAY,UAAQ,EACpB,WAAW,GAAE,KAAK,CAAC,MAAM,CAAM,GAC9B,WAAW;IAUd;;;;MAIE;IACF,2BAA2B,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM;IAInD,eAAe,CACb,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,WAAW,GAAE,KAAK,CAAC,MAAM,CAAM,GAC9B,OAAO,CAAC,MAAM,CAAC;IASlB,qBAAqB,CACnB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,WAAW,GAAE,KAAK,CAAC,MAAM,CAAM,GAC9B,MAAM;IAUT,OAAO,CAAC,SAAS,CAAgC;YACnC,cAAc;YAQd,gBAAgB;IAU9B,SAAS,CAAC,GAAG,IAAI,MAAM;IAIvB,SAAS,CAAC,GAAG,IAAI,MAAM;CAGxB"}
|
package/lib/Btc.js
CHANGED
|
@@ -164,6 +164,7 @@ var Btc = /** @class */ (function () {
|
|
|
164
164
|
options.format != "bech32m" &&
|
|
165
165
|
(!options.verify || options.verify == false) &&
|
|
166
166
|
!isPathNormal(path)) {
|
|
167
|
+
console.warn("WARNING: Using deprecated device protocol to get the public key because\n \n * a non-standard path is requested, and\n * verify flag is false\n \n The new protocol only allows export of non-standard paths if the \n verify flag is true. Standard paths are (currently):\n\n M/44'/(1|0)'/X'\n M/49'/(1|0)'/X'\n M/84'/(1|0)'/X'\n M/86'/(1|0)'/X'\n M/48'/(1|0)'/X'/Y'\n\n followed by \"\", \"(0|1)\", or \"(0|1)/b\", where a and b are \n non-hardened. For example, the following paths are standard\n \n M/48'/1'/99'/7'\n M/86'/1'/99'/0\n M/48'/0'/99'/7'/1/17\n\n The following paths are non-standard\n\n M/48'/0'/99' // Not deepest hardened path\n M/48'/0'/99'/7'/1/17/2 // Too many non-hardened derivation steps\n M/199'/0'/1'/0/88 // Not a known purpose 199\n M/86'/1'/99'/2 // Change path item must be 0 or 1\n\n This compatibility safeguard will be removed in the future.\n Please consider calling Btc.getWalletXpub() instead.");
|
|
167
168
|
return _this.old().getWalletPublicKey(path, options);
|
|
168
169
|
}
|
|
169
170
|
else {
|
|
@@ -325,14 +326,15 @@ function isPathNormal(path) {
|
|
|
325
326
|
//path is not deepest hardened node of a standard path or deeper, use BtcOld
|
|
326
327
|
var h = 0x80000000;
|
|
327
328
|
var pathElems = (0, bip32_1.pathStringToArray)(path);
|
|
328
|
-
var hard = function (n) { return n
|
|
329
|
+
var hard = function (n) { return n >= h; };
|
|
329
330
|
var soft = function (n) { return !n || n < h; };
|
|
331
|
+
var change = function (n) { return !n || n == 0 || n == 1; };
|
|
330
332
|
if (pathElems.length >= 3 &&
|
|
331
333
|
pathElems.length <= 5 &&
|
|
332
334
|
[44 + h, 49 + h, 84 + h, 86 + h].some(function (v) { return v == pathElems[0]; }) &&
|
|
333
335
|
[0 + h, 1 + h].some(function (v) { return v == pathElems[1]; }) &&
|
|
334
336
|
hard(pathElems[2]) &&
|
|
335
|
-
|
|
337
|
+
change(pathElems[3]) &&
|
|
336
338
|
soft(pathElems[4])) {
|
|
337
339
|
return true;
|
|
338
340
|
}
|
|
@@ -342,7 +344,7 @@ function isPathNormal(path) {
|
|
|
342
344
|
[0 + h, 1 + h].some(function (v) { return v == pathElems[1]; }) &&
|
|
343
345
|
hard(pathElems[2]) &&
|
|
344
346
|
hard(pathElems[3]) &&
|
|
345
|
-
|
|
347
|
+
change(pathElems[4]) &&
|
|
346
348
|
soft(pathElems[5])) {
|
|
347
349
|
return true;
|
|
348
350
|
}
|
package/lib/Btc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Btc.js","sourceRoot":"","sources":["../src/Btc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iCAA4C;AAC5C,iDAAiD;AACjD,oDAA8B;AAE9B,uDAAsD;AACtD,qDAAoD;AACpD,iEAAgE;AAEhE,gDAA+C;AAC/C,+DAAqE;AAErE,uDAAsD;AAGtD;;;;;;GAMG;AAEH;IAGE,aAAY,SAAoB,EAAE,WAAmB;QAAnB,4BAAA,EAAA,mBAAmB;
|
|
1
|
+
{"version":3,"file":"Btc.js","sourceRoot":"","sources":["../src/Btc.ts"],"names":[],"mappings":"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"}
|
package/lib/BtcNew.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CreateTransactionArg } from "./createTransaction";
|
|
2
|
+
import { AppAndVersion } from "./getAppAndVersion";
|
|
2
3
|
import type { AddressFormat } from "./getWalletPublicKey";
|
|
3
4
|
import { AppClient as Client } from "./newops/appClient";
|
|
4
|
-
import { AppAndVersion } from "./getAppAndVersion";
|
|
5
5
|
export declare function canSupportApp(appAndVersion: AppAndVersion): boolean;
|
|
6
6
|
/**
|
|
7
7
|
* This class implements the same interface as BtcOld (formerly
|
package/lib/BtcNew.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BtcNew.d.ts","sourceRoot":"","sources":["../src/BtcNew.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,
|
|
1
|
+
{"version":3,"file":"BtcNew.d.ts","sourceRoot":"","sources":["../src/BtcNew.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAS1D,OAAO,EAAE,SAAS,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAczD,wBAAgB,aAAa,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAKnE;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IACb,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,aAAa,CAAC,EAClB,IAAI,EACJ,WAAW,GACZ,EAAE;QACD,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,MAAM,CAAC;IAYnB;;;;;;OAMG;IACG,kBAAkB,CACtB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,aAAa,CAAC;KACxB,GACA,OAAO,CAAC;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAsBF;;;;;;;;;;;;;;OAcG;YACW,gBAAgB;IAyB9B;;;;;;;OAOG;IACG,2BAA2B,CAC/B,GAAG,EAAE,oBAAoB,GACxB,OAAO,CAAC,MAAM,CAAC;IAiHlB;;;;;;;OAOG;YACW,cAAc;IAsB5B;;;;OAIG;YACW,QAAQ;IAmDtB;;;;;;;;OAQG;YACW,QAAQ;CA6BvB"}
|