@alchemy/smart-accounts 5.0.0-beta.2 → 5.0.0-beta.21

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 (91) hide show
  1. package/README.md +0 -2
  2. package/dist/esm/index.d.ts +3 -6
  3. package/dist/esm/index.js +3 -3
  4. package/dist/esm/index.js.map +1 -1
  5. package/dist/esm/light-account/accounts/base.js +0 -1
  6. package/dist/esm/light-account/accounts/base.js.map +1 -1
  7. package/dist/esm/light-account/accounts/calldataCodec.d.ts +17 -0
  8. package/dist/esm/light-account/accounts/calldataCodec.js +17 -0
  9. package/dist/esm/light-account/accounts/calldataCodec.js.map +1 -1
  10. package/dist/esm/light-account/utils.js +0 -5
  11. package/dist/esm/light-account/utils.js.map +1 -1
  12. package/dist/esm/ma-v1/accounts/base.js +6 -50
  13. package/dist/esm/ma-v1/accounts/base.js.map +1 -1
  14. package/dist/esm/ma-v1/accounts/calldataCodec.d.ts +20 -0
  15. package/dist/esm/ma-v1/accounts/calldataCodec.js +69 -0
  16. package/dist/esm/ma-v1/accounts/calldataCodec.js.map +1 -0
  17. package/dist/esm/ma-v1/mav1StaticImpl.d.ts +0 -2
  18. package/dist/esm/ma-v1/mav1StaticImpl.js +0 -2
  19. package/dist/esm/ma-v1/mav1StaticImpl.js.map +1 -1
  20. package/dist/esm/ma-v2/accounts/account.js +1 -1
  21. package/dist/esm/ma-v2/accounts/account.js.map +1 -1
  22. package/dist/esm/ma-v2/accounts/base.js +7 -54
  23. package/dist/esm/ma-v2/accounts/base.js.map +1 -1
  24. package/dist/esm/ma-v2/accounts/calldataCodec.d.ts +20 -0
  25. package/dist/esm/ma-v2/accounts/calldataCodec.js +77 -0
  26. package/dist/esm/ma-v2/accounts/calldataCodec.js.map +1 -0
  27. package/dist/esm/ma-v2/decorators/installValidation.d.ts +8 -20
  28. package/dist/esm/ma-v2/decorators/installValidation.js +7 -58
  29. package/dist/esm/ma-v2/decorators/installValidation.js.map +1 -1
  30. package/dist/esm/ma-v2/mav2StaticImpl.d.ts +0 -4
  31. package/dist/esm/ma-v2/mav2StaticImpl.js +0 -4
  32. package/dist/esm/ma-v2/mav2StaticImpl.js.map +1 -1
  33. package/dist/esm/ma-v2/utils/account.js +0 -2
  34. package/dist/esm/ma-v2/utils/account.js.map +1 -1
  35. package/dist/esm/version.d.ts +1 -1
  36. package/dist/esm/version.js +1 -1
  37. package/dist/esm/version.js.map +1 -1
  38. package/dist/types/index.d.ts +3 -6
  39. package/dist/types/index.d.ts.map +1 -1
  40. package/dist/types/light-account/accounts/base.d.ts.map +1 -1
  41. package/dist/types/light-account/accounts/calldataCodec.d.ts +17 -0
  42. package/dist/types/light-account/accounts/calldataCodec.d.ts.map +1 -1
  43. package/dist/types/light-account/utils.d.ts.map +1 -1
  44. package/dist/types/ma-v1/accounts/base.d.ts.map +1 -1
  45. package/dist/types/ma-v1/accounts/calldataCodec.d.ts +21 -0
  46. package/dist/types/ma-v1/accounts/calldataCodec.d.ts.map +1 -0
  47. package/dist/types/ma-v1/mav1StaticImpl.d.ts +0 -2
  48. package/dist/types/ma-v1/mav1StaticImpl.d.ts.map +1 -1
  49. package/dist/types/ma-v2/accounts/base.d.ts.map +1 -1
  50. package/dist/types/ma-v2/accounts/calldataCodec.d.ts +21 -0
  51. package/dist/types/ma-v2/accounts/calldataCodec.d.ts.map +1 -0
  52. package/dist/types/ma-v2/decorators/installValidation.d.ts +8 -20
  53. package/dist/types/ma-v2/decorators/installValidation.d.ts.map +1 -1
  54. package/dist/types/ma-v2/mav2StaticImpl.d.ts +0 -4
  55. package/dist/types/ma-v2/mav2StaticImpl.d.ts.map +1 -1
  56. package/dist/types/ma-v2/utils/account.d.ts.map +1 -1
  57. package/dist/types/version.d.ts +1 -1
  58. package/dist/types/version.d.ts.map +1 -1
  59. package/package.json +6 -6
  60. package/src/index.ts +15 -13
  61. package/src/light-account/accounts/base.ts +0 -1
  62. package/src/light-account/accounts/calldataCodec.ts +17 -0
  63. package/src/light-account/utils.ts +0 -6
  64. package/src/ma-v1/accounts/base.ts +4 -55
  65. package/src/ma-v1/accounts/calldataCodec.ts +80 -0
  66. package/src/ma-v1/mav1StaticImpl.ts +0 -2
  67. package/src/ma-v2/accounts/account.ts +2 -2
  68. package/src/ma-v2/accounts/base.ts +6 -68
  69. package/src/ma-v2/accounts/calldataCodec.ts +89 -0
  70. package/src/ma-v2/decorators/installValidation.ts +8 -83
  71. package/src/ma-v2/mav2StaticImpl.ts +0 -4
  72. package/src/ma-v2/utils/account.ts +0 -2
  73. package/src/version.ts +1 -1
  74. package/dist/esm/light-account/decorators/multiOwner.d.ts +0 -17
  75. package/dist/esm/light-account/decorators/multiOwner.js +0 -39
  76. package/dist/esm/light-account/decorators/multiOwner.js.map +0 -1
  77. package/dist/esm/light-account/decorators/singleOwner.d.ts +0 -16
  78. package/dist/esm/light-account/decorators/singleOwner.js +0 -35
  79. package/dist/esm/light-account/decorators/singleOwner.js.map +0 -1
  80. package/dist/esm/ma-v1/decorators/multiOwner.d.ts +0 -17
  81. package/dist/esm/ma-v1/decorators/multiOwner.js +0 -39
  82. package/dist/esm/ma-v1/decorators/multiOwner.js.map +0 -1
  83. package/dist/types/light-account/decorators/multiOwner.d.ts +0 -18
  84. package/dist/types/light-account/decorators/multiOwner.d.ts.map +0 -1
  85. package/dist/types/light-account/decorators/singleOwner.d.ts +0 -17
  86. package/dist/types/light-account/decorators/singleOwner.d.ts.map +0 -1
  87. package/dist/types/ma-v1/decorators/multiOwner.d.ts +0 -18
  88. package/dist/types/ma-v1/decorators/multiOwner.d.ts.map +0 -1
  89. package/src/light-account/decorators/multiOwner.ts +0 -72
  90. package/src/light-account/decorators/singleOwner.ts +0 -63
  91. package/src/ma-v1/decorators/multiOwner.ts +0 -72
@@ -18,8 +18,6 @@ const semiModularAccountBase = {
18
18
  };
19
19
  /**
20
20
  * Static implementation logic for SemiModularAccountV2.
21
- *
22
- * TODO(v5): update JSDoc format when doc-gen supports structs or records.
23
21
  */
