@v3finance/core-sdk 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/CHANGELOG.md +397 -7
  2. package/README.md +215 -72
  3. package/dist/cjs/client.d.ts +67 -22
  4. package/dist/cjs/client.d.ts.map +1 -1
  5. package/dist/cjs/client.js +38 -2
  6. package/dist/cjs/client.js.map +1 -1
  7. package/dist/cjs/core/errors.d.ts +30 -10
  8. package/dist/cjs/core/errors.d.ts.map +1 -1
  9. package/dist/cjs/core/errors.js +47 -15
  10. package/dist/cjs/core/errors.js.map +1 -1
  11. package/dist/cjs/core/gated.d.ts +21 -3
  12. package/dist/cjs/core/gated.d.ts.map +1 -1
  13. package/dist/cjs/core/gated.js +12 -3
  14. package/dist/cjs/core/gated.js.map +1 -1
  15. package/dist/cjs/core/http.d.ts +12 -8
  16. package/dist/cjs/core/http.d.ts.map +1 -1
  17. package/dist/cjs/core/http.js +130 -40
  18. package/dist/cjs/core/http.js.map +1 -1
  19. package/dist/cjs/core/pagination.d.ts +28 -1
  20. package/dist/cjs/core/pagination.d.ts.map +1 -1
  21. package/dist/cjs/core/pagination.js +36 -1
  22. package/dist/cjs/core/pagination.js.map +1 -1
  23. package/dist/cjs/generated/operations.js +1 -1
  24. package/dist/cjs/generated/types.d.ts +948 -172
  25. package/dist/cjs/generated/types.d.ts.map +1 -1
  26. package/dist/cjs/index.d.ts +32 -8
  27. package/dist/cjs/index.d.ts.map +1 -1
  28. package/dist/cjs/index.js +12 -0
  29. package/dist/cjs/index.js.map +1 -1
  30. package/dist/cjs/resources/addresses.d.ts +22 -8
  31. package/dist/cjs/resources/addresses.d.ts.map +1 -1
  32. package/dist/cjs/resources/addresses.js +7 -1
  33. package/dist/cjs/resources/addresses.js.map +1 -1
  34. package/dist/cjs/resources/admin.d.ts +150 -25
  35. package/dist/cjs/resources/admin.d.ts.map +1 -1
  36. package/dist/cjs/resources/admin.js +94 -23
  37. package/dist/cjs/resources/admin.js.map +1 -1
  38. package/dist/cjs/resources/approvals.d.ts +46 -5
  39. package/dist/cjs/resources/approvals.d.ts.map +1 -1
  40. package/dist/cjs/resources/approvals.js +27 -4
  41. package/dist/cjs/resources/approvals.js.map +1 -1
  42. package/dist/cjs/resources/balances.d.ts +152 -16
  43. package/dist/cjs/resources/balances.d.ts.map +1 -1
  44. package/dist/cjs/resources/balances.js +9 -5
  45. package/dist/cjs/resources/balances.js.map +1 -1
  46. package/dist/cjs/resources/categories.d.ts +93 -21
  47. package/dist/cjs/resources/categories.d.ts.map +1 -1
  48. package/dist/cjs/resources/categories.js +65 -18
  49. package/dist/cjs/resources/categories.js.map +1 -1
  50. package/dist/cjs/resources/counterparties.d.ts +26 -3
  51. package/dist/cjs/resources/counterparties.d.ts.map +1 -1
  52. package/dist/cjs/resources/counterparties.js +17 -0
  53. package/dist/cjs/resources/counterparties.js.map +1 -1
  54. package/dist/cjs/resources/folders.d.ts +51 -10
  55. package/dist/cjs/resources/folders.d.ts.map +1 -1
  56. package/dist/cjs/resources/folders.js +36 -5
  57. package/dist/cjs/resources/folders.js.map +1 -1
  58. package/dist/cjs/resources/history.d.ts +20 -2
  59. package/dist/cjs/resources/history.d.ts.map +1 -1
  60. package/dist/cjs/resources/history.js.map +1 -1
  61. package/dist/cjs/resources/me.d.ts +27 -4
  62. package/dist/cjs/resources/me.d.ts.map +1 -1
  63. package/dist/cjs/resources/me.js +22 -1
  64. package/dist/cjs/resources/me.js.map +1 -1
  65. package/dist/cjs/resources/members.d.ts +19 -4
  66. package/dist/cjs/resources/members.d.ts.map +1 -1
  67. package/dist/cjs/resources/members.js +15 -6
  68. package/dist/cjs/resources/members.js.map +1 -1
  69. package/dist/cjs/resources/operations.d.ts +64 -8
  70. package/dist/cjs/resources/operations.d.ts.map +1 -1
  71. package/dist/cjs/resources/operations.js +26 -2
  72. package/dist/cjs/resources/operations.js.map +1 -1
  73. package/dist/cjs/resources/registries.d.ts +87 -9
  74. package/dist/cjs/resources/registries.d.ts.map +1 -1
  75. package/dist/cjs/resources/registries.js +54 -11
  76. package/dist/cjs/resources/registries.js.map +1 -1
  77. package/dist/cjs/resources/reports.d.ts +300 -41
  78. package/dist/cjs/resources/reports.d.ts.map +1 -1
  79. package/dist/cjs/resources/reports.js +135 -7
  80. package/dist/cjs/resources/reports.js.map +1 -1
  81. package/dist/cjs/resources/sharing.d.ts +61 -10
  82. package/dist/cjs/resources/sharing.d.ts.map +1 -1
  83. package/dist/cjs/resources/sharing.js +51 -4
  84. package/dist/cjs/resources/sharing.js.map +1 -1
  85. package/dist/cjs/resources/transfers.d.ts +26 -4
  86. package/dist/cjs/resources/transfers.d.ts.map +1 -1
  87. package/dist/cjs/resources/transfers.js +23 -1
  88. package/dist/cjs/resources/transfers.js.map +1 -1
  89. package/dist/cjs/resources/types.d.ts +20 -0
  90. package/dist/cjs/resources/types.d.ts.map +1 -1
  91. package/dist/cjs/units.d.ts.map +1 -1
  92. package/dist/cjs/units.js +18 -2
  93. package/dist/cjs/units.js.map +1 -1
  94. package/dist/cjs/version.d.ts +1 -1
  95. package/dist/cjs/version.js +1 -1
  96. package/dist/esm/client.d.ts +67 -22
  97. package/dist/esm/client.d.ts.map +1 -1
  98. package/dist/esm/client.js +38 -2
  99. package/dist/esm/client.js.map +1 -1
  100. package/dist/esm/core/errors.d.ts +30 -10
  101. package/dist/esm/core/errors.d.ts.map +1 -1
  102. package/dist/esm/core/errors.js +47 -15
  103. package/dist/esm/core/errors.js.map +1 -1
  104. package/dist/esm/core/gated.d.ts +21 -3
  105. package/dist/esm/core/gated.d.ts.map +1 -1
  106. package/dist/esm/core/gated.js +12 -3
  107. package/dist/esm/core/gated.js.map +1 -1
  108. package/dist/esm/core/http.d.ts +12 -8
  109. package/dist/esm/core/http.d.ts.map +1 -1
  110. package/dist/esm/core/http.js +131 -41
  111. package/dist/esm/core/http.js.map +1 -1
  112. package/dist/esm/core/pagination.d.ts +28 -1
  113. package/dist/esm/core/pagination.d.ts.map +1 -1
  114. package/dist/esm/core/pagination.js +36 -1
  115. package/dist/esm/core/pagination.js.map +1 -1
  116. package/dist/esm/generated/operations.js +1 -1
  117. package/dist/esm/generated/types.d.ts +948 -172
  118. package/dist/esm/generated/types.d.ts.map +1 -1
  119. package/dist/esm/index.d.ts +32 -8
  120. package/dist/esm/index.d.ts.map +1 -1
  121. package/dist/esm/index.js +17 -5
  122. package/dist/esm/index.js.map +1 -1
  123. package/dist/esm/resources/addresses.d.ts +22 -8
  124. package/dist/esm/resources/addresses.d.ts.map +1 -1
  125. package/dist/esm/resources/addresses.js +7 -1
  126. package/dist/esm/resources/addresses.js.map +1 -1
  127. package/dist/esm/resources/admin.d.ts +150 -25
  128. package/dist/esm/resources/admin.d.ts.map +1 -1
  129. package/dist/esm/resources/admin.js +94 -23
  130. package/dist/esm/resources/admin.js.map +1 -1
  131. package/dist/esm/resources/approvals.d.ts +46 -5
  132. package/dist/esm/resources/approvals.d.ts.map +1 -1
  133. package/dist/esm/resources/approvals.js +27 -4
  134. package/dist/esm/resources/approvals.js.map +1 -1
  135. package/dist/esm/resources/balances.d.ts +152 -16
  136. package/dist/esm/resources/balances.d.ts.map +1 -1
  137. package/dist/esm/resources/balances.js +9 -5
  138. package/dist/esm/resources/balances.js.map +1 -1
  139. package/dist/esm/resources/categories.d.ts +93 -21
  140. package/dist/esm/resources/categories.d.ts.map +1 -1
  141. package/dist/esm/resources/categories.js +65 -18
  142. package/dist/esm/resources/categories.js.map +1 -1
  143. package/dist/esm/resources/counterparties.d.ts +26 -3
  144. package/dist/esm/resources/counterparties.d.ts.map +1 -1
  145. package/dist/esm/resources/counterparties.js +17 -0
  146. package/dist/esm/resources/counterparties.js.map +1 -1
  147. package/dist/esm/resources/folders.d.ts +51 -10
  148. package/dist/esm/resources/folders.d.ts.map +1 -1
  149. package/dist/esm/resources/folders.js +36 -5
  150. package/dist/esm/resources/folders.js.map +1 -1
  151. package/dist/esm/resources/history.d.ts +20 -2
  152. package/dist/esm/resources/history.d.ts.map +1 -1
  153. package/dist/esm/resources/history.js.map +1 -1
  154. package/dist/esm/resources/me.d.ts +27 -4
  155. package/dist/esm/resources/me.d.ts.map +1 -1
  156. package/dist/esm/resources/me.js +22 -1
  157. package/dist/esm/resources/me.js.map +1 -1
  158. package/dist/esm/resources/members.d.ts +19 -4
  159. package/dist/esm/resources/members.d.ts.map +1 -1
  160. package/dist/esm/resources/members.js +15 -6
  161. package/dist/esm/resources/members.js.map +1 -1
  162. package/dist/esm/resources/operations.d.ts +64 -8
  163. package/dist/esm/resources/operations.d.ts.map +1 -1
  164. package/dist/esm/resources/operations.js +26 -2
  165. package/dist/esm/resources/operations.js.map +1 -1
  166. package/dist/esm/resources/registries.d.ts +87 -9
  167. package/dist/esm/resources/registries.d.ts.map +1 -1
  168. package/dist/esm/resources/registries.js +54 -11
  169. package/dist/esm/resources/registries.js.map +1 -1
  170. package/dist/esm/resources/reports.d.ts +300 -41
  171. package/dist/esm/resources/reports.d.ts.map +1 -1
  172. package/dist/esm/resources/reports.js +135 -7
  173. package/dist/esm/resources/reports.js.map +1 -1
  174. package/dist/esm/resources/sharing.d.ts +61 -10
  175. package/dist/esm/resources/sharing.d.ts.map +1 -1
  176. package/dist/esm/resources/sharing.js +51 -4
  177. package/dist/esm/resources/sharing.js.map +1 -1
  178. package/dist/esm/resources/transfers.d.ts +26 -4
  179. package/dist/esm/resources/transfers.d.ts.map +1 -1
  180. package/dist/esm/resources/transfers.js +23 -1
  181. package/dist/esm/resources/transfers.js.map +1 -1
  182. package/dist/esm/resources/types.d.ts +20 -0
  183. package/dist/esm/resources/types.d.ts.map +1 -1
  184. package/dist/esm/units.d.ts.map +1 -1
  185. package/dist/esm/units.js +18 -2
  186. package/dist/esm/units.js.map +1 -1
  187. package/dist/esm/version.d.ts +1 -1
  188. package/dist/esm/version.js +1 -1
  189. package/docs/concepts.md +191 -0
  190. package/docs/errors.md +471 -0
  191. package/package.json +7 -6
  192. package/src/client.ts +89 -25
  193. package/src/core/errors.ts +49 -15
  194. package/src/core/gated.ts +22 -4
  195. package/src/core/http.ts +156 -46
  196. package/src/core/pagination.ts +38 -1
  197. package/src/generated/operations.ts +1 -1
  198. package/src/generated/types.ts +983 -173
  199. package/src/index.ts +64 -7
  200. package/src/resources/addresses.ts +23 -8
  201. package/src/resources/admin.ts +186 -33
  202. package/src/resources/approvals.ts +55 -9
  203. package/src/resources/balances.ts +186 -14
  204. package/src/resources/categories.ts +125 -30
  205. package/src/resources/counterparties.ts +23 -6
  206. package/src/resources/folders.ts +74 -18
  207. package/src/resources/history.ts +27 -2
  208. package/src/resources/me.ts +30 -5
  209. package/src/resources/members.ts +26 -7
  210. package/src/resources/operations.ts +73 -8
  211. package/src/resources/registries.ts +90 -11
  212. package/src/resources/reports.ts +348 -67
  213. package/src/resources/sharing.ts +71 -18
  214. package/src/resources/transfers.ts +33 -5
  215. package/src/resources/types.ts +20 -0
  216. package/src/units.ts +19 -2
  217. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../src/resources/operations.ts"],"names":[],"mappings":";;;AAAA,6CAAsD;AActD;;;;;;;;GAQG;AACH;IACW,KAAK,CAAY;IACjB,MAAM,CAAQ;IAEvB,YAAY,IAAgB,EAAE,SAAiB;QAC7C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,MAAM,GAAG,IAAA,aAAG,EAAC,SAAS,CAAC,CAAA;IAC9B,CAAC;IAED,GAAG,CAAC,IAAmB,EAAE,WAAmB;QAC1C,OAAO,kBAAkB,IAAI,CAAC,MAAM,eAAe,IAAA,aAAG,EAAC,IAAI,CAAC,IAAI,IAAA,aAAG,EAAC,WAAW,CAAC,EAAE,CAAA;IACpF,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,IAAmB,EAAE,WAAmB;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CACvB,KAAK,EACL,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAC1C,CAAA;IACH,CAAC;IAED,WAAW,CACT,IAAmB,EACnB,WAAmB,EACnB,KAAiC;QAEjC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CACvB,OAAO,EACP,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,EACzC,EAAE,IAAI,EAAE,KAAK,EAAE,CAChB,CAAA;IACH,CAAC;IAED,sEAAsE;IACtE,SAAS,CAAC,IAAmB,EAAE,WAAmB;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CACvB,KAAK,EACL,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,YAAY,CAC3C,CAAA;IACH,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,IAAmB,EAAE,WAAmB;QACpD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAA;IACnF,CAAC;IAED,8BAA8B;IAC9B,aAAa,CAAC,MAAM,GAAe,EAAE;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CACvB,KAAK,EACL,kBAAkB,IAAI,CAAC,MAAM,sBAAsB,EACnD,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CACzB,CAAA;IACH,CAAC;IAED,cAAc,CAAC,KAAkC;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CACvB,MAAM,EACN,kBAAkB,IAAI,CAAC,MAAM,sBAAsB,EACnD,EAAE,IAAI,EAAE,KAAK,EAAE,CAChB,CAAA;IACH,CAAC;IAED,qCAAqC;IACrC,OAAO,CAAC,SAAiB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAkB,IAAI,CAAC,MAAM,aAAa,IAAA,aAAG,EAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IAC9F,CAAC;IAED;;;;;;;OAOG;IACH,iBAAiB,CAAC,MAAM,GAAwB,EAAE;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CACvB,KAAK,EACL,kBAAkB,IAAI,CAAC,MAAM,qBAAqB,EAClD,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CACzB,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../src/resources/operations.ts"],"names":[],"mappings":";;;AAAA,6CAAsD;AAwCtD;;;;;;;;GAQG;AACH;IACW,KAAK,CAAY;IACjB,MAAM,CAAQ;IAEvB,YAAY,IAAgB,EAAE,SAAiB;QAC7C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,MAAM,GAAG,IAAA,aAAG,EAAC,SAAS,CAAC,CAAA;IAC9B,CAAC;IAED,GAAG,CAAC,IAAmB,EAAE,WAAmB;QAC1C,OAAO,kBAAkB,IAAI,CAAC,MAAM,eAAe,IAAA,aAAG,EAAC,IAAI,CAAC,IAAI,IAAA,aAAG,EAAC,WAAW,CAAC,EAAE,CAAA;IACpF,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,IAAmB,EAAE,WAAmB;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CACvB,KAAK,EACL,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAC1C,CAAA;IACH,CAAC;IAED,WAAW,CACT,IAAmB,EACnB,WAAmB,EACnB,KAAiC;QAEjC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CACvB,OAAO,EACP,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,EACzC,EAAE,IAAI,EAAE,KAAK,EAAE,CAChB,CAAA;IACH,CAAC;IAED,sEAAsE;IACtE,SAAS,CAAC,IAAmB,EAAE,WAAmB;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CACvB,KAAK,EACL,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,YAAY,CAC3C,CAAA;IACH,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,aAAa,CACX,IAAmB,EACnB,WAAmB;QAWnB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAA;IACnF,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,MAAM,GAAwB,EAAE;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CACvB,KAAK,EACL,kBAAkB,IAAI,CAAC,MAAM,sBAAsB,EACnD,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CACzB,CAAA;IACH,CAAC;IAED,cAAc,CAAC,KAAkC;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CACvB,MAAM,EACN,kBAAkB,IAAI,CAAC,MAAM,sBAAsB,EACnD,EAAE,IAAI,EAAE,KAAK,EAAE,CAChB,CAAA;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,SAAiB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CACvB,KAAK,EACL,kBAAkB,IAAI,CAAC,MAAM,aAAa,IAAA,aAAG,EAAC,SAAS,CAAC,EAAE,CAC3D,CAAA;IACH,CAAC;IAED;;;;;;;OAOG;IACH,iBAAiB,CAAC,MAAM,GAAwB,EAAE;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CACvB,KAAK,EACL,kBAAkB,IAAI,CAAC,MAAM,qBAAqB,EAClD,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CACzB,CAAA;IACH,CAAC;CACF"}
