@webacy-xyz/sdk-threat 1.2.5-beta.2 → 1.2.5-beta.3

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 (45) hide show
  1. package/dist/cjs/client.js +18 -0
  2. package/dist/cjs/client.js.map +1 -1
  3. package/dist/cjs/index.js +3 -1
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/resources/index.js +5 -1
  6. package/dist/cjs/resources/index.js.map +1 -1
  7. package/dist/cjs/resources/rwa.js +150 -0
  8. package/dist/cjs/resources/rwa.js.map +1 -0
  9. package/dist/cjs/resources/vaults.js +194 -0
  10. package/dist/cjs/resources/vaults.js.map +1 -0
  11. package/dist/cjs/types/rwa.js +3 -0
  12. package/dist/cjs/types/rwa.js.map +1 -0
  13. package/dist/cjs/types/vault.js +3 -0
  14. package/dist/cjs/types/vault.js.map +1 -0
  15. package/dist/esm/client.js +18 -0
  16. package/dist/esm/client.js.map +1 -1
  17. package/dist/esm/index.js +1 -1
  18. package/dist/esm/index.js.map +1 -1
  19. package/dist/esm/resources/index.js +2 -0
  20. package/dist/esm/resources/index.js.map +1 -1
  21. package/dist/esm/resources/rwa.js +146 -0
  22. package/dist/esm/resources/rwa.js.map +1 -0
  23. package/dist/esm/resources/vaults.js +190 -0
  24. package/dist/esm/resources/vaults.js.map +1 -0
  25. package/dist/esm/types/rwa.js +2 -0
  26. package/dist/esm/types/rwa.js.map +1 -0
  27. package/dist/esm/types/vault.js +2 -0
  28. package/dist/esm/types/vault.js.map +1 -0
  29. package/dist/types/client.d.ts +16 -0
  30. package/dist/types/client.d.ts.map +1 -1
  31. package/dist/types/index.d.ts +2 -2
  32. package/dist/types/index.d.ts.map +1 -1
  33. package/dist/types/resources/index.d.ts +2 -0
  34. package/dist/types/resources/index.d.ts.map +1 -1
  35. package/dist/types/resources/rwa.d.ts +93 -0
  36. package/dist/types/resources/rwa.d.ts.map +1 -0
  37. package/dist/types/resources/vaults.d.ts +126 -0
  38. package/dist/types/resources/vaults.d.ts.map +1 -0
  39. package/dist/types/types/index.d.ts +2 -0
  40. package/dist/types/types/index.d.ts.map +1 -1
  41. package/dist/types/types/rwa.d.ts +301 -0
  42. package/dist/types/types/rwa.d.ts.map +1 -0
  43. package/dist/types/types/vault.d.ts +280 -0
  44. package/dist/types/types/vault.d.ts.map +1 -0
  45. package/package.json +2 -2
@@ -12,6 +12,8 @@ const usage_1 = require("./resources/usage");
12
12
  const transactions_1 = require("./resources/transactions");
13
13
  const scan_1 = require("./resources/scan");
14
14
  const batch_1 = require("./resources/batch");
15
+ const rwa_1 = require("./resources/rwa");
16
+ const vaults_1 = require("./resources/vaults");
15
17
  /**
16
18
  * Webacy Threat SDK Client
17
19
  *
@@ -100,6 +102,20 @@ class ThreatClient extends sdk_core_1.BaseClient {
100
102
  * Batch risk analysis for multiple addresses, contracts, or transactions.
101
103
  */
102
104
  batch;
