@account-kit/infra 4.0.0-alpha.1 → 4.0.0-alpha.3

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 (57) hide show
  1. package/dist/cjs/chains.d.ts +19 -0
  2. package/dist/cjs/chains.js +166 -1
  3. package/dist/cjs/chains.js.map +1 -1
  4. package/dist/cjs/client/decorators/alchemyEnhancedApis.d.ts +128 -128
  5. package/dist/cjs/client/isAlchemySmartAccountClient.d.ts +128 -128
  6. package/dist/cjs/client/rpcClient.js.map +1 -1
  7. package/dist/cjs/defaults.js +7 -7
  8. package/dist/cjs/defaults.js.map +1 -1
  9. package/dist/cjs/gas-manager.js +16 -16
  10. package/dist/cjs/gas-manager.js.map +1 -1
  11. package/dist/cjs/index.d.ts +1 -1
  12. package/dist/cjs/index.js +20 -1
  13. package/dist/cjs/index.js.map +1 -1
  14. package/dist/cjs/schema.js +3 -10
  15. package/dist/cjs/schema.js.map +1 -1
  16. package/dist/cjs/version.d.ts +1 -1
  17. package/dist/cjs/version.js +1 -1
  18. package/dist/cjs/version.js.map +1 -1
  19. package/dist/esm/chains.d.ts +19 -0
  20. package/dist/esm/chains.js +165 -0
  21. package/dist/esm/chains.js.map +1 -1
  22. package/dist/esm/client/decorators/alchemyEnhancedApis.d.ts +128 -128
  23. package/dist/esm/client/isAlchemySmartAccountClient.d.ts +128 -128
  24. package/dist/esm/client/rpcClient.js.map +1 -1
  25. package/dist/esm/defaults.js +2 -1
  26. package/dist/esm/defaults.js.map +1 -1
  27. package/dist/esm/gas-manager.js +1 -1
  28. package/dist/esm/gas-manager.js.map +1 -1
  29. package/dist/esm/index.d.ts +1 -1
  30. package/dist/esm/index.js +1 -1
  31. package/dist/esm/index.js.map +1 -1
  32. package/dist/esm/schema.js +4 -11
  33. package/dist/esm/schema.js.map +1 -1
  34. package/dist/esm/version.d.ts +1 -1
  35. package/dist/esm/version.js +1 -1
  36. package/dist/esm/version.js.map +1 -1
  37. package/dist/types/chains.d.ts +19 -0
  38. package/dist/types/chains.d.ts.map +1 -1
  39. package/dist/types/client/decorators/alchemyEnhancedApis.d.ts +128 -128
  40. package/dist/types/client/isAlchemySmartAccountClient.d.ts +128 -128
  41. package/dist/types/client/rpcClient.d.ts +1 -1
  42. package/dist/types/defaults.d.ts +1 -1
  43. package/dist/types/defaults.d.ts.map +1 -1
  44. package/dist/types/gas-manager.d.ts +1 -1
  45. package/dist/types/gas-manager.d.ts.map +1 -1
  46. package/dist/types/index.d.ts +1 -1
  47. package/dist/types/index.d.ts.map +1 -1
  48. package/dist/types/schema.d.ts.map +1 -1
  49. package/dist/types/version.d.ts +1 -1
  50. package/package.json +3 -3
  51. package/src/chains.ts +195 -0
  52. package/src/client/rpcClient.ts +1 -1
  53. package/src/defaults.ts +4 -4
  54. package/src/gas-manager.ts +3 -3
  55. package/src/index.ts +22 -1
  56. package/src/schema.ts +3 -11
  57. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"rpcClient.js","sourceRoot":"","sources":["../../../src/client/rpcClient.ts"],"names":[],"mappings":";;;AAAA,uCAIsB;AACtB,+BAAkE;AAClE,4CAAkD;AAClD,8CAAwC;AAyBjC,MAAM,4BAA4B,GAAG,CAAC,EAC3C,KAAK,EAAE,MAAM,EACb,gBAAgB,EAChB,YAAY,GAAG,EAAE,GAKlB,EAA4B,EAAE;IAC7B,MAAM,KAAK,GAAG,8BAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE/C,MAAM,MAAM,GACV,gBAAgB,CAAC,MAAM,IAAI,IAAI;QAC7B,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,MAAM,IAAI,EAAE,EAAE;QACrE,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC;IAE9B,YAAY,CAAC,OAAO,GAAG;QACrB,GAAG,YAAY,CAAC,OAAO;QACvB,wBAAwB,EAAE,oBAAO;KAClC,CAAC;IAEF,IAAI,gBAAgB,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACjC,YAAY,CAAC,OAAO,GAAG;YACrB,GAAG,YAAY,CAAC,OAAO;YACvB,aAAa,EAAE,UAAU,gBAAgB,CAAC,GAAG,EAAE;SAChD,CAAC;IACJ,CAAC;IAED,OAAO,IAAA,0BAAmB,EAAC;QACzB,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,IAAA,WAAI,EAAC,MAAM,EAAE,EAAE,YAAY,EAAE,CAAC;KAC1C,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACf,aAAa,CAAC,UAAuB;YACnC,YAAY,CAAC,OAAO,GAAG;gBACrB,GAAG,YAAY,CAAC,OAAO;gBACvB,GAAG,UAAU;aACd,CAAC;QACJ,CAAC;KACF,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AAvCW,QAAA,4BAA4B,gCAuCvC","sourcesContent":["import {\n createBundlerClient,\n type ConnectionConfig,\n type NoUndefined,\n} from \"@aa-sdk/core\";\nimport { http, type Chain, type HttpTransportConfig } from \"viem\";\nimport { AlchemyChainSchema } from \"../schema.js\";\nimport { VERSION } from \"../version.js\";\nimport type { ClientWithAlchemyMethods } from \"./types.js\";\n\n/**\n * Creates an Alchemy public RPC client with the provided chain, connection configuration, and optional fetch options. The client has alchemy methods and can dynamically update HTTP headers.\n *\n * @example\n * ```ts\n * import { createAlchemyPublicRpcClient } from \"@account-kit/infra\";\n * import { sepolia } from \"@account-kit/infra/chains\";\n *\n * const client = createAlchemyPublicRpcClient({\n * chain: sepolia,\n * connectionConfig: {\n * apiKey: \"your-api-key\",\n * }\n * });\n * ```\n *\n * @param {{connectionConfig: ConnectionConfig,chain: Chain,fetchOptions?: NoUndefined<HttpTransportConfig[\"fetchOptions\"]>}} params The parameters for creating the Alchemy public RPC client\n * @param {ConnectionConfig} params.connectionConfig The connection configuration containing the RPC URL and API key\n * @param {Chain} params.chain The blockchain chain configuration\n * @param {NoUndefined<HttpTransportConfig[\"fetchOptions\"]>} [params.fetchOptions] Optional fetch configuration for HTTP transport\n * @returns {ClientWithAlchemyMethods} A client object tailored with Alchemy methods and capabilities to interact with the blockchain\n */\nexport const createAlchemyPublicRpcClient = ({\n chain: chain_,\n connectionConfig,\n fetchOptions = {},\n}: {\n connectionConfig: ConnectionConfig;\n chain: Chain;\n fetchOptions?: NoUndefined<HttpTransportConfig[\"fetchOptions\"]>;\n}): ClientWithAlchemyMethods => {\n const chain = AlchemyChainSchema.parse(chain_);\n\n const rpcUrl =\n connectionConfig.rpcUrl == null\n ? `${chain.rpcUrls.alchemy.http[0]}/${connectionConfig.apiKey ?? \"\"}`\n : connectionConfig.rpcUrl;\n\n fetchOptions.headers = {\n ...fetchOptions.headers,\n \"Alchemy-AA-Sdk-Version\": VERSION,\n };\n\n if (connectionConfig.jwt != null) {\n fetchOptions.headers = {\n ...fetchOptions.headers,\n Authorization: `Bearer ${connectionConfig.jwt}`,\n };\n }\n\n return createBundlerClient({\n chain: chain,\n transport: http(rpcUrl, { fetchOptions }),\n }).extend(() => ({\n updateHeaders(newHeaders: HeadersInit) {\n fetchOptions.headers = {\n ...fetchOptions.headers,\n ...newHeaders,\n };\n },\n }));\n};\n"]}