@@ -1,5 +1,39 @@
1
1
  import type { HttpClient } from '../core/http.js';
2
- import type { CreateNetworkBody, CreateTokenBody, EvaluationRequest, EvaluationResult, Network, PatchNetworkBody, PatchTokenBody, RatesResponse, TokenWithNetwork } from '../generated/types.js';
2
+ import type { AmlValue, CreateNetworkBody, CreateTokenBody, EvaluationRequest, EvaluationResult, Network, PatchNetworkBody, PatchTokenBody, RatesResponse, TokenWithNetwork } from '../generated/types.js';
3
+ /**
4
+ * The AML risk of one address, as `amlScore` returns it.
5
+ *
6
+ * Hand-written because the API declares this body inline rather than as a
7
+ * named schema, so `src/generated/types.ts` has no name for it. The risk
8
+ * LEVEL is reused from the generated policy selector (`AmlValue.minLevel`):
9
+ * one list, so a sixth level added to the API cannot be read here as five.
10
+ */
11
+ export interface AmlScore {
12
+ address: string;
13
+ /** `tron` or `ethereum`, decided by the shape of the address. */
14
+ network: string;
15
+ /** 0–10. Do not threshold on it — see `level`. */
16
+ score: number;
17
+ /**
18
+ * Branch on THIS, not on `score`: the provider recalibrates its scores and
19
+ * ships its own thresholds with every answer, so a rule written in numbers
20
+ * drifts with their calibration while the level stays put.
21
+ */
22
+ level: AmlValue['minLevel'];
23
+ /** Themes of the address's links: `Blacklisted`, `Sanction list`, `Exchange`… */
24
+ categories: Array<{
25
+ name: string;
26
+ count: number;
27
+ }>;
28
+ /** Counts of linked entities per level, plus incoming/outgoing/total. */
29
+ summary: Record<string, number> | null;
30
+ /** When the PROVIDER ran the check. */
31
+ checkedAt: string;
32
+ /** When we received it. With `cached: true` this is the age of the cache entry. */
33
+ fetchedAt: string;
34
+ /** `true` — served from the 24h cache, no external call was made. */
35
+ cached: boolean;
36
+ }
3
37
  /**
4
38
  * Registries and preflight checks. Not scoped to a vault.
5
39
  *
@@ -16,8 +50,21 @@ export declare class RegistriesResource {
16
50
  network?: string;
17
51
  enabled?: boolean;
18
52
  }): Promise<TokenWithNetwork[]>;
19
- /** USD rates used to value operations. */
20
- rates(): Promise<RatesResponse>;
53
+ /**
54
+ * USD rates used to value operations.
55
+ *
56
+ * `codes` narrows the answer to the tokens you name; without it every
57
+ * enabled token of the registry comes back. The parameter goes out as one
58
+ * comma-separated value, which is what the endpoint parses — an array is
59
+ * joined for you.
60
+ *
61
+ * Rates are fetched live on every call and NOT cached, so this is the
62
+ * "right now" figure. The rate stored on an operation is a separate thing:
63
+ * a snapshot taken when it was created.
64
+ */
65
+ rates(params?: {
66
+ codes?: string | readonly string[] | undefined;
67
+ }): Promise<RatesResponse>;
21
68
  /**
22
69
  * Asks the policy engine what would happen, without doing it.
23
70
  *
@@ -30,16 +77,47 @@ export declare class RegistriesResource {
30
77
  * • it has no verdict for "there is nobody to sign". A chain that cannot
31
78
  * be satisfied still previews as `requireApproval`, and the refusal
32
79
  * arrives only when the request is actually created.
80
+ *
81
+ * `explain: true` adds a per-policy TRACE to the answer — why each policy
82
+ * did or did not apply, the main tool for debugging a rule set. All four
83
+ * decisions carry it then, a bare `deny` included, which is where it earns
84
+ * its keep: one entry per ENABLED policy the person has for this action,
85
+ * saying whether it applied and, for one that did not, the selector it
86
+ * failed on when one can be named. Somebody with no such policy gets an
87
+ * empty array rather than no key.
88
+ *
89
+ * Without the flag there is no `trace` at all. `EvaluationResult` keeps the
90
+ * field optional on every branch for that reason: the document describes
91
+ * both modes with one schema. The verdict itself is computed the same way
92
+ * either way.
33
93
  */
