@webacy-xyz/sdk-threat 1.0.1

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 (113) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +288 -0
  3. package/dist/cjs/client.js +165 -0
  4. package/dist/cjs/client.js.map +1 -0
  5. package/dist/cjs/index.js +33 -0
  6. package/dist/cjs/index.js.map +1 -0
  7. package/dist/cjs/package.json +1 -0
  8. package/dist/cjs/resources/account-trace.js +75 -0
  9. package/dist/cjs/resources/account-trace.js.map +1 -0
  10. package/dist/cjs/resources/addresses.js +162 -0
  11. package/dist/cjs/resources/addresses.js.map +1 -0
  12. package/dist/cjs/resources/contracts.js +187 -0
  13. package/dist/cjs/resources/contracts.js.map +1 -0
  14. package/dist/cjs/resources/index.js +18 -0
  15. package/dist/cjs/resources/index.js.map +1 -0
  16. package/dist/cjs/resources/ledger.js +123 -0
  17. package/dist/cjs/resources/ledger.js.map +1 -0
  18. package/dist/cjs/resources/url.js +92 -0
  19. package/dist/cjs/resources/url.js.map +1 -0
  20. package/dist/cjs/resources/usage.js +124 -0
  21. package/dist/cjs/resources/usage.js.map +1 -0
  22. package/dist/cjs/resources/wallets.js +122 -0
  23. package/dist/cjs/resources/wallets.js.map +1 -0
  24. package/dist/cjs/types/account-trace.js +3 -0
  25. package/dist/cjs/types/account-trace.js.map +1 -0
  26. package/dist/cjs/types/address.js +3 -0
  27. package/dist/cjs/types/address.js.map +1 -0
  28. package/dist/cjs/types/contract.js +3 -0
  29. package/dist/cjs/types/contract.js.map +1 -0
  30. package/dist/cjs/types/index.js +3 -0
  31. package/dist/cjs/types/index.js.map +1 -0
  32. package/dist/cjs/types/ledger.js +3 -0
  33. package/dist/cjs/types/ledger.js.map +1 -0
  34. package/dist/cjs/types/url.js +3 -0
  35. package/dist/cjs/types/url.js.map +1 -0
  36. package/dist/cjs/types/usage.js +3 -0
  37. package/dist/cjs/types/usage.js.map +1 -0
  38. package/dist/cjs/types/wallet.js +3 -0
  39. package/dist/cjs/types/wallet.js.map +1 -0
  40. package/dist/esm/client.js +161 -0
  41. package/dist/esm/client.js.map +1 -0
  42. package/dist/esm/index.js +7 -0
  43. package/dist/esm/index.js.map +1 -0
  44. package/dist/esm/package.json +1 -0
  45. package/dist/esm/resources/account-trace.js +71 -0
  46. package/dist/esm/resources/account-trace.js.map +1 -0
  47. package/dist/esm/resources/addresses.js +158 -0
  48. package/dist/esm/resources/addresses.js.map +1 -0
  49. package/dist/esm/resources/contracts.js +183 -0
  50. package/dist/esm/resources/contracts.js.map +1 -0
  51. package/dist/esm/resources/index.js +8 -0
  52. package/dist/esm/resources/index.js.map +1 -0
  53. package/dist/esm/resources/ledger.js +119 -0
  54. package/dist/esm/resources/ledger.js.map +1 -0
  55. package/dist/esm/resources/url.js +88 -0
  56. package/dist/esm/resources/url.js.map +1 -0
  57. package/dist/esm/resources/usage.js +120 -0
  58. package/dist/esm/resources/usage.js.map +1 -0
  59. package/dist/esm/resources/wallets.js +118 -0
  60. package/dist/esm/resources/wallets.js.map +1 -0
  61. package/dist/esm/types/account-trace.js +2 -0
  62. package/dist/esm/types/account-trace.js.map +1 -0
  63. package/dist/esm/types/address.js +2 -0
  64. package/dist/esm/types/address.js.map +1 -0
  65. package/dist/esm/types/contract.js +2 -0
  66. package/dist/esm/types/contract.js.map +1 -0
  67. package/dist/esm/types/index.js +2 -0
  68. package/dist/esm/types/index.js.map +1 -0
  69. package/dist/esm/types/ledger.js +2 -0
  70. package/dist/esm/types/ledger.js.map +1 -0
  71. package/dist/esm/types/url.js +2 -0
  72. package/dist/esm/types/url.js.map +1 -0
  73. package/dist/esm/types/usage.js +2 -0
  74. package/dist/esm/types/usage.js.map +1 -0
  75. package/dist/esm/types/wallet.js +2 -0
  76. package/dist/esm/types/wallet.js.map +1 -0
  77. package/dist/types/client.d.ts +145 -0
  78. package/dist/types/client.d.ts.map +1 -0
  79. package/dist/types/index.d.ts +5 -0
  80. package/dist/types/index.d.ts.map +1 -0
  81. package/dist/types/resources/account-trace.d.ts +59 -0
  82. package/dist/types/resources/account-trace.d.ts.map +1 -0
  83. package/dist/types/resources/addresses.d.ts +118 -0
  84. package/dist/types/resources/addresses.d.ts.map +1 -0
  85. package/dist/types/resources/contracts.d.ts +148 -0
  86. package/dist/types/resources/contracts.d.ts.map +1 -0
  87. package/dist/types/resources/index.d.ts +8 -0
  88. package/dist/types/resources/index.d.ts.map +1 -0
  89. package/dist/types/resources/ledger.d.ts +107 -0
  90. package/dist/types/resources/ledger.d.ts.map +1 -0
  91. package/dist/types/resources/url.d.ts +69 -0
  92. package/dist/types/resources/url.d.ts.map +1 -0
  93. package/dist/types/resources/usage.d.ts +99 -0
  94. package/dist/types/resources/usage.d.ts.map +1 -0
  95. package/dist/types/resources/wallets.d.ts +93 -0
  96. package/dist/types/resources/wallets.d.ts.map +1 -0
  97. package/dist/types/types/account-trace.d.ts +68 -0
  98. package/dist/types/types/account-trace.d.ts.map +1 -0
  99. package/dist/types/types/address.d.ts +266 -0
  100. package/dist/types/types/address.d.ts.map +1 -0
  101. package/dist/types/types/contract.d.ts +169 -0
  102. package/dist/types/types/contract.d.ts.map +1 -0
  103. package/dist/types/types/index.d.ts +8 -0
  104. package/dist/types/types/index.d.ts.map +1 -0
  105. package/dist/types/types/ledger.d.ts +106 -0
  106. package/dist/types/types/ledger.d.ts.map +1 -0
  107. package/dist/types/types/url.d.ts +39 -0
  108. package/dist/types/types/url.d.ts.map +1 -0
  109. package/dist/types/types/usage.d.ts +74 -0
  110. package/dist/types/types/usage.d.ts.map +1 -0
  111. package/dist/types/types/wallet.d.ts +129 -0
  112. package/dist/types/types/wallet.d.ts.map +1 -0
  113. package/package.json +74 -0