24
22
  export const semiModularAccountV2StaticImpl = {
25
23
  ...semiModularAccountBase,
@@ -45,8 +43,6 @@ export const semiModularAccountV2StaticImpl = {
45
43
  };
46
44
  /**
47
45
  * Static implementation logic for SemiModularAccount7702.
48
- *
49
- * TODO(v5): update JSDoc format when doc-gen supports structs or records.
50
46
  */
51
47
  export const semiModularAccount7702StaticImpl = {
52
48
  ...semiModularAccountBase,
@@ -1 +1 @@
1
- {"version":3,"file":"mav2StaticImpl.js","sourceRoot":"","sources":["../../../src/ma-v2/mav2StaticImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAgB,MAAM,MAAM,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AAgBrE,gFAAgF;AAChF,MAAM,UAAU,GAAG;IACjB,GAAG,EAAE,eAAe;IACpB,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,KAAK;CACN,CAAC;AAEX,sEAAsE;AACtE,MAAM,sBAAsB,GAAG;IAC7B,UAAU;IACV,UAAU,EAAE,6BAA6B;CACQ,CAAC;AAEpD;;;;GAIG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAmC;IAC5E,GAAG,sBAAsB;IACzB,qBAAqB,EAAE,YAAY,CAAC,kBAAkB,CAAC,cAAc,CAAC;IACtE,cAAc,EAAE,YAAY,CAAC,kBAAkB,CAAC,YAAY,CAAC;IAC7D,UAAU,EAAE,iBAAiB;IAC7B,cAAc,EAAE,CAAC,IAAqC,EAAE,EAAE;QACxD,OAAO,kBAAkB,CAAC;YACxB,GAAG,EAAE,iBAAiB;YACtB,YAAY,EAAE,0BAA0B;YACxC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC;SAC9B,CAAC,CAAC;IACL,CAAC;IACD,qBAAqB,EAAE,CAAC,IAAqC,EAAE,EAAE;QAC/D,OAAO,8BAA8B,CAAC;YACpC,cAAc,EAAE,kBAAkB,CAAC,YAAY;YAC/C,qBAAqB,EAAE,kBAAkB,CAAC,cAAc;YACxD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,YAAY,EAAE,IAAI,CAAC,KAAK;SACzB,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAWF;;;;GAIG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAC3C;IACE,GAAG,sBAAsB;IACzB,iBAAiB,EAAE,YAAY,CAAC,kBAAkB,CAAC,UAAU,CAAC;CAC/D,CAAC","sourcesContent":["import { encodeFunctionData, type Address } from \"viem\";\nimport { entryPoint07Abi, entryPoint07Address } from \"viem/account-abstraction\";\nimport { lowerAddress } from \"@alchemy/common\";\nimport type { StaticSmartAccountImplementation } from \"../types.js\";\nimport { semiModularAccountBytecodeAbi } from \"./abis/semiModularAccountBytecodeAbi.js\";\nimport { accountFactoryAbi } from \"./abis/accountFactoryAbi.js\";\nimport { DefaultAddress as DefaultMAV2Address } from \"./utils/account.js\";\nimport { predictModularAccountV2Address } from \"./predictAddress.js\";\n\nexport type SemiModularAccountV2FactoryArgs = {\n owner: Address;\n salt: bigint;\n};\n\nexport type SemiModularAccountV2StaticImpl = StaticSmartAccountImplementation<\n false,\n \"0.7\",\n SemiModularAccountV2FactoryArgs,\n typeof entryPoint07Abi,\n typeof semiModularAccountBytecodeAbi,\n typeof accountFactoryAbi\n>;\n\n// Shared entryPoint configuration across all modular account v2 implementations\nconst entryPoint = {\n abi: entryPoint07Abi,\n address: entryPoint07Address,\n version: \"0.7\",\n} as const;\n\n// Shared base for semi-modular account implementations (SMA and 7702)\nconst semiModularAccountBase = {\n entryPoint,\n accountAbi: semiModularAccountBytecodeAbi,\n} satisfies Partial<SemiModularAccountV2StaticImpl>;\n\n/**\n * Static implementation logic for SemiModularAccountV2.\n *\n * TODO(v5): update JSDoc format when doc-gen supports structs or records.\n */\nexport const semiModularAccountV2StaticImpl: SemiModularAccountV2StaticImpl = {\n ...semiModularAccountBase,\n accountImplementation: lowerAddress(DefaultMAV2Address.SMAV2_BYTECODE),\n factoryAddress: lowerAddress(DefaultMAV2Address.MAV2_FACTORY),\n factoryAbi: accountFactoryAbi,\n getFactoryData: (args: SemiModularAccountV2FactoryArgs) => {\n return encodeFunctionData({\n abi: accountFactoryAbi,\n functionName: \"createSemiModularAccount\",\n args: [args.owner, args.salt],\n });\n },\n predictAccountAddress: (args: SemiModularAccountV2FactoryArgs) => {\n return predictModularAccountV2Address({\n factoryAddress: DefaultMAV2Address.MAV2_FACTORY,\n implementationAddress: DefaultMAV2Address.SMAV2_BYTECODE,\n type: \"SMA\",\n salt: args.salt,\n ownerAddress: args.owner,\n });\n },\n};\n\nexport type SemiModularAccount7702StaticImpl = StaticSmartAccountImplementation<\n true,\n \"0.7\",\n SemiModularAccountV2FactoryArgs,\n typeof entryPoint07Abi,\n typeof semiModularAccountBytecodeAbi,\n typeof accountFactoryAbi\n>;\n\n/**\n * Static implementation logic for SemiModularAccount7702.\n *\n * TODO(v5): update JSDoc format when doc-gen supports structs or records.\n */\nexport const semiModularAccount7702StaticImpl: SemiModularAccount7702StaticImpl =\n {\n ...semiModularAccountBase,\n delegationAddress: lowerAddress(DefaultMAV2Address.SMAV2_7702),\n };\n"]}
1
+ {"version":3,"file":"mav2StaticImpl.js","sourceRoot":"","sources":["../../../src/ma-v2/mav2StaticImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAgB,MAAM,MAAM,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AAgBrE,gFAAgF;AAChF,MAAM,UAAU,GAAG;IACjB,GAAG,EAAE,eAAe;IACpB,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,KAAK;CACN,CAAC;AAEX,sEAAsE;AACtE,MAAM,sBAAsB,GAAG;IAC7B,UAAU;IACV,UAAU,EAAE,6BAA6B;CACQ,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAmC;IAC5E,GAAG,sBAAsB;IACzB,qBAAqB,EAAE,YAAY,CAAC,kBAAkB,CAAC,cAAc,CAAC;IACtE,cAAc,EAAE,YAAY,CAAC,kBAAkB,CAAC,YAAY,CAAC;IAC7D,UAAU,EAAE,iBAAiB;IAC7B,cAAc,EAAE,CAAC,IAAqC,EAAE,EAAE;QACxD,OAAO,kBAAkB,CAAC;YACxB,GAAG,EAAE,iBAAiB;YACtB,YAAY,EAAE,0BAA0B;YACxC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC;SAC9B,CAAC,CAAC;IACL,CAAC;IACD,qBAAqB,EAAE,CAAC,IAAqC,EAAE,EAAE;QAC/D,OAAO,8BAA8B,CAAC;YACpC,cAAc,EAAE,kBAAkB,CAAC,YAAY;YAC/C,qBAAqB,EAAE,kBAAkB,CAAC,cAAc;YACxD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,YAAY,EAAE,IAAI,CAAC,KAAK;SACzB,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAWF;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAC3C;IACE,GAAG,sBAAsB;IACzB,iBAAiB,EAAE,YAAY,CAAC,kBAAkB,CAAC,UAAU,CAAC;CAC/D,CAAC","sourcesContent":["import { encodeFunctionData, type Address } from \"viem\";\nimport { entryPoint07Abi, entryPoint07Address } from \"viem/account-abstraction\";\nimport { lowerAddress } from \"@alchemy/common\";\nimport type { StaticSmartAccountImplementation } from \"../types.js\";\nimport { semiModularAccountBytecodeAbi } from \"./abis/semiModularAccountBytecodeAbi.js\";\nimport { accountFactoryAbi } from \"./abis/accountFactoryAbi.js\";\nimport { DefaultAddress as DefaultMAV2Address } from \"./utils/account.js\";\nimport { predictModularAccountV2Address } from \"./predictAddress.js\";\n\nexport type SemiModularAccountV2FactoryArgs = {\n owner: Address;\n salt: bigint;\n};\n\nexport type SemiModularAccountV2StaticImpl = StaticSmartAccountImplementation<\n false,\n \"0.7\",\n SemiModularAccountV2FactoryArgs,\n typeof entryPoint07Abi,\n typeof semiModularAccountBytecodeAbi,\n typeof accountFactoryAbi\n>;\n\n// Shared entryPoint configuration across all modular account v2 implementations\nconst entryPoint = {\n abi: entryPoint07Abi,\n address: entryPoint07Address,\n version: \"0.7\",\n} as const;\n\n// Shared base for semi-modular account implementations (SMA and 7702)\nconst semiModularAccountBase = {\n entryPoint,\n accountAbi: semiModularAccountBytecodeAbi,\n} satisfies Partial<SemiModularAccountV2StaticImpl>;\n\n/**\n * Static implementation logic for SemiModularAccountV2.\n */\nexport const semiModularAccountV2StaticImpl: SemiModularAccountV2StaticImpl = {\n ...semiModularAccountBase,\n accountImplementation: lowerAddress(DefaultMAV2Address.SMAV2_BYTECODE),\n factoryAddress: lowerAddress(DefaultMAV2Address.MAV2_FACTORY),\n factoryAbi: accountFactoryAbi,\n getFactoryData: (args: SemiModularAccountV2FactoryArgs) => {\n return encodeFunctionData({\n abi: accountFactoryAbi,\n functionName: \"createSemiModularAccount\",\n args: [args.owner, args.salt],\n });\n },\n predictAccountAddress: (args: SemiModularAccountV2FactoryArgs) => {\n return predictModularAccountV2Address({\n factoryAddress: DefaultMAV2Address.MAV2_FACTORY,\n implementationAddress: DefaultMAV2Address.SMAV2_BYTECODE,\n type: \"SMA\",\n salt: args.salt,\n ownerAddress: args.owner,\n });\n },\n};\n\nexport type SemiModularAccount7702StaticImpl = StaticSmartAccountImplementation<\n true,\n \"0.7\",\n SemiModularAccountV2FactoryArgs,\n typeof entryPoint07Abi,\n typeof semiModularAccountBytecodeAbi,\n typeof accountFactoryAbi\n>;\n\n/**\n * Static implementation logic for SemiModularAccount7702.\n */\nexport const semiModularAccount7702StaticImpl: SemiModularAccount7702StaticImpl =\n {\n ...semiModularAccountBase,\n delegationAddress: lowerAddress(DefaultMAV2Address.SMAV2_7702),\n };\n"]}
@@ -42,8 +42,6 @@ export async function getMAV2UpgradeToData(ownerAddress) {
42
42
  return {
43
43
  implAddress: DefaultAddress.SMAV2_STORAGE,
44
44
  initializationData: initData,
45
- // TODO(v5): do we need `createModularAccountV2FromExisting()` in the return type here like we had in v4 or no?
46
- // Almost certainly not, but we need to clean up other parts in SDK for client-side upgrades.
47
45
  };
48
46
  }
49
47
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../../src/ma-v2/utils/account.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,KAAK,GAGN,MAAM,MAAM,CAAC;AAId,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAGvF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,YAAY,EAAE,4CAA4C;IAC1D,cAAc,EAAE,4CAA4C;IAC5D,aAAa,EAAE,4CAA4C;IAC3D,UAAU,EAAE,4CAA4C;CACvB,CAAC;AAEpC;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,wBAAwB,EAAE,4CAA4C;IACtE,UAAU,EAAE,4CAA4C;IACxD,eAAe,EAAE,4CAA4C;IAC7D,kBAAkB,EAAE,4CAA4C;IAChE,SAAS,EAAE,4CAA4C;CACtB,CAAC;AAEpC;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAQ,YAAY,CAAC;AAM1D;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,YAAqB;IAErB,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,GAAG,EAAE,4BAA4B;QACjC,YAAY,EAAE,YAAY;QAC1B,IAAI,EAAE,CAAC,YAAY,CAAC;KACrB,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EAAE,cAAc,CAAC,aAAa;QACzC,kBAAkB,EAAE,QAAQ;QAC5B,+GAA+G;QAC/G,6FAA6F;KAC9F,CAAC;AACJ,CAAC;AAUD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,QAAQ,GAAG,EAAE,EACb,QAAQ,GAAG,CAAC,EACZ,kBAAkB,GAAG,IAAI,EACzB,gBAAgB,GAAG,KAAK,GACP,EAAU,EAAE;IAC7B,OAAO,CACL,CAAC,QAAQ,IAAI,GAAG,CAAC;QACjB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5B,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC/B,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAoB;IACxD,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAqB;IAErB,OAAO,CACL,kBAAkB,IAAI,OAAO;QAC7B,OAAO,CAAC,gBAAgB,KAAK,kBAAkB,CAChD,CAAC;AACJ,CAAC","sourcesContent":["import {\n concatHex,\n encodeFunctionData,\n toHex,\n type Address,\n type Hex,\n} from \"viem\";\nimport type { SmartAccount } from \"viem/account-abstraction\";\nimport type { GetAccountParameter } from \"../../types.js\";\nimport type { ModuleEntity, UpgradeToData } from \"../types.js\";\nimport { semiModularAccountStorageAbi } from \"../abis/semiModularAccountStorageAbi.js\";\nimport type { ModularAccountV2Base } from \"../accounts/base.js\";\n\n/**\n * A mapping of default addresses for the ModularAccountV2.\n */\nexport const DefaultAddress = {\n MAV2_FACTORY: \"0x00000000000017c61b5bEe81050EC8eFc9c6fecd\",\n SMAV2_BYTECODE: \"0x000000000000c5A9089039570Dd36455b5C07383\",\n SMAV2_STORAGE: \"0x0000000000006E2f9d80CaEc0Da6500f005EB25A\",\n SMAV2_7702: \"0x69007702764179f14F51cdce752f4f775d74E139\",\n} satisfies Record<string, Address>;\n\n/**\n * A mapping of default addresses for the ModularAccountV2 modules.\n */\nexport const DefaultModuleAddress = {\n SINGLE_SIGNER_VALIDATION: \"0x00000000000099DE0BF6fA90dEB851E2A2df7d83\",\n TIME_RANGE: \"0x00000000000082B8e2012be914dFA4f62A0573eA\",\n PAYMASTER_GUARD: \"0x0000000000001aA7A7F7E29abe0be06c72FD42A1\",\n NATIVE_TOKEN_LIMIT: \"0x00000000000001e541f0D090868FBe24b59Fbe06\",\n ALLOWLIST: \"0x00000000003e826473a313e600b5b9b791f5a59a\",\n} satisfies Record<string, Address>;\n\n/**\n * The default owner entity ID.\n */\nexport const DEFAULT_OWNER_ENTITY_ID = 0;\n\n/**\n * The selector for the execute user operation function.\n */\nexport const EXECUTE_USER_OP_SELECTOR: Hex = \"0x8DD7712F\";\n\nexport type GetMAV2UpgradeToData<\n TAccount extends SmartAccount | undefined = SmartAccount | undefined,\n> = GetAccountParameter<TAccount>;\n\n/**\n * Gets the upgrade to data for the ModularAccountV2.\n *\n * @param {Address} ownerAddress - The address of the owner.\n * @returns {Promise<UpgradeToData>} The upgrade to data.\n */\nexport async function getMAV2UpgradeToData(\n ownerAddress: Address,\n): Promise<UpgradeToData> {\n const initData = encodeFunctionData({\n abi: semiModularAccountStorageAbi,\n functionName: \"initialize\",\n args: [ownerAddress],\n });\n\n return {\n implAddress: DefaultAddress.SMAV2_STORAGE,\n initializationData: initData,\n // TODO(v5): do we need `createModularAccountV2FromExisting()` in the return type here like we had in v4 or no?\n // Almost certainly not, but we need to clean up other parts in SDK for client-side upgrades.\n };\n}\n\nexport type BuildNonceParams = {\n nonceKey?: bigint;\n entityId?: number;\n isGlobalValidation?: boolean;\n isDeferredAction?: boolean;\n isDirectCallValidation?: boolean;\n};\n\n/**\n * Builds a full nonce key.\n *\n * @param {BuildNonceParams} params - The parameters for building a full nonce key.\n * @returns {bigint} The full nonce key.\n */\nexport const buildFullNonceKey = ({\n nonceKey = 0n,\n entityId = 0,\n isGlobalValidation = true,\n isDeferredAction = false,\n}: BuildNonceParams): bigint => {\n return (\n (nonceKey << 40n) +\n (BigInt(entityId) << 8n) +\n (isDeferredAction ? 2n : 0n) +\n (isGlobalValidation ? 1n : 0n)\n );\n};\n\n/**\n * Serializes a module entity into a hexadecimal format by concatenating the module address and entity ID.\n *\n * @example\n * ```ts\n * import { serializeModuleEntity } from \"@alchemy/smart-accounts\";\n * import { Address } from \"viem\";\n *\n * const moduleAddress: Address = \"0x1234\";\n * const entityId: number = 1234;\n *\n * const moduleEntityHex = serializeModuleEntity({\n * moduleAddress,\n * entityId\n * });\n * ```\n *\n * @param {ModuleEntity} config The module entity configuration containing the module address and entity ID\n * @returns {Hex} A hexadecimal string representation of the serialized module entity\n */\nexport function serializeModuleEntity(config: ModuleEntity): Hex {\n return concatHex([config.moduleAddress, toHex(config.entityId, { size: 4 })]);\n}\n\n/**\n * Checks if an account is a ModularAccountV2.\n *\n * @param {SmartAccount} account - The account to check.\n * @returns {boolean} True if the account is a ModularAccountV2, false otherwise.\n */\nexport function isModularAccountV2(\n account: SmartAccount,\n): account is ModularAccountV2Base {\n return (\n \"smartAccountType\" in account &&\n account.smartAccountType === \"ModularAccountV2\"\n );\n}\n"]}
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../../src/ma-v2/utils/account.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,KAAK,GAGN,MAAM,MAAM,CAAC;AAId,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAGvF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,YAAY,EAAE,4CAA4C;IAC1D,cAAc,EAAE,4CAA4C;IAC5D,aAAa,EAAE,4CAA4C;IAC3D,UAAU,EAAE,4CAA4C;CACvB,CAAC;AAEpC;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,wBAAwB,EAAE,4CAA4C;IACtE,UAAU,EAAE,4CAA4C;IACxD,eAAe,EAAE,4CAA4C;IAC7D,kBAAkB,EAAE,4CAA4C;IAChE,SAAS,EAAE,4CAA4C;CACtB,CAAC;AAEpC;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAQ,YAAY,CAAC;AAM1D;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,YAAqB;IAErB,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,GAAG,EAAE,4BAA4B;QACjC,YAAY,EAAE,YAAY;QAC1B,IAAI,EAAE,CAAC,YAAY,CAAC;KACrB,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EAAE,cAAc,CAAC,aAAa;QACzC,kBAAkB,EAAE,QAAQ;KAC7B,CAAC;AACJ,CAAC;AAUD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,QAAQ,GAAG,EAAE,EACb,QAAQ,GAAG,CAAC,EACZ,kBAAkB,GAAG,IAAI,EACzB,gBAAgB,GAAG,KAAK,GACP,EAAU,EAAE;IAC7B,OAAO,CACL,CAAC,QAAQ,IAAI,GAAG,CAAC;QACjB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5B,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC/B,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAoB;IACxD,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAqB;IAErB,OAAO,CACL,kBAAkB,IAAI,OAAO;QAC7B,OAAO,CAAC,gBAAgB,KAAK,kBAAkB,CAChD,CAAC;AACJ,CAAC","sourcesContent":["import {\n concatHex,\n encodeFunctionData,\n toHex,\n type Address,\n type Hex,\n} from \"viem\";\nimport type { SmartAccount } from \"viem/account-abstraction\";\nimport type { GetAccountParameter } from \"../../types.js\";\nimport type { ModuleEntity, UpgradeToData } from \"../types.js\";\nimport { semiModularAccountStorageAbi } from \"../abis/semiModularAccountStorageAbi.js\";\nimport type { ModularAccountV2Base } from \"../accounts/base.js\";\n\n/**\n * A mapping of default addresses for the ModularAccountV2.\n */\nexport const DefaultAddress = {\n MAV2_FACTORY: \"0x00000000000017c61b5bEe81050EC8eFc9c6fecd\",\n SMAV2_BYTECODE: \"0x000000000000c5A9089039570Dd36455b5C07383\",\n SMAV2_STORAGE: \"0x0000000000006E2f9d80CaEc0Da6500f005EB25A\",\n SMAV2_7702: \"0x69007702764179f14F51cdce752f4f775d74E139\",\n} satisfies Record<string, Address>;\n\n/**\n * A mapping of default addresses for the ModularAccountV2 modules.\n */\nexport const DefaultModuleAddress = {\n SINGLE_SIGNER_VALIDATION: \"0x00000000000099DE0BF6fA90dEB851E2A2df7d83\",\n TIME_RANGE: \"0x00000000000082B8e2012be914dFA4f62A0573eA\",\n PAYMASTER_GUARD: \"0x0000000000001aA7A7F7E29abe0be06c72FD42A1\",\n NATIVE_TOKEN_LIMIT: \"0x00000000000001e541f0D090868FBe24b59Fbe06\",\n ALLOWLIST: \"0x00000000003e826473a313e600b5b9b791f5a59a\",\n} satisfies Record<string, Address>;\n\n/**\n * The default owner entity ID.\n */\nexport const DEFAULT_OWNER_ENTITY_ID = 0;\n\n/**\n * The selector for the execute user operation function.\n */\nexport const EXECUTE_USER_OP_SELECTOR: Hex = \"0x8DD7712F\";\n\nexport type GetMAV2UpgradeToData<\n TAccount extends SmartAccount | undefined = SmartAccount | undefined,\n> = GetAccountParameter<TAccount>;\n\n/**\n * Gets the upgrade to data for the ModularAccountV2.\n *\n * @param {Address} ownerAddress - The address of the owner.\n * @returns {Promise<UpgradeToData>} The upgrade to data.\n */\nexport async function getMAV2UpgradeToData(\n ownerAddress: Address,\n): Promise<UpgradeToData> {\n const initData = encodeFunctionData({\n abi: semiModularAccountStorageAbi,\n functionName: \"initialize\",\n args: [ownerAddress],\n });\n\n return {\n implAddress: DefaultAddress.SMAV2_STORAGE,\n initializationData: initData,\n };\n}\n\nexport type BuildNonceParams = {\n nonceKey?: bigint;\n entityId?: number;\n isGlobalValidation?: boolean;\n isDeferredAction?: boolean;\n isDirectCallValidation?: boolean;\n};\n\n/**\n * Builds a full nonce key.\n *\n * @param {BuildNonceParams} params - The parameters for building a full nonce key.\n * @returns {bigint} The full nonce key.\n */\nexport const buildFullNonceKey = ({\n nonceKey = 0n,\n entityId = 0,\n isGlobalValidation = true,\n isDeferredAction = false,\n}: BuildNonceParams): bigint => {\n return (\n (nonceKey << 40n) +\n (BigInt(entityId) << 8n) +\n (isDeferredAction ? 2n : 0n) +\n (isGlobalValidation ? 1n : 0n)\n );\n};\n\n/**\n * Serializes a module entity into a hexadecimal format by concatenating the module address and entity ID.\n *\n * @example\n * ```ts\n * import { serializeModuleEntity } from \"@alchemy/smart-accounts\";\n * import { Address } from \"viem\";\n *\n * const moduleAddress: Address = \"0x1234\";\n * const entityId: number = 1234;\n *\n * const moduleEntityHex = serializeModuleEntity({\n * moduleAddress,\n * entityId\n * });\n * ```\n *\n * @param {ModuleEntity} config The module entity configuration containing the module address and entity ID\n * @returns {Hex} A hexadecimal string representation of the serialized module entity\n */\nexport function serializeModuleEntity(config: ModuleEntity): Hex {\n return concatHex([config.moduleAddress, toHex(config.entityId, { size: 4 })]);\n}\n\n/**\n * Checks if an account is a ModularAccountV2.\n *\n * @param {SmartAccount} account - The account to check.\n * @returns {boolean} True if the account is a ModularAccountV2, false otherwise.\n */\nexport function isModularAccountV2(\n account: SmartAccount,\n): account is ModularAccountV2Base {\n return (\n \"smartAccountType\" in account &&\n account.smartAccountType === \"ModularAccountV2\"\n );\n}\n"]}
@@ -1 +1 @@
1
- export declare const VERSION = "5.0.0-beta.1";
1
+ export declare const VERSION = "5.0.0-beta.20";
@@ -1,4 +1,4 @@
1
1
  // This file is autogenerated by inject-version.ts. Any changes will be
