@account-kit/wallet-client 0.1.0-alpha.8 → 0.1.0-alpha.9

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 (67) hide show
  1. package/dist/esm/capabilities/index.d.ts +3 -0
  2. package/dist/esm/capabilities/index.js +2 -0
  3. package/dist/esm/capabilities/index.js.map +1 -1
  4. package/dist/esm/capabilities/multiDimensionalNonce.d.ts +3 -0
  5. package/dist/esm/capabilities/multiDimensionalNonce.js +7 -0
  6. package/dist/esm/capabilities/multiDimensionalNonce.js.map +1 -0
  7. package/dist/esm/client/actions/signPreparedCalls.js +26 -37
  8. package/dist/esm/client/actions/signPreparedCalls.js.map +1 -1
  9. package/dist/esm/exports/internal.d.ts +1 -0
  10. package/dist/esm/exports/internal.js +1 -0
  11. package/dist/esm/exports/internal.js.map +1 -1
  12. package/dist/esm/isomorphic/actions/createSession.js +9 -3
  13. package/dist/esm/isomorphic/actions/createSession.js.map +1 -1
  14. package/dist/esm/isomorphic/actions/prepareCalls.js +19 -4
  15. package/dist/esm/isomorphic/actions/prepareCalls.js.map +1 -1
  16. package/dist/esm/isomorphic/actions/sendPreparedCalls.js +13 -4
  17. package/dist/esm/isomorphic/actions/sendPreparedCalls.js.map +1 -1
  18. package/dist/esm/isomorphic/utils/7702.d.ts +6 -1
  19. package/dist/esm/isomorphic/utils/7702.js +5 -4
  20. package/dist/esm/isomorphic/utils/7702.js.map +1 -1
  21. package/dist/esm/isomorphic/utils/createAccount.d.ts +1 -0
  22. package/dist/esm/isomorphic/utils/createAccount.js +25 -3
  23. package/dist/esm/isomorphic/utils/createAccount.js.map +1 -1
  24. package/dist/esm/rpc/request.d.ts +46 -2
  25. package/dist/esm/rpc/request.js +1 -0
  26. package/dist/esm/rpc/request.js.map +1 -1
  27. package/dist/esm/rpc/schema.d.ts +46 -2
  28. package/dist/esm/schemas.d.ts +23 -4
  29. package/dist/esm/schemas.js +46 -2
  30. package/dist/esm/schemas.js.map +1 -1
  31. package/dist/esm/utils.d.ts +1 -0
  32. package/dist/esm/utils.js.map +1 -1
  33. package/dist/types/capabilities/index.d.ts +3 -0
  34. package/dist/types/capabilities/index.d.ts.map +1 -1
  35. package/dist/types/capabilities/multiDimensionalNonce.d.ts +4 -0
  36. package/dist/types/capabilities/multiDimensionalNonce.d.ts.map +1 -0
  37. package/dist/types/client/actions/signPreparedCalls.d.ts.map +1 -1
  38. package/dist/types/exports/internal.d.ts +1 -0
  39. package/dist/types/exports/internal.d.ts.map +1 -1
  40. package/dist/types/isomorphic/actions/createSession.d.ts.map +1 -1
  41. package/dist/types/isomorphic/actions/prepareCalls.d.ts.map +1 -1
  42. package/dist/types/isomorphic/actions/sendPreparedCalls.d.ts.map +1 -1
  43. package/dist/types/isomorphic/utils/7702.d.ts +6 -1
  44. package/dist/types/isomorphic/utils/7702.d.ts.map +1 -1
  45. package/dist/types/isomorphic/utils/createAccount.d.ts +1 -0
  46. package/dist/types/isomorphic/utils/createAccount.d.ts.map +1 -1
  47. package/dist/types/rpc/request.d.ts +46 -2
  48. package/dist/types/rpc/request.d.ts.map +1 -1
  49. package/dist/types/rpc/schema.d.ts +46 -2
  50. package/dist/types/rpc/schema.d.ts.map +1 -1
  51. package/dist/types/schemas.d.ts +23 -4
  52. package/dist/types/schemas.d.ts.map +1 -1
  53. package/dist/types/utils.d.ts +1 -0
  54. package/dist/types/utils.d.ts.map +1 -1
  55. package/package.json +5 -5
  56. package/src/capabilities/index.ts +2 -0
  57. package/src/capabilities/multiDimensionalNonce.ts +7 -0
  58. package/src/client/actions/signPreparedCalls.ts +42 -43
  59. package/src/exports/internal.ts +1 -0
  60. package/src/isomorphic/actions/createSession.ts +11 -3
  61. package/src/isomorphic/actions/prepareCalls.ts +27 -9
  62. package/src/isomorphic/actions/sendPreparedCalls.ts +14 -4
  63. package/src/isomorphic/utils/7702.ts +16 -5
  64. package/src/isomorphic/utils/createAccount.ts +35 -2
  65. package/src/rpc/request.ts +1 -0
  66. package/src/schemas.ts +77 -5
  67. package/src/utils.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"createAccount.js","sourceRoot":"","sources":["../../../../src/isomorphic/utils/createAccount.ts"],"names":[],"mappings":"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","sourcesContent":["import type { SmartAccountSigner, SmartContractAccount } from \"@aa-sdk/core\";\nimport {\n createLightAccount,\n createModularAccountV2,\n type ModularAccountV2,\n} from \"@account-kit/smart-contracts\";\nimport type { StaticDecode } from \"@sinclair/typebox\";\nimport type { Address, Chain, Transport } from \"viem\";\nimport { concatHex, hexToNumber } from \"viem\";\nimport type { TypeSerializedInitcode } from \"../../schemas.js\";\nimport { parsePermissionsContext } from \"./parsePermissionsContext.js\";\nimport { assertNever } from \"../../utils.js\";\nimport { getAccountTypeForDelegationAddress7702 } from \"./7702.js\";\nimport { PermissionsCapability } from \"../../capabilities/permissions/index.js\";\nimport { InternalError, InvalidRequestError } from \"ox/RpcResponse\";\n\ntype CreateAccountParams = {\n chain: Chain;\n transport: Transport;\n signer: SmartAccountSigner;\n accountAddress: Address;\n counterfactualInfo?: StaticDecode<typeof TypeSerializedInitcode>; // undefined for 7702 accounts\n permissions?: StaticDecode<typeof PermissionsCapability>;\n delegation?: Address;\n};\n\n/**\n * Creates a smart account instance from the given parameters.\n * @param params - The parameters for creating a smart account.\n * @returns A promise that resolves to the created smart account.\n */\nexport async function createAccount(\n params: CreateAccountParams,\n): Promise<SmartContractAccount> {\n const { counterfactualInfo: ci, ...accountParams } = params;\n\n // This throws if we pass a permission context and the account is not MA-v2\n // TODO: test that this edge case is handled correctly\n const parsedContext = parsePermissionsContext(\n params.permissions,\n ci,\n params.delegation,\n );\n\n const signerEntity =\n parsedContext?.contextVersion === \"NON_DEFERRED_ACTION\"\n ? {\n entityId: hexToNumber(parsedContext.entityId),\n isGlobalValidation: parsedContext.isGlobalValidation,\n }\n : undefined;\n\n const mode = params.delegation ? \"7702\" : \"default\";\n\n if (mode === \"7702\") {\n const accountType = getAccountTypeForDelegationAddress7702(\n params.delegation!,\n );\n if (accountType !== \"ModularAccountV2\") {\n throw new Error(\"7702 mode currently only supports ModularAccountV2\");\n }\n return createModularAccountV2({\n ...accountParams,\n signerEntity,\n deferredAction: parsedContext?.deferredAction,\n mode,\n });\n }\n\n if (mode !== \"default\") {\n return assertNever(mode, \"Unexpected mode in createAccount\");\n }\n\n // At this point, we are guaranteed to be in default mode, where ci\n // (counterfactualInfo) must be defined\n\n if (!ci) {\n throw new InternalError({\n message: \"Counterfactual info not found\",\n });\n }\n\n const factoryType = ci.factoryType;\n const commonParams = {\n ...accountParams,\n initCode: concatHex([ci.factoryAddress, ci.factoryData]),\n };\n\n // Return the account created based on the factory type\n switch (factoryType) {\n case \"MAv2.0.0-sma-b\":\n return createModularAccountV2({\n ...commonParams,\n signerEntity,\n deferredAction: parsedContext?.deferredAction,\n mode,\n });\n case \"LightAccountV2.0.0\":\n return createLightAccount({\n ...commonParams,\n version: \"v2.0.0\",\n });\n case \"LightAccountV1.0.1\":\n return createLightAccount({\n ...commonParams,\n version: \"v1.0.1\",\n });\n case \"LightAccountV1.0.2\":\n return createLightAccount({\n ...commonParams,\n version: \"v1.0.2\",\n });\n case \"LightAccountV1.1.0\":\n return createLightAccount({\n ...commonParams,\n version: \"v1.1.0\",\n });\n case \"LightAccountV2.0.0-MultiOwner\":\n case \"MAv1.0.0-MultiOwner\":\n case \"MAv1.0.0-MultiSig\":\n case \"MAv2.0.0-ma-ssv\":\n case \"MAv2.0.0-ma-webauthn\":\n case \"unknown\":\n case undefined:\n throw new InvalidRequestError({\n message: `Account type currently unsupported: ${factoryType}`,\n });\n default:\n return assertNever(factoryType, \"Unsupported factory type\");\n }\n}\n\nexport function isModularAccountV2(\n account: SmartContractAccount,\n): account is ModularAccountV2 {\n return account.source === \"ModularAccountV2\";\n}\n"]}