105
+ /**
106
+ * RWA resource
107
+ *
108
+ * Depeg risk monitoring for pegged tokens including stablecoins,
109
+ * tokenized gold, yield-bearing tokens, and bridged assets.
110
+ */
111
+ rwa;
112
+ /**
113
+ * Vaults resource
114
+ *
115
+ * DeFi vault risk analysis for ERC-4626 vaults including risk scoring,
116
+ * looping detection, TVL analysis, and underlying asset risk.
117
+ */
118
+ vaults;
103
119
  /**
104
120
  * Create a new ThreatClient instance
105
121
  *
@@ -142,6 +158,8 @@ class ThreatClient extends sdk_core_1.BaseClient {
142
158
  this.transactions = new transactions_1.TransactionsResource(this.httpClient, this.defaultChain);
143
159
  this.scan = new scan_1.ScanResource(this.httpClient, this.defaultChain);
144
160
  this.batch = new batch_1.BatchResource(this.httpClient, this.defaultChain);
161
+ this.rwa = new rwa_1.RwaResource(this.httpClient, this.defaultChain);
162
+ this.vaults = new vaults_1.VaultsResource(this.httpClient, this.defaultChain);
145
163
  }
146
164
  }
147
165
  exports.ThreatClient = ThreatClient;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";;;AAAA,mDAAsE;AACtE,qDAA0D;AAC1D,qDAA0D;AAC1D,yCAA8C;AAC9C,iDAAsD;AACtD,+CAAoD;AACpD,6DAAiE;AACjE,6CAAkD;AAClD,2DAAgE;AAChE,2CAAgD;AAChD,6CAAkD;AAElD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAa,YAAa,SAAQ,qBAAU;IAC1C;;;;;OAKG;IACa,SAAS,CAAoB;IAE7C;;;;;OAKG;IACa,SAAS,CAAoB;IAE7C;;;;OAIG;IACa,GAAG,CAAc;IAEjC;;;;OAIG;IACa,OAAO,CAAkB;IAEzC;;;;OAIG;IACa,MAAM,CAAiB;IAEvC;;;;OAIG;IACa,YAAY,CAAuB;IAEnD;;;;OAIG;IACa,KAAK,CAAgB;IAErC;;;;OAIG;IACa,YAAY,CAAuB;IAEnD;;;;;OAKG;IACa,IAAI,CAAe;IAEnC;;;;OAIG;IACa,KAAK,CAAgB;IAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,YAAY,MAA0B;QACpC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,8DAA8D;QAC9D,IAAI,CAAC,SAAS,GAAG,IAAI,6BAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAI,CAAC,SAAS,GAAG,IAAI,6BAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAI,CAAC,GAAG,GAAG,IAAI,iBAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAe,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,GAAG,IAAI,uBAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,GAAG,IAAI,oCAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACjF,IAAI,CAAC,KAAK,GAAG,IAAI,qBAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,GAAG,IAAI,mCAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACjF,IAAI,CAAC,IAAI,GAAG,IAAI,mBAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACjE,IAAI,CAAC,KAAK,GAAG,IAAI,qBAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACrE,CAAC;CAIF;AAzHD,oCAyHC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";;;AAAA,mDAAsE;AACtE,qDAA0D;AAC1D,qDAA0D;AAC1D,yCAA8C;AAC9C,iDAAsD;AACtD,+CAAoD;AACpD,6DAAiE;AACjE,6CAAkD;AAClD,2DAAgE;AAChE,2CAAgD;AAChD,6CAAkD;AAClD,yCAA8C;AAC9C,+CAAoD;AAEpD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAa,YAAa,SAAQ,qBAAU;IAC1C;;;;;OAKG;IACa,SAAS,CAAoB;IAE7C;;;;;OAKG;IACa,SAAS,CAAoB;IAE7C;;;;OAIG;IACa,GAAG,CAAc;IAEjC;;;;OAIG;IACa,OAAO,CAAkB;IAEzC;;;;OAIG;IACa,MAAM,CAAiB;IAEvC;;;;OAIG;IACa,YAAY,CAAuB;IAEnD;;;;OAIG;IACa,KAAK,CAAgB;IAErC;;;;OAIG;IACa,YAAY,CAAuB;IAEnD;;;;;OAKG;IACa,IAAI,CAAe;IAEnC;;;;OAIG;IACa,KAAK,CAAgB;IAErC;;;;;OAKG;IACa,GAAG,CAAc;IAEjC;;;;;OAKG;IACa,MAAM,CAAiB;IAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,YAAY,MAA0B;QACpC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,8DAA8D;QAC9D,IAAI,CAAC,SAAS,GAAG,IAAI,6BAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAI,CAAC,SAAS,GAAG,IAAI,6BAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAI,CAAC,GAAG,GAAG,IAAI,iBAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAe,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,GAAG,IAAI,uBAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,GAAG,IAAI,oCAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACjF,IAAI,CAAC,KAAK,GAAG,IAAI,qBAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,GAAG,IAAI,mCAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACjF,IAAI,CAAC,IAAI,GAAG,IAAI,mBAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACjE,IAAI,CAAC,KAAK,GAAG,IAAI,qBAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACnE,IAAI,CAAC,GAAG,GAAG,IAAI,iBAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,GAAG,IAAI,uBAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACvE,CAAC;CAIF;AA3ID,oCA2IC"}
package/dist/cjs/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NetworkError = exports.NotFoundError = exports.ValidationError = exports.RateLimitError = exports.AuthenticationError = exports.WebacyError = exports.TokenStandard = exports.TypeOfAddress = exports.RiskLevel = exports.RiskScore = exports.RiskModule = exports.CHAIN_NAMES = exports.isEvmChain = exports.ChainCompatibility = exports.Chain = exports.BatchResource = exports.ScanResource = exports.TransactionsResource = exports.UsageResource = exports.AccountTraceResource = exports.LedgerResource = exports.WalletsResource = exports.UrlResource = exports.ContractsResource = exports.AddressesResource = exports.ThreatClient = void 0;
3
+ exports.NetworkError = exports.NotFoundError = exports.ValidationError = exports.RateLimitError = exports.AuthenticationError = exports.WebacyError = exports.TokenStandard = exports.TypeOfAddress = exports.RiskLevel = exports.RiskScore = exports.RiskModule = exports.CHAIN_NAMES = exports.isEvmChain = exports.ChainCompatibility = exports.Chain = exports.VaultsResource = exports.RwaResource = exports.BatchResource = exports.ScanResource = exports.TransactionsResource = exports.UsageResource = exports.AccountTraceResource = exports.LedgerResource = exports.WalletsResource = exports.UrlResource = exports.ContractsResource = exports.AddressesResource = exports.ThreatClient = void 0;
4
4
  // Client
5
5
  var client_1 = require("./client");
6
6
  Object.defineProperty(exports, "ThreatClient", { enumerable: true, get: function () { return client_1.ThreatClient; } });
@@ -16,6 +16,8 @@ Object.defineProperty(exports, "UsageResource", { enumerable: true, get: functio
16
16
  Object.defineProperty(exports, "TransactionsResource", { enumerable: true, get: function () { return resources_1.TransactionsResource; } });
17
17
  Object.defineProperty(exports, "ScanResource", { enumerable: true, get: function () { return resources_1.ScanResource; } });
18
18
  Object.defineProperty(exports, "BatchResource", { enumerable: true, get: function () { return resources_1.BatchResource; } });
19
+ Object.defineProperty(exports, "RwaResource", { enumerable: true, get: function () { return resources_1.RwaResource; } });
20
+ Object.defineProperty(exports, "VaultsResource", { enumerable: true, get: function () { return resources_1.VaultsResource; } });
19
21
  // Re-export commonly used types from core
20
22
  var sdk_core_1 = require("@webacy-xyz/sdk-core");
21
23
  Object.defineProperty(exports, "Chain", { enumerable: true, get: function () { return sdk_core_1.Chain; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,SAAS;AACT,mCAAwC;AAA/B,sGAAA,YAAY,OAAA;AAErB,YAAY;AACZ,yCAWqB;AAVnB,8GAAA,iBAAiB,OAAA;AACjB,8GAAA,iBAAiB,OAAA;AACjB,wGAAA,WAAW,OAAA;AACX,4GAAA,eAAe,OAAA;AACf,2GAAA,cAAc,OAAA;AACd,iHAAA,oBAAoB,OAAA;AACpB,0GAAA,aAAa,OAAA;AACb,iHAAA,oBAAoB,OAAA;AACpB,yGAAA,YAAY,OAAA;AACZ,0GAAA,aAAa,OAAA;AA8Gf,0CAA0C;AAC1C,iDAqB8B;AApB5B,iGAAA,KAAK,OAAA;AACL,8GAAA,kBAAkB,OAAA;AAClB,sGAAA,UAAU,OAAA;AACV,uGAAA,WAAW,OAAA;AACX,sGAAA,UAAU,OAAA;AACV,qGAAA,SAAS,OAAA;AACT,qGAAA,SAAS,OAAA;AACT,yGAAA,aAAa,OAAA;AACb,yGAAA,aAAa,OAAA;AACb,uGAAA,WAAW,OAAA;AACX,+GAAA,mBAAmB,OAAA;AACnB,0GAAA,cAAc,OAAA;AACd,2GAAA,eAAe,OAAA;AACf,yGAAA,aAAa,OAAA;AACb,wGAAA,YAAY,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,SAAS;AACT,mCAAwC;AAA/B,sGAAA,YAAY,OAAA;AAErB,YAAY;AACZ,yCAaqB;AAZnB,8GAAA,iBAAiB,OAAA;AACjB,8GAAA,iBAAiB,OAAA;AACjB,wGAAA,WAAW,OAAA;AACX,4GAAA,eAAe,OAAA;AACf,2GAAA,cAAc,OAAA;AACd,iHAAA,oBAAoB,OAAA;AACpB,0GAAA,aAAa,OAAA;AACb,iHAAA,oBAAoB,OAAA;AACpB,yGAAA,YAAY,OAAA;AACZ,0GAAA,aAAa,OAAA;AACb,wGAAA,WAAW,OAAA;AACX,2GAAA,cAAc,OAAA;AAmKhB,0CAA0C;AAC1C,iDAqB8B;AApB5B,iGAAA,KAAK,OAAA;AACL,8GAAA,kBAAkB,OAAA;AAClB,sGAAA,UAAU,OAAA;AACV,uGAAA,WAAW,OAAA;AACX,sGAAA,UAAU,OAAA;AACV,qGAAA,SAAS,OAAA;AACT,qGAAA,SAAS,OAAA;AACT,yGAAA,aAAa,OAAA;AACb,yGAAA,aAAa,OAAA;AACb,uGAAA,WAAW,OAAA;AACX,+GAAA,mBAAmB,OAAA;AACnB,0GAAA,cAAc,OAAA;AACd,2GAAA,eAAe,OAAA;AACf,yGAAA,aAAa,OAAA;AACb,wGAAA,YAAY,OAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BatchResource = exports.ScanResource = exports.TransactionsResource = exports.UsageResource = exports.AccountTraceResource = exports.LedgerResource = exports.WalletsResource = exports.UrlResource = exports.ContractsResource = exports.AddressesResource = void 0;
3
+ exports.VaultsResource = exports.RwaResource = exports.BatchResource = exports.ScanResource = exports.TransactionsResource = exports.UsageResource = exports.AccountTraceResource = exports.LedgerResource = exports.WalletsResource = exports.UrlResource = exports.ContractsResource = exports.AddressesResource = void 0;
4
4
  var addresses_1 = require("./addresses");
5
5
  Object.defineProperty(exports, "AddressesResource", { enumerable: true, get: function () { return addresses_1.AddressesResource; } });
6
6
  var contracts_1 = require("./contracts");
@@ -21,4 +21,8 @@ var scan_1 = require("./scan");
21
21
  Object.defineProperty(exports, "ScanResource", { enumerable: true, get: function () { return scan_1.ScanResource; } });
22
22
  var batch_1 = require("./batch");
23
23
  Object.defineProperty(exports, "BatchResource", { enumerable: true, get: function () { return batch_1.BatchResource; } });
24
+ var rwa_1 = require("./rwa");
25
+ Object.defineProperty(exports, "RwaResource", { enumerable: true, get: function () { return rwa_1.RwaResource; } });
26
+ var vaults_1 = require("./vaults");
27
+ Object.defineProperty(exports, "VaultsResource", { enumerable: true, get: function () { return vaults_1.VaultsResource; } });
24
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resources/index.ts"],"names":[],"mappings":";;;AAAA,yCAAgD;AAAvC,8GAAA,iBAAiB,OAAA;AAC1B,yCAAgD;AAAvC,8GAAA,iBAAiB,OAAA;AAC1B,6BAAoC;AAA3B,kGAAA,WAAW,OAAA;AACpB,qCAA4C;AAAnC,0GAAA,eAAe,OAAA;AACxB,mCAA0C;AAAjC,wGAAA,cAAc,OAAA;AACvB,iDAAuD;AAA9C,qHAAA,oBAAoB,OAAA;AAC7B,iCAAwC;AAA/B,sGAAA,aAAa,OAAA;AACtB,+CAAsD;AAA7C,oHAAA,oBAAoB,OAAA;AAC7B,+BAAsC;AAA7B,oGAAA,YAAY,OAAA;AACrB,iCAAwC;AAA/B,sGAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resources/index.ts"],"names":[],"mappings":";;;AAAA,yCAAgD;AAAvC,8GAAA,iBAAiB,OAAA;AAC1B,yCAAgD;AAAvC,8GAAA,iBAAiB,OAAA;AAC1B,6BAAoC;AAA3B,kGAAA,WAAW,OAAA;AACpB,qCAA4C;AAAnC,0GAAA,eAAe,OAAA;AACxB,mCAA0C;AAAjC,wGAAA,cAAc,OAAA;AACvB,iDAAuD;AAA9C,qHAAA,oBAAoB,OAAA;AAC7B,iCAAwC;AAA/B,sGAAA,aAAa,OAAA;AACtB,+CAAsD;AAA7C,oHAAA,oBAAoB,OAAA;AAC7B,+BAAsC;AAA7B,oGAAA,YAAY,OAAA;AACrB,iCAAwC;AAA/B,sGAAA,aAAa,OAAA;AACtB,6BAAoC;AAA3B,kGAAA,WAAW,OAAA;AACpB,mCAA0C;AAAjC,wGAAA,cAAc,OAAA"}
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RwaResource = void 0;
4
+ const sdk_core_1 = require("@webacy-xyz/sdk-core");
5
+ /**
6
+ * Resource for RWA (Real World Assets) depeg risk monitoring
7
+ *
8
+ * Provides access to depeg risk data for pegged tokens including stablecoins,
9
+ * tokenized gold, yield-bearing tokens, and bridged assets.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * // List all pegged tokens
14
+ * const tokens = await client.rwa.list();
15
+ *
16
+ * // Filter by chain and risk tier
17
+ * const critical = await client.rwa.list({
18
+ * chain: Chain.ETH,
19
+ * tier: 'critical',
20
+ * });
21
+ *
22
+ * // Get detailed depeg risk for a specific token
23
+ * const detail = await client.rwa.get('0x...', {
24
+ * chain: Chain.ETH,
25
+ * hours: 72,
26
+ * });
27
+ * ```
28
+ */
29
+ class RwaResource extends sdk_core_1.BaseResource {
30
+ /**
31
+ * List all pegged tokens with depeg risk data and aggregates
32
+ *
33
+ * Returns a paginated list of tracked pegged tokens with their current
34
+ * depeg risk scores, price deviations, liquidity data, and ecosystem-wide
35
+ * aggregates.
36
+ *
37
+ * @param options - Filter, sort, and pagination options
38
+ * @returns Paginated token list with aggregates
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * // Get all tokens
43
+ * const result = await client.rwa.list();
44
+ * console.log(`Total tokens: ${result.pagination.total}`);
45
+ * console.log(`Stability index: ${result.aggregates.stability_index}`);
46
+ *
47
+ * // Filter by denomination and risk
48
+ * const usdCritical = await client.rwa.list({
49
+ * denomination: 'USD',
50
+ * tier: 'critical',
51
+ * sort: 'score',
52
+ * order: 'desc',
53
+ * });
54
+ *
55
+ * // Search and filter by tags
56
+ * const goldTokens = await client.rwa.list({
57
+ * tags: ['gold', 'rwa'],
58
+ * minMcap: 1_000_000,
59
+ * });
60
+ *
61
+ * // View collapsed/dead tokens
62
+ * const graveyard = await client.rwa.list({ collapsedOnly: true });
63
+ * ```
64
+ */
65
+ async list(options = {}) {
66
+ const queryParams = new URLSearchParams();
67
+ if (options.chain)
68
+ queryParams.append('chain', options.chain);
69
+ if (options.denomination !== undefined)
70
+ queryParams.append('denomination', options.denomination);
71
+ if (options.tier !== undefined)
72
+ queryParams.append('tier', options.tier);
73
+ if (options.tags && options.tags.length > 0)
74
+ queryParams.append('tags', options.tags.join(','));
75
+ if (options.minScore !== undefined)
76
+ queryParams.append('minScore', String(options.minScore));
77
+ if (options.maxScore !== undefined)
78
+ queryParams.append('maxScore', String(options.maxScore));
79
+ if (options.minMcap !== undefined)
80
+ queryParams.append('minMcap', String(options.minMcap));
81
+ if (options.liquidity !== undefined)
82
+ queryParams.append('liquidity', options.liquidity);
83
+ if (options.q !== undefined)
84
+ queryParams.append('q', options.q);
85
+ if (options.sort !== undefined)
86
+ queryParams.append('sort', options.sort);
87
+ if (options.order !== undefined)
88
+ queryParams.append('order', options.order);
89
+ if (options.showAll !== undefined)
90
+ queryParams.append('showAll', String(options.showAll));
91
+ if (options.collapsedOnly !== undefined)
92
+ queryParams.append('collapsedOnly', String(options.collapsedOnly));
93
+ if (options.page !== undefined)
94
+ queryParams.append('page', String(options.page));
95
+ if (options.pageSize !== undefined)
96
+ queryParams.append('pageSize', String(options.pageSize));
97
+ const qs = queryParams.toString();
98
+ const path = qs ? `/rwa?${qs}` : '/rwa';
99
+ const response = await this.httpClient.get(path, {
100
+ timeout: options.timeout,
101
+ signal: options.signal,
102
+ });
103
+ return response.data;
104
+ }
105
+ /**
106
+ * Get detailed depeg risk data for a specific pegged token
107
+ *
108
+ * Returns comprehensive token detail including identity, current snapshot,
109
+ * risk analysis, historical time series, and depeg events.
110
+ *
111
+ * @param address - Token contract address
112
+ * @param options - Query options (chain, hours of history)
113
+ * @returns Detailed token data with history and events
114
+ *
115
+ * @example
116
+ * ```typescript
117
+ * // Get token detail with default 24h history
118
+ * const detail = await client.rwa.get('0xA0b8...');
119
+ *
120
+ * // Specify chain and request 7 days of history
121
+ * const detail = await client.rwa.get('0xA0b8...', {
122
+ * chain: Chain.ETH,
123
+ * hours: 168,
124
+ * });
125
+ *
126
+ * console.log(`Score: ${detail.snapshot.score}`);
127
+ * console.log(`Tier: ${detail.snapshot.tier}`);
128
+ * console.log(`History points: ${detail.history.series.length}`);
129
+ * console.log(`Depeg events: ${detail.depegEvents.length}`);
130
+ * ```
131
+ */
132
+ async get(address, options = {}) {
133
+ const queryParams = new URLSearchParams();
134
+ if (options.chain)
135
+ queryParams.append('chain', options.chain);
136
+ if (options.hours !== undefined)
137
+ queryParams.append('hours', String(options.hours));
138
+ const qs = queryParams.toString();
139
+ const path = qs
140
+ ? `/rwa/${encodeURIComponent(address)}?${qs}`
141
+ : `/rwa/${encodeURIComponent(address)}`;
142
+ const response = await this.httpClient.get(path, {
143
+ timeout: options.timeout,
144
+ signal: options.signal,
145
+ });
146
+ return response.data;
147
+ }
148
+ }
149
+ exports.RwaResource = RwaResource;
150
+ //# sourceMappingURL=rwa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rwa.js","sourceRoot":"","sources":["../../../src/resources/rwa.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VaultsResource = void 0;
4
+ const sdk_core_1 = require("@webacy-xyz/sdk-core");
5
+ /**
6
+ * Resource for DeFi vault risk analysis
7
+ *
8
+ * Provides access to risk data for ERC-4626 vaults including risk scoring,
9
+ * looping detection, TVL analysis, and underlying asset risk assessment.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * // List all vaults
14
+ * const vaults = await client.vaults.list();
15
+ *
16
+ * // Filter by protocol and risk tier
17
+ * const morphoHigh = await client.vaults.list({
18
+ * protocol: 'morpho',
19
+ * tier: 'high',
20
+ * });
21
+ *
22
+ * // Get detailed vault risk analysis
23
+ * const detail = await client.vaults.get('0x...', { chain: Chain.ETH });
24
+ * ```
25
+ */
26
+ class VaultsResource extends sdk_core_1.BaseResource {
27
+ /**
28
+ * List all rated ERC-4626 vaults with risk scores and aggregates
29
+ *
30
+ * Returns a paginated list of vaults using offset-based pagination.
31
+ * For cursor-based pagination, use {@link listCursor}.
32
+ *
33
+ * @param options - Filter, sort, and pagination options
34
+ * @returns Paginated vault list with aggregates
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * // Get all vaults
39
+ * const result = await client.vaults.list();
40
+ * console.log(`Total vaults: ${result.pagination.total}`);
41
+ * console.log(`Total TVL: $${result.aggregates.total_tvl_usd}`);
42
+ *
43
+ * // Filter by protocol, chain, and risk
44
+ * const risky = await client.vaults.list({
45
+ * protocol: 'morpho',
46
+ * chain: Chain.ETH,
47
+ * tier: 'high',
48
+ * sort: 'score_desc',
49
+ * });
50
+ *
51
+ * // Filter by underlying asset and attention needed
52
+ * const urgent = await client.vaults.list({
53
+ * underlying: 'USDC',
54
+ * attentionNeeded: true,
55
+ * });
56
+ *
57
+ * // Search and filter by risk flags
58
+ * const looping = await client.vaults.list({
59
+ * riskFlags: 'vault-high-looping,vault-upgradeable',
60
+ * riskFlagsMode: 'any',
61
+ * });
62
+ * ```
63
+ */
64
+ async list(options = {}) {
65
+ const queryParams = new URLSearchParams();
66
+ this.appendSharedListParams(queryParams, options);
67
+ if (options.page !== undefined)
68
+ queryParams.append('page', String(options.page));
69
+ if (options.pageSize !== undefined)
70
+ queryParams.append('pageSize', String(options.pageSize));
71
+ const qs = queryParams.toString();
72
+ const path = qs ? `/vaults?${qs}` : '/vaults';
73
+ const response = await this.httpClient.get(path, {
74
+ timeout: options.timeout,
75
+ signal: options.signal,
76
+ });
77
+ return response.data;
78
+ }
79
+ /**
80
+ * List vaults with cursor-based pagination
81
+ *
82
+ * Returns vaults using an opaque cursor for efficient sequential pagination.
83
+ * Pass the `next_cursor` from a previous response to get the next page.
84
+ *
85
+ * @param options - Filter options with required cursor
86
+ * @returns Cursor-paginated vault list with aggregates
87
+ *
88
+ * @example
89
+ * ```typescript
90
+ * // First page
91
+ * const first = await client.vaults.list({ pageSize: 100 });
92
+ *
93
+ * // Subsequent pages using cursor
94
+ * const second = await client.vaults.listCursor({
95
+ * cursor: 'opaque-cursor-from-previous-response',
96
+ * limit: 100,
97
+ * });
98
+ *
99
+ * if (second.next_cursor) {
100
+ * const third = await client.vaults.listCursor({
101
+ * cursor: second.next_cursor,
102
+ * limit: 100,
103
+ * });
104
+ * }
105
+ * ```
106
+ */
107
+ async listCursor(options) {
108
+ const queryParams = new URLSearchParams();
109
+ this.appendSharedListParams(queryParams, options);
110
+ queryParams.append('cursor', options.cursor);
111
+ if (options.limit !== undefined)
112
+ queryParams.append('limit', String(options.limit));
113
+ const path = `/vaults?${queryParams.toString()}`;
114
+ const response = await this.httpClient.get(path, {
115
+ timeout: options.timeout,
116
+ signal: options.signal,
117
+ });
118
+ return response.data;
119
+ }
120
+ /**
121
+ * Get detailed risk data for a specific vault
122
+ *
123
+ * Returns comprehensive vault detail including metadata, risk breakdown,
124
+ * looping markets, composition, Morpho-specific data, and Webacy findings.
125
+ *
126
+ * @param address - Vault contract address
127
+ * @param options - Query options (chain is required)
128
+ * @returns Detailed vault risk data
129
+ *
130
+ * @example
131
+ * ```typescript
132
+ * const detail = await client.vaults.get('0x...', { chain: Chain.ETH });
133
+ *
134
+ * console.log(`Score: ${detail.risk.score}`);
135
+ * console.log(`TVL: $${detail.metadata.tvl_usd}`);
136
+ * console.log(`Protocol: ${detail.metadata.protocol}`);
137
+ * console.log(`Listing verdict: ${detail.metadata.listing_verdict}`);
138
+ *
139
+ * // Check Morpho-specific data
140
+ * if (detail.morpho) {
141
+ * console.log(`Morpho liquidity: $${detail.morpho.liquidity_usd}`);
142
+ * }
143
+ *
144
+ * // Check risk issues
145
+ * for (const issue of detail.risk.issues) {
146
+ * console.log(`Risk score: ${issue.score}, tags: ${issue.tags.join(', ')}`);
147
+ * }
148
+ * ```
149
+ */
150
+ async get(address, options) {
151
+ const chain = options.chain;
152
+ this.validateAddress(address, chain);
153
+ const queryParams = new URLSearchParams();
154
+ queryParams.append('chain', chain);
155
+ const response = await this.httpClient.get(`/vaults/${encodeURIComponent(address)}?${queryParams.toString()}`, {
156
+ timeout: options.timeout,
157
+ signal: options.signal,
158
+ });
159
+ return response.data;
160
+ }
161
+ /** Append filter params shared between offset and cursor list methods */
162
+ appendSharedListParams(queryParams, options) {
163
+ if (options.chain)
164
+ queryParams.append('chain', options.chain);
165
+ if (options.tier !== undefined)
166
+ queryParams.append('tier', options.tier);
167
+ if (options.underlying !== undefined)
168
+ queryParams.append('underlying', options.underlying);
169
+ if (options.protocol !== undefined)
170
+ queryParams.append('protocol', options.protocol);
171
+ if (options.minTvl !== undefined)
172
+ queryParams.append('minTvl', String(options.minTvl));
173
+ if (options.underlyingRisk !== undefined)
174
+ queryParams.append('underlyingRisk', options.underlyingRisk);
175
+ if (options.minScore !== undefined)
176
+ queryParams.append('minScore', String(options.minScore));
177
+ if (options.maxScore !== undefined)
178
+ queryParams.append('maxScore', String(options.maxScore));
179
+ if (options.contractType !== undefined)
180
+ queryParams.append('contractType', options.contractType);
181
+ if (options.attentionNeeded !== undefined)
182
+ queryParams.append('attentionNeeded', String(options.attentionNeeded));
183
+ if (options.riskFlags !== undefined)
184
+ queryParams.append('riskFlags', options.riskFlags);
185
+ if (options.riskFlagsMode !== undefined)
186
+ queryParams.append('riskFlagsMode', options.riskFlagsMode);
187
+ if (options.q !== undefined)
188
+ queryParams.append('q', options.q);
189
+ if (options.sort !== undefined)
190
+ queryParams.append('sort', options.sort);
191
+ }
192
+ }
193
+ exports.VaultsResource = VaultsResource;
194
+ //# sourceMappingURL=vaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vaults.js","sourceRoot":"","sources":["../../../src/resources/vaults.ts"],"names":[],"mappings":";;;AAAA,mDAAkE;AAUlE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAa,cAAe,SAAQ,uBAAY;IAC9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,KAAK,CAAC,IAAI,CAAC,UAA4B,EAAE;QACvC,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QAC1C,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAElD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACjF,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAAE,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE7F,MAAM,EAAE,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9C,MAAM,QAAQ,GAAoC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE;YAChF,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,KAAK,CAAC,UAAU,CAAC,OAA+B;QAC9C,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QAC1C,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAElD,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAEpF,MAAM,IAAI,GAAG,WAAW,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC;QAEjD,MAAM,QAAQ,GAA0C,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE;YACtF,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,KAAK,CAAC,GAAG,CAAC,OAAe,EAAE,OAA2B;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAErC,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QAC1C,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAEnC,MAAM,QAAQ,GAAsC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAC3E,WAAW,kBAAkB,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,EAClE;YACE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,yEAAyE;IACjE,sBAAsB,CAAC,WAA4B,EAAE,OAAyB;QACpF,IAAI,OAAO,CAAC,KAAK;YAAE,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACzE,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;YAAE,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3F,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAAE,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrF,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACvF,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS;YACtC,WAAW,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QAC/D,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAAE,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7F,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAAE,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7F,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;YACpC,WAAW,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS;YACvC,WAAW,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;QACzE,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;YAAE,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACxF,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS;YACrC,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC7D,IAAI,OAAO,CAAC,CAAC,KAAK,SAAS;YAAE,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC;CACF;AA1KD,wCA0KC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=rwa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rwa.js","sourceRoot":"","sources":["../../../src/types/rwa.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=vault.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../../src/types/vault.ts"],"names":[],"mappings":""}
@@ -9,6 +9,8 @@ import { UsageResource } from './resources/usage.js';
9
9
  import { TransactionsResource } from './resources/transactions.js';