2
2
  // overwritten on commit!
3
- export const VERSION = "5.0.0-beta.1";
3
+ export const VERSION = "5.0.0-beta.20";
4
4
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,yBAAyB;AACzB,MAAM,CAAC,MAAM,OAAO,GAAG,cAAc,CAAC","sourcesContent":["// This file is autogenerated by inject-version.ts. Any changes will be\n// overwritten on commit!\nexport const VERSION = \"5.0.0-beta.1\";\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,yBAAyB;AACzB,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC","sourcesContent":["// This file is autogenerated by inject-version.ts. Any changes will be\n// overwritten on commit!\nexport const VERSION = \"5.0.0-beta.20\";\n"]}
@@ -3,30 +3,27 @@ export type * from "./light-account/accounts/account.js";
3
3
  export { toLightAccount } from "./light-account/accounts/account.js";
4
4
  export type * from "./light-account/accounts/multi-owner-account.js";
5
5
  export { toMultiOwnerLightAccount } from "./light-account/accounts/multi-owner-account.js";
6
- export type * from "./light-account/decorators/singleOwner.js";
7
- export { singleOwnerLightAccountActions } from "./light-account/decorators/singleOwner.js";
8
- export type * from "./light-account/decorators/multiOwner.js";
9
- export { multiOwnerLightAccountActions } from "./light-account/decorators/multiOwner.js";
10
6
  export type * from "./light-account/predictAddress.js";
