@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/lib-es/BtcNew.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BtcNew.js","sourceRoot":"","sources":["../src/BtcNew.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EACL,SAAS,EACT,WAAW,EACX,MAAM,EACN,QAAQ,EACR,cAAc,EACd,UAAU,GACX,MAAM,aAAa,CAAC;AAGrB,IAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AAErD,MAAM,UAAU,aAAa,CAAC,aAA4B;IACxD,OAAO,CACL,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CACzC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH;IACE,gBAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,8BAAa,GAAnB,UAAoB,EAMnB;YALC,IAAI,UAAA,EACJ,WAAW,iBAAA;;;;;;wBAKL,YAAY,GAAa,iBAAiB,CAAC,IAAI,CAAC,CAAC;wBAC1C,qBAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,EAAA;;wBAA/D,IAAI,GAAG,SAAwD;wBAC/D,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;wBAC/C,IAAI,cAAc,CAAC,OAAO,IAAI,WAAW,EAAE;4BACzC,MAAM,IAAI,KAAK,CACb,2BAAyB,WAAW,wDAAmD,cAAc,CAAC,OAAS,CAChH,CAAC;yBACH;wBACD,sBAAO,IAAI,EAAC;;;;KACb;IAED;;;;;;OAMG;IACG,mCAAkB,GAAxB,UACE,IAAY,EACZ,IAGC;;;;;;;wBAMK,YAAY,GAAa,iBAAiB,CAAC,IAAI,CAAC,CAAC;wBAC1C,qBAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,EAAA;;wBAA/D,IAAI,GAAG,SAAwD;wBAE/D,OAAO,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,mCAAI,KAAK,CAAC;wBAEtB,qBAAM,IAAI,CAAC,gBAAgB,CACzC,YAAY,EACZ,eAAe,CAAC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,mCAAI,QAAQ,CAAC,EACzC,OAAO,CACR,EAAA;;wBAJK,OAAO,GAAG,SAIf;wBACK,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;wBACrC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CACpC,aAAa,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CACxC,CAAC;wBACF,sBAAO;gCACL,SAAS,EAAE,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC;gCAC7C,cAAc,EAAE,OAAO;gCACvB,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;6BAChD,EAAC;;;;KACH;IAED;;;;;;;;;;;;;;OAcG;IACW,iCAAgB,GAA9B,UACE,YAAsB,EACtB,WAAwB,EACxB,OAAgB;;;;;;wBAEV,WAAW,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;wBACjD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE;4BACjD,sBAAO,EAAE,EAAC;yBACX;wBACmB,qBAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,EAAA;;wBAArE,WAAW,GAAG,SAAuD;wBACjD,qBAAM,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAA;;wBAA5D,iBAAiB,GAAG,SAAwC;wBAC5D,MAAM,GAAG,IAAI,YAAY,CAC7B,WAAW,EACX,SAAS,CAAC,iBAAiB,EAAE,WAAW,EAAE,WAAW,CAAC,CACvD,CAAC;wBACI,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;wBACnE,sBAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CACjC,MAAM,EACN,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EACnB,cAAc,CAAC,CAAC,CAAC,EACjB,cAAc,CAAC,CAAC,CAAC,EACjB,OAAO,CACR,EAAC;;;;KACH;IAED;;;;;;;OAOG;IACG,4CAA2B,GAAjC,UACE,GAAyB;;;;;;wBAEzB,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;4BAC1B,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;yBAC1B;wBACK,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;wBAEpB,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;wBAE5C,IAAI,GAAG,CAAC,QAAQ,EAAE;4BAChB,6CAA6C;4BAC7C,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;yBAC9C;wBACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBAC5C,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;wBAC7B,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;wBAIV,qBAAM,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAA;;wBAAnD,QAAQ,GAAG,SAAwC;wBACrD,WAAW,GAAG,EAAE,CAAC;wBACjB,WAAW,GAAa,EAAE,CAAC;wBACtB,CAAC,GAAG,CAAC;;;6BAAE,CAAA,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAA;wBAC7B,SAAS,GAAa,iBAAiB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;6BACpE,CAAA,WAAW,IAAI,EAAE,CAAA,EAAjB,wBAAiB;wBACnB,4DAA4D;wBAC5D,sDAAsD;wBACtD,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBACvB,qBAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,EAAA;;wBAArE,WAAW,GAAG,SAAuD,CAAC;;4BAExE,qBAAM,IAAI,CAAC,QAAQ,CACjB,IAAI,EACJ,CAAC,EACD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EACb,SAAS,EACT,WAAW,EACX,QAAQ,CACT,EAAA;;wBAPD,SAOC,CAAC;;;wBAfmC,CAAC,EAAE,CAAA;;;wBAkBpC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;wBACxD,mBAAmB,GAAG,IAAI,YAAY,CAAC,aAAa,CAAC,CAAC;wBACtD,WAAW,GAAG,mBAAmB,CAAC,UAAU,EAAE,CAAC;wBACrD,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;wBACpB,qBAAM,IAAI,CAAC,cAAc,CAC1C,WAAW,EACX,WAAW,EACX,GAAG,CAAC,UAAU,CACf,EAAA;;wBAJK,UAAU,GAAG,SAIlB;wBAGG,WAAW,GAAG,CAAC,UAAU,CAAC;wBAC9B,KAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;4BAC9B,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,CAAC,CAAC;4BAClD,YAAY,GAAG,mBAAmB,CAAC,YAAY,EAAE,CAAC;4BACxD,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;4BAChC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;4BAKhC,QAAQ,GAAG,UAAU,IAAI,YAAY,CAAC,MAAM,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAC,CAAC;4BACvE,IAAI,QAAQ,EAAE;gCACZ,WAAW,GAAG,IAAI,CAAC;gCAEb,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,UAAW,CAAC,CAAC;gCAChD,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;gCAEjC,IAAI,WAAW,IAAI,WAAW,CAAC,KAAK,EAAE;oCACpC,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;iCAChE;qCAAM,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE;oCAC5C,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;iCAChE;qCAAM,IAAI,WAAW,IAAI,WAAW,CAAC,aAAa,EAAE;oCACnD,oEAAoE;oCACpE,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,UAAU,CAAC,YAAa,CAAC,CAAC;oCACxD,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;iCAChE;qCAAM,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE;oCAC1C,IAAI,CAAC,2BAA2B,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;iCACvE;6BACF;yBACF;wBACD,IAAI,CAAC,WAAW,EAAE;4BAChB,MAAM,IAAI,KAAK,CACb,yCAAyC;iCACvC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA,CACrC,CAAC;yBACH;wBAEK,GAAG,GAAG,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;wBACpD,CAAC,GAAG,IAAI,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;wBAC7C,qBAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EAAA;;wBAA5B,SAA4B,CAAC;wBAC7B,QAAQ,CAAC,IAAI,CAAC,CAAC;wBACT,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;wBACnC,sBAAO,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAC;;;;KACrC;IAED;;;;;;;OAOG;IACW,+BAAc,GAA5B,UACE,WAAqB,EACrB,WAAwB,EACxB,IAAwB;;;;;;wBAIxB,IAAI,CAAC,IAAI;4BAAE,sBAAO,SAAS,EAAC;wBACtB,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;wBAC1C,0EAA0E;wBAC1E,YAAY;wBACZ,KAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAC3C,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;gCAClC,MAAM,IAAI,KAAK,CACb,UAAQ,IAAI,wBAAmB,iBAAiB,CAAC,WAAW,CAAG,CAChE,CAAC;6BACH;yBACF;wBACY,qBAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,EAAA;;wBAA5D,IAAI,GAAG,SAAqD;wBAC9D,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;wBAClC,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE;4BACnC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;yBAC1B;wBACK,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;wBACnD,4CAAY,MAAM,KAAE,MAAM,QAAA,KAAG;;;;KAC9B;IAED;;;;OAIG;IACW,yBAAQ,GAAtB,UACE,IAAY,EACZ,CAAS,EACT,KAKC,EACD,YAAsB,EACtB,WAAwB,EACxB,QAAgB;;;;;;wBAEV,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBACnB,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC5B,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBACxB,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC1B,IAAI,QAAQ,EAAE;4BACZ,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;yBACpC;wBACK,aAAa,GAAG,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;wBACpD,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;wBAC7B,qBAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,EAAA;;wBAArE,UAAU,GAAG,SAAwD;wBAErE,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;wBAC1C,IAAI,CAAC,OAAO,CAAC,OAAO;4BAClB,MAAM,KAAK,CAAC,8CAA8C,CAAC,CAAC;wBACxD,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;wBAEtD,IAAI,WAAW,IAAI,WAAW,CAAC,KAAK,EAAE;4BACpC,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;4BAC9C,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;yBACjE;6BAAM,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE;4BAC5C,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;4BAC9C,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;4BAChE,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;yBACrE;6BAAM,IAAI,WAAW,IAAI,WAAW,CAAC,aAAa,EAAE;4BACnD,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;4BAC9C,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;4BAChE,IAAI,CAAC,YAAY,EAAE;gCACjB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;6BACjE;4BACK,oBAAoB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;4BACxD,IAAI,YAAY,IAAI,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gCACxD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;6BAC5C;4BACD,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;4BACnD,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;yBACrE;6BAAM,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE;4BACpC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BAC9B,IAAI,CAAC,0BAA0B,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;4BACtE,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;yBACrE;wBAED,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;wBACxC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;;;;;KAC/C;IAED;;;;;;;;OAQG;IACW,yBAAQ,GAAtB,UACE,IAAY,EACZ,YAA0B;;;;;4BAEQ,qBAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAC1D,IAAI,EACJ,YAAY,EACZ,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CACpB,EAAA;;wBAJK,IAAI,GAAwB,SAIjC;wBACD,IAAI,CAAC,OAAO,CAAC,UAAC,CAAC,EAAE,CAAC;4BAChB,uEAAuE;4BACvE,2DAA2D;4BAC3D,IAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;4BAClE,IAAI,MAAM,CAAC;4BACX,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;gCACvB,0DAA0D;gCAC1D,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC;gCAC/D,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;oCACtB,MAAM,KAAK,CAAC,yCAAuC,CAAG,CAAC,CAAC;iCACzD;gCACD,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;6BAC9B;iCAAM;gCACL,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gCACpB,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;6BACvC;wBACH,CAAC,CAAC,CAAC;;;;;KACJ;IACH,aAAC;AAAD,CAAC,AAjXD,IAiXC;;AAED,IAAK,WAKJ;AALD,WAAK,WAAW;IACd,gCAAiB,CAAA;IACjB,kCAAmB,CAAA;IACnB,6CAA8B,CAAA;IAC9B,8BAAe,CAAA;AACjB,CAAC,EALI,WAAW,KAAX,WAAW,QAKf;AAED,SAAS,kBAAkB,CAAC,MAAc;IACxC,IAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CACrB,MAAc,EACd,WAAwB;IAExB,IAAM,GAAG,GAAG,IAAI,YAAY,EAAE,CAAC;IAC/B,IAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,YAAgC,CAAC;IACrC,IAAI,WAAW,IAAI,WAAW,CAAC,KAAK,EAAE;QACpC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;QACzD,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC3B,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;KACxD;SAAM,IAAI,WAAW,IAAI,WAAW,CAAC,aAAa,EAAE;QACnD,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAM,UAAU,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;QAC/C,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;QACjD,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC3B,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;KAC1B;SAAM,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE;QAC5C,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QACxC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;KAC5B;SAAM,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE;QAC1C,IAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC9C,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB;QACxD,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;KAC3B;IACD,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,YAAY,cAAA,EAAE,CAAC;AAChD,CAAC;AAED,SAAS,eAAe,CAAC,aAA4B;IACnD,IAAI,aAAa,IAAI,QAAQ;QAAE,OAAO,WAAW,CAAC,KAAK,CAAC;IACxD,IAAI,aAAa,IAAI,MAAM;QAAE,OAAO,WAAW,CAAC,aAAa,CAAC;IAC9D,IAAI,aAAa,IAAI,QAAQ;QAAE,OAAO,WAAW,CAAC,MAAM,CAAC;IACzD,IAAI,aAAa,IAAI,SAAS;QAAE,OAAO,WAAW,CAAC,IAAI,CAAC;IACxD,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,aAAa,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAyB;IACnD,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,WAAW,CAAC,IAAI,CAAC;IACjE,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,WAAW,CAAC,MAAM,CAAC;IAClE,IAAI,GAAG,CAAC,MAAM;QAAE,OAAO,WAAW,CAAC,aAAa,CAAC;IACjD,OAAO,WAAW,CAAC,KAAK,CAAC;AAC3B,CAAC;AAED;;;EAGE;AACF,SAAS,YAAY,CAAC,CAAS;IAC7B,oEAAoE;IACpE,mFAAmF;IACnF,IAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,mBAAmB,CAAC,cAAsB;IACjD,IAAI,cAAc,CAAC,MAAM,IAAI,EAAE,EAAE;QAC/B,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;KAC1E;IACD,uEAAuE;IACvE,uEAAuE;IACvE,oBAAoB;IACpB,uFAAuF;IACvF,IAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IACzE,IAAM,KAAK,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;IAE3C,wCAAwC;IACxC,IAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3E,sBAAsB;IACtB,IAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjD,iBAAiB;IACjB,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"BtcNew.js","sourceRoot":"","sources":["../src/BtcNew.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { DefaultDescriptorTemplate } from "./policy";
|
|
3
|
+
import { PsbtV2 } from "./psbtv2";
|
|
4
|
+
export declare type SpendingCondition = {
|
|
5
|
+
scriptPubKey: Buffer;
|
|
6
|
+
redeemScript?: Buffer;
|
|
7
|
+
};
|
|
8
|
+
export declare type SpentOutput = {
|
|
9
|
+
cond: SpendingCondition;
|
|
10
|
+
amount: Buffer;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Encapsulates differences between account types, for example p2wpkh,
|
|
14
|
+
* p2wpkhWrapped, p2tr.
|
|
15
|
+
*/
|
|
16
|
+
export interface AccountType {
|
|
17
|
+
/**
|
|
18
|
+
* Generates a scriptPubKey (output script) from a list of public keys. If a
|
|
19
|
+
* p2sh redeemScript or a p2wsh witnessScript is needed it will also be set on
|
|
20
|
+
* the returned SpendingCondition.
|
|
21
|
+
*
|
|
22
|
+
* The pubkeys are expected to be 33 byte ecdsa compressed pubkeys.
|
|
23
|
+
*/
|
|
24
|
+
spendingCondition(pubkeys: Buffer[]): SpendingCondition;
|
|
25
|
+
/**
|
|
26
|
+
* Populates the psbt with account type-specific data for an input.
|
|
27
|
+
* @param i The index of the input map to populate
|
|
28
|
+
* @param inputTx The full transaction containing the spent output. This may
|
|
29
|
+
* be omitted for taproot.
|
|
30
|
+
* @param spentOutput The amount and spending condition of the spent output
|
|
31
|
+
* @param pubkeys The 33 byte ecdsa compressed public keys involved in the input
|
|
32
|
+
* @param pathElems The paths corresponding to the pubkeys, in same order.
|
|
33
|
+
*/
|
|
34
|
+
setInput(i: number, inputTx: Buffer | undefined, spentOutput: SpentOutput, pubkeys: Buffer[], pathElems: number[][]): void;
|
|
35
|
+
/**
|
|
36
|
+
* Populates the psbt with account type-specific data for an output. This is typically
|
|
37
|
+
* done for change outputs and other outputs that goes to the same account as
|
|
38
|
+
* being spent from.
|
|
39
|
+
* @param i The index of the output map to populate
|
|
40
|
+
* @param cond The spending condition for this output
|
|
41
|
+
* @param pubkeys The 33 byte ecdsa compressed public keys involved in this output
|
|
42
|
+
* @param paths The paths corresponding to the pubkeys, in same order.
|
|
43
|
+
*/
|
|
44
|
+
setOwnOutput(i: number, cond: SpendingCondition, pubkeys: Buffer[], paths: number[][]): void;
|
|
45
|
+
/**
|
|
46
|
+
* Returns the descriptor template for this account type. Currently only
|
|
47
|
+
* DefaultDescriptorTemplates are allowed, but that might be changed in the
|
|
48
|
+
* future. See class WalletPolicy for more information on descriptor
|
|
49
|
+
* templates.
|
|
50
|
+
*/
|
|
51
|
+
getDescriptorTemplate(): DefaultDescriptorTemplate;
|
|
52
|
+
}
|
|
53
|
+
interface BaseAccount extends AccountType {
|
|
54
|
+
}
|
|
55
|
+
declare abstract class BaseAccount implements AccountType {
|
|
56
|
+
protected psbt: PsbtV2;
|
|
57
|
+
protected masterFp: Buffer;
|
|
58
|
+
constructor(psbt: PsbtV2, masterFp: Buffer);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Superclass for single signature accounts. This will make sure that the pubkey
|
|
62
|
+
* arrays and path arrays in the method arguments contains exactly one element
|
|
63
|
+
* and calls an abstract method to do the actual work.
|
|
64
|
+
*/
|
|
65
|
+
declare abstract class SingleKeyAccount extends BaseAccount {
|
|
66
|
+
spendingCondition(pubkeys: Buffer[]): SpendingCondition;
|
|
67
|
+
protected abstract singleKeyCondition(pubkey: Buffer): SpendingCondition;
|
|
68
|
+
setInput(i: number, inputTx: Buffer | undefined, spentOutput: SpentOutput, pubkeys: Buffer[], pathElems: number[][]): void;
|
|
69
|
+
protected abstract setSingleKeyInput(i: number, inputTx: Buffer | undefined, spentOutput: SpentOutput, pubkey: Buffer, path: number[]): any;
|
|
70
|
+
setOwnOutput(i: number, cond: SpendingCondition, pubkeys: Buffer[], paths: number[][]): void;
|
|
71
|
+
protected abstract setSingleKeyOutput(i: number, cond: SpendingCondition, pubkey: Buffer, path: number[]): any;
|
|
72
|
+
}
|
|
73
|
+
export declare class p2pkh extends SingleKeyAccount {
|
|
74
|
+
singleKeyCondition(pubkey: Buffer): SpendingCondition;
|
|
75
|
+
setSingleKeyInput(i: number, inputTx: Buffer | undefined, _spentOutput: SpentOutput, pubkey: Buffer, path: number[]): void;
|
|
76
|
+
setSingleKeyOutput(i: number, cond: SpendingCondition, pubkey: Buffer, path: number[]): void;
|
|
77
|
+
getDescriptorTemplate(): DefaultDescriptorTemplate;
|
|
78
|
+
}
|
|
79
|
+
export declare class p2tr extends SingleKeyAccount {
|
|
80
|
+
singleKeyCondition(pubkey: Buffer): SpendingCondition;
|
|
81
|
+
setSingleKeyInput(i: number, _inputTx: Buffer | undefined, spentOutput: SpentOutput, pubkey: Buffer, path: number[]): void;
|
|
82
|
+
setSingleKeyOutput(i: number, cond: SpendingCondition, pubkey: Buffer, path: number[]): void;
|
|
83
|
+
getDescriptorTemplate(): DefaultDescriptorTemplate;
|
|
84
|
+
private hashTapTweak;
|
|
85
|
+
/**
|
|
86
|
+
* Calculates a taproot output key from an internal key. This output key will be
|
|
87
|
+
* used as witness program in a taproot output. The internal key is tweaked
|
|
88
|
+
* according to recommendation in BIP341:
|
|
89
|
+
* https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki#cite_ref-22-0
|
|
90
|
+
*
|
|
91
|
+
* @param internalPubkey A 32 byte x-only taproot internal key
|
|
92
|
+
* @returns The output key
|
|
93
|
+
*/
|
|
94
|
+
getTaprootOutputKey(internalPubkey: Buffer): Buffer;
|
|
95
|
+
}
|
|
96
|
+
export declare class p2wpkhWrapped extends SingleKeyAccount {
|
|
97
|
+
singleKeyCondition(pubkey: Buffer): SpendingCondition;
|
|
98
|
+
setSingleKeyInput(i: number, inputTx: Buffer | undefined, spentOutput: SpentOutput, pubkey: Buffer, path: number[]): void;
|
|
99
|
+
setSingleKeyOutput(i: number, cond: SpendingCondition, pubkey: Buffer, path: number[]): void;
|
|
100
|
+
getDescriptorTemplate(): DefaultDescriptorTemplate;
|
|
101
|
+
private createRedeemScript;
|
|
102
|
+
}
|
|
103
|
+
export declare class p2wpkh extends SingleKeyAccount {
|
|
104
|
+
singleKeyCondition(pubkey: Buffer): SpendingCondition;
|
|
105
|
+
setSingleKeyInput(i: number, inputTx: Buffer | undefined, spentOutput: SpentOutput, pubkey: Buffer, path: number[]): void;
|
|
106
|
+
setSingleKeyOutput(i: number, cond: SpendingCondition, pubkey: Buffer, path: number[]): void;
|
|
107
|
+
getDescriptorTemplate(): DefaultDescriptorTemplate;
|
|
108
|
+
}
|
|
109
|
+
export {};
|
|
110
|
+
//# sourceMappingURL=accounttype.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accounttype.d.ts","sourceRoot":"","sources":["../../src/newops/accounttype.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
var __extends = (this && this.__extends) || (function () {
|
|
2
|
+
var extendStatics = function (d, b) {
|
|
3
|
+
extendStatics = Object.setPrototypeOf ||
|
|
4
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
6
|
+
return extendStatics(d, b);
|
|
7
|
+
};
|
|
8
|
+
return function (d, b) {
|
|
9
|
+
if (typeof b !== "function" && b !== null)
|
|
10
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
11
|
+
extendStatics(d, b);
|
|
12
|
+
function __() { this.constructor = d; }
|
|
13
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
14
|
+
};
|
|
15
|
+
})();
|
|
16
|
+
import { crypto } from "bitcoinjs-lib";
|
|
17
|
+
import { pointAddScalar } from "tiny-secp256k1";
|
|
18
|
+
import { BufferWriter } from "../buffertools";
|
|
19
|
+
import { HASH_SIZE, OP_CHECKSIG, OP_DUP, OP_EQUAL, OP_EQUALVERIFY, OP_HASH160, } from "../constants";
|
|
20
|
+
import { hashPublicKey } from "../hashPublicKey";
|
|
21
|
+
var BaseAccount = /** @class */ (function () {
|
|
22
|
+
function BaseAccount(psbt, masterFp) {
|
|
23
|
+
this.psbt = psbt;
|
|
24
|
+
this.masterFp = masterFp;
|
|
25
|
+
}
|
|
26
|
+
return BaseAccount;
|
|
27
|
+
}());
|
|
28
|
+
/**
|
|
29
|
+
* Superclass for single signature accounts. This will make sure that the pubkey
|
|
30
|
+
* arrays and path arrays in the method arguments contains exactly one element
|
|
31
|
+
* and calls an abstract method to do the actual work.
|
|
32
|
+
*/
|
|
33
|
+
var SingleKeyAccount = /** @class */ (function (_super) {
|
|
34
|
+
__extends(SingleKeyAccount, _super);
|
|
35
|
+
function SingleKeyAccount() {
|
|
36
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
37
|
+
}
|
|
38
|
+
SingleKeyAccount.prototype.spendingCondition = function (pubkeys) {
|
|
39
|
+
if (pubkeys.length != 1) {
|
|
40
|
+
throw new Error("Expected single key, got " + pubkeys.length);
|
|
41
|
+
}
|
|
42
|
+
return this.singleKeyCondition(pubkeys[0]);
|
|
43
|
+
};
|
|
44
|
+
SingleKeyAccount.prototype.setInput = function (i, inputTx, spentOutput, pubkeys, pathElems) {
|
|
45
|
+
if (pubkeys.length != 1) {
|
|
46
|
+
throw new Error("Expected single key, got " + pubkeys.length);
|
|
47
|
+
}
|
|
48
|
+
if (pathElems.length != 1) {
|
|
49
|
+
throw new Error("Expected single path, got " + pathElems.length);
|
|
50
|
+
}
|
|
51
|
+
this.setSingleKeyInput(i, inputTx, spentOutput, pubkeys[0], pathElems[0]);
|
|
52
|
+
};
|
|
53
|
+
SingleKeyAccount.prototype.setOwnOutput = function (i, cond, pubkeys, paths) {
|
|
54
|
+
if (pubkeys.length != 1) {
|
|
55
|
+
throw new Error("Expected single key, got " + pubkeys.length);
|
|
56
|
+
}
|
|
57
|
+
if (paths.length != 1) {
|
|
58
|
+
throw new Error("Expected single path, got " + paths.length);
|
|
59
|
+
}
|
|
60
|
+
this.setSingleKeyOutput(i, cond, pubkeys[0], paths[0]);
|
|
61
|
+
};
|
|
62
|
+
return SingleKeyAccount;
|
|
63
|
+
}(BaseAccount));
|
|
64
|
+
var p2pkh = /** @class */ (function (_super) {
|
|
65
|
+
__extends(p2pkh, _super);
|
|
66
|
+
function p2pkh() {
|
|
67
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
68
|
+
}
|
|
69
|
+
p2pkh.prototype.singleKeyCondition = function (pubkey) {
|
|
70
|
+
var buf = new BufferWriter();
|
|
71
|
+
var pubkeyHash = hashPublicKey(pubkey);
|
|
72
|
+
buf.writeSlice(Buffer.from([OP_DUP, OP_HASH160, HASH_SIZE]));
|
|
73
|
+
buf.writeSlice(pubkeyHash);
|
|
74
|
+
buf.writeSlice(Buffer.from([OP_EQUALVERIFY, OP_CHECKSIG]));
|
|
75
|
+
return { scriptPubKey: buf.buffer() };
|
|
76
|
+
};
|
|
77
|
+
p2pkh.prototype.setSingleKeyInput = function (i, inputTx, _spentOutput, pubkey, path) {
|
|
78
|
+
if (!inputTx) {
|
|
79
|
+
throw new Error("Full input base transaction required");
|
|
80
|
+
}
|
|
81
|
+
this.psbt.setInputNonWitnessUtxo(i, inputTx);
|
|
82
|
+
this.psbt.setInputBip32Derivation(i, pubkey, this.masterFp, path);
|
|
83
|
+
};
|
|
84
|
+
p2pkh.prototype.setSingleKeyOutput = function (i, cond, pubkey, path) {
|
|
85
|
+
this.psbt.setOutputBip32Derivation(i, pubkey, this.masterFp, path);
|
|
86
|
+
};
|
|
87
|
+
p2pkh.prototype.getDescriptorTemplate = function () {
|
|
88
|
+
return "pkh(@0)";
|
|
89
|
+
};
|
|
90
|
+
return p2pkh;
|
|
91
|
+
}(SingleKeyAccount));
|
|
92
|
+
export { p2pkh };
|
|
93
|
+
var p2tr = /** @class */ (function (_super) {
|
|
94
|
+
__extends(p2tr, _super);
|
|
95
|
+
function p2tr() {
|
|
96
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
97
|
+
}
|
|
98
|
+
p2tr.prototype.singleKeyCondition = function (pubkey) {
|
|
99
|
+
var xonlyPubkey = pubkey.slice(1); // x-only pubkey
|
|
100
|
+
var buf = new BufferWriter();
|
|
101
|
+
var outputKey = this.getTaprootOutputKey(xonlyPubkey);
|
|
102
|
+
buf.writeSlice(Buffer.from([0x51, 32])); // push1, pubkeylen
|
|
103
|
+
buf.writeSlice(outputKey);
|
|
104
|
+
return { scriptPubKey: buf.buffer() };
|
|
105
|
+
};
|
|
106
|
+
p2tr.prototype.setSingleKeyInput = function (i, _inputTx, spentOutput, pubkey, path) {
|
|
107
|
+
var xonly = pubkey.slice(1);
|
|
108
|
+
this.psbt.setInputTapBip32Derivation(i, xonly, [], this.masterFp, path);
|
|
109
|
+
this.psbt.setInputWitnessUtxo(i, spentOutput.amount, spentOutput.cond.scriptPubKey);
|
|
110
|
+
};
|
|
111
|
+
p2tr.prototype.setSingleKeyOutput = function (i, cond, pubkey, path) {
|
|
112
|
+
var xonly = pubkey.slice(1);
|
|
113
|
+
this.psbt.setOutputTapBip32Derivation(i, xonly, [], this.masterFp, path);
|
|
114
|
+
};
|
|
115
|
+
p2tr.prototype.getDescriptorTemplate = function () {
|
|
116
|
+
return "tr(@0)";
|
|
117
|
+
};
|
|
118
|
+
/*
|
|
119
|
+
The following two functions are copied from wallet-btc and adapted.
|
|
120
|
+
They should be moved to a library to avoid code reuse.
|
|
121
|
+
*/
|
|
122
|
+
p2tr.prototype.hashTapTweak = function (x) {
|
|
123
|
+
// hash_tag(x) = SHA256(SHA256(tag) || SHA256(tag) || x), see BIP340
|
|
124
|
+
// See https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki#specification
|
|
125
|
+
var h = crypto.sha256(Buffer.from("TapTweak", "utf-8"));
|
|
126
|
+
return crypto.sha256(Buffer.concat([h, h, x]));
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* Calculates a taproot output key from an internal key. This output key will be
|
|
130
|
+
* used as witness program in a taproot output. The internal key is tweaked
|
|
131
|
+
* according to recommendation in BIP341:
|
|
132
|
+
* https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki#cite_ref-22-0
|
|
133
|
+
*
|
|
134
|
+
* @param internalPubkey A 32 byte x-only taproot internal key
|
|
135
|
+
* @returns The output key
|
|
136
|
+
*/
|
|
137
|
+
p2tr.prototype.getTaprootOutputKey = function (internalPubkey) {
|
|
138
|
+
if (internalPubkey.length != 32) {
|
|
139
|
+
throw new Error("Expected 32 byte pubkey. Got " + internalPubkey.length);
|
|
140
|
+
}
|
|
141
|
+
// A BIP32 derived key can be converted to a schnorr pubkey by dropping
|
|
142
|
+
// the first byte, which represent the oddness/evenness. In schnorr all
|
|
143
|
+
// pubkeys are even.
|
|
144
|
+
// https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki#public-key-conversion
|
|
145
|
+
var evenEcdsaPubkey = Buffer.concat([
|
|
146
|
+
Buffer.from([0x02]),
|
|
147
|
+
internalPubkey,
|
|
148
|
+
]);
|
|
149
|
+
var tweak = this.hashTapTweak(internalPubkey);
|
|
150
|
+
// Q = P + int(hash_TapTweak(bytes(P)))G
|
|
151
|
+
var outputEcdsaKey = Buffer.from(pointAddScalar(evenEcdsaPubkey, tweak));
|
|
152
|
+
// Convert to schnorr.
|
|
153
|
+
var outputSchnorrKey = outputEcdsaKey.slice(1);
|
|
154
|
+
// Create address
|
|
155
|
+
return outputSchnorrKey;
|
|
156
|
+
};
|
|
157
|
+
return p2tr;
|
|
158
|
+
}(SingleKeyAccount));
|
|
159
|
+
export { p2tr };
|
|
160
|
+
var p2wpkhWrapped = /** @class */ (function (_super) {
|
|
161
|
+
__extends(p2wpkhWrapped, _super);
|
|
162
|
+
function p2wpkhWrapped() {
|
|
163
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
164
|
+
}
|
|
165
|
+
p2wpkhWrapped.prototype.singleKeyCondition = function (pubkey) {
|
|
166
|
+
var buf = new BufferWriter();
|
|
167
|
+
var redeemScript = this.createRedeemScript(pubkey);
|
|
168
|
+
var scriptHash = hashPublicKey(redeemScript);
|
|
169
|
+
buf.writeSlice(Buffer.from([OP_HASH160, HASH_SIZE]));
|
|
170
|
+
buf.writeSlice(scriptHash);
|
|
171
|
+
buf.writeUInt8(OP_EQUAL);
|
|
172
|
+
return { scriptPubKey: buf.buffer(), redeemScript: redeemScript };
|
|
173
|
+
};
|
|
174
|
+
p2wpkhWrapped.prototype.setSingleKeyInput = function (i, inputTx, spentOutput, pubkey, path) {
|
|
175
|
+
if (!inputTx) {
|
|
176
|
+
throw new Error("Full input base transaction required");
|
|
177
|
+
}
|
|
178
|
+
this.psbt.setInputNonWitnessUtxo(i, inputTx);
|
|
179
|
+
this.psbt.setInputBip32Derivation(i, pubkey, this.masterFp, path);
|
|
180
|
+
var userSuppliedRedeemScript = spentOutput.cond.redeemScript;
|
|
181
|
+
var expectedRedeemScript = this.createRedeemScript(pubkey);
|
|
182
|
+
if (userSuppliedRedeemScript &&
|
|
183
|
+
!expectedRedeemScript.equals(userSuppliedRedeemScript)) {
|
|
184
|
+
// At what point might a user set the redeemScript on its own?
|
|
185
|
+
throw new Error("User-supplied redeemScript " + userSuppliedRedeemScript.toString("hex") + " doesn't\n match expected " + expectedRedeemScript.toString("hex") + " for input " + i);
|
|
186
|
+
}
|
|
187
|
+
this.psbt.setInputRedeemScript(i, expectedRedeemScript);
|
|
188
|
+
this.psbt.setInputWitnessUtxo(i, spentOutput.amount, spentOutput.cond.scriptPubKey);
|
|
189
|
+
};
|
|
190
|
+
p2wpkhWrapped.prototype.setSingleKeyOutput = function (i, cond, pubkey, path) {
|
|
191
|
+
this.psbt.setOutputRedeemScript(i, cond.redeemScript);
|
|
192
|
+
this.psbt.setOutputBip32Derivation(i, pubkey, this.masterFp, path);
|
|
193
|
+
};
|
|
194
|
+
p2wpkhWrapped.prototype.getDescriptorTemplate = function () {
|
|
195
|
+
return "sh(wpkh(@0))";
|
|
196
|
+
};
|
|
197
|
+
p2wpkhWrapped.prototype.createRedeemScript = function (pubkey) {
|
|
198
|
+
var pubkeyHash = hashPublicKey(pubkey);
|
|
199
|
+
return Buffer.concat([Buffer.from("0014", "hex"), pubkeyHash]);
|
|
200
|
+
};
|
|
201
|
+
return p2wpkhWrapped;
|
|
202
|
+
}(SingleKeyAccount));
|
|
203
|
+
export { p2wpkhWrapped };
|
|
204
|
+
var p2wpkh = /** @class */ (function (_super) {
|
|
205
|
+
__extends(p2wpkh, _super);
|
|
206
|
+
function p2wpkh() {
|
|
207
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
208
|
+
}
|
|
209
|
+
p2wpkh.prototype.singleKeyCondition = function (pubkey) {
|
|
210
|
+
var buf = new BufferWriter();
|
|
211
|
+
var pubkeyHash = hashPublicKey(pubkey);
|
|
212
|
+
buf.writeSlice(Buffer.from([0, HASH_SIZE]));
|
|
213
|
+
buf.writeSlice(pubkeyHash);
|
|
214
|
+
return { scriptPubKey: buf.buffer() };
|
|
215
|
+
};
|
|
216
|
+
p2wpkh.prototype.setSingleKeyInput = function (i, inputTx, spentOutput, pubkey, path) {
|
|
217
|
+
if (!inputTx) {
|
|
218
|
+
throw new Error("Full input base transaction required");
|
|
219
|
+
}
|
|
220
|
+
this.psbt.setInputNonWitnessUtxo(i, inputTx);
|
|
221
|
+
this.psbt.setInputBip32Derivation(i, pubkey, this.masterFp, path);
|
|
222
|
+
this.psbt.setInputWitnessUtxo(i, spentOutput.amount, spentOutput.cond.scriptPubKey);
|
|
223
|
+
};
|
|
224
|
+
p2wpkh.prototype.setSingleKeyOutput = function (i, cond, pubkey, path) {
|
|
225
|
+
this.psbt.setOutputBip32Derivation(i, pubkey, this.masterFp, path);
|
|
226
|
+
};
|
|
227
|
+
p2wpkh.prototype.getDescriptorTemplate = function () {
|
|
228
|
+
return "wpkh(@0)";
|
|
229
|
+
};
|
|
230
|
+
return p2wpkh;
|
|
231
|
+
}(SingleKeyAccount));
|
|
232
|
+
export { p2wpkh };
|
|
233
|
+
//# sourceMappingURL=accounttype.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accounttype.js","sourceRoot":"","sources":["../../src/newops/accounttype.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ export declare class AppClient {
|
|
|
12
12
|
private makeRequest;
|
|
13
13
|
getExtendedPubkey(display: boolean, pathElements: number[]): Promise<string>;
|
|
14
14
|
getWalletAddress(walletPolicy: WalletPolicy, walletHMAC: Buffer | null, change: number, addressIndex: number, display: boolean): Promise<string>;
|
|
15
|
-
signPsbt(psbt: PsbtV2, walletPolicy: WalletPolicy, walletHMAC: Buffer | null): Promise<Map<number, Buffer>>;
|
|
15
|
+
signPsbt(psbt: PsbtV2, walletPolicy: WalletPolicy, walletHMAC: Buffer | null, progressCallback: () => void): Promise<Map<number, Buffer>>;
|
|
16
16
|
getMasterFingerprint(): Promise<Buffer>;
|
|
17
17
|
}
|
|
18
18
|
//# sourceMappingURL=appClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appClient.d.ts","sourceRoot":"","sources":["../../src/newops/appClient.ts"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAoBxC;;;GAGG;AACH,qBAAa,SAAS;IACpB,SAAS,EAAE,SAAS,CAAC;gBAET,SAAS,EAAE,SAAS;YAIlB,WAAW;IA6BnB,iBAAiB,CACrB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,MAAM,CAAC;IAcZ,gBAAgB,CACpB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,MAAM,CAAC;IAkCZ,QAAQ,CACZ,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"appClient.d.ts","sourceRoot":"","sources":["../../src/newops/appClient.ts"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAoBxC;;;GAGG;AACH,qBAAa,SAAS;IACpB,SAAS,EAAE,SAAS,CAAC;gBAET,SAAS,EAAE,SAAS;YAIlB,WAAW;IA6BnB,iBAAiB,CACrB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,MAAM,CAAC;IAcZ,gBAAgB,CACpB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,MAAM,CAAC;IAkCZ,QAAQ,CACZ,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,gBAAgB,EAAE,MAAM,IAAI,GAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAuDzB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;CAG9C"}
|
|
@@ -111,7 +111,7 @@ var AppClient = /** @class */ (function () {
|
|
|
111
111
|
throw new Error("Path too long. At most 6 levels allowed.");
|
|
112
112
|
}
|
|
113
113
|
return [4 /*yield*/, this.makeRequest(BitcoinIns.GET_PUBKEY, Buffer.concat([
|
|
114
|
-
Buffer.
|
|
114
|
+
Buffer.from(display ? [1] : [0]),
|
|
115
115
|
pathElementsToBuffer(pathElements),
|
|
116
116
|
]))];
|
|
117
117
|
case 1:
|
|
@@ -134,16 +134,16 @@ var AppClient = /** @class */ (function () {
|
|
|
134
134
|
if (walletHMAC != null && walletHMAC.length != 32) {
|
|
135
135
|
throw new Error("Invalid HMAC length");
|
|
136
136
|
}
|
|
137
|
-
clientInterpreter = new ClientCommandInterpreter();
|
|
137
|
+
clientInterpreter = new ClientCommandInterpreter(function () { });
|
|
138
138
|
clientInterpreter.addKnownList(walletPolicy.keys.map(function (k) { return Buffer.from(k, "ascii"); }));
|
|
139
139
|
clientInterpreter.addKnownPreimage(walletPolicy.serialize());
|
|
140
140
|
addressIndexBuffer = Buffer.alloc(4);
|
|
141
141
|
addressIndexBuffer.writeUInt32BE(addressIndex, 0);
|
|
142
142
|
return [4 /*yield*/, this.makeRequest(BitcoinIns.GET_WALLET_ADDRESS, Buffer.concat([
|
|
143
|
-
Buffer.
|
|
143
|
+
Buffer.from(display ? [1] : [0]),
|
|
144
144
|
walletPolicy.getWalletId(),
|
|
145
145
|
walletHMAC || Buffer.alloc(32, 0),
|
|
146
|
-
Buffer.
|
|
146
|
+
Buffer.from([change]),
|
|
147
147
|
addressIndexBuffer,
|
|
148
148
|
]), clientInterpreter)];
|
|
149
149
|
case 1:
|
|
@@ -153,7 +153,7 @@ var AppClient = /** @class */ (function () {
|
|
|
153
153
|
});
|
|
154
154
|
});
|
|
155
155
|
};
|
|
156
|
-
AppClient.prototype.signPsbt = function (psbt, walletPolicy, walletHMAC) {
|
|
156
|
+
AppClient.prototype.signPsbt = function (psbt, walletPolicy, walletHMAC, progressCallback) {
|
|
157
157
|
return __awaiter(this, void 0, void 0, function () {
|
|
158
158
|
var merkelizedPsbt, clientInterpreter, _a, _b, map, _c, _d, map, inputMapsRoot, outputMapsRoot, yielded, ret, yielded_1, yielded_1_1, inputAndSig;
|
|
159
159
|
var e_1, _e, e_2, _f, e_3, _g;
|
|
@@ -164,7 +164,7 @@ var AppClient = /** @class */ (function () {
|
|
|
164
164
|
if (walletHMAC != null && walletHMAC.length != 32) {
|
|
165
165
|
throw new Error("Invalid HMAC length");
|
|
166
166
|
}
|
|
167
|
-
clientInterpreter = new ClientCommandInterpreter();
|
|
167
|
+
clientInterpreter = new ClientCommandInterpreter(progressCallback);
|
|
168
168
|
// prepare ClientCommandInterpreter
|
|
169
169
|
clientInterpreter.addKnownList(walletPolicy.keys.map(function (k) { return Buffer.from(k, "ascii"); }));
|
|
170
170
|
clientInterpreter.addKnownPreimage(walletPolicy.serialize());
|
|
@@ -233,7 +233,7 @@ var AppClient = /** @class */ (function () {
|
|
|
233
233
|
AppClient.prototype.getMasterFingerprint = function () {
|
|
234
234
|
return __awaiter(this, void 0, void 0, function () {
|
|
235
235
|
return __generator(this, function (_a) {
|
|
236
|
-
return [2 /*return*/, this.makeRequest(BitcoinIns.GET_MASTER_FINGERPRINT, Buffer.
|
|
236
|
+
return [2 /*return*/, this.makeRequest(BitcoinIns.GET_MASTER_FINGERPRINT, Buffer.from([]))];
|
|
237
237
|
});
|
|
238
238
|
});
|
|
239
239
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appClient.js","sourceRoot":"","sources":["../../src/newops/appClient.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAE5C,IAAM,OAAO,GAAG,IAAI,CAAC;AACrB,IAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,IAAK,UAOJ;AAPD,WAAK,UAAU;IACb,uDAAiB,CAAA;IACjB,0CAA0C;IAC1C,iEAAsB,CAAA;IACtB,uEAAyB,CAAA;IACzB,qDAAgB,CAAA;IAChB,+EAA6B,CAAA;AAC/B,CAAC,EAPI,UAAU,KAAV,UAAU,QAOd;AAED,IAAK,YAEJ;AAFD,WAAK,YAAY;IACf,+EAA2B,CAAA;AAC7B,CAAC,EAFI,YAAY,KAAZ,YAAY,QAEhB;AAED;;;GAGG;AACH;IAGE,mBAAY,SAAoB;QAC9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAEa,+BAAW,GAAzB,UACE,GAAe,EACf,IAAY,EACZ,GAA8B;;;;;4BAEP,qBAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;4BACzE,MAAM;4BACN,MAAM;yBACP,CAAC,EAAA;;wBAHE,QAAQ,GAAW,SAGrB;;;6BACK,CAAA,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,MAAM,CAAA;wBAC1D,IAAI,CAAC,GAAG,EAAE;4BACR,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;yBACxD;wBAEK,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBAClC,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;wBAEpC,qBAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAClC,aAAa,EACb,YAAY,CAAC,oBAAoB,EACjC,CAAC,EACD,CAAC,EACD,eAAe,EACf,CAAC,MAAM,EAAE,MAAM,CAAC,CACjB,EAAA;;wBAPD,QAAQ,GAAG,SAOV,CAAC;;4BAEJ,sBAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAC,CAAC,0DAA0D;;;;KACzF;IAEK,qCAAiB,GAAvB,UACE,OAAgB,EAChB,YAAsB;;;;;;wBAEtB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC3B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;yBAC7D;wBACgB,qBAAM,IAAI,CAAC,WAAW,CACrC,UAAU,CAAC,UAAU,EACrB,MAAM,CAAC,MAAM,CAAC;gCACZ,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"appClient.js","sourceRoot":"","sources":["../../src/newops/appClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,9 +13,10 @@ declare abstract class ClientCommand {
|
|
|
13
13
|
abstract execute(request: Buffer): Buffer;
|
|
14
14
|
}
|
|
15
15
|
export declare class YieldCommand extends ClientCommand {
|
|
16
|
+
private progressCallback;
|
|
16
17
|
private results;
|
|
17
18
|
code: ClientCommandCode;
|
|
18
|
-
constructor(results: Buffer[]);
|
|
19
|
+
constructor(results: Buffer[], progressCallback: () => void);
|
|
19
20
|
execute(request: Buffer): Buffer;
|
|
20
21
|
}
|
|
21
22
|
export declare class GetPreimageCommand extends ClientCommand {
|
|
@@ -65,7 +66,7 @@ export declare class ClientCommandInterpreter {
|
|
|
65
66
|
private yielded;
|
|
66
67
|
private queue;
|
|
67
68
|
private commands;
|
|
68
|
-
constructor();
|
|
69
|
+
constructor(progressCallback: () => void);
|
|
69
70
|
getYielded(): Buffer[];
|
|
70
71
|
addKnownPreimage(preimage: Buffer): void;
|
|
71
72
|
addKnownList(elements: Buffer[]): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientCommands.d.ts","sourceRoot":"","sources":["../../src/newops/clientCommands.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"clientCommands.d.ts","sourceRoot":"","sources":["../../src/newops/clientCommands.ts"],"names":[],"mappings":";AAGA,OAAO,EAAY,MAAM,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,aAAK,iBAAiB;IACpB,KAAK,KAAO;IACZ,YAAY,KAAO;IACnB,qBAAqB,KAAO;IAC5B,qBAAqB,KAAO;IAC5B,iBAAiB,MAAO;CACzB;AAED,uBAAe,aAAa;IAC1B,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAC1C;AAED,qBAAa,YAAa,SAAQ,aAAa;IAKd,OAAO,CAAC,gBAAgB;IAJvD,OAAO,CAAC,OAAO,CAAW;IAE1B,IAAI,oBAA2B;gBAEnB,OAAO,EAAE,MAAM,EAAE,EAAU,gBAAgB,EAAE,MAAM,IAAI;IAKnE,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAKjC;AAED,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,KAAK,CAAW;IAExB,IAAI,oBAAkC;gBAE1B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;IAMjE,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CA4CjC;AAED,qBAAa,yBAA0B,SAAQ,aAAa;IAC1D,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,KAAK,CAAW;IAExB,IAAI,oBAA2C;gBAEnC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;IAM7D,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAyDjC;AAED,qBAAa,yBAA0B,SAAQ,aAAa;IAC1D,OAAO,CAAC,WAAW,CAAsB;IAEzC,IAAI,oBAA2C;gBAEnC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAK5C,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAuCjC;AAED,qBAAa,sBAAuB,SAAQ,aAAa;IACvD,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB,IAAI,oBAAuC;gBAE/B,KAAK,EAAE,MAAM,EAAE;IAK3B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CA4BjC;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,SAAS,CAAkC;IAEnD,OAAO,CAAC,OAAO,CAAgB;IAE/B,OAAO,CAAC,KAAK,CAAgB;IAE7B,OAAO,CAAC,QAAQ,CAAoD;gBAExD,gBAAgB,EAAE,MAAM,IAAI;IAiBxC,UAAU,IAAI,MAAM,EAAE;IAItB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIxC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAStC,eAAe,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IAKpC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAajC"}
|
|
@@ -50,6 +50,7 @@ var __values = (this && this.__values) || function(o) {
|
|
|
50
50
|
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
51
51
|
};
|
|
52
52
|
import { crypto } from "bitcoinjs-lib";
|
|
53
|
+
import { BufferReader } from "../buffertools";
|
|
53
54
|
import { createVarint } from "../varint";
|
|
54
55
|
import { hashLeaf, Merkle } from "./merkle";
|
|
55
56
|
var ClientCommandCode;
|
|
@@ -67,14 +68,16 @@ var ClientCommand = /** @class */ (function () {
|
|
|
67
68
|
}());
|
|
68
69
|
var YieldCommand = /** @class */ (function (_super) {
|
|
69
70
|
__extends(YieldCommand, _super);
|
|
70
|
-
function YieldCommand(results) {
|
|
71
|
+
function YieldCommand(results, progressCallback) {
|
|
71
72
|
var _this = _super.call(this) || this;
|
|
73
|
+
_this.progressCallback = progressCallback;
|
|
72
74
|
_this.code = ClientCommandCode.YIELD;
|
|
73
75
|
_this.results = results;
|
|
74
76
|
return _this;
|
|
75
77
|
}
|
|
76
78
|
YieldCommand.prototype.execute = function (request) {
|
|
77
79
|
this.results.push(Buffer.from(request.subarray(1)));
|
|
80
|
+
this.progressCallback();
|
|
78
81
|
return Buffer.from("");
|
|
79
82
|
};
|
|
80
83
|
return YieldCommand;
|
|
@@ -139,17 +142,21 @@ var GetMerkleLeafProofCommand = /** @class */ (function (_super) {
|
|
|
139
142
|
GetMerkleLeafProofCommand.prototype.execute = function (request) {
|
|
140
143
|
var _a;
|
|
141
144
|
var req = request.subarray(1);
|
|
142
|
-
if (req.length
|
|
143
|
-
throw new Error("Invalid request,
|
|
144
|
-
}
|
|
145
|
-
// read the hash
|
|
146
|
-
var hash = Buffer.alloc(32);
|
|
147
|
-
for (var i = 0; i < 32; i++) {
|
|
148
|
-
hash[i] = req.readUInt8(i);
|
|
145
|
+
if (req.length < 32 + 1 + 1) {
|
|
146
|
+
throw new Error("Invalid request, expected at least 34 bytes");
|
|
149
147
|
}
|
|
148
|
+
var reqBuf = new BufferReader(req);
|
|
149
|
+
var hash = reqBuf.readSlice(32);
|
|
150
150
|
var hash_hex = hash.toString("hex");
|
|
151
|
-
var tree_size
|
|
152
|
-
var leaf_index
|
|
151
|
+
var tree_size;
|
|
152
|
+
var leaf_index;
|
|
153
|
+
try {
|
|
154
|
+
tree_size = reqBuf.readVarInt();
|
|
155
|
+
leaf_index = reqBuf.readVarInt();
|
|
156
|
+
}
|
|
157
|
+
catch (e) {
|
|
158
|
+
throw new Error("Invalid request, couldn't parse tree_size or leaf_index");
|
|
159
|
+
}
|
|
153
160
|
var mt = this.known_trees.get(hash_hex);
|
|
154
161
|
if (!mt) {
|
|
155
162
|
throw Error("Requested Merkle leaf proof for unknown tree: " + hash_hex);
|
|
@@ -266,7 +273,7 @@ export { GetMoreElementsCommand };
|
|
|
266
273
|
* which will return the yields in the same order as they came in.
|
|
267
274
|
*/
|
|
268
275
|
var ClientCommandInterpreter = /** @class */ (function () {
|
|
269
|
-
function ClientCommandInterpreter() {
|
|
276
|
+
function ClientCommandInterpreter(progressCallback) {
|
|
270
277
|
var e_1, _a;
|
|
271
278
|
this.roots = new Map();
|
|
272
279
|
this.preimages = new Map();
|
|
@@ -274,7 +281,7 @@ var ClientCommandInterpreter = /** @class */ (function () {
|
|
|
274
281
|
this.queue = [];
|
|
275
282
|
this.commands = new Map();
|
|
276
283
|
var commands = [
|
|
277
|
-
new YieldCommand(this.yielded),
|
|
284
|
+
new YieldCommand(this.yielded, progressCallback),
|
|
278
285
|
new GetPreimageCommand(this.preimages, this.queue),
|
|
279
286
|
new GetMerkleLeafIndexCommand(this.roots),
|
|
280
287
|
new GetMerkleLeafProofCommand(this.roots, this.queue),
|