@txnod/sdk 1.0.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.
Files changed (121) hide show
  1. package/AGENTS.md +29 -0
  2. package/CHANGELOG.md +22 -0
  3. package/LICENSE +21 -0
  4. package/README.md +434 -0
  5. package/dist/_shared/index.d.ts +68 -0
  6. package/dist/client-sandbox.d.ts +396 -0
  7. package/dist/client-sandbox.d.ts.map +1 -0
  8. package/dist/client-sandbox.js +448 -0
  9. package/dist/client-sandbox.js.map +1 -0
  10. package/dist/client.d.ts +429 -0
  11. package/dist/client.d.ts.map +1 -0
  12. package/dist/client.js +588 -0
  13. package/dist/client.js.map +1 -0
  14. package/dist/env.d.ts +29 -0
  15. package/dist/env.d.ts.map +1 -0
  16. package/dist/env.js +44 -0
  17. package/dist/env.js.map +1 -0
  18. package/dist/errors.d.ts +1887 -0
  19. package/dist/errors.d.ts.map +1 -0
  20. package/dist/errors.js +2107 -0
  21. package/dist/errors.js.map +1 -0
  22. package/dist/index.d.ts +35 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +32 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/internals/error-ctor-map.d.ts +11 -0
  27. package/dist/internals/error-ctor-map.d.ts.map +1 -0
  28. package/dist/internals/error-ctor-map.js +75 -0
  29. package/dist/internals/error-ctor-map.js.map +1 -0
  30. package/dist/internals/fetch-with-retry.d.ts +34 -0
  31. package/dist/internals/fetch-with-retry.d.ts.map +1 -0
  32. package/dist/internals/fetch-with-retry.js +233 -0
  33. package/dist/internals/fetch-with-retry.js.map +1 -0
  34. package/dist/internals/hmac.d.ts +2 -0
  35. package/dist/internals/hmac.d.ts.map +1 -0
  36. package/dist/internals/hmac.js +10 -0
  37. package/dist/internals/hmac.js.map +1 -0
  38. package/dist/internals/logger.d.ts +9 -0
  39. package/dist/internals/logger.d.ts.map +1 -0
  40. package/dist/internals/logger.js +16 -0
  41. package/dist/internals/logger.js.map +1 -0
  42. package/dist/internals/parse-problem-details.d.ts +3 -0
  43. package/dist/internals/parse-problem-details.d.ts.map +1 -0
  44. package/dist/internals/parse-problem-details.js +76 -0
  45. package/dist/internals/parse-problem-details.js.map +1 -0
  46. package/dist/internals/synthetic-details.d.ts +12 -0
  47. package/dist/internals/synthetic-details.d.ts.map +1 -0
  48. package/dist/internals/synthetic-details.js +19 -0
  49. package/dist/internals/synthetic-details.js.map +1 -0
  50. package/dist/verify/chains/bsc.d.ts +17 -0
  51. package/dist/verify/chains/bsc.d.ts.map +1 -0
  52. package/dist/verify/chains/bsc.js +15 -0
  53. package/dist/verify/chains/bsc.js.map +1 -0
  54. package/dist/verify/chains/btc.d.ts +22 -0
  55. package/dist/verify/chains/btc.d.ts.map +1 -0
  56. package/dist/verify/chains/btc.js +55 -0
  57. package/dist/verify/chains/btc.js.map +1 -0
  58. package/dist/verify/chains/cardano.d.ts +73 -0
  59. package/dist/verify/chains/cardano.d.ts.map +1 -0
  60. package/dist/verify/chains/cardano.js +175 -0
  61. package/dist/verify/chains/cardano.js.map +1 -0
  62. package/dist/verify/chains/evm.d.ts +21 -0
  63. package/dist/verify/chains/evm.d.ts.map +1 -0
  64. package/dist/verify/chains/evm.js +46 -0
  65. package/dist/verify/chains/evm.js.map +1 -0
  66. package/dist/verify/chains/polygon.d.ts +17 -0
  67. package/dist/verify/chains/polygon.d.ts.map +1 -0
  68. package/dist/verify/chains/polygon.js +15 -0
  69. package/dist/verify/chains/polygon.js.map +1 -0
  70. package/dist/verify/chains/secp256k1-bip32.d.ts +20 -0
  71. package/dist/verify/chains/secp256k1-bip32.d.ts.map +1 -0
  72. package/dist/verify/chains/secp256k1-bip32.js +88 -0
  73. package/dist/verify/chains/secp256k1-bip32.js.map +1 -0
  74. package/dist/verify/chains/ton-cell.d.ts +179 -0
  75. package/dist/verify/chains/ton-cell.d.ts.map +1 -0
  76. package/dist/verify/chains/ton-cell.js +614 -0
  77. package/dist/verify/chains/ton-cell.js.map +1 -0
  78. package/dist/verify/chains/ton.d.ts +84 -0
  79. package/dist/verify/chains/ton.d.ts.map +1 -0
  80. package/dist/verify/chains/ton.js +131 -0
  81. package/dist/verify/chains/ton.js.map +1 -0
  82. package/dist/verify/chains/tron.d.ts +21 -0
  83. package/dist/verify/chains/tron.d.ts.map +1 -0
  84. package/dist/verify/chains/tron.js +42 -0
  85. package/dist/verify/chains/tron.js.map +1 -0
  86. package/dist/verify/config.d.ts +41 -0
  87. package/dist/verify/config.d.ts.map +1 -0
  88. package/dist/verify/config.js +120 -0
  89. package/dist/verify/config.js.map +1 -0
  90. package/dist/verify/errors.d.ts +56 -0
  91. package/dist/verify/errors.d.ts.map +1 -0
  92. package/dist/verify/errors.js +58 -0
  93. package/dist/verify/errors.js.map +1 -0
  94. package/dist/verify/index.d.ts +119 -0
  95. package/dist/verify/index.d.ts.map +1 -0
  96. package/dist/verify/index.js +166 -0
  97. package/dist/verify/index.js.map +1 -0
  98. package/dist/verify/xpub-safety.d.ts +33 -0
  99. package/dist/verify/xpub-safety.d.ts.map +1 -0
  100. package/dist/verify/xpub-safety.js +54 -0
  101. package/dist/verify/xpub-safety.js.map +1 -0
  102. package/dist/verify-webhook-signature.d.ts +30 -0
  103. package/dist/verify-webhook-signature.d.ts.map +1 -0
  104. package/dist/verify-webhook-signature.js +84 -0
  105. package/dist/verify-webhook-signature.js.map +1 -0
  106. package/docs/00-getting-started.md +135 -0
  107. package/docs/01-authentication.md +114 -0
  108. package/docs/02-invoices.md +216 -0
  109. package/docs/03-rates-and-quotes.md +82 -0
  110. package/docs/04-webhooks.md +126 -0
  111. package/docs/05-errors.md +199 -0
  112. package/docs/05-sandbox.md +159 -0
  113. package/docs/06-idempotency.md +132 -0
  114. package/docs/examples/express-webhook-receiver.md +97 -0
  115. package/docs/examples/nextjs-route-handler.md +206 -0
  116. package/docs/examples/sandbox-vitest-suite.md +263 -0
  117. package/docs/index.md +66 -0
  118. package/docs/reference/client.md +392 -0
  119. package/docs/reference/errors.md +161 -0
  120. package/docs/reference/types.md +400 -0
  121. package/package.json +53 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,OAAO,UAAW,SAAQ,KAAK;IAC1B,IAAI,GAAW,OAAO,CAAC;IACvB,UAAU,CAAY;IACtB,MAAM,CAAS;IACf,UAAU,CAAS;IACnB,GAAG,CAAiB;IAE7B,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC;IACrB,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,yBAA0B,SAAQ,UAAU;IACrC,IAAI,GAAG,kBAA2B,CAAC;IAErD;QACE,KAAK,CACH,gBAAgB,CACd,cAAc,EACd,GAAG,EACH,mDAAmD,CACpD,CACF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,cAAe,SAAQ,UAAU;IAC1B,IAAI,GAAG,MAAe,CAAC;IAEzC;QACE,KAAK,CACH,gBAAgB,CACd,mBAAmB,EACnB,GAAG,EACH,mCAAmC,CACpC,CACF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,mBAAoB,SAAQ,UAAU;IAC/B,IAAI,GAAG,WAAoB,CAAC;IACrC,YAAY,CAAS;IAE9B,YAAY,WAAmB;QAC7B,KAAK,CACH,gBAAgB,CACd,yBAAyB,EACzB,GAAG,EACH,sDAAsD,CACvD,CACF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,6BAA8B,SAAQ,UAAU;IACzC,IAAI,GAAG,uBAAgC,CAAC;IACxC,KAAK,CAAU;IAEjC,YAAY,KAAc;QACxB,KAAK,CACH,gBAAgB,CACd,gBAAgB,EAChB,GAAG,EACH,iDAAiD,CAClD,CACF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,OAAO,oBAAqB,SAAQ,UAAU;IAChC,IAAI,GAAG,kBAA2B,CAAC;IACrD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,qBAAsB,SAAQ,UAAU;IACjC,IAAI,GAAG,cAAuB,CAAC;IACjD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,OAAO,2BAA4B,SAAQ,UAAU;IACvC,IAAI,GAAG,qBAA8B,CAAC;IACxD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC5C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,OAAO,2BAA4B,SAAQ,UAAU;IACvC,IAAI,GAAG,qBAA8B,CAAC;IACxD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC5C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,OAAO,qBAAsB,SAAQ,UAAU;IACjC,IAAI,GAAG,cAAuB,CAAC;IACjD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,OAAO,0BAA2B,SAAQ,UAAU;IACtC,IAAI,GAAG,mBAA4B,CAAC;IACtD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,OAAO,2BAA4B,SAAQ,UAAU;IACvC,IAAI,GAAG,oBAA6B,CAAC;IACvD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC5C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,OAAO,8BAA+B,SAAQ,UAAU;IAC1C,IAAI,GAAG,yBAAkC,CAAC;IAC5D,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IAC/C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,OAAO,sBAAuB,SAAQ,UAAU;IAClC,IAAI,GAAG,eAAwB,CAAC;IAClD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,OAAO,0BAA2B,SAAQ,UAAU;IACtC,IAAI,GAAG,mBAA4B,CAAC;IACtD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,OAAO,0BAA2B,SAAQ,UAAU;IACtC,IAAI,GAAG,mBAA4B,CAAC;IACtD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,OAAO,oBAAqB,SAAQ,UAAU;IAChC,IAAI,GAAG,aAAsB,CAAC;IAChD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,yBAA0B,SAAQ,UAAU;IACrC,IAAI,GAAG,mBAA4B,CAAC;IACtD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,OAAO,yBAA0B,SAAQ,UAAU;IACrC,IAAI,GAAG,mBAA4B,CAAC;IACtD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,OAAO,wBAAyB,SAAQ,UAAU;IACpC,IAAI,GAAG,kBAA2B,CAAC;IACrD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,OAAO,4BAA6B,SAAQ,UAAU;IACxC,IAAI,GAAG,sBAA+B,CAAC;IACzD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,yBAA0B,SAAQ,UAAU;IACrC,IAAI,GAAG,mBAA4B,CAAC;IACtD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,OAAO,wBAAyB,SAAQ,UAAU;IACpC,IAAI,GAAG,kBAA2B,CAAC;IACrD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,0BAA2B,SAAQ,UAAU;IACtC,IAAI,GAAG,qBAA8B,CAAC;IACxD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,OAAO,mBAAoB,SAAQ,UAAU;IAC/B,IAAI,GAAG,qBAA8B,CAAC;IAC/C,mBAAmB,CAAS;IAErC,YAAY,OAAuB,EAAE,iBAAyB;QAC5D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,mBAAmB,GAAG,iBAAiB,CAAC;IAC/C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,OAAO,uBAAwB,SAAQ,UAAU;IACnC,IAAI,GAAG,gBAAyB,CAAC;IAC1C,mBAAmB,CAAS;IAErC,YAAY,OAAuB,EAAE,iBAAyB;QAC5D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;QACtC,IAAI,CAAC,mBAAmB,GAAG,iBAAiB,CAAC;IAC/C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,OAAO,kCAAmC,SAAQ,UAAU;IAC9C,IAAI,GAAG,4BAAqC,CAAC;IACtD,mBAAmB,CAAS;IAErC,YAAY,OAAuB,EAAE,iBAAyB;QAC5D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oCAAoC,CAAC;QACjD,IAAI,CAAC,mBAAmB,GAAG,iBAAiB,CAAC;IAC/C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IAC5B,IAAI,GAAG,gBAAyB,CAAC;IACnD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,OAAO,+BAAgC,SAAQ,UAAU;IAC3C,IAAI,GAAG,yBAAkC,CAAC;IAC5D,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC;IAChD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,OAAO,gCAAiC,SAAQ,UAAU;IAC5C,IAAI,GAAG,0BAAmC,CAAC;IAC7D,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC;IACjD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,wBAAyB,SAAQ,UAAU;IACpC,IAAI,GAAG,kBAA2B,CAAC;IACrD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,iCAAkC,SAAQ,UAAU;IAC7C,IAAI,GAAG,2BAAoC,CAAC;IAC9D,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mCAAmC,CAAC;IAClD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,uBAAwB,SAAQ,UAAU;IACnC,IAAI,GAAG,iBAA0B,CAAC;IACpD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,OAAO,wBAAyB,SAAQ,UAAU;IACpC,IAAI,GAAG,kBAA2B,CAAC;IACrD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,OAAO,4BAA6B,SAAQ,UAAU;IACxC,IAAI,GAAG,sBAA+B,CAAC;IACzD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,OAAO,wBAAyB,SAAQ,UAAU;IACpC,IAAI,GAAG,kBAA2B,CAAC;IACrD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,iCAAkC,SAAQ,UAAU;IAC7C,IAAI,GAAG,4BAAqC,CAAC;IAC/D,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mCAAmC,CAAC;IAClD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,OAAO,6BAA8B,SAAQ,UAAU;IACzC,IAAI,GAAG,sBAA+B,CAAC;IACzD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAC9C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,OAAO,kCAAmC,SAAQ,UAAU;IAC9C,IAAI,GAAG,uCAAgD,CAAC;IACjE,QAAQ,CAAS;IAE1B,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oCAAoC,CAAC;QACjD,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5E,MAAM,IAAI,KAAK,CACb,uFAAuF,CACxF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,OAAO,sCAAuC,SAAQ,UAAU;IAClD,IAAI,GAAG,kCAA2C,CAAC;IACrE,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wCAAwC,CAAC;IACvD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,OAAO,iCAAkC,SAAQ,UAAU;IAC7C,IAAI,GAAG,4BAAqC,CAAC;IAC/D,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mCAAmC,CAAC;IAClD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,OAAO,gCAAiC,SAAQ,UAAU;IAC5C,IAAI,GAAG,2BAAoC,CAAC;IAC9D,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC;IACjD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,OAAO,+BAAgC,SAAQ,UAAU;IAC3C,IAAI,GAAG,0BAAmC,CAAC;IAC7D,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC;IAChD,CAAC;CACF;AAED,6DAA6D;AAC7D,sEAAsE;AACtE,gCAAgC;AAEhC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,kCAAmC,SAAQ,UAAU;IAC9C,IAAI,GAAG,4BAAqC,CAAC;IAC/D,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oCAAoC,CAAC;IACnD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,kCAAmC,SAAQ,UAAU;IAC9C,IAAI,GAAG,4BAAqC,CAAC;IAC/D,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oCAAoC,CAAC;IACnD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,kCAAmC,SAAQ,UAAU;IAC9C,IAAI,GAAG,4BAAqC,CAAC;IAC/D,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oCAAoC,CAAC;IACnD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,iCAAkC,SAAQ,UAAU;IAC7C,IAAI,GAAG,2BAAoC,CAAC;IAC9D,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mCAAmC,CAAC;IAClD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,wCAAyC,SAAQ,UAAU;IACpD,IAAI,GAAG,mCAA4C,CAAC;IACtE,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,0CAA0C,CAAC;IACzD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,oCAAqC,SAAQ,UAAU;IAChD,IAAI,GAAG,8BAAuC,CAAC;IACjE,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sCAAsC,CAAC;IACrD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,mCAAoC,SAAQ,UAAU;IAC/C,IAAI,GAAG,6BAAsC,CAAC;IAChE,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qCAAqC,CAAC;IACpD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,gCAAiC,SAAQ,UAAU;IAC5C,IAAI,GAAG,0BAAmC,CAAC;IAC7D,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC;IACjD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,mCAAoC,SAAQ,UAAU;IAC/C,IAAI,GAAG,6BAAsC,CAAC;IAChE,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qCAAqC,CAAC;IACpD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,sCAAuC,SAAQ,UAAU;IAClD,IAAI,GAAG,kCAA2C,CAAC;IACrE,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wCAAwC,CAAC;IACvD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,4CAA6C,SAAQ,UAAU;IACxD,IAAI,GAAG,wCAAiD,CAAC;IAC3E,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,8CAA8C,CAAC;IAC7D,CAAC;CACF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,4CAA6C,SAAQ,UAAU;IACxD,IAAI,GAAG,wCAAiD,CAAC;IAC3E,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,8CAA8C,CAAC;IAC7D,CAAC;CACF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,mCAAoC,SAAQ,UAAU;IAC/C,IAAI,GAAG,6BAAsC,CAAC;IAChE,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qCAAqC,CAAC;IACpD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,yCAA0C,SAAQ,UAAU;IACrD,IAAI,GAAG,oCAA6C,CAAC;IACvE,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,2CAA2C,CAAC;IAC1D,CAAC;CACF;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,gCAAiC,SAAQ,UAAU;IAC5C,IAAI,GAAG,2BAAoC,CAAC;IAC9D,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC;IACjD,CAAC;CACF;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,gCAAiC,SAAQ,UAAU;IAC5C,IAAI,GAAG,0BAAmC,CAAC;IAC7D,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC;IACjD,CAAC;CACF;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,kCAAmC,SAAQ,UAAU;IAC9C,IAAI,GAAG,6BAAsC,CAAC;IAChE,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oCAAoC,CAAC;IACnD,CAAC;CACF;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,4BAA6B,SAAQ,UAAU;IACxC,IAAI,GAAG,sBAA+B,CAAC;IACzD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,6BAA8B,SAAQ,UAAU;IACzC,IAAI,GAAG,uBAAgC,CAAC;IAC1D,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAC9C,CAAC;CACF;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,wCAAyC,SAAQ,UAAU;IACpD,IAAI,GAAG,oCAA6C,CAAC;IACvE,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,0CAA0C,CAAC;IACzD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,OAAO,gCAAiC,SAAQ,UAAU;IAC5C,IAAI,GAAG,2BAAoC,CAAC;IACrD,YAAY,CAAgB;IAC5B,mBAAmB,CAAe;IAClC,MAAM,CAA0D;IAEzE,YACE,MAA+D;QAE/D,KAAK,CACH,gBAAgB,CACd,cAAc,EACd,GAAG,EACH,4EAA4E,MAAM,oHAAoH,CACvM,CACF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;QAClC,IAAI,CAAC,mBAAmB,GAAG,YAAY,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,OAAO,4BAA6B,SAAQ,UAAU;IACxC,IAAI,GAAG,qBAA8B,CAAC;IAExD;QACE,KAAK,CACH,gBAAgB,CACd,cAAc,EACd,GAAG,EACH,kJAAkJ,CACnJ,CACF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,OAAO,iCAAkC,SAAQ,UAAU;IAC7C,IAAI,GAAG,4BAAqC,CAAC;IACtD,KAAK,CAAQ;IACb,UAAU,CAAS;IACnB,mBAAmB,CAAe;IAE3C,YAAY,KAAY,EAAE,UAAkB;QAC1C,KAAK,CACH,gBAAgB,CACd,cAAc,EACd,GAAG,EACH,8BAA8B,UAAU,2BAA2B,KAAK,iEAAiE,CAC1I,CACF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,mCAAmC,CAAC;QAChD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,mBAAmB,GAAG,YAAY,CAAC;IAC1C,CAAC;CACF"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * The npm package name used by `@txnod/sdk` — useful for partners who want
