@cybertools/networks 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 (64) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +31 -0
  3. package/assets/ame.png +0 -0
  4. package/assets/arbitrum.svg +10 -0
  5. package/assets/areon.svg +49 -0
  6. package/assets/avax.png +0 -0
  7. package/assets/base.png +0 -0
  8. package/assets/blast.png +0 -0
  9. package/assets/brise.png +0 -0
  10. package/assets/bsc.png +0 -0
  11. package/assets/celo.png +0 -0
  12. package/assets/core.png +0 -0
  13. package/assets/cro.png +0 -0
  14. package/assets/doge.png +0 -0
  15. package/assets/etc.svg +1 -0
  16. package/assets/eth.png +0 -0
  17. package/assets/fantom.png +0 -0
  18. package/assets/fuse.png +0 -0
  19. package/assets/glmr.svg +135 -0
  20. package/assets/ht.png +0 -0
  21. package/assets/kcc.png +0 -0
  22. package/assets/klay.svg +13 -0
  23. package/assets/linea.png +0 -0
  24. package/assets/loop.png +0 -0
  25. package/assets/mantle.png +0 -0
  26. package/assets/matic.png +0 -0
  27. package/assets/movr.svg +111 -0
  28. package/assets/one.png +0 -0
  29. package/assets/optimism.svg +21 -0
  30. package/assets/robinhood.png +0 -0
  31. package/assets/rose.png +0 -0
  32. package/assets/scroll.png +0 -0
  33. package/assets/sol.png +0 -0
  34. package/assets/taiko.png +0 -0
  35. package/assets/telos.png +0 -0
  36. package/assets/ton.png +0 -0
  37. package/assets/trx.png +0 -0
  38. package/assets/vlx.png +0 -0
  39. package/assets/wanchain.png +0 -0
  40. package/assets/xdai.svg +22 -0
  41. package/assets/xdc.png +0 -0
  42. package/assets/xlayer.png +0 -0
  43. package/assets/xrp.png +0 -0
  44. package/assets/zkSync.png +0 -0
  45. package/dist/_virtual/_rolldown/runtime.cjs +23 -0
  46. package/dist/icons.cjs +291 -0
  47. package/dist/icons.d.cts +8 -0
  48. package/dist/icons.d.mts +8 -0
  49. package/dist/icons.mjs +250 -0
  50. package/dist/index.cjs +10 -0
  51. package/dist/index.d.cts +4 -0
  52. package/dist/index.d.mts +4 -0
  53. package/dist/index.mjs +3 -0
  54. package/dist/networks.cjs +849 -0
  55. package/dist/networks.d.cts +997 -0
  56. package/dist/networks.d.mts +997 -0
  57. package/dist/networks.mjs +846 -0
  58. package/dist/supported.cjs +52 -0
  59. package/dist/supported.d.cts +6 -0
  60. package/dist/supported.d.mts +6 -0
  61. package/dist/supported.mjs +50 -0
  62. package/dist/types.d.cts +35 -0
  63. package/dist/types.d.mts +35 -0
  64. package/package.json +58 -0