@@ -0,0 +1,74 @@
1
+ /**
2
+ * API usage data
3
+ */
4
+ export interface UsageData {
5
+ /** Total API calls */
6
+ total_calls: number;
7
+ /** Calls in current period */
8
+ period_calls: number;
9
+ /** Period start date */
10
+ period_start: string;
11
+ /** Period end date */
12
+ period_end: string;
13
+ /** Usage by endpoint */
14
+ by_endpoint?: Record<string, number>;
15
+ /** Usage by date */
16
+ by_date?: Record<string, number>;
17
+ }
18
+ /**
19
+ * Current usage response
20
+ */
21
+ export interface CurrentUsageResponse {
22
+ /** Current plan name */
23
+ plan: string;
24
+ /** Calls used this period */
25
+ calls_used: number;
26
+ /** Calls remaining */
27
+ calls_remaining: number;
28
+ /** Total calls allowed */
29
+ calls_limit: number;
30
+ /** Period reset date */
31
+ reset_date: string;
32
+ /** Percentage used */
33
+ usage_percentage: number;
34
+ }
35
+ /**
36
+ * Usage plan information
37
+ */
38
+ export interface UsagePlan {
39
+ /** Plan ID */
40
+ id: string;
41
+ /** Plan name */
42
+ name: string;
43
+ /** Monthly call limit */
44
+ monthly_limit: number;
45
+ /** Rate limit per second */
46
+ rate_limit: number;
47
+ /** Price per month */
48
+ price_monthly?: number;
49
+ /** Features included */
50
+ features: string[];
51
+ }
52
+ /**
53
+ * Usage plans response
54
+ */
55
+ export interface UsagePlansResponse {
56
+ /** Available plans */
57
+ plans: UsagePlan[];
58
+ /** Current plan ID */
59
+ current_plan: string;
60
+ }
61
+ /**
62
+ * Options for usage requests
63
+ */
64
+ export interface UsageOptions {
65
+ /** Start date for usage data */
66
+ start_date?: string;
67
+ /** End date for usage data */
68
+ end_date?: string;
69
+ /** Request timeout in milliseconds */
70
+ timeout?: number;
71
+ /** Abort signal */
72
+ signal?: AbortSignal;
73
+ }
74
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../../src/types/usage.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,sBAAsB;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,cAAc;IACd,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wBAAwB;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sBAAsB;IACtB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,sBAAsB;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB"}
@@ -0,0 +1,129 @@
1
+ import { Chain, RiskTag, RiskCategory, TokenStandard } from '@webacy-xyz/sdk-core';
2
+ /**
3
+ * Transaction risk issue
4
+ */
5
+ export interface TransactionIssue {
6
+ /** Risk score */
7
+ score: number;
8
+ /** Risk tags */
9
+ tags: RiskTag[];
10
+ /** Risk categories */
11
+ categories: Record<string, RiskCategory>;
12
+ /** Transaction details */
13
+ transaction: TransactionDetails;
14
+ }
15
+ /**
16
+ * Transaction details
17
+ */
18
+ export interface TransactionDetails {
19
+ /** Transaction hash */
20
+ transaction_hash?: string;
21
+ /** Block number */
22
+ block_number?: number;
23
+ /** Timestamp */
24
+ timestamp?: number;
25
+ /** Formatted datetime */
26
+ datetime?: string;
27
+ /** Counterparty address */
28
+ from_to_address?: string;
29
+ /** Transaction direction */
30
+ direction?: 'in' | 'out';
31
+ /** Contract address if applicable */
32
+ contract_address?: string;
33
+ /** Token ID for NFTs */
34
+ token_id?: string;
35
+ /** Token type */
36
+ token_type?: TokenStandard;
37
+ /** Whether counterparty is a contract */
38
+ is_contract?: boolean;
39
+ /** Token name */
40
+ token_name?: string;
41
+ /** Function called */
42
+ function_name?: string;
43
+ /** Whether counterparty is sanctioned */
44
+ sanctioned_address?: boolean;
45
+ }
46
+ /**
47
+ * Wallet transactions response
48
+ */
49
+ export interface WalletTransactionsResponse {
50
+ /** Total issue count */
51
+ count: number;
52
+ /** Medium severity count */
53
+ medium: number;
54
+ /** High severity count */
55
+ high: number;
56
+ /** Overall risk score */
57
+ overallRisk?: number;
58
+ /** Transaction issues */
59
+ issues: TransactionIssue[];
60
+ /** Error message */
61
+ error?: string;
62
+ }
63
+ /**
64
+ * Token approval information
65
+ */
66
+ export interface TokenApproval {
67
+ /** Spender address */
68
+ spender: string;
69
+ /** Token address */
70
+ token_address: string;
71
+ /** Token name */
72
+ token_name?: string;
73
+ /** Token symbol */
74
+ token_symbol?: string;
75
+ /** Approved amount */
76
+ amount: string;
77
+ /** Whether unlimited approval */
78
+ is_unlimited: boolean;
79
+ /** Approval timestamp */
80
+ approved_at?: string;
81
+ /** Spender risk score */
82
+ spender_risk?: number;
83
+ }
84
+ /**
85
+ * Wallet approvals response
86
+ */
87
+ export interface WalletApprovalsResponse {
88
+ /** List of token approvals */
89
+ approvals: TokenApproval[];
90
+ /** Total count */
91
+ count: number;
92
+ /** High risk approval count */
93
+ high_risk_count: number;
94
+ }
95
+ /**
96
+ * Options for wallet transaction requests
97
+ */
98
+ export interface WalletTransactionsOptions {
99
+ /**
100
+ * Target blockchain
101
+ *
102
+ * Optional if `defaultChain` was set in the client configuration.
103
+ */
104
+ chain?: Chain;
105
+ /** Number of transactions to return */
106
+ limit?: number;
107
+ /** Pagination offset */
108
+ offset?: number;
109
+ /** Request timeout in milliseconds */
110
+ timeout?: number;
111
+ /** Abort signal */
112
+ signal?: AbortSignal;
113
+ }
114
+ /**
115
+ * Options for wallet approvals requests
116
+ */
117
+ export interface WalletApprovalsOptions {
118
+ /**
119
+ * Target blockchain
120
+ *
121
+ * Optional if `defaultChain` was set in the client configuration.
122
+ */
123
+ chain?: Chain;
124
+ /** Request timeout in milliseconds */
125
+ timeout?: number;
126
+ /** Abort signal */
127
+ signal?: AbortSignal;
128
+ }
129
+ //# sourceMappingURL=wallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../src/types/wallet.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,74 @@
1
+ {
2
+ "name": "@webacy-xyz/sdk-threat",
3
+ "version": "1.0.1",
4
+ "description": "Webacy SDK for threat and risk analysis - address risk, sanctions, contracts, URL safety",
5
+ "main": "dist/cjs/index.js",
6
+ "module": "dist/esm/index.js",
7
+ "types": "dist/types/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": {
11
+ "types": "./dist/types/index.d.ts",
12
+ "default": "./dist/esm/index.js"
13
+ },
14
+ "require": {
15
+ "types": "./dist/types/index.d.ts",
16
+ "default": "./dist/cjs/index.js"
17
+ }
18
+ }
19
+ },
20
+ "files": [
21
+ "dist",
22
+ "README.md"
23
+ ],
24
+ "dependencies": {
25
+ "@webacy-xyz/sdk-core": "1.0.1"
26
+ },
27
+ "devDependencies": {
28
+ "@types/node": "^22.0.0",
29
+ "typescript": "^5.7.0"
30
+ },
31
+ "keywords": [
32
+ "webacy",
33
+ "sdk",
34
+ "threat",
35
+ "risk",
36
+ "security",
37
+ "sanctions",
38
+ "address-risk",
39
+ "contract-analysis",
40
+ "blockchain",
41
+ "crypto"
42
+ ],
43
+ "author": "Webacy",
44
+ "license": "MIT",
45
+ "repository": {
46
+ "type": "git",
47
+ "url": "https://github.com/Webacy-Prod/sdk.git",
48
+ "directory": "packages/threat"
49
+ },
50
+ "bugs": {
51
+ "url": "https://github.com/Webacy-Prod/sdk/issues"
52
+ },
53
+ "homepage": "https://github.com/Webacy-Prod/sdk/tree/main/packages/threat#readme",
54
+ "engines": {
55
+ "node": ">=18.0.0"
56
+ },
57
+ "sideEffects": false,
58
+ "publishConfig": {
59
+ "access": "public",
60
+ "registry": "https://registry.npmjs.org/"
61
+ },
62
+ "scripts": {
63
+ "build": "npm run build:esm && npm run build:cjs && npm run build:types && npm run postbuild",
64
+ "build:esm": "tsc -p tsconfig.esm.json",
65
+ "build:cjs": "tsc -p tsconfig.cjs.json",
66
+ "build:types": "tsc -p tsconfig.types.json",
67
+ "postbuild": "node ../../scripts/fix-esm-imports.mjs dist/esm && echo '{\"type\":\"module\"}' > dist/esm/package.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json",
68
+ "clean": "rm -rf dist",
69
+ "typecheck": "tsc --noEmit",
70
+ "lint": "eslint src --ext .ts",
71
+ "test": "vitest run",
72
+ "test:watch": "vitest watch"
73
+ }
74
+ }