ecash-lib 3.1.0 → 3.2.0

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.
Files changed (63) hide show
  1. package/README.md +1 -0
  2. package/dist/ffi/ecash_lib_wasm_bg_browser.js +11 -11
  3. package/dist/ffi/ecash_lib_wasm_bg_browser.wasm +0 -0
  4. package/dist/ffi/ecash_lib_wasm_bg_nodejs.wasm +0 -0
  5. package/dist/index.d.ts +3 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +16 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/io/bytes.d.ts +2 -0
  10. package/dist/io/bytes.d.ts.map +1 -1
  11. package/dist/io/bytes.js +10 -2
  12. package/dist/io/bytes.js.map +1 -1
  13. package/dist/payment/asn1.d.ts +61 -0
  14. package/dist/payment/asn1.d.ts.map +1 -0
  15. package/dist/payment/asn1.js +322 -0
  16. package/dist/payment/asn1.js.map +1 -0
  17. package/dist/payment/index.d.ts +3 -0
  18. package/dist/payment/index.d.ts.map +1 -0
  19. package/dist/payment/index.js +32 -0
  20. package/dist/payment/index.js.map +1 -0
  21. package/dist/payment/x509.d.ts +11 -0
  22. package/dist/payment/x509.d.ts.map +1 -0
  23. package/dist/payment/x509.js +17 -0
  24. package/dist/payment/x509.js.map +1 -0
  25. package/dist/token/alp.d.ts +6 -0
  26. package/dist/token/alp.d.ts.map +1 -1
  27. package/dist/token/alp.js +6 -2
  28. package/dist/token/alp.js.map +1 -1
  29. package/dist/token/alp.parse.d.ts +73 -0
  30. package/dist/token/alp.parse.d.ts.map +1 -0
  31. package/dist/token/alp.parse.js +168 -0
  32. package/dist/token/alp.parse.js.map +1 -0
  33. package/dist/token/common.d.ts +18 -0
  34. package/dist/token/common.d.ts.map +1 -1
  35. package/dist/token/common.js +23 -5
  36. package/dist/token/common.js.map +1 -1
  37. package/dist/token/empp.d.ts +10 -0
  38. package/dist/token/empp.d.ts.map +1 -1
  39. package/dist/token/empp.js +38 -1
  40. package/dist/token/empp.js.map +1 -1
  41. package/dist/token/slp.d.ts +12 -0
  42. package/dist/token/slp.d.ts.map +1 -1
  43. package/dist/token/slp.js +12 -2
  44. package/dist/token/slp.js.map +1 -1
  45. package/dist/token/slp.parse.d.ts +91 -0
  46. package/dist/token/slp.parse.d.ts.map +1 -0
  47. package/dist/token/slp.parse.js +251 -0
  48. package/dist/token/slp.parse.js.map +1 -0
  49. package/package.json +2 -2
  50. package/src/ffi/ecash_lib_wasm_bg_browser.js +11 -11
  51. package/src/ffi/ecash_lib_wasm_bg_browser.wasm +0 -0
  52. package/src/ffi/ecash_lib_wasm_bg_nodejs.wasm +0 -0
  53. package/src/index.ts +4 -0
  54. package/src/io/bytes.ts +11 -2
  55. package/src/payment/asn1.ts +440 -0
  56. package/src/payment/index.ts +6 -0
  57. package/src/payment/x509.ts +15 -0
  58. package/src/token/alp.parse.ts +258 -0
  59. package/src/token/alp.ts +10 -1
  60. package/src/token/common.ts +28 -4
  61. package/src/token/empp.ts +42 -1
  62. package/src/token/slp.parse.ts +383 -0
  63. package/src/token/slp.ts +22 -1