1
+ {"version":3,"file":"rpcClient.js","sourceRoot":"","sources":["../../../src/client/rpcClient.ts"],"names":[],"mappings":";;;AAAA,uCAIsB;AACtB,+BAAkE;AAClE,4CAAkD;AAClD,8CAAwC;AAyBjC,MAAM,4BAA4B,GAAG,CAAC,EAC3C,KAAK,EAAE,MAAM,EACb,gBAAgB,EAChB,YAAY,GAAG,EAAE,GAKlB,EAA4B,EAAE;IAC7B,MAAM,KAAK,GAAG,8BAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE/C,MAAM,MAAM,GACV,gBAAgB,CAAC,MAAM,IAAI,IAAI;QAC7B,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,MAAM,IAAI,EAAE,EAAE;QACrE,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC;IAE9B,YAAY,CAAC,OAAO,GAAG;QACrB,GAAG,YAAY,CAAC,OAAO;QACvB,wBAAwB,EAAE,oBAAO;KAClC,CAAC;IAEF,IAAI,gBAAgB,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACjC,YAAY,CAAC,OAAO,GAAG;YACrB,GAAG,YAAY,CAAC,OAAO;YACvB,aAAa,EAAE,UAAU,gBAAgB,CAAC,GAAG,EAAE;SAChD,CAAC;IACJ,CAAC;IAED,OAAO,IAAA,0BAAmB,EAAC;QACzB,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,IAAA,WAAI,EAAC,MAAM,EAAE,EAAE,YAAY,EAAE,CAAC;KAC1C,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACf,aAAa,CAAC,UAAuB;YACnC,YAAY,CAAC,OAAO,GAAG;gBACrB,GAAG,YAAY,CAAC,OAAO;gBACvB,GAAG,UAAU;aACd,CAAC;QACJ,CAAC;KACF,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AAvCW,QAAA,4BAA4B,gCAuCvC","sourcesContent":["import {\n createBundlerClient,\n type ConnectionConfig,\n type NoUndefined,\n} from \"@aa-sdk/core\";\nimport { http, type Chain, type HttpTransportConfig } from \"viem\";\nimport { AlchemyChainSchema } from \"../schema.js\";\nimport { VERSION } from \"../version.js\";\nimport type { ClientWithAlchemyMethods } from \"./types.js\";\n\n/**\n * Creates an Alchemy public RPC client with the provided chain, connection configuration, and optional fetch options. The client has alchemy methods and can dynamically update HTTP headers.\n *\n * @example\n * ```ts\n * import { createAlchemyPublicRpcClient } from \"@account-kit/infra\";\n * import { sepolia } from \"@account-kit/infra\";\n *\n * const client = createAlchemyPublicRpcClient({\n * chain: sepolia,\n * connectionConfig: {\n * apiKey: \"your-api-key\",\n * }\n * });\n * ```\n *\n * @param {{connectionConfig: ConnectionConfig,chain: Chain,fetchOptions?: NoUndefined<HttpTransportConfig[\"fetchOptions\"]>}} params The parameters for creating the Alchemy public RPC client\n * @param {ConnectionConfig} params.connectionConfig The connection configuration containing the RPC URL and API key\n * @param {Chain} params.chain The blockchain chain configuration\n * @param {NoUndefined<HttpTransportConfig[\"fetchOptions\"]>} [params.fetchOptions] Optional fetch configuration for HTTP transport\n * @returns {ClientWithAlchemyMethods} A client object tailored with Alchemy methods and capabilities to interact with the blockchain\n */\nexport const createAlchemyPublicRpcClient = ({\n chain: chain_,\n connectionConfig,\n fetchOptions = {},\n}: {\n connectionConfig: ConnectionConfig;\n chain: Chain;\n fetchOptions?: NoUndefined<HttpTransportConfig[\"fetchOptions\"]>;\n}): ClientWithAlchemyMethods => {\n const chain = AlchemyChainSchema.parse(chain_);\n\n const rpcUrl =\n connectionConfig.rpcUrl == null\n ? `${chain.rpcUrls.alchemy.http[0]}/${connectionConfig.apiKey ?? \"\"}`\n : connectionConfig.rpcUrl;\n\n fetchOptions.headers = {\n ...fetchOptions.headers,\n \"Alchemy-AA-Sdk-Version\": VERSION,\n };\n\n if (connectionConfig.jwt != null) {\n fetchOptions.headers = {\n ...fetchOptions.headers,\n Authorization: `Bearer ${connectionConfig.jwt}`,\n };\n }\n\n return createBundlerClient({\n chain: chain,\n transport: http(rpcUrl, { fetchOptions }),\n }).extend(() => ({\n updateHeaders(newHeaders: HeadersInit) {\n fetchOptions.headers = {\n ...fetchOptions.headers,\n ...newHeaders,\n };\n },\n }));\n};\n"]}
@@ -1,19 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getDefaultUserOperationFeeOptions = void 0;
4
- const core_1 = require("@aa-sdk/core");
4
+ const chains_js_1 = require("./chains.js");
5
5
  const getDefaultUserOperationFeeOptions = (chain) => {
6
6
  const feeOptions = {
7
7
  maxFeePerGas: { multiplier: 1.5 },
8
8
  maxPriorityFeePerGas: { multiplier: 1.05 },
9
9
  };
10
10
  if (new Set([
11
- core_1.arbitrum.id,
12
- core_1.arbitrumGoerli.id,
13
- core_1.arbitrumSepolia.id,
14
- core_1.optimism.id,
15
- core_1.optimismGoerli.id,
16
- core_1.optimismSepolia.id,
11
+ chains_js_1.arbitrum.id,
12
+ chains_js_1.arbitrumGoerli.id,
13
+ chains_js_1.arbitrumSepolia.id,
14
+ chains_js_1.optimism.id,
15
+ chains_js_1.optimismGoerli.id,
16
+ chains_js_1.optimismSepolia.id,
17
17
  ]).has(chain.id)) {
18
18
  feeOptions.preVerificationGas = { multiplier: 1.05 };
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/defaults.ts"],"names":[],"mappings":";;;AAAA,uCAQsB;AAiBf,MAAM,iCAAiC,GAAG,CAC/C,KAAY,EACa,EAAE;IAC3B,MAAM,UAAU,GAA4B;QAC1C,YAAY,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE;QACjC,oBAAoB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;KAC3C,CAAC;IAEF,IACE,IAAI,GAAG,CAAS;QACd,eAAQ,CAAC,EAAE;QACX,qBAAc,CAAC,EAAE;QACjB,sBAAe,CAAC,EAAE;QAClB,eAAQ,CAAC,EAAE;QACX,qBAAc,CAAC,EAAE;QACjB,sBAAe,CAAC,EAAE;KACnB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAChB,CAAC;QACD,UAAU,CAAC,kBAAkB,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACvD,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAtBW,QAAA,iCAAiC,qCAsB5C","sourcesContent":["import {\n arbitrum,\n arbitrumGoerli,\n arbitrumSepolia,\n optimism,\n optimismGoerli,\n optimismSepolia,\n type UserOperationFeeOptions,\n} from \"@aa-sdk/core\";\nimport type { Chain } from \"viem\";\n\n/**\n * Retrieves the default user operation fee options for a given chain. Adjusts fees for specific chains like Arbitrum and Optimism.\n *\n * @example\n * ```ts\n * import { getDefaultUserOperationFeeOptions } from \"@account-kit/infra\";\n * import { arbitrum } from \"@account-kit/infra/chains\";\n *\n * const feeOpts = getDefaultUserOperationFeeOptions(arbitrum);\n * ```\n *\n * @param {Chain} chain The blockchain chain for which to get the fee options\n * @returns {UserOperationFeeOptions} An object containing the default fee options for user operations on the specified chain\n */\nexport const getDefaultUserOperationFeeOptions = (\n chain: Chain\n): UserOperationFeeOptions => {\n const feeOptions: UserOperationFeeOptions = {\n maxFeePerGas: { multiplier: 1.5 },\n maxPriorityFeePerGas: { multiplier: 1.05 },\n };\n\n if (\n new Set<number>([\n arbitrum.id,\n arbitrumGoerli.id,\n arbitrumSepolia.id,\n optimism.id,\n optimismGoerli.id,\n optimismSepolia.id,\n ]).has(chain.id)\n ) {\n feeOptions.preVerificationGas = { multiplier: 1.05 };\n }\n\n return feeOptions;\n};\n"]}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/defaults.ts"],"names":[],"mappings":";;;AAEA,2CAOqB;AAgBd,MAAM,iCAAiC,GAAG,CAC/C,KAAY,EACa,EAAE;IAC3B,MAAM,UAAU,GAA4B;QAC1C,YAAY,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE;QACjC,oBAAoB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;KAC3C,CAAC;IAEF,IACE,IAAI,GAAG,CAAS;QACd,oBAAQ,CAAC,EAAE;QACX,0BAAc,CAAC,EAAE;QACjB,2BAAe,CAAC,EAAE;QAClB,oBAAQ,CAAC,EAAE;QACX,0BAAc,CAAC,EAAE;QACjB,2BAAe,CAAC,EAAE;KACnB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAChB,CAAC;QACD,UAAU,CAAC,kBAAkB,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACvD,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAtBW,QAAA,iCAAiC,qCAsB5C","sourcesContent":["import { type UserOperationFeeOptions } from \"@aa-sdk/core\";\nimport type { Chain } from \"viem\";\nimport {\n arbitrum,\n arbitrumGoerli,\n arbitrumSepolia,\n optimism,\n optimismGoerli,\n optimismSepolia,\n} from \"./chains.js\";\n\n/**\n * Retrieves the default user operation fee options for a given chain. Adjusts fees for specific chains like Arbitrum and Optimism.\n *\n * @example\n * ```ts\n * import { getDefaultUserOperationFeeOptions } from \"@account-kit/infra\";\n * import { arbitrum } from \"@account-kit/infra\";\n *\n * const feeOpts = getDefaultUserOperationFeeOptions(arbitrum);\n * ```\n *\n * @param {Chain} chain The blockchain chain for which to get the fee options\n * @returns {UserOperationFeeOptions} An object containing the default fee options for user operations on the specified chain\n */\nexport const getDefaultUserOperationFeeOptions = (\n chain: Chain\n): UserOperationFeeOptions => {\n const feeOptions: UserOperationFeeOptions = {\n maxFeePerGas: { multiplier: 1.5 },\n maxPriorityFeePerGas: { multiplier: 1.05 },\n };\n\n if (\n new Set<number>([\n arbitrum.id,\n arbitrumGoerli.id,\n arbitrumSepolia.id,\n optimism.id,\n optimismGoerli.id,\n optimismSepolia.id,\n ]).has(chain.id)\n ) {\n feeOptions.preVerificationGas = { multiplier: 1.05 };\n }\n\n return feeOptions;\n};\n"]}
@@ -1,31 +1,31 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getAlchemyPaymasterAddress = exports.AlchemyPaymasterAddressV1 = exports.ArbSepoliaPaymasterAddress = exports.AlchemyPaymasterAddressV2 = exports.AlchemyPaymasterAddressV3 = void 0;
4
- const core_1 = require("@aa-sdk/core");
4
+ const chains_js_1 = require("./chains.js");
5
5
  exports.AlchemyPaymasterAddressV3 = "0x4f84a207A80c39E9e8BaE717c1F25bA7AD1fB08F";