34
- evaluate(input: EvaluationRequest): Promise<EvaluationResult>;
94
+ evaluate(input: EvaluationRequest, options?: {
95
+ explain?: boolean | undefined;
96
+ }): Promise<EvaluationResult>;
35
97
  /**
36
- * Current AML risk of an address.
98
+ * Current AML risk of an address. Call it BEFORE sending: the transfer form
99
+ * should show the recipient's risk before the button is pressed, not after.
100
+ *
101
+ * "Not checked" is NOT a value of `level` here. This endpoint either
102
+ * answers with a level or fails — 502 `AML_UNAVAILABLE` when the provider
103
+ * times out, 5xxs, or has no key configured, and 400 when the address
104
+ * matches neither the TRON nor the Ethereum shape. Treat the 502 as
105
+ * "could not check", never as a green badge; the `null` level that means
106
+ * "nobody ever checked" lives on OPERATIONS, not on this answer.
107
+ *
108
+ * What comes back is a snapshot cached for 24 hours — `cached` says whether
109
+ * an external call happened. `refresh` forces a fresh one and is the only
110
+ * way past the cache, so it belongs on an explicit user action ("check
111
+ * again"): it is slower and costs a provider call every time.
37
112
  *
38
- * A missing level means NOT CHECKED, not "no risk" — a green badge on an
39
- * unchecked address misleads about money. The level, not the numeric score,
40
- * is the stable contract: providers recalibrate scores.
113
+ * Note what this is NOT: the risk recorded on a transfer or a deposit is a
114
+ * separate snapshot taken at the moment of the operation. This figure moves
115
+ * over time, so it will disagree with the one stored on an old operation,
116
+ * and that is the point of storing it there.
41
117
  */
