@alchemy/common 0.0.0-alpha.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 (212) hide show
  1. package/LICENSE +21 -0
  2. package/dist/esm/actions/addBreadCrumb.d.ts +14 -0
  3. package/dist/esm/actions/addBreadCrumb.js +27 -0
  4. package/dist/esm/actions/addBreadCrumb.js.map +1 -0
  5. package/dist/esm/chains.d.ts +234 -0
  6. package/dist/esm/chains.js +113 -0
  7. package/dist/esm/chains.js.map +1 -0
  8. package/dist/esm/errors/AccountNotFoundError.d.ts +10 -0
  9. package/dist/esm/errors/AccountNotFoundError.js +19 -0
  10. package/dist/esm/errors/AccountNotFoundError.js.map +1 -0
  11. package/dist/esm/errors/BaseError.d.ts +23 -0
  12. package/dist/esm/errors/BaseError.js +40 -0
  13. package/dist/esm/errors/BaseError.js.map +1 -0
  14. package/dist/esm/errors/ChainNotFoundError.d.ts +11 -0
  15. package/dist/esm/errors/ChainNotFoundError.js +19 -0
  16. package/dist/esm/errors/ChainNotFoundError.js.map +1 -0
  17. package/dist/esm/errors/ConnectionConfigError.d.ts +13 -0
  18. package/dist/esm/errors/ConnectionConfigError.js +25 -0
  19. package/dist/esm/errors/ConnectionConfigError.js.map +1 -0
  20. package/dist/esm/errors/FetchError.d.ts +15 -0
  21. package/dist/esm/errors/FetchError.js +25 -0
  22. package/dist/esm/errors/FetchError.js.map +1 -0
  23. package/dist/esm/errors/InvalidRequestError.d.ts +13 -0
  24. package/dist/esm/errors/InvalidRequestError.js +22 -0
  25. package/dist/esm/errors/InvalidRequestError.js.map +1 -0
  26. package/dist/esm/errors/MethodUnsupportedError.d.ts +13 -0
  27. package/dist/esm/errors/MethodUnsupportedError.js +21 -0
  28. package/dist/esm/errors/MethodUnsupportedError.js.map +1 -0
  29. package/dist/esm/errors/ServerError.d.ts +15 -0
  30. package/dist/esm/errors/ServerError.js +25 -0
  31. package/dist/esm/errors/ServerError.js.map +1 -0
  32. package/dist/esm/index.d.ts +29 -0
  33. package/dist/esm/index.js +27 -0
  34. package/dist/esm/index.js.map +1 -0
  35. package/dist/esm/logging/config.d.ts +190 -0
  36. package/dist/esm/logging/config.js +279 -0
  37. package/dist/esm/logging/config.js.map +1 -0
  38. package/dist/esm/logging/index.d.ts +6 -0
  39. package/dist/esm/logging/index.js +5 -0
  40. package/dist/esm/logging/index.js.map +1 -0
  41. package/dist/esm/logging/local.d.ts +10 -0
  42. package/dist/esm/logging/local.js +35 -0
  43. package/dist/esm/logging/local.js.map +1 -0
  44. package/dist/esm/logging/logger.d.ts +80 -0
  45. package/dist/esm/logging/logger.js +111 -0
  46. package/dist/esm/logging/logger.js.map +1 -0
  47. package/dist/esm/logging/noop.d.ts +6 -0
  48. package/dist/esm/logging/noop.js +12 -0
  49. package/dist/esm/logging/noop.js.map +1 -0
  50. package/dist/esm/logging/sinks.d.ts +90 -0
  51. package/dist/esm/logging/sinks.js +111 -0
  52. package/dist/esm/logging/sinks.js.map +1 -0
  53. package/dist/esm/logging/types.d.ts +96 -0
  54. package/dist/esm/logging/types.js +2 -0
  55. package/dist/esm/logging/types.js.map +1 -0
  56. package/dist/esm/logging/utils.d.ts +7 -0
  57. package/dist/esm/logging/utils.js +21 -0
  58. package/dist/esm/logging/utils.js.map +1 -0
  59. package/dist/esm/rest/restClient.d.ts +34 -0
  60. package/dist/esm/rest/restClient.js +55 -0
  61. package/dist/esm/rest/restClient.js.map +1 -0
  62. package/dist/esm/rest/types.d.ts +24 -0
  63. package/dist/esm/rest/types.js +2 -0
  64. package/dist/esm/rest/types.js.map +1 -0
  65. package/dist/esm/tracing/traceHeader.d.ts +82 -0
  66. package/dist/esm/tracing/traceHeader.js +145 -0
  67. package/dist/esm/tracing/traceHeader.js.map +1 -0
  68. package/dist/esm/tracing/updateHeaders.d.ts +24 -0
  69. package/dist/esm/tracing/updateHeaders.js +61 -0
  70. package/dist/esm/tracing/updateHeaders.js.map +1 -0
  71. package/dist/esm/transport/alchemy.d.ts +110 -0
  72. package/dist/esm/transport/alchemy.js +164 -0
  73. package/dist/esm/transport/alchemy.js.map +1 -0
  74. package/dist/esm/transport/chainRegistry.d.ts +31 -0
  75. package/dist/esm/transport/chainRegistry.js +95 -0
  76. package/dist/esm/transport/chainRegistry.js.map +1 -0
  77. package/dist/esm/transport/connection.d.ts +20 -0
  78. package/dist/esm/transport/connection.js +2 -0
  79. package/dist/esm/transport/connection.js.map +1 -0
  80. package/dist/esm/transport/connectionSchema.d.ts +124 -0
  81. package/dist/esm/transport/connectionSchema.js +121 -0
  82. package/dist/esm/transport/connectionSchema.js.map +1 -0
  83. package/dist/esm/utils/assertNever.d.ts +8 -0
  84. package/dist/esm/utils/assertNever.js +12 -0
  85. package/dist/esm/utils/assertNever.js.map +1 -0
  86. package/dist/esm/utils/bigint.d.ts +24 -0
  87. package/dist/esm/utils/bigint.js +37 -0
  88. package/dist/esm/utils/bigint.js.map +1 -0
  89. package/dist/esm/utils/createEip1193HandlerFactory.d.ts +18 -0
  90. package/dist/esm/utils/createEip1193HandlerFactory.js +11 -0
  91. package/dist/esm/utils/createEip1193HandlerFactory.js.map +1 -0
  92. package/dist/esm/utils/headers.d.ts +7 -0
  93. package/dist/esm/utils/headers.js +29 -0
  94. package/dist/esm/utils/headers.js.map +1 -0
  95. package/dist/esm/utils/lowerAddress.d.ts +8 -0
  96. package/dist/esm/utils/lowerAddress.js +9 -0
  97. package/dist/esm/utils/lowerAddress.js.map +1 -0
  98. package/dist/esm/utils/raise.d.ts +8 -0
  99. package/dist/esm/utils/raise.js +14 -0
  100. package/dist/esm/utils/raise.js.map +1 -0
  101. package/dist/esm/utils/types.d.ts +10 -0
  102. package/dist/esm/utils/types.js +2 -0
  103. package/dist/esm/utils/types.js.map +1 -0
  104. package/dist/esm/version.d.ts +1 -0
  105. package/dist/esm/version.js +4 -0
  106. package/dist/esm/version.js.map +1 -0
  107. package/dist/types/actions/addBreadCrumb.d.ts +15 -0
  108. package/dist/types/actions/addBreadCrumb.d.ts.map +1 -0
  109. package/dist/types/chains.d.ts +235 -0
  110. package/dist/types/chains.d.ts.map +1 -0
  111. package/dist/types/errors/AccountNotFoundError.d.ts +11 -0
  112. package/dist/types/errors/AccountNotFoundError.d.ts.map +1 -0
  113. package/dist/types/errors/BaseError.d.ts +24 -0
  114. package/dist/types/errors/BaseError.d.ts.map +1 -0
  115. package/dist/types/errors/ChainNotFoundError.d.ts +12 -0
  116. package/dist/types/errors/ChainNotFoundError.d.ts.map +1 -0
  117. package/dist/types/errors/ConnectionConfigError.d.ts +14 -0
  118. package/dist/types/errors/ConnectionConfigError.d.ts.map +1 -0
  119. package/dist/types/errors/FetchError.d.ts +16 -0
  120. package/dist/types/errors/FetchError.d.ts.map +1 -0
  121. package/dist/types/errors/InvalidRequestError.d.ts +14 -0
  122. package/dist/types/errors/InvalidRequestError.d.ts.map +1 -0
  123. package/dist/types/errors/MethodUnsupportedError.d.ts +14 -0
  124. package/dist/types/errors/MethodUnsupportedError.d.ts.map +1 -0
  125. package/dist/types/errors/ServerError.d.ts +16 -0
  126. package/dist/types/errors/ServerError.d.ts.map +1 -0
  127. package/dist/types/index.d.ts +30 -0
  128. package/dist/types/index.d.ts.map +1 -0
  129. package/dist/types/logging/config.d.ts +191 -0
  130. package/dist/types/logging/config.d.ts.map +1 -0
  131. package/dist/types/logging/index.d.ts +7 -0
  132. package/dist/types/logging/index.d.ts.map +1 -0
  133. package/dist/types/logging/local.d.ts +11 -0
  134. package/dist/types/logging/local.d.ts.map +1 -0
  135. package/dist/types/logging/logger.d.ts +81 -0
  136. package/dist/types/logging/logger.d.ts.map +1 -0
  137. package/dist/types/logging/noop.d.ts +7 -0
  138. package/dist/types/logging/noop.d.ts.map +1 -0
  139. package/dist/types/logging/sinks.d.ts +91 -0
  140. package/dist/types/logging/sinks.d.ts.map +1 -0
  141. package/dist/types/logging/types.d.ts +97 -0
  142. package/dist/types/logging/types.d.ts.map +1 -0
  143. package/dist/types/logging/utils.d.ts +8 -0
  144. package/dist/types/logging/utils.d.ts.map +1 -0
  145. package/dist/types/rest/restClient.d.ts +35 -0
  146. package/dist/types/rest/restClient.d.ts.map +1 -0
  147. package/dist/types/rest/types.d.ts +25 -0
  148. package/dist/types/rest/types.d.ts.map +1 -0
  149. package/dist/types/tracing/traceHeader.d.ts +83 -0
  150. package/dist/types/tracing/traceHeader.d.ts.map +1 -0
  151. package/dist/types/tracing/updateHeaders.d.ts +25 -0
  152. package/dist/types/tracing/updateHeaders.d.ts.map +1 -0
  153. package/dist/types/transport/alchemy.d.ts +111 -0
  154. package/dist/types/transport/alchemy.d.ts.map +1 -0
  155. package/dist/types/transport/chainRegistry.d.ts +32 -0
  156. package/dist/types/transport/chainRegistry.d.ts.map +1 -0
  157. package/dist/types/transport/connection.d.ts +21 -0
  158. package/dist/types/transport/connection.d.ts.map +1 -0
  159. package/dist/types/transport/connectionSchema.d.ts +125 -0
  160. package/dist/types/transport/connectionSchema.d.ts.map +1 -0
  161. package/dist/types/utils/assertNever.d.ts +9 -0
  162. package/dist/types/utils/assertNever.d.ts.map +1 -0
  163. package/dist/types/utils/bigint.d.ts +25 -0
  164. package/dist/types/utils/bigint.d.ts.map +1 -0
  165. package/dist/types/utils/createEip1193HandlerFactory.d.ts +19 -0
  166. package/dist/types/utils/createEip1193HandlerFactory.d.ts.map +1 -0
  167. package/dist/types/utils/headers.d.ts +8 -0
  168. package/dist/types/utils/headers.d.ts.map +1 -0
  169. package/dist/types/utils/lowerAddress.d.ts +9 -0
  170. package/dist/types/utils/lowerAddress.d.ts.map +1 -0
  171. package/dist/types/utils/raise.d.ts +9 -0
  172. package/dist/types/utils/raise.d.ts.map +1 -0
  173. package/dist/types/utils/types.d.ts +11 -0
  174. package/dist/types/utils/types.d.ts.map +1 -0
  175. package/dist/types/version.d.ts +2 -0
  176. package/dist/types/version.d.ts.map +1 -0
  177. package/package.json +67 -0
  178. package/src/actions/addBreadCrumb.ts +38 -0
  179. package/src/chains.ts +118 -0
  180. package/src/errors/AccountNotFoundError.ts +16 -0
  181. package/src/errors/BaseError.ts +51 -0
  182. package/src/errors/ChainNotFoundError.ts +15 -0
  183. package/src/errors/ConnectionConfigError.ts +22 -0
  184. package/src/errors/FetchError.ts +21 -0
  185. package/src/errors/InvalidRequestError.ts +19 -0
  186. package/src/errors/MethodUnsupportedError.ts +17 -0
  187. package/src/errors/ServerError.ts +21 -0
  188. package/src/index.ts +60 -0
  189. package/src/logging/config.ts +365 -0
  190. package/src/logging/index.ts +20 -0
  191. package/src/logging/local.ts +39 -0
  192. package/src/logging/logger.ts +194 -0
  193. package/src/logging/noop.ts +13 -0
  194. package/src/logging/sinks.ts +115 -0
  195. package/src/logging/types.ts +111 -0
  196. package/src/logging/utils.ts +31 -0
  197. package/src/rest/restClient.ts +64 -0
  198. package/src/rest/types.ts +42 -0
  199. package/src/tracing/traceHeader.ts +154 -0
  200. package/src/tracing/updateHeaders.ts +66 -0
  201. package/src/transport/alchemy.ts +242 -0
  202. package/src/transport/chainRegistry.ts +115 -0
  203. package/src/transport/connection.ts +19 -0
  204. package/src/transport/connectionSchema.ts +145 -0
  205. package/src/utils/assertNever.ts +12 -0
  206. package/src/utils/bigint.ts +58 -0
  207. package/src/utils/createEip1193HandlerFactory.ts +25 -0
  208. package/src/utils/headers.ts +48 -0
  209. package/src/utils/lowerAddress.ts +10 -0
  210. package/src/utils/raise.ts +14 -0
  211. package/src/utils/types.ts +14 -0
  212. package/src/version.ts +3 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023 Alchemy Insights, Inc.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,14 @@