6
6
  exports.AlchemyPaymasterAddressV2 = "0x4Fd9098af9ddcB41DA48A1d78F91F1398965addc";
7
7
  exports.ArbSepoliaPaymasterAddress = "0x0804Afe6EEFb73ce7F93CD0d5e7079a5a8068592";
8
8
  exports.AlchemyPaymasterAddressV1 = "0xc03aac639bb21233e0139381970328db8bceeb67";
9
9
  const getAlchemyPaymasterAddress = (chain) => {
10
10
  switch (chain.id) {
11
- case core_1.polygonAmoy.id:
12
- case core_1.optimismSepolia.id:
13
- case core_1.baseSepolia.id:
14
- case core_1.zora.id:
15
- case core_1.zoraSepolia.id:
16
- case core_1.fraxtal.id:
17
- case core_1.fraxtalSepolia.id:
11
+ case chains_js_1.polygonAmoy.id:
12
+ case chains_js_1.optimismSepolia.id:
13
+ case chains_js_1.baseSepolia.id:
14
+ case chains_js_1.zora.id:
15
+ case chains_js_1.zoraSepolia.id:
16
+ case chains_js_1.fraxtal.id:
17
+ case chains_js_1.fraxtalSepolia.id:
18
18
  return exports.AlchemyPaymasterAddressV3;
19
- case core_1.mainnet.id:
20
- case core_1.arbitrum.id:
21
- case core_1.optimism.id:
22
- case core_1.polygon.id:
23
- case core_1.base.id:
19
+ case chains_js_1.mainnet.id:
20
+ case chains_js_1.arbitrum.id:
21
+ case chains_js_1.optimism.id:
22
+ case chains_js_1.polygon.id:
23
+ case chains_js_1.base.id:
24
24
  return exports.AlchemyPaymasterAddressV2;
25
- case core_1.arbitrumSepolia.id:
25
+ case chains_js_1.arbitrumSepolia.id:
26
26
  return exports.ArbSepoliaPaymasterAddress;
27
- case core_1.sepolia.id:
28
- case core_1.polygonMumbai.id:
27
+ case chains_js_1.sepolia.id:
28
+ case chains_js_1.polygonMumbai.id:
29
29
  return exports.AlchemyPaymasterAddressV1;
30
30
  default:
31
31
  throw new Error(`Unsupported chain: ${chain}`);
@@ -1 +1 @@
1
- {"version":3,"file":"gas-manager.js","sourceRoot":"","sources":["../../src/gas-manager.ts"],"names":[],"mappings":";;;AAAA,uCAgBsB;AAGT,QAAA,yBAAyB,GACpC,4CAA4C,CAAC;AAClC,QAAA,yBAAyB,GACpC,4CAA4C,CAAC;AAClC,QAAA,0BAA0B,GACrC,4CAA4C,CAAC;AAClC,QAAA,yBAAyB,GACpC,4CAA4C,CAAC;AAexC,MAAM,0BAA0B,GAAG,CAAC,KAAY,EAAW,EAAE;IAClE,QAAQ,KAAK,CAAC,EAAE,EAAE,CAAC;QACjB,KAAK,kBAAW,CAAC,EAAE,CAAC;QACpB,KAAK,sBAAe,CAAC,EAAE,CAAC;QACxB,KAAK,kBAAW,CAAC,EAAE,CAAC;QACpB,KAAK,WAAI,CAAC,EAAE,CAAC;QACb,KAAK,kBAAW,CAAC,EAAE,CAAC;QACpB,KAAK,cAAO,CAAC,EAAE,CAAC;QAChB,KAAK,qBAAc,CAAC,EAAE;YACpB,OAAO,iCAAyB,CAAC;QACnC,KAAK,cAAO,CAAC,EAAE,CAAC;QAChB,KAAK,eAAQ,CAAC,EAAE,CAAC;QACjB,KAAK,eAAQ,CAAC,EAAE,CAAC;QACjB,KAAK,cAAO,CAAC,EAAE,CAAC;QAChB,KAAK,WAAI,CAAC,EAAE;YACV,OAAO,iCAAyB,CAAC;QACnC,KAAK,sBAAe,CAAC,EAAE;YACrB,OAAO,kCAA0B,CAAC;QACpC,KAAK,cAAO,CAAC,EAAE,CAAC;QAChB,KAAK,oBAAa,CAAC,EAAE;YACnB,OAAO,iCAAyB,CAAC;QACnC;YACE,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC,CAAC;AAxBW,QAAA,0BAA0B,8BAwBrC","sourcesContent":["import {\n arbitrum,\n arbitrumSepolia,\n base,\n baseSepolia,\n fraxtal,\n fraxtalSepolia,\n mainnet,\n optimism,\n optimismSepolia,\n polygon,\n polygonAmoy,\n polygonMumbai,\n sepolia,\n zora,\n zoraSepolia,\n} from \"@aa-sdk/core\";\nimport type { Address, Chain } from \"viem\";\n\nexport const AlchemyPaymasterAddressV3 =\n \"0x4f84a207A80c39E9e8BaE717c1F25bA7AD1fB08F\";\nexport const AlchemyPaymasterAddressV2 =\n \"0x4Fd9098af9ddcB41DA48A1d78F91F1398965addc\";\nexport const ArbSepoliaPaymasterAddress =\n \"0x0804Afe6EEFb73ce7F93CD0d5e7079a5a8068592\";\nexport const AlchemyPaymasterAddressV1 =\n \"0xc03aac639bb21233e0139381970328db8bceeb67\";\n\n/**\n * Retrieves the Alchemy paymaster address for the given chain. Returns different addresses based on the chain ID.\n *\n * @example\n * ```ts\n * import { sepolia, getAlchemyPaymasterAddress } from \"@account-kit/infra/chains\";\n *\n * const paymasterAddress = getAlchemyPaymasterAddress(sepolia);\n * ```\n *\n * @param {Chain} chain The chain for which the paymaster address is required\n * @returns {Address} The Alchemy paymaster address corresponding to the specified chain\n */\nexport const getAlchemyPaymasterAddress = (chain: Chain): Address => {\n switch (chain.id) {\n case polygonAmoy.id:\n case optimismSepolia.id:\n case baseSepolia.id:\n case zora.id:\n case zoraSepolia.id:\n case fraxtal.id:\n case fraxtalSepolia.id:\n return AlchemyPaymasterAddressV3;\n case mainnet.id:\n case arbitrum.id:\n case optimism.id:\n case polygon.id:\n case base.id:\n return AlchemyPaymasterAddressV2;\n case arbitrumSepolia.id:\n return ArbSepoliaPaymasterAddress;\n case sepolia.id:\n case polygonMumbai.id:\n return AlchemyPaymasterAddressV1;\n default:\n throw new Error(`Unsupported chain: ${chain}`);\n }\n};\n"]}
1
+ {"version":3,"file":"gas-manager.js","sourceRoot":"","sources":["../../src/gas-manager.ts"],"names":[],"mappings":";;;AACA,2CAgBqB;AAER,QAAA,yBAAyB,GACpC,4CAA4C,CAAC;AAClC,QAAA,yBAAyB,GACpC,4CAA4C,CAAC;AAClC,QAAA,0BAA0B,GACrC,4CAA4C,CAAC;AAClC,QAAA,yBAAyB,GACpC,4CAA4C,CAAC;AAexC,MAAM,0BAA0B,GAAG,CAAC,KAAY,EAAW,EAAE;IAClE,QAAQ,KAAK,CAAC,EAAE,EAAE,CAAC;QACjB,KAAK,uBAAW,CAAC,EAAE,CAAC;QACpB,KAAK,2BAAe,CAAC,EAAE,CAAC;QACxB,KAAK,uBAAW,CAAC,EAAE,CAAC;QACpB,KAAK,gBAAI,CAAC,EAAE,CAAC;QACb,KAAK,uBAAW,CAAC,EAAE,CAAC;QACpB,KAAK,mBAAO,CAAC,EAAE,CAAC;QAChB,KAAK,0BAAc,CAAC,EAAE;YACpB,OAAO,iCAAyB,CAAC;QACnC,KAAK,mBAAO,CAAC,EAAE,CAAC;QAChB,KAAK,oBAAQ,CAAC,EAAE,CAAC;QACjB,KAAK,oBAAQ,CAAC,EAAE,CAAC;QACjB,KAAK,mBAAO,CAAC,EAAE,CAAC;QAChB,KAAK,gBAAI,CAAC,EAAE;YACV,OAAO,iCAAyB,CAAC;QACnC,KAAK,2BAAe,CAAC,EAAE;YACrB,OAAO,kCAA0B,CAAC;QACpC,KAAK,mBAAO,CAAC,EAAE,CAAC;QAChB,KAAK,yBAAa,CAAC,EAAE;YACnB,OAAO,iCAAyB,CAAC;QACnC;YACE,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC,CAAC;AAxBW,QAAA,0BAA0B,8BAwBrC","sourcesContent":["import type { Address, Chain } from \"viem\";\nimport {\n arbitrum,\n arbitrumSepolia,\n base,\n baseSepolia,\n fraxtal,\n fraxtalSepolia,\n mainnet,\n optimism,\n optimismSepolia,\n polygon,\n polygonAmoy,\n polygonMumbai,\n sepolia,\n zora,\n zoraSepolia,\n} from \"./chains.js\";\n\nexport const AlchemyPaymasterAddressV3 =\n \"0x4f84a207A80c39E9e8BaE717c1F25bA7AD1fB08F\";\nexport const AlchemyPaymasterAddressV2 =\n \"0x4Fd9098af9ddcB41DA48A1d78F91F1398965addc\";\nexport const ArbSepoliaPaymasterAddress =\n \"0x0804Afe6EEFb73ce7F93CD0d5e7079a5a8068592\";\nexport const AlchemyPaymasterAddressV1 =\n \"0xc03aac639bb21233e0139381970328db8bceeb67\";\n\n/**\n * Retrieves the Alchemy paymaster address for the given chain. Returns different addresses based on the chain ID.\n *\n * @example\n * ```ts\n * import { sepolia, getAlchemyPaymasterAddress } from \"@account-kit/infra\";\n *\n * const paymasterAddress = getAlchemyPaymasterAddress(sepolia);\n * ```\n *\n * @param {Chain} chain The chain for which the paymaster address is required\n * @returns {Address} The Alchemy paymaster address corresponding to the specified chain\n */\nexport const getAlchemyPaymasterAddress = (chain: Chain): Address => {\n switch (chain.id) {\n case polygonAmoy.id:\n case optimismSepolia.id:\n case baseSepolia.id:\n case zora.id:\n case zoraSepolia.id:\n case fraxtal.id:\n case fraxtalSepolia.id:\n return AlchemyPaymasterAddressV3;\n case mainnet.id:\n case arbitrum.id:\n case optimism.id:\n case polygon.id:\n case base.id:\n return AlchemyPaymasterAddressV2;\n case arbitrumSepolia.id:\n return ArbSepoliaPaymasterAddress;\n case sepolia.id:\n case polygonMumbai.id:\n return AlchemyPaymasterAddressV1;\n default:\n throw new Error(`Unsupported chain: ${chain}`);\n }\n};\n"]}
@@ -2,7 +2,7 @@ export type * from "./actions/simulateUserOperationChanges.js";
2
2
  export { simulateUserOperationChanges } from "./actions/simulateUserOperationChanges.js";
3
3
  export type * from "./actions/types.js";
4
4
  export type * from "./chains.js";
5
- export { defineAlchemyChain } from "./chains.js";
5
+ export { arbitrum, arbitrumGoerli, arbitrumSepolia, base, baseGoerli, baseSepolia, defineAlchemyChain, fraxtal, fraxtalSepolia, goerli, mainnet, optimism, optimismGoerli, optimismSepolia, polygon, polygonAmoy, polygonMumbai, sepolia, zora, zoraSepolia, } from "./chains.js";
6
6
  export type * from "./client/decorators/alchemyEnhancedApis.js";
7
7
  export { alchemyEnhancedApiActions } from "./client/decorators/alchemyEnhancedApis.js";
8
8
  export type * from "./client/decorators/smartAccount.js";
package/dist/cjs/index.js CHANGED
@@ -1,10 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AlchemyProviderConfigSchema = exports.alchemyUserOperationSimulator = exports.alchemyGasManagerMiddleware = exports.alchemyFeeEstimator = exports.getAlchemyPaymasterAddress = exports.getDefaultUserOperationFeeOptions = exports.createAlchemySmartAccountClient = exports.createAlchemyPublicRpcClient = exports.isAlchemySmartAccountClient = exports.createAlchemySmartAccountClientFromExisting = exports.alchemyActions = exports.alchemyEnhancedApiActions = exports.defineAlchemyChain = exports.simulateUserOperationChanges = void 0;
3
+ exports.AlchemyProviderConfigSchema = exports.alchemyUserOperationSimulator = exports.alchemyGasManagerMiddleware = exports.alchemyFeeEstimator = exports.getAlchemyPaymasterAddress = exports.getDefaultUserOperationFeeOptions = exports.createAlchemySmartAccountClient = exports.createAlchemyPublicRpcClient = exports.isAlchemySmartAccountClient = exports.createAlchemySmartAccountClientFromExisting = exports.alchemyActions = exports.alchemyEnhancedApiActions = exports.zoraSepolia = exports.zora = exports.sepolia = exports.polygonMumbai = exports.polygonAmoy = exports.polygon = exports.optimismSepolia = exports.optimismGoerli = exports.optimism = exports.mainnet = exports.goerli = exports.fraxtalSepolia = exports.fraxtal = exports.defineAlchemyChain = exports.baseSepolia = exports.baseGoerli = exports.base = exports.arbitrumSepolia = exports.arbitrumGoerli = exports.arbitrum = exports.simulateUserOperationChanges = void 0;
4
4
  var simulateUserOperationChanges_js_1 = require("./actions/simulateUserOperationChanges.js");
5
5
  Object.defineProperty(exports, "simulateUserOperationChanges", { enumerable: true, get: function () { return simulateUserOperationChanges_js_1.simulateUserOperationChanges; } });
6
6
  var chains_js_1 = require("./chains.js");
7
+ Object.defineProperty(exports, "arbitrum", { enumerable: true, get: function () { return chains_js_1.arbitrum; } });
8
+ Object.defineProperty(exports, "arbitrumGoerli", { enumerable: true, get: function () { return chains_js_1.arbitrumGoerli; } });
9
+ Object.defineProperty(exports, "arbitrumSepolia", { enumerable: true, get: function () { return chains_js_1.arbitrumSepolia; } });
10
+ Object.defineProperty(exports, "base", { enumerable: true, get: function () { return chains_js_1.base; } });
11
+ Object.defineProperty(exports, "baseGoerli", { enumerable: true, get: function () { return chains_js_1.baseGoerli; } });
12
+ Object.defineProperty(exports, "baseSepolia", { enumerable: true, get: function () { return chains_js_1.baseSepolia; } });
7
13
  Object.defineProperty(exports, "defineAlchemyChain", { enumerable: true, get: function () { return chains_js_1.defineAlchemyChain; } });
14
+ Object.defineProperty(exports, "fraxtal", { enumerable: true, get: function () { return chains_js_1.fraxtal; } });
15
+ Object.defineProperty(exports, "fraxtalSepolia", { enumerable: true, get: function () { return chains_js_1.fraxtalSepolia; } });
16
+ Object.defineProperty(exports, "goerli", { enumerable: true, get: function () { return chains_js_1.goerli; } });
17
+ Object.defineProperty(exports, "mainnet", { enumerable: true, get: function () { return chains_js_1.mainnet; } });
18
+ Object.defineProperty(exports, "optimism", { enumerable: true, get: function () { return chains_js_1.optimism; } });
19
+ Object.defineProperty(exports, "optimismGoerli", { enumerable: true, get: function () { return chains_js_1.optimismGoerli; } });
20
+ Object.defineProperty(exports, "optimismSepolia", { enumerable: true, get: function () { return chains_js_1.optimismSepolia; } });
21
+ Object.defineProperty(exports, "polygon", { enumerable: true, get: function () { return chains_js_1.polygon; } });
22
+ Object.defineProperty(exports, "polygonAmoy", { enumerable: true, get: function () { return chains_js_1.polygonAmoy; } });
23
+ Object.defineProperty(exports, "polygonMumbai", { enumerable: true, get: function () { return chains_js_1.polygonMumbai; } });
24
+ Object.defineProperty(exports, "sepolia", { enumerable: true, get: function () { return chains_js_1.sepolia; } });
25
+ Object.defineProperty(exports, "zora", { enumerable: true, get: function () { return chains_js_1.zora; } });
26
+ Object.defineProperty(exports, "zoraSepolia", { enumerable: true, get: function () { return chains_js_1.zoraSepolia; } });
8
27
  var alchemyEnhancedApis_js_1 = require("./client/decorators/alchemyEnhancedApis.js");
9
28
  Object.defineProperty(exports, "alchemyEnhancedApiActions", { enumerable: true, get: function () { return alchemyEnhancedApis_js_1.alchemyEnhancedApiActions; } });
10
29
  var smartAccount_js_1 = require("./client/decorators/smartAccount.js");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AACA,6FAAyF;AAAhF,+IAAA,4BAA4B,OAAA;AAGrC,yCAAiD;AAAxC,+GAAA,kBAAkB,OAAA;AAE3B,qFAAuF;AAA9E,mIAAA,yBAAyB,OAAA;AAElC,uEAAqE;AAA5D,iHAAA,cAAc,OAAA;AACvB,+FAA6J;AAApJ,2JAAA,4CAA4C,OAA+C;AACpG,0FAAsF;AAA7E,6IAAA,2BAA2B,OAAA;AAEpC,sDAAqE;AAA5D,4HAAA,4BAA4B,OAAA;AAErC,wEAAiF;AAAxE,wIAAA,+BAA+B,OAAA;AAExC,6CAAkE;AAAzD,gIAAA,iCAAiC,OAAA;AAC1C,mDAA8D;AAArD,4HAAA,0BAA0B,OAAA;AACnC,gEAAmE;AAA1D,sHAAA,mBAAmB,OAAA;AAE5B,4DAAyE;AAAhE,4HAAA,2BAA2B,OAAA;AACpC,oFAAuF;AAA9E,0IAAA,6BAA6B,OAAA;AAEtC,yCAA0D;AAAjD,wHAAA,2BAA2B,OAAA","sourcesContent":["export type * from \"./actions/simulateUserOperationChanges.js\";\nexport { simulateUserOperationChanges } from \"./actions/simulateUserOperationChanges.js\";\nexport type * from \"./actions/types.js\";\nexport type * from \"./chains.js\";\nexport { defineAlchemyChain } from \"./chains.js\";\nexport type * from \"./client/decorators/alchemyEnhancedApis.js\";\nexport { alchemyEnhancedApiActions } from \"./client/decorators/alchemyEnhancedApis.js\";\nexport type * from \"./client/decorators/smartAccount.js\";\nexport { alchemyActions } from \"./client/decorators/smartAccount.js\";\nexport { createAlchemySmartAccountClientFromRpcClient as createAlchemySmartAccountClientFromExisting } from \"./client/internal/smartAccountClientFromRpc.js\";\nexport { isAlchemySmartAccountClient } from \"./client/isAlchemySmartAccountClient.js\";\nexport type * from \"./client/rpcClient.js\";\nexport { createAlchemyPublicRpcClient } from \"./client/rpcClient.js\";\nexport type * from \"./client/smartAccountClient.js\";\nexport { createAlchemySmartAccountClient } from \"./client/smartAccountClient.js\";\nexport type * from \"./client/types.js\";\nexport { getDefaultUserOperationFeeOptions } from \"./defaults.js\";\nexport { getAlchemyPaymasterAddress } from \"./gas-manager.js\";\nexport { alchemyFeeEstimator } from \"./middleware/feeEstimator.js\";\nexport type * from \"./middleware/gasManager.js\";\nexport { alchemyGasManagerMiddleware } from \"./middleware/gasManager.js\";\nexport { alchemyUserOperationSimulator } from \"./middleware/userOperationSimulator.js\";\nexport type * from \"./schema.js\";\nexport { AlchemyProviderConfigSchema } from \"./schema.js\";\nexport type { AlchemyProviderConfig } from \"./type.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AACA,6FAAyF;AAAhF,+IAAA,4BAA4B,OAAA;AAGrC,yCAqBqB;AApBnB,qGAAA,QAAQ,OAAA;AACR,2GAAA,cAAc,OAAA;AACd,4GAAA,eAAe,OAAA;AACf,iGAAA,IAAI,OAAA;AACJ,uGAAA,UAAU,OAAA;AACV,wGAAA,WAAW,OAAA;AACX,+GAAA,kBAAkB,OAAA;AAClB,oGAAA,OAAO,OAAA;AACP,2GAAA,cAAc,OAAA;AACd,mGAAA,MAAM,OAAA;AACN,oGAAA,OAAO,OAAA;AACP,qGAAA,QAAQ,OAAA;AACR,2GAAA,cAAc,OAAA;AACd,4GAAA,eAAe,OAAA;AACf,oGAAA,OAAO,OAAA;AACP,wGAAA,WAAW,OAAA;AACX,0GAAA,aAAa,OAAA;AACb,oGAAA,OAAO,OAAA;AACP,iGAAA,IAAI,OAAA;AACJ,wGAAA,WAAW,OAAA;AAGb,qFAAuF;AAA9E,mIAAA,yBAAyB,OAAA;AAElC,uEAAqE;AAA5D,iHAAA,cAAc,OAAA;AACvB,+FAA6J;AAApJ,2JAAA,4CAA4C,OAA+C;AACpG,0FAAsF;AAA7E,6IAAA,2BAA2B,OAAA;AAEpC,sDAAqE;AAA5D,4HAAA,4BAA4B,OAAA;AAErC,wEAAiF;AAAxE,wIAAA,+BAA+B,OAAA;AAExC,6CAAkE;AAAzD,gIAAA,iCAAiC,OAAA;AAC1C,mDAA8D;AAArD,4HAAA,0BAA0B,OAAA;AACnC,gEAAmE;AAA1D,sHAAA,mBAAmB,OAAA;AAE5B,4DAAyE;AAAhE,4HAAA,2BAA2B,OAAA;AACpC,oFAAuF;AAA9E,0IAAA,6BAA6B,OAAA;AAEtC,yCAA0D;AAAjD,wHAAA,2BAA2B,OAAA","sourcesContent":["export type * from \"./actions/simulateUserOperationChanges.js\";\nexport { simulateUserOperationChanges } from \"./actions/simulateUserOperationChanges.js\";\nexport type * from \"./actions/types.js\";\nexport type * from \"./chains.js\";\nexport {\n arbitrum,\n arbitrumGoerli,\n arbitrumSepolia,\n base,\n baseGoerli,\n baseSepolia,\n defineAlchemyChain,\n fraxtal,\n fraxtalSepolia,\n goerli,\n mainnet,\n optimism,\n optimismGoerli,\n optimismSepolia,\n polygon,\n polygonAmoy,\n polygonMumbai,\n sepolia,\n zora,\n zoraSepolia,\n} from \"./chains.js\";\nexport type * from \"./client/decorators/alchemyEnhancedApis.js\";\nexport { alchemyEnhancedApiActions } from \"./client/decorators/alchemyEnhancedApis.js\";\nexport type * from \"./client/decorators/smartAccount.js\";\nexport { alchemyActions } from \"./client/decorators/smartAccount.js\";\nexport { createAlchemySmartAccountClientFromRpcClient as createAlchemySmartAccountClientFromExisting } from \"./client/internal/smartAccountClientFromRpc.js\";\nexport { isAlchemySmartAccountClient } from \"./client/isAlchemySmartAccountClient.js\";\nexport type * from \"./client/rpcClient.js\";\nexport { createAlchemyPublicRpcClient } from \"./client/rpcClient.js\";\nexport type * from \"./client/smartAccountClient.js\";\nexport { createAlchemySmartAccountClient } from \"./client/smartAccountClient.js\";\nexport type * from \"./client/types.js\";\nexport { getDefaultUserOperationFeeOptions } from \"./defaults.js\";\nexport { getAlchemyPaymasterAddress } from \"./gas-manager.js\";\nexport { alchemyFeeEstimator } from \"./middleware/feeEstimator.js\";\nexport type * from \"./middleware/gasManager.js\";\nexport { alchemyGasManagerMiddleware } from \"./middleware/gasManager.js\";\nexport { alchemyUserOperationSimulator } from \"./middleware/userOperationSimulator.js\";\nexport type * from \"./schema.js\";\nexport { AlchemyProviderConfigSchema } from \"./schema.js\";\nexport type { AlchemyProviderConfig } from \"./type.js\";\n"]}
@@ -8,16 +8,9 @@ const core_1 = require("@aa-sdk/core");
8
8
  const alchemy_sdk_1 = require("alchemy-sdk");
9
9
  const zod_1 = __importDefault(require("zod"));
10
10
  exports.AlchemyChainSchema = zod_1.default.custom((chain) => {
11
- const _chain = core_1.ChainSchema.parse(chain);
12
- let chainObject;
13
- try {
14
- chainObject = (0, core_1.getChain)(_chain.id);
15
- }
16
- catch {
17
- return false;
18
- }
19
- return chainObject.rpcUrls.alchemy != null;
20
- }, "chain must include an alchemy rpc url. See `createAlchemyChain` or use the `AlchemyChainMap` exported from `@aa-sdk/core`");
11
+ const chain_ = core_1.ChainSchema.parse(chain);
12
+ return chain_.rpcUrls.alchemy != null;
13
+ }, "chain must include an alchemy rpc url. See `createAlchemyChain` or import a chain from `@account-kit/infra`.");
21
14
  exports.AlchemyProviderConfigSchema = core_1.ConnectionConfigSchema.and(zod_1.default.object({
22
15
  chain: exports.AlchemyChainSchema,
23
16
  opts: core_1.SmartAccountClientOptsSchema.optional().default(core_1.SmartAccountClientOptsSchema.parse({})),
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":";;;;;;AAAA,uCAKsB;AACtB,6CAAsC;AAEtC,8CAAoB;AAEP,QAAA,kBAAkB,GAAG,aAAC,CAAC,MAAM,CAAQ,CAAC,KAAK,EAAE,EAAE;IAC1D,MAAM,MAAM,GAAG,kBAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAExC,IAAI,WAAW,CAAC;IAChB,IAAI,CAAC;QACH,WAAW,GAAG,IAAA,eAAQ,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,WAAW,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;AAC7C,CAAC,EAAE,2HAA2H,CAAC,CAAC;AAEnH,QAAA,2BAA2B,GAAG,6BAAsB,CAAC,GAAG,CACnE,aAAC,CAAC,MAAM,CAAC;IACP,KAAK,EAAE,0BAAkB;IACzB,IAAI,EAAE,mCAA4B,CAAC,QAAQ,EAAE,CAAC,OAAO,CACnD,mCAA4B,CAAC,KAAK,CAAC,EAAE,CAAC,CACvC;CACF,CAAC,CACH,CAAC;AAEW,QAAA,sBAAsB,GAAG,aAAC,CAAC,UAAU,CAAC,qBAAO,CAAC,CAAC","sourcesContent":["import {\n ChainSchema,\n ConnectionConfigSchema,\n SmartAccountClientOptsSchema,\n getChain,\n} from \"@aa-sdk/core\";\nimport { Alchemy } from \"alchemy-sdk\";\nimport type { Chain } from \"viem\";\nimport z from \"zod\";\n\nexport const AlchemyChainSchema = z.custom<Chain>((chain) => {\n const _chain = ChainSchema.parse(chain);\n\n let chainObject;\n try {\n chainObject = getChain(_chain.id);\n } catch {\n return false;\n }\n\n return chainObject.rpcUrls.alchemy != null;\n}, \"chain must include an alchemy rpc url. See `createAlchemyChain` or use the `AlchemyChainMap` exported from `@aa-sdk/core`\");\n\nexport const AlchemyProviderConfigSchema = ConnectionConfigSchema.and(\n z.object({\n chain: AlchemyChainSchema,\n opts: SmartAccountClientOptsSchema.optional().default(\n SmartAccountClientOptsSchema.parse({})\n ),\n })\n);\n\nexport const AlchemySdkClientSchema = z.instanceof(Alchemy);\n"]}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":";;;;;;AAAA,uCAIsB;AACtB,6CAAsC;AAEtC,8CAAoB;AAEP,QAAA,kBAAkB,GAAG,aAAC,CAAC,MAAM,CAAQ,CAAC,KAAK,EAAE,EAAE;IAC1D,MAAM,MAAM,GAAG,kBAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAExC,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;AACxC,CAAC,EAAE,8GAA8G,CAAC,CAAC;AAEtG,QAAA,2BAA2B,GAAG,6BAAsB,CAAC,GAAG,CACnE,aAAC,CAAC,MAAM,CAAC;IACP,KAAK,EAAE,0BAAkB;IACzB,IAAI,EAAE,mCAA4B,CAAC,QAAQ,EAAE,CAAC,OAAO,CACnD,mCAA4B,CAAC,KAAK,CAAC,EAAE,CAAC,CACvC;CACF,CAAC,CACH,CAAC;AAEW,QAAA,sBAAsB,GAAG,aAAC,CAAC,UAAU,CAAC,qBAAO,CAAC,CAAC","sourcesContent":["import {\n ChainSchema,\n ConnectionConfigSchema,\n SmartAccountClientOptsSchema,\n} from \"@aa-sdk/core\";\nimport { Alchemy } from \"alchemy-sdk\";\nimport type { Chain } from \"viem\";\nimport z from \"zod\";\n\nexport const AlchemyChainSchema = z.custom<Chain>((chain) => {\n const chain_ = ChainSchema.parse(chain);\n\n return chain_.rpcUrls.alchemy != null;\n}, \"chain must include an alchemy rpc url. See `createAlchemyChain` or import a chain from `@account-kit/infra`.\");\n\nexport const AlchemyProviderConfigSchema = ConnectionConfigSchema.and(\n z.object({\n chain: AlchemyChainSchema,\n opts: SmartAccountClientOptsSchema.optional().default(\n SmartAccountClientOptsSchema.parse({})\n ),\n })\n);\n\nexport const AlchemySdkClientSchema = z.instanceof(Alchemy);\n"]}
@@ -1 +1 @@
1
- export declare const VERSION = "4.0.0-alpha.1";
1
+ export declare const VERSION = "4.0.0-alpha.3";
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = "4.0.0-alpha.1";
4
+ exports.VERSION = "4.0.0-alpha.3";
5
5
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAEa,QAAA,OAAO,GAAG,eAAe,CAAC","sourcesContent":["// This file is autogenerated by inject-version.ts. Any changes will be\n// overwritten on commit!\nexport const VERSION = \"4.0.0-alpha.1\";\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAEa,QAAA,OAAO,GAAG,eAAe,CAAC","sourcesContent":["// This file is autogenerated by inject-version.ts. Any changes will be\n// overwritten on commit!\nexport const VERSION = \"4.0.0-alpha.3\";\n"]}
@@ -7,3 +7,22 @@ export declare const defineAlchemyChain: ({ chain, rpcBaseUrl, }: {
7
7
  chain: Chain;
8
8
  rpcBaseUrl: string;
9
9
  }) => Chain;