10
10
  import { ScanResource } from './resources/scan.js';
11
11
  import { BatchResource } from './resources/batch.js';
12
+ import { RwaResource } from './resources/rwa.js';
13
+ import { VaultsResource } from './resources/vaults.js';
12
14
  /**
13
15
  * Webacy Threat SDK Client
14
16
  *
@@ -97,6 +99,20 @@ export class ThreatClient extends BaseClient {
97
99
  * Batch risk analysis for multiple addresses, contracts, or transactions.
98
100
  */
99
101
  batch;
102
+ /**
103
+ * RWA resource
104
+ *
105
+ * Depeg risk monitoring for pegged tokens including stablecoins,
106
+ * tokenized gold, yield-bearing tokens, and bridged assets.
107
+ */
108
+ rwa;
109
+ /**
110
+ * Vaults resource
111
+ *
112
+ * DeFi vault risk analysis for ERC-4626 vaults including risk scoring,
113
+ * looping detection, TVL analysis, and underlying asset risk.
114
+ */
115
+ vaults;
100
116
  /**
101
117
  * Create a new ThreatClient instance
102
118
  *
@@ -139,6 +155,8 @@ export class ThreatClient extends BaseClient {
139
155
  this.transactions = new TransactionsResource(this.httpClient, this.defaultChain);
140
156
  this.scan = new ScanResource(this.httpClient, this.defaultChain);
141
157
  this.batch = new BatchResource(this.httpClient, this.defaultChain);
158
+ this.rwa = new RwaResource(this.httpClient, this.defaultChain);
159
+ this.vaults = new VaultsResource(this.httpClient, this.defaultChain);
142
160
  }
143
161
  }
144
162
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,YAAa,SAAQ,UAAU;IAC1C;;;;;OAKG;IACa,SAAS,CAAoB;IAE7C;;;;;OAKG;IACa,SAAS,CAAoB;IAE7C;;;;OAIG;IACa,GAAG,CAAc;IAEjC;;;;OAIG;IACa,OAAO,CAAkB;IAEzC;;;;OAIG;IACa,MAAM,CAAiB;IAEvC;;;;OAIG;IACa,YAAY,CAAuB;IAEnD;;;;OAIG;IACa,KAAK,CAAgB;IAErC;;;;OAIG;IACa,YAAY,CAAuB;IAEnD;;;;;OAKG;IACa,IAAI,CAAe;IAEnC;;;;OAIG;IACa,KAAK,CAAgB;IAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,YAAY,MAA0B;QACpC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,8DAA8D;QAC9D,IAAI,CAAC,SAAS,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAI,CAAC,SAAS,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAI,CAAC,GAAG,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACjF,IAAI,CAAC,KAAK,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACjF,IAAI,CAAC,IAAI,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACjE,IAAI,CAAC,KAAK,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACrE,CAAC;CAIF"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // Client
2
2
  export { ThreatClient } from './client.js';
3
3
  // Resources
4
- export { AddressesResource, ContractsResource, UrlResource, WalletsResource, LedgerResource, AccountTraceResource, UsageResource, TransactionsResource, ScanResource, BatchResource, } from './resources/index.js';
4
+ export { AddressesResource, ContractsResource, UrlResource, WalletsResource, LedgerResource, AccountTraceResource, UsageResource, TransactionsResource, ScanResource, BatchResource, RwaResource, VaultsResource, } from './resources/index.js';
5
5
  // Re-export commonly used types from core
6
6
  export { Chain, ChainCompatibility, isEvmChain, CHAIN_NAMES, RiskModule, RiskScore, RiskLevel, TypeOfAddress, TokenStandard, WebacyError, AuthenticationError, RateLimitError, ValidationError, NotFoundError, NetworkError, } from '@webacy-xyz/sdk-core';
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,YAAY;AACZ,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,aAAa,GACd,MAAM,aAAa,CAAC;AA6GrB,0CAA0C;AAC1C,OAAO,EACL,KAAK,EACL,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,SAAS,EACT,aAAa,EACb,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,aAAa,EACb,YAAY,GAMb,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,YAAY;AACZ,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,cAAc,GACf,MAAM,aAAa,CAAC;AAkKrB,0CAA0C;AAC1C,OAAO,EACL,KAAK,EACL,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,SAAS,EACT,aAAa,EACb,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,aAAa,EACb,YAAY,GAMb,MAAM,sBAAsB,CAAC"}
@@ -8,4 +8,6 @@ export { UsageResource } from './usage.js';
8
8
  export { TransactionsResource } from './transactions.js';
9
9
  export { ScanResource } from './scan.js';
10
10
  export { BatchResource } from './batch.js';
11
+ export { RwaResource } from './rwa.js';
12
+ export { VaultsResource } from './vaults.js';
11
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC"}