@v3finance/monitoring-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 (154) hide show
  1. package/CHANGELOG.md +21 -11
  2. package/README.md +223 -148
  3. package/dist/cjs/client.d.ts +23 -42
  4. package/dist/cjs/client.d.ts.map +1 -1
  5. package/dist/cjs/client.js +44 -53
  6. package/dist/cjs/client.js.map +1 -1
  7. package/dist/cjs/core/errors.d.ts +18 -18
  8. package/dist/cjs/core/errors.d.ts.map +1 -1
  9. package/dist/cjs/core/errors.js +17 -17
  10. package/dist/cjs/core/errors.js.map +1 -1
  11. package/dist/cjs/core/http.d.ts +22 -26
  12. package/dist/cjs/core/http.d.ts.map +1 -1
  13. package/dist/cjs/core/http.js +28 -36
  14. package/dist/cjs/core/http.js.map +1 -1
  15. package/dist/cjs/core/pagination.d.ts +6 -7
  16. package/dist/cjs/core/pagination.d.ts.map +1 -1
  17. package/dist/cjs/core/pagination.js +1 -1
  18. package/dist/cjs/core/pagination.js.map +1 -1
  19. package/dist/cjs/core/scope.d.ts +8 -0
  20. package/dist/cjs/core/scope.d.ts.map +1 -0
  21. package/dist/cjs/core/scope.js +3 -0
  22. package/dist/cjs/core/scope.js.map +1 -0
  23. package/dist/cjs/generated/types.d.ts +129 -117
  24. package/dist/cjs/generated/types.d.ts.map +1 -1
  25. package/dist/cjs/generated/types.js +1 -1
  26. package/dist/cjs/generated/types.js.map +1 -1
  27. package/dist/cjs/index.d.ts +6 -6
  28. package/dist/cjs/index.d.ts.map +1 -1
  29. package/dist/cjs/index.js +13 -16
  30. package/dist/cjs/index.js.map +1 -1
  31. package/dist/cjs/resources/account.d.ts +12 -51
  32. package/dist/cjs/resources/account.d.ts.map +1 -1
  33. package/dist/cjs/resources/account.js +17 -61
  34. package/dist/cjs/resources/account.js.map +1 -1
  35. package/dist/cjs/resources/addresses.d.ts +49 -65
  36. package/dist/cjs/resources/addresses.d.ts.map +1 -1
  37. package/dist/cjs/resources/addresses.js +60 -69
  38. package/dist/cjs/resources/addresses.js.map +1 -1
  39. package/dist/cjs/resources/catalog.d.ts +17 -10
  40. package/dist/cjs/resources/catalog.d.ts.map +1 -1
  41. package/dist/cjs/resources/catalog.js +23 -17
  42. package/dist/cjs/resources/catalog.js.map +1 -1
  43. package/dist/cjs/resources/deliveries.d.ts +34 -23
  44. package/dist/cjs/resources/deliveries.d.ts.map +1 -1
  45. package/dist/cjs/resources/deliveries.js +27 -17
  46. package/dist/cjs/resources/deliveries.js.map +1 -1
  47. package/dist/cjs/resources/transactions.d.ts +14 -14
  48. package/dist/cjs/resources/transactions.d.ts.map +1 -1
  49. package/dist/cjs/resources/transactions.js +15 -16
  50. package/dist/cjs/resources/transactions.js.map +1 -1
  51. package/dist/cjs/resources/webhooks.d.ts +22 -0
  52. package/dist/cjs/resources/webhooks.d.ts.map +1 -0
  53. package/dist/cjs/resources/webhooks.js +35 -0
  54. package/dist/cjs/resources/webhooks.js.map +1 -0
  55. package/dist/cjs/units.d.ts +11 -11
  56. package/dist/cjs/units.js +14 -14
  57. package/dist/cjs/units.js.map +1 -1
  58. package/dist/cjs/version.d.ts +3 -3
  59. package/dist/cjs/version.d.ts.map +1 -1
  60. package/dist/cjs/version.js +3 -3
  61. package/dist/cjs/version.js.map +1 -1
  62. package/dist/cjs/webhooks.d.ts +33 -28
  63. package/dist/cjs/webhooks.d.ts.map +1 -1
  64. package/dist/cjs/webhooks.js +33 -28
  65. package/dist/cjs/webhooks.js.map +1 -1
  66. package/dist/esm/client.d.ts +23 -42
  67. package/dist/esm/client.d.ts.map +1 -1
  68. package/dist/esm/client.js +46 -55
  69. package/dist/esm/client.js.map +1 -1
  70. package/dist/esm/core/errors.d.ts +18 -18
  71. package/dist/esm/core/errors.d.ts.map +1 -1
  72. package/dist/esm/core/errors.js +17 -17
  73. package/dist/esm/core/errors.js.map +1 -1
  74. package/dist/esm/core/http.d.ts +22 -26
  75. package/dist/esm/core/http.d.ts.map +1 -1
  76. package/dist/esm/core/http.js +28 -36
  77. package/dist/esm/core/http.js.map +1 -1
  78. package/dist/esm/core/pagination.d.ts +6 -7
  79. package/dist/esm/core/pagination.d.ts.map +1 -1
  80. package/dist/esm/core/pagination.js +1 -1
  81. package/dist/esm/core/pagination.js.map +1 -1
  82. package/dist/esm/core/scope.d.ts +8 -0
  83. package/dist/esm/core/scope.d.ts.map +1 -0
  84. package/dist/esm/core/scope.js +2 -0
  85. package/dist/esm/core/scope.js.map +1 -0
  86. package/dist/esm/generated/types.d.ts +129 -117
  87. package/dist/esm/generated/types.d.ts.map +1 -1
  88. package/dist/esm/generated/types.js +1 -1
  89. package/dist/esm/generated/types.js.map +1 -1
  90. package/dist/esm/index.d.ts +6 -6
  91. package/dist/esm/index.d.ts.map +1 -1
  92. package/dist/esm/index.js +6 -6
  93. package/dist/esm/index.js.map +1 -1
  94. package/dist/esm/resources/account.d.ts +12 -51
  95. package/dist/esm/resources/account.d.ts.map +1 -1
  96. package/dist/esm/resources/account.js +15 -57
  97. package/dist/esm/resources/account.js.map +1 -1
  98. package/dist/esm/resources/addresses.d.ts +49 -65
  99. package/dist/esm/resources/addresses.d.ts.map +1 -1
  100. package/dist/esm/resources/addresses.js +60 -69
  101. package/dist/esm/resources/addresses.js.map +1 -1
  102. package/dist/esm/resources/catalog.d.ts +17 -10
  103. package/dist/esm/resources/catalog.d.ts.map +1 -1
  104. package/dist/esm/resources/catalog.js +23 -17
  105. package/dist/esm/resources/catalog.js.map +1 -1
  106. package/dist/esm/resources/deliveries.d.ts +34 -23
  107. package/dist/esm/resources/deliveries.d.ts.map +1 -1
  108. package/dist/esm/resources/deliveries.js +27 -17
  109. package/dist/esm/resources/deliveries.js.map +1 -1
  110. package/dist/esm/resources/transactions.d.ts +14 -14
  111. package/dist/esm/resources/transactions.d.ts.map +1 -1
  112. package/dist/esm/resources/transactions.js +15 -16
  113. package/dist/esm/resources/transactions.js.map +1 -1
  114. package/dist/esm/resources/webhooks.d.ts +22 -0
  115. package/dist/esm/resources/webhooks.d.ts.map +1 -0
  116. package/dist/esm/resources/webhooks.js +31 -0
  117. package/dist/esm/resources/webhooks.js.map +1 -0
  118. package/dist/esm/units.d.ts +11 -11
  119. package/dist/esm/units.js +14 -14
  120. package/dist/esm/units.js.map +1 -1
  121. package/dist/esm/version.d.ts +3 -3
  122. package/dist/esm/version.d.ts.map +1 -1
  123. package/dist/esm/version.js +3 -3
  124. package/dist/esm/version.js.map +1 -1
  125. package/dist/esm/webhooks.d.ts +33 -28
  126. package/dist/esm/webhooks.d.ts.map +1 -1
  127. package/dist/esm/webhooks.js +33 -28
  128. package/dist/esm/webhooks.js.map +1 -1
  129. package/package.json +8 -5
  130. package/src/client.ts +50 -61
  131. package/src/core/errors.ts +18 -18
  132. package/src/core/http.ts +45 -55
  133. package/src/core/pagination.ts +7 -8
  134. package/src/core/scope.ts +8 -0
  135. package/src/generated/types.ts +139 -125
  136. package/src/index.ts +7 -24
  137. package/src/resources/account.ts +18 -72
  138. package/src/resources/addresses.ts +84 -109
  139. package/src/resources/catalog.ts +28 -19
  140. package/src/resources/deliveries.ts +43 -30
  141. package/src/resources/transactions.ts +18 -17
  142. package/src/resources/webhooks.ts +36 -0
  143. package/src/units.ts +14 -14
  144. package/src/version.ts +3 -3
  145. package/src/webhooks.ts +37 -32
  146. package/dist/cjs/resources/clients.d.ts +0 -84
  147. package/dist/cjs/resources/clients.d.ts.map +0 -1
  148. package/dist/cjs/resources/clients.js +0 -102
  149. package/dist/cjs/resources/clients.js.map +0 -1
  150. package/dist/esm/resources/clients.d.ts +0 -84
  151. package/dist/esm/resources/clients.d.ts.map +0 -1
  152. package/dist/esm/resources/clients.js +0 -97
  153. package/dist/esm/resources/clients.js.map +0 -1
  154. package/src/resources/clients.ts +0 -135
