@rlajous/sdk-core 1.0.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 (119) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +96 -0
  3. package/dist/cjs/client-base.js +155 -0
  4. package/dist/cjs/client-base.js.map +1 -0
  5. package/dist/cjs/config.js +30 -0
  6. package/dist/cjs/config.js.map +1 -0
  7. package/dist/cjs/errors/authentication.js +35 -0
  8. package/dist/cjs/errors/authentication.js.map +1 -0
  9. package/dist/cjs/errors/base.js +76 -0
  10. package/dist/cjs/errors/base.js.map +1 -0
  11. package/dist/cjs/errors/index.js +16 -0
  12. package/dist/cjs/errors/index.js.map +1 -0
  13. package/dist/cjs/errors/network.js +45 -0
  14. package/dist/cjs/errors/network.js.map +1 -0
  15. package/dist/cjs/errors/not-found.js +38 -0
  16. package/dist/cjs/errors/not-found.js.map +1 -0
  17. package/dist/cjs/errors/rate-limit.js +53 -0
  18. package/dist/cjs/errors/rate-limit.js.map +1 -0
  19. package/dist/cjs/errors/validation.js +49 -0
  20. package/dist/cjs/errors/validation.js.map +1 -0
  21. package/dist/cjs/http/client.js +335 -0
  22. package/dist/cjs/http/client.js.map +1 -0
  23. package/dist/cjs/http/index.js +11 -0
  24. package/dist/cjs/http/index.js.map +1 -0
  25. package/dist/cjs/http/retry.js +43 -0
  26. package/dist/cjs/http/retry.js.map +1 -0
  27. package/dist/cjs/index.js +48 -0
  28. package/dist/cjs/index.js.map +1 -0
  29. package/dist/cjs/package.json +1 -0
  30. package/dist/cjs/types/chain.js +114 -0
  31. package/dist/cjs/types/chain.js.map +1 -0
  32. package/dist/cjs/types/common.js +49 -0
  33. package/dist/cjs/types/common.js.map +1 -0
  34. package/dist/cjs/types/index.js +18 -0
  35. package/dist/cjs/types/index.js.map +1 -0
  36. package/dist/cjs/types/modules.js +64 -0
  37. package/dist/cjs/types/modules.js.map +1 -0
  38. package/dist/cjs/utils/address-validation.js +124 -0
  39. package/dist/cjs/utils/address-validation.js.map +1 -0
  40. package/dist/cjs/utils/index.js +14 -0
  41. package/dist/cjs/utils/index.js.map +1 -0
  42. package/dist/esm/client-base.js +151 -0
  43. package/dist/esm/client-base.js.map +1 -0
  44. package/dist/esm/config.js +26 -0
  45. package/dist/esm/config.js.map +1 -0
  46. package/dist/esm/errors/authentication.js +31 -0
  47. package/dist/esm/errors/authentication.js.map +1 -0
  48. package/dist/esm/errors/base.js +72 -0
  49. package/dist/esm/errors/base.js.map +1 -0
  50. package/dist/esm/errors/index.js +7 -0
  51. package/dist/esm/errors/index.js.map +1 -0
  52. package/dist/esm/errors/network.js +41 -0
  53. package/dist/esm/errors/network.js.map +1 -0
  54. package/dist/esm/errors/not-found.js +34 -0
  55. package/dist/esm/errors/not-found.js.map +1 -0
  56. package/dist/esm/errors/rate-limit.js +49 -0
  57. package/dist/esm/errors/rate-limit.js.map +1 -0
  58. package/dist/esm/errors/validation.js +45 -0
  59. package/dist/esm/errors/validation.js.map +1 -0
  60. package/dist/esm/http/client.js +331 -0
  61. package/dist/esm/http/client.js.map +1 -0
  62. package/dist/esm/http/index.js +3 -0
  63. package/dist/esm/http/index.js.map +1 -0
  64. package/dist/esm/http/retry.js +37 -0
  65. package/dist/esm/http/retry.js.map +1 -0
  66. package/dist/esm/index.js +13 -0
  67. package/dist/esm/index.js.map +1 -0
  68. package/dist/esm/package.json +1 -0
  69. package/dist/esm/types/chain.js +109 -0
  70. package/dist/esm/types/chain.js.map +1 -0
  71. package/dist/esm/types/common.js +46 -0
  72. package/dist/esm/types/common.js.map +1 -0
  73. package/dist/esm/types/index.js +4 -0
  74. package/dist/esm/types/index.js.map +1 -0
  75. package/dist/esm/types/modules.js +61 -0
  76. package/dist/esm/types/modules.js.map +1 -0
  77. package/dist/esm/utils/address-validation.js +113 -0
  78. package/dist/esm/utils/address-validation.js.map +1 -0
  79. package/dist/esm/utils/index.js +2 -0
  80. package/dist/esm/utils/index.js.map +1 -0
  81. package/dist/types/client-base.d.ts +94 -0
  82. package/dist/types/client-base.d.ts.map +1 -0
  83. package/dist/types/config.d.ts +124 -0
  84. package/dist/types/config.d.ts.map +1 -0
  85. package/dist/types/errors/authentication.d.ts +24 -0
  86. package/dist/types/errors/authentication.d.ts.map +1 -0
  87. package/dist/types/errors/base.d.ts +53 -0
  88. package/dist/types/errors/base.d.ts.map +1 -0
  89. package/dist/types/errors/index.d.ts +7 -0
  90. package/dist/types/errors/index.d.ts.map +1 -0
  91. package/dist/types/errors/network.d.ts +30 -0
  92. package/dist/types/errors/network.d.ts.map +1 -0
  93. package/dist/types/errors/not-found.d.ts +27 -0
  94. package/dist/types/errors/not-found.d.ts.map +1 -0
  95. package/dist/types/errors/rate-limit.d.ts +37 -0
  96. package/dist/types/errors/rate-limit.d.ts.map +1 -0
  97. package/dist/types/errors/validation.d.ts +34 -0
  98. package/dist/types/errors/validation.d.ts.map +1 -0
  99. package/dist/types/http/client.d.ts +147 -0
  100. package/dist/types/http/client.d.ts.map +1 -0
  101. package/dist/types/http/index.d.ts +3 -0
  102. package/dist/types/http/index.d.ts.map +1 -0
  103. package/dist/types/http/retry.d.ts +32 -0
  104. package/dist/types/http/retry.d.ts.map +1 -0
  105. package/dist/types/index.d.ts +7 -0
  106. package/dist/types/index.d.ts.map +1 -0
  107. package/dist/types/types/chain.d.ts +60 -0
  108. package/dist/types/types/chain.d.ts.map +1 -0
  109. package/dist/types/types/common.d.ts +251 -0
  110. package/dist/types/types/common.d.ts.map +1 -0
  111. package/dist/types/types/index.d.ts +5 -0
  112. package/dist/types/types/index.d.ts.map +1 -0
  113. package/dist/types/types/modules.d.ts +51 -0
  114. package/dist/types/types/modules.d.ts.map +1 -0
  115. package/dist/types/utils/address-validation.d.ts +50 -0
  116. package/dist/types/utils/address-validation.d.ts.map +1 -0
  117. package/dist/types/utils/index.d.ts +2 -0
  118. package/dist/types/utils/index.d.ts.map +1 -0
  119. package/package.json +64 -0
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Risk analysis modules available for requests
3
+ *
4
+ * Use these to specify which analysis modules to run when making API requests.
5
+ * Requesting fewer modules can improve response time.
6
+ */
7
+ export declare enum RiskModule {
8
+ /** Contract ownership, upgradeability, access controls */
9
+ GOVERNANCE_ANALYSIS = "governance_analysis",
10
+ /** Freezeable, mintable, blacklist, whitelist */
11
+ TOKEN_SECURITY = "token_security",
12
+ /** Static/dynamic code analysis, vulnerabilities */
13
+ CONTRACT_ANALYSIS = "contract_analysis",
14
+ /** Source code analysis, vulnerabilities */
15
+ SOURCE_CODE_ANALYSIS = "source_code_analysis",
16
+ /** Price, volatility, market cap, liquidity */
17
+ MARKET_DATA = "market_data",
18
+ /** Token distribution, concentration risks */
19
+ HOLDER_ANALYSIS = "holder_analysis",
20
+ /** Pool data, unlock schedules, LP analysis */
21
+ LIQUIDITY_ANALYSIS = "liquidity_analysis",
22
+ /** Hacker, drainer, rugpull detection */
23
+ FRAUD_DETECTION = "fraud_detection",
24
+ /** OFAC, sanctioned addresses */
25
+ SANCTIONS_COMPLIANCE = "sanctions_compliance",
26
+ /** Tornado cash, coin mixers */
27
+ MIXER_DETECTION = "mixer_detection",
28
+ /** Trading patterns, automated trading */
29
+ ADDRESS_BEHAVIOR = "address_behavior",
30
+ /** Address poisoning, wash trading */
31
+ TRANSACTION_ANALYSIS = "transaction_analysis",
32
+ /** Reported addresses, spam detection */
33
+ REPUTATION_ANALYSIS = "reputation_analysis",
34
+ /** Solana-only risks (bundling, sniping) */
35
+ SOLANA_SPECIFIC = "solana_specific",
36
+ /** EVM-only risks (gas optimization, MEV) */
37
+ EVM_SPECIFIC = "evm_specific",
38
+ /** TON-only risks (jetton standards, etc.) */
39
+ TON_SPECIFIC = "ton_specific",
40
+ /** SUI-only risks (coin standards, object model) */
41
+ SUI_SPECIFIC = "sui_specific",
42
+ /** Address type, age, balance checks */
43
+ BASIC_INFO = "basic_info",
44
+ /** Only is_mintable, freezeable, is_metadata_immutable */
45
+ SECURITY_ESSENTIALS = "security_essentials",
46
+ /** Boolean flags for OFAC, hacker, mixer, drainer risks */
47
+ FUND_FLOW_SCREENING = "fund_flow_screening",
48
+ /** Multi-platform developer behavior, token launch patterns */
49
+ DEVELOPER_MIGRATION = "developer_migration"
50
+ }
51
+ //# sourceMappingURL=modules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../../../src/types/modules.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,oBAAY,UAAU;IAEpB,0DAA0D;IAC1D,mBAAmB,wBAAwB;IAC3C,iDAAiD;IACjD,cAAc,mBAAmB;IACjC,oDAAoD;IACpD,iBAAiB,sBAAsB;IACvC,4CAA4C;IAC5C,oBAAoB,yBAAyB;IAG7C,+CAA+C;IAC/C,WAAW,gBAAgB;IAC3B,8CAA8C;IAC9C,eAAe,oBAAoB;IACnC,+CAA+C;IAC/C,kBAAkB,uBAAuB;IAGzC,yCAAyC;IACzC,eAAe,oBAAoB;IACnC,iCAAiC;IACjC,oBAAoB,yBAAyB;IAC7C,gCAAgC;IAChC,eAAe,oBAAoB;IAGnC,0CAA0C;IAC1C,gBAAgB,qBAAqB;IACrC,sCAAsC;IACtC,oBAAoB,yBAAyB;IAC7C,yCAAyC;IACzC,mBAAmB,wBAAwB;IAG3C,4CAA4C;IAC5C,eAAe,oBAAoB;IACnC,6CAA6C;IAC7C,YAAY,iBAAiB;IAC7B,8CAA8C;IAC9C,YAAY,iBAAiB;IAC7B,oDAAoD;IACpD,YAAY,iBAAiB;IAG7B,wCAAwC;IACxC,UAAU,eAAe;IAGzB,0DAA0D;IAC1D,mBAAmB,wBAAwB;IAG3C,2DAA2D;IAC3D,mBAAmB,wBAAwB;IAG3C,+DAA+D;IAC/D,mBAAmB,wBAAwB;CAC5C"}
@@ -0,0 +1,50 @@
1
+ import { Chain } from '../types';
2
+ /**
3
+ * Validate an Ethereum address format
4
+ */
5
+ export declare function isValidEvmAddress(address: string): boolean;
6
+ /**
7
+ * Validate a Solana address format (base58)
8
+ */
9
+ export declare function isValidSolanaAddress(address: string): boolean;
10
+ /**
11
+ * Validate a Bitcoin address format
12
+ */
13
+ export declare function isValidBitcoinAddress(address: string): boolean;
14
+ /**
15
+ * Validate a TON address format
16
+ */
17
+ export declare function isValidTonAddress(address: string): boolean;
18
+ /**
19
+ * Validate a Sui address format
20
+ */
21
+ export declare function isValidSuiAddress(address: string): boolean;
22
+ /**
23
+ * Validate a Stellar address format
24
+ *
25
+ * Supports both:
26
+ * - Standard account ID (G...)
27
+ * - Asset identifier (CODE:ISSUER)
28
+ */
29
+ export declare function isValidStellarAddress(address: string): boolean;
30
+ /**
31
+ * Validate an address for a specific chain
32
+ *
33
+ * @param address - The address to validate
34
+ * @param chain - The blockchain to validate against
35
+ * @returns true if the address is valid for the chain
36
+ */
37
+ export declare function isValidAddress(address: string, chain: Chain): boolean;
38
+ /**
39
+ * Normalize an EVM address to checksum format
40
+ */
41
+ export declare function normalizeEvmAddress(address: string): string;
42
+ /**
43
+ * Normalize an address for a specific chain
44
+ *
45
+ * @param address - The address to normalize
46
+ * @param chain - The blockchain
47
+ * @returns The normalized address
48
+ */
49
+ export declare function normalizeAddress(address: string, chain: Chain): string;
50
+ //# sourceMappingURL=address-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address-validation.d.ts","sourceRoot":"","sources":["../../../src/utils/address-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAc,MAAM,UAAU,CAAC;AAE7C;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAG7D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAG9D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAU1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAU9D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAwBrE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAK3D;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAMtE"}
@@ -0,0 +1,2 @@
1
+ export { isValidAddress, isValidEvmAddress, isValidSolanaAddress, isValidBitcoinAddress, isValidTonAddress, isValidSuiAddress, isValidStellarAddress, normalizeAddress, normalizeEvmAddress, } from './address-validation';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,64 @@
1
+ {
2
+ "name": "@rlajous/sdk-core",
3
+ "version": "1.0.0",
4
+ "description": "Core utilities for Webacy SDK packages",
5
+ "author": "Webacy",
6
+ "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/Webacy-Prod/sdk.git",
10
+ "directory": "packages/core"
11
+ },
12
+ "bugs": {
13
+ "url": "https://github.com/Webacy-Prod/sdk/issues"
14
+ },
15
+ "homepage": "https://github.com/Webacy-Prod/sdk/tree/main/packages/core#readme",
16
+ "main": "./dist/cjs/index.js",
17
+ "module": "./dist/esm/index.js",
18
+ "types": "./dist/types/index.d.ts",
19
+ "exports": {
20
+ ".": {
21
+ "import": {
22
+ "types": "./dist/types/index.d.ts",
23
+ "default": "./dist/esm/index.js"
24
+ },
25
+ "require": {
26
+ "types": "./dist/types/index.d.ts",
27
+ "default": "./dist/cjs/index.js"
28
+ }
29
+ }
30
+ },
31
+ "files": [
32
+ "dist",
33
+ "README.md"
34
+ ],
35
+ "sideEffects": false,
36
+ "engines": {
37
+ "node": ">=18.0.0"
38
+ },
39
+ "publishConfig": {
40
+ "access": "public",
41
+ "registry": "https://registry.npmjs.org/"
42
+ },
43
+ "keywords": [
44
+ "webacy",
45
+ "sdk",
46
+ "blockchain",
47
+ "risk",
48
+ "security",
49
+ "web3"
50
+ ],
51
+ "scripts": {
52
+ "build": "npm run build:esm && npm run build:cjs && npm run build:types && npm run postbuild",
53
+ "build:esm": "tsc -p tsconfig.esm.json",
54
+ "build:cjs": "tsc -p tsconfig.cjs.json",
55
+ "build:types": "tsc -p tsconfig.types.json",
56
+ "postbuild": "echo '{\"type\":\"module\"}' > dist/esm/package.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json",
57
+ "clean": "rm -rf dist",
58
+ "typecheck": "tsc --noEmit",
59
+ "test": "vitest run",
60
+ "test:watch": "vitest watch",
61
+ "lint": "eslint src --ext .ts",
62
+ "lint:fix": "eslint src --ext .ts --fix"
63
+ }
64
+ }