@alchemy/common 0.0.0-alpha.8 → 5.0.0-beta.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.
- package/LICENSE +1 -1
- package/README.md +36 -0
- package/dist/esm/chains.d.ts +54 -0
- package/dist/esm/index.d.ts +0 -11
- package/dist/esm/index.js +4 -9
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal.d.ts +6 -0
- package/dist/esm/internal.js +6 -0
- package/dist/esm/internal.js.map +1 -0
- package/dist/esm/tracing/traceHeader.d.ts +8 -4
- package/dist/esm/tracing/traceHeader.js +8 -4
- package/dist/esm/tracing/traceHeader.js.map +1 -1
- package/dist/esm/transport/chainRegistry.d.ts +2 -1
- package/dist/esm/transport/chainRegistry.js +85 -49
- package/dist/esm/transport/chainRegistry.js.map +1 -1
- package/dist/esm/utils/bigint.js +3 -2
- package/dist/esm/utils/bigint.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/types/chains.d.ts +54 -0
- package/dist/types/chains.d.ts.map +1 -1
- package/dist/types/index.d.ts +0 -11
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/internal.d.ts +7 -0
- package/dist/types/internal.d.ts.map +1 -0
- package/dist/types/tracing/traceHeader.d.ts +8 -4
- package/dist/types/tracing/traceHeader.d.ts.map +1 -1
- package/dist/types/transport/chainRegistry.d.ts +2 -1
- package/dist/types/transport/chainRegistry.d.ts.map +1 -1
- package/dist/types/utils/bigint.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/version.d.ts.map +1 -1
- package/package.json +8 -3
- package/src/index.ts +4 -24
- package/src/internal.ts +15 -0
- package/src/tracing/traceHeader.ts +8 -4
- package/src/transport/chainRegistry.ts +103 -52
- package/src/utils/bigint.ts +4 -2
- package/src/version.ts +1 -1
- package/dist/esm/transport/connection.d.ts +0 -20
- package/dist/esm/transport/connection.js +0 -2
- package/dist/esm/transport/connection.js.map +0 -1
- package/dist/esm/utils/createEip1193HandlerFactory.d.ts +0 -18
- package/dist/esm/utils/createEip1193HandlerFactory.js +0 -11
- package/dist/esm/utils/createEip1193HandlerFactory.js.map +0 -1
- package/dist/types/transport/connection.d.ts +0 -21
- package/dist/types/transport/connection.d.ts.map +0 -1
- package/dist/types/utils/createEip1193HandlerFactory.d.ts +0 -19
- package/dist/types/utils/createEip1193HandlerFactory.d.ts.map +0 -1
- package/src/transport/connection.ts +0 -19
- package/src/utils/createEip1193HandlerFactory.ts +0 -25
package/LICENSE
CHANGED
package/README.md
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# @alchemy/common
|
|
2
|
+
|
|
3
|
+
Shared foundation for the Alchemy Smart Wallets SDK. Provides the core interfaces and utilities used by all other `@alchemy/*` packages.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @alchemy/common viem
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Key Exports
|
|
12
|
+
|
|
13
|
+
- **`alchemyTransport`** - viem-compatible HTTP transport for Alchemy APIs (supports API key, JWT, or direct URL auth)
|
|
14
|
+
- **Chain registry** - `getAlchemyRpcUrl`, `isChainSupported`, `getSupportedChainIds`
|
|
15
|
+
- **Custom chain definitions** (via `@alchemy/common/chains`) - chains not yet in viem
|
|
16
|
+
- **`AlchemyRestClient`** - typed REST client for non-JSON-RPC Alchemy APIs
|
|
17
|
+
- **Error classes** - `BaseError`, `ChainNotFoundError`, `AccountNotFoundError`, `ConnectionConfigError`, etc.
|
|
18
|
+
- **Logging** - `createLogger`, `setGlobalLoggerConfig`, `LogLevel`
|
|
19
|
+
- **Utilities** - `bigIntMultiply`, `bigIntMax`, `lowerAddress`, `assertNever`
|
|
20
|
+
|
|
21
|
+
## Usage
|
|
22
|
+
|
|
23
|
+
```ts
|
|
24
|
+
import { alchemyTransport } from "@alchemy/common";
|
|
25
|
+
import { sepolia } from "viem/chains";
|
|
26
|
+
import { createPublicClient } from "viem";
|
|
27
|
+
|
|
28
|
+
const client = createPublicClient({
|
|
29
|
+
chain: sepolia,
|
|
30
|
+
transport: alchemyTransport({ apiKey: "YOUR_API_KEY" }),
|
|
31
|
+
});
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## License
|
|
35
|
+
|
|
36
|
+
MIT
|
package/dist/esm/chains.d.ts
CHANGED
|
@@ -38,9 +38,18 @@ export declare const fraxtalSepolia: {
|
|
|
38
38
|
sourceId?: number | undefined | undefined;
|
|
39
39
|
testnet: true;
|
|
40
40
|
custom?: Record<string, unknown> | undefined;
|
|
41
|
+
extendSchema?: Record<string, unknown> | undefined;
|
|
41
42
|
fees?: import("viem").ChainFees<undefined> | undefined;
|
|
42
43
|
formatters?: undefined;
|
|
44
|
+
prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
45
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
46
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
47
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
48
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
|
|
49
|
+
runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
|
|
50
|
+
}] | undefined;
|
|
43
51
|
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
|
|
52
|
+
verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
|
|
44
53
|
};
|
|
45
54
|
export declare const openlootSepolia: {
|
|
46
55
|
blockExplorers: {
|
|
@@ -76,9 +85,18 @@ export declare const openlootSepolia: {
|
|
|
76
85
|
sourceId?: number | undefined | undefined;
|
|
77
86
|
testnet: true;
|
|
78
87
|
custom?: Record<string, unknown> | undefined;
|
|
88
|
+
extendSchema?: Record<string, unknown> | undefined;
|
|
79
89
|
fees?: import("viem").ChainFees<undefined> | undefined;
|
|
80
90
|
formatters?: undefined;
|
|
91
|
+
prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
92
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
93
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
94
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
95
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
|
|
96
|
+
runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
|
|
97
|
+
}] | undefined;
|
|
81
98
|
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
|
|
99
|
+
verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
|
|
82
100
|
};
|
|
83
101
|
export declare const gensynTestnet: {
|
|
84
102
|
blockExplorers: {
|
|
@@ -114,9 +132,18 @@ export declare const gensynTestnet: {
|
|
|
114
132
|
sourceId?: number | undefined | undefined;
|
|
115
133
|
testnet: true;
|
|
116
134
|
custom?: Record<string, unknown> | undefined;
|
|
135
|
+
extendSchema?: Record<string, unknown> | undefined;
|
|
117
136
|
fees?: import("viem").ChainFees<undefined> | undefined;
|
|
118
137
|
formatters?: undefined;
|
|
138
|
+
prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
139
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
140
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
141
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
142
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
|
|
143
|
+
runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
|
|
144
|
+
}] | undefined;
|
|
119
145
|
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
|
|
146
|
+
verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
|
|
120
147
|
};
|
|
121
148
|
export declare const riseTestnet: {
|
|
122
149
|
blockExplorers: {
|
|
@@ -152,9 +179,18 @@ export declare const riseTestnet: {
|
|
|
152
179
|
sourceId?: number | undefined | undefined;
|
|
153
180
|
testnet: true;
|
|
154
181
|
custom?: Record<string, unknown> | undefined;
|
|
182
|
+
extendSchema?: Record<string, unknown> | undefined;
|
|
155
183
|
fees?: import("viem").ChainFees<undefined> | undefined;
|
|
156
184
|
formatters?: undefined;
|
|
185
|
+
prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
186
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
187
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
188
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
189
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
|
|
190
|
+
runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
|
|
191
|
+
}] | undefined;
|
|
157
192
|
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
|
|
193
|
+
verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
|
|
158
194
|
};
|
|
159
195
|
export declare const storyMainnet: {
|
|
160
196
|
blockExplorers: {
|
|
@@ -190,9 +226,18 @@ export declare const storyMainnet: {
|
|
|
190
226
|
sourceId?: number | undefined | undefined;
|
|
191
227
|
testnet?: boolean | undefined | undefined;
|
|
192
228
|
custom?: Record<string, unknown> | undefined;
|
|
229
|
+
extendSchema?: Record<string, unknown> | undefined;
|
|
193
230
|
fees?: import("viem").ChainFees<undefined> | undefined;
|
|
194
231
|
formatters?: undefined;
|
|
232
|
+
prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
233
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
234
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
235
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
236
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
|
|
237
|
+
runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
|
|
238
|
+
}] | undefined;
|
|
195
239
|
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
|
|
240
|
+
verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
|
|
196
241
|
};
|
|
197
242
|
export declare const teaSepolia: {
|
|
198
243
|
blockExplorers: {
|
|
@@ -228,7 +273,16 @@ export declare const teaSepolia: {
|
|
|
228
273
|
sourceId?: number | undefined | undefined;
|
|
229
274
|
testnet: true;
|
|
230
275
|
custom?: Record<string, unknown> | undefined;
|
|
276
|
+
extendSchema?: Record<string, unknown> | undefined;
|
|
231
277
|
fees?: import("viem").ChainFees<undefined> | undefined;
|
|
232
278
|
formatters?: undefined;
|
|
279
|
+
prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
280
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
281
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
|
|
282
|
+
phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
|
|
283
|
+
}) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
|
|
284
|
+
runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
|
|
285
|
+
}] | undefined;
|
|
233
286
|
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
|
|
287
|
+
verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
|
|
234
288
|
};
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
export type * from "./rest/restClient.js";
|
|
2
|
-
export type * from "./rest/types.js";
|
|
3
|
-
export { AlchemyRestClient } from "./rest/restClient.js";
|
|
4
1
|
export type * from "./transport/alchemy.js";
|
|
5
2
|
export { alchemyTransport, isAlchemyTransport } from "./transport/alchemy.js";
|
|
6
3
|
export { getAlchemyRpcUrl, isChainSupported, getSupportedChainIds, } from "./transport/chainRegistry.js";
|
|
@@ -9,7 +6,6 @@ export { assertNever } from "./utils/assertNever.js";
|
|
|
9
6
|
export { raise } from "./utils/raise.js";
|
|
10
7
|
export { bigIntMultiply, bigIntMax } from "./utils/bigint.js";
|
|
11
8
|
export { lowerAddress } from "./utils/lowerAddress.js";
|
|
12
|
-
export { createEip1193HandlerFactory } from "./utils/createEip1193HandlerFactory.js";
|
|
13
9
|
export type { AlchemyConnectionConfig } from "./transport/connectionSchema.js";
|
|
14
10
|
export { AlchemyConnectionConfigSchema, validateAlchemyConnectionConfig, isAlchemyConnectionConfig, } from "./transport/connectionSchema.js";
|
|
15
11
|
export { BaseError } from "./errors/BaseError.js";
|
|
@@ -20,10 +16,3 @@ export { FetchError } from "./errors/FetchError.js";
|
|
|
20
16
|
export { ServerError } from "./errors/ServerError.js";
|
|
21
17
|
export { InvalidRequestError } from "./errors/InvalidRequestError.js";
|
|
22
18
|
export { MethodUnsupportedError } from "./errors/MethodUnsupportedError.js";
|
|
23
|
-
export type * from "./actions/addBreadCrumb.js";
|
|
24
|
-
export { addBreadCrumb } from "./actions/addBreadCrumb.js";
|
|
25
|
-
export * from "./chains.js";
|
|
26
|
-
export { createLogger } from "./logging/logger.js";
|
|
27
|
-
export { setGlobalLoggerConfig, getGlobalLoggerConfig, LogLevel, isLevelEnabled, isNamespaceEnabled, } from "./logging/config.js";
|
|
28
|
-
export type { DiagnosticsLogger } from "./logging/logger.js";
|
|
29
|
-
export { InMemorySink } from "./logging/sinks.js";
|
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
// http -- TODO(v5): not currently exported
|
|
2
|
+
// export type * from "./rest/restClient.js";
|
|
3
|
+
// export type * from "./rest/types.js";
|
|
4
|
+
// export { AlchemyRestClient } from "./rest/restClient.js";
|
|
2
5
|
export { alchemyTransport, isAlchemyTransport } from "./transport/alchemy.js";
|
|
3
6
|
// chain registry utilities
|
|
4
7
|
export { getAlchemyRpcUrl, isChainSupported, getSupportedChainIds, } from "./transport/chainRegistry.js";
|
|
@@ -6,7 +9,6 @@ export { assertNever } from "./utils/assertNever.js";
|
|
|
6
9
|
export { raise } from "./utils/raise.js";
|
|
7
10
|
export { bigIntMultiply, bigIntMax } from "./utils/bigint.js";
|
|
8
11
|
export { lowerAddress } from "./utils/lowerAddress.js";
|
|
9
|
-
export { createEip1193HandlerFactory } from "./utils/createEip1193HandlerFactory.js";
|
|
10
12
|
export { AlchemyConnectionConfigSchema, validateAlchemyConnectionConfig, isAlchemyConnectionConfig, } from "./transport/connectionSchema.js";
|
|
11
13
|
// errors
|
|
12
14
|
export { BaseError } from "./errors/BaseError.js";
|
|
@@ -17,11 +19,4 @@ export { FetchError } from "./errors/FetchError.js";
|
|
|
17
19
|
export { ServerError } from "./errors/ServerError.js";
|
|
18
20
|
export { InvalidRequestError } from "./errors/InvalidRequestError.js";
|
|
19
21
|
export { MethodUnsupportedError } from "./errors/MethodUnsupportedError.js";
|
|
20
|
-
export { addBreadCrumb } from "./actions/addBreadCrumb.js";
|
|
21
|
-
// chains (convenience exports for Alchemy-supported chains)
|
|
22
|
-
export * from "./chains.js";
|
|
23
|
-
// diagnostics logging
|
|
24
|
-
export { createLogger } from "./logging/logger.js";
|
|
25
|
-
export { setGlobalLoggerConfig, getGlobalLoggerConfig, LogLevel, isLevelEnabled, isNamespaceEnabled, } from "./logging/config.js";
|
|
26
|
-
export { InMemorySink } from "./logging/sinks.js";
|
|
27
22
|
//# 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":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,6CAA6C;AAC7C,wCAAwC;AACxC,4DAA4D;AAI5D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE9E,2BAA2B;AAC3B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AAItC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAIvD,OAAO,EACL,6BAA6B,EAC7B,+BAA+B,EAC/B,yBAAyB,GAC1B,MAAM,iCAAiC,CAAC;AAEzC,SAAS;AACT,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC","sourcesContent":["// http -- TODO(v5): not currently exported\n// export type * from \"./rest/restClient.js\";\n// export type * from \"./rest/types.js\";\n// export { AlchemyRestClient } from \"./rest/restClient.js\";\n\n// transport\nexport type * from \"./transport/alchemy.js\";\nexport { alchemyTransport, isAlchemyTransport } from \"./transport/alchemy.js\";\n\n// chain registry utilities\nexport {\n getAlchemyRpcUrl,\n isChainSupported,\n getSupportedChainIds,\n} from \"./transport/chainRegistry.js\";\n\n// utils\nexport type * from \"./utils/types.js\";\nexport { assertNever } from \"./utils/assertNever.js\";\nexport { raise } from \"./utils/raise.js\";\nexport { bigIntMultiply, bigIntMax } from \"./utils/bigint.js\";\nexport { lowerAddress } from \"./utils/lowerAddress.js\";\n\n// config\nexport type { AlchemyConnectionConfig } from \"./transport/connectionSchema.js\";\nexport {\n AlchemyConnectionConfigSchema,\n validateAlchemyConnectionConfig,\n isAlchemyConnectionConfig,\n} from \"./transport/connectionSchema.js\";\n\n// errors\nexport { BaseError } from \"./errors/BaseError.js\";\nexport { ChainNotFoundError } from \"./errors/ChainNotFoundError.js\";\nexport { AccountNotFoundError } from \"./errors/AccountNotFoundError.js\";\nexport { ConnectionConfigError } from \"./errors/ConnectionConfigError.js\";\nexport { FetchError } from \"./errors/FetchError.js\";\nexport { ServerError } from \"./errors/ServerError.js\";\nexport { InvalidRequestError } from \"./errors/InvalidRequestError.js\";\nexport { MethodUnsupportedError } from \"./errors/MethodUnsupportedError.js\";\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type * from "./actions/addBreadCrumb.js";
|
|
2
|
+
export { addBreadCrumb } from "./actions/addBreadCrumb.js";
|
|
3
|
+
export { createLogger } from "./logging/logger.js";
|
|
4
|
+
export { setGlobalLoggerConfig, getGlobalLoggerConfig, LogLevel, isLevelEnabled, isNamespaceEnabled, } from "./logging/config.js";
|
|
5
|
+
export type { DiagnosticsLogger } from "./logging/logger.js";
|
|
6
|
+
export { InMemorySink } from "./logging/sinks.js";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { addBreadCrumb } from "./actions/addBreadCrumb.js";
|
|
2
|
+
// diagnostics logging
|
|
3
|
+
export { createLogger } from "./logging/logger.js";
|
|
4
|
+
export { setGlobalLoggerConfig, getGlobalLoggerConfig, LogLevel, isLevelEnabled, isNamespaceEnabled, } from "./logging/config.js";
|
|
5
|
+
export { InMemorySink } from "./logging/sinks.js";
|
|
6
|
+
//# sourceMappingURL=internal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,sBAAsB;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,QAAQ,EACR,cAAc,EACd,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC","sourcesContent":["// actions\nexport type * from \"./actions/addBreadCrumb.js\";\nexport { addBreadCrumb } from \"./actions/addBreadCrumb.js\";\n\n// diagnostics logging\nexport { createLogger } from \"./logging/logger.js\";\nexport {\n setGlobalLoggerConfig,\n getGlobalLoggerConfig,\n LogLevel,\n isLevelEnabled,\n isNamespaceEnabled,\n} from \"./logging/config.js\";\nexport type { DiagnosticsLogger } from \"./logging/logger.js\";\nexport { InMemorySink } from \"./logging/sinks.js\";\n"]}
|
|
@@ -33,7 +33,8 @@ export declare class TraceHeader {
|
|
|
33
33
|
/**
|
|
34
34
|
* Creating a default trace id that is a random setup for both trace id and parent id
|
|
35
35
|
*
|
|
36
|
-
* @example
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts
|
|
37
38
|
* const traceHeader = TraceHeader.fromTraceHeader(headers) || TraceHeader.default();
|
|
38
39
|
* ```
|
|
39
40
|
*
|
|
@@ -43,7 +44,8 @@ export declare class TraceHeader {
|
|
|
43
44
|
/**
|
|
44
45
|
* Should be able to consume a trace header from the headers of an http request
|
|
45
46
|
*
|
|
46
|
-
* @example
|
|
47
|
+
* @example
|
|
48
|
+
* ```ts
|
|
47
49
|
* const traceHeader = TraceHeader.fromTraceHeader(headers);
|
|
48
50
|
* ```
|
|
49
51
|
*
|
|
@@ -54,7 +56,8 @@ export declare class TraceHeader {
|
|
|
54
56
|
/**
|
|
55
57
|
* Should be able to convert the trace header to the format that is used in the headers of an http request
|
|
56
58
|
*
|
|
57
|
-
* @example
|
|
59
|
+
* @example
|
|
60
|
+
* ```ts
|
|
58
61
|
* const traceHeader = TraceHeader.fromTraceHeader(headers) || TraceHeader.default();
|
|
59
62
|
* const headers = traceHeader.toTraceHeader();
|
|
60
63
|
* ```
|
|
@@ -70,7 +73,8 @@ export declare class TraceHeader {
|
|
|
70
73
|
* as the key of the eventName as breadcrumbs appending onto previous breadcrumbs with the - infix if exists. And the
|
|
71
74
|
* trace parent gets updated as according to the docs
|
|
72
75
|
*
|
|
73
|
-
* @example
|
|
76
|
+
* @example
|
|
77
|
+
* ```ts
|
|
74
78
|
* const traceHeader = TraceHeader.fromTraceHeader(headers) || TraceHeader.default();
|
|
75
79
|
* const newTraceHeader = traceHeader.withEvent("newEvent");
|
|
76
80
|
* ```
|
|
@@ -65,7 +65,8 @@ export class TraceHeader {
|
|
|
65
65
|
/**
|
|
66
66
|
* Creating a default trace id that is a random setup for both trace id and parent id
|
|
67
67
|
*
|
|
68
|
-
* @example
|
|
68
|
+
* @example
|
|
69
|
+
* ```ts
|
|
69
70
|
* const traceHeader = TraceHeader.fromTraceHeader(headers) || TraceHeader.default();
|
|
70
71
|
* ```
|
|
71
72
|
*
|
|
@@ -78,7 +79,8 @@ export class TraceHeader {
|
|
|
78
79
|
/**
|
|
79
80
|
* Should be able to consume a trace header from the headers of an http request
|
|
80
81
|
*
|
|
81
|
-
* @example
|
|
82
|
+
* @example
|
|
83
|
+
* ```ts
|
|
82
84
|
* const traceHeader = TraceHeader.fromTraceHeader(headers);
|
|
83
85
|
* ```
|
|
84
86
|
*
|
|
@@ -104,7 +106,8 @@ export class TraceHeader {
|
|
|
104
106
|
/**
|
|
105
107
|
* Should be able to convert the trace header to the format that is used in the headers of an http request
|
|
106
108
|
*
|
|
107
|
-
* @example
|
|
109
|
+
* @example
|
|
110
|
+
* ```ts
|
|
108
111
|
* const traceHeader = TraceHeader.fromTraceHeader(headers) || TraceHeader.default();
|
|
109
112
|
* const headers = traceHeader.toTraceHeader();
|
|
110
113
|
* ```
|
|
@@ -124,7 +127,8 @@ export class TraceHeader {
|
|
|
124
127
|
* as the key of the eventName as breadcrumbs appending onto previous breadcrumbs with the - infix if exists. And the
|
|
125
128
|
* trace parent gets updated as according to the docs
|
|
126
129
|
*
|
|
127
|
-
* @example
|
|
130
|
+
* @example
|
|
131
|
+
* ```ts
|
|
128
132
|
* const traceHeader = TraceHeader.fromTraceHeader(headers) || TraceHeader.default();
|
|
129
133
|
* const newTraceHeader = traceHeader.withEvent("newEvent");
|
|
130
134
|
* ```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traceHeader.js","sourceRoot":"","sources":["../../../src/tracing/traceHeader.ts"],"names":[],"mappings":"AAAA,SAAS,uBAAuB,CAAC,QAAgB;IAC/C,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CACpD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;SAC3B,QAAQ,CAAC,EAAE,CAAC;SACZ,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CACpB,CAAC;IACF,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAC;AAC/C;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAE/C,MAAM,aAAa,GAAG,uBAAuB,CAAC,EAAE,CAAC,CAAC;AAClD;;;;;GAKG;AACH,MAAM,OAAO,WAAW;IAMtB;;;;;;;OAOG;IACH,YACE,OAAe,EACf,QAAgB,EAChB,UAAkB,EAClB,UAAqC;QAjB9B;;;;;WAAgB;QAChB;;;;;WAAiB;QACjB;;;;;WAAmB;QACnB;;;;;WAAmC;QAgB1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"traceHeader.js","sourceRoot":"","sources":["../../../src/tracing/traceHeader.ts"],"names":[],"mappings":"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","sourcesContent":["function generateRandomHexString(numBytes: number) {\n const hexPairs = new Array(numBytes).fill(0).map(() =>\n Math.floor(Math.random() * 16)\n .toString(16)\n .padStart(2, \"0\"),\n );\n return hexPairs.join(\"\");\n}\n\n/**\n * These are the headers that are used in the trace headers, could be found in the spec\n *\n * @see https://www.w3.org/TR/trace-context/#design-overview\n */\n\nexport const TRACE_HEADER_NAME = \"traceparent\";\n/**\n * These are the headers that are used in the trace headers, could be found in the spec\n *\n * @see https://www.w3.org/TR/trace-context/#design-overview\n */\nexport const TRACE_HEADER_STATE = \"tracestate\";\n\nconst clientTraceId = generateRandomHexString(16);\n/**\n * Some tools that are useful when dealing with the values\n * of the trace header. Follows the W3C trace context standard.\n *\n * @see https://www.w3.org/TR/trace-context/\n */\nexport class TraceHeader {\n readonly traceId: string;\n readonly parentId: string;\n readonly traceFlags: string;\n readonly traceState: Record<string, string>;\n\n /**\n * Initializes a new instance with the provided trace identifiers and state information.\n *\n * @param {string} traceId The unique identifier for the trace\n * @param {string} parentId The identifier of the parent trace\n * @param {string} traceFlags Flags containing trace-related options\n * @param {TraceHeader[\"traceState\"]} traceState The trace state information for additional trace context\n */\n constructor(\n traceId: string,\n parentId: string,\n traceFlags: string,\n traceState: TraceHeader[\"traceState\"],\n ) {\n this.traceId = traceId;\n this.parentId = parentId;\n this.traceFlags = traceFlags;\n this.traceState = traceState;\n }\n\n /**\n * Creating a default trace id that is a random setup for both trace id and parent id\n *\n * @example\n * ```ts\n * const traceHeader = TraceHeader.fromTraceHeader(headers) || TraceHeader.default();\n * ```\n *\n * @returns {TraceHeader} A default trace header\n */\n static default() {\n return new TraceHeader(\n clientTraceId,\n generateRandomHexString(8),\n \"00\", //Means no flag have been set, and no sampled state https://www.w3.org/TR/trace-context/#trace-flags\n {},\n );\n }\n /**\n * Should be able to consume a trace header from the headers of an http request\n *\n * @example\n * ```ts\n * const traceHeader = TraceHeader.fromTraceHeader(headers);\n * ```\n *\n * @param {Record<string,string>} headers The headers from the http request\n * @returns {TraceHeader | undefined} The trace header object, or nothing if not found\n */\n static fromTraceHeader(\n headers: Record<string, string>,\n ): TraceHeader | undefined {\n if (!headers[TRACE_HEADER_NAME]) {\n return undefined;\n }\n const [version, traceId, parentId, traceFlags] =\n headers[TRACE_HEADER_NAME]?.split(\"-\");\n\n const traceState =\n headers[TRACE_HEADER_STATE]?.split(\",\").reduce(\n (acc, curr) => {\n const [key, value] = curr.split(\"=\");\n acc[key] = value;\n return acc;\n },\n {} as Record<string, string>,\n ) || {};\n if (version !== \"00\") {\n console.debug(\n new Error(\n `Invalid version for traceheader: ${headers[TRACE_HEADER_NAME]}`,\n ),\n );\n return undefined;\n }\n return new TraceHeader(traceId, parentId, traceFlags, traceState);\n }\n\n /**\n * Should be able to convert the trace header to the format that is used in the headers of an http request\n *\n * @example\n * ```ts\n * const traceHeader = TraceHeader.fromTraceHeader(headers) || TraceHeader.default();\n * const headers = traceHeader.toTraceHeader();\n * ```\n *\n * @returns {{traceparent: string, tracestate: string}} The trace header in the format of a record, used in our http client\n */\n toTraceHeader() {\n return {\n [TRACE_HEADER_NAME]: `00-${this.traceId}-${this.parentId}-${this.traceFlags}`,\n [TRACE_HEADER_STATE]: Object.entries(this.traceState)\n .map(([key, value]) => `${key}=${value}`)\n .join(\",\"),\n } as const;\n }\n\n /**\n * Should be able to create a new trace header with a new event in the trace state,\n * as the key of the eventName as breadcrumbs appending onto previous breadcrumbs with the - infix if exists. And the\n * trace parent gets updated as according to the docs\n *\n * @example\n * ```ts\n * const traceHeader = TraceHeader.fromTraceHeader(headers) || TraceHeader.default();\n * const newTraceHeader = traceHeader.withEvent(\"newEvent\");\n * ```\n *\n * @param {string} eventName The key of the new event\n * @returns {TraceHeader} The new trace header\n */\n withEvent(eventName: string): TraceHeader {\n const breadcrumbs = this.traceState.breadcrumbs\n ? `${this.traceState.breadcrumbs}-${eventName}`\n : eventName;\n return new TraceHeader(this.traceId, this.parentId, this.traceFlags, {\n ...this.traceState,\n breadcrumbs,\n });\n }\n}\n"]}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Internal registry mapping chain IDs to Alchemy RPC base URLs.
|
|
3
3
|
* This replaces the need for custom chain exports with embedded Alchemy URLs.
|
|
4
|
+
*
|
|
5
|
+
* Auto-generated by the ws-tools CLI — do not manually edit.
|
|
4
6
|
*/
|
|
5
7
|
export declare const ALCHEMY_RPC_MAPPING: Record<number, string>;
|
|
6
8
|
/**
|
|
@@ -12,7 +14,6 @@ export declare const ALCHEMY_RPC_MAPPING: Record<number, string>;
|
|
|
12
14
|
* @example
|
|
13
15
|
* ```ts
|
|
14
16
|
* const rpcUrl = getAlchemyRpcUrl(1); // "https://eth-mainnet.g.alchemy.com/v2"
|
|
15
|
-
* const customUrl = getAlchemyRpcUrl(999); // undefined
|
|
16
17
|
* ```
|
|
17
18
|
*/
|
|
18
19
|
export declare function getAlchemyRpcUrl(chainId: number): string | undefined;
|
|
@@ -1,64 +1,101 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Internal registry mapping chain IDs to Alchemy RPC base URLs.
|
|
3
3
|
* This replaces the need for custom chain exports with embedded Alchemy URLs.
|
|
4
|
+
*
|
|
5
|
+
* Auto-generated by the ws-tools CLI — do not manually edit.
|
|
4
6
|
*/
|
|
5
7
|
export const ALCHEMY_RPC_MAPPING = {
|
|
6
|
-
//
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
//
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
421614: "https://arb-sepolia.g.alchemy.com/v2", //
|
|
14
|
-
//
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
//
|
|
19
|
-
|
|
20
|
-
|
|
8
|
+
// ANIME networks
|
|
9
|
+
6900: "https://anime-sepolia.g.alchemy.com/v2", // animeSepolia
|
|
10
|
+
69000: "https://anime-mainnet.g.alchemy.com/v2", // animeMainnet
|
|
11
|
+
// APECHAIN networks
|
|
12
|
+
33139: "https://apechain-mainnet.g.alchemy.com/v2", // apechainMainnet
|
|
13
|
+
33111: "https://apechain-curtis.g.alchemy.com/v2", // apechainCurtis
|
|
14
|
+
// ARB networks
|
|
15
|
+
421614: "https://arb-sepolia.g.alchemy.com/v2", // arbSepolia
|
|
16
|
+
42161: "https://arb-mainnet.g.alchemy.com/v2", // arbMainnet
|
|
17
|
+
// ARBNOVA networks
|
|
18
|
+
42170: "https://arbnova-mainnet.g.alchemy.com/v2", // arbnovaMainnet
|
|
19
|
+
// ARC networks
|
|
20
|
+
5042002: "https://arc-testnet.g.alchemy.com/v2", // arcTestnet
|
|
21
|
+
// BASE networks
|
|
22
|
+
8453: "https://base-mainnet.g.alchemy.com/v2", // baseMainnet
|
|
21
23
|
84532: "https://base-sepolia.g.alchemy.com/v2", // baseSepolia
|
|
22
|
-
//
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
//
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
//
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
//
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
//
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
//
|
|
42
|
-
|
|
43
|
-
// Ink networks
|
|
24
|
+
// BERACHAIN networks
|
|
25
|
+
80094: "https://berachain-mainnet.g.alchemy.com/v2", // berachainMainnet
|
|
26
|
+
80069: "https://berachain-bepolia.g.alchemy.com/v2", // berachainBepolia
|
|
27
|
+
// BNB networks
|
|
28
|
+
97: "https://bnb-testnet.g.alchemy.com/v2", // bnbTestnet
|
|
29
|
+
56: "https://bnb-mainnet.g.alchemy.com/v2", // bnbMainnet
|
|
30
|
+
// CELO networks
|
|
31
|
+
11142220: "https://celo-sepolia.g.alchemy.com/v2", // celoSepolia
|
|
32
|
+
42220: "https://celo-mainnet.g.alchemy.com/v2", // celoMainnet
|
|
33
|
+
// CLANKERMON networks
|
|
34
|
+
510525: "https://clankermon-mainnet.g.alchemy.com/v2", // clankermonMainnet
|
|
35
|
+
// ETH networks
|
|
36
|
+
1: "https://eth-mainnet.g.alchemy.com/v2", // ethMainnet
|
|
37
|
+
11155111: "https://eth-sepolia.g.alchemy.com/v2", // ethSepolia
|
|
38
|
+
// FRAX networks
|
|
39
|
+
252: "https://frax-mainnet.g.alchemy.com/v2", // fraxMainnet
|
|
40
|
+
// GENSYN networks
|
|
41
|
+
685685: "https://gensyn-testnet.g.alchemy.com/v2", // gensynTestnet
|
|
42
|
+
// HYPERLIQUID networks
|
|
43
|
+
999: "https://hyperliquid-mainnet.g.alchemy.com/v2", // hyperliquidMainnet
|
|
44
|
+
// INK networks
|
|
44
45
|
57073: "https://ink-mainnet.g.alchemy.com/v2", // inkMainnet
|
|
45
46
|
763373: "https://ink-sepolia.g.alchemy.com/v2", // inkSepolia
|
|
46
|
-
//
|
|
47
|
+
// MATIC networks
|
|
48
|
+
80002: "https://polygon-amoy.g.alchemy.com/v2", // maticAmoy
|
|
49
|
+
137: "https://polygon-mainnet.g.alchemy.com/v2", // maticMainnet
|
|
50
|
+
// MEGAETH networks
|
|
51
|
+
4326: "https://megaeth-mainnet.g.alchemy.com/v2", // megaethMainnet
|
|
52
|
+
6343: "https://megaeth-testnet.g.alchemy.com/v2", // megaethTestnet
|
|
53
|
+
// MONAD networks
|
|
47
54
|
10143: "https://monad-testnet.g.alchemy.com/v2", // monadTestnet
|
|
48
|
-
//
|
|
55
|
+
143: "https://monad-mainnet.g.alchemy.com/v2", // monadMainnet
|
|
56
|
+
// MYTHOS networks
|
|
57
|
+
42018: "https://mythos-mainnet.g.alchemy.com/v2", // mythosMainnet
|
|
58
|
+
// OPBNB networks
|
|
59
|
+
5611: "https://opbnb-testnet.g.alchemy.com/v2", // opbnbTestnet
|
|
60
|
+
204: "https://opbnb-mainnet.g.alchemy.com/v2", // opbnbMainnet
|
|
61
|
+
// OPENLOOT networks
|
|
49
62
|
905905: "https://openloot-sepolia.g.alchemy.com/v2", // openlootSepolia
|
|
50
|
-
//
|
|
51
|
-
|
|
52
|
-
//
|
|
63
|
+
// OPT networks
|
|
64
|
+
10: "https://opt-mainnet.g.alchemy.com/v2", // optMainnet
|
|
65
|
+
11155420: "https://opt-sepolia.g.alchemy.com/v2", // optSepolia
|
|
66
|
+
// PLASMA networks
|
|
67
|
+
9746: "https://plasma-testnet.g.alchemy.com/v2", // plasmaTestnet
|
|
68
|
+
9745: "https://plasma-mainnet.g.alchemy.com/v2", // plasmaMainnet
|
|
69
|
+
// POLYNOMIAL networks
|
|
70
|
+
8008: "https://polynomial-mainnet.g.alchemy.com/v2", // polynomialMainnet
|
|
71
|
+
80008: "https://polynomial-sepolia.g.alchemy.com/v2", // polynomialSepolia
|
|
72
|
+
// RISE networks
|
|
53
73
|
11155931: "https://rise-testnet.g.alchemy.com/v2", // riseTestnet
|
|
54
|
-
//
|
|
74
|
+
// ROBINHOOD networks
|
|
75
|
+
46630: "https://robinhood-testnet.g.alchemy.com/v2", // robinhoodTestnet
|
|
76
|
+
// SHAPE networks
|
|
77
|
+
11011: "https://shape-sepolia.g.alchemy.com/v2", // shapeSepolia
|
|
78
|
+
360: "https://shape-mainnet.g.alchemy.com/v2", // shapeMainnet
|
|
79
|
+
// SONEIUM networks
|
|
80
|
+
1946: "https://soneium-minato.g.alchemy.com/v2", // soneiumMinato
|
|
81
|
+
1868: "https://soneium-mainnet.g.alchemy.com/v2", // soneiumMainnet
|
|
82
|
+
// STABLE networks
|
|
83
|
+
988: "https://stable-mainnet.g.alchemy.com/v2", // stableMainnet
|
|
84
|
+
2201: "https://stable-testnet.g.alchemy.com/v2", // stableTestnet
|
|
85
|
+
// STORY networks
|
|
55
86
|
1514: "https://story-mainnet.g.alchemy.com/v2", // storyMainnet
|
|
56
87
|
1315: "https://story-aeneid.g.alchemy.com/v2", // storyAeneid
|
|
57
|
-
//
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
//
|
|
61
|
-
|
|
88
|
+
// UNICHAIN networks
|
|
89
|
+
1301: "https://unichain-sepolia.g.alchemy.com/v2", // unichainSepolia
|
|
90
|
+
130: "https://unichain-mainnet.g.alchemy.com/v2", // unichainMainnet
|
|
91
|
+
// WORLDCHAIN networks
|
|
92
|
+
4801: "https://worldchain-sepolia.g.alchemy.com/v2", // worldchainSepolia
|
|
93
|
+
480: "https://worldchain-mainnet.g.alchemy.com/v2", // worldchainMainnet
|
|
94
|
+
// WORLDMOBILECHAIN networks
|
|
95
|
+
869: "https://worldmobilechain-mainnet.g.alchemy.com/v2", // worldmobilechainMainnet
|
|
96
|
+
// ZORA networks
|
|
97
|
+
7777777: "https://zora-mainnet.g.alchemy.com/v2", // zoraMainnet
|
|
98
|
+
999999999: "https://zora-sepolia.g.alchemy.com/v2", // zoraSepolia
|
|
62
99
|
};
|
|
63
100
|
/**
|
|
64
101
|
* Gets the Alchemy RPC base URL for a given chain ID.
|
|
@@ -69,7 +106,6 @@ export const ALCHEMY_RPC_MAPPING = {
|
|
|
69
106
|
* @example
|
|
70
107
|
* ```ts
|
|
71
108
|
* const rpcUrl = getAlchemyRpcUrl(1); // "https://eth-mainnet.g.alchemy.com/v2"
|
|
72
|
-
* const customUrl = getAlchemyRpcUrl(999); // undefined
|
|
73
109
|
* ```
|
|
74
110
|
*/
|
|
75
111
|
export function getAlchemyRpcUrl(chainId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chainRegistry.js","sourceRoot":"","sources":["../../../src/transport/chainRegistry.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"chainRegistry.js","sourceRoot":"","sources":["../../../src/transport/chainRegistry.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Internal registry mapping chain IDs to Alchemy RPC base URLs.\n * This replaces the need for custom chain exports with embedded Alchemy URLs.\n *\n * Auto-generated by the ws-tools CLI — do not manually edit.\n */\nexport const ALCHEMY_RPC_MAPPING: Record<number, string> = {\n // ANIME networks\n 6900: \"https://anime-sepolia.g.alchemy.com/v2\", // animeSepolia\n 69000: \"https://anime-mainnet.g.alchemy.com/v2\", // animeMainnet\n\n // APECHAIN networks\n 33139: \"https://apechain-mainnet.g.alchemy.com/v2\", // apechainMainnet\n 33111: \"https://apechain-curtis.g.alchemy.com/v2\", // apechainCurtis\n\n // ARB networks\n 421614: \"https://arb-sepolia.g.alchemy.com/v2\", // arbSepolia\n 42161: \"https://arb-mainnet.g.alchemy.com/v2\", // arbMainnet\n\n // ARBNOVA networks\n 42170: \"https://arbnova-mainnet.g.alchemy.com/v2\", // arbnovaMainnet\n\n // ARC networks\n 5042002: \"https://arc-testnet.g.alchemy.com/v2\", // arcTestnet\n\n // BASE networks\n 8453: \"https://base-mainnet.g.alchemy.com/v2\", // baseMainnet\n 84532: \"https://base-sepolia.g.alchemy.com/v2\", // baseSepolia\n\n // BERACHAIN networks\n 80094: \"https://berachain-mainnet.g.alchemy.com/v2\", // berachainMainnet\n 80069: \"https://berachain-bepolia.g.alchemy.com/v2\", // berachainBepolia\n\n // BNB networks\n 97: \"https://bnb-testnet.g.alchemy.com/v2\", // bnbTestnet\n 56: \"https://bnb-mainnet.g.alchemy.com/v2\", // bnbMainnet\n\n // CELO networks\n 11142220: \"https://celo-sepolia.g.alchemy.com/v2\", // celoSepolia\n 42220: \"https://celo-mainnet.g.alchemy.com/v2\", // celoMainnet\n\n // CLANKERMON networks\n 510525: \"https://clankermon-mainnet.g.alchemy.com/v2\", // clankermonMainnet\n\n // ETH networks\n 1: \"https://eth-mainnet.g.alchemy.com/v2\", // ethMainnet\n 11155111: \"https://eth-sepolia.g.alchemy.com/v2\", // ethSepolia\n\n // FRAX networks\n 252: \"https://frax-mainnet.g.alchemy.com/v2\", // fraxMainnet\n\n // GENSYN networks\n 685685: \"https://gensyn-testnet.g.alchemy.com/v2\", // gensynTestnet\n\n // HYPERLIQUID networks\n 999: \"https://hyperliquid-mainnet.g.alchemy.com/v2\", // hyperliquidMainnet\n\n // INK networks\n 57073: \"https://ink-mainnet.g.alchemy.com/v2\", // inkMainnet\n 763373: \"https://ink-sepolia.g.alchemy.com/v2\", // inkSepolia\n\n // MATIC networks\n 80002: \"https://polygon-amoy.g.alchemy.com/v2\", // maticAmoy\n 137: \"https://polygon-mainnet.g.alchemy.com/v2\", // maticMainnet\n\n // MEGAETH networks\n 4326: \"https://megaeth-mainnet.g.alchemy.com/v2\", // megaethMainnet\n 6343: \"https://megaeth-testnet.g.alchemy.com/v2\", // megaethTestnet\n\n // MONAD networks\n 10143: \"https://monad-testnet.g.alchemy.com/v2\", // monadTestnet\n 143: \"https://monad-mainnet.g.alchemy.com/v2\", // monadMainnet\n\n // MYTHOS networks\n 42018: \"https://mythos-mainnet.g.alchemy.com/v2\", // mythosMainnet\n\n // OPBNB networks\n 5611: \"https://opbnb-testnet.g.alchemy.com/v2\", // opbnbTestnet\n 204: \"https://opbnb-mainnet.g.alchemy.com/v2\", // opbnbMainnet\n\n // OPENLOOT networks\n 905905: \"https://openloot-sepolia.g.alchemy.com/v2\", // openlootSepolia\n\n // OPT networks\n 10: \"https://opt-mainnet.g.alchemy.com/v2\", // optMainnet\n 11155420: \"https://opt-sepolia.g.alchemy.com/v2\", // optSepolia\n\n // PLASMA networks\n 9746: \"https://plasma-testnet.g.alchemy.com/v2\", // plasmaTestnet\n 9745: \"https://plasma-mainnet.g.alchemy.com/v2\", // plasmaMainnet\n\n // POLYNOMIAL networks\n 8008: \"https://polynomial-mainnet.g.alchemy.com/v2\", // polynomialMainnet\n 80008: \"https://polynomial-sepolia.g.alchemy.com/v2\", // polynomialSepolia\n\n // RISE networks\n 11155931: \"https://rise-testnet.g.alchemy.com/v2\", // riseTestnet\n\n // ROBINHOOD networks\n 46630: \"https://robinhood-testnet.g.alchemy.com/v2\", // robinhoodTestnet\n\n // SHAPE networks\n 11011: \"https://shape-sepolia.g.alchemy.com/v2\", // shapeSepolia\n 360: \"https://shape-mainnet.g.alchemy.com/v2\", // shapeMainnet\n\n // SONEIUM networks\n 1946: \"https://soneium-minato.g.alchemy.com/v2\", // soneiumMinato\n 1868: \"https://soneium-mainnet.g.alchemy.com/v2\", // soneiumMainnet\n\n // STABLE networks\n 988: \"https://stable-mainnet.g.alchemy.com/v2\", // stableMainnet\n 2201: \"https://stable-testnet.g.alchemy.com/v2\", // stableTestnet\n\n // STORY networks\n 1514: \"https://story-mainnet.g.alchemy.com/v2\", // storyMainnet\n 1315: \"https://story-aeneid.g.alchemy.com/v2\", // storyAeneid\n\n // UNICHAIN networks\n 1301: \"https://unichain-sepolia.g.alchemy.com/v2\", // unichainSepolia\n 130: \"https://unichain-mainnet.g.alchemy.com/v2\", // unichainMainnet\n\n // WORLDCHAIN networks\n 4801: \"https://worldchain-sepolia.g.alchemy.com/v2\", // worldchainSepolia\n 480: \"https://worldchain-mainnet.g.alchemy.com/v2\", // worldchainMainnet\n\n // WORLDMOBILECHAIN networks\n 869: \"https://worldmobilechain-mainnet.g.alchemy.com/v2\", // worldmobilechainMainnet\n\n // ZORA networks\n 7777777: \"https://zora-mainnet.g.alchemy.com/v2\", // zoraMainnet\n 999999999: \"https://zora-sepolia.g.alchemy.com/v2\", // zoraSepolia\n};\n\n/**\n * Gets the Alchemy RPC base URL for a given chain ID.\n *\n * @param {number} chainId The chain ID to lookup\n * @returns {string | undefined} The Alchemy RPC base URL or undefined if not supported\n *\n * @example\n * ```ts\n * const rpcUrl = getAlchemyRpcUrl(1); // \"https://eth-mainnet.g.alchemy.com/v2\"\n * ```\n */\nexport function getAlchemyRpcUrl(chainId: number): string | undefined {\n return ALCHEMY_RPC_MAPPING[chainId];\n}\n\n/**\n * Checks if a chain ID is supported by the Alchemy RPC registry.\n *\n * @param {number} chainId The chain ID to check\n * @returns {boolean} True if the chain is supported, false otherwise\n */\nexport function isChainSupported(chainId: number): boolean {\n return chainId in ALCHEMY_RPC_MAPPING;\n}\n\n/**\n * Gets all supported chain IDs from the registry.\n *\n * @returns {number[]} Array of supported chain IDs\n */\nexport function getSupportedChainIds(): number[] {\n return Object.keys(ALCHEMY_RPC_MAPPING).map(Number);\n}\n"]}
|