@@ -0,0 +1,52 @@
1
+ const require_networks = require("./networks.cjs");
2
+ //#region src/supported.ts
3
+ const listedNetworks = Object.keys(require_networks.networks).filter((key) => require_networks.networks[key].listed);
4
+ const web3IntegratedNetworks = /* @__PURE__ */ new Set([
5
+ "ETH",
6
+ "BSC",
7
+ "MATIC",
8
+ "AVAX",
9
+ "ARBITRUM",
10
+ "BLAST",
11
+ "DOGE",
12
+ "CRO",
13
+ "BASE",
14
+ "ONE",
15
+ "FTM",
16
+ "KCC",
17
+ "KLAY",
18
+ "TELOS",
19
+ "MOVR",
20
+ "GLMR",
21
+ "CELO",
22
+ "VLX",
23
+ "ETC",
24
+ "OPTIMISM",
25
+ "XDAI",
26
+ "LOOP",
27
+ "ZKSYNC",
28
+ "LINEA",
29
+ "SCROLL",
30
+ "TAIKO",
31
+ "OP_BNB",
32
+ "MANTLE",
33
+ "CORE",
34
+ "FUSE",
35
+ "X_LAYER",
36
+ "ROBINHOOD",
37
+ "XDC",
38
+ "ROSE",
39
+ "GOERLI",
40
+ "BSC_TESTNET",
41
+ "POLYGON_MUMBAI"
42
+ ]);
43
+ const cyberscanIntegratedNetworks = /* @__PURE__ */ new Set([
44
+ ...Array.from(web3IntegratedNetworks).slice(0, 3),
45
+ "SOL",
46
+ "TON",
47
+ ...Array.from(web3IntegratedNetworks).slice(3)
48
+ ]);
49
+ //#endregion
50
+ exports.cyberscanIntegratedNetworks = cyberscanIntegratedNetworks;
51
+ exports.listedNetworks = listedNetworks;
52
+ exports.web3IntegratedNetworks = web3IntegratedNetworks;
@@ -0,0 +1,6 @@
1
+ import { NetworkId } from "./networks.cjs";
2
+ //#region src/supported.d.ts
3
+ export declare const listedNetworks: NetworkId[];
4
+ export declare const web3IntegratedNetworks: Set<NetworkId>;
5
+ export declare const cyberscanIntegratedNetworks: Set<NetworkId>;
6
+ //#endregion
@@ -0,0 +1,6 @@
1
+ import { NetworkId } from "./networks.mjs";
2
+ //#region src/supported.d.ts
3
+ export declare const listedNetworks: NetworkId[];
4
+ export declare const web3IntegratedNetworks: Set<NetworkId>;
5
+ export declare const cyberscanIntegratedNetworks: Set<NetworkId>;
6
+ //#endregion
@@ -0,0 +1,50 @@
1
+ import { networks } from "./networks.mjs";
2
+ //#region src/supported.ts
3
+ const listedNetworks = Object.keys(networks).filter((key) => networks[key].listed);
4
+ const web3IntegratedNetworks = /* @__PURE__ */ new Set([
5
+ "ETH",
6
+ "BSC",
7
+ "MATIC",
8
+ "AVAX",
9
+ "ARBITRUM",
10
+ "BLAST",
11
+ "DOGE",
12
+ "CRO",
13
+ "BASE",
14
+ "ONE",
15
+ "FTM",
16
+ "KCC",
17
+ "KLAY",
18
+ "TELOS",
19
+ "MOVR",
20
+ "GLMR",
21
+ "CELO",
22
+ "VLX",
23
+ "ETC",
24
+ "OPTIMISM",
25
+ "XDAI",
26
+ "LOOP",
27
+ "ZKSYNC",
28
+ "LINEA",
29
+ "SCROLL",
30
+ "TAIKO",
31
+ "OP_BNB",
32
+ "MANTLE",
33
+ "CORE",
34
+ "FUSE",
35
+ "X_LAYER",
36
+ "ROBINHOOD",
37
+ "XDC",
38
+ "ROSE",
39
+ "GOERLI",
40
+ "BSC_TESTNET",
41
+ "POLYGON_MUMBAI"
42
+ ]);
43
+ const cyberscanIntegratedNetworks = /* @__PURE__ */ new Set([
44
+ ...Array.from(web3IntegratedNetworks).slice(0, 3),
45
+ "SOL",
46
+ "TON",
47
+ ...Array.from(web3IntegratedNetworks).slice(3)
48
+ ]);
49
+ //#endregion
50
+ export { cyberscanIntegratedNetworks, listedNetworks, web3IntegratedNetworks };
@@ -0,0 +1,35 @@
1
+ //#region src/types.d.ts
2
+ export interface NetworkConfig {
3
+ name: string;
4
+ shortName: string;
5
+ symbol: string;
6
+ listed: boolean;
7
+ placeholder: string;
8
+ makeExplorerTxLink: (hash: string) => string;
9
+ makeExplorerAddressLink: (address: string) => string;
10
+ makeExplorerLink: (address: string) => string;
11
+ normalizeAddress: (address: string) => string;
12
+ /** Returns an error string; valid results are undefined, or false for ROSE. */
13
+ validator: (value: string) => string | false | undefined;
14
+ isDeadAddress: (address: string) => boolean;
15
+ erc20?: boolean;
16
+ chainId?: number;
17
+ rpc?: string;
18
+ wrapped?: string;
19
+ routerAddress?: string;
20
+ slither?: string;
21
+ lockerFactory?: string;
22
+ onChainAggregatorContract?: string;
23
+ dividentTracker?: string;
24
+ feesCheckerContract?: string;
25
+ feesCheckerContract2?: string;
26
+ deprecated?: boolean;
27
+ }
28
+ /** Static image import: a URL string, or Next.js' StaticImageData shape. */
29
+ export type ImageAsset = string | {
30
+ src: string;
31
+ height: number;
32
+ width: number;
33
+ blurDataURL?: string;
34
+ };
35
+ //#endregion
@@ -0,0 +1,35 @@
1
+ //#region src/types.d.ts
2
+ export interface NetworkConfig {
3
+ name: string;
4
+ shortName: string;
5
+ symbol: string;
6
+ listed: boolean;
7
+ placeholder: string;
8
+ makeExplorerTxLink: (hash: string) => string;
9
+ makeExplorerAddressLink: (address: string) => string;
10
+ makeExplorerLink: (address: string) => string;
11
+ normalizeAddress: (address: string) => string;
12
+ /** Returns an error string; valid results are undefined, or false for ROSE. */
13
+ validator: (value: string) => string | false | undefined;
14
+ isDeadAddress: (address: string) => boolean;
15
+ erc20?: boolean;
16
+ chainId?: number;
17
+ rpc?: string;
18
+ wrapped?: string;
19
+ routerAddress?: string;
20
+ slither?: string;
21
+ lockerFactory?: string;
22
+ onChainAggregatorContract?: string;
23
+ dividentTracker?: string;
24
+ feesCheckerContract?: string;
25
+ feesCheckerContract2?: string;
26
+ deprecated?: boolean;
27
+ }
28
+ /** Static image import: a URL string, or Next.js' StaticImageData shape. */
29
+ export type ImageAsset = string | {
30
+ src: string;
31
+ height: number;
32
+ width: number;
33
+ blurDataURL?: string;
34
+ };
35
+ //#endregion
package/package.json ADDED
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "@cybertools/networks",
3
+ "version": "1.0.0",
4
+ "description": "Cyberscope network registry: chain metadata, explorers, address validators and network icons.",
5
+ "license": "Apache-2.0",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/cyberscope-io/cybertools.git",
9
+ "directory": "packages/networks"
10
+ },
11
+ "type": "module",
12
+ "sideEffects": false,
13
+ "files": [
14
+ "dist",
15
+ "assets"
16
+ ],
17
+ "publishConfig": {
18
+ "access": "public"
19
+ },
20
+ "dependencies": {
21
+ "@solana/addresses": "^8.4.0",
22
+ "viem": "^2.57.2"
23
+ },
24
+ "devDependencies": {
25
+ "@arethetypeswrong/cli": "^0.18.5",
26
+ "@cybertools/eslint-config": "0.0.0",
27
+ "@cybertools/tsconfig": "0.0.0",
28
+ "@types/node": "^24.19.1",
29
+ "eslint": "^10.12.0",
30
+ "publint": "^0.3.25",
31
+ "tsdown": "0.23.0",
32
+ "typescript": "6.0.3",
33
+ "vite": "^8.3.2",
34
+ "vitest": "^5.0.3"
35
+ },
36
+ "main": "./dist/index.cjs",
37
+ "module": "./dist/index.mjs",
38
+ "types": "./dist/index.d.cts",
39
+ "exports": {
40
+ ".": {
41
+ "import": "./dist/index.mjs",
42
+ "require": "./dist/index.cjs"
43
+ },
44
+ "./icons": {
45
+ "import": "./dist/icons.mjs",
46
+ "require": "./dist/icons.cjs"
47
+ },
48
+ "./package.json": "./package.json",
49
+ "./assets/*": "./assets/*"
50
+ },
51
+ "scripts": {
52
+ "build": "tsdown",
53
+ "typecheck": "tsc --noEmit",
54
+ "lint": "eslint .",
55
+ "check:package": "publint && attw --pack . --profile node16",
56
+ "test": "vitest run"
57
+ }
58
+ }