package/README.md CHANGED
@@ -93,3 +93,4 @@ console.log(toHex(rawTx));
93
93
  - 2.1.0 - Add `signRecoverable` and `recoverSig` to `Ecc` [D17667](https://reviews.bitcoinabc.org/D17667)
94
94
  - 3.0.0 - Improve types and shapes in line with chronik proto updates [D17650](https://reviews.bitcoinabc.org/D17650)
95
95
  - 3.1.0 - Add methods for signing and verifying messages [D17778](https://reviews.bitcoinabc.org/D17778)
96
+ - 3.2.0 - Add method for parsing pushes from an EMPP OP_RETURN [D18057](https://reviews.bitcoinabc.org/D18057)
@@ -1195,7 +1195,7 @@ AEGbn8AALQAAIgE2AhQgAUEERw0BIABBnJ/AAC0AACIBNgIUIAFBBEcNAiAAQZ2fwAAtAAAiATYC
1195
1195
  FCABQQRHDQMgAEGen8AALQAAIgE2AhQgAUEERw0EIABBn5/AAC0AACIBNgIUIAFBBEcNBSAAQaCf
1196
1196
  wAAtAAAiATYCFCABQQFHDQYgAEGhn8AALQAAIgE2AhQgAUEBRw0HIABBop/AAC0AACIBNgIUIAFB
1197
1197
  BEcNCCAAQaOfwAAtAAAiATYCFCABQQRHDQkgAEEIakGBBhCqASIBQfH///8HSUEEdCABQaCYwAAQ
1198
- ywFBma/AAC0AABogACgCDCAAKAIIEMMBIgFFDQogAUGBBhAJIQJBma/AAC0AABpBCBAGIgFFDQog
1198
+ ywFBtK/AAC0AABogACgCDCAAKAIIEMMBIgFFDQogAUGBBhAJIQJBtK/AAC0AABpBCBAGIgFFDQog
1199
1199
  ASACNgIEIAFBADYCACAAQTBqJAAgAQ8FCyAAQQA2AhhB7JjAACAAQRRqIABBGGpBvJrAABDMAQAL
1200
1200
  IABBADYCGEHsmMAAIABBFGogAEEYakGsmsAAEMwBAAsgAEEANgIYQeyYwAAgAEEUaiAAQRhqQZya
1201
1201
  wAAQzAEACyAAQQA2AhhB7JjAACAAQRRqIABBGGpBjJrAABDMAQALIABBADYCGEHsmMAAIABBFGog
@@ -1248,7 +1248,7 @@ CA0EQbCewAAhAgwKCyAFQQNxIQcCQCAFQQRJBEBBACEFDAEFCyAGQRxqIQMgBUF8cSIFIQkDQCAD
1248
1248
  KAIAIANBCGsoAgAgA0EQaygCACADQRhrKAIAIAJqampqIQIgA0EgaiEDIAlBBGsiCQ0ACwsgB0UN
1249
1249
  AgwBCyAIBEAgBUEDcSEHQQAhBQwBBQsgBigCBCEDIAYoAgAhAgwICyAFQQN0IAZqQQRqIQMDQCAD
1250
1250
  KAIAIAJqIQIgA0EIaiEDIAdBAWsiBw0ACwsgCARAIAJBAEgNASAGKAIERSACQRBJcQ0BIAJBAXQh
1251
- AgULIAINAQtBASEDQQAhAgwBCyACQQBIDQFBma/AAC0AABogAhAGIgNFDQILIARBADYCGCAEIAM2
1251
+ AgULIAINAQtBASEDQQAhAgwBCyACQQBIDQFBtK/AAC0AABogAhAGIgNFDQILIARBADYCGCAEIAM2
1252
1252
  AhQgBCACNgIQIARBEGpBkIjAACABECMNAiAAIAQpAhA3AgAgAEEIaiAEQRhqKAIANgIADAQLEKYB
1253
1253
  AAsAC0HwiMAAQTMgBEEfakGkicAAQcyJwAAQcQALIARBCGogAxCYASAEKAIIIQEgBCgCDCACIAMQ
1254
1254
  OiECIAAgAzYCCCAAIAI2AgQgACABNgIACyAEQSBqJAAL/AMBAn8gACABaiECAkACQCAAKAIEIgNB
@@ -1527,7 +1527,7 @@ gzcDECAAIAIgBlStIAIgA1atfCABKQMYQn+FfEIBfSAEgzcDGAuyAQICfwR+IwBBMGsiAyQAIAEp
1527
1527
  AwghBCABKQMQIQUgASkDACEGIANBCGoiAiABKQMYIgdCOIg3AyAgAiAGQv//////////P4M3AwAg
1528
1528
  AiAHQgaGIAVCOoiEQv//////////P4M3AxggAiAFQgSGIARCPIiEQv//////////P4M3AxAgAiAE
1529
1529
  QgKGIAZCPoiEQv//////////P4M3AwggAkGQqMAAEBEgACACEIMBIANBMGokAAuiAQACQAJAIAEE
1530
- QCACQQBIDQECfyADKAIEBEACQCADQQhqKAIAIgFFBEAMAQULIAMoAgAgAUEBIAIQHQwCCwULQZmv
1530
+ QCACQQBIDQECfyADKAIEBEACQCADQQhqKAIAIgFFBEAMAQULIAMoAgAgAUEBIAIQHQwCCwULQbSv
1531
1531
  wAAtAAAaIAIQBgsiAQRAIAAgATYCBCAAQQhqIAI2AgAgAEEANgIADwULIABBATYCBAwCBQsgAEEA
1532
1532
  NgIEDAELIABBADYCBCAAQQE2AgAPCyAAQQhqIAI2AgAgAEEBNgIAC38BAn4gAEIAIAKsIgN9IgQg
1533
1533
  ASkDAIMgA0IBfSIDIAApAwCDhDcDACAAIAEpAwggBIMgACkDCCADg4Q3AwggACABKQMQIASDIAAp
@@ -1601,7 +1601,7 @@ IAMoAgghACADIAEgAhCdASADKAIEIQEgAygCACECIAApAwBQRQRAIABBCGogAiABEEAFCyACIAEQ
1601
1601
  nQEgAygCBCEBIAMoAgAhAiAAKQMAUEUEQCAAQQhqIAIgARBBBQsgAiABENwBQQA2AgAgA0EQaiQA
1602
1602
  C2cBAX8jAEFAaiIDJAAgASADIAJBwAAQOiIDELsBQQEhAiABKQMgIAEpAxggASkDECABKQMIIAEp
1603
1603
  AwCEhISEUARAQcyjwAAgAEG0AWooAgAgACgCsAERBABBACECBQsgA0FAayQAIAILZQEDfyMAQRBr
1604
- IgEkACABQQhqIAAQqgFBEGoiAkHx////B0lBBHQgAkGEm8AAENEBQZmvwAAtAAAaIAEoAgwgASgC
1604
+ IgEkACABQQhqIAAQqgFBEGoiAkHx////B0lBBHQgAkGEm8AAENEBQbSvwAAtAAAaIAEoAgwgASgC
1605
1605
  CBDDASIDBEAgAyACNgIAIANBEGogABAJIAFBEGokAA8FCwALWQEBfyAAKAIAIQAgASgCHCICQRBx
1606
1606
  RQRAIAJBIHFFBEAgACgCACIArSAAQX9zrEIBfCAAQQBOIgAbIAAgARA9DwULIAAoAgAgARDiAQ8F
1607
1607
  CyAAKAIAIAEQ4AELcgICfwF+IAApAxgiA0I/iKciAkF/cyIBIAApAxBCf1JxIANC////////////
@@ -1625,7 +1625,7 @@ IAAgACkDICABKQMgfDcDIAtPAQJ/IAAoAgQhAiAAKAIAIQMCQCAAKAIIIgAtAABFDQAgA0Hoi8AA
1625
1625
  QQQgAigCDBEHAEUNAEEBDwsgACABQQpGOgAAIAMgASACKAIQEQUAC0QBAX8gACABKAJ4NgJ4IAAg
1626
1626
  AUEoEDoiAkEoaiABQShqQSgQOiEAIAJB0ABqIAFB0ABqQSgQOhogABBzIAAgAEEBEI0BC0gBAX4g
1627
1627
  ACABrSICIAApAwB+NwMAIAAgACkDCCACfjcDCCAAIAApAxAgAn43AxAgACAAKQMYIAJ+NwMYIAAg
1628
- ACkDICACfjcDIAtHAQF/AkACQAJAIAFFBEBBASECDAEFCyABQQBIDQFBma/AAC0AABogARAGIgJF
1628
+ ACkDICACfjcDIAtHAQF/AkACQAJAIAFFBEBBASECDAEFCyABQQBIDQFBtK/AAC0AABogARAGIgJF
1629
1629
  DQILIAAgAjYCBCAAIAE2AgAPCxCmAQALAAtHAQF/IwBBIGsiAyQAIANBDGpCADcCACADQQE2AgQg
1630
1630
  A0GwnsAANgIIIAMgATYCHCADIAA2AhggAyADQRhqNgIAIAMgAhBcAAtCAQF/IwBB8AFrIgEkACAB
1631
1631
  QRBqIABB4AEQOhpB6AEQxQEiAEEANgIAIABBBGogAUEMakHkARA6GiABQfABaiQAIAALQgEBfyMA
@@ -1640,7 +1640,7 @@ wABBI0GEkMAAEJkBAAULIAAgAzYCBCAAIAE2AgAgAEEMaiACIANrNgIAIAAgASADajYCCAs8AgF/
1640
1640
  An4gACgCACIAIAApA0AiBCACrXwiBTcDQCAAQcgAaiIDIAMpAwAgBCAFVq18NwMAIAAgASACEAUL
1641
1641
  PAEBfyMAQRBrIgUkACABBEAgACACNgIEIAAgATYCACAFQRBqJAAPBQtBrJzAAEErIAVBD2ogBCAD
1642
1642
  EHEACzsBAX8jAEEQayICJAAgARDJASACQQhqIAEQsgEgAigCDCEBIAAgAigCCDYCACAAIAE2AgQg
1643
- AkEQaiQACzkAAkAgAWlBAUdBgICAgHggAWsgAElyDQAgAARAQZmvwAAtAAAaIAAgARDDASIBRQ0B
1643
+ AkEQaiQACzkAAkAgAWlBAUdBgICAgHggAWsgAElyDQAgAARAQbSvwAAtAAAaIAAgARDDASIBRQ0B
1644
1644
  BQsgAQ8LAAs/AQF/IwBBIGsiACQAIABBFGpCADcCACAAQQE2AgwgAEHYiMAANgIIIABBsJ7AADYC
1645
1645
  ECAAQQhqQeCIwAAQXAALOgACQAJ/IAJBgIDEAEcEQEEBIAAgAiABKAIQEQUADQEaBQsgAw0BQQAL
1646
1646
  DwsgACADIAQgASgCDBEHAAs2AQF/IwBBEGsiAiQAIAJBCGogARCEASACKAIMIQEgACACKAIINgIA
@@ -1654,7 +1654,7 @@ IABB5ABqIgAgAkEgEAIgACABEEkgAkEgaiQACykBAX8jAEEQayICJAAgAiAAKAIANgIMIAEgAkEM
1654
1654
  akECEEsgAkEQaiQACygAIAIgA0kEQCADIAIgBBB9AAULIAAgAiADazYCBCAAIAEgA2o2AgALKQAg
1655
1655
  ASgCAEUEQCABQX82AgAgACABNgIEIAAgAUEIajYCAA8FCxDdAQALLwEBfyABKAIAQYCAgIB4RgR/
1656
1656
  QQAFIAEQwgEhAUEBCyECIAAgATYCBCAAIAI2AgALJQEBfyMAQUBqIgIkACACIAEQkAEgACACQcAA
1657
- EDoaIAJBQGskAAskAQF/A0AgAUEoRkUEQCAAIAFqQgA3AwAgAUEIaiEBDAEFCwsLKAAgAgRAQZmv
1657
+ EDoaIAJBQGskAAskAQF/A0AgAUEoRkUEQCAAIAFqQgA3AwAgAUEIaiEBDAEFCwsLKAAgAgRAQbSv
1658
1658
  wAAtAAAaIAIgARDDASEBBQsgACACNgIEIAAgATYCAAtJACAAQQA2AmAgAEKrs4/8kaOz8NsANwIY
1659
1659
  IABC/6S5iMWR2oKbfzcCECAAQvLmu+Ojp/2npX83AgggAELnzKfQ1tDrs7t/NwIACx0BAX8jAEEw
1660
1660
  ayIBJAAgAUEIaiAAEBkgAUEwaiQACx0AIAAoAgAiACAAKQMgIAKtfDcDICAAIAEgAhAECx8AIABB
@@ -1663,10 +1663,10 @@ IABBATYCeCAAELUBIABBKGoQtQEgAEHQAGoQtQELHQACQCAAQYGAgIB4RwRAIABFDQEABQsPCxCm
1663
1663
  AQALHgEBfwN/IAAgAWotAAAEfyABQQFqIQEMAQUgAQsLCxoAIAApAxggACkDECAAKQMIIAApAwCE
1664
1664
  hIRQCx4AIAFFBEBBwJ3AAEEZQZCUwAAQmQEABQsgACABbgseACABRQRAQcCdwABBGUGoncAAEJkB
1665
1665
  AAULIAAgAW4LHAEBfyAAKAIEIgEgACgCCBAAIAAoAgAgARDSAQsWACABQQlPBEAgASAAEDMPBQsg
1666
- ABAGCxwAIAEoAhRBoJfAAEEFIAFBGGooAgAoAgwRBwALGQBBma/AAC0AABogABAGIgAEQCAADwUL
1666
+ ABAGCxwAIAEoAhRBoJfAAEEFIAFBGGooAgAoAgwRBwALGQBBtK/AAC0AABogABAGIgAEQCAADwUL
1667
1667
  AAscACABKAIUQeCYwABBCyABQRhqKAIAKAIMEQcACxYAIABBADYCUCAAELUBIABBKGoQtQELEwAg
1668
1668
  ASgCFCABQRhqKAIAIAAQIwsUACAABEAPBQtBsJ7AAEEbEOQBAAsUACAAKAIAIAEgACgCBCgCDBEF
1669
- AAsSACAAIAEgAiADQdiXwAAQowELEgAgACABIAIgA0HAmMAAEKwBCxIAIAAgASACIANB0JjAABCs
1669
+ AAsSACAAIAEgAiADQdiXwAAQowELEgAgACABIAIgA0HQmMAAEKwBCxIAIAAgASACIANBwJjAABCs
1670
1670
  AQsSACAAKAIABEAgACgCBBAhBQsLDgAgACgCABoDQAwACwALIgAgAEKNhJno6JTvgaN/NwMIIABC
1671
1671
  pIX0mIL1mKS7fzcDAAsSACAAIAEgAiADQbCYwAAQowELDwAgAARAIAEgABDcAQULCw0AIAA1AgBB
1672
1672
  ASABED0LDQAgADEAAEEBIAEQPQsNACAAKAIAIAFBARAFCw0AIAAoAgAgAUEBEAQLDQAgACABIAIQ
@@ -1716,7 +1716,7 @@ JQAAAKQHEABdAAAALQEAACIAAABhc3NlcnRpb24gZmFpbGVkOiBtaWQgPD0gc2VsZi5sZW4oKQAB
1716
1716
  I0VniavN7/7cuph2VDIQ8OHSwy91c3IvbG9jYWwvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNy
1717
1717
  YXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JpcGVtZC0wLjEuMy9zcmMvbGliLnJzAADMCBAAVgAA
1718
1718
  AKAAAAABAAAAL3Vzci9sb2NhbC9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZm
1719
- MTdkMjJiYmExNTAwMWYvc2hhMi0wLjEwLjgvc3JjL2NvcmVfYXBpLnJzAAA0CRAAWgAAAEIAAAAT
1719
+ MTdkMjJiYmExNTAwMWYvc2hhMi0wLjEwLjkvc3JjL2NvcmVfYXBpLnJzAAA0CRAAWgAAAEIAAAAT
1720
1720
  AAAAZ+YJaoWuZ7ty8248OvVPpX9SDlGMaAWbq9mDHxnN4Fs0CRAAWgAAAIwAAAATAAAACMm882fm
1721
1721
  CWo7p8qEha5nuyv4lP5y82488TYdXzr1T6XRguatf1IOUR9sPiuMaAWba71B+6vZgx95IX4TGc3g
1722
1722
  W1cOEABOAAAA+wcAABEAAAAvYXBwL21vZHVsZXMvZWNhc2gtc2VjcDI1NmsxL3NyYy9zY2hub3Jy
@@ -1729,7 +1729,7 @@ M2Y0M2JlZWZlYjAyY2UvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAEQLEABLAAAAMwoAAA4A
1729
1729
  AABFcnJvcv////////////////////66rtzmr0igO7/SXozQNkFASW52YWxpZFBhcml0eVZhbHVl
1730
1730
  ABwAAAAAAAAAAQAAAB4AAABtb2R1bGVzL2VjYXNoLXNlY3AyNTZrMS9zcmMvY29udGV4dC5ycwAA
1731
1731
  6AsQACYAAAC7AAAAQAAAAOgLEAAmAAAA3gAAAEAAAAAcAAAAAAAAAAEAAAAeAAAACwAAAAQAAAAE
1732
- AAAAHwAAAAsAAAAEAAAABAAAAAIAAABMYXlvdXRFcnJvcgAEAAAAAQAAAG1vZHVsZXMvZWNhc2gt
1732
+ AAAAAgAAAAsAAAAEAAAABAAAAB8AAABMYXlvdXRFcnJvcgAEAAAAAQAAAG1vZHVsZXMvZWNhc2gt
1733
1733
  c2VjcDI1NmsxL2VjYXNoLXNlY3AyNTZrMS1zeXMvc3JjL3R5cGVzLnJzdAwQADgAAABkAAAACQAA
1734
1734
  AHQMEAA4AAAAYwAAAAkAAAB0DBAAOAAAAGEAAAAJAAAAdAwQADgAAABgAAAACQAAAHQMEAA4AAAA
1735
1735
  XgAAAAkAAAB0DBAAOAAAAF0AAAAJAAAAdAwQADgAAABbAAAACQAAAHQMEAA4AAAAWgAAAAkAAAB0
package/dist/index.d.ts CHANGED
@@ -21,7 +21,10 @@ export * from './io/writer.js';
21
21
  export * from './io/writerbytes.js';
22
22
  export * from './io/writerlength.js';
23
23
  export * from './token/alp.js';
24
+ export * from './token/alp.parse.js';
24
25
  export * from './token/common.js';
25
26
  export * from './token/empp.js';
26
27
  export * from './token/slp.js';
28
+ export * from './token/slp.parse.js';
29
+ export * as payment from './payment';
27
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AAErC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -13,10 +13,23 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
13
13
  if (k2 === undefined) k2 = k;
14
14
  o[k2] = m[k];
15
15
  }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
16
21
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
22
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
23
  };
24
+ var __importStar = (this && this.__importStar) || function (mod) {
25
+ if (mod && mod.__esModule) return mod;
26
+ var result = {};
27
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
+ __setModuleDefault(result, mod);
29
+ return result;
30
+ };
19
31
  Object.defineProperty(exports, "__esModule", { value: true });
32
+ exports.payment = void 0;
20
33
  __exportStar(require("./consts.js"), exports);
21
34
  __exportStar(require("./ecc.js"), exports);
22
35
  __exportStar(require("./hash.js"), exports);
@@ -40,7 +53,10 @@ __exportStar(require("./io/writer.js"), exports);
40
53
  __exportStar(require("./io/writerbytes.js"), exports);
41
54
  __exportStar(require("./io/writerlength.js"), exports);
42
55
  __exportStar(require("./token/alp.js"), exports);
56
+ __exportStar(require("./token/alp.parse.js"), exports);
43
57
  __exportStar(require("./token/common.js"), exports);
44
58
  __exportStar(require("./token/empp.js"), exports);
45
59
  __exportStar(require("./token/slp.js"), exports);
60
+ __exportStar(require("./token/slp.parse.js"), exports);
61
+ exports.payment = __importStar(require("./payment"));
46
62
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE;;;;;;;;;;;;;;;;AAEtE,8CAA4B;AAC5B,2CAAyB;AACzB,4CAA0B;AAC1B,0CAAwB;AACxB,8CAA4B;AAC5B,8CAA4B;AAC5B,gDAA8B;AAC9B,gDAA8B;AAC9B,gDAA8B;AAC9B,uDAAqC;AACrC,mDAAiC;AACjC,0CAAwB;AACxB,iDAA+B;AAC/B,kDAAgC;AAChC,gDAA8B;AAC9B,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B;AAC5B,kDAAgC;AAChC,iDAA+B;AAC/B,sDAAoC;AACpC,uDAAqC;AACrC,iDAA+B;AAC/B,oDAAkC;AAClC,kDAAgC;AAChC,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEtE,8CAA4B;AAC5B,2CAAyB;AACzB,4CAA0B;AAC1B,0CAAwB;AACxB,8CAA4B;AAC5B,8CAA4B;AAC5B,gDAA8B;AAC9B,gDAA8B;AAC9B,gDAA8B;AAC9B,uDAAqC;AACrC,mDAAiC;AACjC,0CAAwB;AACxB,iDAA+B;AAC/B,kDAAgC;AAChC,gDAA8B;AAC9B,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B;AAC5B,kDAAgC;AAChC,iDAA+B;AAC/B,sDAAoC;AACpC,uDAAqC;AACrC,iDAA+B;AAC/B,uDAAqC;AACrC,oDAAkC;AAClC,kDAAgC;AAChC,iDAA+B;AAC/B,uDAAqC;AAErC,qDAAqC"}
@@ -13,6 +13,8 @@ export declare class Bytes {
13
13
  readU16(endian?: Endian): number;
14
14
  /** Read 4-byte little-endian integer (uint32_t) */
15
15
  readU32(endian?: Endian): number;
16
+ /** Read 6-byte little-endian integer */
17
+ readU48(): bigint;
16
18
  /** Read 8-byte little-endian integer (uint64_t) */
17
19
  readU64(endian?: Endian): bigint;
18
20
  /** Read the given number of bytes as array */
@@ -1 +1 @@
1
- {"version":3,"file":"bytes.d.ts","sourceRoot":"","sources":["../../src/io/bytes.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjC,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAMrD;AAED,0EAA0E;AAC1E,qBAAa,KAAK;IACP,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IAEnB,wDAAwD;gBACrC,IAAI,EAAE,UAAU;IAUnC,yBAAyB;IAClB,MAAM,IAAI,MAAM;IAOvB,mDAAmD;IAC5C,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAOvC,mDAAmD;IAC5C,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAOvC,mDAAmD;IAC5C,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAOvC,8CAA8C;IACvC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU;IAO9C,OAAO,CAAC,UAAU;CAQrB"}
1
+ {"version":3,"file":"bytes.d.ts","sourceRoot":"","sources":["../../src/io/bytes.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjC,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAMrD;AAED,0EAA0E;AAC1E,qBAAa,KAAK;IACP,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IAEnB,wDAAwD;gBACrC,IAAI,EAAE,UAAU;IAUnC,yBAAyB;IAClB,MAAM,IAAI,MAAM;IAOvB,mDAAmD;IAC5C,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAOvC,mDAAmD;IAC5C,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAOvC,wCAAwC;IACjC,OAAO,IAAI,MAAM;IAOxB,mDAAmD;IAC5C,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAOvC,8CAA8C;IACvC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU;IAO9C,OAAO,CAAC,UAAU;CASrB"}
package/dist/io/bytes.js CHANGED
@@ -41,6 +41,13 @@ class Bytes {
41
41
  this.idx += 4;
42
42
  return result;
43
43
  }
44
+ /** Read 6-byte little-endian integer */
45
+ readU48() {
46
+ this.ensureSize(6);
47
+ const low = this.readU32('LE');
48
+ const high = this.readU16('LE');
49
+ return BigInt(low) | (BigInt(high) << 32n);
50
+ }
44
51
  /** Read 8-byte little-endian integer (uint64_t) */
45
52
  readU64(endian) {
46
53
  this.ensureSize(8);
@@ -57,8 +64,9 @@ class Bytes {
57
64
  }
58
65
  ensureSize(extraBytes) {
59
66
  if (this.data.length < this.idx + extraBytes) {
60
- throw (`Not enough bytes: Tried reading ${extraBytes} byte(s), but ` +
61
- `there are only ${this.data.length - this.idx} byte(s) left`);
67
+ const bytesLeft = this.data.length - this.idx;
68
+ throw new Error(`Not enough bytes: Tried reading ${extraBytes} byte(s), but ` +
69
+ `there are only ${bytesLeft} byte(s) left`);
62
70
  }
63
71
  }
64
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../src/io/bytes.ts"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE;;;AAItE,SAAgB,YAAY,CAAC,MAAe;IACxC,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,4BAA4B;QAC5B,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,MAAM,KAAK,IAAI,CAAC;AAC3B,CAAC;AAND,oCAMC;AAED,0EAA0E;AAC1E,MAAa,KAAK;IAKd,wDAAwD;IACxD,YAAmB,IAAgB;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,QAAQ,CACpB,IAAI,CAAC,IAAI,CAAC,MAAM,EAChB,IAAI,CAAC,IAAI,CAAC,UAAU,EACpB,IAAI,CAAC,IAAI,CAAC,UAAU,CACvB,CAAC;QACF,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,yBAAyB;IAClB,MAAM;QACT,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,mDAAmD;IAC5C,OAAO,CAAC,MAAe;QAC1B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACd,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,mDAAmD;IAC5C,OAAO,CAAC,MAAe;QAC1B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACd,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,mDAAmD;IAC5C,OAAO,CAAC,MAAe;QAC1B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACd,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,8CAA8C;IACvC,SAAS,CAAC,QAAgB;QAC7B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC;QAC9D,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC;QACrB,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,UAAU,CAAC,UAAkB;QACjC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,UAAU,EAAE,CAAC;YAC3C,MAAM,CACF,mCAAmC,UAAU,gBAAgB;gBAC7D,kBAAkB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,eAAe,CAC/D,CAAC;QACN,CAAC;IACL,CAAC;CACJ;AAhED,sBAgEC"}
1
+ {"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../src/io/bytes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /** Identifier of a signature algorithm */
2
+ export interface AlgIdent {
3
+ /** OID of the algorithm */
4
+ oid: string;
5
+ /** OID of the params */
6
+ params: string | undefined;
7
+ }
8
+ /** Entry of an issuer/subject */
9
+ export interface Entry {
10
+ /** OID of the entry */
11
+ oid: string;
12
+ /** Value of the entry */
13
+ value: string;
14
+ }
15
+ /** Time range of the validity of the certificate */
16
+ export interface Validity {
17
+ /** Certificate is not valid before this UNIX timestamp */
18
+ notBefore: number;
19
+ /** Certificate is not valid after this UNIX timestamp */
20
+ notAfter: number;
21
+ }
22
+ /** Public key of a certificate */
23
+ export interface PubKey {
24
+ /** Signature algorithm of the public key */
25
+ alg: AlgIdent;
26
+ /** Bytes of the public key */
27
+ data: Uint8Array;
28
+ }
29
+ /** To-be-signed data of the certificate */
30
+ export interface TBS {
31
+ /** Version of the certificate data */
32
+ version: number | undefined;
33
+ /** Serial number of the certificate */
34
+ serial: Uint8Array;
35
+ /** Signature algorithm used by the certificate */
36
+ sigAlg: AlgIdent;
37
+ /** Fields of the issuer of the certificate */
38
+ issuer: Entry[];
39
+ /** Time range the certificate is valid */
40
+ validity: Validity;
41
+ /** Fields of the subject of the certificate */
42
+ subject: Entry[];
43
+ /** Public key of the certificate */
44
+ pubkey: PubKey;
45
+ /** Raw bytes of the data to be signed */
46
+ raw: Uint8Array;
47
+ }
48
+ export interface Cert {
49
+ /** Data to be signed by the signature */
50
+ tbs: TBS;
51
+ /** Algorithm used for the signature */
52
+ sigAlg: AlgIdent;
53
+ /** Signature signing `tbs` */
54
+ sig: Uint8Array;
55
+ /** Raw bytes of the certificate */
56
+ raw: Uint8Array;
57
+ }
58
+ /** Parse a ASN1 certificate from the given bytes */
59
+ export declare function parseCertRaw(rawCert: Uint8Array): Cert;
60
+ export declare function parseCertPem(pem: string): Cert;
61
+ //# sourceMappingURL=asn1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asn1.d.ts","sourceRoot":"","sources":["../../src/payment/asn1.ts"],"names":[],"mappings":"AAaA,0CAA0C;AAC1C,MAAM,WAAW,QAAQ;IACrB,2BAA2B;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,wBAAwB;IACxB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,iCAAiC;AACjC,MAAM,WAAW,KAAK;IAClB,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,oDAAoD;AACpD,MAAM,WAAW,QAAQ;IACrB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,kCAAkC;AAClC,MAAM,WAAW,MAAM;IACnB,4CAA4C;IAC5C,GAAG,EAAE,QAAQ,CAAC;IACd,8BAA8B;IAC9B,IAAI,EAAE,UAAU,CAAC;CACpB;AAED,2CAA2C;AAC3C,MAAM,WAAW,GAAG;IAChB,sCAAsC;IACtC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,uCAAuC;IACvC,MAAM,EAAE,UAAU,CAAC;IACnB,kDAAkD;IAClD,MAAM,EAAE,QAAQ,CAAC;IACjB,8CAA8C;IAC9C,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,0CAA0C;IAC1C,QAAQ,EAAE,QAAQ,CAAC;IACnB,+CAA+C;IAC/C,OAAO,EAAE,KAAK,EAAE,CAAC;IACjB,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,GAAG,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,IAAI;IACjB,yCAAyC;IACzC,GAAG,EAAE,GAAG,CAAC;IACT,uCAAuC;IACvC,MAAM,EAAE,QAAQ,CAAC;IACjB,8BAA8B;IAC9B,GAAG,EAAE,UAAU,CAAC;IAChB,mCAAmC;IACnC,GAAG,EAAE,UAAU,CAAC;CACnB;AAuVD,oDAAoD;AACpD,wBAAgB,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAStD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAU9C"}
@@ -0,0 +1,322 @@
1
+ "use strict";
2
+ // Copyright (c) 2025 The Bitcoin developers
3
+ // Distributed under the MIT software license, see the accompanying
4
+ // file COPYING or http://www.opensource.org/licenses/mit-license.php.
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.parseCertPem = exports.parseCertRaw = void 0;
7
+ const str_js_1 = require("../io/str.js");
8
+ const bytes_js_1 = require("../io/bytes.js");
9
+ const TAG_VERSION = 0x00;
10
+ const TAG_INT = 0x02;
11
+ const TAG_BITSTR = 0x03;
12
+ const TAG_OCTSTR = 0x04;
13
+ const TAG_NULL = 0x05;
14
+ const TAG_OID = 0x06;
15
+ const TAG_UTF8STR = 0x0c;
16
+ const TAG_SEQ = 0x10;
17
+ const TAG_SET = 0x11;
18
+ const TAG_NUMSTR = 0x12;
19
+ const TAG_PRINSTR = 0x13;
20
+ const TAG_T61STR = 0x14;
21
+ const TAG_VIDEOSTR = 0x15;
22
+ const TAG_IA5STR = 0x16;
23
+ const TAG_UTCTIME = 0x17;
24
+ const TAG_GENTIME = 0x18;
25
+ const TAG_GRAPHSTR = 0x19;
26
+ const TAG_ISO646STR = 0x1a;
27
+ const TAG_GENSTR = 0x1b;
28
+ const TAG_UNISTR = 0x1c;
29
+ const TAG_CHARSTR = 0x1d;
30
+ const TAG_BMPSTR = 0x1e;
31
+ const REGEX_PEM_CERT = /-----BEGIN CERTIFICATE-----(.*?)-----END CERTIFICATE-----/s;
32
+ const REGEX_DIGITS = /\d+/;
33
+ function readSize(bytes, isPrimitive) {
34
+ let size = bytes.readU8();
35
+ // Indefinite form
36
+ if (!isPrimitive && size === 0x80) {
37
+ throw new Error('Indefinite size.');
38
+ }
39
+ // Definite form
40
+ if ((size & 0x80) === 0) {
41
+ // Short form
42
+ return size;
43
+ }
44
+ // Long form
45
+ const numBytes = size & 0x7f;
46
+ if (numBytes > 3) {
47
+ throw new Error('Length octet is too long.');
48
+ }
49
+ size = 0;
50
+ for (let i = 0; i < numBytes; i++) {
51
+ size <<= 8;
52
+ size |= bytes.readU8();
53
+ }
54
+ return size;
55
+ }
56
+ function readTag(bytes) {
57
+ let type = bytes.readU8();
58
+ const isPrimitive = (type & 0x20) === 0;
59
+ if ((type & 0x1f) === 0x1f) {
60
+ let oct = type;
61
+ type = 0;
62
+ while ((oct & 0x80) === 0x80) {
63
+ oct = bytes.readU8();
64
+ type <<= 7;
65
+ type |= oct & 0x7f;
66
+ }
67
+ }
68
+ else {
69
+ type &= 0x1f;
70
+ }
71
+ return {
72
+ type,
73
+ isPrimitive,
74
+ size: readSize(bytes, isPrimitive),
75
+ };
76
+ }
77
+ function readSeq(bytes) {
78
+ const tag = readTag(bytes);
79
+ if (tag.type !== TAG_SEQ) {
80
+ throw new Error(`Expected sequence type ${TAG_SEQ}, but got ${tag.type}`);
81
+ }
82
+ return bytes.readBytes(tag.size);
83
+ }
84
+ function alignBitstr(data) {
85
+ const padding = data[0];
86
+ const bits = (data.length - 1) * 8 - padding;
87
+ const buf = data.slice(1);
88
+ const shift = 8 - (bits % 8);
89
+ if (shift === 8 || buf.length === 0) {
90
+ return buf;
91
+ }
92
+ const out = Buffer.allocUnsafe(buf.length);
93
+ out[0] = buf[0] >>> shift;
94
+ for (let i = 1; i < buf.length; i++) {
95
+ out[i] = buf[i - 1] << (8 - shift);
96
+ out[i] |= buf[i] >>> shift;
97
+ }
98
+ return out;
99
+ }
100
+ function readBitstr(bytes) {
101
+ const tag = readTag(bytes);
102
+ if (tag.type !== TAG_BITSTR) {
103
+ throw new Error(`Expected sequence type ${TAG_BITSTR}, but got ${tag.type}`);
104
+ }
105
+ return alignBitstr(bytes.readBytes(tag.size));
106
+ }
107
+ function readString(bytes) {
108
+ const tag = readTag(bytes);
109
+ switch (tag.type) {
110
+ case TAG_BITSTR: {
111
+ return alignBitstr(bytes.readBytes(tag.size));
112
+ }
113
+ case TAG_OCTSTR:
114
+ case TAG_NUMSTR:
115
+ case TAG_PRINSTR:
116
+ case TAG_T61STR:
117
+ case TAG_VIDEOSTR:
118
+ case TAG_IA5STR:
119
+ case TAG_GRAPHSTR:
120
+ case TAG_UTF8STR:
121
+ case TAG_ISO646STR:
122
+ case TAG_GENSTR:
123
+ case TAG_UNISTR:
124
+ case TAG_CHARSTR:
125
+ case TAG_BMPSTR: {
126
+ return bytes.readBytes(tag.size);
127
+ }
128
+ default: {
129
+ throw new Error(`Expected string tag, got ${tag.type}`);
130
+ }
131
+ }
132
+ }
133
+ function readInt(bytes) {
134
+ const tag = readTag(bytes);
135
+ if (tag.type !== TAG_INT) {
136
+ throw new Error(`Expected integer type ${TAG_INT}, but got ${tag.type}`);
137
+ }
138
+ return bytes.readBytes(tag.size);
139
+ }
140
+ function bytesToBE(bytes) {
141
+ let num = 0;
142
+ for (const b of bytes) {
143
+ num <<= 8;
144
+ num |= b;
145
+ }
146
+ return num;
147
+ }
148
+ function readVersion(bytes) {
149
+ const startIdx = bytes.idx;
150
+ const tag = readTag(bytes);
151
+ if (tag.type != TAG_VERSION) {
152
+ bytes.idx = startIdx;
153
+ return undefined;
154
+ }
155
+ return bytesToBE(readInt(bytes));
156
+ }
157
+ function readAlgIdent(bytes) {
158
+ let params = undefined;
159
+ bytes = new bytes_js_1.Bytes(readSeq(bytes));
160
+ const oid = readOID(bytes);
161
+ if (oid === undefined) {
162
+ throw new Error('Algorithm cannot be NULL');
163
+ }
164
+ if (bytes.idx < bytes.data.length) {
165
+ params = readOID(bytes);
166
+ }
167
+ return { oid, params };
168
+ }
169
+ function readOID(bytes) {
170
+ const tag = readTag(bytes);
171
+ if (tag.type === TAG_NULL) {
172
+ return undefined;
173
+ }
174
+ if (tag.type !== TAG_OID) {
175
+ throw new Error(`Expected OID tag ${TAG_OID}, but got ${tag.type}`);
176
+ }
177
+ const data = bytes.readBytes(tag.size);
178
+ const ids = [];
179
+ let ident = 0;
180
+ let subident = 0;
181
+ for (const byte of data) {
182
+ subident = byte;
183
+ ident <<= 7;
184
+ ident |= subident & 0x7f;
185
+ if ((subident & 0x80) === 0) {
186
+ ids.push(ident);
187
+ ident = 0;
188
+ }
189
+ }
190
+ if (subident & 0x80) {
191
+ ids.push(ident);
192
+ }
193
+ const first = (ids[0] / 40) | 0;
194
+ const second = ids[0] % 40;
195
+ const result = [first, second].concat(ids.slice(1));
196
+ return result.join('.');
197
+ }
198
+ function readEntries(bytes) {
199
+ const values = [];
200
+ bytes = new bytes_js_1.Bytes(readSeq(bytes));
201
+ while (bytes.idx < bytes.data.length) {
202
+ const tagSet = readTag(bytes);
203
+ if (tagSet.type !== TAG_SET) {
204
+ throw new Error(`Expected set tag ${TAG_SET}, but got ${tagSet.type}`);
205
+ }
206
+ const tagSeq = readTag(bytes);
207
+ if (tagSeq.type !== TAG_SEQ) {
208
+ throw new Error(`Expected seq tag ${TAG_SEQ}, but got ${tagSeq.type}`);
209
+ }
210
+ const oid = readOID(bytes);
211
+ if (oid === undefined) {
212
+ throw new Error('OID for issuer or subject cannot be NULL');
213
+ }
214
+ values.push({
215
+ oid: oid,
216
+ value: (0, str_js_1.bytesToStr)(readString(bytes)),
217
+ });
218
+ }
219
+ return values;
220
+ }
221
+ function readTime(bytes) {
222
+ const tag = readTag(bytes);
223
+ const decoder = new TextDecoder('ascii', { fatal: true });
224
+ const str = decoder.decode(bytes.readBytes(tag.size));
225
+ let year;
226
+ let mon;
227
+ let day;
228
+ let hour;
229
+ let min;
230
+ let sec;
231
+ let pos = 0;
232
+ const readDigits = (numDigits) => {
233
+ const digits = str.slice(pos, pos + numDigits);
234
+ if (!REGEX_DIGITS.test(digits)) {
235
+ throw new Error(`Expected ${numDigits} decimal digits`);
236
+ }
237
+ pos += numDigits;
238
+ return Number(digits) | 0;
239
+ };
240
+ switch (tag.type) {
241
+ case TAG_UTCTIME: {
242
+ year = readDigits(2);
243
+ mon = readDigits(2);
244
+ day = readDigits(2);
245
+ hour = readDigits(2);
246
+ min = readDigits(2);
247
+ sec = readDigits(2);
248
+ if (year < 70) {
249
+ year = 2000 + year;
250
+ }
251
+ else {
252
+ year = 1900 + year;
253
+ }
254
+ break;
255
+ }
256
+ case TAG_GENTIME: {
257
+ year = readDigits(4);
258
+ mon = readDigits(2);
259
+ day = readDigits(2);
260
+ hour = readDigits(2);
261
+ min = readDigits(2);
262
+ sec = readDigits(2);
263
+ break;
264
+ }
265
+ default: {
266
+ throw new Error(`Unexpected tag: ${tag.type}.`);
267
+ }
268
+ }
269
+ return Date.UTC(year, mon - 1, day, hour, min, sec, 0) / 1000;
270
+ }
271
+ function readValidity(bytes) {
272
+ bytes = new bytes_js_1.Bytes(readSeq(bytes));
273
+ return {
274
+ notBefore: readTime(bytes),
275
+ notAfter: readTime(bytes),
276
+ };
277
+ }
278
+ function readPubkey(bytes) {
279
+ bytes = new bytes_js_1.Bytes(readSeq(bytes));
280
+ return {
281
+ alg: readAlgIdent(bytes),
282
+ data: readBitstr(bytes),
283
+ };
284
+ }
285
+ function readToBeSigned(bytes) {
286
+ const startIdx = bytes.idx;
287
+ const tbsBytes = new bytes_js_1.Bytes(readSeq(bytes));
288
+ const endIdx = bytes.idx;
289
+ return {
290
+ version: readVersion(tbsBytes),
291
+ serial: readInt(tbsBytes),
292
+ sigAlg: readAlgIdent(tbsBytes),
293
+ issuer: readEntries(tbsBytes),
294
+ validity: readValidity(tbsBytes),
295
+ subject: readEntries(tbsBytes),
296
+ pubkey: readPubkey(tbsBytes),
297
+ raw: bytes.data.slice(startIdx, endIdx),
298
+ };
299
+ }
300
+ /** Parse a ASN1 certificate from the given bytes */
301
+ function parseCertRaw(rawCert) {
302
+ const bytes = new bytes_js_1.Bytes(rawCert);
303
+ const certBytes = new bytes_js_1.Bytes(readSeq(bytes));
304
+ return {
305
+ tbs: readToBeSigned(certBytes),
306
+ sigAlg: readAlgIdent(certBytes),
307
+ sig: readBitstr(certBytes),
308
+ raw: rawCert,
309
+ };
310
+ }
311
+ exports.parseCertRaw = parseCertRaw;
312
+ function parseCertPem(pem) {
313
+ const match = REGEX_PEM_CERT.exec(pem);
314
+ if (match === null) {
315
+ throw new Error('No PEM encoded certificate found. It should start with ' +
316
+ '"-----BEGIN CERTIFICATE-----"');
317
+ }
318
+ const certRaw = Uint8Array.from(atob(match[1]), c => c.charCodeAt(0));
319
+ return parseCertRaw(certRaw);
320
+ }
321
+ exports.parseCertPem = parseCertPem;
322
+ //# sourceMappingURL=asn1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asn1.js","sourceRoot":"","sources":["../../src/payment/asn1.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * as asn1 from './asn1.js';
2
+ export * as x509 from './x509.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/payment/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC"}