1
+ {"version":3,"file":"createAccount.js","sourceRoot":"","sources":["../../../../src/isomorphic/utils/createAccount.ts"],"names":[],"mappings":"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","sourcesContent":["import type { SmartAccountSigner, SmartContractAccount } from \"@aa-sdk/core\";\nimport {\n createLightAccount,\n createModularAccountV2,\n createMultiOwnerLightAccount,\n createMultiOwnerModularAccount,\n type ModularAccountV2,\n} from \"@account-kit/smart-contracts\";\nimport type { StaticDecode } from \"@sinclair/typebox\";\nimport type { Address, Chain, Transport } from \"viem\";\nimport { concatHex, hexToBigInt, hexToNumber, zeroAddress } from \"viem\";\nimport type { TypeSerializedInitcode } from \"../../schemas.js\";\nimport { parsePermissionsContext } from \"./parsePermissionsContext.js\";\nimport { assertNever } from \"../../utils.js\";\nimport { getAccountTypeForDelegationAddress7702 } from \"./7702.js\";\nimport { PermissionsCapability } from \"../../capabilities/permissions/index.js\";\nimport { InternalError, InvalidRequestError } from \"ox/RpcResponse\";\n\ntype CreateAccountParams = {\n chain: Chain;\n transport: Transport;\n signer: SmartAccountSigner;\n accountAddress: Address;\n counterfactualInfo?: StaticDecode<typeof TypeSerializedInitcode>; // undefined for 7702 accounts\n permissions?: StaticDecode<typeof PermissionsCapability>;\n delegation?: Address;\n};\n\n/**\n * Creates a smart account instance from the given parameters.\n * @param params - The parameters for creating a smart account.\n * @returns A promise that resolves to the created smart account.\n */\nexport async function createAccount(\n params: CreateAccountParams,\n): Promise<SmartContractAccount> {\n const { counterfactualInfo: ci, ...accountParams } = params;\n\n // This throws if we pass a permission context and the account is not MA-v2\n // TODO: test that this edge case is handled correctly\n const parsedContext = parsePermissionsContext(\n params.permissions,\n ci,\n params.delegation,\n );\n\n const signerEntity =\n parsedContext?.contextVersion === \"NON_DEFERRED_ACTION\"\n ? {\n entityId: hexToNumber(parsedContext.entityId),\n isGlobalValidation: parsedContext.isGlobalValidation,\n }\n : undefined;\n\n const mode = params.delegation ? \"7702\" : \"default\";\n\n if (mode === \"7702\") {\n const accountType = getAccountTypeForDelegationAddress7702(\n params.delegation!,\n );\n if (accountType !== \"ModularAccountV2\") {\n throw new Error(\"7702 mode currently only supports ModularAccountV2\");\n }\n return createModularAccountV2({\n ...accountParams,\n signerEntity,\n deferredAction: parsedContext?.deferredAction,\n mode,\n });\n }\n\n if (mode !== \"default\") {\n return assertNever(mode, \"Unexpected mode in createAccount\");\n }\n\n // At this point, we are guaranteed to be in default mode, where ci\n // (counterfactualInfo) must be defined\n\n if (!ci) {\n throw new InternalError({\n message: \"Counterfactual info not found\",\n });\n }\n\n const factoryType = ci.factoryType;\n const commonParams = {\n ...accountParams,\n initCode: concatHex([ci.factoryAddress, ci.factoryData]),\n };\n\n // Return the account created based on the factory type\n switch (factoryType) {\n case \"MAv2.0.0-sma-b\":\n return createModularAccountV2({\n ...commonParams,\n signerEntity,\n deferredAction: parsedContext?.deferredAction,\n mode,\n });\n case \"LightAccountV2.0.0\":\n return createLightAccount({\n ...commonParams,\n version: \"v2.0.0\",\n });\n case \"LightAccountV1.0.1\":\n return createLightAccount({\n ...commonParams,\n version: \"v1.0.1\",\n });\n case \"LightAccountV1.0.2\":\n return createLightAccount({\n ...commonParams,\n version: \"v1.0.2\",\n });\n case \"LightAccountV1.1.0\":\n return createLightAccount({\n ...commonParams,\n version: \"v1.1.0\",\n });\n case \"MAv1.0.0-MultiOwner\":\n return createMultiOwnerModularAccount({\n ...commonParams,\n });\n case \"LightAccountV2.0.0-MultiOwner\":\n return createMultiOwnerLightAccount({\n ...commonParams,\n version: \"v2.0.0\",\n });\n case \"MAv1.0.0-MultiSig\":\n case \"MAv2.0.0-ma-ssv\":\n case \"MAv2.0.0-ma-webauthn\":\n case \"unknown\":\n case undefined:\n throw new InvalidRequestError({\n message: `Account type currently unsupported: ${factoryType}`,\n });\n default:\n return assertNever(factoryType, \"Unsupported factory type\");\n }\n}\n\nexport function isModularAccountV2(\n account: SmartContractAccount,\n): account is ModularAccountV2 {\n return account.source === \"ModularAccountV2\";\n}\n\n// Performs basic checks on the initialOwners array and returns a new array with the signer address added if not present.\n// Pulled from MAv1 support in Account Kit.\nexport function prepareInitialOwners(\n initialOwners: Address[],\n signerAddress: Address,\n): Address[] {\n const preparedOwners = Array.from(\n new Set([...initialOwners, signerAddress]),\n ).sort((a, b) => {\n const bigintA = hexToBigInt(a);\n const bigintB = hexToBigInt(b);\n\n return bigintA < bigintB ? -1 : bigintA > bigintB ? 1 : 0;\n });\n\n if (preparedOwners.some((x) => x === zeroAddress)) {\n throw new InvalidRequestError({\n message: \"Initial owners cannot contain the zero address\",\n });\n }\n\n return preparedOwners;\n}\n"]}
@@ -262,6 +262,9 @@ export declare const wallet_prepareCalls: import("@sinclair/typebox").TObject<{
262
262
  account: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
263
263
  delegation: import("@sinclair/typebox").TUnion<(import("@sinclair/typebox").TLiteral<"0x69007702764179f14F51cdce752f4f775d74E139"> | import("@sinclair/typebox").TLiteral<"ModularAccountV2">)[]>;
264
264
  }>, import("@sinclair/typebox").TLiteral<true>]>>;
265
+ nonceOverride: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
266
+ nonceKey: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
267
+ }>>;
265
268
  }>>;
266
269
  }>]>;
267
270
  }>;
@@ -528,8 +531,28 @@ export declare const wallet_requestAccount: import("@sinclair/typebox").TObject<
528
531
  signerAddress: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
529
532
  id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
530
533
  creationHint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
531
- accountType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<"sma-b" | "la-v2" | "la-v1.0.1" | "la-v1.0.2" | "la-v1.1.0">[]>>;
534
+ accountType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<"sma-b">>;
535
+ salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
536
+ }>, import("@sinclair/typebox").TObject<{
537
+ accountType: import("@sinclair/typebox").TLiteral<"la-v2">;
538
+ salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
539
+ }>, import("@sinclair/typebox").TObject<{
540
+ accountType: import("@sinclair/typebox").TLiteral<"la-v2-multi-owner">;
541
+ salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
542
+ initialOwners: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>>;
543
+ }>, import("@sinclair/typebox").TObject<{
544
+ accountType: import("@sinclair/typebox").TLiteral<"la-v1.0.1">;
545
+ salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
546
+ }>, import("@sinclair/typebox").TObject<{
547
+ accountType: import("@sinclair/typebox").TLiteral<"la-v1.0.2">;
548
+ salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
549
+ }>, import("@sinclair/typebox").TObject<{
550
+ accountType: import("@sinclair/typebox").TLiteral<"la-v1.1.0">;
551
+ salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
552
+ }>, import("@sinclair/typebox").TObject<{
553
+ accountType: import("@sinclair/typebox").TLiteral<"ma-v1-multi-owner">;
532
554
  salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
555
+ initialOwners: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>>;
533
556
  }>, import("@sinclair/typebox").TObject<{
534
557
  accountType: import("@sinclair/typebox").TLiteral<"7702">;
535
558
  }>]>>;
@@ -557,8 +580,28 @@ export declare const wallet_createAccount: import("@sinclair/typebox").TObject<{
557
580
  signerAddress: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
558
581
  id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
559
582
  creationOptions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
560
- accountType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<"sma-b" | "la-v2" | "la-v1.0.1" | "la-v1.0.2" | "la-v1.1.0">[]>>;
583
+ accountType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<"sma-b">>;
561
584
  salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
585
+ }>, import("@sinclair/typebox").TObject<{
586
+ accountType: import("@sinclair/typebox").TLiteral<"la-v2">;
587
+ salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
588
+ }>, import("@sinclair/typebox").TObject<{
589
+ accountType: import("@sinclair/typebox").TLiteral<"la-v2-multi-owner">;
590
+ salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
591
+ initialOwners: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>>;
592
+ }>, import("@sinclair/typebox").TObject<{
593
+ accountType: import("@sinclair/typebox").TLiteral<"la-v1.0.1">;
594
+ salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
595
+ }>, import("@sinclair/typebox").TObject<{
596
+ accountType: import("@sinclair/typebox").TLiteral<"la-v1.0.2">;
597
+ salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
598
+ }>, import("@sinclair/typebox").TObject<{
599
+ accountType: import("@sinclair/typebox").TLiteral<"la-v1.1.0">;
600
+ salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
601
+ }>, import("@sinclair/typebox").TObject<{
602
+ accountType: import("@sinclair/typebox").TLiteral<"ma-v1-multi-owner">;
603
+ salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
604
+ initialOwners: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>>;
562
605
  }>, import("@sinclair/typebox").TObject<{
563
606
  accountType: import("@sinclair/typebox").TLiteral<"7702">;
564
607
  }>]>>;
@@ -646,6 +689,7 @@ export declare const wallet_createSession: import("@sinclair/typebox").TObject<{
646
689
  }>;