1
+ import { type Client } from "viem";
2
+ import { type AlchemyTransport } from "../transport/alchemy.js";
3
+ /**
4
+ * TODO: need to figure out if there's a better way than this...
5
+ * This adds a tracing breadcrumb to the client during requests.
6
+ * It returns a basic client without the previously extended actions.
7
+ * That means you MUST use viem's `getAction` method within actions in case the action is being called from an action that attached a breadcrumb.
8
+ * That method works by taking a fallback, looking up the action on the client, if it finds it calls it, otherwise it calls the fallback.
9
+ *
10
+ * @param {Client<AlchemyTransport>} client a client using the alchemy transport
11
+ * @param {string} breadcrumb the breadcrumb to add to the tracing headers
12
+ * @returns {Client<AlchemyTransport>} a client with the transport updated to include the breadcrumb
13
+ */
14
+ export declare function addBreadCrumb(client: Client<AlchemyTransport>, breadcrumb: string): Client<AlchemyTransport>;
@@ -0,0 +1,27 @@
1
+ import { createClient } from "viem";
2
+ import { headersUpdate } from "../tracing/updateHeaders.js";
3
+ import { alchemyTransport, } from "../transport/alchemy.js";
4
+ import { convertHeadersToObject } from "../utils/headers.js";
5
+ /**
6
+ * TODO: need to figure out if there's a better way than this...
7
+ * This adds a tracing breadcrumb to the client during requests.
8
+ * It returns a basic client without the previously extended actions.
9
+ * That means you MUST use viem's `getAction` method within actions in case the action is being called from an action that attached a breadcrumb.
10
+ * That method works by taking a fallback, looking up the action on the client, if it finds it calls it, otherwise it calls the fallback.
11
+ *
12
+ * @param {Client<AlchemyTransport>} client a client using the alchemy transport
13
+ * @param {string} breadcrumb the breadcrumb to add to the tracing headers
14
+ * @returns {Client<AlchemyTransport>} a client with the transport updated to include the breadcrumb
15
+ */
16
+ export function addBreadCrumb(client, breadcrumb) {
17
+ const oldConfig = client.transport.config;
18
+ const dynamicFetchOptions = client.transport.fetchOptions;
19
+ const newTransport = alchemyTransport({ ...oldConfig });
20
+ newTransport.updateHeaders(headersUpdate(breadcrumb)(convertHeadersToObject(dynamicFetchOptions?.headers)));
21
+ return createClient({
22
+ ...client,
23
+ transport: newTransport,
24
+ chain: client.chain,
25
+ });
26
+ }
27
+ //# sourceMappingURL=addBreadCrumb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addBreadCrumb.js","sourceRoot":"","sources":["../../../src/actions/addBreadCrumb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,MAAM,MAAM,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EACL,gBAAgB,GAEjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAC3B,MAAgC,EAChC,UAAkB;IAElB,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;IAC1C,MAAM,mBAAmB,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC;IAC1D,MAAM,YAAY,GAAG,gBAAgB,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;IACxD,YAAY,CAAC,aAAa,CACxB,aAAa,CAAC,UAAU,CAAC,CACvB,sBAAsB,CAAC,mBAAmB,EAAE,OAAO,CAAC,CACrD,CACF,CAAC;IAEF,OAAO,YAAY,CAAC;QAClB,GAAG,MAAM;QACT,SAAS,EAAE,YAAY;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { createClient, type Client } from \"viem\";\nimport { headersUpdate } from \"../tracing/updateHeaders.js\";\nimport {\n alchemyTransport,\n type AlchemyTransport,\n} from \"../transport/alchemy.js\";\nimport { convertHeadersToObject } from \"../utils/headers.js\";\n\n/**\n * TODO: need to figure out if there's a better way than this...\n * This adds a tracing breadcrumb to the client during requests.\n * It returns a basic client without the previously extended actions.\n * That means you MUST use viem's `getAction` method within actions in case the action is being called from an action that attached a breadcrumb.\n * That method works by taking a fallback, looking up the action on the client, if it finds it calls it, otherwise it calls the fallback.\n *\n * @param {Client<AlchemyTransport>} client a client using the alchemy transport\n * @param {string} breadcrumb the breadcrumb to add to the tracing headers\n * @returns {Client<AlchemyTransport>} a client with the transport updated to include the breadcrumb\n */\nexport function addBreadCrumb(\n client: Client<AlchemyTransport>,\n breadcrumb: string,\n): Client<AlchemyTransport> {\n const oldConfig = client.transport.config;\n const dynamicFetchOptions = client.transport.fetchOptions;\n const newTransport = alchemyTransport({ ...oldConfig });\n newTransport.updateHeaders(\n headersUpdate(breadcrumb)(\n convertHeadersToObject(dynamicFetchOptions?.headers),\n ),\n );\n\n return createClient({\n ...client,\n transport: newTransport,\n chain: client.chain,\n });\n}\n"]}
@@ -0,0 +1,234 @@
1
+ export declare const fraxtalSepolia: {
2
+ blockExplorers?: {
3
+ [key: string]: {
4
+ name: string;
5
+ url: string;
6
+ apiUrl?: string | undefined;
7
+ };
8
+ default: {
9
+ name: string;
10
+ url: string;
11
+ apiUrl?: string | undefined;
12
+ };
13
+ } | undefined | undefined;
14
+ blockTime?: number | undefined | undefined;
15
+ contracts?: {
16
+ [x: string]: import("viem").ChainContract | {
17
+ [sourceId: number]: import("viem").ChainContract | undefined;
18
+ } | undefined;
19
+ ensRegistry?: import("viem").ChainContract | undefined;
20
+ ensUniversalResolver?: import("viem").ChainContract | undefined;
21
+ multicall3?: import("viem").ChainContract | undefined;
22
+ erc6492Verifier?: import("viem").ChainContract | undefined;
23
+ } | undefined;
24
+ ensTlds?: readonly string[] | undefined;
25
+ id: 2523;
26
+ name: "Fraxtal Sepolia";
27
+ nativeCurrency: {
28
+ readonly name: "Frax Ether";
29
+ readonly symbol: "frxETH";
30
+ readonly decimals: 18;
31
+ };
32
+ experimental_preconfirmationTime?: number | undefined | undefined;
33
+ rpcUrls: {
34
+ readonly default: {
35
+ readonly http: readonly ["https://rpc.testnet-sepolia.frax.com"];
36
+ };
37
+ };
38
+ sourceId?: number | undefined | undefined;
39
+ testnet: true;
40
+ custom?: Record<string, unknown> | undefined;
41
+ fees?: import("viem").ChainFees<undefined> | undefined;
42
+ formatters?: undefined;
43
+ serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
44
+ };
45
+ export declare const openlootSepolia: {
46
+ blockExplorers: {
47
+ readonly default: {
48
+ readonly name: "Block Explorer";
49
+ readonly url: "https://openloot-sepolia.explorer.alchemy.com";
50
+ };
51
+ };
52
+ blockTime?: number | undefined | undefined;
53
+ contracts?: {
54
+ [x: string]: import("viem").ChainContract | {
55
+ [sourceId: number]: import("viem").ChainContract | undefined;
56
+ } | undefined;
57
+ ensRegistry?: import("viem").ChainContract | undefined;
58
+ ensUniversalResolver?: import("viem").ChainContract | undefined;
59
+ multicall3?: import("viem").ChainContract | undefined;
60
+ erc6492Verifier?: import("viem").ChainContract | undefined;
61
+ } | undefined;
62
+ ensTlds?: readonly string[] | undefined;
63
+ id: 905905;
64
+ name: "Openloot Sepolia";
65
+ nativeCurrency: {
66
+ readonly name: "Openloot";
67
+ readonly symbol: "OL";
68
+ readonly decimals: 18;
69
+ };
70
+ experimental_preconfirmationTime?: number | undefined | undefined;
71
+ rpcUrls: {
72
+ readonly default: {
73
+ readonly http: readonly ["https://openloot-sepolia.g.alchemy.com/v2"];
74
+ };
75
+ };
76
+ sourceId?: number | undefined | undefined;
77
+ testnet: true;
78
+ custom?: Record<string, unknown> | undefined;
79
+ fees?: import("viem").ChainFees<undefined> | undefined;
80
+ formatters?: undefined;
81
+ serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
82
+ };
83
+ export declare const gensynTestnet: {
84
+ blockExplorers: {
85
+ readonly default: {
86
+ readonly name: "Block Explorer";
87
+ readonly url: "https://gensyn-testnet.explorer.alchemy.com";
88
+ };
89
+ };
90
+ blockTime?: number | undefined | undefined;
91
+ contracts?: {
92
+ [x: string]: import("viem").ChainContract | {
93
+ [sourceId: number]: import("viem").ChainContract | undefined;
94
+ } | undefined;
95
+ ensRegistry?: import("viem").ChainContract | undefined;
96
+ ensUniversalResolver?: import("viem").ChainContract | undefined;
97
+ multicall3?: import("viem").ChainContract | undefined;
98
+ erc6492Verifier?: import("viem").ChainContract | undefined;
99
+ } | undefined;
100
+ ensTlds?: readonly string[] | undefined;
101
+ id: 685685;
102
+ name: "Gensyn Testnet";
103
+ nativeCurrency: {
104
+ readonly name: "eth";
105
+ readonly symbol: "eth";
106
+ readonly decimals: 18;
107
+ };
108
+ experimental_preconfirmationTime?: number | undefined | undefined;
109
+ rpcUrls: {
110
+ readonly default: {
111
+ readonly http: readonly ["https://gensyn-testnet.g.alchemy.com/v2"];
112
+ };
113
+ };
114
+ sourceId?: number | undefined | undefined;
115
+ testnet: true;
116
+ custom?: Record<string, unknown> | undefined;
117
+ fees?: import("viem").ChainFees<undefined> | undefined;
118
+ formatters?: undefined;
119
+ serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
120
+ };
121
+ export declare const riseTestnet: {
122
+ blockExplorers: {
123
+ readonly default: {
124
+ readonly name: "Block Explorer";
125
+ readonly url: "https://explorer.testnet.riselabs.xyz";
126
+ };
127
+ };
128
+ blockTime?: number | undefined | undefined;
129
+ contracts?: {
130
+ [x: string]: import("viem").ChainContract | {
131
+ [sourceId: number]: import("viem").ChainContract | undefined;
132
+ } | undefined;
133
+ ensRegistry?: import("viem").ChainContract | undefined;
134
+ ensUniversalResolver?: import("viem").ChainContract | undefined;
135
+ multicall3?: import("viem").ChainContract | undefined;
136
+ erc6492Verifier?: import("viem").ChainContract | undefined;
137
+ } | undefined;
138
+ ensTlds?: readonly string[] | undefined;
139
+ id: 11155931;
140
+ name: "Rise Testnet";
141
+ nativeCurrency: {
142
+ readonly name: "eth";
143
+ readonly symbol: "eth";
144
+ readonly decimals: 18;
145
+ };
146
+ experimental_preconfirmationTime?: number | undefined | undefined;
147
+ rpcUrls: {
148
+ readonly default: {
149
+ readonly http: readonly ["https://rise-testnet.g.alchemy.com/v2"];
150
+ };
151
+ };
152
+ sourceId?: number | undefined | undefined;
153
+ testnet: true;
154
+ custom?: Record<string, unknown> | undefined;
155
+ fees?: import("viem").ChainFees<undefined> | undefined;
156
+ formatters?: undefined;
157
+ serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
158
+ };
159
+ export declare const storyMainnet: {
160
+ blockExplorers: {
161
+ readonly default: {
162
+ readonly name: "Block Explorer";
163
+ readonly url: "https://www.storyscan.io";
164
+ };
165
+ };
166
+ blockTime?: number | undefined | undefined;
167
+ contracts?: {
168
+ [x: string]: import("viem").ChainContract | {
169
+ [sourceId: number]: import("viem").ChainContract | undefined;
170
+ } | undefined;
171
+ ensRegistry?: import("viem").ChainContract | undefined;
172
+ ensUniversalResolver?: import("viem").ChainContract | undefined;
173
+ multicall3?: import("viem").ChainContract | undefined;
174
+ erc6492Verifier?: import("viem").ChainContract | undefined;
175
+ } | undefined;
176
+ ensTlds?: readonly string[] | undefined;
177
+ id: 1514;
178
+ name: "Story Mainnet";
179
+ nativeCurrency: {
180
+ readonly name: "IP";
181
+ readonly symbol: "IP";
182
+ readonly decimals: 18;
183
+ };
184
+ experimental_preconfirmationTime?: number | undefined | undefined;
185
+ rpcUrls: {
186
+ readonly default: {
187
+ readonly http: readonly ["https://story-mainnet.g.alchemy.com/v2"];
188
+ };
189
+ };
190
+ sourceId?: number | undefined | undefined;
191
+ testnet?: boolean | undefined | undefined;
192
+ custom?: Record<string, unknown> | undefined;
193
+ fees?: import("viem").ChainFees<undefined> | undefined;
194
+ formatters?: undefined;
195
+ serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
196
+ };
197
+ export declare const teaSepolia: {
198
+ blockExplorers: {
199
+ readonly default: {
200
+ readonly name: "Block Explorer";
201
+ readonly url: "https://sepolia.tea.xyz/";
202
+ };
203
+ };
204
+ blockTime?: number | undefined | undefined;
205
+ contracts?: {
206
+ [x: string]: import("viem").ChainContract | {
207
+ [sourceId: number]: import("viem").ChainContract | undefined;
208
+ } | undefined;
209
+ ensRegistry?: import("viem").ChainContract | undefined;
210
+ ensUniversalResolver?: import("viem").ChainContract | undefined;
211
+ multicall3?: import("viem").ChainContract | undefined;
212
+ erc6492Verifier?: import("viem").ChainContract | undefined;
213
+ } | undefined;
214
+ ensTlds?: readonly string[] | undefined;
215
+ id: 10218;
216
+ name: "Tea Sepolia";
217
+ nativeCurrency: {
218
+ readonly name: "TEA";
219
+ readonly symbol: "TEA";
220
+ readonly decimals: 18;
221
+ };
222
+ experimental_preconfirmationTime?: number | undefined | undefined;
223
+ rpcUrls: {
224
+ readonly default: {
225
+ readonly http: readonly ["https://tea-sepolia.g.alchemy.com/v2"];
226
+ };
227
+ };
228
+ sourceId?: number | undefined | undefined;
229
+ testnet: true;
230
+ custom?: Record<string, unknown> | undefined;
231
+ fees?: import("viem").ChainFees<undefined> | undefined;
232
+ formatters?: undefined;
233
+ serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
234
+ };
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Custom chain definitions for Alchemy SDK.
3
+ *
4
+ * This module provides chain definitions for networks not yet available in viem.
5
+ * For standard networks (Ethereum, Arbitrum, Base, etc.), import directly from "viem/chains".
6
+ * All chains work automatically with alchemyTransport via the internal registry lookup.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * // Standard chains - import from viem
11
+ * import { sepolia, arbitrum, base } from "viem/chains";
12
+ *
13
+ * // Custom chains - import from here
14
+ * import { worldChain, unichainMainnet } from "@alchemy/common/chains";
15
+ * ```
16
+ */
17
+ import { defineChain } from "viem";
18
+ export const fraxtalSepolia = defineChain({
19
+ id: 2523,
20
+ name: "Fraxtal Sepolia",
21
+ nativeCurrency: { name: "Frax Ether", symbol: "frxETH", decimals: 18 },
22
+ rpcUrls: {
23
+ default: {
24
+ http: ["https://rpc.testnet-sepolia.frax.com"],
25
+ },
26
+ },
27
+ testnet: true,
28
+ });
29
+ export const openlootSepolia = defineChain({
30
+ id: 905905,
31
+ name: "Openloot Sepolia",
32
+ nativeCurrency: { name: "Openloot", symbol: "OL", decimals: 18 },
33
+ rpcUrls: {
34
+ default: {
35
+ http: ["https://openloot-sepolia.g.alchemy.com/v2"],
36
+ },
37
+ },
38
+ blockExplorers: {
39
+ default: {
40
+ name: "Block Explorer",
41
+ url: "https://openloot-sepolia.explorer.alchemy.com",
42
+ },
43
+ },
44
+ testnet: true,
45
+ });
46
+ export const gensynTestnet = defineChain({
47
+ id: 685685,
48
+ name: "Gensyn Testnet",
49
+ nativeCurrency: { name: "eth", symbol: "eth", decimals: 18 },
50
+ rpcUrls: {
51
+ default: {
52
+ http: ["https://gensyn-testnet.g.alchemy.com/v2"],
53
+ },
54
+ },
55
+ blockExplorers: {
56
+ default: {
57
+ name: "Block Explorer",
58
+ url: "https://gensyn-testnet.explorer.alchemy.com",
59
+ },
60
+ },
61
+ testnet: true,
62
+ });
63
+ export const riseTestnet = defineChain({
64
+ id: 11155931,
65
+ name: "Rise Testnet",
66
+ nativeCurrency: { name: "eth", symbol: "eth", decimals: 18 },
67
+ rpcUrls: {
68
+ default: {
69
+ http: ["https://rise-testnet.g.alchemy.com/v2"],
70
+ },
71
+ },
72
+ blockExplorers: {
73
+ default: {
74
+ name: "Block Explorer",
75
+ url: "https://explorer.testnet.riselabs.xyz",
76
+ },
77
+ },
78
+ testnet: true,
79
+ });
80
+ export const storyMainnet = defineChain({
81
+ id: 1514,
82
+ name: "Story Mainnet",
83
+ nativeCurrency: { name: "IP", symbol: "IP", decimals: 18 },
84
+ rpcUrls: {
85
+ default: {
86
+ http: ["https://story-mainnet.g.alchemy.com/v2"],
87
+ },
88
+ },
89
+ blockExplorers: {
90
+ default: {
91
+ name: "Block Explorer",
92
+ url: "https://www.storyscan.io",
93
+ },
94
+ },
95
+ });
96
+ export const teaSepolia = defineChain({
97
+ id: 10218,
98
+ name: "Tea Sepolia",
99
+ nativeCurrency: { name: "TEA", symbol: "TEA", decimals: 18 },
100
+ rpcUrls: {
101
+ default: {
102
+ http: ["https://tea-sepolia.g.alchemy.com/v2"],
103
+ },
104
+ },
105
+ blockExplorers: {
106
+ default: {
107
+ name: "Block Explorer",
108
+ url: "https://sepolia.tea.xyz/",
109
+ },
110
+ },
111
+ testnet: true,
112
+ });
113
+ //# sourceMappingURL=chains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chains.js","sourceRoot":"","sources":["../../src/chains.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAEnC,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;IACxC,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,iBAAiB;IACvB,cAAc,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;IACtE,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,sCAAsC,CAAC;SAC/C;KACF;IACD,OAAO,EAAE,IAAI;CACd,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;IACzC,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,kBAAkB;IACxB,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;IAChE,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,2CAA2C,CAAC;SACpD;KACF;IACD,cAAc,EAAE;QACd,OAAO,EAAE;YACP,IAAI,EAAE,gBAAgB;YACtB,GAAG,EAAE,+CAA+C;SACrD;KACF;IACD,OAAO,EAAE,IAAI;CACd,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC;IACvC,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,gBAAgB;IACtB,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5D,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,yCAAyC,CAAC;SAClD;KACF;IACD,cAAc,EAAE;QACd,OAAO,EAAE;YACP,IAAI,EAAE,gBAAgB;YACtB,GAAG,EAAE,6CAA6C;SACnD;KACF;IACD,OAAO,EAAE,IAAI;CACd,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC;IACrC,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,cAAc;IACpB,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5D,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,uCAAuC,CAAC;SAChD;KACF;IACD,cAAc,EAAE;QACd,OAAO,EAAE;YACP,IAAI,EAAE,gBAAgB;YACtB,GAAG,EAAE,uCAAuC;SAC7C;KACF;IACD,OAAO,EAAE,IAAI;CACd,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;IACtC,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,eAAe;IACrB,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC1D,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,wCAAwC,CAAC;SACjD;KACF;IACD,cAAc,EAAE;QACd,OAAO,EAAE;YACP,IAAI,EAAE,gBAAgB;YACtB,GAAG,EAAE,0BAA0B;SAChC;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CAAC;IACpC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,aAAa;IACnB,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5D,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,sCAAsC,CAAC;SAC/C;KACF;IACD,cAAc,EAAE;QACd,OAAO,EAAE;YACP,IAAI,EAAE,gBAAgB;YACtB,GAAG,EAAE,0BAA0B;SAChC;KACF;IACD,OAAO,EAAE,IAAI;CACd,CAAC,CAAC","sourcesContent":["/**\n * Custom chain definitions for Alchemy SDK.\n *\n * This module provides chain definitions for networks not yet available in viem.\n * For standard networks (Ethereum, Arbitrum, Base, etc.), import directly from \"viem/chains\".\n * All chains work automatically with alchemyTransport via the internal registry lookup.\n *\n * @example\n * ```typescript\n * // Standard chains - import from viem\n * import { sepolia, arbitrum, base } from \"viem/chains\";\n *\n * // Custom chains - import from here\n * import { worldChain, unichainMainnet } from \"@alchemy/common/chains\";\n * ```\n */\nimport { defineChain } from \"viem\";\n\nexport const fraxtalSepolia = defineChain({\n id: 2523,\n name: \"Fraxtal Sepolia\",\n nativeCurrency: { name: \"Frax Ether\", symbol: \"frxETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.testnet-sepolia.frax.com\"],\n },\n },\n testnet: true,\n});\n\nexport const openlootSepolia = defineChain({\n id: 905905,\n name: \"Openloot Sepolia\",\n nativeCurrency: { name: \"Openloot\", symbol: \"OL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://openloot-sepolia.g.alchemy.com/v2\"],\n },\n },\n blockExplorers: {\n default: {\n name: \"Block Explorer\",\n url: \"https://openloot-sepolia.explorer.alchemy.com\",\n },\n },\n testnet: true,\n});\n\nexport const gensynTestnet = defineChain({\n id: 685685,\n name: \"Gensyn Testnet\",\n nativeCurrency: { name: \"eth\", symbol: \"eth\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://gensyn-testnet.g.alchemy.com/v2\"],\n },\n },\n blockExplorers: {\n default: {\n name: \"Block Explorer\",\n url: \"https://gensyn-testnet.explorer.alchemy.com\",\n },\n },\n testnet: true,\n});\n\nexport const riseTestnet = defineChain({\n id: 11155931,\n name: \"Rise Testnet\",\n nativeCurrency: { name: \"eth\", symbol: \"eth\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rise-testnet.g.alchemy.com/v2\"],\n },\n },\n blockExplorers: {\n default: {\n name: \"Block Explorer\",\n url: \"https://explorer.testnet.riselabs.xyz\",\n },\n },\n testnet: true,\n});\n\nexport const storyMainnet = defineChain({\n id: 1514,\n name: \"Story Mainnet\",\n nativeCurrency: { name: \"IP\", symbol: \"IP\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://story-mainnet.g.alchemy.com/v2\"],\n },\n },\n blockExplorers: {\n default: {\n name: \"Block Explorer\",\n url: \"https://www.storyscan.io\",\n },\n },\n});\n\nexport const teaSepolia = defineChain({\n id: 10218,\n name: \"Tea Sepolia\",\n nativeCurrency: { name: \"TEA\", symbol: \"TEA\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://tea-sepolia.g.alchemy.com/v2\"],\n },\n },\n blockExplorers: {\n default: {\n name: \"Block Explorer\",\n url: \"https://sepolia.tea.xyz/\",\n },\n },\n testnet: true,\n});\n"]}
@@ -0,0 +1,10 @@
1
+ import { BaseError } from "./BaseError.js";
2
+ /**
3
+ * This error is thrown when an account could not be found to execute a specific action. It extends the `BaseError` class.
4
+ */
5
+ export declare class AccountNotFoundError extends BaseError {
6
+ name: string;
7
+ /**
8
+ * Constructor for initializing an error message indicating that an account could not be found to execute the specified action.
9
+ */ constructor();
10
+ }
@@ -0,0 +1,19 @@
1
+ import { BaseError } from "./BaseError.js";
2
+ /**
3
+ * This error is thrown when an account could not be found to execute a specific action. It extends the `BaseError` class.
4
+ */
5
+ export class AccountNotFoundError extends BaseError {
6
+ // TODO: extend this further using docs path as well
7
+ /**
8
+ * Constructor for initializing an error message indicating that an account could not be found to execute the specified action.
9
+ */ constructor() {
10
+ super("Could not find an Account to execute with this Action.");
11
+ Object.defineProperty(this, "name", {
12
+ enumerable: true,
13
+ configurable: true,
14
+ writable: true,
15
+ value: "AccountNotFoundError"
16
+ });
17
+ }
18
+ }
19
+ //# sourceMappingURL=AccountNotFoundError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountNotFoundError.js","sourceRoot":"","sources":["../../../src/errors/AccountNotFoundError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,SAAS;IAGjD,oDAAoD;IAEpD;;OAEG,CAAC;QACF,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAPzD;;;;mBAAO,sBAAsB;WAAC;IAQvC,CAAC;CACF","sourcesContent":["import { BaseError } from \"./BaseError.js\";\n\n/**\n * This error is thrown when an account could not be found to execute a specific action. It extends the `BaseError` class.\n */\nexport class AccountNotFoundError extends BaseError {\n override name = \"AccountNotFoundError\";\n\n // TODO: extend this further using docs path as well\n\n /**\n * Constructor for initializing an error message indicating that an account could not be found to execute the specified action.\n */ constructor() {\n super(\"Could not find an Account to execute with this Action.\");\n }\n}\n"]}
@@ -0,0 +1,23 @@
1
+ import { BaseError as ViemBaseError } from "viem";
2
+ type BaseErrorParameters = {
3
+ docsPath?: string;
4
+ docsSlug?: string;
5
+ metaMessages?: string[];
6
+ } & ({
7
+ cause?: never;
8
+ details?: string;
9
+ } | {
10
+ cause: BaseError | Error;
11
+ details?: never;
12
+ });
13
+ /**
14
+ * A custom error class that extends from `ViemBaseError`. This class allows for error messages to include links to relevant documentation based on provided `docsPath` and `docsSlug` parameters.
15
+ * This is based on on viem's BaseError type (obviously from the import and extend)
16
+ * we want the errors here to point to our docs if we supply a docsPath though
17
+ */
18
+ export declare class BaseError extends ViemBaseError {
19
+ name: string;
20
+ version: string;
21
+ constructor(shortMessage: string, args?: BaseErrorParameters);
22
+ }
23
+ export {};
@@ -0,0 +1,40 @@
1
+ import { BaseError as ViemBaseError } from "viem";
2
+ import { VERSION } from "../version.js";
3
+ /**
4
+ * A custom error class that extends from `ViemBaseError`. This class allows for error messages to include links to relevant documentation based on provided `docsPath` and `docsSlug` parameters.
5
+ * This is based on on viem's BaseError type (obviously from the import and extend)
6
+ * we want the errors here to point to our docs if we supply a docsPath though
7
+ */
8
+ export class BaseError extends ViemBaseError {
9
+ constructor(shortMessage, args = {}) {
10
+ super(shortMessage, args);
11
+ Object.defineProperty(this, "name", {
12
+ enumerable: true,
13
+ configurable: true,
14
+ writable: true,
15
+ value: "AlchemySDKError"
16
+ });
17
+ Object.defineProperty(this, "version", {
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true,
21
+ value: VERSION
22
+ });
23
+ const docsPath = args.cause instanceof BaseError
24
+ ? args.cause.docsPath || args.docsPath
25
+ : args.docsPath;
26
+ this.message = [
27
+ shortMessage || "An error occurred.",
28
+ "",
29
+ ...(args.metaMessages ? [...args.metaMessages, ""] : []),
30
+ ...(docsPath
31
+ ? [
32
+ `Docs: https://www.alchemy.com/docs/wallets${docsPath}${args.docsSlug ? `#${args.docsSlug}` : ""}`,
33
+ ]
34
+ : []),
35
+ ...(this.details ? [`Details: ${this.details}`] : []),
36
+ `Version: ${this.version}`,
37
+ ].join("\n");
38
+ }
39
+ }
40
+ //# sourceMappingURL=BaseError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseError.js","sourceRoot":"","sources":["../../../src/errors/BaseError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAiBxC;;;;GAIG;AACH,MAAM,OAAO,SAAU,SAAQ,aAAa;IAI1C,YAAY,YAAoB,EAAE,OAA4B,EAAE;QAC9D,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAJnB;;;;mBAAO,iBAAiB;WAAC;QACzB;;;;mBAAU,OAAO;WAAC;QAKzB,MAAM,QAAQ,GACZ,IAAI,CAAC,KAAK,YAAY,SAAS;YAC7B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;YACtC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAEpB,IAAI,CAAC,OAAO,GAAG;YACb,YAAY,IAAI,oBAAoB;YACpC,EAAE;YACF,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,QAAQ;gBACV,CAAC,CAAC;oBACE,6CAA6C,QAAQ,GACnD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EACxC,EAAE;iBACH;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,YAAY,IAAI,CAAC,OAAO,EAAE;SAC3B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;CACF","sourcesContent":["import { BaseError as ViemBaseError } from \"viem\";\nimport { VERSION } from \"../version.js\";\n\ntype BaseErrorParameters = {\n docsPath?: string;\n docsSlug?: string;\n metaMessages?: string[];\n} & (\n | {\n cause?: never;\n details?: string;\n }\n | {\n cause: BaseError | Error;\n details?: never;\n }\n);\n\n/**\n * A custom error class that extends from `ViemBaseError`. This class allows for error messages to include links to relevant documentation based on provided `docsPath` and `docsSlug` parameters.\n * This is based on on viem's BaseError type (obviously from the import and extend)\n * we want the errors here to point to our docs if we supply a docsPath though\n */\nexport class BaseError extends ViemBaseError {\n override name = \"AlchemySDKError\";\n override version = VERSION;\n\n constructor(shortMessage: string, args: BaseErrorParameters = {}) {\n super(shortMessage, args);\n\n const docsPath =\n args.cause instanceof BaseError\n ? args.cause.docsPath || args.docsPath\n : args.docsPath;\n\n this.message = [\n shortMessage || \"An error occurred.\",\n \"\",\n ...(args.metaMessages ? [...args.metaMessages, \"\"] : []),\n ...(docsPath\n ? [\n `Docs: https://www.alchemy.com/docs/wallets${docsPath}${\n args.docsSlug ? `#${args.docsSlug}` : \"\"\n }`,\n ]\n : []),\n ...(this.details ? [`Details: ${this.details}`] : []),\n `Version: ${this.version}`,\n ].join(\"\\n\");\n }\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import { BaseError } from "./BaseError.js";
2
+ /**
3
+ * Error class representing a "Chain Not Found" error, typically thrown when no chain is supplied to the client.
4
+ */
5
+ export declare class ChainNotFoundError extends BaseError {
6
+ name: string;
7
+ /**
8
+ * Initializes a new instance of the error message with a default message indicating that no chain was supplied to the client.
9
+ */
10
+ constructor();
11
+ }
@@ -0,0 +1,19 @@
1
+ import { BaseError } from "./BaseError.js";
2
+ /**
3
+ * Error class representing a "Chain Not Found" error, typically thrown when no chain is supplied to the client.
4
+ */
5
+ export class ChainNotFoundError extends BaseError {
6
+ /**
7
+ * Initializes a new instance of the error message with a default message indicating that no chain was supplied to the client.
8
+ */
9
+ constructor() {
10
+ super("No chain supplied to the client");
11
+ Object.defineProperty(this, "name", {
12
+ enumerable: true,
13
+ configurable: true,
14
+ writable: true,
15
+ value: "ChainNotFoundError"
16
+ });
17
+ }
18
+ }
19
+ //# sourceMappingURL=ChainNotFoundError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainNotFoundError.js","sourceRoot":"","sources":["../../../src/errors/ChainNotFoundError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAG/C;;OAEG;IACH;QACE,KAAK,CAAC,iCAAiC,CAAC,CAAC;QANlC;;;;mBAAO,oBAAoB;WAAC;IAOrC,CAAC;CACF","sourcesContent":["import { BaseError } from \"./BaseError.js\";\n\n/**\n * Error class representing a \"Chain Not Found\" error, typically thrown when no chain is supplied to the client.\n */\nexport class ChainNotFoundError extends BaseError {\n override name = \"ChainNotFoundError\";\n\n /**\n * Initializes a new instance of the error message with a default message indicating that no chain was supplied to the client.\n */\n constructor() {\n super(\"No chain supplied to the client\");\n }\n}\n"]}
@@ -0,0 +1,13 @@
1
+ import { BaseError } from "./BaseError.js";
2
+ /**
3
+ * Error class for connection configuration validation failures.
4
+ */
5
+ export declare class ConnectionConfigError extends BaseError {
6
+ name: string;
7
+ /**
8
+ * Creates a new ConnectionConfigError with details about the validation failure.
9
+ *
10
+ * @param {string} [details] Optional details about the specific validation failure
11
+ */
12
+ constructor(details?: string);
13
+ }
@@ -0,0 +1,25 @@
1
+ import { BaseError } from "./BaseError.js";
2
+ /**
3
+ * Error class for connection configuration validation failures.
4
+ */
5
+ export class ConnectionConfigError extends BaseError {
6
+ // TODO: extend this further using docs path as well for debugging connection-related problems
7
+ /**
8
+ * Creates a new ConnectionConfigError with details about the validation failure.
9
+ *
10
+ * @param {string} [details] Optional details about the specific validation failure
11
+ */
12
+ constructor(details) {
13
+ const message = details
14
+ ? `Invalid Alchemy connection configuration: ${details}`
15
+ : "Invalid Alchemy connection configuration";
16
+ super(message);
17
+ Object.defineProperty(this, "name", {
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true,
21
+ value: "ConnectionConfigError"
22
+ });
23
+ }
24
+ }
25
+ //# sourceMappingURL=ConnectionConfigError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnectionConfigError.js","sourceRoot":"","sources":["../../../src/errors/ConnectionConfigError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,SAAS;IAGlD,8FAA8F;IAE9F;;;;OAIG;IACH,YAAY,OAAgB;QAC1B,MAAM,OAAO,GAAG,OAAO;YACrB,CAAC,CAAC,6CAA6C,OAAO,EAAE;YACxD,CAAC,CAAC,0CAA0C,CAAC;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QAbR;;;;mBAAO,uBAAuB;WAAC;IAcxC,CAAC;CACF","sourcesContent":["import { BaseError } from \"./BaseError.js\";\n\n/**\n * Error class for connection configuration validation failures.\n */\nexport class ConnectionConfigError extends BaseError {\n override name = \"ConnectionConfigError\";\n\n // TODO: extend this further using docs path as well for debugging connection-related problems\n\n /**\n * Creates a new ConnectionConfigError with details about the validation failure.\n *\n * @param {string} [details] Optional details about the specific validation failure\n */\n constructor(details?: string) {\n const message = details\n ? `Invalid Alchemy connection configuration: ${details}`\n : \"Invalid Alchemy connection configuration\";\n super(message);\n }\n}\n"]}
@@ -0,0 +1,15 @@
1
+ import { BaseError } from "./BaseError.js";
2
+ /**
3
+ * Error class representing a "Fetch Error" error, typically thrown when a fetch request fails.
4
+ */
5
+ export declare class FetchError extends BaseError {
6
+ name: string;
7
+ /**
8
+ * Initializes a new instance of the error message with a default message indicating that no chain was supplied to the client.
9
+ *
10
+ * @param {string} route - The route that failed to fetch.
11
+ * @param {string} method - The HTTP method that was used.
12
+ * @param {Error} cause - The cause of the error.
13
+ */
14
+ constructor(route: string, method: string, cause?: Error);
15
+ }