10
+ export declare const arbitrum: Chain;
11
+ export declare const arbitrumGoerli: Chain;
12
+ export declare const arbitrumSepolia: Chain;
13
+ export declare const goerli: Chain;
14
+ export declare const mainnet: Chain;
15
+ export declare const optimism: Chain;
16
+ export declare const optimismGoerli: Chain;
17
+ export declare const optimismSepolia: Chain;
18
+ export declare const sepolia: Chain;
19
+ export declare const base: Chain;
20
+ export declare const baseGoerli: Chain;
21
+ export declare const baseSepolia: Chain;
22
+ export declare const polygonMumbai: Chain;
23
+ export declare const polygonAmoy: Chain;
24
+ export declare const polygon: Chain;
25
+ export declare const fraxtal: Chain;
26
+ export declare const fraxtalSepolia: Chain;
27
+ export declare const zora: Chain;
28
+ export declare const zoraSepolia: Chain;
@@ -1,3 +1,5 @@
1
+ import { defineChain } from "viem";
2
+ import { arbitrum as vab, arbitrumGoerli as vabg, arbitrumSepolia as vabs, base as vbase, baseGoerli as vbaseg, baseSepolia as vbases, fraxtal as vfrax, goerli as vgo, mainnet as vmain, optimism as vop, optimismGoerli as vopg, optimismSepolia as vops, polygon as vpg, polygonAmoy as vpga, polygonMumbai as vpgm, sepolia as vsep, zora as vzora, zoraSepolia as vzoras, } from "viem/chains";
1
3
  export const defineAlchemyChain = ({ chain, rpcBaseUrl, }) => {
2
4
  return {
3
5
  ...chain,
@@ -9,4 +11,167 @@ export const defineAlchemyChain = ({ chain, rpcBaseUrl, }) => {
9
11
  },
10
12
  };
11
13
  };