647
690
  ReturnType: import("@sinclair/typebox").TObject<{
648
691
  sessionId: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
692
+ chainId: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
649
693
  signatureRequest: import("@sinclair/typebox").TObject<{
650
694
  type: import("@sinclair/typebox").TLiteral<"eth_signTypedData_v4">;
651
695
  data: import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TObject<{
@@ -150,6 +150,7 @@ export const wallet_createSession = Type.Object({
150
150
  }),
151
151
  ReturnType: Type.Object({
152
152
  sessionId: TypeHex(),
153
+ chainId: TypeHex(),
153
154
  signatureRequest: TypeTypedDataSignatureRequest,
154
155
  }),
155
156
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/rpc/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,aAAa,EACb,iCAAiC,EACjC,iCAAiC,EACjC,0BAA0B,EAC1B,uBAAuB,EACvB,uBAAuB,EACvB,WAAW,EACX,0BAA0B,EAC1B,mBAAmB,EACnB,OAAO,EACP,sBAAsB,EACtB,6BAA6B,EAC7B,QAAQ,GACT,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC,MAAM,CACjD;IACE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC;QAChD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;YACjB,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,CAAC,KAAK,CAAC;oBACT,aAAa;oBACb,iCAAiC;oBACjC,iCAAiC;iBAClC,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC;oBACV,YAAY,EAAE,IAAI,CAAC,QAAQ,CACzB,IAAI,CAAC,MAAM,CAAC;wBACV,WAAW,EAAE,IAAI,CAAC,QAAQ,CACxB,IAAI,CAAC,KAAK,CAAC,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC,CACnD;qBACF,CAAC,CACH;iBACF,CAAC;aACH,CAAC;SACH,CAAC;KACH,CAAC;IACF,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;QACtB,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;KACvC,CAAC;CACH,EACD;IACE,WAAW,EACT,8GAA8G;IAChH,QAAQ,EAAE,QAAQ,CAAC,iBAAiB;CACrC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAC5C;IACE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC;QAC3C,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC;gBACV,KAAK,EAAE,IAAI,CAAC,KAAK,CACf,IAAI,CAAC,MAAM,CAAC;oBACV,EAAE,EAAE,WAAW;oBACf,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;oBAC9B,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;iBAChC,CAAC,CACH;gBACD,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,OAAO,EAAE;gBAClB,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;aAC1C,CAAC;SACH,CAAC;KACH,CAAC;IACF,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC;QACrB,IAAI,CAAC,MAAM,CACT;YACE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAC3B,IAAI,EAAE,IAAI,CAAC,KAAK,CACd,IAAI,CAAC,KAAK,CAAC;gBACT,uBAAuB;gBACvB,uBAAuB;gBACvB,0BAA0B;aAC3B,CAAC,CACH;SACF,EACD,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAC3C;QACD,uBAAuB;QACvB,uBAAuB;KACxB,CAAC;CACH,EACD;IACE,WAAW,EACT,kNAAkN;IACpN,QAAQ,EAAE,QAAQ,CAAC,YAAY;CAChC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAC9C;IACE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC;QAC7C,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC;gBACT,IAAI,CAAC,MAAM,CACT;oBACE,aAAa,EAAE,WAAW;oBAC1B,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAC3B,YAAY,EAAE,mBAAmB;oBACjC,yBAAyB,EAAE,IAAI,CAAC,QAAQ,CACtC,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CACjC;iBACF,EACD;oBACE,WAAW,EAAE,sBAAsB;iBACpC,CACF;gBACD,IAAI,CAAC,MAAM,CACT;oBACE,cAAc,EAAE,WAAW;oBAC3B,yBAAyB,EAAE,IAAI,CAAC,QAAQ,CACtC,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CACjC;iBACF,EACD;oBACE,WAAW,EAAE,sCAAsC;iBACpD,CACF;aACF,CAAC;SACH,CAAC;KACH,CAAC;IACF,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;QACtB,cAAc,EAAE,WAAW;QAC3B,EAAE,EAAE,QAAQ;QACZ,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACzD,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;KACvC,CAAC;CACH,EACD;IACE,WAAW,EAAE,8NAA8N;IAC3O,QAAQ,EAAE,QAAQ,CAAC,cAAc;CAClC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAC7C;IACE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC;QAC5C,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC;gBACV,aAAa,EAAE,WAAW;gBAC1B,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAC3B,eAAe,EAAE,mBAAmB;aACrC,CAAC;SACH,CAAC;KACH,CAAC;IACF,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;QACtB,cAAc,EAAE,WAAW;QAC3B,EAAE,EAAE,QAAQ;KACb,CAAC;CACH,EACD;IACE,WAAW,EAAE,2LAA2L;IACxM,QAAQ,EAAE,QAAQ,CAAC,aAAa;CACjC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAC5C;IACE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC;QAC3C,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC;gBACV,aAAa,EAAE,WAAW;gBAC1B,KAAK,EAAE,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CACxD;gBACD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC;aACjD,CAAC;SACH,CAAC;KACH,CAAC;IACF,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;QACtB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAClB,IAAI,CAAC,MAAM,CAAC;YACV,cAAc,EAAE,WAAW;YAC3B,EAAE,EAAE,QAAQ;SACb,CAAC,CACH;QACD,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YAChB,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE;YAC1B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,0BAA0B,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;SAC7D,CAAC;KACH,CAAC;CACH,EACD;IACE,WAAW,EACT,oEAAoE;IACtE,QAAQ,EAAE,QAAQ,CAAC,YAAY;CAChC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAC7C;IACE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC;QAC5C,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;YACjB,IAAI,CAAC,SAAS,CAAC;gBACb,eAAe;gBACf,IAAI,CAAC,MAAM,CAAC;oBACV,OAAO,EAAE,WAAW;iBACrB,CAAC;aACH,CAAC;SACH,CAAC;KACH,CAAC;IACF,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;QACtB,SAAS,EAAE,OAAO,EAAE;QACpB,gBAAgB,EAAE,6BAA6B;KAChD,CAAC;CACH,EACD;IACE,WAAW,EACT,yFAAyF;IAC3F,QAAQ,EAAE,QAAQ,CAAC,aAAa;CACjC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAC9C;IACE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC;QAC7C,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;YACjB,OAAO,CAAC;gBACN,WAAW,EAAE,oDAAoD;aAClE,CAAC;SACH,CAAC;KACH,CAAC;IACF,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;QACtB,EAAE,EAAE,OAAO,EAAE;QACb,OAAO,EAAE,OAAO,EAAE;QAClB,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE;QACtB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gBAChB,KAAK,EAAE,SAAS;gBAChB,WAAW,EACT,+EAA+E;aAClF,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gBAChB,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,4FAA4F;aAC/F,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gBAChB,KAAK,EAAE,kBAAkB;gBACzB,WAAW,EACT,+DAA+D;aAClE,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gBAChB,KAAK,EAAE,iBAAiB;gBACxB,WAAW,EACT,mGAAmG;aACtG,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gBAChB,KAAK,EAAE,yBAAyB;gBAChC,WAAW,EACT,mGAAmG;aACtG,CAAC;SACH,CAAC;QACF,QAAQ,EAAE,IAAI,CAAC,QAAQ,CACrB,IAAI,CAAC,KAAK,CACR,IAAI,CAAC,MAAM,CAAC;YACV,IAAI,EAAE,IAAI,CAAC,KAAK,CACd,IAAI,CAAC,MAAM,CAAC;gBACV,OAAO,EAAE,WAAW;gBACpB,IAAI,EAAE,OAAO,EAAE;gBACf,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;aAC9B,CAAC,CACH;YACD,MAAM,EAAE,OAAO,CAAC;gBACd,WAAW,EAAE,kCAAkC;aAChD,CAAC;YACF,SAAS,EAAE,OAAO,EAAE;YACpB,WAAW,EAAE,OAAO,EAAE;YACtB,OAAO,EAAE,OAAO,EAAE;YAClB,eAAe,EAAE,OAAO,EAAE;SAC3B,CAAC,CACH,CACF;KACF,CAAC;CACH,EACD;IACE,WAAW,EACT,4FAA4F;IAC9F,QAAQ,EAAE,QAAQ,CAAC,cAAc;CAClC,CACF,CAAC","sourcesContent":["import { Type } from \"@sinclair/typebox\";\nimport { Capabilities } from \"../capabilities/index.js\";\nimport {\n PermissionsContext,\n PermissionsData,\n RemotePermission,\n} from \"../capabilities/permissions/index.js\";\nimport {\n TypeCallArray,\n TypePrepareCall_UserOpV060_Signed,\n TypePrepareCall_UserOpV070_Signed,\n PreparedCall_Authorization,\n PreparedCall_UserOpV060,\n PreparedCall_UserOpV070,\n TypeAddress,\n TypeBase64UrlEncodedString,\n TypeCreationOptions,\n TypeHex,\n TypeSerializedInitcode,\n TypeTypedDataSignatureRequest,\n TypeUuid,\n} from \"../schemas.js\";\nimport { Examples } from \"./examples.js\";\n\nexport const wallet_sendPreparedCalls = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_sendPreparedCalls\"),\n params: Type.Tuple([\n Type.Intersect([\n Type.Union([\n TypeCallArray,\n TypePrepareCall_UserOpV060_Signed,\n TypePrepareCall_UserOpV070_Signed,\n ]),\n Type.Object({\n capabilities: Type.Optional(\n Type.Object({\n permissions: Type.Optional(\n Type.Union([PermissionsContext, RemotePermission]),\n ),\n }),\n ),\n }),\n ]),\n ]),\n }),\n ReturnType: Type.Object({\n preparedCallIds: Type.Array(TypeHex()),\n }),\n },\n {\n description:\n \"This method is used after signing the signatureRequest returned from prepareCalls to submit a user operation\",\n examples: Examples.SendPreparedCalls,\n },\n);\n\nexport const wallet_prepareCalls = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_prepareCalls\"),\n params: Type.Tuple([\n Type.Object({\n calls: Type.Array(\n Type.Object({\n to: TypeAddress,\n data: Type.Optional(TypeHex()),\n value: Type.Optional(TypeHex()),\n }),\n ),\n from: TypeAddress,\n chainId: TypeHex(),\n capabilities: Type.Optional(Capabilities),\n }),\n ]),\n }),\n ReturnType: Type.Union([\n Type.Object(\n {\n type: Type.Literal(\"array\"),\n data: Type.Array(\n Type.Union([\n PreparedCall_UserOpV060,\n PreparedCall_UserOpV070,\n PreparedCall_Authorization,\n ]),\n ),\n },\n { description: \"Array of prepared calls\" },\n ),\n PreparedCall_UserOpV060,\n PreparedCall_UserOpV070,\n ]),\n },\n {\n description:\n \"This method is used to prepare a user operation for submission. It will return a built user operation and a signature request which needs to be signed by the user before submitting to wallet_sendPreparedCalls\",\n examples: Examples.PrepareCalls,\n },\n);\n\nexport const wallet_requestAccount = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_requestAccount\"),\n params: Type.Tuple([\n Type.Union([\n Type.Object(\n {\n signerAddress: TypeAddress,\n id: Type.Optional(TypeUuid),\n creationHint: TypeCreationOptions,\n includeCounterfactualInfo: Type.Optional(\n Type.Boolean({ default: false }),\n ),\n },\n {\n description: \"Using signer address\",\n },\n ),\n Type.Object(\n {\n accountAddress: TypeAddress,\n includeCounterfactualInfo: Type.Optional(\n Type.Boolean({ default: false }),\n ),\n },\n {\n description: \"Using smart contract account address\",\n },\n ),\n ]),\n ]),\n }),\n ReturnType: Type.Object({\n accountAddress: TypeAddress,\n id: TypeUuid,\n counterfactualInfo: Type.Optional(TypeSerializedInitcode),\n delegation: Type.Optional(TypeAddress),\n }),\n },\n {\n description: `This method is used to get the smart account address and relevant info for a given signer. If an account does not already exist for a given signer, this method will create one before returning the counterfactual address.`,\n examples: Examples.RequestAccount,\n },\n);\n\nexport const wallet_createAccount = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_createAccount\"),\n params: Type.Tuple([\n Type.Object({\n signerAddress: TypeAddress,\n id: Type.Optional(TypeUuid),\n creationOptions: TypeCreationOptions,\n }),\n ]),\n }),\n ReturnType: Type.Object({\n accountAddress: TypeAddress,\n id: TypeUuid,\n }),\n },\n {\n description: `This method is used to create a smart account for a given signer. This method is primarly used to import existing accounts. For most cases, you should use wallet_requestAccount instead.`,\n examples: Examples.CreateAccount,\n },\n);\n\nexport const wallet_listAccounts = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_listAccounts\"),\n params: Type.Tuple([\n Type.Object({\n signerAddress: TypeAddress,\n limit: Type.Optional(\n Type.Number({ minimum: 1, maximum: 100, default: 100 }),\n ),\n after: Type.Optional(TypeBase64UrlEncodedString),\n }),\n ]),\n }),\n ReturnType: Type.Object({\n accounts: Type.Array(\n Type.Object({\n accountAddress: TypeAddress,\n id: TypeUuid,\n }),\n ),\n meta: Type.Object({\n totalCount: Type.Integer(),\n after: Type.Union([TypeBase64UrlEncodedString, Type.Null()]),\n }),\n }),\n },\n {\n description:\n \"This method is used to list all smart accounts for a given signer.\",\n examples: Examples.ListAccounts,\n },\n);\n\nexport const wallet_createSession = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_createSession\"),\n params: Type.Tuple([\n Type.Intersect([\n PermissionsData,\n Type.Object({\n account: TypeAddress,\n }),\n ]),\n ]),\n }),\n ReturnType: Type.Object({\n sessionId: TypeHex(),\n signatureRequest: TypeTypedDataSignatureRequest,\n }),\n },\n {\n description:\n \"This method is used to create a session for a given address with specified permissions.\",\n examples: Examples.CreateSession,\n },\n);\n\nexport const wallet_getCallsStatus = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_getCallsStatus\"),\n params: Type.Tuple([\n TypeHex({\n description: \"The call ID returned from wallet_sendPreparedCalls\",\n }),\n ]),\n }),\n ReturnType: Type.Object({\n id: TypeHex(),\n chainId: TypeHex(),\n atomic: Type.Boolean(),\n status: Type.Union([\n Type.Literal(100, {\n title: \"Pending\",\n description:\n \"Batch has been received by the wallet but has not completed execution onchain\",\n }),\n Type.Literal(200, {\n title: \"Confirmed\",\n description:\n \"Batch has been included onchain without reverts, receipts array contains info of all calls\",\n }),\n Type.Literal(400, {\n title: \"Offchain Failure\",\n description:\n \"Batch has not been included onchain and wallet will not retry\",\n }),\n Type.Literal(500, {\n title: \"Onchain Failure\",\n description:\n \"Batch reverted *completely* and only changes related to gas charge may have been included onchain\",\n }),\n Type.Literal(600, {\n title: \"Partial Onchain Failure\",\n description:\n \"Batch reverted *partially* and some changes related to batch calls may have been included onchain\",\n }),\n ]),\n receipts: Type.Optional(\n Type.Array(\n Type.Object({\n logs: Type.Array(\n Type.Object({\n address: TypeAddress,\n data: TypeHex(),\n topics: Type.Array(TypeHex()),\n }),\n ),\n status: TypeHex({\n description: \"0x1 for success, 0x0 for failure\",\n }),\n blockHash: TypeHex(),\n blockNumber: TypeHex(),\n gasUsed: TypeHex(),\n transactionHash: TypeHex(),\n }),\n ),\n ),\n }),\n },\n {\n description:\n \"This method is used to get the status of calls IDs returned from wallet_sendPreparedCalls.\",\n examples: Examples.GetCallsStatus,\n },\n);\n"]}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/rpc/request.ts"],"names":[],"mappings":"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","sourcesContent":["import { Type } from \"@sinclair/typebox\";\nimport { Capabilities } from \"../capabilities/index.js\";\nimport {\n PermissionsContext,\n PermissionsData,\n RemotePermission,\n} from \"../capabilities/permissions/index.js\";\nimport {\n TypeCallArray,\n TypePrepareCall_UserOpV060_Signed,\n TypePrepareCall_UserOpV070_Signed,\n PreparedCall_Authorization,\n PreparedCall_UserOpV060,\n PreparedCall_UserOpV070,\n TypeAddress,\n TypeBase64UrlEncodedString,\n TypeCreationOptions,\n TypeHex,\n TypeSerializedInitcode,\n TypeTypedDataSignatureRequest,\n TypeUuid,\n} from \"../schemas.js\";\nimport { Examples } from \"./examples.js\";\n\nexport const wallet_sendPreparedCalls = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_sendPreparedCalls\"),\n params: Type.Tuple([\n Type.Intersect([\n Type.Union([\n TypeCallArray,\n TypePrepareCall_UserOpV060_Signed,\n TypePrepareCall_UserOpV070_Signed,\n ]),\n Type.Object({\n capabilities: Type.Optional(\n Type.Object({\n permissions: Type.Optional(\n Type.Union([PermissionsContext, RemotePermission]),\n ),\n }),\n ),\n }),\n ]),\n ]),\n }),\n ReturnType: Type.Object({\n preparedCallIds: Type.Array(TypeHex()),\n }),\n },\n {\n description:\n \"This method is used after signing the signatureRequest returned from prepareCalls to submit a user operation\",\n examples: Examples.SendPreparedCalls,\n },\n);\n\nexport const wallet_prepareCalls = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_prepareCalls\"),\n params: Type.Tuple([\n Type.Object({\n calls: Type.Array(\n Type.Object({\n to: TypeAddress,\n data: Type.Optional(TypeHex()),\n value: Type.Optional(TypeHex()),\n }),\n ),\n from: TypeAddress,\n chainId: TypeHex(),\n capabilities: Type.Optional(Capabilities),\n }),\n ]),\n }),\n ReturnType: Type.Union([\n Type.Object(\n {\n type: Type.Literal(\"array\"),\n data: Type.Array(\n Type.Union([\n PreparedCall_UserOpV060,\n PreparedCall_UserOpV070,\n PreparedCall_Authorization,\n ]),\n ),\n },\n { description: \"Array of prepared calls\" },\n ),\n PreparedCall_UserOpV060,\n PreparedCall_UserOpV070,\n ]),\n },\n {\n description:\n \"This method is used to prepare a user operation for submission. It will return a built user operation and a signature request which needs to be signed by the user before submitting to wallet_sendPreparedCalls\",\n examples: Examples.PrepareCalls,\n },\n);\n\nexport const wallet_requestAccount = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_requestAccount\"),\n params: Type.Tuple([\n Type.Union([\n Type.Object(\n {\n signerAddress: TypeAddress,\n id: Type.Optional(TypeUuid),\n creationHint: TypeCreationOptions,\n includeCounterfactualInfo: Type.Optional(\n Type.Boolean({ default: false }),\n ),\n },\n {\n description: \"Using signer address\",\n },\n ),\n Type.Object(\n {\n accountAddress: TypeAddress,\n includeCounterfactualInfo: Type.Optional(\n Type.Boolean({ default: false }),\n ),\n },\n {\n description: \"Using smart contract account address\",\n },\n ),\n ]),\n ]),\n }),\n ReturnType: Type.Object({\n accountAddress: TypeAddress,\n id: TypeUuid,\n counterfactualInfo: Type.Optional(TypeSerializedInitcode),\n delegation: Type.Optional(TypeAddress),\n }),\n },\n {\n description: `This method is used to get the smart account address and relevant info for a given signer. If an account does not already exist for a given signer, this method will create one before returning the counterfactual address.`,\n examples: Examples.RequestAccount,\n },\n);\n\nexport const wallet_createAccount = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_createAccount\"),\n params: Type.Tuple([\n Type.Object({\n signerAddress: TypeAddress,\n id: Type.Optional(TypeUuid),\n creationOptions: TypeCreationOptions,\n }),\n ]),\n }),\n ReturnType: Type.Object({\n accountAddress: TypeAddress,\n id: TypeUuid,\n }),\n },\n {\n description: `This method is used to create a smart account for a given signer. This method is primarly used to import existing accounts. For most cases, you should use wallet_requestAccount instead.`,\n examples: Examples.CreateAccount,\n },\n);\n\nexport const wallet_listAccounts = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_listAccounts\"),\n params: Type.Tuple([\n Type.Object({\n signerAddress: TypeAddress,\n limit: Type.Optional(\n Type.Number({ minimum: 1, maximum: 100, default: 100 }),\n ),\n after: Type.Optional(TypeBase64UrlEncodedString),\n }),\n ]),\n }),\n ReturnType: Type.Object({\n accounts: Type.Array(\n Type.Object({\n accountAddress: TypeAddress,\n id: TypeUuid,\n }),\n ),\n meta: Type.Object({\n totalCount: Type.Integer(),\n after: Type.Union([TypeBase64UrlEncodedString, Type.Null()]),\n }),\n }),\n },\n {\n description:\n \"This method is used to list all smart accounts for a given signer.\",\n examples: Examples.ListAccounts,\n },\n);\n\nexport const wallet_createSession = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_createSession\"),\n params: Type.Tuple([\n Type.Intersect([\n PermissionsData,\n Type.Object({\n account: TypeAddress,\n }),\n ]),\n ]),\n }),\n ReturnType: Type.Object({\n sessionId: TypeHex(),\n chainId: TypeHex(),\n signatureRequest: TypeTypedDataSignatureRequest,\n }),\n },\n {\n description:\n \"This method is used to create a session for a given address with specified permissions.\",\n examples: Examples.CreateSession,\n },\n);\n\nexport const wallet_getCallsStatus = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_getCallsStatus\"),\n params: Type.Tuple([\n TypeHex({\n description: \"The call ID returned from wallet_sendPreparedCalls\",\n }),\n ]),\n }),\n ReturnType: Type.Object({\n id: TypeHex(),\n chainId: TypeHex(),\n atomic: Type.Boolean(),\n status: Type.Union([\n Type.Literal(100, {\n title: \"Pending\",\n description:\n \"Batch has been received by the wallet but has not completed execution onchain\",\n }),\n Type.Literal(200, {\n title: \"Confirmed\",\n description:\n \"Batch has been included onchain without reverts, receipts array contains info of all calls\",\n }),\n Type.Literal(400, {\n title: \"Offchain Failure\",\n description:\n \"Batch has not been included onchain and wallet will not retry\",\n }),\n Type.Literal(500, {\n title: \"Onchain Failure\",\n description:\n \"Batch reverted *completely* and only changes related to gas charge may have been included onchain\",\n }),\n Type.Literal(600, {\n title: \"Partial Onchain Failure\",\n description:\n \"Batch reverted *partially* and some changes related to batch calls may have been included onchain\",\n }),\n ]),\n receipts: Type.Optional(\n Type.Array(\n Type.Object({\n logs: Type.Array(\n Type.Object({\n address: TypeAddress,\n data: TypeHex(),\n topics: Type.Array(TypeHex()),\n }),\n ),\n status: TypeHex({\n description: \"0x1 for success, 0x0 for failure\",\n }),\n blockHash: TypeHex(),\n blockNumber: TypeHex(),\n gasUsed: TypeHex(),\n transactionHash: TypeHex(),\n }),\n ),\n ),\n }),\n },\n {\n description:\n \"This method is used to get the status of calls IDs returned from wallet_sendPreparedCalls.\",\n examples: Examples.GetCallsStatus,\n },\n);\n"]}
@@ -38,6 +38,9 @@ export declare const WalletServerRpcSchema: {
38
38
  multiplier: number;
39
39
  } | undefined;