11
7
  export { predictLightAccountAddress, predictMultiOwnerLightAccountAddress, } from "./light-account/predictAddress.js";
12
8
  export { AccountVersionRegistry } from "./light-account/registry.js";
13
9
  export type * from "./light-account/registry.js";
14
10
  export { defaultLightAccountVersion, getLightAccountImplAddress, LightAccountUnsupported1271Factories, LightAccountUnsupported1271Impls, } from "./light-account/utils.js";
11
+ export { encodeCallsLA, decodeCallsLA, } from "./light-account/accounts/calldataCodec.js";
15
12
  export { lightAccountStaticImplV1_0_1, lightAccountStaticImplV1_0_2, lightAccountStaticImplV1_1_0, lightAccountStaticImplV2_0_0, multiOwnerLightAccountStaticImplV2_0_0, } from "./light-account/lightAccountStaticImpl.js";
16
13
  export type * from "./ma-v1/accounts/base.js";
17
14
  export { toModularAccountV1Base } from "./ma-v1/accounts/base.js";
18
15
  export type * from "./ma-v1/accounts/multi-owner-account.js";
19
16
  export { toMultiOwnerModularAccountV1 } from "./ma-v1/accounts/multi-owner-account.js";
20
- export type * from "./ma-v1/decorators/multiOwner.js";
21
- export { multiOwnerModularAccountV1Actions } from "./ma-v1/decorators/multiOwner.js";
22
17
  export type * from "./ma-v1/predictAddress.js";
23
18
  export { predictMultiOwnerModularAccountV1Address } from "./ma-v1/predictAddress.js";
24
19
  export { multiOwnerModularAccountStaticImpl } from "./ma-v1/mav1StaticImpl.js";
25
20
  export { DefaultMaV1Address, DefaultMaV1PluginAddress, } from "./ma-v1/account.js";
21
+ export { encodeCallsMAv1, decodeCallsMAv1, } from "./ma-v1/accounts/calldataCodec.js";
26
22
  export type * from "./ma-v2/accounts/account.js";
27
23
  export { toModularAccountV2 } from "./ma-v2/accounts/account.js";
28
24
  export type * from "./ma-v2/accounts/base.js";