14
+ export const arbitrum = {
15
+ ...vab,
16
+ rpcUrls: {
17
+ ...vab.rpcUrls,
18
+ alchemy: {
19
+ http: ["https://arb-mainnet.g.alchemy.com/v2"],
20
+ },
21
+ },
22
+ };
23
+ export const arbitrumGoerli = {
24
+ ...vabg,
25
+ rpcUrls: {
26
+ ...vabg.rpcUrls,
27
+ alchemy: {
28
+ http: ["https://arb-goerli.g.alchemy.com/v2"],
29
+ },
30
+ },
31
+ };
32
+ export const arbitrumSepolia = {
33
+ ...vabs,
34
+ rpcUrls: {
35
+ ...vabs.rpcUrls,
36
+ alchemy: {
37
+ http: ["https://arb-sepolia.g.alchemy.com/v2"],
38
+ },
39
+ },
40
+ };
41
+ export const goerli = {
42
+ ...vgo,
43
+ rpcUrls: {
44
+ ...vgo.rpcUrls,
45
+ alchemy: {
46
+ http: ["https://eth-goerli.g.alchemy.com/v2"],
47
+ },
48
+ },
49
+ };
50
+ export const mainnet = {
51
+ ...vmain,
52
+ rpcUrls: {
53
+ ...vmain.rpcUrls,
54
+ alchemy: {
55
+ http: ["https://eth-mainnet.g.alchemy.com/v2"],
56
+ },
57
+ },
58
+ };
59
+ export const optimism = {
60
+ ...vop,
61
+ rpcUrls: {
62
+ ...vop.rpcUrls,
63
+ alchemy: {
64
+ http: ["https://opt-mainnet.g.alchemy.com/v2"],
65
+ },
66
+ },
67
+ };
68
+ export const optimismGoerli = {
69
+ ...vopg,
70
+ rpcUrls: {
71
+ ...vopg.rpcUrls,
72
+ alchemy: {
73
+ http: ["https://opt-goerli.g.alchemy.com/v2"],
74
+ },
75
+ },
76
+ };
77
+ export const optimismSepolia = {
78
+ ...vops,
79
+ rpcUrls: {
80
+ ...vops.rpcUrls,
81
+ alchemy: {
82
+ http: ["https://opt-sepolia.g.alchemy.com/v2"],
83
+ },
84
+ },
85
+ };
86
+ export const sepolia = {
87
+ ...vsep,
88
+ rpcUrls: {
89
+ ...vsep.rpcUrls,
90
+ alchemy: {
91
+ http: ["https://eth-sepolia.g.alchemy.com/v2"],
92
+ },
93
+ },
94
+ };
95
+ export const base = {
96
+ ...vbase,
97
+ rpcUrls: {
98
+ ...vbase.rpcUrls,
99
+ alchemy: {
100
+ http: ["https://base-mainnet.g.alchemy.com/v2"],
101
+ },
102
+ },
103
+ };
104
+ export const baseGoerli = {
105
+ ...vbaseg,
106
+ rpcUrls: {
107
+ ...vbaseg.rpcUrls,
108
+ alchemy: {
109
+ http: ["https://base-goerli.g.alchemy.com/v2"],
110
+ },
111
+ },
112
+ };
113
+ export const baseSepolia = {
114
+ ...vbases,
115
+ rpcUrls: {
116
+ ...vbases.rpcUrls,
117
+ alchemy: {
118
+ http: ["https://base-sepolia.g.alchemy.com/v2"],
119
+ },
120
+ },
121
+ };
122
+ export const polygonMumbai = {
123
+ ...vpgm,
124
+ rpcUrls: {
125
+ ...vpgm.rpcUrls,
126
+ alchemy: {
127
+ http: ["https://polygon-mumbai.g.alchemy.com/v2"],
128
+ },
129
+ },
130
+ };
131
+ export const polygonAmoy = {
132
+ ...vpga,
133
+ rpcUrls: {
134
+ ...vpga.rpcUrls,
135
+ alchemy: {
136
+ http: ["https://polygon-amoy.g.alchemy.com/v2"],
137
+ },
138
+ },
139
+ };
140
+ export const polygon = {
141
+ ...vpg,
142
+ rpcUrls: {
143
+ ...vpg.rpcUrls,
144
+ alchemy: {
145
+ http: ["https://polygon-mainnet.g.alchemy.com/v2"],
146
+ },
147
+ },
148
+ };
149
+ export const fraxtal = {
150
+ ...vfrax,
151
+ rpcUrls: {
152
+ ...vfrax.rpcUrls,
153
+ },
154
+ };
155
+ export const fraxtalSepolia = defineChain({
156
+ id: 2523,
157
+ name: "Fraxtal Sepolia",
158
+ nativeCurrency: { name: "Frax Ether", symbol: "frxETH", decimals: 18 },
159
+ rpcUrls: {
160
+ default: {
161
+ http: ["https://rpc.testnet-sepolia.frax.com"],
162
+ },
163
+ },
164
+ });
165
+ export const zora = {
166
+ ...vzora,
167
+ rpcUrls: {
168
+ ...vzora.rpcUrls,
169
+ },
170
+ };
171
+ export const zoraSepolia = {
172
+ ...vzoras,
173
+ rpcUrls: {
174
+ ...vzoras.rpcUrls,
175
+ },
176
+ };
12
177
  //# sourceMappingURL=chains.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chains.js","sourceRoot":"","sources":["../../src/chains.ts"],"names":[],"mappings":"AA0BA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EACjC,KAAK,EACL,UAAU,GAIX,EAAS,EAAE;IACV,OAAO;QACL,GAAG,KAAK;QACR,OAAO,EAAE;YACP,GAAG,KAAK,CAAC,OAAO;YAChB,OAAO,EAAE;gBACP,IAAI,EAAE,CAAC,UAAU,CAAC;aACnB;SACF;KACF,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import type { Chain } from \"viem\";\n\nexport type AlchemyChainConfig = {\n chain: Chain;\n rpcBaseUrl: string;\n};\n\n/**\n * Defines an Alchemy chain configuration by adding an Alchemy-specific RPC base URL to the chain's RPC URLs.\n *\n * @example\n * ```ts\n * import { defineAlchemyChain } from \"@account-kit/infra\";\n * import { sepolia } from \"viem/chains\";\n *\n * const chain = defineAlchemyChain({\n * chain: sepolia,\n * rpcBaseUrl: \"https://eth-sepolia.g.alchemy.com/v2\"\n * });\n * ```\n *\n * @param {AlchemyChainConfig} params The parameters for defining the Alchemy chain\n * @param {Chain} params.chain The original chain configuration\n * @param {string} params.rpcBaseUrl The Alchemy-specific RPC base URL\n * @returns {Chain} The updated chain configuration with the Alchemy RPC URL added\n */\nexport const defineAlchemyChain = ({\n chain,\n rpcBaseUrl,\n}: {\n chain: Chain;\n rpcBaseUrl: string;\n}): Chain => {\n return {\n ...chain,\n rpcUrls: {\n ...chain.rpcUrls,\n alchemy: {\n http: [rpcBaseUrl],\n },\n },\n };\n};\n"]}