40
40
  } | undefined;
41
+ nonceOverride?: {
42
+ nonceKey: `0x${string}`;
43
+ } | undefined;
41
44
  } | undefined;
42
45
  chainId: `0x${string}`;
43
46
  calls: {
@@ -469,7 +472,27 @@ export declare const WalletServerRpcSchema: {
469
472
  id?: string | undefined;
470
473
  creationOptions?: {
471
474
  salt?: `0x${string}` | undefined;
472
- accountType?: "sma-b" | "la-v2" | "la-v1.0.1" | "la-v1.0.2" | "la-v1.1.0" | undefined;
475
+ accountType?: "sma-b" | undefined;
476
+ } | {
477
+ salt?: `0x${string}` | undefined;
478
+ accountType: "la-v2";
479
+ } | {
480
+ salt?: `0x${string}` | undefined;
481
+ initialOwners?: `0x${string}`[] | undefined;
482
+ accountType: "la-v2-multi-owner";
483
+ } | {
484
+ salt?: `0x${string}` | undefined;
485
+ accountType: "la-v1.0.1";
486
+ } | {
487
+ salt?: `0x${string}` | undefined;
488
+ accountType: "la-v1.0.2";
489
+ } | {
490
+ salt?: `0x${string}` | undefined;
491
+ accountType: "la-v1.1.0";
492
+ } | {
493
+ salt?: `0x${string}` | undefined;
494
+ initialOwners?: `0x${string}`[] | undefined;
495
+ accountType: "ma-v1-multi-owner";
473
496
  } | {
474
497
  accountType: "7702";
475
498
  } | undefined;
@@ -487,7 +510,27 @@ export declare const WalletServerRpcSchema: {
487
510
  id?: string | undefined;
488
511
  creationHint?: {
489
512
  salt?: `0x${string}` | undefined;
490
- accountType?: "sma-b" | "la-v2" | "la-v1.0.1" | "la-v1.0.2" | "la-v1.1.0" | undefined;
513
+ accountType?: "sma-b" | undefined;
514
+ } | {
515
+ salt?: `0x${string}` | undefined;
516
+ accountType: "la-v2";
517
+ } | {
518
+ salt?: `0x${string}` | undefined;
519
+ initialOwners?: `0x${string}`[] | undefined;
520
+ accountType: "la-v2-multi-owner";
521
+ } | {
522
+ salt?: `0x${string}` | undefined;
523
+ accountType: "la-v1.0.1";
524
+ } | {
525
+ salt?: `0x${string}` | undefined;
526
+ accountType: "la-v1.0.2";
527
+ } | {
528
+ salt?: `0x${string}` | undefined;
529
+ accountType: "la-v1.1.0";
530
+ } | {
531
+ salt?: `0x${string}` | undefined;
532
+ initialOwners?: `0x${string}`[] | undefined;
533
+ accountType: "ma-v1-multi-owner";
491
534
  } | {
492
535
  accountType: "7702";
493
536
  } | undefined;
@@ -584,6 +627,7 @@ export declare const WalletServerRpcSchema: {
584
627
  method: "wallet_createSession";
585
628
  };
586
629
  ReturnType: {
630
+ chainId: `0x${string}`;
587
631
  signatureRequest: {
588
632
  type: "eth_signTypedData_v4";
589
633
  data: {
@@ -1,7 +1,7 @@
1
1
  import { type SchemaOptions, type Static } from "@sinclair/typebox";
2
- export declare const baseAccountTypes: readonly ["sma-b", "la-v2", "la-v1.0.1", "la-v1.0.2", "la-v1.1.0"];
2
+ export declare const baseAccountTypes: readonly ["sma-b", "la-v2", "la-v2-multi-owner", "la-v1.0.1", "la-v1.0.2", "la-v1.1.0", "ma-v1-multi-owner"];
3
3
  export type BaseAccountType = (typeof baseAccountTypes)[number];
4
- export declare const accountTypes: readonly ["sma-b", "la-v2", "la-v1.0.1", "la-v1.0.2", "la-v1.1.0", "7702"];
4
+ export declare const accountTypes: readonly ["sma-b", "la-v2", "la-v2-multi-owner", "la-v1.0.1", "la-v1.0.2", "la-v1.1.0", "ma-v1-multi-owner", "7702"];
5
5
  export type AccountType = (typeof accountTypes)[number];
6
6
  export declare const TypeHex: (options?: SchemaOptions) => import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
7
7
  export declare const TypeAddress: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
@@ -145,13 +145,32 @@ export declare const TypeCounterfactualInfo: import("@sinclair/typebox").TInters
145
145
  }>]>]>;
146
146
  export type TypeCounterfactualInfo = Static<typeof TypeCounterfactualInfo>;
147
147
  export declare const TypeCreationOptions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
148
- accountType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<"sma-b" | "la-v2" | "la-v1.0.1" | "la-v1.0.2" | "la-v1.1.0">[]>>;
148
+ accountType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<"sma-b">>;
149
149
  salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
150
+ }>, import("@sinclair/typebox").TObject<{
151
+ accountType: import("@sinclair/typebox").TLiteral<"la-v2">;
152
+ salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
153
+ }>, import("@sinclair/typebox").TObject<{
154
+ accountType: import("@sinclair/typebox").TLiteral<"la-v2-multi-owner">;
155
+ salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
156
+ initialOwners: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>>;
157
+ }>, import("@sinclair/typebox").TObject<{
158
+ accountType: import("@sinclair/typebox").TLiteral<"la-v1.0.1">;
159
+ salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
160
+ }>, import("@sinclair/typebox").TObject<{
161
+ accountType: import("@sinclair/typebox").TLiteral<"la-v1.0.2">;
162
+ salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
163
+ }>, import("@sinclair/typebox").TObject<{
164
+ accountType: import("@sinclair/typebox").TLiteral<"la-v1.1.0">;
165
+ salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
166
+ }>, import("@sinclair/typebox").TObject<{
167
+ accountType: import("@sinclair/typebox").TLiteral<"ma-v1-multi-owner">;
168
+ salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
169
+ initialOwners: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>>;
150
170
  }>, import("@sinclair/typebox").TObject<{
151
171
  accountType: import("@sinclair/typebox").TLiteral<"7702">;
152
172
  }>]>>;
153
173
  export type TypeCreationOptions = Static<typeof TypeCreationOptions>;
154
- export type TypeAccountType = Exclude<Static<typeof TypeCreationOptions>, undefined>["accountType"];
155
174
  export declare const TypeSignatureType: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"secp256k1">, import("@sinclair/typebox").TLiteral<"ecdsa">, import("@sinclair/typebox").TLiteral<"contract">]>;