42
- amlScore(address: string): Promise<unknown>;
118
+ amlScore(address: string, options?: {
119
+ refresh?: boolean | undefined;
120
+ }): Promise<AmlScore>;
43
121
  /**
44
122
  * Registering a network. Administrators only.
45
123
  *
@@ -1 +1 @@
1
- {"version":3,"file":"registries.d.ts","sourceRoot":"","sources":["../../../src/resources/registries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,OAAO,EACP,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,gBAAgB,EACjB,MAAM,uBAAuB,CAAA;AAE9B;;;;;;;GAOG;AACH,qBAAa,kBAAkB;;IAG7B,YAAY,IAAI,EAAE,UAAU,EAE3B;IAED,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAE7B;IAED,MAAM,CAAC,MAAM,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAExF;IAED,0CAA0C;IAC1C,KAAK,IAAI,OAAO,CAAC,aAAa,CAAC,CAE9B;IAED;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAE5D;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE1C;IAED;;;;;;OAMG;IACH,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAExD;IAED,2BAA2B;IAC3B,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAI1E;IAED;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAE7D;IAED;;;;OAIG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAI7E;CACF"}
1
+ {"version":3,"file":"registries.d.ts","sourceRoot":"","sources":["../../../src/resources/registries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EACV,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,OAAO,EACP,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,gBAAgB,EACjB,MAAM,uBAAuB,CAAA;AAE9B;;;;;;;GAOG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAA;IACf,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAA;IACb;;;;OAIG;IACH,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAC3B,iFAAiF;IACjF,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAClD,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAA;IACtC,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAA;IACjB,mFAAmF;IACnF,SAAS,EAAE,MAAM,CAAA;IACjB,qEAAqE;IACrE,MAAM,EAAE,OAAO,CAAA;CAChB;AAED;;;;;;;GAOG;AACH,qBAAa,kBAAkB;;IAG7B,YAAY,IAAI,EAAE,UAAU,EAE3B;IAED,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAE7B;IAED,MAAM,CAAC,MAAM,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAExF;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,MAAM,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;KAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CAE7F;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,QAAQ,CACN,KAAK,EAAE,iBAAiB,EACxB,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAAO,GAC9C,OAAO,CAAC,gBAAgB,CAAC,CAK3B;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAI5F;IAED;;;;;;OAMG;IACH,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAExD;IAED,2BAA2B;IAC3B,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAI1E;IAED;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAE7D;IAED;;;;OAIG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAI7E;CACF"}
@@ -20,9 +20,20 @@ class RegistriesResource {
20
20
  tokens(params = {}) {
21
21
  return this.#http.request('GET', '/api/v1/tokens', { query: { ...params } });
22
22
  }
23
- /** USD rates used to value operations. */
24
- rates() {
25
- return this.#http.request('GET', '/api/v1/rates');
23
+ /**
24
+ * USD rates used to value operations.
25
+ *
26
+ * `codes` narrows the answer to the tokens you name; without it every
27
+ * enabled token of the registry comes back. The parameter goes out as one
28
+ * comma-separated value, which is what the endpoint parses — an array is
29
+ * joined for you.
30
+ *
31
+ * Rates are fetched live on every call and NOT cached, so this is the
32
+ * "right now" figure. The rate stored on an operation is a separate thing:
33
+ * a snapshot taken when it was created.
34
+ */
35
+ rates(params = {}) {
36
+ return this.#http.request('GET', '/api/v1/rates', { query: { ...params } });
26
37
  }
27
38
  /**
28
39
  * Asks the policy engine what would happen, without doing it.
@@ -36,19 +47,51 @@ class RegistriesResource {
36
47
  * • it has no verdict for "there is nobody to sign". A chain that cannot
37
48
  * be satisfied still previews as `requireApproval`, and the refusal
38
49
  * arrives only when the request is actually created.
50
+ *
51
+ * `explain: true` adds a per-policy TRACE to the answer — why each policy
52
+ * did or did not apply, the main tool for debugging a rule set. All four
53
+ * decisions carry it then, a bare `deny` included, which is where it earns
54
+ * its keep: one entry per ENABLED policy the person has for this action,
55
+ * saying whether it applied and, for one that did not, the selector it
56
+ * failed on when one can be named. Somebody with no such policy gets an
57
+ * empty array rather than no key.
58
+ *
59
+ * Without the flag there is no `trace` at all. `EvaluationResult` keeps the
60
+ * field optional on every branch for that reason: the document describes
61
+ * both modes with one schema. The verdict itself is computed the same way
62
+ * either way.
39
63
  */
40
- evaluate(input) {
41
- return this.#http.request('POST', '/api/v1/evaluate', { body: input });
64
+ evaluate(input, options = {}) {
65
+ return this.#http.request('POST', '/api/v1/evaluate', {
66
+ body: input,
67
+ query: { ...options },
68
+ });
42
69
  }