29
25
  export { toModularAccountV2Base } from "./ma-v2/accounts/base.js";
26
+ export { encodeCallsMAv2, decodeCallsMAv2, } from "./ma-v2/accounts/calldataCodec.js";
30
27
  export type * from "./ma-v2/decorators/deferralActions.js";
31
28
  export { deferralActions } from "./ma-v2/decorators/deferralActions.js";
32
29
  export type * from "./ma-v2/decorators/installValidation.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/light-account/accounts/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/light-account/accounts/base.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,21 @@
1
1
  import { type Address, type Call, type Hex } from "viem";
2
+ /**
3
+ * Encodes an array of calls into LightAccount calldata for `execute` or `executeBatch`.
4
+ * Used internally by the LightAccount SmartAccount implementation. Typically not needed
5
+ * directly unless you have an advanced use case.
6
+ *
7
+ * @param {Call[]} calls The calls to encode.
8
+ * @returns {Hex} The encoded calldata.
9
+ */
2
10
  export declare function encodeCallsLA(calls: readonly Call[]): Hex;
11
+ /**
12
+ * Decodes LightAccount calldata back into an array of calls.
13
+ * Used internally by the LightAccount SmartAccount implementation. Typically not needed
14
+ * directly unless you have an advanced use case.
15
+ *
16
+ * @param {Hex} data The calldata to decode.
17
+ * @param {Address} accountAddress The account address, used as the `to` for unrecognized selectors.
18
+ * @returns {Call[]} The decoded calls.
19
+ */
3
20
  export declare function decodeCallsLA(data: Hex, accountAddress: Address): Call[];
4
21
  //# sourceMappingURL=calldataCodec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"calldataCodec.d.ts","sourceRoot":"","sources":["../../../../src/light-account/accounts/calldataCodec.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,IAAI,EACT,KAAK,GAAG,EACT,MAAM,MAAM,CAAC;AAMd,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,GAAG,CAyBzD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,cAAc,EAAE,OAAO,GAAG,IAAI,EAAE,CAqDxE"}