156
175
  export type TypeSignatureType = Static<typeof TypeSignatureType>;
157
176
  export declare const KeySigner: import("@sinclair/typebox").TObject<{
@@ -8,9 +8,11 @@ FormatRegistry.Set("base64url", (value) => BASE_64_URL_REGEX.test(value));
8
8
  export const baseAccountTypes = [
9
9
  "sma-b",
10
10
  "la-v2",
11
+ "la-v2-multi-owner",
11
12
  "la-v1.0.1",
12
13
  "la-v1.0.2",
13
14
  "la-v1.1.0",
15
+ "ma-v1-multi-owner",
14
16
  ];
15
17
  export const accountTypes = [...baseAccountTypes, "7702"];
16
18
  export const TypeHex = (options) => Type.TemplateLiteral("0x${string}", {
@@ -215,10 +217,52 @@ export const TypeCounterfactualInfo = Type.Intersect([
215
217
  export const TypeCreationOptions = Type.Optional(Type.Union([
216
218
  Type.Object({
217
219
  // Optional b/c `sma-b` is the default if no accountType is specified.
218
- accountType: Type.Optional(Type.Union(baseAccountTypes.map((lit) => Type.Literal(lit)))),
220
+ accountType: Type.Optional(Type.Literal("sma-b")),
219
221
  salt: Type.Optional(TypeHex()),
220
222
  }, {
221
- description: "SMA-B account type",
223
+ description: "Modular Account V2 SMA-B account type",
224
+ }),
225
+ Type.Object({
226
+ accountType: Type.Literal("la-v2"),
227
+ salt: Type.Optional(TypeHex()),
228
+ }, {
229
+ description: "Light Account V2 account type",
230
+ }),
231
+ Type.Object({
232
+ accountType: Type.Literal("la-v2-multi-owner"),
233
+ salt: Type.Optional(TypeHex()),
234
+ initialOwners: Type.Optional(Type.Array(TypeAddress, {
235
+ description: "The initial owners of the account. The signer address will be implicitly added if not specified in this list.",
236
+ })),
237
+ }, {
238
+ description: "Light Account V2 Multi-Owner account type",
239
+ }),
240
+ Type.Object({
241
+ accountType: Type.Literal("la-v1.0.1"),
242
+ salt: Type.Optional(TypeHex()),
243
+ }, {
244
+ description: "Light Account V1.0.1 account type",
245
+ }),
246
+ Type.Object({
247
+ accountType: Type.Literal("la-v1.0.2"),
248
+ salt: Type.Optional(TypeHex()),
249
+ }, {
250
+ description: "Light Account V1.0.2 account type",
251
+ }),
252
+ Type.Object({
253
+ accountType: Type.Literal("la-v1.1.0"),
254
+ salt: Type.Optional(TypeHex()),
255
+ }, {
256
+ description: "Light Account V1.1.0 account type",
257
+ }),
258
+ Type.Object({
259
+ accountType: Type.Literal("ma-v1-multi-owner"),
260
+ salt: Type.Optional(TypeHex()),
261
+ initialOwners: Type.Optional(Type.Array(TypeAddress, {
262
+ description: "The initial owners of the account. The signer address will be implicitly added if not specified in this list.",
263
+ })),
264
+ }, {
265
+ description: "Modular Account V1 Multi-Owner account type",
222
266
  }),
223
267
  Type.Object({
224
268
  accountType: Type.Literal("7702"),
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n FormatRegistry,\n Type,\n type SchemaOptions,\n type Static,\n} from \"@sinclair/typebox\";\nimport { yParityToV } from \"ox/Signature\";\nimport {\n toHex,\n slice,\n pad,\n concat,\n hexToBigInt,\n serializeSignature,\n hexToNumber,\n parseSignature,\n numberToHex,\n} from \"viem\";\n\nconst UUID_V4_REGEX =\n /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\nFormatRegistry.Set(\"uuid\", (value) => UUID_V4_REGEX.test(value));\n\nconst BASE_64_URL_REGEX = /^[A-Za-z0-9_-]+$/; // Matches base64url encoded strings (without padding)\nFormatRegistry.Set(\"base64url\", (value) => BASE_64_URL_REGEX.test(value));\n\nexport const baseAccountTypes = [\n \"sma-b\",\n \"la-v2\",\n \"la-v1.0.1\",\n \"la-v1.0.2\",\n \"la-v1.1.0\",\n] as const;\n\nexport type BaseAccountType = (typeof baseAccountTypes)[number];\n\nexport const accountTypes = [...baseAccountTypes, \"7702\"] as const;\n\nexport type AccountType = (typeof accountTypes)[number];\n\nexport const TypeHex = (options?: SchemaOptions) =>\n Type.TemplateLiteral(\"0x${string}\", {\n ...options,\n });\n\nexport const TypeAddress = Type.TemplateLiteral(\"0x${string}\", {});\n\nexport const TypeUuid = Type.String({\n format: \"uuid\",\n});\n\nexport const TypeBase64UrlEncodedString = Type.String({\n format: \"base64url\",\n});\n\n// BigInt is not json-serializable, so it must be encoded as a string.\nexport const TypeU256 = Type.Transform(Type.String({}))\n .Decode((value) => BigInt(value))\n .Encode((value) => toHex(value));\n\nexport const TypeU32 = Type.Transform(Type.String({}))\n .Decode((value) => Number.parseInt(value, 16))\n .Encode((value) => toHex(value));\n\nexport const TypeUserOperationRequest_v6 = Type.Object({\n sender: TypeAddress,\n nonce: TypeHex(),\n initCode: Type.Union([\n TypeHex({\n description: \"Present\",\n }),\n Type.Literal(\"0x\", {\n description: \"Absent\",\n }),\n ]),\n callData: TypeHex(),\n callGasLimit: TypeHex(),\n verificationGasLimit: TypeHex(),\n preVerificationGas: TypeHex(),\n maxFeePerGas: TypeHex(),\n maxPriorityFeePerGas: TypeHex(),\n paymasterAndData: Type.Union([\n TypeHex({\n description: \"Present\",\n }),\n Type.Literal(\"0x\", {\n description: \"Absent\",\n }),\n ]),\n signature: TypeHex(),\n});\n\nexport const TypeUserOperationRequest_v7 = Type.Object({\n sender: TypeAddress,\n nonce: TypeHex(),\n factory: Type.Optional(TypeAddress),\n factoryData: Type.Optional(TypeHex()),\n callData: TypeHex(),\n callGasLimit: TypeHex(),\n verificationGasLimit: TypeHex(),\n preVerificationGas: TypeHex(),\n maxFeePerGas: TypeHex(),\n maxPriorityFeePerGas: TypeHex(),\n paymaster: Type.Optional(TypeAddress),\n paymasterData: Type.Optional(TypeHex()),\n paymasterVerificationGasLimit: Type.Optional(TypeHex()),\n paymasterPostOpGasLimit: Type.Optional(TypeHex()),\n signature: TypeHex(),\n});\n\nexport const TypeEip7702UnsignedAuth = Type.Object({\n chainId: TypeHex(),\n address: TypeAddress,\n nonce: TypeHex(),\n});\n\nexport const TypeEip7702SignedAuth = Type.Intersect([\n TypeEip7702UnsignedAuth,\n Type.Object({\n r: TypeHex(),\n s: TypeHex(),\n yParity: TypeHex(),\n }),\n]);\n\nexport const TypeWebAuthnPublicKey = Type.Object({\n x: TypeU256,\n y: TypeU256,\n});\n\nexport const TypePersistedInitcode = Type.Object({\n factoryAddress: TypeAddress,\n initcode: Type.Union([\n Type.Object(\n {\n factoryType: Type.Literal(\"unknown\", {\n description: \"Unknown factory type\",\n }),\n factoryData: TypeHex({}),\n },\n {\n description: \"Unknown factory type\",\n },\n ),\n Type.Object(\n {\n factoryType: Type.Union([\n Type.Literal(\"LightAccountV2.0.0\"),\n Type.Literal(\"LightAccountV1.1.0\"),\n Type.Literal(\"LightAccountV1.0.2\"),\n Type.Literal(\"LightAccountV1.0.1\"),\n ]),\n salt: TypeU256,\n initialOwner: TypeAddress,\n },\n {\n description: \"Light Account\",\n },\n ),\n Type.Object(\n {\n factoryType: Type.Union([\n Type.Literal(\"MAv1.0.0-MultiOwner\"),\n Type.Literal(\"LightAccountV2.0.0-MultiOwner\"),\n ]),\n salt: TypeU256,\n initialOwners: Type.Array(TypeAddress),\n },\n {\n description: \"Multi-Owner Modular Account\",\n },\n ),\n Type.Object(\n {\n factoryType: Type.Literal(\"MAv1.0.0-MultiSig\"),\n salt: TypeU256,\n initialOwners: Type.Array(TypeAddress),\n threshold: TypeU256,\n },\n {\n description: \"Multi-Sig Modular Account\",\n },\n ),\n Type.Intersect([\n Type.Object({\n factoryType: Type.Literal(\"MAv2.0.0\"),\n salt: TypeU256,\n }),\n Type.Union([\n Type.Object(\n {\n mav2type: Type.Literal(\"ma-ssv\"),\n initialOwner: TypeAddress,\n entityId: TypeU32,\n },\n {\n description: \"Modular Account V2 SSV\",\n },\n ),\n Type.Object(\n {\n mav2type: Type.Literal(\"sma-b\"),\n initialOwner: TypeAddress,\n },\n {\n description: \"Modular Account V2 SMA-B\",\n },\n ),\n Type.Object(\n {\n mav2type: Type.Literal(\"ma-webauthn\"),\n initialOwner: TypeWebAuthnPublicKey,\n entityId: TypeU32,\n },\n {\n description: \"Modular Account V2 WebAuthn\",\n },\n ),\n ]),\n ]),\n ]),\n});\n\nexport const TypeSerializedInitcode = Type.Object({\n factoryType: Type.Union([\n Type.Literal(\"LightAccountV1.0.1\", { description: \"Light Account v1.0.1\" }),\n Type.Literal(\"LightAccountV1.0.2\", { description: \"Light Account v1.0.2\" }),\n Type.Literal(\"LightAccountV1.1.0\", { description: \"Light Account v1.1.0\" }),\n Type.Literal(\"LightAccountV2.0.0\", { description: \"Light Account v2.0.0\" }),\n Type.Literal(\"LightAccountV2.0.0-MultiOwner\", {\n description: \"Light Account v2.0.0 MultiOwner\",\n }),\n Type.Literal(\"MAv1.0.0-MultiOwner\", {\n description: \"Modular Account v1.0.0 MultiOwner\",\n }),\n Type.Literal(\"MAv1.0.0-MultiSig\", {\n description: \"Modular Account v1.0.0 MultiSig\",\n }),\n Type.Literal(\"MAv2.0.0-sma-b\", {\n description: \"Modular Account v2.0.0 SMA-B\",\n }),\n Type.Literal(\"MAv2.0.0-ma-ssv\", {\n description: \"Modular Account v2.0.0 SSV\",\n }),\n Type.Literal(\"MAv2.0.0-ma-webauthn\", {\n description: \"Modular Account v2.0.0 WebAuthn\",\n }),\n Type.Literal(\"unknown\", { description: \"Unknown factory type\" }),\n ]),\n factoryAddress: TypeAddress,\n factoryData: TypeHex({}),\n});\n\nexport const TypeCounterfactualInfo = Type.Intersect([\n Type.Object({\n accountAddress: TypeAddress,\n }),\n Type.Union([\n Type.Intersect(\n [\n Type.Object({\n type: Type.Literal(\"sca\"),\n }),\n TypePersistedInitcode,\n ],\n {\n description: \"Smart Contract Account\",\n },\n ),\n Type.Object(\n {\n type: Type.Literal(\"7702\"),\n implementationAddress: TypeAddress,\n },\n {\n description: \"7702 Account\",\n },\n ),\n ]),\n]);\nexport type TypeCounterfactualInfo = Static<typeof TypeCounterfactualInfo>;\n\nexport const TypeCreationOptions = Type.Optional(\n Type.Union([\n Type.Object(\n {\n // Optional b/c `sma-b` is the default if no accountType is specified.\n accountType: Type.Optional(\n Type.Union(baseAccountTypes.map((lit) => Type.Literal(lit))),\n ),\n salt: Type.Optional(TypeHex()),\n },\n {\n description: \"SMA-B account type\",\n },\n ),\n Type.Object(\n {\n accountType: Type.Literal(\"7702\"),\n // TODO: Add support for specifying a delegation address.\n // Currently we only support delegating to MAv2, and it's important\n // that wallet applications maintain a strict shortlist of well-known\n // accounts: https://github.com/ethereum/ERCs/pull/947/files#diff-dab085f963ca621595044bcbc0922705aa38b69f5bf8770dcb3d0496a633efcfR189\n // delegation: TypeAddress,\n },\n {\n description: \"7702 account type\",\n },\n ),\n ]),\n);\nexport type TypeCreationOptions = Static<typeof TypeCreationOptions>;\n\nexport type TypeAccountType = Exclude<\n Static<typeof TypeCreationOptions>,\n undefined\n>[\"accountType\"];\n\nexport const TypeSignatureType = Type.Union([\n Type.Literal(\"secp256k1\", { description: \"Secp256k1\" }),\n Type.Literal(\"ecdsa\", { description: \"ECDSA (alias for secp256k1)\" }),\n Type.Literal(\"contract\", { description: \"Contract\" }),\n]);\nexport type TypeSignatureType = Static<typeof TypeSignatureType>;\n\nexport const KeySigner = Type.Object({\n type: TypeSignatureType,\n publicKey: TypeHex({}),\n});\nexport type KeySigner = Static<typeof KeySigner>;\n\nexport const TTypedDataDefinition = Type.Transform(\n Type.Object({\n domain: Type.Optional(\n Type.Object({\n chainId: Type.Optional(Type.Integer()),\n name: Type.Optional(Type.String()),\n salt: Type.Optional(TypeHex()),\n verifyingContract: Type.Optional(TypeAddress),\n version: Type.Optional(Type.String()),\n }),\n ),\n types: Type.Record(\n Type.String(),\n Type.Array(\n Type.Object({\n name: Type.String(),\n type: Type.String(),\n }),\n ),\n ),\n primaryType: Type.String(),\n message: Type.Record(Type.String(), Type.Unknown()),\n }),\n)\n // No-op b/c Viem is happy w/ the encoded version too.\n .Decode((it) => it)\n // Encode the TypedDataDefinition into our json-serialized format.\n .Encode(({ domain, types, primaryType, message }) => {\n return {\n domain: {\n ...domain,\n chainId:\n typeof domain?.chainId === \"bigint\"\n ? Number(domain.chainId)\n : domain?.chainId,\n },\n types,\n primaryType,\n message: JSON.parse(\n JSON.stringify(message, (_, v) =>\n typeof v === \"bigint\" ? toHex(v) : v,\n ),\n ),\n };\n });\n\nexport const TypePersonalSignSignatureRequest = Type.Object(\n {\n type: Type.Literal(\"personal_sign\"),\n data: Type.Union([\n Type.String({ minLength: 1, description: \"Message\" }),\n Type.Object(\n {\n raw: TypeHex(),\n },\n { description: \"Raw message\" },\n ),\n ]),\n rawPayload: TypeHex(),\n },\n { description: \"Personal sign\" },\n);\n\nexport const TypeTypedDataSignatureRequest = Type.Object(\n {\n type: Type.Literal(\"eth_signTypedData_v4\"),\n data: TTypedDataDefinition,\n rawPayload: TypeHex(),\n },\n {\n description: \"Typed data\",\n },\n);\n\nexport const TypeAuthorizationSignatureRequest = Type.Object({\n type: Type.Literal(\"eip7702Auth\"),\n rawPayload: TypeHex(),\n});\n\nexport const TypeSignatureRequest = Type.Union([\n TypePersonalSignSignatureRequest,\n TypeTypedDataSignatureRequest,\n TypeAuthorizationSignatureRequest,\n]);\n\nexport const TypeCallId = Type.Transform(TypeHex())\n .Decode((value) => {\n return {\n chainId: toHex(hexToBigInt(slice(value, 0, 32))),\n hash: slice(value, 32),\n };\n })\n .Encode(({ chainId, hash }) => {\n const chainIdPadded = pad(chainId, { size: 32 });\n return concat([chainIdPadded, hash]);\n });\n\nexport const PreparedCall_UserOpV060 = Type.Object(\n {\n type: Type.Literal(\"user-operation-v060\", {\n description: \"User Operation (Entrypoint v0.6.0)\",\n }),\n data: Type.Omit(TypeUserOperationRequest_v6, [\"signature\"], {\n description: \"Unsigned User Operation (Entrypoint v0.6.0)\",\n }),\n chainId: TypeHex(),\n signatureRequest: Type.Union([\n TypePersonalSignSignatureRequest,\n TypeTypedDataSignatureRequest,\n ]),\n },\n {\n description: \"Prepared User Operation (Entrypoint v0.6.0)\",\n },\n);\n\nexport const PreparedCall_UserOpV070 = Type.Object(\n {\n type: Type.Literal(\"user-operation-v070\", {\n description: \"User Operation (Entrypoint v0.7.0)\",\n }),\n data: Type.Omit(TypeUserOperationRequest_v7, [\"signature\"], {\n description: \"Unsigned User Operation (Entrypoint v0.7.0)\",\n }),\n chainId: TypeHex(),\n signatureRequest: Type.Union([\n TypePersonalSignSignatureRequest,\n TypeTypedDataSignatureRequest,\n ]),\n },\n {\n description: \"Prepared User Operation (Entrypoint v0.7.0)\",\n },\n);\n\nexport const PreparedCall_Authorization = Type.Object(\n {\n type: Type.Literal(\"authorization\", {\n description: \"EIP-7702 Authorization Request\",\n }),\n data: Type.Omit(TypeEip7702UnsignedAuth, [\"chainId\"]),\n chainId: TypeHex(),\n signatureRequest: TypeAuthorizationSignatureRequest,\n },\n {\n description: \"Prepared EIP-7702 Authorization\",\n },\n);\n\nexport const TypeEdcsaSigData = Type.Union([\n TypeHex({\n description: \"Hex-encoded signature\",\n }),\n Type.Transform(\n Type.Object(\n {\n r: TypeHex(),\n s: TypeHex(),\n yParity: TypeHex(),\n },\n { description: \"r, s, yParity\" },\n ),\n )\n .Decode((sig) =>\n serializeSignature({ ...sig, yParity: hexToNumber(sig.yParity) }),\n )\n .Encode((hex) => {\n const parsed = parseSignature(hex);\n return {\n ...parsed,\n yParity: numberToHex(parsed.yParity),\n };\n }),\n Type.Transform(\n Type.Object(\n {\n r: TypeHex(),\n s: TypeHex(),\n v: TypeHex(),\n },\n {\n description: \"r, s, v\",\n },\n ),\n )\n .Decode((sig) => serializeSignature({ ...sig, v: hexToBigInt(sig.v) }))\n .Encode((hex) => {\n const parsed = parseSignature(hex);\n return {\n ...parsed,\n v: numberToHex(yParityToV(parsed.yParity)),\n };\n }),\n]);\n\nexport const TypeEcdsaSig = Type.Object({\n signature: Type.Union([\n Type.Object(\n {\n type: Type.Literal(\"secp256k1\"),\n data: TypeEdcsaSigData,\n },\n {\n description: \"Secp256k1 signature\",\n },\n ),\n Type.Object(\n {\n type: Type.Literal(\"ecdsa\"),\n data: TypeEdcsaSigData,\n },\n {\n description: \"ECDSA signature (alias for secp256k1)\",\n },\n ),\n ]),\n});\n\nexport const TypePrepareCall_UserOpV060_Signed = Type.Intersect(\n [Type.Omit(PreparedCall_UserOpV060, [\"signatureRequest\"]), TypeEcdsaSig],\n {\n description: \"Prepared User Operation (Entrypoint v0.6.0) with signature\",\n },\n);\n\nexport const TypePrepareCall_UserOpV070_Signed = Type.Intersect(\n [Type.Omit(PreparedCall_UserOpV070, [\"signatureRequest\"]), TypeEcdsaSig],\n {\n description: \"Prepared User Operation (Entrypoint v0.7.0) with signature\",\n },\n);\n\nexport const TypePrepareCall_Authorization_Signed = Type.Intersect(\n [Type.Omit(PreparedCall_Authorization, [\"signatureRequest\"]), TypeEcdsaSig],\n {\n description: \"Prepared EIP-7702 Authorization with signature\",\n },\n);\n\nexport const TypeCallArray = Type.Object(\n {\n type: Type.Literal(\"array\"),\n data: Type.Array(\n Type.Union([\n TypePrepareCall_UserOpV060_Signed,\n TypePrepareCall_UserOpV070_Signed,\n TypePrepareCall_Authorization_Signed,\n ]),\n ),\n },\n {\n description: \"Array of prepared calls with signatures\",\n },\n);\n"]}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n FormatRegistry,\n Type,\n type SchemaOptions,\n type Static,\n} from \"@sinclair/typebox\";\nimport { yParityToV } from \"ox/Signature\";\nimport {\n toHex,\n slice,\n pad,\n concat,\n hexToBigInt,\n serializeSignature,\n hexToNumber,\n parseSignature,\n numberToHex,\n} from \"viem\";\nimport type { Expect } from \"./utils.ts\";\n\nconst UUID_V4_REGEX =\n /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\nFormatRegistry.Set(\"uuid\", (value) => UUID_V4_REGEX.test(value));\n\nconst BASE_64_URL_REGEX = /^[A-Za-z0-9_-]+$/; // Matches base64url encoded strings (without padding)\nFormatRegistry.Set(\"base64url\", (value) => BASE_64_URL_REGEX.test(value));\n\nexport const baseAccountTypes = [\n \"sma-b\",\n \"la-v2\",\n \"la-v2-multi-owner\",\n \"la-v1.0.1\",\n \"la-v1.0.2\",\n \"la-v1.1.0\",\n \"ma-v1-multi-owner\",\n] as const;\n\nexport type BaseAccountType = (typeof baseAccountTypes)[number];\n\nexport const accountTypes = [...baseAccountTypes, \"7702\"] as const;\n\nexport type AccountType = (typeof accountTypes)[number];\n\nexport const TypeHex = (options?: SchemaOptions) =>\n Type.TemplateLiteral(\"0x${string}\", {\n ...options,\n });\n\nexport const TypeAddress = Type.TemplateLiteral(\"0x${string}\", {});\n\nexport const TypeUuid = Type.String({\n format: \"uuid\",\n});\n\nexport const TypeBase64UrlEncodedString = Type.String({\n format: \"base64url\",\n});\n\n// BigInt is not json-serializable, so it must be encoded as a string.\nexport const TypeU256 = Type.Transform(Type.String({}))\n .Decode((value) => BigInt(value))\n .Encode((value) => toHex(value));\n\nexport const TypeU32 = Type.Transform(Type.String({}))\n .Decode((value) => Number.parseInt(value, 16))\n .Encode((value) => toHex(value));\n\nexport const TypeUserOperationRequest_v6 = Type.Object({\n sender: TypeAddress,\n nonce: TypeHex(),\n initCode: Type.Union([\n TypeHex({\n description: \"Present\",\n }),\n Type.Literal(\"0x\", {\n description: \"Absent\",\n }),\n ]),\n callData: TypeHex(),\n callGasLimit: TypeHex(),\n verificationGasLimit: TypeHex(),\n preVerificationGas: TypeHex(),\n maxFeePerGas: TypeHex(),\n maxPriorityFeePerGas: TypeHex(),\n paymasterAndData: Type.Union([\n TypeHex({\n description: \"Present\",\n }),\n Type.Literal(\"0x\", {\n description: \"Absent\",\n }),\n ]),\n signature: TypeHex(),\n});\n\nexport const TypeUserOperationRequest_v7 = Type.Object({\n sender: TypeAddress,\n nonce: TypeHex(),\n factory: Type.Optional(TypeAddress),\n factoryData: Type.Optional(TypeHex()),\n callData: TypeHex(),\n callGasLimit: TypeHex(),\n verificationGasLimit: TypeHex(),\n preVerificationGas: TypeHex(),\n maxFeePerGas: TypeHex(),\n maxPriorityFeePerGas: TypeHex(),\n paymaster: Type.Optional(TypeAddress),\n paymasterData: Type.Optional(TypeHex()),\n paymasterVerificationGasLimit: Type.Optional(TypeHex()),\n paymasterPostOpGasLimit: Type.Optional(TypeHex()),\n signature: TypeHex(),\n});\n\nexport const TypeEip7702UnsignedAuth = Type.Object({\n chainId: TypeHex(),\n address: TypeAddress,\n nonce: TypeHex(),\n});\n\nexport const TypeEip7702SignedAuth = Type.Intersect([\n TypeEip7702UnsignedAuth,\n Type.Object({\n r: TypeHex(),\n s: TypeHex(),\n yParity: TypeHex(),\n }),\n]);\n\nexport const TypeWebAuthnPublicKey = Type.Object({\n x: TypeU256,\n y: TypeU256,\n});\n\nexport const TypePersistedInitcode = Type.Object({\n factoryAddress: TypeAddress,\n initcode: Type.Union([\n Type.Object(\n {\n factoryType: Type.Literal(\"unknown\", {\n description: \"Unknown factory type\",\n }),\n factoryData: TypeHex({}),\n },\n {\n description: \"Unknown factory type\",\n },\n ),\n Type.Object(\n {\n factoryType: Type.Union([\n Type.Literal(\"LightAccountV2.0.0\"),\n Type.Literal(\"LightAccountV1.1.0\"),\n Type.Literal(\"LightAccountV1.0.2\"),\n Type.Literal(\"LightAccountV1.0.1\"),\n ]),\n salt: TypeU256,\n initialOwner: TypeAddress,\n },\n {\n description: \"Light Account\",\n },\n ),\n Type.Object(\n {\n factoryType: Type.Union([\n Type.Literal(\"MAv1.0.0-MultiOwner\"),\n Type.Literal(\"LightAccountV2.0.0-MultiOwner\"),\n ]),\n salt: TypeU256,\n initialOwners: Type.Array(TypeAddress),\n },\n {\n description: \"Multi-Owner Modular Account\",\n },\n ),\n Type.Object(\n {\n factoryType: Type.Literal(\"MAv1.0.0-MultiSig\"),\n salt: TypeU256,\n initialOwners: Type.Array(TypeAddress),\n threshold: TypeU256,\n },\n {\n description: \"Multi-Sig Modular Account\",\n },\n ),\n Type.Intersect([\n Type.Object({\n factoryType: Type.Literal(\"MAv2.0.0\"),\n salt: TypeU256,\n }),\n Type.Union([\n Type.Object(\n {\n mav2type: Type.Literal(\"ma-ssv\"),\n initialOwner: TypeAddress,\n entityId: TypeU32,\n },\n {\n description: \"Modular Account V2 SSV\",\n },\n ),\n Type.Object(\n {\n mav2type: Type.Literal(\"sma-b\"),\n initialOwner: TypeAddress,\n },\n {\n description: \"Modular Account V2 SMA-B\",\n },\n ),\n Type.Object(\n {\n mav2type: Type.Literal(\"ma-webauthn\"),\n initialOwner: TypeWebAuthnPublicKey,\n entityId: TypeU32,\n },\n {\n description: \"Modular Account V2 WebAuthn\",\n },\n ),\n ]),\n ]),\n ]),\n});\n\nexport const TypeSerializedInitcode = Type.Object({\n factoryType: Type.Union([\n Type.Literal(\"LightAccountV1.0.1\", { description: \"Light Account v1.0.1\" }),\n Type.Literal(\"LightAccountV1.0.2\", { description: \"Light Account v1.0.2\" }),\n Type.Literal(\"LightAccountV1.1.0\", { description: \"Light Account v1.1.0\" }),\n Type.Literal(\"LightAccountV2.0.0\", { description: \"Light Account v2.0.0\" }),\n Type.Literal(\"LightAccountV2.0.0-MultiOwner\", {\n description: \"Light Account v2.0.0 MultiOwner\",\n }),\n Type.Literal(\"MAv1.0.0-MultiOwner\", {\n description: \"Modular Account v1.0.0 MultiOwner\",\n }),\n Type.Literal(\"MAv1.0.0-MultiSig\", {\n description: \"Modular Account v1.0.0 MultiSig\",\n }),\n Type.Literal(\"MAv2.0.0-sma-b\", {\n description: \"Modular Account v2.0.0 SMA-B\",\n }),\n Type.Literal(\"MAv2.0.0-ma-ssv\", {\n description: \"Modular Account v2.0.0 SSV\",\n }),\n Type.Literal(\"MAv2.0.0-ma-webauthn\", {\n description: \"Modular Account v2.0.0 WebAuthn\",\n }),\n Type.Literal(\"unknown\", { description: \"Unknown factory type\" }),\n ]),\n factoryAddress: TypeAddress,\n factoryData: TypeHex({}),\n});\n\nexport const TypeCounterfactualInfo = Type.Intersect([\n Type.Object({\n accountAddress: TypeAddress,\n }),\n Type.Union([\n Type.Intersect(\n [\n Type.Object({\n type: Type.Literal(\"sca\"),\n }),\n TypePersistedInitcode,\n ],\n {\n description: \"Smart Contract Account\",\n },\n ),\n Type.Object(\n {\n type: Type.Literal(\"7702\"),\n implementationAddress: TypeAddress,\n },\n {\n description: \"7702 Account\",\n },\n ),\n ]),\n]);\nexport type TypeCounterfactualInfo = Static<typeof TypeCounterfactualInfo>;\n\nexport const TypeCreationOptions = Type.Optional(\n Type.Union([\n Type.Object(\n {\n // Optional b/c `sma-b` is the default if no accountType is specified.\n accountType: Type.Optional(Type.Literal(\"sma-b\")),\n salt: Type.Optional(TypeHex()),\n },\n {\n description: \"Modular Account V2 SMA-B account type\",\n },\n ),\n Type.Object(\n {\n accountType: Type.Literal(\"la-v2\"),\n salt: Type.Optional(TypeHex()),\n },\n {\n description: \"Light Account V2 account type\",\n },\n ),\n Type.Object(\n {\n accountType: Type.Literal(\"la-v2-multi-owner\"),\n salt: Type.Optional(TypeHex()),\n initialOwners: Type.Optional(\n Type.Array(TypeAddress, {\n description:\n \"The initial owners of the account. The signer address will be implicitly added if not specified in this list.\",\n }),\n ),\n },\n {\n description: \"Light Account V2 Multi-Owner account type\",\n },\n ),\n Type.Object(\n {\n accountType: Type.Literal(\"la-v1.0.1\"),\n salt: Type.Optional(TypeHex()),\n },\n {\n description: \"Light Account V1.0.1 account type\",\n },\n ),\n Type.Object(\n {\n accountType: Type.Literal(\"la-v1.0.2\"),\n salt: Type.Optional(TypeHex()),\n },\n {\n description: \"Light Account V1.0.2 account type\",\n },\n ),\n Type.Object(\n {\n accountType: Type.Literal(\"la-v1.1.0\"),\n salt: Type.Optional(TypeHex()),\n },\n {\n description: \"Light Account V1.1.0 account type\",\n },\n ),\n Type.Object(\n {\n accountType: Type.Literal(\"ma-v1-multi-owner\"),\n salt: Type.Optional(TypeHex()),\n initialOwners: Type.Optional(\n Type.Array(TypeAddress, {\n description:\n \"The initial owners of the account. The signer address will be implicitly added if not specified in this list.\",\n }),\n ),\n },\n {\n description: \"Modular Account V1 Multi-Owner account type\",\n },\n ),\n Type.Object(\n {\n accountType: Type.Literal(\"7702\"),\n // TODO: Add support for specifying a delegation address.\n // Currently we only support delegating to MAv2, and it's important\n // that wallet applications maintain a strict shortlist of well-known\n // accounts: https://github.com/ethereum/ERCs/pull/947/files#diff-dab085f963ca621595044bcbc0922705aa38b69f5bf8770dcb3d0496a633efcfR189\n // delegation: TypeAddress,\n },\n {\n description: \"7702 account type\",\n },\n ),\n ]),\n);\nexport type TypeCreationOptions = Static<typeof TypeCreationOptions>;\n\ntype BaseAccountTypeExhaustive = BaseAccountType extends Exclude<\n Static<typeof TypeCreationOptions>,\n undefined\n>[\"accountType\"]\n ? true\n : \"BaseAccountType values not fully covered in TypeCreationOptions\";\n\n// Compile-time assertion that TypeCreationOptions covers all BaseAccountType values.\ntype _AssertBaseAccountTypeExhaustive = Expect<BaseAccountTypeExhaustive>;\n\nexport const TypeSignatureType = Type.Union([\n Type.Literal(\"secp256k1\", { description: \"Secp256k1\" }),\n Type.Literal(\"ecdsa\", { description: \"ECDSA (alias for secp256k1)\" }),\n Type.Literal(\"contract\", { description: \"Contract\" }),\n]);\nexport type TypeSignatureType = Static<typeof TypeSignatureType>;\n\nexport const KeySigner = Type.Object({\n type: TypeSignatureType,\n publicKey: TypeHex({}),\n});\nexport type KeySigner = Static<typeof KeySigner>;\n\nexport const TTypedDataDefinition = Type.Transform(\n Type.Object({\n domain: Type.Optional(\n Type.Object({\n chainId: Type.Optional(Type.Integer()),\n name: Type.Optional(Type.String()),\n salt: Type.Optional(TypeHex()),\n verifyingContract: Type.Optional(TypeAddress),\n version: Type.Optional(Type.String()),\n }),\n ),\n types: Type.Record(\n Type.String(),\n Type.Array(\n Type.Object({\n name: Type.String(),\n type: Type.String(),\n }),\n ),\n ),\n primaryType: Type.String(),\n message: Type.Record(Type.String(), Type.Unknown()),\n }),\n)\n // No-op b/c Viem is happy w/ the encoded version too.\n .Decode((it) => it)\n // Encode the TypedDataDefinition into our json-serialized format.\n .Encode(({ domain, types, primaryType, message }) => {\n return {\n domain: {\n ...domain,\n chainId:\n typeof domain?.chainId === \"bigint\"\n ? Number(domain.chainId)\n : domain?.chainId,\n },\n types,\n primaryType,\n message: JSON.parse(\n JSON.stringify(message, (_, v) =>\n typeof v === \"bigint\" ? toHex(v) : v,\n ),\n ),\n };\n });\n\nexport const TypePersonalSignSignatureRequest = Type.Object(\n {\n type: Type.Literal(\"personal_sign\"),\n data: Type.Union([\n Type.String({ minLength: 1, description: \"Message\" }),\n Type.Object(\n {\n raw: TypeHex(),\n },\n { description: \"Raw message\" },\n ),\n ]),\n rawPayload: TypeHex(),\n },\n { description: \"Personal sign\" },\n);\n\nexport const TypeTypedDataSignatureRequest = Type.Object(\n {\n type: Type.Literal(\"eth_signTypedData_v4\"),\n data: TTypedDataDefinition,\n rawPayload: TypeHex(),\n },\n {\n description: \"Typed data\",\n },\n);\n\nexport const TypeAuthorizationSignatureRequest = Type.Object({\n type: Type.Literal(\"eip7702Auth\"),\n rawPayload: TypeHex(),\n});\n\nexport const TypeSignatureRequest = Type.Union([\n TypePersonalSignSignatureRequest,\n TypeTypedDataSignatureRequest,\n TypeAuthorizationSignatureRequest,\n]);\n\nexport const TypeCallId = Type.Transform(TypeHex())\n .Decode((value) => {\n return {\n chainId: toHex(hexToBigInt(slice(value, 0, 32))),\n hash: slice(value, 32),\n };\n })\n .Encode(({ chainId, hash }) => {\n const chainIdPadded = pad(chainId, { size: 32 });\n return concat([chainIdPadded, hash]);\n });\n\nexport const PreparedCall_UserOpV060 = Type.Object(\n {\n type: Type.Literal(\"user-operation-v060\", {\n description: \"User Operation (Entrypoint v0.6.0)\",\n }),\n data: Type.Omit(TypeUserOperationRequest_v6, [\"signature\"], {\n description: \"Unsigned User Operation (Entrypoint v0.6.0)\",\n }),\n chainId: TypeHex(),\n signatureRequest: Type.Union([\n TypePersonalSignSignatureRequest,\n TypeTypedDataSignatureRequest,\n ]),\n },\n {\n description: \"Prepared User Operation (Entrypoint v0.6.0)\",\n },\n);\n\nexport const PreparedCall_UserOpV070 = Type.Object(\n {\n type: Type.Literal(\"user-operation-v070\", {\n description: \"User Operation (Entrypoint v0.7.0)\",\n }),\n data: Type.Omit(TypeUserOperationRequest_v7, [\"signature\"], {\n description: \"Unsigned User Operation (Entrypoint v0.7.0)\",\n }),\n chainId: TypeHex(),\n signatureRequest: Type.Union([\n TypePersonalSignSignatureRequest,\n TypeTypedDataSignatureRequest,\n ]),\n },\n {\n description: \"Prepared User Operation (Entrypoint v0.7.0)\",\n },\n);\n\nexport const PreparedCall_Authorization = Type.Object(\n {\n type: Type.Literal(\"authorization\", {\n description: \"EIP-7702 Authorization Request\",\n }),\n data: Type.Omit(TypeEip7702UnsignedAuth, [\"chainId\"]),\n chainId: TypeHex(),\n signatureRequest: TypeAuthorizationSignatureRequest,\n },\n {\n description: \"Prepared EIP-7702 Authorization\",\n },\n);\n\nexport const TypeEdcsaSigData = Type.Union([\n TypeHex({\n description: \"Hex-encoded signature\",\n }),\n Type.Transform(\n Type.Object(\n {\n r: TypeHex(),\n s: TypeHex(),\n yParity: TypeHex(),\n },\n { description: \"r, s, yParity\" },\n ),\n )\n .Decode((sig) =>\n serializeSignature({ ...sig, yParity: hexToNumber(sig.yParity) }),\n )\n .Encode((hex) => {\n const parsed = parseSignature(hex);\n return {\n ...parsed,\n yParity: numberToHex(parsed.yParity),\n };\n }),\n Type.Transform(\n Type.Object(\n {\n r: TypeHex(),\n s: TypeHex(),\n v: TypeHex(),\n },\n {\n description: \"r, s, v\",\n },\n ),\n )\n .Decode((sig) => serializeSignature({ ...sig, v: hexToBigInt(sig.v) }))\n .Encode((hex) => {\n const parsed = parseSignature(hex);\n return {\n ...parsed,\n v: numberToHex(yParityToV(parsed.yParity)),\n };\n }),\n]);\n\nexport const TypeEcdsaSig = Type.Object({\n signature: Type.Union([\n Type.Object(\n {\n type: Type.Literal(\"secp256k1\"),\n data: TypeEdcsaSigData,\n },\n {\n description: \"Secp256k1 signature\",\n },\n ),\n Type.Object(\n {\n type: Type.Literal(\"ecdsa\"),\n data: TypeEdcsaSigData,\n },\n {\n description: \"ECDSA signature (alias for secp256k1)\",\n },\n ),\n ]),\n});\n\nexport const TypePrepareCall_UserOpV060_Signed = Type.Intersect(\n [Type.Omit(PreparedCall_UserOpV060, [\"signatureRequest\"]), TypeEcdsaSig],\n {\n description: \"Prepared User Operation (Entrypoint v0.6.0) with signature\",\n },\n);\n\nexport const TypePrepareCall_UserOpV070_Signed = Type.Intersect(\n [Type.Omit(PreparedCall_UserOpV070, [\"signatureRequest\"]), TypeEcdsaSig],\n {\n description: \"Prepared User Operation (Entrypoint v0.7.0) with signature\",\n },\n);\n\nexport const TypePrepareCall_Authorization_Signed = Type.Intersect(\n [Type.Omit(PreparedCall_Authorization, [\"signatureRequest\"]), TypeEcdsaSig],\n {\n description: \"Prepared EIP-7702 Authorization with signature\",\n },\n);\n\nexport const TypeCallArray = Type.Object(\n {\n type: Type.Literal(\"array\"),\n data: Type.Array(\n Type.Union([\n TypePrepareCall_UserOpV060_Signed,\n TypePrepareCall_UserOpV070_Signed,\n TypePrepareCall_Authorization_Signed,\n ]),\n ),\n },\n {\n description: \"Array of prepared calls with signatures\",\n },\n);\n"]}
@@ -1,4 +1,5 @@
1
1
  import { type Hex } from "viem";
2
+ export type Expect<T extends true> = T;
2
3
  export declare const assertNever: (_val: never, msg: string) => never;
3
4
  /** If the value is already Hex, it is returned unchanged. If it's a string, number or bigint, it's converted. */
4
5
  export declare const castToHex: (val: string | number | bigint | Hex) => Hex;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAY,MAAM,MAAM,CAAC;AAE9C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAW,EAAE,GAAW,EAAS,EAAE;IAC7D,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,iHAAiH;AACjH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAmC,EAAO,EAAE;IACpE,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACf,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;AACpB,CAAC,CAAC","sourcesContent":["import { isHex, toHex, type Hex } from \"viem\";\n\nexport const assertNever = (_val: never, msg: string): never => {\n throw new Error(msg);\n};\n\n/** If the value is already Hex, it is returned unchanged. If it's a string, number or bigint, it's converted. */\nexport const castToHex = (val: string | number | bigint | Hex): Hex => {\n if (isHex(val)) {\n return val;\n }\n return toHex(val);\n};\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAY,MAAM,MAAM,CAAC;AAI9C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAW,EAAE,GAAW,EAAS,EAAE;IAC7D,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,iHAAiH;AACjH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAmC,EAAO,EAAE;IACpE,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACf,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;AACpB,CAAC,CAAC","sourcesContent":["import { isHex, toHex, type Hex } from \"viem\";\n\nexport type Expect<T extends true> = T;\n\nexport const assertNever = (_val: never, msg: string): never => {\n throw new Error(msg);\n};\n\n/** If the value is already Hex, it is returned unchanged. If it's a string, number or bigint, it's converted. */\nexport const castToHex = (val: string | number | bigint | Hex): Hex => {\n if (isHex(val)) {\n return val;\n }\n return toHex(val);\n};\n"]}
@@ -35,5 +35,8 @@ export declare const Capabilities: import("@sinclair/typebox").TObject<{
35
35
  account: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
36
36
  delegation: import("@sinclair/typebox").TUnion<(import("@sinclair/typebox").TLiteral<"0x69007702764179f14F51cdce752f4f775d74E139"> | import("@sinclair/typebox").TLiteral<"ModularAccountV2">)[]>;
37
37
  }>, import("@sinclair/typebox").TLiteral<true>]>>;
38
+ nonceOverride: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
39
+ nonceKey: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
40
+ }>>;
38
41
  }>;
39
42
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKvB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/capabilities/index.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMvB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const MultiDimensionalNonceCapability: import("@sinclair/typebox").TObject<{
2
+ nonceKey: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
3
+ }>;
4
+ //# sourceMappingURL=multiDimensionalNonce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiDimensionalNonce.d.ts","sourceRoot":"","sources":["../../../src/capabilities/multiDimensionalNonce.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,+BAA+B;;EAG1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"signPreparedCalls.d.ts","sourceRoot":"","sources":["../../../../src/client/actions/signPreparedCalls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAGhE,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,CAAC;AAEzD,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAC1C,CAAC,OAAO,wBAAwB,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CACnF,CAAC,CAAC,CAAC,CAAC;AAEL;;;;;;IAMI;AACJ,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,uBAAuB,CAAC,CAgDlC"}
1
+ {"version":3,"file":"signPreparedCalls.d.ts","sourceRoot":"","sources":["../../../../src/client/actions/signPreparedCalls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAOhE,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,CAAC;AAEzD,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAC1C,CAAC,OAAO,wBAAwB,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CACnF,CAAC,CAAC,CAAC,CAAC;AAEL;;;;;;IAMI;AACJ,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,uBAAuB,CAAC,CA2ClC"}