@webacy-xyz/sdk-core 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 (137) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +96 -0
  3. package/dist/cjs/client-base.js +134 -0
  4. package/dist/cjs/client-base.js.map +1 -0
  5. package/dist/cjs/config.js +30 -0
  6. package/dist/cjs/config.js.map +1 -0
  7. package/dist/cjs/errors/authentication.js +35 -0
  8. package/dist/cjs/errors/authentication.js.map +1 -0
  9. package/dist/cjs/errors/base.js +76 -0
  10. package/dist/cjs/errors/base.js.map +1 -0
  11. package/dist/cjs/errors/index.js +16 -0
  12. package/dist/cjs/errors/index.js.map +1 -0
  13. package/dist/cjs/errors/network.js +45 -0
  14. package/dist/cjs/errors/network.js.map +1 -0
  15. package/dist/cjs/errors/not-found.js +38 -0
  16. package/dist/cjs/errors/not-found.js.map +1 -0
  17. package/dist/cjs/errors/rate-limit.js +53 -0
  18. package/dist/cjs/errors/rate-limit.js.map +1 -0
  19. package/dist/cjs/errors/validation.js +49 -0
  20. package/dist/cjs/errors/validation.js.map +1 -0
  21. package/dist/cjs/http/client.js +393 -0
  22. package/dist/cjs/http/client.js.map +1 -0
  23. package/dist/cjs/http/index.js +11 -0
  24. package/dist/cjs/http/index.js.map +1 -0
  25. package/dist/cjs/http/retry.js +43 -0
  26. package/dist/cjs/http/retry.js.map +1 -0
  27. package/dist/cjs/index.js +52 -0
  28. package/dist/cjs/index.js.map +1 -0
  29. package/dist/cjs/package.json +1 -0
  30. package/dist/cjs/resources/base.js +43 -0
  31. package/dist/cjs/resources/base.js.map +1 -0
  32. package/dist/cjs/resources/index.js +6 -0
  33. package/dist/cjs/resources/index.js.map +1 -0
  34. package/dist/cjs/types/chain.js +114 -0
  35. package/dist/cjs/types/chain.js.map +1 -0
  36. package/dist/cjs/types/common.js +49 -0
  37. package/dist/cjs/types/common.js.map +1 -0
  38. package/dist/cjs/types/index.js +18 -0
  39. package/dist/cjs/types/index.js.map +1 -0
  40. package/dist/cjs/types/modules.js +64 -0
  41. package/dist/cjs/types/modules.js.map +1 -0
  42. package/dist/cjs/utils/address-validation.js +124 -0
  43. package/dist/cjs/utils/address-validation.js.map +1 -0
  44. package/dist/cjs/utils/index.js +16 -0
  45. package/dist/cjs/utils/index.js.map +1 -0
  46. package/dist/cjs/utils/url-validation.js +31 -0
  47. package/dist/cjs/utils/url-validation.js.map +1 -0
  48. package/dist/esm/client-base.js +130 -0
  49. package/dist/esm/client-base.js.map +1 -0
  50. package/dist/esm/config.js +26 -0
  51. package/dist/esm/config.js.map +1 -0
  52. package/dist/esm/errors/authentication.js +31 -0
  53. package/dist/esm/errors/authentication.js.map +1 -0
  54. package/dist/esm/errors/base.js +72 -0
  55. package/dist/esm/errors/base.js.map +1 -0
  56. package/dist/esm/errors/index.js +7 -0
  57. package/dist/esm/errors/index.js.map +1 -0
  58. package/dist/esm/errors/network.js +41 -0
  59. package/dist/esm/errors/network.js.map +1 -0
  60. package/dist/esm/errors/not-found.js +34 -0
  61. package/dist/esm/errors/not-found.js.map +1 -0
  62. package/dist/esm/errors/rate-limit.js +49 -0
  63. package/dist/esm/errors/rate-limit.js.map +1 -0
  64. package/dist/esm/errors/validation.js +45 -0
  65. package/dist/esm/errors/validation.js.map +1 -0
  66. package/dist/esm/http/client.js +389 -0
  67. package/dist/esm/http/client.js.map +1 -0
  68. package/dist/esm/http/index.js +3 -0
  69. package/dist/esm/http/index.js.map +1 -0
  70. package/dist/esm/http/retry.js +37 -0
  71. package/dist/esm/http/retry.js.map +1 -0
  72. package/dist/esm/index.js +15 -0
  73. package/dist/esm/index.js.map +1 -0
  74. package/dist/esm/package.json +1 -0
  75. package/dist/esm/resources/base.js +39 -0
  76. package/dist/esm/resources/base.js.map +1 -0
  77. package/dist/esm/resources/index.js +2 -0
  78. package/dist/esm/resources/index.js.map +1 -0
  79. package/dist/esm/types/chain.js +109 -0
  80. package/dist/esm/types/chain.js.map +1 -0
  81. package/dist/esm/types/common.js +46 -0
  82. package/dist/esm/types/common.js.map +1 -0
  83. package/dist/esm/types/index.js +4 -0
  84. package/dist/esm/types/index.js.map +1 -0
  85. package/dist/esm/types/modules.js +61 -0
  86. package/dist/esm/types/modules.js.map +1 -0
  87. package/dist/esm/utils/address-validation.js +113 -0
  88. package/dist/esm/utils/address-validation.js.map +1 -0
  89. package/dist/esm/utils/index.js +3 -0
  90. package/dist/esm/utils/index.js.map +1 -0
  91. package/dist/esm/utils/url-validation.js +28 -0
  92. package/dist/esm/utils/url-validation.js.map +1 -0
  93. package/dist/types/client-base.d.ts +90 -0
  94. package/dist/types/client-base.d.ts.map +1 -0
  95. package/dist/types/config.d.ts +124 -0
  96. package/dist/types/config.d.ts.map +1 -0
  97. package/dist/types/errors/authentication.d.ts +24 -0
  98. package/dist/types/errors/authentication.d.ts.map +1 -0
  99. package/dist/types/errors/base.d.ts +53 -0
  100. package/dist/types/errors/base.d.ts.map +1 -0
  101. package/dist/types/errors/index.d.ts +7 -0
  102. package/dist/types/errors/index.d.ts.map +1 -0
  103. package/dist/types/errors/network.d.ts +30 -0
  104. package/dist/types/errors/network.d.ts.map +1 -0
  105. package/dist/types/errors/not-found.d.ts +27 -0
  106. package/dist/types/errors/not-found.d.ts.map +1 -0
  107. package/dist/types/errors/rate-limit.d.ts +37 -0
  108. package/dist/types/errors/rate-limit.d.ts.map +1 -0
  109. package/dist/types/errors/validation.d.ts +34 -0
  110. package/dist/types/errors/validation.d.ts.map +1 -0
  111. package/dist/types/http/client.d.ts +160 -0
  112. package/dist/types/http/client.d.ts.map +1 -0
  113. package/dist/types/http/index.d.ts +3 -0
  114. package/dist/types/http/index.d.ts.map +1 -0
  115. package/dist/types/http/retry.d.ts +32 -0
  116. package/dist/types/http/retry.d.ts.map +1 -0
  117. package/dist/types/index.d.ts +8 -0
  118. package/dist/types/index.d.ts.map +1 -0
  119. package/dist/types/resources/base.d.ts +26 -0
  120. package/dist/types/resources/base.d.ts.map +1 -0
  121. package/dist/types/resources/index.d.ts +2 -0
  122. package/dist/types/resources/index.d.ts.map +1 -0
  123. package/dist/types/types/chain.d.ts +60 -0
  124. package/dist/types/types/chain.d.ts.map +1 -0
  125. package/dist/types/types/common.d.ts +251 -0
  126. package/dist/types/types/common.d.ts.map +1 -0
  127. package/dist/types/types/index.d.ts +5 -0
  128. package/dist/types/types/index.d.ts.map +1 -0
  129. package/dist/types/types/modules.d.ts +51 -0
  130. package/dist/types/types/modules.d.ts.map +1 -0
  131. package/dist/types/utils/address-validation.d.ts +50 -0
  132. package/dist/types/utils/address-validation.d.ts.map +1 -0
  133. package/dist/types/utils/index.d.ts +3 -0
  134. package/dist/types/utils/index.d.ts.map +1 -0
  135. package/dist/types/utils/url-validation.d.ts +16 -0
  136. package/dist/types/utils/url-validation.d.ts.map +1 -0
  137. package/package.json +64 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/http/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,aAAa,EACb,YAAY,GACb,MAAM,WAAW,CAAC;AACnB,OAAO,EAEL,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,GACN,MAAM,SAAS,CAAC;AACjB,OAAO,EAAqB,aAAa,EAAE,MAAM,WAAW,CAAC;AA6D7D;;GAEG;AACH,MAAM,OAAO,UAAU;IACJ,OAAO,CAAS;IAChB,cAAc,CAAyB;IACvC,cAAc,CAAS;IACvB,WAAW,CAAc;IACzB,mBAAmB,GAAyB,EAAE,CAAC;IAC/C,oBAAoB,GAA0B,EAAE,CAAC;IACjD,iBAAiB,GAAuB,EAAE,CAAC;IAC3C,KAAK,CAAY;IACjB,MAAM,CAAS;IAEhC,YAAY,MAAwB;QAClC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,wBAAwB;QAC1E,IAAI,CAAC,cAAc,GAAG;YACpB,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,kBAAkB;YAC1B,GAAG,MAAM,CAAC,OAAO;SAClB,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;QAC9C,IAAI,CAAC,WAAW,GAAG,EAAE,GAAG,oBAAoB,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAChE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,aAAa,CAAC;IAC/C,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC;IAClF,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC;IACnF,CAAC;IAED;;OAEG;IACK,eAAe;QACrB,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC;IAChF,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,MAAc,EAAE,GAAW,EAAE,IAAc;QAC5D,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,IAAI,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,MAAc,EAAE,GAAW,EAAE,MAAc,EAAE,QAAgB;QAC/E,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,IAAI,GAAG,IAAI,MAAM,KAAK,QAAQ,KAAK,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,MAAc,EAAE,GAAW,EAAE,KAAkB;QAC9D,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,EAAE;gBACxE,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,YAAY,CAAC,IAAa;QAChC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,4BAA4B;QAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,CAAC;QAED,gDAAgD;QAChD,MAAM,SAAS,GAA4B,EAAE,CAAC;QAC9C,MAAM,aAAa,GAAG;YACpB,QAAQ;YACR,SAAS;YACT,QAAQ;YACR,UAAU;YACV,OAAO;YACP,eAAe;YACf,MAAM;YACN,aAAa;YACb,QAAQ;SACT,CAAC;QAEF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAC9C,SAAS,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;YAChC,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACvD,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACzB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,WAA+B;QACnD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,WAAgC;QACrD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,WAA6B;QAC/C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAI,IAAY,EAAE,MAA0B;QACnD,OAAO,IAAI,CAAC,OAAO,CAAI,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CACR,IAAY,EACZ,IAAc,EACd,MAA0B;QAE1B,OAAO,IAAI,CAAC,OAAO,CAAI,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAI,IAAY,EAAE,IAAc,EAAE,MAA0B;QACnE,OAAO,IAAI,CAAC,OAAO,CAAI,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CACT,IAAY,EACZ,IAAc,EACd,MAA0B;QAE1B,OAAO,IAAI,CAAC,OAAO,CAAI,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAI,IAAY,EAAE,MAA0B;QACtD,OAAO,IAAI,CAAC,OAAO,CAAI,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,OAAO,CAAI,IAAY,EAAE,SAA4B,EAAE;QACnE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;QAEzE,6BAA6B;QAC7B,IAAI,WAAW,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAChC,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACnD,WAAW,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,SAAkC,CAAC;QACvC,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,OAAO,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YAC9C,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAI,GAAG,EAAE,WAAW,CAAC,CAAC;gBAEhE,8BAA8B;gBAC9B,IAAI,aAAa,GAAoB,QAAQ,CAAC;gBAC9C,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBACpD,aAAa,GAAG,CAAC,MAAM,WAAW,CAAC,aAAa,CAAC,CAAoB,CAAC;gBACxE,CAAC;gBAED,OAAO,aAAa,CAAC;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,KAAK,YAAY,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAEzE,2BAA2B;gBAC3B,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACjD,SAAS,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,CAAC;gBAC3C,CAAC;gBAED,2BAA2B;gBAC3B,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;oBACvE,MAAM,SAAS,CAAC;gBAClB,CAAC;gBAED,wBAAwB;gBACxB,MAAM,UAAU,GAAG,SAAS,YAAY,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC1F,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;gBAEzE,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;gBACnB,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,MAAM,SAAS,IAAI,IAAI,YAAY,CAAC,kCAAkC,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAC1B,GAAW,EACX,MAAyB;QAEzB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC;QACtD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,UAAU,GAAG,IAAI,CAAC;YAClB,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC,EAAE,OAAO,CAAC,CAAC;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,2BAA2B;QAC3B,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAE1C,6CAA6C;QAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM;YAC1B,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;YAC5D,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;QAEtB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,MAAM;gBACN,OAAO,EAAE;oBACP,GAAG,IAAI,CAAC,cAAc;oBACtB,GAAG,MAAM,CAAC,OAAO;iBAClB;gBACD,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC3D,MAAM;aACP,CAAC,CAAC;YAEH,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAExC,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC;YAEpE,0BAA0B;YAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;gBAC3E,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBAClC,MAAM,KAAK,CAAC;YACd,CAAC;YAED,0BAA0B;YAC1B,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAEzD,sBAAsB;YACtB,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACzD,IAAI,IAAO,CAAC;YAEZ,IAAI,WAAW,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC9C,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAiB,CAAC;YACjD,CAAC;YAED,OAAO;gBACL,IAAI;gBACJ,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,SAAS;aACV,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,YAAY,CAAC,SAAS,CAAC,CAAC;YAExB,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;gBACjC,MAAM,KAAK,CAAC;YACd,CAAC;YAED,sBAAsB;YACtB,IAAI,YAA0B,CAAC;YAC/B,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAChC,0DAA0D;oBAC1D,IAAI,UAAU,EAAE,CAAC;wBACf,YAAY,GAAG,IAAI,YAAY,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;oBACxF,CAAC;yBAAM,CAAC;wBACN,YAAY,GAAG,IAAI,YAAY,CAAC,qCAAqC,EAAE;4BACrE,KAAK,EAAE,KAAK;4BACZ,QAAQ,EAAE,GAAG;yBACd,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,YAAY,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,IAAI,YAAY,CAAC,2BAA2B,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;YAClF,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;YACzC,MAAM,YAAY,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CACnC,QAAkB,EAClB,SAAkB,EAClB,QAAiB;QAEjB,IAAI,SAAS,GAA4E,EAAE,CAAC;QAE5F,IAAI,CAAC;YACH,SAAS,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqB,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,2BAA2B;QAC7B,CAAC;QAED,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,KAAK,IAAI,QAAQ,CAAC,UAAU,CAAC;QAE5E,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;YACxB,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACN,OAAO,IAAI,mBAAmB,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;YAEnE,KAAK,GAAG;gBACN,OAAO,IAAI,aAAa,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;YAE7D,KAAK,GAAG,CAAC,CAAC,CAAC;gBACT,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBAC1D,OAAO,IAAI,cAAc,CAAC,OAAO,EAAE;oBACjC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;oBAC5C,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;oBACtC,SAAS;oBACT,QAAQ;iBACT,CAAC,CAAC;YACL,CAAC;YAED,KAAK,GAAG;gBACN,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE;oBAClC,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,SAAS;oBACT,QAAQ;iBACT,CAAC,CAAC;YAEL;gBACE,IAAI,qBAAqB,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC7D,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE;wBAC/B,KAAK,EAAE,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;wBAC3C,QAAQ;qBACT,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE;oBAC9B,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,IAAI,EAAE,WAAW;oBACjB,SAAS;oBACT,QAAQ;iBACT,CAAC,CAAC;QACP,CAAC;IACH,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,KAAc;QAC9B,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,YAAY,CAAC,2BAA2B,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;;;;;OAUG;IACK,eAAe,CAAC,KAAoB;QAC1C,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAE7B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAEnC,gFAAgF;QAChF,sBAAsB;QACtB,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,sEAAsE;QACtE,MAAM,uBAAuB,GAAG,GAAG,CAAC;QACpC,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,GAAG,OAAsB;QACnD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QAEzC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAChC,MAAM;YACR,CAAC;YACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1F,CAAC;QAED,OAAO,UAAU,CAAC,MAAM,CAAC;IAC3B,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ export { HttpClient, } from './client.js';