1
+ {"version":3,"file":"chains.js","sourceRoot":"","sources":["../../src/chains.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Chain } from \"viem\";\n\nimport { defineChain } from \"viem\";\nimport {\n arbitrum as vab,\n arbitrumGoerli as vabg,\n arbitrumSepolia as vabs,\n base as vbase,\n baseGoerli as vbaseg,\n baseSepolia as vbases,\n fraxtal as vfrax,\n goerli as vgo,\n mainnet as vmain,\n optimism as vop,\n optimismGoerli as vopg,\n optimismSepolia as vops,\n polygon as vpg,\n polygonAmoy as vpga,\n polygonMumbai as vpgm,\n sepolia as vsep,\n zora as vzora,\n zoraSepolia as vzoras,\n} from \"viem/chains\";\n\nexport type AlchemyChainConfig = {\n chain: Chain;\n rpcBaseUrl: string;\n};\n\n/**\n * Defines an Alchemy chain configuration by adding an Alchemy-specific RPC base URL to the chain's RPC URLs.\n *\n * @example\n * ```ts\n * import { defineAlchemyChain } from \"@account-kit/infra\";\n * import { sepolia } from \"viem/chains\";\n *\n * const chain = defineAlchemyChain({\n * chain: sepolia,\n * rpcBaseUrl: \"https://eth-sepolia.g.alchemy.com/v2\"\n * });\n * ```\n *\n * @param {AlchemyChainConfig} params The parameters for defining the Alchemy chain\n * @param {Chain} params.chain The original chain configuration\n * @param {string} params.rpcBaseUrl The Alchemy-specific RPC base URL\n * @returns {Chain} The updated chain configuration with the Alchemy RPC URL added\n */\nexport const defineAlchemyChain = ({\n chain,\n rpcBaseUrl,\n}: {\n chain: Chain;\n rpcBaseUrl: string;\n}): Chain => {\n return {\n ...chain,\n rpcUrls: {\n ...chain.rpcUrls,\n alchemy: {\n http: [rpcBaseUrl],\n },\n },\n };\n};\n\nexport const arbitrum: Chain = {\n ...vab,\n rpcUrls: {\n ...vab.rpcUrls,\n alchemy: {\n http: [\"https://arb-mainnet.g.alchemy.com/v2\"],\n },\n },\n};\n\nexport const arbitrumGoerli: Chain = {\n ...vabg,\n rpcUrls: {\n ...vabg.rpcUrls,\n alchemy: {\n http: [\"https://arb-goerli.g.alchemy.com/v2\"],\n },\n },\n};\n\nexport const arbitrumSepolia: Chain = {\n ...vabs,\n rpcUrls: {\n ...vabs.rpcUrls,\n alchemy: {\n http: [\"https://arb-sepolia.g.alchemy.com/v2\"],\n },\n },\n};\nexport const goerli: Chain = {\n ...vgo,\n rpcUrls: {\n ...vgo.rpcUrls,\n alchemy: {\n http: [\"https://eth-goerli.g.alchemy.com/v2\"],\n },\n },\n};\nexport const mainnet: Chain = {\n ...vmain,\n rpcUrls: {\n ...vmain.rpcUrls,\n alchemy: {\n http: [\"https://eth-mainnet.g.alchemy.com/v2\"],\n },\n },\n};\nexport const optimism: Chain = {\n ...vop,\n rpcUrls: {\n ...vop.rpcUrls,\n alchemy: {\n http: [\"https://opt-mainnet.g.alchemy.com/v2\"],\n },\n },\n};\nexport const optimismGoerli: Chain = {\n ...vopg,\n rpcUrls: {\n ...vopg.rpcUrls,\n alchemy: {\n http: [\"https://opt-goerli.g.alchemy.com/v2\"],\n },\n },\n};\nexport const optimismSepolia: Chain = {\n ...vops,\n rpcUrls: {\n ...vops.rpcUrls,\n alchemy: {\n http: [\"https://opt-sepolia.g.alchemy.com/v2\"],\n },\n },\n};\nexport const sepolia: Chain = {\n ...vsep,\n rpcUrls: {\n ...vsep.rpcUrls,\n alchemy: {\n http: [\"https://eth-sepolia.g.alchemy.com/v2\"],\n },\n },\n};\nexport const base: Chain = {\n ...vbase,\n rpcUrls: {\n ...vbase.rpcUrls,\n alchemy: {\n http: [\"https://base-mainnet.g.alchemy.com/v2\"],\n },\n },\n};\nexport const baseGoerli: Chain = {\n ...vbaseg,\n rpcUrls: {\n ...vbaseg.rpcUrls,\n alchemy: {\n http: [\"https://base-goerli.g.alchemy.com/v2\"],\n },\n },\n};\nexport const baseSepolia: Chain = {\n ...vbases,\n rpcUrls: {\n ...vbases.rpcUrls,\n alchemy: {\n http: [\"https://base-sepolia.g.alchemy.com/v2\"],\n },\n },\n};\n\nexport const polygonMumbai: Chain = {\n ...vpgm,\n rpcUrls: {\n ...vpgm.rpcUrls,\n alchemy: {\n http: [\"https://polygon-mumbai.g.alchemy.com/v2\"],\n },\n },\n};\n\nexport const polygonAmoy: Chain = {\n ...vpga,\n rpcUrls: {\n ...vpga.rpcUrls,\n alchemy: {\n http: [\"https://polygon-amoy.g.alchemy.com/v2\"],\n },\n },\n};\n\nexport const polygon: Chain = {\n ...vpg,\n rpcUrls: {\n ...vpg.rpcUrls,\n alchemy: {\n http: [\"https://polygon-mainnet.g.alchemy.com/v2\"],\n },\n },\n};\n\nexport const fraxtal: Chain = {\n ...vfrax,\n rpcUrls: {\n ...vfrax.rpcUrls,\n },\n};\n\nexport const fraxtalSepolia: Chain = 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});\n\nexport const zora: Chain = {\n ...vzora,\n rpcUrls: {\n ...vzora.rpcUrls,\n },\n};\n\nexport const zoraSepolia: Chain = {\n ...vzoras,\n rpcUrls: {\n ...vzoras.rpcUrls,\n },\n};\n"]}