1
+ {"version":3,"file":"calldataCodec.d.ts","sourceRoot":"","sources":["../../../../src/light-account/accounts/calldataCodec.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,IAAI,EACT,KAAK,GAAG,EACT,MAAM,MAAM,CAAC;AAMd;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,GAAG,CAyBzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,cAAc,EAAE,OAAO,GAAG,IAAI,EAAE,CAqDxE"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/light-account/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAGvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAS3E;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,GACrC,iBAAiB,SAAS,gBAAgB,OACvC,mBAAmB,CAAC,iBAAiB,CAAa,CAAC;AAExD;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAG5C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC,oBAEhD,CAAC;AAEF,eAAO,MAAM,+BAA+B,uEAC0B,CAAC;AAEvE;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,QAAQ,SAAS,gBAAgB,EACjC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAsCrC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/light-account/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAGvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAG3E;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,GACrC,iBAAiB,SAAS,gBAAgB,OACvC,mBAAmB,CAAC,iBAAiB,CAAa,CAAC;AAExD;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAG5C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC,oBAEhD,CAAC;AAEF,eAAO,MAAM,+BAA+B,uEAC0B,CAAC;AAEvE;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,QAAQ,SAAS,gBAAgB,EACjC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAsCrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/ma-v1/accounts/base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,GAAG,EACR,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,IAAI,EACT,KAAK,mBAAmB,EAEzB,MAAM,MAAM,CAAC;AACd,OAAO,EACL,eAAe,EAEf,KAAK,0BAA0B,EAGhC,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,gBAAgB,EAChB,2BAA2B,EAC5B,MAAM,gBAAgB,CAAC;AAYxB,KAAK,eAAe,GAAG,4BAA4B,CAAC;AAEpD,MAAM,MAAM,6BAA6B,GAAG,0BAA0B,CACpE,OAAO,eAAe,EACtB,KAAK,EACL;IACE,gBAAgB,EAAE,eAAe,CAAC;IAClC,gBAAgB,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3E,eAAe,EAAE,CAAC,SAAS,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACnD,EACD,KAAK,CACN,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC9B,2BAA2B,CAAC,6BAA6B,CAAC,CAAC;AAE7D,MAAM,MAAM,4BAA4B,CACtC,UAAU,SAAS,SAAS,GAAG,SAAS,IACtC;IACF,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,cAAc,GAAG,YAAY,GAAG,SAAS,CAAC,CAAC;IAC7E,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,cAAc,GAAG,YAAY,CAAC;IACrC,cAAc,EAAE,MAAM,OAAO,CAAC;QAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC9B,WAAW,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;KAC/B,CAAC,CAAC;IACH,aAAa,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC3D,IAAI,EAAE,eAAe,CAAC;CACvB,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,EACA,MAAM,EACN,cAAc,EACd,KAAK,EACL,cAAc,EACd,aAAa,EACb,IAAI,GACL,EAAE,4BAA4B,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAwK1E"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/ma-v1/accounts/base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,GAAG,EACR,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,IAAI,EACT,KAAK,mBAAmB,EACzB,MAAM,MAAM,CAAC;AACd,OAAO,EACL,eAAe,EAEf,KAAK,0BAA0B,EAGhC,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,gBAAgB,EAChB,2BAA2B,EAC5B,MAAM,gBAAgB,CAAC;AAWxB,KAAK,eAAe,GAAG,4BAA4B,CAAC;AAEpD,MAAM,MAAM,6BAA6B,GAAG,0BAA0B,CACpE,OAAO,eAAe,EACtB,KAAK,EACL;IACE,gBAAgB,EAAE,eAAe,CAAC;IAClC,gBAAgB,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3E,eAAe,EAAE,CAAC,SAAS,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACnD,EACD,KAAK,CACN,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC9B,2BAA2B,CAAC,6BAA6B,CAAC,CAAC;AAE7D,MAAM,MAAM,4BAA4B,CACtC,UAAU,SAAS,SAAS,GAAG,SAAS,IACtC;IACF,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,cAAc,GAAG,YAAY,GAAG,SAAS,CAAC,CAAC;IAC7E,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,cAAc,GAAG,YAAY,CAAC;IACrC,cAAc,EAAE,MAAM,OAAO,CAAC;QAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC9B,WAAW,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;KAC/B,CAAC,CAAC;IACH,aAAa,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC3D,IAAI,EAAE,eAAe,CAAC;CACvB,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,EACA,MAAM,EACN,cAAc,EACd,KAAK,EACL,cAAc,EACd,aAAa,EACb,IAAI,GACL,EAAE,4BAA4B,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAuH1E"}
@@ -0,0 +1,21 @@
1
+ import { type Address, type Call, type Hex } from "viem";
2
+ /**
3
+ * Encodes an array of calls into ModularAccountV1 calldata for `execute` or `executeBatch`.
4
+ * Used internally by the ModularAccountV1 SmartAccount implementation. Typically not needed
5
+ * directly unless you have an advanced use case.
6
+ *
7
+ * @param {Call[]} calls The calls to encode.
8
+ * @returns {Hex} The encoded calldata.
9
+ */
10
+ export declare function encodeCallsMAv1(calls: readonly Call[]): Hex;
11
+ /**
12
+ * Decodes ModularAccountV1 calldata back into an array of calls.
13
+ * Used internally by the ModularAccountV1 SmartAccount implementation. Typically not needed
14
+ * directly unless you have an advanced use case.
15
+ *
16
+ * @param {Hex} data The calldata to decode.
17
+ * @param {Address} accountAddress The account address, used as the `to` for unrecognized selectors.
18
+ * @returns {Call[]} The decoded calls.
19
+ */
20
+ export declare function decodeCallsMAv1(data: Hex, accountAddress: Address): Call[];
21
+ //# sourceMappingURL=calldataCodec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calldataCodec.d.ts","sourceRoot":"","sources":["../../../../src/ma-v1/accounts/calldataCodec.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,IAAI,EACT,KAAK,GAAG,EACT,MAAM,MAAM,CAAC;AAGd;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,GAAG,CAoB3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,cAAc,EAAE,OAAO,GAAG,IAAI,EAAE,CA+B1E"}
@@ -9,8 +9,6 @@ export type MultiOwnerModularAccountV1FactoryArgs = {
9
9
  };
10
10
  /**
11
11
  * Static implementation logic for ModularAccountV1.
12
- *
13
- * TODO(v5): update JSDoc format when doc-gen supports structs or records.
14
12
  */
15
13
  export declare const multiOwnerModularAccountStaticImpl: StaticSmartAccountImplementation<false, "0.6", MultiOwnerModularAccountV1FactoryArgs, typeof entryPoint06Abi, typeof UpgradeableModularAccountAbi, typeof MultiOwnerModularAccountFactoryAbi>;
16
14
  //# sourceMappingURL=mav1StaticImpl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mav1StaticImpl.d.ts","sourceRoot":"","sources":["../../../src/ma-v1/mav1StaticImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAsB,MAAM,MAAM,CAAC;AACxD,OAAO,EAAE,eAAe,EAAuB,MAAM,0BAA0B,CAAC;AAEhF,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,kCAAkC,EAAE,MAAM,2CAA2C,CAAC;AAC/F,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AAInF,MAAM,MAAM,qCAAqC,GAAG;IAClD,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,EAAE,gCAAgC,CAC/E,KAAK,EACL,KAAK,EACL,qCAAqC,EACrC,OAAO,eAAe,EACtB,OAAO,4BAA4B,EACnC,OAAO,kCAAkC,CA2B1C,CAAC"}
1
+ {"version":3,"file":"mav1StaticImpl.d.ts","sourceRoot":"","sources":["../../../src/ma-v1/mav1StaticImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAsB,MAAM,MAAM,CAAC;AACxD,OAAO,EAAE,eAAe,EAAuB,MAAM,0BAA0B,CAAC;AAEhF,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,kCAAkC,EAAE,MAAM,2CAA2C,CAAC;AAC/F,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AAInF,MAAM,MAAM,qCAAqC,GAAG;IAClD,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kCAAkC,EAAE,gCAAgC,CAC/E,KAAK,EACL,KAAK,EACL,qCAAqC,EACrC,OAAO,eAAe,EACtB,OAAO,4BAA4B,EACnC,OAAO,kCAAkC,CA2B1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/ma-v2/accounts/base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,GAAG,EACR,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,SAAS,EAUf,MAAM,MAAM,CAAC;AACd,OAAO,EACL,eAAe,EACf,KAAK,0BAA0B,EAI/B,KAAK,wBAAwB,EAC9B,MAAM,0BAA0B,CAAC;AAQlC,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EACV,gBAAgB,EAChB,2BAA2B,EAC5B,MAAM,gBAAgB,CAAC;AAwBxB,MAAM,MAAM,oBAAoB,GAC5B;IACE,uBAAuB,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB,GACD;IACE,uBAAuB,CAAC,EAAE,KAAK,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEN,MAAM,MAAM,kCAAkC,GAAG,0BAA0B,CACzE,OAAO,eAAe,EACtB,KAAK,EACL;IACE,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,YAAY,EAAE,YAAY,CAAC;IAC3B,cAAc,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAChD,gBAAgB,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChE,iBAAiB,EAAE,CACjB,IAAI,EAAE,oBAAoB,KACvB,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACjC,gBAAgB,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3E,eAAe,EAAE,CAAC,SAAS,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACnD,EACD,OAAO,CACR,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC9B,2BAA2B,CAAC,kCAAkC,CAAC,CAAC;AAElE,MAAM,MAAM,4BAA4B,CACtC,UAAU,SAAS,SAAS,GAAG,SAAS,IACtC;IACF,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,cAAc,GAAG,YAAY,GAAG,SAAS,CAAC,CAAC;IAC7E,KAAK,EAAE,cAAc,GAAG,YAAY,CAAC;IACrC,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,MAAM,OAAO,CAAC;QAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC9B,WAAW,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;KAC/B,CAAC,CAAC;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,aAAa,CAAC,EAAE,wBAAwB,CAAC,eAAe,CAAC,CAAC;CAC3D,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,EACA,MAAM,EACN,KAAK,EACL,cAAc,EACd,cAAc,EACd,YAGC,EACD,cAAc,EACd,aAAa,GACd,EAAE,4BAA4B,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAqX1E"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/ma-v2/accounts/base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,GAAG,EACR,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,SAAS,EASf,MAAM,MAAM,CAAC;AACd,OAAO,EACL,eAAe,EACf,KAAK,0BAA0B,EAI/B,KAAK,wBAAwB,EAC9B,MAAM,0BAA0B,CAAC;AAQlC,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EACV,gBAAgB,EAChB,2BAA2B,EAC5B,MAAM,gBAAgB,CAAC;AAoBxB,MAAM,MAAM,oBAAoB,GAC5B;IACE,uBAAuB,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB,GACD;IACE,uBAAuB,CAAC,EAAE,KAAK,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEN,MAAM,MAAM,kCAAkC,GAAG,0BAA0B,CACzE,OAAO,eAAe,EACtB,KAAK,EACL;IACE,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,YAAY,EAAE,YAAY,CAAC;IAC3B,cAAc,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAChD,gBAAgB,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChE,iBAAiB,EAAE,CACjB,IAAI,EAAE,oBAAoB,KACvB,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACjC,gBAAgB,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3E,eAAe,EAAE,CAAC,SAAS,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACnD,EACD,OAAO,CACR,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC9B,2BAA2B,CAAC,kCAAkC,CAAC,CAAC;AAElE,MAAM,MAAM,4BAA4B,CACtC,UAAU,SAAS,SAAS,GAAG,SAAS,IACtC;IACF,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,cAAc,GAAG,YAAY,GAAG,SAAS,CAAC,CAAC;IAC7E,KAAK,EAAE,cAAc,GAAG,YAAY,CAAC;IACrC,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,MAAM,OAAO,CAAC;QAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC9B,WAAW,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;KAC/B,CAAC,CAAC;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,aAAa,CAAC,EAAE,wBAAwB,CAAC,eAAe,CAAC,CAAC;CAC3D,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,EACA,MAAM,EACN,KAAK,EACL,cAAc,EACd,cAAc,EACd,YAGC,EACD,cAAc,EACd,aAAa,GACd,EAAE,4BAA4B,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA4T1E"}
@@ -0,0 +1,21 @@
1
+ import { type Address, type Call, type Hex } from "viem";
2
+ /**
3
+ * Encodes an array of calls into ModularAccountV2 calldata for `execute` or `executeBatch`.
4
+ * Used internally by the ModularAccountV2 SmartAccount implementation. Typically not needed
5
+ * directly unless you have an advanced use case.
6
+ *
7
+ * @param {Call[]} calls The calls to encode.
8
+ * @returns {Hex} The encoded calldata.
9
+ */
10
+ export declare function encodeCallsMAv2(calls: readonly Call[]): Hex;
11
+ /**
12
+ * Decodes ModularAccountV2 calldata back into an array of calls. Strips the `EXECUTE_USER_OP_SELECTOR` prefix if present.
13
+ * Used internally by the ModularAccountV2 SmartAccount implementation. Typically not needed
14
+ * directly unless you have an advanced use case.
15
+ *
16
+ * @param {Hex} data The calldata to decode.
17
+ * @param {Address} accountAddress The account address, used as the `to` for unrecognized selectors.
18
+ * @returns {Call[]} The decoded calls.
19
+ */
20
+ export declare function decodeCallsMAv2(data: Hex, accountAddress: Address): Call[];
21
+ //# sourceMappingURL=calldataCodec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calldataCodec.d.ts","sourceRoot":"","sources":["../../../../src/ma-v2/accounts/calldataCodec.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,IAAI,EACT,KAAK,GAAG,EACT,MAAM,MAAM,CAAC;AAKd;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,GAAG,CAoB3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,cAAc,EAAE,OAAO,GAAG,IAAI,EAAE,CAsC1E"}
@@ -2,7 +2,7 @@ import { type Address, type Client, type Hex, type IsUndefined, type Chain, type
2
2
  import type { HookConfig, ValidationConfig } from "../types.js";
3
3
  import type { ModularAccountV2 } from "../accounts/account.js";
4
4
  import type { GetAccountParameter } from "../../types.js";
5
- import { type SmartAccount } from "viem/account-abstraction";
5
+ import type { SmartAccount } from "viem/account-abstraction";
6
6
  export type InstallValidationParams<TAccount extends SmartAccount | undefined = SmartAccount | undefined> = {
7
7
  validationConfig: ValidationConfig;
8
8
  selectors: Hex[];
@@ -20,27 +20,23 @@ export type UninstallValidationParams<TAccount extends SmartAccount | undefined
20
20
  } & GetAccountParameter<TAccount, ModularAccountV2>;
21
21
  export type InstallValidationActions<TAccount extends SmartAccount | undefined = SmartAccount | undefined> = {
22
22
  encodeInstallValidation: (args: InstallValidationParams<TAccount>) => Promise<Hex>;
23
- installValidation: (args: InstallValidationParams<TAccount>) => Promise<Hex>;
24
23
  encodeUninstallValidation: (args: UninstallValidationParams<TAccount>) => Promise<Hex>;
25
- uninstallValidation: (args: UninstallValidationParams<TAccount>) => Promise<Hex>;
26
24
  };
27
25
  /**
28
- * Provides validation installation and uninstallation functionalities for a MA v2 client, ensuring compatibility with `SmartAccountClient`.
26
+ * Provides validation installation and uninstallation encoding functionalities for a MA v2 client.
29
27
  *
30
28
  * @example
31
29
  * ```ts
32
- * import { createModularAccountV2Client, installValidationActions, getDefaultSingleSignerValidationModuleAddress, SingleSignerValidationModule } from "@alchemy/smart-accounts";
30
+ * import { installValidationActions, SingleSignerValidationModule } from "@alchemy/smart-accounts";
33
31
  * import { Address } from "viem";
34
32
  *
35
33
  * const client = (await createModularAccountV2Client({ ... })).extend(installValidationActions);
36
34
  * const sessionKeyAddress: Address = "0x1234";
37
35
  * const sessionKeyEntityId: number = 1;
38
36
  *
39
- * await client.installValidation({
37
+ * const callData = await client.encodeInstallValidation({
40
38
  * validationConfig: {
41
- * moduleAddress: getDefaultSingleSignerValidationModuleAddress(
42
- * client.chain
43
- * ),
39
+ * moduleAddress: getDefaultSingleSignerValidationModuleAddress(client.chain),
44
40
  * entityId: sessionKeyEntityId,
45
41
  * isGlobal: true,
46
42
  * isSignatureValidation: false,
@@ -54,19 +50,11 @@ export type InstallValidationActions<TAccount extends SmartAccount | undefined =
54
50
  * hooks: [],
55
51
  * });
56
52
  *
57
- * await client.uninstallValidation({
58
- * moduleAddress: sessionKeyAddress,
59
- * entityId: sessionKeyEntityId,
60
- * uninstallData: SingleSignerValidationModule.encodeOnUninstallData({
61
- * entityId: sessionKeyEntityId,
62
- * }),
63
- * hookUninstallDatas: [],
64
- * });
65
- *
53
+ * await client.sendUserOperation({ callData, account });
66
54
  * ```
67
55
  *
68
- * @param {object} client - The client instance which provides account and sendUserOperation functionality.
69
- * @returns {object} - An object containing two methods, `installValidation` and `uninstallValidation`.
56
+ * @param {object} client - The client instance which provides account functionality.
57
+ * @returns {object} - An object containing `encodeInstallValidation` and `encodeUninstallValidation`.
70
58
  */
71
59
  export declare function installValidationActions<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends SmartAccount | undefined = SmartAccount | undefined>(client: Client<TTransport, TChain, TAccount>): InstallValidationActions<IsUndefined<TAccount> extends true ? undefined : ModularAccountV2>;
72
60
  //# sourceMappingURL=installValidation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"installValidation.d.ts","sourceRoot":"","sources":["../../../../src/ma-v2/decorators/installValidation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,KAAK,GAAG,EACR,KAAK,WAAW,EAChB,KAAK,KAAK,EACV,KAAK,SAAS,EAIf,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,0BAA0B,CAAC;AAchF,MAAM,MAAM,uBAAuB,CACjC,QAAQ,SAAS,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,IAClE;IACF,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,SAAS,EAAE,GAAG,EAAE,CAAC;IACjB,WAAW,EAAE,GAAG,CAAC;IACjB,KAAK,EAAE;QACL,UAAU,EAAE,UAAU,CAAC;QACvB,QAAQ,EAAE,GAAG,CAAC;KACf,EAAE,CAAC;CACL,GAAG,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;AAEpD,MAAM,MAAM,yBAAyB,CACnC,QAAQ,SAAS,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,IAClE;IACF,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,GAAG,CAAC;IACnB,kBAAkB,EAAE,GAAG,EAAE,CAAC;CAC3B,GAAG,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;AAEpD,MAAM,MAAM,wBAAwB,CAClC,QAAQ,SAAS,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,IAClE;IACF,uBAAuB,EAAE,CACvB,IAAI,EAAE,uBAAuB,CAAC,QAAQ,CAAC,KACpC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClB,iBAAiB,EAAE,CAAC,IAAI,EAAE,uBAAuB,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7E,yBAAyB,EAAE,CACzB,IAAI,EAAE,yBAAyB,CAAC,QAAQ,CAAC,KACtC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClB,mBAAmB,EAAE,CACnB,IAAI,EAAE,yBAAyB,CAAC,QAAQ,CAAC,KACtC,OAAO,CAAC,GAAG,CAAC,CAAC;CACnB,CAAC;AAGF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,QAAQ,SAAS,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,EAEpE,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,GAC3C,wBAAwB,CACzB,WAAW,CAAC,QAAQ,CAAC,SAAS,IAAI,GAAG,SAAS,GAAG,gBAAgB,CAClE,CA0IA"}
1
+ {"version":3,"file":"installValidation.d.ts","sourceRoot":"","sources":["../../../../src/ma-v2/decorators/installValidation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,KAAK,GAAG,EACR,KAAK,WAAW,EAChB,KAAK,KAAK,EACV,KAAK,SAAS,EAIf,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAa7D,MAAM,MAAM,uBAAuB,CACjC,QAAQ,SAAS,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,IAClE;IACF,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,SAAS,EAAE,GAAG,EAAE,CAAC;IACjB,WAAW,EAAE,GAAG,CAAC;IACjB,KAAK,EAAE;QACL,UAAU,EAAE,UAAU,CAAC;QACvB,QAAQ,EAAE,GAAG,CAAC;KACf,EAAE,CAAC;CACL,GAAG,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;AAEpD,MAAM,MAAM,yBAAyB,CACnC,QAAQ,SAAS,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,IAClE;IACF,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,GAAG,CAAC;IACnB,kBAAkB,EAAE,GAAG,EAAE,CAAC;CAC3B,GAAG,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;AAEpD,MAAM,MAAM,wBAAwB,CAClC,QAAQ,SAAS,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,IAClE;IACF,uBAAuB,EAAE,CACvB,IAAI,EAAE,uBAAuB,CAAC,QAAQ,CAAC,KACpC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClB,yBAAyB,EAAE,CACzB,IAAI,EAAE,yBAAyB,CAAC,QAAQ,CAAC,KACtC,OAAO,CAAC,GAAG,CAAC,CAAC;CACnB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,QAAQ,SAAS,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,EAEpE,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,GAC3C,wBAAwB,CACzB,WAAW,CAAC,QAAQ,CAAC,SAAS,IAAI,GAAG,SAAS,GAAG,gBAAgB,CAClE,CA+EA"}
@@ -10,15 +10,11 @@ export type SemiModularAccountV2FactoryArgs = {
10
10
  export type SemiModularAccountV2StaticImpl = StaticSmartAccountImplementation<false, "0.7", SemiModularAccountV2FactoryArgs, typeof entryPoint07Abi, typeof semiModularAccountBytecodeAbi, typeof accountFactoryAbi>;
11
11
  /**
12
12
  * Static implementation logic for SemiModularAccountV2.
13
- *
14
- * TODO(v5): update JSDoc format when doc-gen supports structs or records.
15
13
  */
16
14
  export declare const semiModularAccountV2StaticImpl: SemiModularAccountV2StaticImpl;
17
15
  export type SemiModularAccount7702StaticImpl = StaticSmartAccountImplementation<true, "0.7", SemiModularAccountV2FactoryArgs, typeof entryPoint07Abi, typeof semiModularAccountBytecodeAbi, typeof accountFactoryAbi>;
18
16
  /**
19
17
  * Static implementation logic for SemiModularAccount7702.
20
- *
21
- * TODO(v5): update JSDoc format when doc-gen supports structs or records.
22
18
  */
23
19
  export declare const semiModularAccount7702StaticImpl: SemiModularAccount7702StaticImpl;
24
20
  //# sourceMappingURL=mav2StaticImpl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mav2StaticImpl.d.ts","sourceRoot":"","sources":["../../../src/ma-v2/mav2StaticImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AACxD,OAAO,EAAE,eAAe,EAAuB,MAAM,0BAA0B,CAAC;AAEhF,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAIhE,MAAM,MAAM,+BAA+B,GAAG;IAC5C,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,gCAAgC,CAC3E,KAAK,EACL,KAAK,EACL,+BAA+B,EAC/B,OAAO,eAAe,EACtB,OAAO,6BAA6B,EACpC,OAAO,iBAAiB,CACzB,CAAC;AAeF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,EAAE,8BAqB5C,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG,gCAAgC,CAC7E,IAAI,EACJ,KAAK,EACL,+BAA+B,EAC/B,OAAO,eAAe,EACtB,OAAO,6BAA6B,EACpC,OAAO,iBAAiB,CACzB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,EAAE,gCAI5C,CAAC"}
1
+ {"version":3,"file":"mav2StaticImpl.d.ts","sourceRoot":"","sources":["../../../src/ma-v2/mav2StaticImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AACxD,OAAO,EAAE,eAAe,EAAuB,MAAM,0BAA0B,CAAC;AAEhF,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAIhE,MAAM,MAAM,+BAA+B,GAAG;IAC5C,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,gCAAgC,CAC3E,KAAK,EACL,KAAK,EACL,+BAA+B,EAC/B,OAAO,eAAe,EACtB,OAAO,6BAA6B,EACpC,OAAO,iBAAiB,CACzB,CAAC;AAeF;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,8BAqB5C,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG,gCAAgC,CAC7E,IAAI,EACJ,KAAK,EACL,+BAA+B,EAC/B,OAAO,eAAe,EACtB,OAAO,6BAA6B,EACpC,OAAO,iBAAiB,CACzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gCAAgC,EAAE,gCAI5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../../src/ma-v2/utils/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,GAAG,EACT,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;CAKQ,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;CAME,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,GAAkB,CAAC;AAE1D,MAAM,MAAM,oBAAoB,CAC9B,QAAQ,SAAS,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,IAClE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AAElC;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,aAAa,CAAC,CAaxB;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,+DAK/B,gBAAgB,KAAG,MAOrB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,GAAG,CAE/D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,YAAY,GACpB,OAAO,IAAI,oBAAoB,CAKjC"}
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../../src/ma-v2/utils/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,GAAG,EACT,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;CAKQ,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;CAME,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,GAAkB,CAAC;AAE1D,MAAM,MAAM,oBAAoB,CAC9B,QAAQ,SAAS,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,IAClE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AAElC;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,aAAa,CAAC,CAWxB;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,+DAK/B,gBAAgB,KAAG,MAOrB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,GAAG,CAE/D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,YAAY,GACpB,OAAO,IAAI,oBAAoB,CAKjC"}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "5.0.0-beta.1";
1
+ export declare const VERSION = "5.0.0-beta.20";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO,iBAAiB,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO,kBAAkB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alchemy/smart-accounts",
3
- "version": "5.0.0-beta.2",
3
+ "version": "5.0.0-beta.21",
4
4
  "description": "This package contains all of the viem interfaces for Alchemy's Smart Contract Accounts",
5
5
  "author": "Alchemy",
6
6
  "license": "MIT",
@@ -31,7 +31,7 @@
31
31
  },
32
32
  "scripts": {
33
33
  "prebuild": "tsx ./inject-version.ts",
34
- "build": "yarn clean && yarn build:esm && yarn build:types",
34
+ "build": "pnpm run clean && pnpm run build:esm && pnpm run build:types",
35
35
  "build:esm": "tsc --project tsconfig.build.json --outDir ./dist/esm",
36
36
  "build:types": "tsc --project tsconfig.build.json --declarationDir ./dist/types --emitDeclarationOnly --declaration --declarationMap",
37
37
  "clean": "rm -rf ./dist",
@@ -39,12 +39,12 @@
39
39
  "test:run": "vitest run"
40
40
  },
41
41
  "devDependencies": {
42
- "@alchemy/aa-infra": "^5.0.0-beta.2",
43
- "typescript-template": "*",
42
+ "@alchemy/aa-infra": "5.0.0-beta.21",
43
+ "typescript-template": "workspace:*",
44
44
  "viem": "^2.45.0"
45
45
  },
46
46
  "dependencies": {
47
- "@alchemy/common": "^5.0.0-beta.2"
47
+ "@alchemy/common": "5.0.0-beta.21"
48
48
  },
49
49
  "peerDependencies": {
50
50
  "viem": "^2.45.0"
@@ -61,5 +61,5 @@
61
61
  "url": "https://github.com/alchemyplatform/aa-sdk/issues"
62
62
  },
63
63
  "homepage": "https://github.com/alchemyplatform/aa-sdk#readme",
64
- "gitHead": "9042002b7414ac2ae8a6251ee4cf96555b091eca"
64
+ "gitHead": "f7b6c8132c10a86488ea3ebbe73dce14965fe669"
65
65
  }
package/src/index.ts CHANGED
@@ -7,16 +7,6 @@ export { toLightAccount } from "./light-account/accounts/account.js";
7
7
  export type * from "./light-account/accounts/multi-owner-account.js";
8
8
  export { toMultiOwnerLightAccount } from "./light-account/accounts/multi-owner-account.js";
9
9
 
10
- // TODO(v5): Something to consider for v5 - can we cut the exports for the account-specific actions
11
- // from the public interface, and just consume these internally with account + rely on the standard
12
- // bundlerClient actions for performing state writes (i.e. rotating owners)? I'm not sure it's useful
13
- // to consumers outside of attaching to instances of a client with the right action.
14
- export type * from "./light-account/decorators/singleOwner.js";
15
- export { singleOwnerLightAccountActions } from "./light-account/decorators/singleOwner.js";
16
-
17
- export type * from "./light-account/decorators/multiOwner.js";
18
- export { multiOwnerLightAccountActions } from "./light-account/decorators/multiOwner.js";
19
-
20
10
  export type * from "./light-account/predictAddress.js";
21
11
  export {
22
12
  predictLightAccountAddress,
@@ -32,6 +22,11 @@ export {
32
22
  LightAccountUnsupported1271Impls,
33
23
  } from "./light-account/utils.js";
34
24
 
25
+ export {
26
+ encodeCallsLA,
27
+ decodeCallsLA,
28
+ } from "./light-account/accounts/calldataCodec.js";
29
+
35
30
  export {
36
31
  lightAccountStaticImplV1_0_1,
37
32
  lightAccountStaticImplV1_0_2,
@@ -47,9 +42,6 @@ export { toModularAccountV1Base } from "./ma-v1/accounts/base.js";
47
42
  export type * from "./ma-v1/accounts/multi-owner-account.js";
48
43
  export { toMultiOwnerModularAccountV1 } from "./ma-v1/accounts/multi-owner-account.js";
49
44
 
50
- export type * from "./ma-v1/decorators/multiOwner.js";
51
- export { multiOwnerModularAccountV1Actions } from "./ma-v1/decorators/multiOwner.js";
52
-
53
45
  export type * from "./ma-v1/predictAddress.js";
54
46
  export { predictMultiOwnerModularAccountV1Address } from "./ma-v1/predictAddress.js";
55
47
 
@@ -60,6 +52,11 @@ export {
60
52
  DefaultMaV1PluginAddress,
61
53
  } from "./ma-v1/account.js";
62
54
 
55
+ export {
56
+ encodeCallsMAv1,
57
+ decodeCallsMAv1,
58
+ } from "./ma-v1/accounts/calldataCodec.js";
59
+
63
60
  // ModularAccountV2
64
61
  export type * from "./ma-v2/accounts/account.js";
65
62
  export { toModularAccountV2 } from "./ma-v2/accounts/account.js";
@@ -67,6 +64,11 @@ export { toModularAccountV2 } from "./ma-v2/accounts/account.js";
67
64
  export type * from "./ma-v2/accounts/base.js";
68
65
  export { toModularAccountV2Base } from "./ma-v2/accounts/base.js";
69
66
 
67
+ export {
68
+ encodeCallsMAv2,
69
+ decodeCallsMAv2,
70
+ } from "./ma-v2/accounts/calldataCodec.js";
71
+
70
72
  export type * from "./ma-v2/decorators/deferralActions.js";
71
73
  export { deferralActions } from "./ma-v2/decorators/deferralActions.js";
72
74
 
@@ -128,7 +128,6 @@ export async function toLightAccountBase<
128
128
  ).map((x) => x.accountImplementation);
129
129
 
130
130
  const getStorageAtAction = getAction(client, getStorageAt, "getStorageAt");
131
- // TODO(v5): This is a super fragile workflow, and we should consider not supporting this on the SmartAccount level in v5.
132
131
  const storage = await getStorageAtAction({
133
132
  address: accountAddress,
134
133
  slot: EIP1967_PROXY_IMPL_STORAGE_SLOT,
@@ -10,6 +10,14 @@ import { BaseError } from "@alchemy/common";
10
10
 
11
11
  // Conveniently, all variants of LA up to v2.0.0 use the same function signatures for `execute` and `executeBatch`.
12
12
 
13
+ /**
14
+ * Encodes an array of calls into LightAccount calldata for `execute` or `executeBatch`.
15
+ * Used internally by the LightAccount SmartAccount implementation. Typically not needed
16
+ * directly unless you have an advanced use case.
17
+ *
18
+ * @param {Call[]} calls The calls to encode.
19
+ * @returns {Hex} The encoded calldata.
20
+ */
13
21
  export function encodeCallsLA(calls: readonly Call[]): Hex {
14
22
  if (calls.length === 1) {
15
23
  return encodeFunctionData({
@@ -37,6 +45,15 @@ export function encodeCallsLA(calls: readonly Call[]): Hex {
37
45
  });
38
46
  }
39
47
 
48
+ /**
49
+ * Decodes LightAccount calldata back into an array of calls.
50
+ * Used internally by the LightAccount SmartAccount implementation. Typically not needed
51
+ * directly unless you have an advanced use case.
52
+ *
53
+ * @param {Hex} data The calldata to decode.
54
+ * @param {Address} accountAddress The account address, used as the `to` for unrecognized selectors.
55
+ * @returns {Call[]} The decoded calls.
56
+ */
40
57
  export function decodeCallsLA(data: Hex, accountAddress: Address): Call[] {
41
58
  const decoded = decodeFunctionData({
42
59
  abi: LightAccountAbi_v1,
@@ -6,12 +6,6 @@ import type { LightAccountBase } from "./accounts/base.js";
6
6
  import type { LightAccountType, LightAccountVersion } from "./registry.js";
7
7
  import { AccountVersionRegistry } from "./registry.js";
8
8
 
9
- // TODO(v5): The pattern of getDefaultXYZAddress(…) doesn’t really make sense as a standalone.
10
- // We built this expecting lots of diverging addresses per chain, but in practice we have none
11
- // (and we’ve turned down things that require this). Instead: we could build the
12
- // default-but-overridable behavior into the consuming functions themselves (i.e.
13
- // createLightAccount defaulting to a factory address, but make it overridable)
14
-
15
9
  /**
16
10
  * Get the default light account version for the given light account type
17
11
  *