43
70
  /**
44
- * Current AML risk of an address.
71
+ * Current AML risk of an address. Call it BEFORE sending: the transfer form
72
+ * should show the recipient's risk before the button is pressed, not after.
73
+ *
74
+ * "Not checked" is NOT a value of `level` here. This endpoint either
75
+ * answers with a level or fails — 502 `AML_UNAVAILABLE` when the provider
76
+ * times out, 5xxs, or has no key configured, and 400 when the address
77
+ * matches neither the TRON nor the Ethereum shape. Treat the 502 as
78
+ * "could not check", never as a green badge; the `null` level that means
79
+ * "nobody ever checked" lives on OPERATIONS, not on this answer.
45
80
  *
46
- * A missing level means NOT CHECKED, not "no risk" — a green badge on an
47
- * unchecked address misleads about money. The level, not the numeric score,
48
- * is the stable contract: providers recalibrate scores.
81
+ * What comes back is a snapshot cached for 24 hours — `cached` says whether
82
+ * an external call happened. `refresh` forces a fresh one and is the only
83
+ * way past the cache, so it belongs on an explicit user action ("check
84
+ * again"): it is slower and costs a provider call every time.
85
+ *
86
+ * Note what this is NOT: the risk recorded on a transfer or a deposit is a
87
+ * separate snapshot taken at the moment of the operation. This figure moves
88
+ * over time, so it will disagree with the one stored on an old operation,
89
+ * and that is the point of storing it there.
49
90
  */