@@ -1 +1 @@
1
- {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/resources/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC3E,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAE/F,6FAA6F;AAC7F,qBAAa,oBAAoB;;IAE/B,YAAY,IAAI,EAAE,UAAU,EAE3B;IAEK,IAAI,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAGtD;IAED;;;OAGG;IACH,MAAM,CAAC,MAAM,GAAE,eAAoB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAEjF;IAEK,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE;CACF;AAED,0BAA0B;AAC1B,qBAAa,eAAe;;IAE1B,mBAAmB;IACnB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAA;IAEnC,YAAY,IAAI,EAAE,UAAU,EAG3B;IAED;;;;;;;;;OASG;IACH,EAAE,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,CAE9C;CACF;AAED,gCAAgC;AAChC,MAAM,WAAW,YAAY;IAC3B,qHAAqH;IACrH,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,IAAI,CAAA;CACX;AAED,qEAAqE;AACrE,qBAAa,YAAY;;IAEvB,YAAY,IAAI,EAAE,UAAU,EAE3B;IAED,yEAAyE;IACzE,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAElG;IAED,iDAAiD;IAC3C,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAErD;IAED;;;;OAIG;IACG,cAAc,CAAC,MAAM,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAErJ;CACF"}
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/resources/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD,wDAAwD;AACxD,qBAAa,eAAe;;IAI1B,gBAAgB;IAChB,YAAY,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAGzD;IAED;;;;;;;;OAQG;IACG,GAAG,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAEnD;IAED,uFAAuF;IACvF,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,CAEpB;CACF"}
@@ -1,69 +1,27 @@
1
- import { seg } from '../core/http.js';
2
- /** Личные ключи: действуют от вашего имени с вашими правами — всё, что вы можете в панели */
3
- export class PersonalKeysResource {
4
- #http;
5
- constructor(http) {
6
- this.#http = http;
7
- }
8
- async list(options) {
9
- const r = await this.#http.request({ method: 'GET', path: '/v1/me/keys', idempotent: true, options });
10
- return r.items;
11
- }
12
- /**
13
- * Выпускает личный ключ. Работает только с клиентом, вошедшим по паролю ({@link MonitoringClient.signIn}):
14
- * ключ не может выпустить себе замену. Полный ключ — в `key`, показывается один раз.
15
- */
16
- create(params = {}, options) {
17
- return this.#http.request({ method: 'POST', path: '/v1/me/keys', body: params, idempotent: false, options });
18
- }
19
- async revoke(keyId, options) {
20
- await this.#http.request({ method: 'DELETE', path: `/v1/me/keys/${seg(keyId)}`, idempotent: true, options });
21
- }
22
- }
23
- /** Кто вы и ваши ключи */
1
+ /** Your client: the account your API key belongs to. */
24
2
  export class AccountResource {
25
- #http;
26
- /** Личные ключи */
27
- keys;
28
- constructor(http) {
29
- this.#http = http;
30
- this.keys = new PersonalKeysResource(http);
3
+ #scope;
4
+ #resolveId;
5
+ /** @internal */
6
+ constructor(scope, resolveId) {
7
+ this.#scope = scope;
8
+ this.#resolveId = resolveId;
31
9
  }
32
10
  /**
33
- * Кто сделал запрос: способ входа, пользователь и участие в клиентах с ролями. Для ключа клиента —
34
- * `actor.kind === 'client-key'` и `actor.clientId`.
11
+ * Retrieves your client, including its webhook URL and status.
35
12
  *
36
13
  * @example
37
14
  * ```ts
38
- * const { actor } = await monitoring.account.me()
39
- * const clientId = actor.clientId // для ключа клиента
15
+ * const account = await monitoring.account.get()
16
+ * console.log(account.webhookUrl, account.status)
40
17
  * ```
41
18
  */
42
- me(options) {
43
- return this.#http.request({ method: 'GET', path: '/v1/me', idempotent: true, options });
19
+ async get(options) {
20
+ return this.#scope.http.request({ method: 'GET', path: await this.#scope.clientPath(), idempotent: true, options });
44
21
  }
45
- }
46
- /** Сессия: выход и смена пароля. Нужен клиент, вошедший по паролю */
47
- export class AuthResource {
48
- #http;
49
- constructor(http) {
50
- this.#http = http;
51
- }
52
- /** Текущая сессия и пользователь; `null` — сессии нет или она истекла */
53
- session(options) {
54
- return this.#http.request({ method: 'GET', path: '/api/auth/get-session', idempotent: true, options });
55
- }
56
- /** Завершает сессию; токен перестаёт работать */
57
- async signOut(options) {
58
- await this.#http.request({ method: 'POST', path: '/api/auth/sign-out', body: {}, idempotent: true, options });
59
- }
60
- /**
61
- * Меняет пароль. Ключом пароль не сменить — только в сессии.
62
- *
63
- * @param params.revokeOtherSessions - завершить остальные сессии
64
- */
65
- async changePassword(params, options) {
66
- await this.#http.request({ method: 'POST', path: '/api/auth/change-password', body: params, idempotent: false, options });
22
+ /** Returns your client ID — the value of the `x-client-id` header on every webhook. */
23
+ id() {
24
+ return this.#resolveId();
67
25
  }
68
26
  }
69
27
  //# sourceMappingURL=account.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/resources/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAwC,MAAM,iBAAiB,CAAA;AAG3E,6FAA6F;AAC7F,MAAM,OAAO,oBAAoB;IACtB,KAAK,CAAY;IAC1B,YAAY,IAAgB;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAwB;QACjC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAsB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QAC1H,OAAO,CAAC,CAAC,KAAK,CAAA;IAChB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,MAAM,GAAoB,EAAE,EAAE,OAAwB;QAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;IAC9G,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,OAAwB;QAClD,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IAC9G,CAAC;CACF;AAED,0BAA0B;AAC1B,MAAM,OAAO,eAAe;IACjB,KAAK,CAAY;IAC1B,mBAAmB;IACV,IAAI,CAAsB;IAEnC,YAAY,IAAgB;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC;IAED;;;;;;;;;OASG;IACH,EAAE,CAAC,OAAwB;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IACzF,CAAC;CACF;AASD,qEAAqE;AACrE,MAAM,OAAO,YAAY;IACd,KAAK,CAAY;IAC1B,YAAY,IAAgB;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACnB,CAAC;IAED,yEAAyE;IACzE,OAAO,CAAC,OAAwB;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IACxG,CAAC;IAED,iDAAiD;IACjD,KAAK,CAAC,OAAO,CAAC,OAAwB;QACpC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IAC/G,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,MAAuF,EAAE,OAAwB;QACpI,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;IAC3H,CAAC;CACF"}
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/resources/account.ts"],"names":[],"mappings":"AAIA,wDAAwD;AACxD,MAAM,OAAO,eAAe;IACjB,MAAM,CAAO;IACb,UAAU,CAAuB;IAE1C,gBAAgB;IAChB,YAAY,KAAY,EAAE,SAAgC;QACxD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;IAC7B,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,GAAG,CAAC,OAAwB;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IACrH,CAAC;IAED,uFAAuF;IACvF,EAAE;QACA,OAAO,IAAI,CAAC,UAAU,EAAE,CAAA;IAC1B,CAAC;CACF"}
@@ -1,109 +1,93 @@
1
- import { type HttpClient, type RequestOptions } from '../core/http.js';
2
- import { type Page } from '../core/pagination.js';
3
- import type { Address, AddressInput, AssetSelection, Direction, UpdateAddressesRequest } from '../generated/types.js';
4
- /** Столько адресов API принимает за один запрос; больше SDK разбивает на пачки сам */
1
+ import type { RequestOptions } from '../core/http.js';
2
+ import type { Scope } from '../core/scope.js';
3
+ import type { AddAddressesResult, Address, AddressInput, AddressPage, AddressRef, AddressUpdate, AssetSelection, Direction, RemoveAddressesResult, UpdateAddressesResult } from '../generated/types.js';
4
+ /** Maximum number of addresses the API accepts per request. Larger lists are split into batches automatically. */
5
5
  export declare const ADDRESS_BATCH_SIZE = 1000;
6
6
  /**
7
- * Подписка по умолчанию для всех адресов запроса — действует на элементы, где своей нет.
8
- * Без неё адрес получает все активы сети в обе стороны.
7
+ * Default subscription for every address in a request that does not set its own. Without it, an address is notified
8
+ * about all assets of its network in both directions.
9
9
  */
10
- export interface AddressDefaults {
11
- /** Символы (`USDT`) или адреса контрактов; `null` — все активы сети, включая добавленные позже */
10
+ export interface SubscriptionDefaults {
11
+ /** Asset symbols (`USDT`) or contract addresses. `null` — all assets of the network, including ones added later. */
12
12
  assets?: AssetSelection;
13
- /** `in` — только входящие, `out` — только исходящие, `both` — любые */
13
+ /** `in` — incoming only, `out` — outgoing only, `both` — either. */
14
14
  direction?: Direction;
15
15
  }
16
- /** Адрес в сети — для снятия с мониторинга */
17
- export interface AddressRef {
18
- /** Сеть: slug (`tron`, `ethereum`) или CAIP-2 (`eip155:1`) */
19
- network: string;
20
- address: string;
21
- }
22
- /** Новая подписка одного адреса; что не передано — не меняется */
23
- export type AddressSubscriptionUpdate = UpdateAddressesRequest['addresses'][number];
24
- export interface AddAddressesResult {
25
- /** Добавлено новых адресов */
26
- added: number;
27
- /** Уже отслеживались — их подписка не менялась */
28
- alreadyWatched: number;
29
- }
30
- export interface UpdateAddressesResult {
31
- /** Найдено и изменено */
32
- updated: number;
33
- /** Не на мониторинге у этого клиента */
34
- notWatched: number;
35
- }
36
- export interface RemoveAddressesResult {
37
- /** Снято с мониторинга */
38
- removed: number;
39
- /** Не отслеживались */
40
- notWatched: number;
41
- }
16
+ /** Parameters of {@link AddressesResource.list}. */
42
17
  export interface ListAddressesParams {
43
- /** Только эта сеть */
18
+ /** Only addresses on this network. */
44
19
  network?: string;
45
- /** Размер страницы, до 5000; по умолчанию 500 */
20
+ /** Page size, up to 5000. Defaults to 500. */
46
21
  limit?: number;
47
- /** Курсор: `next` прошлой страницы */
22
+ /** Cursor: `next` of the previous page. */
48
23
  after?: number;
49
24
  }
50
- /**
51
- * Адреса клиента на мониторинге и их подписка: какие активы и в каком направлении сообщать.
52
- *
53
- * Новый адрес начинает отслеживаться через несколько секунд после добавления.
54
- */
25
+ /** Addresses you monitor and their subscriptions: which assets and which direction you are notified about. */
55
26
  export declare class AddressesResource {
56
27
  #private;
57
- constructor(http: HttpClient);
28
+ /** @internal */
29
+ constructor(scope: Scope);
58
30
  /**
59
- * Страница адресов с подпиской каждого.
31
+ * Lists monitored addresses, one page at a time.
60
32
  *
61
33
  * @example
62
34
  * ```ts
63
- * const page = await monitoring.addresses.list(clientId, { network: 'tron' })
35
+ * const { items, next } = await monitoring.addresses.list({ network: 'tron' })
64
36
  * ```
65
37
  */
66
- list(clientId: string, params?: ListAddressesParams, options?: RequestOptions): Promise<Page<Address, number>>;
38
+ list(params?: ListAddressesParams, options?: RequestOptions): Promise<AddressPage>;
67
39
  /**
68
- * Все адреса клиента — страница за страницей.
40
+ * Iterates over all monitored addresses, fetching pages as needed.
69
41
  *
70
42
  * @example
71
43
  * ```ts
72
- * for await (const a of monitoring.addresses.iterate(clientId)) console.log(a.network, a.address, a.direction)
44
+ * for await (const address of monitoring.addresses.iterate({ network: 'tron' })) {
45
+ * console.log(address.address, address.assets ?? 'all assets', address.direction)
46
+ * }
73
47
  * ```
74
48
  */
75
- iterate(clientId: string, params?: Omit<ListAddressesParams, 'after'>, options?: RequestOptions): AsyncGenerator<Address, void, undefined>;
49
+ iterate(params?: Omit<ListAddressesParams, 'after'>, options?: RequestOptions): AsyncGenerator<Address, void, undefined>;
76
50
  /**
77
- * Ставит адреса на мониторинг. Уже отслеживаемые не меняются (подписку меняет {@link update}).
51
+ * Starts monitoring addresses. New addresses are picked up within seconds. Addresses that are already monitored are
52
+ * left unchanged — use {@link AddressesResource.update} to change their subscription.
78
53
  *
79
- * Каждая пачка до {@link ADDRESS_BATCH_SIZE} адресов проверяется целиком: одна ошибка — пачка не записана.
80
- * Больше 1000 адресов SDK отправит несколькими пачками по порядку; если пачка не прошла, предыдущие уже
81
- * записаны, а номера в `error.details` указывают на элементы исходного массива. Повтор безопасен.
54
+ * Each batch of up to {@link ADDRESS_BATCH_SIZE} addresses is validated as a whole: if any item is invalid, the
55
+ * batch is not applied. Larger lists are sent in batches, in order; if a batch fails, the previous batches have
56
+ * already been applied, and the indexes in `error.details` refer to your original list. Retrying is safe.
82
57
  *
83
- * @param defaults - подписка для элементов без своей; по умолчанию — все активы, обе стороны
84
- * @throws {@link MonitoringApiError} 400 — адрес не той сети, неверный регистр TRON, неизвестный актив…
58
+ * @param addresses - Addresses to monitor. An EVM address is monitored per network: add it once per network.
59
+ * @param defaults - Subscription for addresses that do not set their own.
60
+ * @throws {@link MonitoringApiError} `400` with `details` when an address is invalid for its network or an asset
61
+ * is unknown.
85
62
  *
86
63
  * @example
87
64
  * ```ts
88
- * // депозитные адреса: только входящие USDT
89
- * await monitoring.addresses.add(clientId, [{ network: 'tron', address: 'T…', label: 'user-42' }], {
65
+ * // deposit addresses: incoming USDT only
66
+ * await monitoring.addresses.add([{ network: 'tron', address: 'TA8Hg…', label: 'user-42' }], {
90
67
  * assets: ['USDT'],
91
68
  * direction: 'in',
92
69
  * })
93
70
  * ```
94
71
  */
95
- add(clientId: string, addresses: AddressInput[], defaults?: AddressDefaults, options?: RequestOptions): Promise<AddAddressesResult>;
72
+ add(addresses: AddressInput[], defaults?: SubscriptionDefaults, options?: RequestOptions): Promise<AddAddressesResult>;
73
+ /**
74
+ * Changes the subscription of monitored addresses. Only the fields you pass are changed: omit `assets` to keep the
75
+ * current assets, or pass `null` to subscribe to all assets of the network.
76
+ *
77
+ * @example
78
+ * ```ts
79
+ * await monitoring.addresses.update([{ network: 'tron', address: 'TA8Hg…' }], { direction: 'both' })
80
+ * ```
81
+ */
82
+ update(addresses: AddressUpdate[], defaults?: SubscriptionDefaults, options?: RequestOptions): Promise<UpdateAddressesResult>;
96
83
  /**
97
- * Меняет подписку отслеживаемых адресов: меняется только переданное. Без `assets` активы остаются прежними,
98
- * `assets: null` — снова все активы сети.
84
+ * Stops monitoring addresses.
99
85
  *
100
86
  * @example
101
87
  * ```ts
102
- * await monitoring.addresses.update(clientId, [{ network: 'tron', address: 'T…' }], { direction: 'both' })
88
+ * await monitoring.addresses.remove([{ network: 'tron', address: 'TA8Hg…' }])
103
89
  * ```
104
90
  */
105
- update(clientId: string, addresses: AddressSubscriptionUpdate[], defaults?: AddressDefaults, options?: RequestOptions): Promise<UpdateAddressesResult>;
106
- /** Снимает адреса с мониторинга. Больше 1000 — несколькими пачками */
107
- remove(clientId: string, addresses: AddressRef[], options?: RequestOptions): Promise<RemoveAddressesResult>;
91
+ remove(addresses: AddressRef[], options?: RequestOptions): Promise<RemoveAddressesResult>;
108
92
  }
109
93
  //# sourceMappingURL=addresses.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"addresses.d.ts","sourceRoot":"","sources":["../../../src/resources/addresses.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC3E,OAAO,EAAY,KAAK,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAErH,sFAAsF;AACtF,eAAO,MAAM,kBAAkB,OAAO,CAAA;AAEtC;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,kGAAkG;IAClG,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,uEAAuE;IACvE,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAED,8CAA8C;AAC9C,MAAM,WAAW,UAAU;IACzB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,kEAAkE;AAClE,MAAM,MAAM,yBAAyB,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnF,MAAM,WAAW,kBAAkB;IACjC,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,kDAAkD;IAClD,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;GAIG;AACH,qBAAa,iBAAiB;;IAE5B,YAAY,IAAI,EAAE,UAAU,EAE3B;IAED;;;;;;;OAOG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,mBAAwB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAEjH;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAE7I;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACG,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,QAAQ,GAAE,eAAoB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAc5I;IAED;;;;;;;;OAQG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,yBAAyB,EAAE,EAAE,QAAQ,GAAE,eAAoB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAc/J;IAED,sEAAsE;IAChE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAchH;CAoBF"}
1
+ {"version":3,"file":"addresses.d.ts","sourceRoot":"","sources":["../../../src/resources/addresses.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAErD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EACV,kBAAkB,EAClB,OAAO,EACP,YAAY,EACZ,WAAW,EACX,UAAU,EACV,aAAa,EACb,cAAc,EACd,SAAS,EACT,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,uBAAuB,CAAA;AAE9B,kHAAkH;AAClH,eAAO,MAAM,kBAAkB,OAAO,CAAA;AAEtC;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,oHAAoH;IACpH,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,oEAAoE;IACpE,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAED,oDAAoD;AACpD,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,8GAA8G;AAC9G,qBAAa,iBAAiB;;IAG5B,gBAAgB;IAChB,YAAY,KAAK,EAAE,KAAK,EAEvB;IAED;;;;;;;OAOG;IACG,IAAI,CAAC,MAAM,GAAE,mBAAwB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAE3F;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAM,GAAE,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAE3H;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,QAAQ,GAAE,oBAAyB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAQ/H;IAED;;;;;;;;OAQG;IACG,MAAM,CAAC,SAAS,EAAE,aAAa,EAAE,EAAE,QAAQ,GAAE,oBAAyB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAQtI;IAED;;;;;;;OAOG;IACG,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAQ9F;CAqBF"}
@@ -1,130 +1,121 @@
1
1
  import { MonitoringApiError } from '../core/errors.js';
2
- import { seg } from '../core/http.js';
3
2
  import { paginate } from '../core/pagination.js';
4
- /** Столько адресов API принимает за один запрос; больше SDK разбивает на пачки сам */
3
+ /** Maximum number of addresses the API accepts per request. Larger lists are split into batches automatically. */
5
4
  export const ADDRESS_BATCH_SIZE = 1000;
6
- /**
7
- * Адреса клиента на мониторинге и их подписка: какие активы и в каком направлении сообщать.
8
- *
9
- * Новый адрес начинает отслеживаться через несколько секунд после добавления.
10
- */
5
+ /** Addresses you monitor and their subscriptions: which assets and which direction you are notified about. */
11
6
  export class AddressesResource {
12
- #http;
13
- constructor(http) {
14
- this.#http = http;
7
+ #scope;
8
+ /** @internal */
9
+ constructor(scope) {
10
+ this.#scope = scope;
15
11
  }
16
12
  /**
17
- * Страница адресов с подпиской каждого.
13
+ * Lists monitored addresses, one page at a time.
18
14
  *
19
15
  * @example
20
16
  * ```ts
21
- * const page = await monitoring.addresses.list(clientId, { network: 'tron' })
17
+ * const { items, next } = await monitoring.addresses.list({ network: 'tron' })
22
18
  * ```
23
19
  */
24
- list(clientId, params = {}, options) {
25
- return this.#http.request({ method: 'GET', path: `/v1/clients/${seg(clientId)}/addresses`, query: { ...params }, idempotent: true, options });
20
+ async list(params = {}, options) {
21
+ return this.#scope.http.request({ method: 'GET', path: `${await this.#scope.clientPath()}/addresses`, query: { ...params }, idempotent: true, options });
26
22
  }
27
23
  /**
28
- * Все адреса клиента — страница за страницей.
24
+ * Iterates over all monitored addresses, fetching pages as needed.
29
25
  *
30
26
  * @example
31
27
  * ```ts
32
- * for await (const a of monitoring.addresses.iterate(clientId)) console.log(a.network, a.address, a.direction)
28
+ * for await (const address of monitoring.addresses.iterate({ network: 'tron' })) {
29
+ * console.log(address.address, address.assets ?? 'all assets', address.direction)
30
+ * }
33
31
  * ```
34
32
  */
35
- iterate(clientId, params = {}, options) {
36
- return paginate((after) => this.list(clientId, { ...params, after }, options));
33
+ iterate(params = {}, options) {
34
+ return paginate((after) => this.list({ ...params, after }, options));
37
35
  }
38
36
  /**
39
- * Ставит адреса на мониторинг. Уже отслеживаемые не меняются (подписку меняет {@link update}).
37
+ * Starts monitoring addresses. New addresses are picked up within seconds. Addresses that are already monitored are
38
+ * left unchanged — use {@link AddressesResource.update} to change their subscription.
40
39
  *
41
- * Каждая пачка до {@link ADDRESS_BATCH_SIZE} адресов проверяется целиком: одна ошибка — пачка не записана.
42
- * Больше 1000 адресов SDK отправит несколькими пачками по порядку; если пачка не прошла, предыдущие уже
43
- * записаны, а номера в `error.details` указывают на элементы исходного массива. Повтор безопасен.
40
+ * Each batch of up to {@link ADDRESS_BATCH_SIZE} addresses is validated as a whole: if any item is invalid, the
41
+ * batch is not applied. Larger lists are sent in batches, in order; if a batch fails, the previous batches have
42
+ * already been applied, and the indexes in `error.details` refer to your original list. Retrying is safe.
44
43
  *
45
- * @param defaults - подписка для элементов без своей; по умолчанию — все активы, обе стороны
46
- * @throws {@link MonitoringApiError} 400 — адрес не той сети, неверный регистр TRON, неизвестный актив…
44
+ * @param addresses - Addresses to monitor. An EVM address is monitored per network: add it once per network.
45
+ * @param defaults - Subscription for addresses that do not set their own.
46
+ * @throws {@link MonitoringApiError} `400` with `details` when an address is invalid for its network or an asset
47
+ * is unknown.
47
48
  *
48
49
  * @example
49
50
  * ```ts
50
- * // депозитные адреса: только входящие USDT
51
- * await monitoring.addresses.add(clientId, [{ network: 'tron', address: 'T…', label: 'user-42' }], {
51
+ * // deposit addresses: incoming USDT only
52
+ * await monitoring.addresses.add([{ network: 'tron', address: 'TA8Hg…', label: 'user-42' }], {
52
53
  * assets: ['USDT'],
53
54
  * direction: 'in',
54
55
  * })
55
56
  * ```
56
57
  */
57
- async add(clientId, addresses, defaults = {}, options) {
58
+ async add(addresses, defaults = {}, options) {
58
59
  const total = { added: 0, alreadyWatched: 0 };
59
- await this.#inBatches(addresses, async (batch) => {
60
- const r = await this.#http.request({
61
- method: 'POST',
62
- path: `/v1/clients/${seg(clientId)}/addresses`,
63
- body: { ...defaults, addresses: batch },
64
- idempotent: true,
65
- options,
66
- });
60
+ await this.#batches(addresses, async (batch, path) => {
61
+ const r = await this.#scope.http.request({ method: 'POST', path: `${path}/addresses`, body: { ...defaults, addresses: batch }, idempotent: true, options });
67
62
  total.added += r.added;
68
63
  total.alreadyWatched += r.alreadyWatched;
69
64
  });
70
65
  return total;
71
66
  }
72
67
  /**
73
- * Меняет подписку отслеживаемых адресов: меняется только переданное. Без `assets` активы остаются прежними,
74
- * `assets: null` — снова все активы сети.
68
+ * Changes the subscription of monitored addresses. Only the fields you pass are changed: omit `assets` to keep the
69
+ * current assets, or pass `null` to subscribe to all assets of the network.
75
70
  *
76
71
  * @example
77
72
  * ```ts
78
- * await monitoring.addresses.update(clientId, [{ network: 'tron', address: 'T…' }], { direction: 'both' })
73
+ * await monitoring.addresses.update([{ network: 'tron', address: 'TA8Hg…' }], { direction: 'both' })
79
74
  * ```
80
75
  */
81
- async update(clientId, addresses, defaults = {}, options) {
76
+ async update(addresses, defaults = {}, options) {
82
77
  const total = { updated: 0, notWatched: 0 };
83
- await this.#inBatches(addresses, async (batch) => {
84
- const r = await this.#http.request({
85
- method: 'POST',
86
- path: `/v1/clients/${seg(clientId)}/addresses/update`,
87
- body: { ...defaults, addresses: batch },
88
- idempotent: true,
89
- options,
90
- });
78
+ await this.#batches(addresses, async (batch, path) => {
79
+ const r = await this.#scope.http.request({ method: 'POST', path: `${path}/addresses/update`, body: { ...defaults, addresses: batch }, idempotent: true, options });
91
80
  total.updated += r.updated;
92
81
  total.notWatched += r.notWatched;
93
82
  });
94
83
  return total;
95
84
  }
96
- /** Снимает адреса с мониторинга. Больше 1000 — несколькими пачками */
97
- async remove(clientId, addresses, options) {
85
+ /**
86
+ * Stops monitoring addresses.
87
+ *
88
+ * @example
89
+ * ```ts
90
+ * await monitoring.addresses.remove([{ network: 'tron', address: 'TA8Hg…' }])
91
+ * ```
92
+ */
93
+ async remove(addresses, options) {
98
94
  const total = { removed: 0, notWatched: 0 };
99
- await this.#inBatches(addresses, async (batch) => {
100
- const r = await this.#http.request({
101
- method: 'POST',
102
- path: `/v1/clients/${seg(clientId)}/addresses/remove`,
103
- body: { addresses: batch },
104
- idempotent: true,
105
- options,
106
- });
95
+ await this.#batches(addresses, async (batch, path) => {
96
+ const r = await this.#scope.http.request({ method: 'POST', path: `${path}/addresses/remove`, body: { addresses: batch }, idempotent: true, options });
107
97
  total.removed += r.removed;
108
98
  total.notWatched += r.notWatched;
109
99
  });
110
100
  return total;
111
101
  }
112
- /** Пачками по порядку; номера ошибок по элементам — в нумерации исходного массива */
113
- async #inBatches(items, send) {
102
+ /** Sends items in batches, in order; maps per-item error indexes back to the original list. */
103
+ async #batches(items, send) {
104
+ const path = await this.#scope.clientPath();
114
105
  for (let offset = 0; offset < items.length; offset += ADDRESS_BATCH_SIZE) {
115
106
  try {
116
- await send(items.slice(offset, offset + ADDRESS_BATCH_SIZE));
107
+ await send(items.slice(offset, offset + ADDRESS_BATCH_SIZE), path);
117
108
  }
118
- catch (e) {
119
- if (!(e instanceof MonitoringApiError) || offset === 0)
120
- throw e;
109
+ catch (error) {
110
+ if (!(error instanceof MonitoringApiError) || offset === 0)
111
+ throw error;
121
112
  throw new MonitoringApiError({
122
- status: e.status,
123
- code: e.code,
124
- message: `${e.message.replace(/ \(HTTP \d+, [\w-]+\)$/, '')}; addresses before #${offset} were already applied`,
125
- details: e.details.map((d) => ({ ...d, index: d.index + offset })),
126
- requestId: e.requestId,
127
- body: e.body,
113
+ status: error.status,
114
+ code: error.code,
115
+ message: `${error.message.replace(/ \(HTTP \d+, [\w-]+\)$/, '')}; addresses before index ${offset} were already applied`,
116
+ details: error.details.map((d) => ({ ...d, index: d.index + offset })),
117
+ requestId: error.requestId,
118
+ body: error.body,
128
119
  });
129
120
  }
130
121
  }
@@ -1 +1 @@
1
- {"version":3,"file":"addresses.js","sourceRoot":"","sources":["../../../src/resources/addresses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"addresses.js","sourceRoot":"","sources":["../../../src/resources/addresses.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,37 @@
1
- import { type HttpClient, type RequestOptions } from '../core/http.js';
1
+ import { type RequestOptions } from '../core/http.js';
2
+ import type { Scope } from '../core/scope.js';
2
3
  import type { Asset, Network } from '../generated/types.js';
3
- /** Сети: TRON и EVM-сети с идентификаторами CAIP-2 */
4
+ /** Supported networks. */
4
5
  export declare class NetworksResource {
5
6
  #private;
6
- constructor(http: HttpClient);
7
- /** Все сети. `enabled: false` — сеть описана, но не читается: вебхуков по ней нет */
7
+ /** @internal */
8
+ constructor(scope: Scope);
9
+ /** Lists all networks. Transfers are monitored on networks with `enabled: true`. */
8
10
  list(options?: RequestOptions): Promise<Network[]>;
9
- /** Сеть по slug (`tron`) или CAIP-2 (`eip155:1`) */
11
+ /**
12
+ * Retrieves a network.
13
+ *
14
+ * @param network - Network slug (`tron`, `ethereum`) or CAIP-2 ID (`eip155:1`).
15
+ */
10
16
  get(network: string, options?: RequestOptions): Promise<Network>;
11
17
  }
12
- /** Активы: нативные монеты и токены. Вебхуки приходят о переводах включённых активов не меньше порога `minAmount` */
18
+ /** Native coins and tokens. You are notified about transfers of enabled assets of at least `minAmount`. */
13
19
  export declare class AssetsResource {
14
20
  #private;
15
- constructor(http: HttpClient);
21
+ /** @internal */
22
+ constructor(scope: Scope);
16
23
  /**
17
- * Активы — все или одной сети.
24
+ * Lists assets, optionally of one network.
18
25
  *
19
26
  * @example
20
27
  * ```ts
21
- * const usdt = (await monitoring.assets.list({ network: 'tron' })).find((a) => a.symbol === 'USDT')
22
- * formatUnits(webhook.tx.value, usdt!.decimals)
28
+ * const usdt = (await monitoring.assets.list({ network: 'tron' })).find((asset) => asset.symbol === 'USDT')
23
29
  * ```
24
30
  */
25
31
  list(params?: {
26
32
  network?: string;
27
33
  }, options?: RequestOptions): Promise<Asset[]>;
34
+ /** Retrieves an asset by ID. */
28
35
  get(assetId: number, options?: RequestOptions): Promise<Asset>;
29
36
  }
30
37
  //# sourceMappingURL=catalog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/resources/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE3D,sDAAsD;AACtD,qBAAa,gBAAgB;;IAE3B,YAAY,IAAI,EAAE,UAAU,EAE3B;IAED,qFAAqF;IAC/E,IAAI,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAGvD;IAED,oDAAoD;IACpD,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/D;CACF;AAED,qHAAqH;AACrH,qBAAa,cAAc;;IAEzB,YAAY,IAAI,EAAE,UAAU,EAE3B;IAED;;;;;;;;OAQG;IACG,IAAI,CAAC,MAAM,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAGxF;IAED,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAE7D;CACF"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/resources/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAa,OAAO,EAAe,MAAM,uBAAuB,CAAA;AAEnF,0BAA0B;AAC1B,qBAAa,gBAAgB;;IAG3B,gBAAgB;IAChB,YAAY,KAAK,EAAE,KAAK,EAEvB;IAED,oFAAoF;IAC9E,IAAI,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAGvD;IAED;;;;OAIG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/D;CACF;AAED,2GAA2G;AAC3G,qBAAa,cAAc;;IAGzB,gBAAgB;IAChB,YAAY,KAAK,EAAE,KAAK,EAEvB;IAED;;;;;;;OAOG;IACG,IAAI,CAAC,MAAM,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAGxF;IAED,gCAAgC;IAChC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAE7D;CACF"}