3
+ * to print the runtime SDK identity in error reports.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { PACKAGE_NAME } from '@txnod/sdk';
8
+ * console.log(`Using SDK: ${PACKAGE_NAME}`);
9
+ * ```
10
+ */
11
+ export declare const PACKAGE_NAME: "@txnod/sdk";
12
+ /**
13
+ * The current `@txnod/sdk` version string, kept in sync with `package.json`
14
+ * via the `sdk-version-sync.sh` CI guard (Story 5.1).
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * import { SDK_VERSION } from '@txnod/sdk';
19
+ * console.log(`@txnod/sdk v${SDK_VERSION}`);
20
+ * ```
21
+ */
22
+ export declare const SDK_VERSION: "1.0.1";
23
+ export { TxnodClient, type TxnodClientOptions, type TxnodRequestLogEntry, type TxnodRequestLogger, } from './client.js';
24
+ export { getSdkEnv } from './env.js';
25
+ export { TxnodClientSandbox, type SandboxClockAdvanceResult, type SandboxLifecycleResult, type SandboxSimulateResult, } from './client-sandbox.js';
26
+ export { TxnodAmountOutOfRangeError, TxnodAuthInvalidError, TxnodCoinNotEnabledError, TxnodEnvironmentUnknownError, TxnodError, TxnodEventNotFoundError, TxnodExternalIdConflictError, TxnodHmacError, TxnodInvalidCoinError, TxnodInvalidStateTransitionError, TxnodInvalidWebhookUrlError, TxnodInvalidXpubFormatError, TxnodInvoiceNotCancellableError, TxnodInvoiceNotFoundError, TxnodKeyRevokedError, TxnodKeySuspendedError, TxnodOrphanAlreadyAttributedError, TxnodOrphanNotFoundError, TxnodPermissionDeniedError, TxnodPoolExhaustedError, TxnodProductionKeyAgainstSandboxProjectError, TxnodProjectNotFoundError, TxnodProjectSuspendedError, TxnodRateLimitError, TxnodSandboxActiveInvoiceCapReachedError, TxnodSandboxDeleteFailedError, TxnodSandboxInvoiceNotFoundError, TxnodSandboxInvoiceTerminalError, TxnodSandboxInvoiceTransitionInvalidError, TxnodSandboxKeyAgainstProductionProjectError, TxnodSandboxKeyInProductionError, TxnodSandboxPerOperatorCapReachedError, TxnodSandboxProjectRequiredError, TxnodProductionProjectRequiredError, TxnodSandboxProvisioningFailedError, TxnodSandboxRateLimitExceededError, TxnodSandboxResetFailedError, TxnodSandboxXpubInProductionError, TxnodServerError, TxnodSignatureFormatError, TxnodSignatureInvalidError, TxnodSignatureReplayedError, TxnodSubscriptionExpiredError, TxnodTimestampError, TxnodTimestampOutOfWindowError, TxnodTonCommentParseFailedError, TxnodTonConnectDomainMismatchError, TxnodTonConnectNetworkMismatchError, TxnodTonConnectPayloadExpiredError, TxnodTonConnectPayloadUnknownError, TxnodTonConnectSignatureInvalidError, TxnodTonConnectTimestampSkewError, TxnodTonConnectUnknownWalletVersionError, TxnodTonInvalidWalletVersionError, TxnodTonJettonResolveFailedError, TxnodTonOperatorWalletNotDeployedError, TxnodTronNoActivatedAddressesError, TxnodValidationError, TxnodWalletHasActiveBindingsError, TxnodWalletKindMismatchError, TxnodWalletNotBoundError, TxnodWalletNotFoundError, TxnodWalletNotOwnedError, TxnodWebhookCapacityExhaustedError, TxnodWebhookPayloadParseError, TxnodXpubNotVerifiedError, } from './errors.js';
27
+ export { verifyWebhookSignature } from './verify-webhook-signature.js';
28
+ export { verifyAddress } from './verify/index.js';
29
+ export type { VerifyAddressInput, VerificationResult } from './verify/index.js';
30
+ export { verifyTonAddress } from './verify/chains/ton.js';
31
+ export type { VerifyTonInput } from './verify/chains/ton.js';
32
+ export { parseXpubConfig, parseTonConfig, type TonXpubConfig } from './verify/config.js';
33
+ export { AddressVerificationError } from './verify/errors.js';
34
+ export type { Chain, Coin, InvoiceStatus, WalletEdgeKind, WebhookEvent, WebhookEventData, WebhookEventMode, WebhookEventType, } from './_shared/index.js';
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,EAAG,YAAqB,CAAC;AAElD;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,EAAG,OAAgB,CAAC;AAE5C,OAAO,EACL,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EACL,kBAAkB,EAClB,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,EAC5B,UAAU,EACV,uBAAuB,EACvB,4BAA4B,EAC5B,cAAc,EACd,qBAAqB,EACrB,gCAAgC,EAChC,2BAA2B,EAC3B,2BAA2B,EAC3B,+BAA+B,EAC/B,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,iCAAiC,EACjC,wBAAwB,EACxB,0BAA0B,EAC1B,uBAAuB,EACvB,4CAA4C,EAC5C,yBAAyB,EACzB,0BAA0B,EAC1B,mBAAmB,EACnB,wCAAwC,EACxC,6BAA6B,EAC7B,gCAAgC,EAChC,gCAAgC,EAChC,yCAAyC,EACzC,4CAA4C,EAC5C,gCAAgC,EAChC,sCAAsC,EACtC,gCAAgC,EAChC,mCAAmC,EACnC,mCAAmC,EACnC,kCAAkC,EAClC,4BAA4B,EAC5B,iCAAiC,EACjC,gBAAgB,EAChB,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,6BAA6B,EAC7B,mBAAmB,EACnB,8BAA8B,EAC9B,+BAA+B,EAC/B,kCAAkC,EAClC,mCAAmC,EACnC,kCAAkC,EAClC,kCAAkC,EAClC,oCAAoC,EACpC,iCAAiC,EACjC,wCAAwC,EACxC,iCAAiC,EACjC,gCAAgC,EAChC,sCAAsC,EACtC,kCAAkC,EAClC,oBAAoB,EACpB,iCAAiC,EACjC,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,kCAAkC,EAClC,6BAA6B,EAC7B,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,YAAY,EACV,KAAK,EACL,IAAI,EACJ,aAAa,EACb,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,eAAe,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,32 @@
1
+ /**
2
+ * The npm package name used by `@txnod/sdk` — useful for partners who want
3
+ * to print the runtime SDK identity in error reports.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { PACKAGE_NAME } from '@txnod/sdk';
8
+ * console.log(`Using SDK: ${PACKAGE_NAME}`);
9
+ * ```
10
+ */
11
+ export const PACKAGE_NAME = '@txnod/sdk';
12
+ /**
13
+ * The current `@txnod/sdk` version string, kept in sync with `package.json`
14
+ * via the `sdk-version-sync.sh` CI guard (Story 5.1).
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * import { SDK_VERSION } from '@txnod/sdk';
19
+ * console.log(`@txnod/sdk v${SDK_VERSION}`);
20
+ * ```
21
+ */
22
+ export const SDK_VERSION = '1.0.1';
23
+ export { TxnodClient, } from './client.js';
24
+ export { getSdkEnv } from './env.js';
25
+ export { TxnodClientSandbox, } from './client-sandbox.js';
26
+ export { TxnodAmountOutOfRangeError, TxnodAuthInvalidError, TxnodCoinNotEnabledError, TxnodEnvironmentUnknownError, TxnodError, TxnodEventNotFoundError, TxnodExternalIdConflictError, TxnodHmacError, TxnodInvalidCoinError, TxnodInvalidStateTransitionError, TxnodInvalidWebhookUrlError, TxnodInvalidXpubFormatError, TxnodInvoiceNotCancellableError, TxnodInvoiceNotFoundError, TxnodKeyRevokedError, TxnodKeySuspendedError, TxnodOrphanAlreadyAttributedError, TxnodOrphanNotFoundError, TxnodPermissionDeniedError, TxnodPoolExhaustedError, TxnodProductionKeyAgainstSandboxProjectError, TxnodProjectNotFoundError, TxnodProjectSuspendedError, TxnodRateLimitError, TxnodSandboxActiveInvoiceCapReachedError, TxnodSandboxDeleteFailedError, TxnodSandboxInvoiceNotFoundError, TxnodSandboxInvoiceTerminalError, TxnodSandboxInvoiceTransitionInvalidError, TxnodSandboxKeyAgainstProductionProjectError, TxnodSandboxKeyInProductionError, TxnodSandboxPerOperatorCapReachedError, TxnodSandboxProjectRequiredError, TxnodProductionProjectRequiredError, TxnodSandboxProvisioningFailedError, TxnodSandboxRateLimitExceededError, TxnodSandboxResetFailedError, TxnodSandboxXpubInProductionError, TxnodServerError, TxnodSignatureFormatError, TxnodSignatureInvalidError, TxnodSignatureReplayedError, TxnodSubscriptionExpiredError, TxnodTimestampError, TxnodTimestampOutOfWindowError, TxnodTonCommentParseFailedError, TxnodTonConnectDomainMismatchError, TxnodTonConnectNetworkMismatchError, TxnodTonConnectPayloadExpiredError, TxnodTonConnectPayloadUnknownError, TxnodTonConnectSignatureInvalidError, TxnodTonConnectTimestampSkewError, TxnodTonConnectUnknownWalletVersionError, TxnodTonInvalidWalletVersionError, TxnodTonJettonResolveFailedError, TxnodTonOperatorWalletNotDeployedError, TxnodTronNoActivatedAddressesError, TxnodValidationError, TxnodWalletHasActiveBindingsError, TxnodWalletKindMismatchError, TxnodWalletNotBoundError, TxnodWalletNotFoundError, TxnodWalletNotOwnedError, TxnodWebhookCapacityExhaustedError, TxnodWebhookPayloadParseError, TxnodXpubNotVerifiedError, } from './errors.js';
27
+ export { verifyWebhookSignature } from './verify-webhook-signature.js';
28
+ export { verifyAddress } from './verify/index.js';
29
+ export { verifyTonAddress } from './verify/chains/ton.js';
30
+ export { parseXpubConfig, parseTonConfig } from './verify/config.js';
31
+ export { AddressVerificationError } from './verify/errors.js';
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,YAAqB,CAAC;AAElD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,OAAgB,CAAC;AAE5C,OAAO,EACL,WAAW,GAIZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EACL,kBAAkB,GAInB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,EAC5B,UAAU,EACV,uBAAuB,EACvB,4BAA4B,EAC5B,cAAc,EACd,qBAAqB,EACrB,gCAAgC,EAChC,2BAA2B,EAC3B,2BAA2B,EAC3B,+BAA+B,EAC/B,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,iCAAiC,EACjC,wBAAwB,EACxB,0BAA0B,EAC1B,uBAAuB,EACvB,4CAA4C,EAC5C,yBAAyB,EACzB,0BAA0B,EAC1B,mBAAmB,EACnB,wCAAwC,EACxC,6BAA6B,EAC7B,gCAAgC,EAChC,gCAAgC,EAChC,yCAAyC,EACzC,4CAA4C,EAC5C,gCAAgC,EAChC,sCAAsC,EACtC,gCAAgC,EAChC,mCAAmC,EACnC,mCAAmC,EACnC,kCAAkC,EAClC,4BAA4B,EAC5B,iCAAiC,EACjC,gBAAgB,EAChB,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,6BAA6B,EAC7B,mBAAmB,EACnB,8BAA8B,EAC9B,+BAA+B,EAC/B,kCAAkC,EAClC,mCAAmC,EACnC,kCAAkC,EAClC,kCAAkC,EAClC,oCAAoC,EACpC,iCAAiC,EACjC,wCAAwC,EACxC,iCAAiC,EACjC,gCAAgC,EAChC,sCAAsC,EACtC,kCAAkC,EAClC,oBAAoB,EACpB,iCAAiC,EACjC,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,kCAAkC,EAClC,6BAA6B,EAC7B,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAsB,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { ErrorCode, ProblemDetails } from '../_shared/index.js';
2
+ import { TxnodError, TxnodPoolExhaustedError, TxnodRateLimitError, TxnodWebhookCapacityExhaustedError } from '../errors.js';
3
+ export type ErrorCtor = new (details: ProblemDetails) => TxnodError;
4
+ export type RateLimitCtor = new (details: ProblemDetails, retryAfterSeconds: number) => TxnodRateLimitError;
5
+ export type PoolExhaustedCtor = new (details: ProblemDetails, retryAfterSeconds: number) => TxnodPoolExhaustedError;
6
+ export type WebhookCapacityExhaustedCtor = new (details: ProblemDetails, retryAfterSeconds: number) => TxnodWebhookCapacityExhaustedError;
7
+ export type RetryAfterCtor = RateLimitCtor | PoolExhaustedCtor | WebhookCapacityExhaustedCtor;
8
+ export type CodeRequiringRetryAfter = 'rate_limit_exceeded' | 'pool_exhausted' | 'webhook_capacity_exhausted';
9
+ export declare const RETRY_AFTER_CODES: ReadonlySet<ErrorCode>;
10
+ export declare const CODE_TO_CTOR: Partial<Record<ErrorCode, ErrorCtor | RetryAfterCtor>>;
11
+ //# sourceMappingURL=error-ctor-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-ctor-map.d.ts","sourceRoot":"","sources":["../../src/internals/error-ctor-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAIL,UAAU,EAcV,uBAAuB,EAGvB,mBAAmB,EAwBnB,kCAAkC,EAenC,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,SAAS,GAAG,KAAK,OAAO,EAAE,cAAc,KAAK,UAAU,CAAC;AACpE,MAAM,MAAM,aAAa,GAAG,KAC1B,OAAO,EAAE,cAAc,EACvB,iBAAiB,EAAE,MAAM,KACtB,mBAAmB,CAAC;AACzB,MAAM,MAAM,iBAAiB,GAAG,KAC9B,OAAO,EAAE,cAAc,EACvB,iBAAiB,EAAE,MAAM,KACtB,uBAAuB,CAAC;AAC7B,MAAM,MAAM,4BAA4B,GAAG,KACzC,OAAO,EAAE,cAAc,EACvB,iBAAiB,EAAE,MAAM,KACtB,kCAAkC,CAAC;AACxC,MAAM,MAAM,cAAc,GACtB,aAAa,GACb,iBAAiB,GACjB,4BAA4B,CAAC;AAOjC,MAAM,MAAM,uBAAuB,GAC/B,qBAAqB,GACrB,gBAAgB,GAChB,4BAA4B,CAAC;AACjC,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,SAAS,CAMpD,CAAC;AAUF,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,MAAM,CACvC,SAAS,EACT,SAAS,GAAG,cAAc,CAC3B,CA6DA,CAAC"}
@@ -0,0 +1,75 @@
1
+ import { TxnodAmountOutOfRangeError, TxnodAuthInvalidError, TxnodCoinNotEnabledError, TxnodEventNotFoundError, TxnodExternalIdConflictError, TxnodInvalidCoinError, TxnodInvalidStateTransitionError, TxnodInvalidWebhookUrlError, TxnodInvalidXpubFormatError, TxnodInvoiceNotCancellableError, TxnodInvoiceNotFoundError, TxnodKeyRevokedError, TxnodKeySuspendedError, TxnodOrphanAlreadyAttributedError, TxnodOrphanNotFoundError, TxnodPermissionDeniedError, TxnodPoolExhaustedError, TxnodProjectNotFoundError, TxnodProjectSuspendedError, TxnodRateLimitError, TxnodServerError, TxnodSignatureInvalidError, TxnodSignatureReplayedError, TxnodSubscriptionExpiredError, TxnodTimestampOutOfWindowError, TxnodTonCommentParseFailedError, TxnodTonConnectDomainMismatchError, TxnodTonConnectNetworkMismatchError, TxnodTonConnectPayloadExpiredError, TxnodTonConnectPayloadUnknownError, TxnodTonConnectSignatureInvalidError, TxnodTonConnectTimestampSkewError, TxnodTonConnectUnknownWalletVersionError, TxnodTonInvalidWalletVersionError, TxnodTonJettonResolveFailedError, TxnodTonOperatorWalletNotDeployedError, TxnodTronNoActivatedAddressesError, TxnodValidationError, TxnodWalletHasActiveBindingsError, TxnodWalletKindMismatchError, TxnodWalletNotBoundError, TxnodWalletNotFoundError, TxnodWalletNotOwnedError, TxnodWebhookCapacityExhaustedError, TxnodXpubNotVerifiedError, TxnodSandboxProjectRequiredError, TxnodProductionProjectRequiredError, TxnodSandboxPerOperatorCapReachedError, TxnodSandboxKeyAgainstProductionProjectError, TxnodProductionKeyAgainstSandboxProjectError, TxnodSandboxProvisioningFailedError, TxnodSandboxInvoiceTransitionInvalidError, TxnodSandboxInvoiceNotFoundError, TxnodSandboxInvoiceTerminalError, TxnodSandboxRateLimitExceededError, TxnodSandboxResetFailedError, TxnodSandboxDeleteFailedError, TxnodSandboxActiveInvoiceCapReachedError, } from '../errors.js';
2
+ export const RETRY_AFTER_CODES = new Set([
3
+ 'rate_limit_exceeded',
4
+ 'pool_exhausted',
5
+ 'webhook_capacity_exhausted',
6
+ ]);
7
+ // Entries ordered to match `ERROR_CODES` tuple — drift is grep-visible.
8
+ //
9
+ // Excluded by design: `otp_expired`, `otp_used`, `invite_invalid`. These
10
+ // codes only fire from dashboard auth/invite routes (`/api/auth/otp/*`,
11
+ // invite acceptance) which the partner-HMAC `TxnodClient` cannot reach. If a
12
+ // server bug ever leaks one of these codes onto the SDK plane,
13
+ // `parseProblemDetails` falls through `Ctor === undefined` to a generic
14
+ // `TxnodError` via `degraded()` — the desired behavior. Hence the `Partial<>`.
15
+ export const CODE_TO_CTOR = {
16
+ validation_error: TxnodValidationError,
17
+ invalid_coin: TxnodInvalidCoinError,
18
+ invalid_xpub_format: TxnodInvalidXpubFormatError,
19
+ invalid_webhook_url: TxnodInvalidWebhookUrlError,
20
+ auth_invalid: TxnodAuthInvalidError,
21
+ signature_invalid: TxnodSignatureInvalidError,
22
+ signature_replayed: TxnodSignatureReplayedError,
23
+ timestamp_out_of_window: TxnodTimestampOutOfWindowError,
24
+ key_suspended: TxnodKeySuspendedError,
25
+ project_suspended: TxnodProjectSuspendedError,
26
+ permission_denied: TxnodPermissionDeniedError,
27
+ key_revoked: TxnodKeyRevokedError,
28
+ invoice_not_found: TxnodInvoiceNotFoundError,
29
+ project_not_found: TxnodProjectNotFoundError,
30
+ wallet_not_found: TxnodWalletNotFoundError,
31
+ external_id_conflict: TxnodExternalIdConflictError,
32
+ xpub_not_verified: TxnodXpubNotVerifiedError,
33
+ coin_not_enabled: TxnodCoinNotEnabledError,
34
+ amount_out_of_range: TxnodAmountOutOfRangeError,
35
+ rate_limit_exceeded: TxnodRateLimitError,
36
+ pool_exhausted: TxnodPoolExhaustedError,
37
+ webhook_capacity_exhausted: TxnodWebhookCapacityExhaustedError,
38
+ internal_error: TxnodServerError,
39
+ invoice_not_cancellable: TxnodInvoiceNotCancellableError,
40
+ invalid_state_transition: TxnodInvalidStateTransitionError,
41
+ orphan_not_found: TxnodOrphanNotFoundError,
42
+ orphan_already_attributed: TxnodOrphanAlreadyAttributedError,
43
+ event_not_found: TxnodEventNotFoundError,
44
+ wallet_not_bound: TxnodWalletNotBoundError,
45
+ wallet_not_owned: TxnodWalletNotOwnedError,
46
+ wallet_has_active_bindings: TxnodWalletHasActiveBindingsError,
47
+ wallet_kind_mismatch: TxnodWalletKindMismatchError,
48
+ subscription_expired: TxnodSubscriptionExpiredError,
49
+ tron_no_activated_addresses_available: TxnodTronNoActivatedAddressesError,
50
+ ton_operator_wallet_not_deployed: TxnodTonOperatorWalletNotDeployedError,
51
+ ton_invalid_wallet_version: TxnodTonInvalidWalletVersionError,
52
+ ton_jetton_resolve_failed: TxnodTonJettonResolveFailedError,
53
+ ton_comment_parse_failed: TxnodTonCommentParseFailedError,
54
+ tonconnect_payload_expired: TxnodTonConnectPayloadExpiredError,
55
+ tonconnect_payload_unknown: TxnodTonConnectPayloadUnknownError,
56
+ tonconnect_domain_mismatch: TxnodTonConnectDomainMismatchError,
57
+ tonconnect_timestamp_skew: TxnodTonConnectTimestampSkewError,
58
+ tonconnect_unknown_wallet_version: TxnodTonConnectUnknownWalletVersionError,
59
+ tonconnect_signature_invalid: TxnodTonConnectSignatureInvalidError,
60
+ tonconnect_network_mismatch: TxnodTonConnectNetworkMismatchError,
61
+ sandbox_project_required: TxnodSandboxProjectRequiredError,
62
+ production_project_required: TxnodProductionProjectRequiredError,
63
+ sandbox_per_operator_cap_reached: TxnodSandboxPerOperatorCapReachedError,
64
+ sandbox_key_against_production_project: TxnodSandboxKeyAgainstProductionProjectError,
65
+ production_key_against_sandbox_project: TxnodProductionKeyAgainstSandboxProjectError,
66
+ sandbox_provisioning_failed: TxnodSandboxProvisioningFailedError,
67
+ sandbox_invoice_transition_invalid: TxnodSandboxInvoiceTransitionInvalidError,
68
+ sandbox_invoice_not_found: TxnodSandboxInvoiceNotFoundError,
69
+ sandbox_invoice_terminal: TxnodSandboxInvoiceTerminalError,
70
+ sandbox_rate_limit_exceeded: TxnodSandboxRateLimitExceededError,
71
+ sandbox_reset_failed: TxnodSandboxResetFailedError,
72
+ sandbox_delete_failed: TxnodSandboxDeleteFailedError,
73
+ sandbox_active_invoice_cap_reached: TxnodSandboxActiveInvoiceCapReachedError,
74
+ };
75
+ //# sourceMappingURL=error-ctor-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-ctor-map.js","sourceRoot":"","sources":["../../src/internals/error-ctor-map.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ export interface SignedFetchRequestLogEntry {
2
+ method: 'GET' | 'POST' | 'DELETE';
3
+ path: string;
4
+ status: number;
5
+ durationMs: number;
6
+ attempt: number;
7
+ requestId: string | undefined;
8
+ }
9
+ export type SignedFetchRequestLogger = (entry: SignedFetchRequestLogEntry) => void;
10
+ export interface SignedFetchInput {
11
+ baseUrl: string;
12
+ projectId: string;
13
+ apiSecret: string;
14
+ method: 'GET' | 'POST' | 'DELETE';
15
+ path: string;
16
+ query?: Record<string, string | number | undefined>;
17
+ body?: unknown;
18
+ /** Per-attempt timeout in ms. Aborts via AbortSignal.timeout(). */
19
+ requestTimeoutMs?: number;
20
+ /** Max acceptable response body size in bytes; over-cap responses surface as 502 to the caller. */
21
+ maxResponseBytes?: number;
22
+ /** Optional per-attempt observer for diagnostics. Errors thrown from the logger are swallowed. */
23
+ requestLogger?: SignedFetchRequestLogger;
24
+ /**
25
+ * Extra headers merged into the outbound request after the signing headers
26
+ * (`X-Project-Id`, `X-Timestamp`, `X-Signature`) are set. Use this for
27
+ * out-of-band telemetry headers like `X-Txnod-Client-Environment`. The HMAC
28
+ * scheme signs only `${method}\n${pathname}\n${timestamp}\n${rawBody}`, so
29
+ * extra headers do not alter the signature.
30
+ */
31
+ extraHeaders?: Record<string, string>;
32
+ }
33
+ export declare function signedFetch(input: SignedFetchInput): Promise<Response>;
34
+ //# sourceMappingURL=fetch-with-retry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-with-retry.d.ts","sourceRoot":"","sources":["../../src/internals/fetch-with-retry.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,MAAM,wBAAwB,GAAG,CAAC,KAAK,EAAE,0BAA0B,KAAK,IAAI,CAAC;AAEnF,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;IACpD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mGAAmG;IACnG,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kGAAkG;IAClG,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACzC;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AA6ID,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,CA+G5E"}
@@ -0,0 +1,233 @@
1
+ import { signRequest } from './hmac.js';
2
+ const MAX_RETRIES_429 = 3;
3
+ const MAX_RETRIES_5XX = 2;
4
+ const BACKOFF_BASE_MS = 500;
5
+ const BACKOFF_CAP_MS = 30_000;
6
+ // Cap any honoured Retry-After at 10 minutes — defends against a hostile/buggy
7
+ // CDN returning a far-future HTTP-date that would otherwise stall the SDK
8
+ // indefinitely. 600 s is well beyond any realistic txnod cooldown.
9
+ const RETRY_AFTER_CAP_SECONDS = 600;
10
+ const DEFAULT_REQUEST_TIMEOUT_MS = 30_000;
11
+ // 1 MiB is comfortably above any legitimate txnod response (largest known is
12
+ // the paginated invoice listing at ~50 KiB) and bounds memory under a hostile
13
+ // or misbehaving upstream that streams an unbounded body.
14
+ const DEFAULT_MAX_RESPONSE_BYTES = 1024 * 1024;
15
+ // POST is only retried on 5xx for status codes the API contract guarantees as
16
+ // safe to re-issue: 503 (pool_exhausted, server overload — server has not yet
17
+ // committed any state change) and 504 (gateway timeout — the request did not
18
+ // reach the application). Other 5xx (500/502) MAY indicate the server already
19
+ // processed the request before failing, so re-issuing risks duplication.
20
+ const POST_RETRYABLE_5XX = new Set([503, 504]);
21
+ function buildUrl(baseUrl, path, query) {
22
+ if (query === undefined)
23
+ return `${baseUrl}${path}`;
24
+ const params = new URLSearchParams();
25
+ for (const [k, v] of Object.entries(query)) {
26
+ if (v === undefined)
27
+ continue;
28
+ params.append(k, typeof v === 'number' ? String(v) : v);
29
+ }
30
+ const qs = params.toString();
31
+ return qs.length === 0 ? `${baseUrl}${path}` : `${baseUrl}${path}?${qs}`;
32
+ }
33
+ function fullJitterBackoff(attempt) {
34
+ return Math.random() * Math.min(BACKOFF_CAP_MS, BACKOFF_BASE_MS * 2 ** attempt);
35
+ }
36
+ function sleep(ms) {
37
+ return new Promise((resolve) => setTimeout(resolve, ms));
38
+ }
39
+ // RFC 7231 §7.1.3 allows `Retry-After` to carry either delta-seconds (integer)
40
+ // or an HTTP-date. Third-party proxies (CDN, corporate middlebox) may rewrite
41
+ // integer hints into HTTP-date form, so both must be honored. The result is
42
+ // always capped at RETRY_AFTER_CAP_SECONDS to defend against a hostile or
43
+ // glitching upstream sending a far-future date that would otherwise stall the
44
+ // SDK for hours/years.
45
+ function parseRetryAfterSeconds(header) {
46
+ if (header === null)
47
+ return 0;
48
+ const trimmed = header.trim();
49
+ let raw;
50
+ if (/^\d+$/.test(trimmed)) {
51
+ const n = parseInt(trimmed, 10);
52
+ raw = Number.isFinite(n) && n > 0 ? n : 0;
53
+ }
54
+ else {
55
+ const ms = Date.parse(header);
56
+ if (!Number.isFinite(ms))
57
+ return 0;
58
+ const deltaSec = Math.ceil((ms - Date.now()) / 1000);
59
+ raw = deltaSec > 0 ? deltaSec : 0;
60
+ }
61
+ return Math.min(raw, RETRY_AFTER_CAP_SECONDS);
62
+ }
63
+ async function readBodyWithCap(response, capBytes) {
64
+ // Respect Content-Length when present — fail fast without buffering.
65
+ const declared = response.headers.get('Content-Length');
66
+ if (declared !== null) {
67
+ const n = parseInt(declared, 10);
68
+ if (Number.isFinite(n) && n > capBytes)
69
+ return { ok: false, status: 502 };
70
+ }
71
+ // Try streaming for true bounding. If the runtime/test harness produces a
72
+ // Response whose body is null or already-locked, fall back to a one-shot
73
+ // `.text()` and post-hoc size check — still bounded for any sane producer.
74
+ let reader;
75
+ try {
76
+ const body = response.body;
77
+ if (body !== null)
78
+ reader = body.getReader();
79
+ }
80
+ catch {
81
+ reader = undefined;
82
+ }
83
+ if (reader === undefined) {
84
+ let text;
85
+ try {
86
+ text = await response.text();
87
+ }
88
+ catch {
89
+ // Body unreadable for any reason — surface as bounded-empty.
90
+ return { ok: true, text: '' };
91
+ }
92
+ if (text.length > capBytes)
93
+ return { ok: false, status: 502 };
94
+ return { ok: true, text };
95
+ }
96
+ const chunks = [];
97
+ let total = 0;
98
+ for (;;) {
99
+ const { done, value } = await reader.read();
100
+ if (done)
101
+ break;
102
+ if (value) {
103
+ total += value.byteLength;
104
+ if (total > capBytes) {
105
+ try {
106
+ await reader.cancel();
107
+ }
108
+ catch {
109
+ // ignore — we are abandoning the body anyway.
110
+ }
111
+ return { ok: false, status: 502 };
112
+ }
113
+ chunks.push(value);
114
+ }
115
+ }
116
+ return { ok: true, text: new TextDecoder('utf-8').decode(concatChunks(chunks, total)) };
117
+ }
118
+ function concatChunks(chunks, total) {
119
+ const out = new Uint8Array(total);
120
+ let off = 0;
121
+ for (const c of chunks) {
122
+ out.set(c, off);
123
+ off += c.byteLength;
124
+ }
125
+ return out;
126
+ }
127
+ function emitLog(logger, entry) {
128
+ if (logger === undefined)
129
+ return;
130
+ try {
131
+ logger(entry);
132
+ }
133
+ catch {
134
+ // Diagnostic-only — never fail a request because the partner's logger threw.
135
+ }
136
+ }
137
+ export async function signedFetch(input) {
138
+ const rawBody = input.body === undefined ? '' : JSON.stringify(input.body);
139
+ const url = buildUrl(input.baseUrl, input.path, input.query);
140
+ // The signed pathname must match what the server's `new URL(request.url).pathname`
141
+ // produces — the route prefix lives inside `baseUrl`, the route-relative
142
+ // segment lives in `input.path`. Server-side base prefix lives at the same
143
+ // origin so `new URL(rawUrl).pathname` is the full prefix+suffix.
144
+ const signedPathname = new URL(url).pathname;
145
+ const timeoutMs = input.requestTimeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS;
146
+ const capBytes = input.maxResponseBytes ?? DEFAULT_MAX_RESPONSE_BYTES;
147
+ let attempt = 0;
148
+ for (;;) {
149
+ const timestamp = Math.floor(Date.now() / 1000);
150
+ const signature = signRequest(input.apiSecret, input.method, signedPathname, timestamp, rawBody);
151
+ const headers = new Headers();
152
+ headers.set('X-Project-Id', input.projectId);
153
+ headers.set('X-Timestamp', String(timestamp));
154
+ headers.set('X-Signature', signature);
155
+ if (rawBody.length > 0) {
156
+ headers.set('Content-Type', 'application/json');
157
+ }
158
+ if (input.extraHeaders !== undefined) {
159
+ for (const [k, v] of Object.entries(input.extraHeaders)) {
160
+ headers.set(k, v);
161
+ }
162
+ }
163
+ const init = {
164
+ method: input.method,
165
+ headers,
166
+ signal: AbortSignal.timeout(timeoutMs),
167
+ };
168
+ if ((input.method === 'POST' || input.method === 'DELETE') && rawBody.length > 0) {
169
+ init.body = rawBody;
170
+ }
171
+ const startedAt = Date.now();
172
+ const response = await globalThis.fetch(url, init);
173
+ const requestId = response.headers.get('X-Txnod-Request-Id') ?? undefined;
174
+ // Body-size cap — read the entire body once, replace `response` with a
175
+ // synthetic Response carrying the buffered text. Downstream callers
176
+ // (`#request` in client.ts) expect `await response.text()`-able bodies.
177
+ const capped = await readBodyWithCap(response, capBytes);
178
+ let materialized;
179
+ if (capped.ok) {
180
+ materialized = new Response(capped.text, {
181
+ status: response.status,
182
+ headers: response.headers,
183
+ });
184
+ }
185
+ else {
186
+ materialized = new Response(JSON.stringify({
187
+ type: 'about:blank',
188
+ title: 'Response body exceeded SDK size cap',
189
+ status: 502,
190
+ error_code: 'internal_error',
191
+ request_id: requestId ?? '',
192
+ }), {
193
+ status: 502,
194
+ headers: { 'Content-Type': 'application/problem+json' },
195
+ });
196
+ }
197
+ const durationMs = Date.now() - startedAt;
198
+ emitLog(input.requestLogger, {
199
+ method: input.method,
200
+ path: signedPathname,
201
+ status: materialized.status,
202
+ durationMs,
203
+ attempt: attempt + 1,
204
+ requestId,
205
+ });
206
+ if (materialized.status === 429 && attempt < MAX_RETRIES_429) {
207
+ const retryAfterSec = parseRetryAfterSeconds(materialized.headers.get('Retry-After'));
208
+ const backoffMs = fullJitterBackoff(attempt);
209
+ await sleep(Math.max(retryAfterSec * 1000, backoffMs));
210
+ attempt += 1;
211
+ continue;
212
+ }
213
+ if (materialized.status >= 500 &&
214
+ materialized.status < 600 &&
215
+ attempt < MAX_RETRIES_5XX &&
216
+ isRetryable5xxFor(input.method, materialized.status)) {
217
+ const retryAfterSec = parseRetryAfterSeconds(materialized.headers.get('Retry-After'));
218
+ const backoffMs = fullJitterBackoff(attempt);
219
+ await sleep(Math.max(retryAfterSec * 1000, backoffMs));
220
+ attempt += 1;
221
+ continue;
222
+ }
223
+ return materialized;
224
+ }
225
+ }
226
+ function isRetryable5xxFor(method, status) {
227
+ if (method === 'GET')
228
+ return true;
229
+ // DELETE is treated like POST for retry safety: only re-issue on 503/504
230
+ // since the server may have committed state on 500/502.
231
+ return POST_RETRYABLE_5XX.has(status);
232
+ }
233
+ //# sourceMappingURL=fetch-with-retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-with-retry.js","sourceRoot":"","sources":["../../src/internals/fetch-with-retry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function signRequest(secret: string, method: string, pathname: string, timestamp: number, rawBody: string): string;
2
+ //# sourceMappingURL=hmac.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hmac.d.ts","sourceRoot":"","sources":["../../src/internals/hmac.ts"],"names":[],"mappings":"AAKA,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,MAAM,CAIR"}
@@ -0,0 +1,10 @@
1
+ import { createHmac } from 'node:crypto';
2
+ // Bytes signed match the server-side `verify-partner-hmac.ts` exactly. Method
3
+ // and path are bound into the input so a captured (X-Timestamp, X-Signature)
4
+ // pair cannot be replayed against a different endpoint of the same project.
5
+ export function signRequest(secret, method, pathname, timestamp, rawBody) {
6
+ return createHmac('sha256', secret)
7
+ .update(`${method}\n${pathname}\n${timestamp}\n${rawBody}`)
8
+ .digest('hex');
9
+ }
10
+ //# sourceMappingURL=hmac.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hmac.js","sourceRoot":"","sources":["../../src/internals/hmac.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,8EAA8E;AAC9E,6EAA6E;AAC7E,4EAA4E;AAC5E,MAAM,UAAU,WAAW,CACzB,MAAc,EACd,MAAc,EACd,QAAgB,EAChB,SAAiB,EACjB,OAAe;IAEf,OAAO,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC;SAChC,MAAM,CAAC,GAAG,MAAM,KAAK,QAAQ,KAAK,SAAS,KAAK,OAAO,EAAE,CAAC;SAC1D,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * SDK-private pino logger singleton. Used by verify/index.ts edge case (a)
3
+ * warning when the API response omits derivation_path. Intentionally NOT a
4
+ * re-export of @txnod/shared's createLogger — that would force a runtime
5
+ * workspace dep and break the dist-self-containment guard.
6
+ */
7
+ import { type Logger } from 'pino';
8
+ export declare const logger: Logger;
9
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/internals/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,MAAM,CAAC;AAEzC,eAAO,MAAM,MAAM,EAAE,MAOnB,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * SDK-private pino logger singleton. Used by verify/index.ts edge case (a)
3
+ * warning when the API response omits derivation_path. Intentionally NOT a
4
+ * re-export of @txnod/shared's createLogger — that would force a runtime
5
+ * workspace dep and break the dist-self-containment guard.
6
+ */
7
+ import { pino } from 'pino';
8
+ export const logger = pino({
9
+ name: '@txnod/sdk',
10
+ level: process.env.TXNOD_SDK_LOG_LEVEL ?? 'warn',
11
+ redact: {
12
+ paths: ['xpub', '*.xpub', '*.*.xpub', 'apiSecret', '*.apiSecret'],
13
+ censor: '[redacted]',
14
+ },
15
+ });
16
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/internals/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAe,MAAM,MAAM,CAAC;AAEzC,MAAM,CAAC,MAAM,MAAM,GAAW,IAAI,CAAC;IACjC,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,MAAM;IAChD,MAAM,EAAE;QACN,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,CAAC;QACjE,MAAM,EAAE,YAAY;KACrB;CACF,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { TxnodError } from '../errors.js';
2
+ export declare function parseProblemDetails(response: Response): Promise<TxnodError>;
3
+ //# sourceMappingURL=parse-problem-details.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-problem-details.d.ts","sourceRoot":"","sources":["../../src/internals/parse-problem-details.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AA6C1C,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,UAAU,CAAC,CAuCrB"}