@v3finance/monitoring-sdk 0.0.0-stage → 0.1.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 (140) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/LICENSE +21 -0
  3. package/README.md +247 -2
  4. package/dist/cjs/client.d.ts +65 -0
  5. package/dist/cjs/client.d.ts.map +1 -0
  6. package/dist/cjs/client.js +89 -0
  7. package/dist/cjs/client.js.map +1 -0
  8. package/dist/cjs/core/errors.d.ts +64 -0
  9. package/dist/cjs/core/errors.d.ts.map +1 -0
  10. package/dist/cjs/core/errors.js +95 -0
  11. package/dist/cjs/core/errors.js.map +1 -0
  12. package/dist/cjs/core/http.d.ts +62 -0
  13. package/dist/cjs/core/http.d.ts.map +1 -0
  14. package/dist/cjs/core/http.js +151 -0
  15. package/dist/cjs/core/http.js.map +1 -0
  16. package/dist/cjs/core/pagination.d.ts +13 -0
  17. package/dist/cjs/core/pagination.d.ts.map +1 -0
  18. package/dist/cjs/core/pagination.js +15 -0
  19. package/dist/cjs/core/pagination.js.map +1 -0
  20. package/dist/cjs/generated/types.d.ts +324 -0
  21. package/dist/cjs/generated/types.d.ts.map +1 -0
  22. package/dist/cjs/generated/types.js +5 -0
  23. package/dist/cjs/generated/types.js.map +1 -0
  24. package/dist/cjs/index.d.ts +23 -0
  25. package/dist/cjs/index.d.ts.map +1 -0
  26. package/dist/cjs/index.js +50 -0
  27. package/dist/cjs/index.js.map +1 -0
  28. package/dist/cjs/package.json +1 -0
  29. package/dist/cjs/resources/account.d.ts +61 -0
  30. package/dist/cjs/resources/account.d.ts.map +1 -0
  31. package/dist/cjs/resources/account.js +75 -0
  32. package/dist/cjs/resources/account.js.map +1 -0
  33. package/dist/cjs/resources/addresses.d.ts +109 -0
  34. package/dist/cjs/resources/addresses.d.ts.map +1 -0
  35. package/dist/cjs/resources/addresses.js +137 -0
  36. package/dist/cjs/resources/addresses.js.map +1 -0
  37. package/dist/cjs/resources/catalog.d.ts +30 -0
  38. package/dist/cjs/resources/catalog.d.ts.map +1 -0
  39. package/dist/cjs/resources/catalog.js +46 -0
  40. package/dist/cjs/resources/catalog.js.map +1 -0
  41. package/dist/cjs/resources/clients.d.ts +84 -0
  42. package/dist/cjs/resources/clients.d.ts.map +1 -0
  43. package/dist/cjs/resources/clients.js +102 -0
  44. package/dist/cjs/resources/clients.js.map +1 -0
  45. package/dist/cjs/resources/deliveries.d.ts +50 -0
  46. package/dist/cjs/resources/deliveries.d.ts.map +1 -0
  47. package/dist/cjs/resources/deliveries.js +43 -0
  48. package/dist/cjs/resources/deliveries.js.map +1 -0
  49. package/dist/cjs/resources/transactions.d.ts +28 -0
  50. package/dist/cjs/resources/transactions.d.ts.map +1 -0
  51. package/dist/cjs/resources/transactions.js +35 -0
  52. package/dist/cjs/resources/transactions.js.map +1 -0
  53. package/dist/cjs/units.d.ts +29 -0
  54. package/dist/cjs/units.d.ts.map +1 -0
  55. package/dist/cjs/units.js +62 -0
  56. package/dist/cjs/units.js.map +1 -0
  57. package/dist/cjs/version.d.ts +5 -0
  58. package/dist/cjs/version.d.ts.map +1 -0
  59. package/dist/cjs/version.js +8 -0
  60. package/dist/cjs/version.js.map +1 -0
  61. package/dist/cjs/webhooks.d.ts +77 -0
  62. package/dist/cjs/webhooks.d.ts.map +1 -0
  63. package/dist/cjs/webhooks.js +128 -0
  64. package/dist/cjs/webhooks.js.map +1 -0
  65. package/dist/esm/client.d.ts +65 -0
  66. package/dist/esm/client.d.ts.map +1 -0
  67. package/dist/esm/client.js +85 -0
  68. package/dist/esm/client.js.map +1 -0
  69. package/dist/esm/core/errors.d.ts +64 -0
  70. package/dist/esm/core/errors.d.ts.map +1 -0
  71. package/dist/esm/core/errors.js +86 -0
  72. package/dist/esm/core/errors.js.map +1 -0
  73. package/dist/esm/core/http.d.ts +62 -0
  74. package/dist/esm/core/http.d.ts.map +1 -0
  75. package/dist/esm/core/http.js +146 -0
  76. package/dist/esm/core/http.js.map +1 -0
  77. package/dist/esm/core/pagination.d.ts +13 -0
  78. package/dist/esm/core/pagination.d.ts.map +1 -0
  79. package/dist/esm/core/pagination.js +12 -0
  80. package/dist/esm/core/pagination.js.map +1 -0
  81. package/dist/esm/generated/types.d.ts +324 -0
  82. package/dist/esm/generated/types.d.ts.map +1 -0
  83. package/dist/esm/generated/types.js +4 -0
  84. package/dist/esm/generated/types.js.map +1 -0
  85. package/dist/esm/index.d.ts +23 -0
  86. package/dist/esm/index.d.ts.map +1 -0
  87. package/dist/esm/index.js +20 -0
  88. package/dist/esm/index.js.map +1 -0
  89. package/dist/esm/resources/account.d.ts +61 -0
  90. package/dist/esm/resources/account.d.ts.map +1 -0
  91. package/dist/esm/resources/account.js +69 -0
  92. package/dist/esm/resources/account.js.map +1 -0
  93. package/dist/esm/resources/addresses.d.ts +109 -0
  94. package/dist/esm/resources/addresses.d.ts.map +1 -0
  95. package/dist/esm/resources/addresses.js +133 -0
  96. package/dist/esm/resources/addresses.js.map +1 -0
  97. package/dist/esm/resources/catalog.d.ts +30 -0
  98. package/dist/esm/resources/catalog.d.ts.map +1 -0
  99. package/dist/esm/resources/catalog.js +41 -0
  100. package/dist/esm/resources/catalog.js.map +1 -0
  101. package/dist/esm/resources/clients.d.ts +84 -0
  102. package/dist/esm/resources/clients.d.ts.map +1 -0
  103. package/dist/esm/resources/clients.js +97 -0
  104. package/dist/esm/resources/clients.js.map +1 -0
  105. package/dist/esm/resources/deliveries.d.ts +50 -0
  106. package/dist/esm/resources/deliveries.d.ts.map +1 -0
  107. package/dist/esm/resources/deliveries.js +39 -0
  108. package/dist/esm/resources/deliveries.js.map +1 -0
  109. package/dist/esm/resources/transactions.d.ts +28 -0
  110. package/dist/esm/resources/transactions.d.ts.map +1 -0
  111. package/dist/esm/resources/transactions.js +31 -0
  112. package/dist/esm/resources/transactions.js.map +1 -0
  113. package/dist/esm/units.d.ts +29 -0
  114. package/dist/esm/units.d.ts.map +1 -0
  115. package/dist/esm/units.js +58 -0
  116. package/dist/esm/units.js.map +1 -0
  117. package/dist/esm/version.d.ts +5 -0
  118. package/dist/esm/version.d.ts.map +1 -0
  119. package/dist/esm/version.js +5 -0
  120. package/dist/esm/version.js.map +1 -0
  121. package/dist/esm/webhooks.d.ts +77 -0
  122. package/dist/esm/webhooks.d.ts.map +1 -0
  123. package/dist/esm/webhooks.js +120 -0
  124. package/dist/esm/webhooks.js.map +1 -0
  125. package/package.json +66 -4
  126. package/src/client.ts +94 -0
  127. package/src/core/errors.ts +99 -0
  128. package/src/core/http.ts +193 -0
  129. package/src/core/pagination.ts +21 -0
  130. package/src/generated/types.ts +355 -0
  131. package/src/index.ts +60 -0
  132. package/src/resources/account.ts +87 -0
  133. package/src/resources/addresses.ts +190 -0
  134. package/src/resources/catalog.ts +47 -0
  135. package/src/resources/clients.ts +135 -0
  136. package/src/resources/deliveries.ts +69 -0
  137. package/src/resources/transactions.ts +33 -0
  138. package/src/units.ts +56 -0
  139. package/src/version.ts +5 -0
  140. package/src/webhooks.ts +133 -0
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /**
3
+ * Официальный SDK API мониторинга адресов V3 Finance (https://monitoring.v3.finance): TRON и EVM-сети,
4
+ * подписанные вебхуки о переводах, история доставок, транзакции с подтверждениями и финальностью.
5
+ *
6
+ * Справочник API — https://monitoring.v3.finance/docs
7
+ *
8
+ * @packageDocumentation
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.SDK_VERSION = exports.DEFAULT_BASE_URL = exports.parseUnits = exports.formatUnits = exports.webhookIdempotencyKey = exports.WEBHOOK_HEADERS = exports.verifyWebhookSignature = exports.signWebhookBody = exports.parseWebhook = exports.isTestWebhook = exports.TransactionsResource = exports.DeliveriesResource = exports.ClientsResource = exports.ClientKeysResource = exports.NetworksResource = exports.AssetsResource = exports.AddressesResource = exports.ADDRESS_BATCH_SIZE = exports.PersonalKeysResource = exports.AuthResource = exports.AccountResource = exports.WebhookSignatureError = exports.MonitoringTimeoutError = exports.MonitoringError = exports.MonitoringConnectionError = exports.MonitoringApiError = exports.MonitoringClient = void 0;
12
+ var client_js_1 = require("./client.js");
13
+ Object.defineProperty(exports, "MonitoringClient", { enumerable: true, get: function () { return client_js_1.MonitoringClient; } });
14
+ var errors_js_1 = require("./core/errors.js");
15
+ Object.defineProperty(exports, "MonitoringApiError", { enumerable: true, get: function () { return errors_js_1.MonitoringApiError; } });
16
+ Object.defineProperty(exports, "MonitoringConnectionError", { enumerable: true, get: function () { return errors_js_1.MonitoringConnectionError; } });
17
+ Object.defineProperty(exports, "MonitoringError", { enumerable: true, get: function () { return errors_js_1.MonitoringError; } });
18
+ Object.defineProperty(exports, "MonitoringTimeoutError", { enumerable: true, get: function () { return errors_js_1.MonitoringTimeoutError; } });
19
+ Object.defineProperty(exports, "WebhookSignatureError", { enumerable: true, get: function () { return errors_js_1.WebhookSignatureError; } });
20
+ var account_js_1 = require("./resources/account.js");
21
+ Object.defineProperty(exports, "AccountResource", { enumerable: true, get: function () { return account_js_1.AccountResource; } });
22
+ Object.defineProperty(exports, "AuthResource", { enumerable: true, get: function () { return account_js_1.AuthResource; } });
23
+ Object.defineProperty(exports, "PersonalKeysResource", { enumerable: true, get: function () { return account_js_1.PersonalKeysResource; } });
24
+ var addresses_js_1 = require("./resources/addresses.js");
25
+ Object.defineProperty(exports, "ADDRESS_BATCH_SIZE", { enumerable: true, get: function () { return addresses_js_1.ADDRESS_BATCH_SIZE; } });
26
+ Object.defineProperty(exports, "AddressesResource", { enumerable: true, get: function () { return addresses_js_1.AddressesResource; } });
27
+ var catalog_js_1 = require("./resources/catalog.js");
28
+ Object.defineProperty(exports, "AssetsResource", { enumerable: true, get: function () { return catalog_js_1.AssetsResource; } });
29
+ Object.defineProperty(exports, "NetworksResource", { enumerable: true, get: function () { return catalog_js_1.NetworksResource; } });
30
+ var clients_js_1 = require("./resources/clients.js");
31
+ Object.defineProperty(exports, "ClientKeysResource", { enumerable: true, get: function () { return clients_js_1.ClientKeysResource; } });
32
+ Object.defineProperty(exports, "ClientsResource", { enumerable: true, get: function () { return clients_js_1.ClientsResource; } });
33
+ var deliveries_js_1 = require("./resources/deliveries.js");
34
+ Object.defineProperty(exports, "DeliveriesResource", { enumerable: true, get: function () { return deliveries_js_1.DeliveriesResource; } });
35
+ var transactions_js_1 = require("./resources/transactions.js");
36
+ Object.defineProperty(exports, "TransactionsResource", { enumerable: true, get: function () { return transactions_js_1.TransactionsResource; } });
37
+ var webhooks_js_1 = require("./webhooks.js");
38
+ Object.defineProperty(exports, "isTestWebhook", { enumerable: true, get: function () { return webhooks_js_1.isTestWebhook; } });
39
+ Object.defineProperty(exports, "parseWebhook", { enumerable: true, get: function () { return webhooks_js_1.parseWebhook; } });
40
+ Object.defineProperty(exports, "signWebhookBody", { enumerable: true, get: function () { return webhooks_js_1.signWebhookBody; } });
41
+ Object.defineProperty(exports, "verifyWebhookSignature", { enumerable: true, get: function () { return webhooks_js_1.verifyWebhookSignature; } });
42
+ Object.defineProperty(exports, "WEBHOOK_HEADERS", { enumerable: true, get: function () { return webhooks_js_1.WEBHOOK_HEADERS; } });
43
+ Object.defineProperty(exports, "webhookIdempotencyKey", { enumerable: true, get: function () { return webhooks_js_1.webhookIdempotencyKey; } });
44
+ var units_js_1 = require("./units.js");
45
+ Object.defineProperty(exports, "formatUnits", { enumerable: true, get: function () { return units_js_1.formatUnits; } });
46
+ Object.defineProperty(exports, "parseUnits", { enumerable: true, get: function () { return units_js_1.parseUnits; } });
47
+ var version_js_1 = require("./version.js");
48
+ Object.defineProperty(exports, "DEFAULT_BASE_URL", { enumerable: true, get: function () { return version_js_1.DEFAULT_BASE_URL; } });
49
+ Object.defineProperty(exports, "SDK_VERSION", { enumerable: true, get: function () { return version_js_1.SDK_VERSION; } });
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,yCAA8C;AAArC,6GAAA,gBAAgB,OAAA;AAGzB,8CAOyB;AANvB,+GAAA,kBAAkB,OAAA;AAClB,sHAAA,yBAAyB,OAAA;AACzB,4GAAA,eAAe,OAAA;AACf,mHAAA,sBAAsB,OAAA;AACtB,kHAAA,qBAAqB,OAAA;AAIvB,qDAA+G;AAAtG,6GAAA,eAAe,OAAA;AAAE,0GAAA,YAAY,OAAA;AAAE,kHAAA,oBAAoB,OAAA;AAC5D,yDAUiC;AAT/B,kHAAA,kBAAkB,OAAA;AAClB,iHAAA,iBAAiB,OAAA;AASnB,qDAAyE;AAAhE,4GAAA,cAAc,OAAA;AAAE,8GAAA,gBAAgB,OAAA;AACzC,qDAO+B;AAN7B,gHAAA,kBAAkB,OAAA;AAClB,6GAAA,eAAe,OAAA;AAMjB,2DAA8G;AAArG,mHAAA,kBAAkB,OAAA;AAC3B,+DAAkE;AAAzD,uHAAA,oBAAoB,OAAA;AAE7B,6CASsB;AARpB,4GAAA,aAAa,OAAA;AACb,2GAAA,YAAY,OAAA;AACZ,8GAAA,eAAe,OAAA;AACf,qHAAA,sBAAsB,OAAA;AACtB,8GAAA,eAAe,OAAA;AACf,oHAAA,qBAAqB,OAAA;AAIvB,uCAAoD;AAA3C,uGAAA,WAAW,OAAA;AAAE,sGAAA,UAAU,OAAA;AAChC,2CAA4D;AAAnD,8GAAA,gBAAgB,OAAA;AAAE,yGAAA,WAAW,OAAA"}
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -0,0 +1,61 @@
1
+ import { type HttpClient, type RequestOptions } from '../core/http.js';
2
+ import type { ApiKey, Identity, IssueKeyRequest, IssuedKey, User } from '../generated/types.js';
3
+ /** Личные ключи: действуют от вашего имени с вашими правами — всё, что вы можете в панели */
4
+ export declare class PersonalKeysResource {
5
+ #private;
6
+ constructor(http: HttpClient);
7
+ list(options?: RequestOptions): Promise<ApiKey[]>;
8
+ /**
9
+ * Выпускает личный ключ. Работает только с клиентом, вошедшим по паролю ({@link MonitoringClient.signIn}):
10
+ * ключ не может выпустить себе замену. Полный ключ — в `key`, показывается один раз.
11
+ */
12
+ create(params?: IssueKeyRequest, options?: RequestOptions): Promise<IssuedKey>;
13
+ revoke(keyId: string, options?: RequestOptions): Promise<void>;
14
+ }
15
+ /** Кто вы и ваши ключи */
16
+ export declare class AccountResource {
17
+ #private;
18
+ /** Личные ключи */
19
+ readonly keys: PersonalKeysResource;
20
+ constructor(http: HttpClient);
21
+ /**
22
+ * Кто сделал запрос: способ входа, пользователь и участие в клиентах с ролями. Для ключа клиента —
23
+ * `actor.kind === 'client-key'` и `actor.clientId`.
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * const { actor } = await monitoring.account.me()
28
+ * const clientId = actor.clientId // для ключа клиента
29
+ * ```
30
+ */
31
+ me(options?: RequestOptions): Promise<Identity>;
32
+ }
33
+ /** Результат входа по паролю */
34
+ export interface SignInResult {
35
+ /** Токен сессии: передайте его в `sessionToken` или используйте готовый клиент из {@link MonitoringClient.signIn} */
36
+ token: string;
37
+ user: User;
38
+ }
39
+ /** Сессия: выход и смена пароля. Нужен клиент, вошедший по паролю */
40
+ export declare class AuthResource {
41
+ #private;
42
+ constructor(http: HttpClient);
43
+ /** Текущая сессия и пользователь; `null` — сессии нет или она истекла */
44
+ session(options?: RequestOptions): Promise<{
45
+ session: Record<string, unknown>;
46
+ user: User;
47
+ } | null>;
48
+ /** Завершает сессию; токен перестаёт работать */
49
+ signOut(options?: RequestOptions): Promise<void>;
50
+ /**
51
+ * Меняет пароль. Ключом пароль не сменить — только в сессии.
52
+ *
53
+ * @param params.revokeOtherSessions - завершить остальные сессии
54
+ */
55
+ changePassword(params: {
56
+ currentPassword: string;
57
+ newPassword: string;
58
+ revokeOtherSessions?: boolean;
59
+ }, options?: RequestOptions): Promise<void>;
60
+ }
61
+ //# sourceMappingURL=account.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AuthResource = exports.AccountResource = exports.PersonalKeysResource = void 0;
4
+ const http_js_1 = require("../core/http.js");
5
+ /** Личные ключи: действуют от вашего имени с вашими правами — всё, что вы можете в панели */
6
+ class PersonalKeysResource {
7
+ #http;
8
+ constructor(http) {
9
+ this.#http = http;
10
+ }
11
+ async list(options) {
12
+ const r = await this.#http.request({ method: 'GET', path: '/v1/me/keys', idempotent: true, options });
13
+ return r.items;
14
+ }
15
+ /**
16
+ * Выпускает личный ключ. Работает только с клиентом, вошедшим по паролю ({@link MonitoringClient.signIn}):
17
+ * ключ не может выпустить себе замену. Полный ключ — в `key`, показывается один раз.
18
+ */
19
+ create(params = {}, options) {
20
+ return this.#http.request({ method: 'POST', path: '/v1/me/keys', body: params, idempotent: false, options });
21
+ }
22
+ async revoke(keyId, options) {
23
+ await this.#http.request({ method: 'DELETE', path: `/v1/me/keys/${(0, http_js_1.seg)(keyId)}`, idempotent: true, options });
24
+ }
25
+ }
26
+ exports.PersonalKeysResource = PersonalKeysResource;
27
+ /** Кто вы и ваши ключи */
28
+ class AccountResource {
29
+ #http;
30
+ /** Личные ключи */
31
+ keys;
32
+ constructor(http) {
33
+ this.#http = http;
34
+ this.keys = new PersonalKeysResource(http);
35
+ }
36
+ /**
37
+ * Кто сделал запрос: способ входа, пользователь и участие в клиентах с ролями. Для ключа клиента —
38
+ * `actor.kind === 'client-key'` и `actor.clientId`.
39
+ *
40
+ * @example
41
+ * ```ts
42
+ * const { actor } = await monitoring.account.me()
43
+ * const clientId = actor.clientId // для ключа клиента
44
+ * ```
45
+ */
46
+ me(options) {
47
+ return this.#http.request({ method: 'GET', path: '/v1/me', idempotent: true, options });
48
+ }
49
+ }
50
+ exports.AccountResource = AccountResource;
51
+ /** Сессия: выход и смена пароля. Нужен клиент, вошедший по паролю */
52
+ class AuthResource {
53
+ #http;
54
+ constructor(http) {
55
+ this.#http = http;
56
+ }
57
+ /** Текущая сессия и пользователь; `null` — сессии нет или она истекла */
58
+ session(options) {
59
+ return this.#http.request({ method: 'GET', path: '/api/auth/get-session', idempotent: true, options });
60
+ }
61
+ /** Завершает сессию; токен перестаёт работать */
62
+ async signOut(options) {
63
+ await this.#http.request({ method: 'POST', path: '/api/auth/sign-out', body: {}, idempotent: true, options });
64
+ }
65
+ /**
66
+ * Меняет пароль. Ключом пароль не сменить — только в сессии.
67
+ *
68
+ * @param params.revokeOtherSessions - завершить остальные сессии
69
+ */
70
+ async changePassword(params, options) {
71
+ await this.#http.request({ method: 'POST', path: '/api/auth/change-password', body: params, idempotent: false, options });
72
+ }
73
+ }
74
+ exports.AuthResource = AuthResource;
75
+ //# sourceMappingURL=account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/resources/account.ts"],"names":[],"mappings":";;;AAAA,6CAA2E;AAG3E,6FAA6F;AAC7F;IACW,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,IAAA,aAAG,EAAC,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IAC9G,CAAC;CACF;;AAED,0BAA0B;AAC1B;IACW,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;IACW,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"}
@@ -0,0 +1,109 @@
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 разбивает на пачки сам */
5
+ export declare const ADDRESS_BATCH_SIZE = 1000;
6
+ /**
7
+ * Подписка по умолчанию для всех адресов запроса — действует на элементы, где своей нет.
8
+ * Без неё адрес получает все активы сети в обе стороны.
9
+ */
10
+ export interface AddressDefaults {
11
+ /** Символы (`USDT`) или адреса контрактов; `null` — все активы сети, включая добавленные позже */
12
+ assets?: AssetSelection;
13
+ /** `in` — только входящие, `out` — только исходящие, `both` — любые */
14
+ direction?: Direction;
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
+ }
42
+ export interface ListAddressesParams {
43
+ /** Только эта сеть */
44
+ network?: string;
45
+ /** Размер страницы, до 5000; по умолчанию 500 */
46
+ limit?: number;
47
+ /** Курсор: `next` прошлой страницы */
48
+ after?: number;
49
+ }
50
+ /**
51
+ * Адреса клиента на мониторинге и их подписка: какие активы и в каком направлении сообщать.
52
+ *
53
+ * Новый адрес начинает отслеживаться через несколько секунд после добавления.
54
+ */
55
+ export declare class AddressesResource {
56
+ #private;
57
+ constructor(http: HttpClient);
58
+ /**
59
+ * Страница адресов с подпиской каждого.
60
+ *
61
+ * @example
62
+ * ```ts
63
+ * const page = await monitoring.addresses.list(clientId, { network: 'tron' })
64
+ * ```
65
+ */
66
+ list(clientId: string, params?: ListAddressesParams, options?: RequestOptions): Promise<Page<Address, number>>;
67
+ /**
68
+ * Все адреса клиента — страница за страницей.
69
+ *
70
+ * @example
71
+ * ```ts
72
+ * for await (const a of monitoring.addresses.iterate(clientId)) console.log(a.network, a.address, a.direction)
73
+ * ```
74
+ */
75
+ iterate(clientId: string, params?: Omit<ListAddressesParams, 'after'>, options?: RequestOptions): AsyncGenerator<Address, void, undefined>;
76
+ /**
77
+ * Ставит адреса на мониторинг. Уже отслеживаемые не меняются (подписку меняет {@link update}).
78
+ *
79
+ * Каждая пачка до {@link ADDRESS_BATCH_SIZE} адресов проверяется целиком: одна ошибка — пачка не записана.
80
+ * Больше 1000 адресов SDK отправит несколькими пачками по порядку; если пачка не прошла, предыдущие уже
81
+ * записаны, а номера в `error.details` указывают на элементы исходного массива. Повтор безопасен.
82
+ *
83
+ * @param defaults - подписка для элементов без своей; по умолчанию — все активы, обе стороны
84
+ * @throws {@link MonitoringApiError} 400 — адрес не той сети, неверный регистр TRON, неизвестный актив…
85
+ *
86
+ * @example
87
+ * ```ts
88
+ * // депозитные адреса: только входящие USDT
89
+ * await monitoring.addresses.add(clientId, [{ network: 'tron', address: 'T…', label: 'user-42' }], {
90
+ * assets: ['USDT'],
91
+ * direction: 'in',
92
+ * })
93
+ * ```
94
+ */
95
+ add(clientId: string, addresses: AddressInput[], defaults?: AddressDefaults, options?: RequestOptions): Promise<AddAddressesResult>;
96
+ /**
97
+ * Меняет подписку отслеживаемых адресов: меняется только переданное. Без `assets` активы остаются прежними,
98
+ * `assets: null` — снова все активы сети.
99
+ *
100
+ * @example
101
+ * ```ts
102
+ * await monitoring.addresses.update(clientId, [{ network: 'tron', address: 'T…' }], { direction: 'both' })
103
+ * ```
104
+ */
105
+ update(clientId: string, addresses: AddressSubscriptionUpdate[], defaults?: AddressDefaults, options?: RequestOptions): Promise<UpdateAddressesResult>;
106
+ /** Снимает адреса с мониторинга. Больше 1000 — несколькими пачками */
107
+ remove(clientId: string, addresses: AddressRef[], options?: RequestOptions): Promise<RemoveAddressesResult>;
108
+ }
109
+ //# sourceMappingURL=addresses.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddressesResource = exports.ADDRESS_BATCH_SIZE = void 0;
4
+ const errors_js_1 = require("../core/errors.js");
5
+ const http_js_1 = require("../core/http.js");
6
+ const pagination_js_1 = require("../core/pagination.js");
7
+ /** Столько адресов API принимает за один запрос; больше SDK разбивает на пачки сам */
8
+ exports.ADDRESS_BATCH_SIZE = 1000;
9
+ /**
10
+ * Адреса клиента на мониторинге и их подписка: какие активы и в каком направлении сообщать.
11
+ *
12
+ * Новый адрес начинает отслеживаться через несколько секунд после добавления.
13
+ */
14
+ class AddressesResource {
15
+ #http;
16
+ constructor(http) {
17
+ this.#http = http;
18
+ }
19
+ /**
20
+ * Страница адресов с подпиской каждого.
21
+ *
22
+ * @example
23
+ * ```ts
24
+ * const page = await monitoring.addresses.list(clientId, { network: 'tron' })
25
+ * ```
26
+ */
27
+ list(clientId, params = {}, options) {
28
+ return this.#http.request({ method: 'GET', path: `/v1/clients/${(0, http_js_1.seg)(clientId)}/addresses`, query: { ...params }, idempotent: true, options });
29
+ }
30
+ /**
31
+ * Все адреса клиента — страница за страницей.
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * for await (const a of monitoring.addresses.iterate(clientId)) console.log(a.network, a.address, a.direction)
36
+ * ```
37
+ */
38
+ iterate(clientId, params = {}, options) {
39
+ return (0, pagination_js_1.paginate)((after) => this.list(clientId, { ...params, after }, options));
40
+ }
41
+ /**
42
+ * Ставит адреса на мониторинг. Уже отслеживаемые не меняются (подписку меняет {@link update}).
43
+ *
44
+ * Каждая пачка до {@link ADDRESS_BATCH_SIZE} адресов проверяется целиком: одна ошибка — пачка не записана.
45
+ * Больше 1000 адресов SDK отправит несколькими пачками по порядку; если пачка не прошла, предыдущие уже
46
+ * записаны, а номера в `error.details` указывают на элементы исходного массива. Повтор безопасен.
47
+ *
48
+ * @param defaults - подписка для элементов без своей; по умолчанию — все активы, обе стороны
49
+ * @throws {@link MonitoringApiError} 400 — адрес не той сети, неверный регистр TRON, неизвестный актив…
50
+ *
51
+ * @example
52
+ * ```ts
53
+ * // депозитные адреса: только входящие USDT
54
+ * await monitoring.addresses.add(clientId, [{ network: 'tron', address: 'T…', label: 'user-42' }], {
55
+ * assets: ['USDT'],
56
+ * direction: 'in',
57
+ * })
58
+ * ```
59
+ */
60
+ async add(clientId, addresses, defaults = {}, options) {
61
+ const total = { added: 0, alreadyWatched: 0 };
62
+ await this.#inBatches(addresses, async (batch) => {
63
+ const r = await this.#http.request({
64
+ method: 'POST',
65
+ path: `/v1/clients/${(0, http_js_1.seg)(clientId)}/addresses`,
66
+ body: { ...defaults, addresses: batch },
67
+ idempotent: true,
68
+ options,
69
+ });
70
+ total.added += r.added;
71
+ total.alreadyWatched += r.alreadyWatched;
72
+ });
73
+ return total;
74
+ }
75
+ /**
76
+ * Меняет подписку отслеживаемых адресов: меняется только переданное. Без `assets` активы остаются прежними,
77
+ * `assets: null` — снова все активы сети.
78
+ *
79
+ * @example
80
+ * ```ts
81
+ * await monitoring.addresses.update(clientId, [{ network: 'tron', address: 'T…' }], { direction: 'both' })
82
+ * ```
83
+ */
84
+ async update(clientId, addresses, defaults = {}, options) {
85
+ const total = { updated: 0, notWatched: 0 };
86
+ await this.#inBatches(addresses, async (batch) => {
87
+ const r = await this.#http.request({
88
+ method: 'POST',
89
+ path: `/v1/clients/${(0, http_js_1.seg)(clientId)}/addresses/update`,
90
+ body: { ...defaults, addresses: batch },
91
+ idempotent: true,
92
+ options,
93
+ });
94
+ total.updated += r.updated;
95
+ total.notWatched += r.notWatched;
96
+ });
97
+ return total;
98
+ }
99
+ /** Снимает адреса с мониторинга. Больше 1000 — несколькими пачками */
100
+ async remove(clientId, addresses, options) {
101
+ const total = { removed: 0, notWatched: 0 };
102
+ await this.#inBatches(addresses, async (batch) => {
103
+ const r = await this.#http.request({
104
+ method: 'POST',
105
+ path: `/v1/clients/${(0, http_js_1.seg)(clientId)}/addresses/remove`,
106
+ body: { addresses: batch },
107
+ idempotent: true,
108
+ options,
109
+ });
110
+ total.removed += r.removed;
111
+ total.notWatched += r.notWatched;
112
+ });
113
+ return total;
114
+ }
115
+ /** Пачками по порядку; номера ошибок по элементам — в нумерации исходного массива */
116
+ async #inBatches(items, send) {
117
+ for (let offset = 0; offset < items.length; offset += exports.ADDRESS_BATCH_SIZE) {
118
+ try {
119
+ await send(items.slice(offset, offset + exports.ADDRESS_BATCH_SIZE));
120
+ }
121
+ catch (e) {
122
+ if (!(e instanceof errors_js_1.MonitoringApiError) || offset === 0)
123
+ throw e;
124
+ throw new errors_js_1.MonitoringApiError({
125
+ status: e.status,
126
+ code: e.code,
127
+ message: `${e.message.replace(/ \(HTTP \d+, [\w-]+\)$/, '')}; addresses before #${offset} were already applied`,
128
+ details: e.details.map((d) => ({ ...d, index: d.index + offset })),
129
+ requestId: e.requestId,
130
+ body: e.body,
131
+ });
132
+ }
133
+ }
134
+ }
135
+ }
136
+ exports.AddressesResource = AddressesResource;
137
+ //# sourceMappingURL=addresses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addresses.js","sourceRoot":"","sources":["../../../src/resources/addresses.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { type HttpClient, type RequestOptions } from '../core/http.js';
2
+ import type { Asset, Network } from '../generated/types.js';
3
+ /** Сети: TRON и EVM-сети с идентификаторами CAIP-2 */
4
+ export declare class NetworksResource {
5
+ #private;
6
+ constructor(http: HttpClient);
7
+ /** Все сети. `enabled: false` — сеть описана, но не читается: вебхуков по ней нет */
8
+ list(options?: RequestOptions): Promise<Network[]>;
9
+ /** Сеть по slug (`tron`) или CAIP-2 (`eip155:1`) */
10
+ get(network: string, options?: RequestOptions): Promise<Network>;
11
+ }
12
+ /** Активы: нативные монеты и токены. Вебхуки приходят о переводах включённых активов не меньше порога `minAmount` */
13
+ export declare class AssetsResource {
14
+ #private;
15
+ constructor(http: HttpClient);
16
+ /**
17
+ * Активы — все или одной сети.
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * const usdt = (await monitoring.assets.list({ network: 'tron' })).find((a) => a.symbol === 'USDT')
22
+ * formatUnits(webhook.tx.value, usdt!.decimals)
23
+ * ```
24
+ */
25
+ list(params?: {
26
+ network?: string;
27
+ }, options?: RequestOptions): Promise<Asset[]>;
28
+ get(assetId: number, options?: RequestOptions): Promise<Asset>;
29
+ }
30
+ //# sourceMappingURL=catalog.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AssetsResource = exports.NetworksResource = void 0;
4
+ const http_js_1 = require("../core/http.js");
5
+ /** Сети: TRON и EVM-сети с идентификаторами CAIP-2 */
6
+ class NetworksResource {
7
+ #http;
8
+ constructor(http) {
9
+ this.#http = http;
10
+ }
11
+ /** Все сети. `enabled: false` — сеть описана, но не читается: вебхуков по ней нет */
12
+ async list(options) {
13
+ const r = await this.#http.request({ method: 'GET', path: '/v1/networks', idempotent: true, options });
14
+ return r.items;
15
+ }
16
+ /** Сеть по slug (`tron`) или CAIP-2 (`eip155:1`) */
17
+ get(network, options) {
18
+ return this.#http.request({ method: 'GET', path: `/v1/networks/${(0, http_js_1.seg)(network)}`, idempotent: true, options });
19
+ }
20
+ }
21
+ exports.NetworksResource = NetworksResource;
22
+ /** Активы: нативные монеты и токены. Вебхуки приходят о переводах включённых активов не меньше порога `minAmount` */
23
+ class AssetsResource {
24
+ #http;
25
+ constructor(http) {
26
+ this.#http = http;
27
+ }
28
+ /**
29
+ * Активы — все или одной сети.
30
+ *
31
+ * @example
32
+ * ```ts
33
+ * const usdt = (await monitoring.assets.list({ network: 'tron' })).find((a) => a.symbol === 'USDT')
34
+ * formatUnits(webhook.tx.value, usdt!.decimals)
35
+ * ```
36
+ */
37
+ async list(params = {}, options) {
38
+ const r = await this.#http.request({ method: 'GET', path: '/v1/assets', query: params, idempotent: true, options });
39
+ return r.items;
40
+ }
41
+ get(assetId, options) {
42
+ return this.#http.request({ method: 'GET', path: `/v1/assets/${(0, http_js_1.seg)(assetId)}`, idempotent: true, options });
43
+ }
44
+ }
45
+ exports.AssetsResource = AssetsResource;
46
+ //# sourceMappingURL=catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/resources/catalog.ts"],"names":[],"mappings":";;;AAAA,6CAA2E;AAG3E,sDAAsD;AACtD;IACW,KAAK,CAAY;IAC1B,YAAY,IAAgB;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACnB,CAAC;IAED,qFAAqF;IACrF,KAAK,CAAC,IAAI,CAAC,OAAwB;QACjC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAuB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QAC5H,OAAO,CAAC,CAAC,KAAK,CAAA;IAChB,CAAC;IAED,oDAAoD;IACpD,GAAG,CAAC,OAAe,EAAE,OAAwB;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,IAAA,aAAG,EAAC,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IAC/G,CAAC;CACF;;AAED,qHAAqH;AACrH;IACW,KAAK,CAAY;IAC1B,YAAY,IAAgB;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACnB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI,CAAC,MAAM,GAAyB,EAAE,EAAE,OAAwB;QACpE,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAqB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QACvI,OAAO,CAAC,CAAC,KAAK,CAAA;IAChB,CAAC;IAED,GAAG,CAAC,OAAe,EAAE,OAAwB;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,IAAA,aAAG,EAAC,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IAC7G,CAAC;CACF"}