2
+ export { DEFAULT_RETRY_CONFIG, calculateRetryDelay, isRetryableStatusCode, sleep, } from './retry.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,GAOX,MAAM,UAAU,CAAC;AAElB,OAAO,EAEL,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,GACN,MAAM,SAAS,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Default retry configuration
3
+ */
4
+ export const DEFAULT_RETRY_CONFIG = {
5
+ maxRetries: 3,
6
+ initialDelay: 1000,
7
+ maxDelay: 30000,
8
+ backoffMultiplier: 2,
9
+ retryableStatusCodes: [408, 429, 500, 502, 503, 504],
10
+ };
11
+ /**
12
+ * Calculate delay for a retry attempt using exponential backoff with jitter
13
+ */
14
+ export function calculateRetryDelay(attempt, config, retryAfter) {
15
+ // If server provided Retry-After, use it
16
+ if (retryAfter && retryAfter > 0) {
17
+ return Math.min(retryAfter * 1000, config.maxDelay);
18
+ }
19
+ // Exponential backoff with jitter
20
+ const exponentialDelay = config.initialDelay * Math.pow(config.backoffMultiplier, attempt);
21
+ const jitter = Math.random() * 0.3 * exponentialDelay; // 30% jitter
22
+ const delay = exponentialDelay + jitter;
23
+ return Math.min(delay, config.maxDelay);
24
+ }
25
+ /**
26
+ * Check if a status code is retryable
27
+ */
28
+ export function isRetryableStatusCode(statusCode, config) {
29
+ return config.retryableStatusCodes.includes(statusCode);
30
+ }
31
+ /**
32
+ * Sleep for a given number of milliseconds
33
+ */
34
+ export function sleep(ms) {
35
+ return new Promise((resolve) => setTimeout(resolve, ms));
36
+ }
37
+ //# sourceMappingURL=retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../../src/http/retry.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,IAAI;IAClB,QAAQ,EAAE,KAAK;IACf,iBAAiB,EAAE,CAAC;IACpB,oBAAoB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;CACrD,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,MAAmB,EACnB,UAAmB;IAEnB,yCAAyC;IACzC,IAAI,UAAU,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,kCAAkC;IAClC,MAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAC3F,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,gBAAgB,CAAC,CAAC,aAAa;IACpE,MAAM,KAAK,GAAG,gBAAgB,GAAG,MAAM,CAAC;IAExC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAkB,EAAE,MAAmB;IAC3E,OAAO,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,15 @@
1
+ // Configuration
2
+ export { DEFAULT_CONFIG, buildBaseUrl, defaultLogger, } from './config.js';
3
+ // Base client
4
+ export { BaseClient } from './client-base.js';
5
+ // Base resource
6
+ export { BaseResource } from './resources/index.js';
7
+ // HTTP client
8
+ export { HttpClient, DEFAULT_RETRY_CONFIG, } from './http/index.js';
9
+ // Errors
10
+ export { WebacyError, AuthenticationError, RateLimitError, ValidationError, NotFoundError, NetworkError, } from './errors/index.js';
11
+ // Types
12
+ export { Chain, ChainCompatibility, getChainCompatibility, isEvmChain, CHAIN_IDS, CHAIN_NAMES, RiskModule, RiskScore, RiskLevel, TypeOfAddress, TokenStandard, } from './types/index.js';
13
+ // Utilities
14
+ export { isValidAddress, isValidEvmAddress, isValidSolanaAddress, isValidBitcoinAddress, isValidTonAddress, isValidSuiAddress, isValidStellarAddress, normalizeAddress, normalizeEvmAddress, isValidUrl, } from './utils/index.js';
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,OAAO,EAEL,cAAc,EACd,YAAY,EAGZ,aAAa,GACd,MAAM,UAAU,CAAC;AAElB,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,cAAc;AACd,OAAO,EACL,UAAU,EAQV,oBAAoB,GACrB,MAAM,QAAQ,CAAC;AAEhB,SAAS;AACT,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,aAAa,EACb,YAAY,GACb,MAAM,UAAU,CAAC;AAElB,QAAQ;AACR,OAAO,EACL,KAAK,EACL,kBAAkB,EAClB,qBAAqB,EACrB,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,SAAS,EACT,SAAS,EACT,aAAa,EACb,aAAa,GAgBd,MAAM,SAAS,CAAC;AAEjB,YAAY;AACZ,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,GACX,MAAM,SAAS,CAAC"}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1,39 @@
1
+ import { ValidationError } from '../errors/index.js';
2
+ import { CHAIN_NAMES } from '../types/index.js';
3
+ import { isValidAddress } from '../utils/index.js';
4
+ /**
5
+ * Base class for API resources
6
+ *
7
+ * Provides common functionality for chain resolution and address validation
8
+ * that is shared across all resource implementations.
9
+ */
10
+ export class BaseResource {
11
+ httpClient;
12
+ defaultChain;
13
+ constructor(httpClient, defaultChain) {
14
+ this.httpClient = httpClient;
15
+ this.defaultChain = defaultChain;
16
+ }
17
+ /**
18
+ * Resolve the chain to use for a request
19
+ * @throws ValidationError if no chain is specified and no default is set
20
+ */
21
+ resolveChain(options) {
22
+ const chain = options?.chain ?? this.defaultChain;
23
+ if (!chain) {
24
+ throw new ValidationError('Chain is required. Either specify chain in options or set defaultChain in client configuration.');
25
+ }
26
+ return chain;
27
+ }
28
+ /**
29
+ * Validate address format for the given chain
30
+ * @throws ValidationError if address format is invalid for the chain
31
+ */
32
+ validateAddress(address, chain) {
33
+ if (!isValidAddress(address, chain)) {
34
+ const chainName = CHAIN_NAMES[chain] || chain;
35
+ throw new ValidationError(`Invalid ${chainName} address: "${address}". Please provide a valid address format for the ${chainName} blockchain.`);
36
+ }
37
+ }
38
+ }
39
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/resources/base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAS,WAAW,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,OAAgB,YAAY;IAEX;IACA;IAFrB,YACqB,UAAsB,EACtB,YAAoB;QADpB,eAAU,GAAV,UAAU,CAAY;QACtB,iBAAY,GAAZ,YAAY,CAAQ;IACtC,CAAC;IAEJ;;;OAGG;IACO,YAAY,CAAC,OAA2B;QAChD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC;QAClD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,eAAe,CACvB,iGAAiG,CAClG,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACO,eAAe,CAAC,OAAe,EAAE,KAAY;QACrD,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;YAC9C,MAAM,IAAI,eAAe,CACvB,WAAW,SAAS,cAAc,OAAO,oDAAoD,SAAS,cAAc,CACrH,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export { BaseResource } from './base.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Supported blockchain networks
3
+ */
4
+ export var Chain;
5
+ (function (Chain) {
6
+ /** Ethereum Mainnet */
7
+ Chain["ETH"] = "eth";
8
+ /** Ethereum Sepolia Testnet */
9
+ Chain["SEP"] = "sep";
10
+ /** Arbitrum One */
11
+ Chain["ARB"] = "arb";
12
+ /** Polygon (MATIC) */
13
+ Chain["POL"] = "pol";
14
+ /** Solana */
15
+ Chain["SOL"] = "sol";
16
+ /** Optimism */
17
+ Chain["OPT"] = "opt";
18
+ /** Base */
19
+ Chain["BASE"] = "base";
20
+ /** BNB Smart Chain */
21
+ Chain["BSC"] = "bsc";
22
+ /** TON (The Open Network) */
23
+ Chain["TON"] = "ton";
24
+ /** Sei */
25
+ Chain["SEI"] = "sei";
26
+ /** Bitcoin */
27
+ Chain["BTC"] = "btc";
28
+ /** Sui */
29
+ Chain["SUI"] = "sui";
30
+ /** Stellar */
31
+ Chain["STELLAR"] = "stellar";
32
+ })(Chain || (Chain = {}));
33
+ /**
34
+ * Chain compatibility groups for feature detection
35
+ */
36
+ export var ChainCompatibility;
37
+ (function (ChainCompatibility) {
38
+ ChainCompatibility["EVM"] = "EVM";
39
+ ChainCompatibility["SOLANA"] = "SOLANA";
40
+ ChainCompatibility["TON"] = "TON";
41
+ ChainCompatibility["BTC"] = "BTC";
42
+ ChainCompatibility["SEI"] = "SEI";
43
+ ChainCompatibility["SUI"] = "SUI";
44
+ ChainCompatibility["STELLAR"] = "STELLAR";
45
+ })(ChainCompatibility || (ChainCompatibility = {}));
46
+ /**
47
+ * Get the compatibility group for a chain
48
+ */
49
+ export function getChainCompatibility(chain) {
50
+ switch (chain) {
51
+ case Chain.ETH:
52
+ case Chain.SEP:
53
+ case Chain.ARB:
54
+ case Chain.POL:
55
+ case Chain.OPT:
56
+ case Chain.BASE:
57
+ case Chain.BSC:
58
+ return ChainCompatibility.EVM;
59
+ case Chain.SOL:
60
+ return ChainCompatibility.SOLANA;
61
+ case Chain.TON:
62
+ return ChainCompatibility.TON;
63
+ case Chain.BTC:
64
+ return ChainCompatibility.BTC;
65
+ case Chain.SEI:
66
+ return ChainCompatibility.SEI;
67
+ case Chain.SUI:
68
+ return ChainCompatibility.SUI;
69
+ case Chain.STELLAR:
70
+ return ChainCompatibility.STELLAR;
71
+ }
72
+ }
73
+ /**
74
+ * Check if a chain is EVM-compatible
75
+ */
76
+ export function isEvmChain(chain) {
77
+ return getChainCompatibility(chain) === ChainCompatibility.EVM;
78
+ }
79
+ /**
80
+ * Chain ID mapping for EVM chains
81
+ */
82
+ export const CHAIN_IDS = {
83
+ [Chain.ETH]: 1,
84
+ [Chain.SEP]: 11155111,
85
+ [Chain.BSC]: 56,
86
+ [Chain.POL]: 137,
87
+ [Chain.OPT]: 10,
88
+ [Chain.ARB]: 42161,
89
+ [Chain.BASE]: 8453,
90
+ };
91
+ /**
92
+ * Human-readable chain names
93
+ */
94
+ export const CHAIN_NAMES = {
95
+ [Chain.ETH]: 'Ethereum',
96
+ [Chain.SEP]: 'Sepolia',
97
+ [Chain.ARB]: 'Arbitrum',
98
+ [Chain.POL]: 'Polygon',
99
+ [Chain.SOL]: 'Solana',
100
+ [Chain.OPT]: 'Optimism',
101
+ [Chain.BASE]: 'Base',
102
+ [Chain.BSC]: 'BNB Smart Chain',
103
+ [Chain.TON]: 'TON',
104
+ [Chain.SEI]: 'Sei',
105
+ [Chain.BTC]: 'Bitcoin',
106
+ [Chain.SUI]: 'Sui',
107
+ [Chain.STELLAR]: 'Stellar',
108
+ };
109
+ //# sourceMappingURL=chain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/types/chain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Risk score classification
3
+ */
4
+ export var RiskScore;
5
+ (function (RiskScore) {
6
+ RiskScore["HIGH"] = "High Risk";
7
+ RiskScore["MEDIUM"] = "Medium Risk";
8
+ RiskScore["LOW"] = "Low Risk";
9
+ RiskScore["TRUSTED"] = "Trusted";
10
+ RiskScore["UNKNOWN"] = "Unknown";
11
+ })(RiskScore || (RiskScore = {}));
12
+ /**
13
+ * Risk level enum
14
+ */
15
+ export var RiskLevel;
16
+ (function (RiskLevel) {
17
+ RiskLevel["Low"] = "low";
18
+ RiskLevel["Medium"] = "medium";
19
+ RiskLevel["High"] = "high";
20
+ RiskLevel["Suspicious"] = "suspicious";
21
+ })(RiskLevel || (RiskLevel = {}));
22
+ /**
23
+ * Address type classification
24
+ */
25
+ export var TypeOfAddress;
26
+ (function (TypeOfAddress) {
27
+ TypeOfAddress["EOA"] = "EOA";
28
+ TypeOfAddress["CONTRACT"] = "CONTRACT";
29
+ TypeOfAddress["TOKEN"] = "TOKEN";
30
+ TypeOfAddress["CONTRACT_WALLET"] = "CONTRACT_WALLET";
31
+ TypeOfAddress["MULTISIG"] = "MULTISIG";
32
+ })(TypeOfAddress || (TypeOfAddress = {}));
33
+ /**
34
+ * Token standard
35
+ */
36
+ export var TokenStandard;
37
+ (function (TokenStandard) {
38
+ TokenStandard["ERC20"] = "ERC20";
39
+ TokenStandard["ERC721"] = "ERC721";
40
+ TokenStandard["ERC1155"] = "ERC1155";
41
+ TokenStandard["SPL"] = "SPL";
42
+ TokenStandard["JETTON"] = "JETTON";
43
+ TokenStandard["STELLAR_ASSET"] = "STELLAR_ASSET";
44
+ TokenStandard["SUI_COIN"] = "SUI_COIN";
45
+ })(TokenStandard || (TokenStandard = {}));
46
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/types/common.ts"],"names":[],"mappings":"AA8CA;;GAEG;AACH,MAAM,CAAN,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,+BAAkB,CAAA;IAClB,mCAAsB,CAAA;IACtB,6BAAgB,CAAA;IAChB,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;AACrB,CAAC,EANW,SAAS,KAAT,SAAS,QAMpB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,8BAAiB,CAAA;IACjB,0BAAa,CAAA;IACb,sCAAyB,CAAA;AAC3B,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AA2ID;;GAEG;AACH,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACvB,4BAAW,CAAA;IACX,sCAAqB,CAAA;IACrB,gCAAe,CAAA;IACf,oDAAmC,CAAA;IACnC,sCAAqB,CAAA;AACvB,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,aAQX;AARD,WAAY,aAAa;IACvB,gCAAe,CAAA;IACf,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;IACnB,4BAAW,CAAA;IACX,kCAAiB,CAAA;IACjB,gDAA+B,CAAA;IAC/B,sCAAqB,CAAA;AACvB,CAAC,EARW,aAAa,KAAb,aAAa,QAQxB"}
@@ -0,0 +1,4 @@
1
+ export { Chain, ChainCompatibility, getChainCompatibility, isEvmChain, CHAIN_IDS, CHAIN_NAMES, } from './chain.js';
2
+ export { RiskModule } from './modules.js';
3
+ export { RiskScore, RiskLevel, TypeOfAddress, TokenStandard } from './common.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,kBAAkB,EAClB,qBAAqB,EACrB,UAAU,EACV,SAAS,EACT,WAAW,GACZ,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAoBvC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Risk analysis modules available for requests
3
+ *
4
+ * Use these to specify which analysis modules to run when making API requests.
5
+ * Requesting fewer modules can improve response time.
6
+ */
7
+ export var RiskModule;
8
+ (function (RiskModule) {
9
+ // Core security analysis
10
+ /** Contract ownership, upgradeability, access controls */
11
+ RiskModule["GOVERNANCE_ANALYSIS"] = "governance_analysis";
12
+ /** Freezeable, mintable, blacklist, whitelist */
13
+ RiskModule["TOKEN_SECURITY"] = "token_security";
14
+ /** Static/dynamic code analysis, vulnerabilities */
15
+ RiskModule["CONTRACT_ANALYSIS"] = "contract_analysis";
16
+ /** Source code analysis, vulnerabilities */
17
+ RiskModule["SOURCE_CODE_ANALYSIS"] = "source_code_analysis";
18
+ // Financial risk analysis
19
+ /** Price, volatility, market cap, liquidity */
20
+ RiskModule["MARKET_DATA"] = "market_data";
21
+ /** Token distribution, concentration risks */
22
+ RiskModule["HOLDER_ANALYSIS"] = "holder_analysis";
23
+ /** Pool data, unlock schedules, LP analysis */
24
+ RiskModule["LIQUIDITY_ANALYSIS"] = "liquidity_analysis";
25
+ // Fraud and compliance
26
+ /** Hacker, drainer, rugpull detection */
27
+ RiskModule["FRAUD_DETECTION"] = "fraud_detection";
28
+ /** OFAC, sanctioned addresses */
29
+ RiskModule["SANCTIONS_COMPLIANCE"] = "sanctions_compliance";
30
+ /** Tornado cash, coin mixers */
31
+ RiskModule["MIXER_DETECTION"] = "mixer_detection";
32
+ // Address behavior analysis
33
+ /** Trading patterns, automated trading */
34
+ RiskModule["ADDRESS_BEHAVIOR"] = "address_behavior";
35
+ /** Address poisoning, wash trading */
36
+ RiskModule["TRANSACTION_ANALYSIS"] = "transaction_analysis";
37
+ /** Reported addresses, spam detection */
38
+ RiskModule["REPUTATION_ANALYSIS"] = "reputation_analysis";
39
+ // Chain-specific analysis
40
+ /** Solana-only risks (bundling, sniping) */
41
+ RiskModule["SOLANA_SPECIFIC"] = "solana_specific";
42
+ /** EVM-only risks (gas optimization, MEV) */
43
+ RiskModule["EVM_SPECIFIC"] = "evm_specific";
44
+ /** TON-only risks (jetton standards, etc.) */
45
+ RiskModule["TON_SPECIFIC"] = "ton_specific";
46
+ /** SUI-only risks (coin standards, object model) */
47
+ RiskModule["SUI_SPECIFIC"] = "sui_specific";
48
+ // Basic metadata (always fast)
49
+ /** Address type, age, balance checks */
50
+ RiskModule["BASIC_INFO"] = "basic_info";
51
+ // Ultra-fast module for core security flags
52
+ /** Only is_mintable, freezeable, is_metadata_immutable */
53
+ RiskModule["SECURITY_ESSENTIALS"] = "security_essentials";
54
+ // Fast fund flow screening with boolean indicators
55
+ /** Boolean flags for OFAC, hacker, mixer, drainer risks */
56
+ RiskModule["FUND_FLOW_SCREENING"] = "fund_flow_screening";
57
+ // Developer behavior and migration pattern analysis
58
+ /** Multi-platform developer behavior, token launch patterns */
59
+ RiskModule["DEVELOPER_MIGRATION"] = "developer_migration";
60
+ })(RiskModule || (RiskModule = {}));
61
+ //# sourceMappingURL=modules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modules.js","sourceRoot":"","sources":["../../../src/types/modules.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAN,IAAY,UA4DX;AA5DD,WAAY,UAAU;IACpB,yBAAyB;IACzB,0DAA0D;IAC1D,yDAA2C,CAAA;IAC3C,iDAAiD;IACjD,+CAAiC,CAAA;IACjC,oDAAoD;IACpD,qDAAuC,CAAA;IACvC,4CAA4C;IAC5C,2DAA6C,CAAA;IAE7C,0BAA0B;IAC1B,+CAA+C;IAC/C,yCAA2B,CAAA;IAC3B,8CAA8C;IAC9C,iDAAmC,CAAA;IACnC,+CAA+C;IAC/C,uDAAyC,CAAA;IAEzC,uBAAuB;IACvB,yCAAyC;IACzC,iDAAmC,CAAA;IACnC,iCAAiC;IACjC,2DAA6C,CAAA;IAC7C,gCAAgC;IAChC,iDAAmC,CAAA;IAEnC,4BAA4B;IAC5B,0CAA0C;IAC1C,mDAAqC,CAAA;IACrC,sCAAsC;IACtC,2DAA6C,CAAA;IAC7C,yCAAyC;IACzC,yDAA2C,CAAA;IAE3C,0BAA0B;IAC1B,4CAA4C;IAC5C,iDAAmC,CAAA;IACnC,6CAA6C;IAC7C,2CAA6B,CAAA;IAC7B,8CAA8C;IAC9C,2CAA6B,CAAA;IAC7B,oDAAoD;IACpD,2CAA6B,CAAA;IAE7B,+BAA+B;IAC/B,wCAAwC;IACxC,uCAAyB,CAAA;IAEzB,4CAA4C;IAC5C,0DAA0D;IAC1D,yDAA2C,CAAA;IAE3C,mDAAmD;IACnD,2DAA2D;IAC3D,yDAA2C,CAAA;IAE3C,oDAAoD;IACpD,+DAA+D;IAC/D,yDAA2C,CAAA;AAC7C,CAAC,EA5DW,UAAU,KAAV,UAAU,QA4DrB"}
@@ -0,0 +1,113 @@
1
+ import { Chain, isEvmChain } from '../types/index.js';
2
+ /**
3
+ * Validate an Ethereum address format
4
+ */
5
+ export function isValidEvmAddress(address) {
6
+ return /^0x[a-fA-F0-9]{40}$/.test(address);
7
+ }
8
+ /**
9
+ * Validate a Solana address format (base58)
10
+ */
11
+ export function isValidSolanaAddress(address) {
12
+ // Base58 character set (no 0, O, I, l)
13
+ return /^[1-9A-HJ-NP-Za-km-z]{32,44}$/.test(address);
14
+ }
15
+ /**
16
+ * Validate a Bitcoin address format
17
+ */
18
+ export function isValidBitcoinAddress(address) {
19
+ // P2PKH (starts with 1), P2SH (starts with 3), Bech32 (starts with bc1)
20
+ return /^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$/.test(address) || /^bc1[a-z0-9]{39,59}$/.test(address);
21
+ }
22
+ /**
23
+ * Validate a TON address format
24
+ */
25
+ export function isValidTonAddress(address) {
26
+ // Raw format (48 bytes hex with workchain)
27
+ if (/^-?\d:[a-fA-F0-9]{64}$/.test(address)) {
28
+ return true;
29
+ }
30
+ // User-friendly format (base64)
31
+ if (/^[A-Za-z0-9_-]{48}$/.test(address)) {
32
+ return true;
33
+ }
34
+ return false;
35
+ }
36
+ /**
37
+ * Validate a Sui address format
38
+ */
39
+ export function isValidSuiAddress(address) {
40
+ return /^0x[a-fA-F0-9]{64}$/.test(address);
41
+ }
42
+ /**
43
+ * Validate a Stellar address format
44
+ *
45
+ * Supports both:
46
+ * - Standard account ID (G...)
47
+ * - Asset identifier (CODE:ISSUER)
48
+ */
49
+ export function isValidStellarAddress(address) {
50
+ // Standard Stellar account ID
51
+ if (/^G[A-Z2-7]{55}$/.test(address)) {
52
+ return true;
53
+ }
54
+ // Asset identifier (CODE:ISSUER)
55
+ if (/^[A-Za-z0-9]{1,12}:G[A-Z2-7]{55}$/.test(address)) {
56
+ return true;
57
+ }
58
+ return false;
59
+ }
60
+ /**
61
+ * Validate an address for a specific chain
62
+ *
63
+ * @param address - The address to validate
64
+ * @param chain - The blockchain to validate against
65
+ * @returns true if the address is valid for the chain
66
+ */
67
+ export function isValidAddress(address, chain) {
68
+ if (!address || typeof address !== 'string') {
69
+ return false;
70
+ }
71
+ if (isEvmChain(chain)) {
72
+ return isValidEvmAddress(address);
73
+ }
74
+ switch (chain) {
75
+ case Chain.SOL:
76
+ return isValidSolanaAddress(address);
77
+ case Chain.BTC:
78
+ return isValidBitcoinAddress(address);
79
+ case Chain.TON:
80
+ return isValidTonAddress(address);
81
+ case Chain.SUI:
82
+ return isValidSuiAddress(address);
83
+ case Chain.STELLAR:
84
+ return isValidStellarAddress(address);
85
+ default:
86
+ // Unknown chain, allow any non-empty string
87
+ return address.length > 0;
88
+ }
89
+ }
90
+ /**
91
+ * Normalize an EVM address to checksum format
92
+ */
93
+ export function normalizeEvmAddress(address) {
94
+ if (!isValidEvmAddress(address)) {
95
+ throw new Error(`Invalid EVM address: ${address}`);
96
+ }
97
+ return address.toLowerCase();
98
+ }
99
+ /**
100
+ * Normalize an address for a specific chain
101
+ *
102
+ * @param address - The address to normalize
103
+ * @param chain - The blockchain
104
+ * @returns The normalized address
105
+ */
106
+ export function normalizeAddress(address, chain) {
107
+ if (isEvmChain(chain)) {
108
+ return normalizeEvmAddress(address);
109
+ }
110
+ // For non-EVM chains, return as-is
111
+ return address;
112
+ }
113
+ //# sourceMappingURL=address-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address-validation.js","sourceRoot":"","sources":["../../../src/utils/address-validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { isValidAddress, isValidEvmAddress, isValidSolanaAddress, isValidBitcoinAddress, isValidTonAddress, isValidSuiAddress, isValidStellarAddress, normalizeAddress, normalizeEvmAddress, } from './address-validation.js';
2
+ export { isValidUrl } from './url-validation.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Validate that a string is a valid URL
3
+ *
4
+ * @param url - String to validate
5
+ * @returns True if the string is a valid URL
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * isValidUrl('https://example.com'); // true
10
+ * isValidUrl('http://example.com/path?query=1'); // true
11
+ * isValidUrl('not-a-url'); // false
12
+ * isValidUrl(''); // false
13
+ * ```
14
+ */
15
+ export function isValidUrl(url) {
16
+ if (!url || typeof url !== 'string') {
17
+ return false;
18
+ }
19
+ try {
20
+ const parsed = new URL(url);
21
+ // Only allow http and https protocols
22
+ return parsed.protocol === 'http:' || parsed.protocol === 'https:';
23
+ }
24
+ catch {
25
+ return false;
26
+ }
27
+ }
28
+ //# sourceMappingURL=url-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-validation.js","sourceRoot":"","sources":["../../../src/utils/url-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,sCAAsC;QACtC,OAAO,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -0,0 +1,90 @@
1
+ import { WebacyClientConfig } from './config';
2
+ import { HttpClient, HttpResponse, RequestInterceptor, ResponseInterceptor, ErrorInterceptor } from './http';
3
+ import { Chain } from './types';
4
+ /**
5
+ * Base client class for Webacy SDK
6
+ *
7
+ * Provides shared functionality for all Webacy client implementations
8
+ * including HTTP client setup, authentication, and interceptors.
9
+ */
10
+ export declare abstract class BaseClient {
11
+ protected readonly httpClient: HttpClient;
12
+ protected readonly config: Required<Pick<WebacyClientConfig, 'baseUrl' | 'apiVersion' | 'timeout'>> & WebacyClientConfig;
13
+ /**
14
+ * Default chain to use when chain is not specified in API calls
15
+ */
16
+ readonly defaultChain?: Chain;
17
+ constructor(config: WebacyClientConfig);
18
+ /**
19
+ * Add a request interceptor
20
+ *
21
+ * Request interceptors are called before each request is sent.
22
+ * Use them to modify requests, add headers, or log requests.
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * client.addRequestInterceptor((url, config) => {
27
+ * console.log(`Making request to ${url}`);
28
+ * return config;
29
+ * });
30
+ * ```
31
+ */
32
+ addRequestInterceptor(interceptor: RequestInterceptor): void;
33
+ /**
34
+ * Add a response interceptor
35
+ *
36
+ * Response interceptors are called after each successful response.
37
+ * Use them to transform responses or log data.
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * client.addResponseInterceptor((response) => {
42
+ * console.log(`Received ${response.status} response`);
43
+ * return response;
44
+ * });
45
+ * ```
46
+ */
47
+ addResponseInterceptor(interceptor: ResponseInterceptor): void;
48
+ /**
49
+ * Add an error interceptor
50
+ *
51
+ * Error interceptors are called when a request fails.
52
+ * Use them to handle errors globally or transform error types.
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * client.addErrorInterceptor((error) => {
57
+ * if (error instanceof RateLimitError) {
58
+ * console.warn('Rate limited, will retry...');
59
+ * }
60
+ * return error;
61
+ * });
62
+ * ```
63
+ */
64
+ addErrorInterceptor(interceptor: ErrorInterceptor): void;
65
+ /**
66
+ * Make a GET request
67
+ */
68
+ protected get<T>(path: string, options?: RequestOptions): Promise<HttpResponse<T>>;
69
+ /**
70
+ * Make a POST request
71
+ */
72
+ protected post<T>(path: string, body?: unknown, options?: RequestOptions): Promise<HttpResponse<T>>;
73
+ /**
74
+ * Make a PUT request
75
+ */
76
+ protected put<T>(path: string, body?: unknown, options?: RequestOptions): Promise<HttpResponse<T>>;
77
+ /**
78
+ * Make a DELETE request
79
+ */
80
+ protected delete<T>(path: string, options?: RequestOptions): Promise<HttpResponse<T>>;
81
+ }
82
+ /**
83
+ * Options for protected request methods
84
+ */
85
+ interface RequestOptions {
86
+ timeout?: number;
87
+ signal?: AbortSignal;
88
+ }
89
+ export {};
90
+ //# sourceMappingURL=client-base.d.ts.map