@webacy-xyz/sdk-threat 1.2.6 → 1.3.0-beta.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.
- package/dist/cjs/client.js +18 -0
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/resources/index.js +5 -1
- package/dist/cjs/resources/index.js.map +1 -1
- package/dist/cjs/resources/rwa.js +150 -0
- package/dist/cjs/resources/rwa.js.map +1 -0
- package/dist/cjs/resources/vaults.js +194 -0
- package/dist/cjs/resources/vaults.js.map +1 -0
- package/dist/cjs/types/rwa.js +3 -0
- package/dist/cjs/types/rwa.js.map +1 -0
- package/dist/cjs/types/vault.js +3 -0
- package/dist/cjs/types/vault.js.map +1 -0
- package/dist/esm/client.js +18 -0
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/resources/index.js +2 -0
- package/dist/esm/resources/index.js.map +1 -1
- package/dist/esm/resources/rwa.js +146 -0
- package/dist/esm/resources/rwa.js.map +1 -0
- package/dist/esm/resources/vaults.js +190 -0
- package/dist/esm/resources/vaults.js.map +1 -0
- package/dist/esm/types/rwa.js +2 -0
- package/dist/esm/types/rwa.js.map +1 -0
- package/dist/esm/types/vault.js +2 -0
- package/dist/esm/types/vault.js.map +1 -0
- package/dist/types/client.d.ts +16 -0
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/resources/index.d.ts +2 -0
- package/dist/types/resources/index.d.ts.map +1 -1
- package/dist/types/resources/rwa.d.ts +93 -0
- package/dist/types/resources/rwa.d.ts.map +1 -0
- package/dist/types/resources/vaults.d.ts +126 -0
- package/dist/types/resources/vaults.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +2 -0
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/types/rwa.d.ts +301 -0
- package/dist/types/types/rwa.d.ts.map +1 -0
- package/dist/types/types/vault.d.ts +280 -0
- package/dist/types/types/vault.d.ts.map +1 -0
- package/package.json +2 -2
package/dist/cjs/client.js
CHANGED
|
@@ -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;
|
package/dist/cjs/client.js.map
CHANGED
|
@@ -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;
|
|
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; } });
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -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,
|
|
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":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rwa.js","sourceRoot":"","sources":["../../../src/types/rwa.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vault.js","sourceRoot":"","sources":["../../../src/types/vault.ts"],"names":[],"mappings":""}
|
package/dist/esm/client.js
CHANGED
|
@@ -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
|
package/dist/esm/client.js.map
CHANGED
|
@@ -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;
|
|
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
|
package/dist/esm/index.js.map
CHANGED
|
@@ -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,
|
|
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"}
|