50
- amlScore(address) {
51
- return this.#http.request('GET', '/api/v1/aml/score', { query: { address } });
91
+ amlScore(address, options = {}) {
92
+ return this.#http.request('GET', '/api/v1/aml/score', {
93
+ query: { address, ...options },
94
+ });
52
95
  }
53
96
  /**
54
97
  * Registering a network. Administrators only.
@@ -1 +1 @@
1
- {"version":3,"file":"registries.js","sourceRoot":"","sources":["../../../src/resources/registries.ts"],"names":[],"mappings":";;;AAaA;;;;;;;GAOG;AACH;IACW,KAAK,CAAY;IAE1B,YAAY,IAAgB;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACnB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,KAAK,EAAE,kBAAkB,CAAC,CAAA;IACjE,CAAC;IAED,MAAM,CAAC,MAAM,GAA4C,EAAE;QACzD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAqB,KAAK,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAA;IAClG,CAAC;IAED,0CAA0C;IAC1C,KAAK;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,KAAK,EAAE,eAAe,CAAC,CAAA;IAClE,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,KAAwB;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,MAAM,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAC1F,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,OAAe;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;IAC/E,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CAAC,KAAwB;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAU,MAAM,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACjF,CAAC;IAED,2BAA2B;IAC3B,aAAa,CAAC,SAAiB,EAAE,KAAuB;QACtD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAU,OAAO,EAAE,oBAAoB,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAAE;YAC/F,IAAI,EAAE,KAAK;SACZ,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,KAAsB;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,MAAM,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACxF,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,OAAe,EAAE,KAAqB;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,OAAO,EAAE,kBAAkB,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE;YACpG,IAAI,EAAE,KAAK;SACZ,CAAC,CAAA;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"registries.js","sourceRoot":"","sources":["../../../src/resources/registries.ts"],"names":[],"mappings":";;;AA8CA;;;;;;;GAOG;AACH;IACW,KAAK,CAAY;IAE1B,YAAY,IAAgB;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACnB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,KAAK,EAAE,kBAAkB,CAAC,CAAA;IACjE,CAAC;IAED,MAAM,CAAC,MAAM,GAA4C,EAAE;QACzD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAqB,KAAK,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAA;IAClG,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,MAAM,GAAuD,EAAE;QACnE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,KAAK,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAA;IAC5F,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,QAAQ,CACN,KAAwB,EACxB,OAAO,GAAsC,EAAE;QAE/C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,MAAM,EAAE,kBAAkB,EAAE;YACtE,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,CAAC,OAAe,EAAE,OAAO,GAAsC,EAAE;QACvE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAW,KAAK,EAAE,mBAAmB,EAAE;YAC9D,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;SAC/B,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CAAC,KAAwB;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAU,MAAM,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACjF,CAAC;IAED,2BAA2B;IAC3B,aAAa,CAAC,SAAiB,EAAE,KAAuB;QACtD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAU,OAAO,EAAE,oBAAoB,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAAE;YAC/F,IAAI,EAAE,KAAK;SACZ,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,KAAsB;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,MAAM,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACxF,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,OAAe,EAAE,KAAqB;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,OAAO,EAAE,kBAAkB,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE;YACpG,IAAI,EAAE,KAAK;SACZ,CAAC,CAAA;IACJ,CAAC;CACF"}