@account-kit/smart-contracts 4.7.0 → 4.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/dist/esm/src/light-account/clients/alchemyClient.js +6 -12
  2. package/dist/esm/src/light-account/clients/alchemyClient.js.map +1 -1
  3. package/dist/esm/src/light-account/clients/client.d.ts +9 -4
  4. package/dist/esm/src/light-account/clients/client.js +26 -1
  5. package/dist/esm/src/light-account/clients/client.js.map +1 -1
  6. package/dist/esm/src/light-account/clients/multiOwnerAlchemyClient.js +6 -11
  7. package/dist/esm/src/light-account/clients/multiOwnerAlchemyClient.js.map +1 -1
  8. package/dist/esm/src/light-account/clients/multiOwnerLightAccount.d.ts +10 -4
  9. package/dist/esm/src/light-account/clients/multiOwnerLightAccount.js +27 -3
  10. package/dist/esm/src/light-account/clients/multiOwnerLightAccount.js.map +1 -1
  11. package/dist/esm/src/ma-v2/abis/accountFactoryAbi.d.ts +492 -0
  12. package/dist/esm/src/ma-v2/abis/accountFactoryAbi.js +639 -0
  13. package/dist/esm/src/ma-v2/abis/accountFactoryAbi.js.map +1 -0
  14. package/dist/esm/src/ma-v2/abis/modularAccountAbi.d.ts +954 -0
  15. package/dist/esm/src/ma-v2/abis/modularAccountAbi.js +1242 -0
  16. package/dist/esm/src/ma-v2/abis/modularAccountAbi.js.map +1 -0
  17. package/dist/esm/src/ma-v2/abis/semiModularAccountBytecodeAbi.d.ts +991 -0
  18. package/dist/esm/src/ma-v2/abis/semiModularAccountBytecodeAbi.js +1289 -0
  19. package/dist/esm/src/ma-v2/abis/semiModularAccountBytecodeAbi.js.map +1 -0
  20. package/dist/esm/src/ma-v2/abis/semiModularAccountStorageAbi.d.ts +1001 -0
  21. package/dist/esm/src/ma-v2/abis/semiModularAccountStorageAbi.js +1302 -0
  22. package/dist/esm/src/ma-v2/abis/semiModularAccountStorageAbi.js.map +1 -0
  23. package/dist/esm/src/ma-v2/account/nativeSMASigner.d.ts +238 -0
  24. package/dist/esm/src/ma-v2/account/nativeSMASigner.js +88 -0
  25. package/dist/esm/src/ma-v2/account/nativeSMASigner.js.map +1 -0
  26. package/dist/esm/src/ma-v2/account/semiModularAccountV2.d.ts +41 -0
  27. package/dist/esm/src/ma-v2/account/semiModularAccountV2.js +148 -0
  28. package/dist/esm/src/ma-v2/account/semiModularAccountV2.js.map +1 -0
  29. package/dist/esm/src/ma-v2/actions/common/types.d.ts +31 -0
  30. package/dist/esm/src/ma-v2/actions/common/types.js +6 -0
  31. package/dist/esm/src/ma-v2/actions/common/types.js.map +1 -0
  32. package/dist/esm/src/ma-v2/actions/common/utils.d.ts +76 -0
  33. package/dist/esm/src/ma-v2/actions/common/utils.js +100 -0
  34. package/dist/esm/src/ma-v2/actions/common/utils.js.map +1 -0
  35. package/dist/esm/src/ma-v2/actions/install-validation/installValidation.d.ts +71 -0
  36. package/dist/esm/src/ma-v2/actions/install-validation/installValidation.js +109 -0
  37. package/dist/esm/src/ma-v2/actions/install-validation/installValidation.js.map +1 -0
  38. package/dist/esm/src/ma-v2/client/client.d.ts +13 -0
  39. package/dist/esm/src/ma-v2/client/client.js +54 -0
  40. package/dist/esm/src/ma-v2/client/client.js.map +1 -0
  41. package/dist/esm/src/ma-v2/index.d.ts +26 -0
  42. package/dist/esm/src/ma-v2/index.js +24 -0
  43. package/dist/esm/src/ma-v2/index.js.map +1 -0
  44. package/dist/esm/src/ma-v2/modules/allowlist-module/abis/allowlistModuleAbi.d.ts +556 -0
  45. package/dist/esm/src/ma-v2/modules/allowlist-module/abis/allowlistModuleAbi.js +716 -0
  46. package/dist/esm/src/ma-v2/modules/allowlist-module/abis/allowlistModuleAbi.js.map +1 -0
  47. package/dist/esm/src/ma-v2/modules/allowlist-module/module.d.ts +579 -0
  48. package/dist/esm/src/ma-v2/modules/allowlist-module/module.js +56 -0
  49. package/dist/esm/src/ma-v2/modules/allowlist-module/module.js.map +1 -0
  50. package/dist/esm/src/ma-v2/modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.d.ts +312 -0
  51. package/dist/esm/src/ma-v2/modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.js +404 -0
  52. package/dist/esm/src/ma-v2/modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.js.map +1 -0
  53. package/dist/esm/src/ma-v2/modules/native-token-limit-module/module.d.ts +322 -0
  54. package/dist/esm/src/ma-v2/modules/native-token-limit-module/module.js +14 -0
  55. package/dist/esm/src/ma-v2/modules/native-token-limit-module/module.js.map +1 -0
  56. package/dist/esm/src/ma-v2/modules/paymaster-guard-module/abis/paymasterGuardModuleAbi.d.ts +186 -0
  57. package/dist/esm/src/ma-v2/modules/paymaster-guard-module/abis/paymasterGuardModuleAbi.js +242 -0
  58. package/dist/esm/src/ma-v2/modules/paymaster-guard-module/abis/paymasterGuardModuleAbi.js.map +1 -0
  59. package/dist/esm/src/ma-v2/modules/paymaster-guard-module/module.d.ts +196 -0
  60. package/dist/esm/src/ma-v2/modules/paymaster-guard-module/module.js +25 -0
  61. package/dist/esm/src/ma-v2/modules/paymaster-guard-module/module.js.map +1 -0
  62. package/dist/esm/src/ma-v2/modules/single-signer-validation/abis/singleSignerValidationModuleAbi.d.ts +45 -0
  63. package/dist/esm/src/ma-v2/modules/single-signer-validation/abis/singleSignerValidationModuleAbi.js +331 -0
  64. package/dist/esm/src/ma-v2/modules/single-signer-validation/abis/singleSignerValidationModuleAbi.js.map +1 -0
  65. package/dist/esm/src/ma-v2/modules/single-signer-validation/module.d.ts +10 -0
  66. package/dist/esm/src/ma-v2/modules/single-signer-validation/module.js +16 -0
  67. package/dist/esm/src/ma-v2/modules/single-signer-validation/module.js.map +1 -0
  68. package/dist/esm/src/ma-v2/modules/single-signer-validation/signer.d.ts +239 -0
  69. package/dist/esm/src/ma-v2/modules/single-signer-validation/signer.js +93 -0
  70. package/dist/esm/src/ma-v2/modules/single-signer-validation/signer.js.map +1 -0
  71. package/dist/esm/src/ma-v2/modules/time-range-module/abis/timeRangeModuleAbi.d.ts +229 -0
  72. package/dist/esm/src/ma-v2/modules/time-range-module/abis/timeRangeModuleAbi.js +296 -0
  73. package/dist/esm/src/ma-v2/modules/time-range-module/abis/timeRangeModuleAbi.js.map +1 -0
  74. package/dist/esm/src/ma-v2/modules/time-range-module/module.d.ts +245 -0
  75. package/dist/esm/src/ma-v2/modules/time-range-module/module.js +42 -0
  76. package/dist/esm/src/ma-v2/modules/time-range-module/module.js.map +1 -0
  77. package/dist/esm/src/ma-v2/modules/utils.d.ts +91 -0
  78. package/dist/esm/src/ma-v2/modules/utils.js +188 -0
  79. package/dist/esm/src/ma-v2/modules/utils.js.map +1 -0
  80. package/dist/esm/src/ma-v2/modules/webauthn-validation/abis/webauthnValidationAbi.d.ts +287 -0
  81. package/dist/esm/src/ma-v2/modules/webauthn-validation/abis/webauthnValidationAbi.js +374 -0
  82. package/dist/esm/src/ma-v2/modules/webauthn-validation/abis/webauthnValidationAbi.js.map +1 -0
  83. package/dist/esm/src/ma-v2/utils.d.ts +16 -0
  84. package/dist/esm/src/ma-v2/utils.js +105 -0
  85. package/dist/esm/src/ma-v2/utils.js.map +1 -0
  86. package/dist/esm/src/msca/client/alchemyClient.js +4 -17
  87. package/dist/esm/src/msca/client/alchemyClient.js.map +1 -1
  88. package/dist/esm/src/msca/client/client.d.ts +14 -5
  89. package/dist/esm/src/msca/client/client.js +62 -0
  90. package/dist/esm/src/msca/client/client.js.map +1 -1
  91. package/dist/esm/src/msca/client/multiSigAlchemyClient.d.ts +4 -2
  92. package/dist/esm/src/msca/client/multiSigAlchemyClient.js +5 -19
  93. package/dist/esm/src/msca/client/multiSigAlchemyClient.js.map +1 -1
  94. package/dist/types/src/light-account/clients/alchemyClient.d.ts.map +1 -1
  95. package/dist/types/src/light-account/clients/client.d.ts +9 -4
  96. package/dist/types/src/light-account/clients/client.d.ts.map +1 -1
  97. package/dist/types/src/light-account/clients/multiOwnerAlchemyClient.d.ts.map +1 -1
  98. package/dist/types/src/light-account/clients/multiOwnerLightAccount.d.ts +10 -4
  99. package/dist/types/src/light-account/clients/multiOwnerLightAccount.d.ts.map +1 -1
  100. package/dist/types/src/ma-v2/abis/accountFactoryAbi.d.ts +493 -0
  101. package/dist/types/src/ma-v2/abis/accountFactoryAbi.d.ts.map +1 -0
  102. package/dist/types/src/ma-v2/abis/modularAccountAbi.d.ts +955 -0
  103. package/dist/types/src/ma-v2/abis/modularAccountAbi.d.ts.map +1 -0
  104. package/dist/types/src/ma-v2/abis/semiModularAccountBytecodeAbi.d.ts +992 -0
  105. package/dist/types/src/ma-v2/abis/semiModularAccountBytecodeAbi.d.ts.map +1 -0
  106. package/dist/types/src/ma-v2/abis/semiModularAccountStorageAbi.d.ts +1002 -0
  107. package/dist/types/src/ma-v2/abis/semiModularAccountStorageAbi.d.ts.map +1 -0
  108. package/dist/types/src/ma-v2/account/nativeSMASigner.d.ts +239 -0
  109. package/dist/types/src/ma-v2/account/nativeSMASigner.d.ts.map +1 -0
  110. package/dist/types/src/ma-v2/account/semiModularAccountV2.d.ts +42 -0
  111. package/dist/types/src/ma-v2/account/semiModularAccountV2.d.ts.map +1 -0
  112. package/dist/types/src/ma-v2/actions/common/types.d.ts +32 -0
  113. package/dist/types/src/ma-v2/actions/common/types.d.ts.map +1 -0
  114. package/dist/types/src/ma-v2/actions/common/utils.d.ts +77 -0
  115. package/dist/types/src/ma-v2/actions/common/utils.d.ts.map +1 -0
  116. package/dist/types/src/ma-v2/actions/install-validation/installValidation.d.ts +72 -0
  117. package/dist/types/src/ma-v2/actions/install-validation/installValidation.d.ts.map +1 -0
  118. package/dist/types/src/ma-v2/client/client.d.ts +14 -0
  119. package/dist/types/src/ma-v2/client/client.d.ts.map +1 -0
  120. package/dist/types/src/ma-v2/index.d.ts +27 -0
  121. package/dist/types/src/ma-v2/index.d.ts.map +1 -0
  122. package/dist/types/src/ma-v2/modules/allowlist-module/abis/allowlistModuleAbi.d.ts +557 -0
  123. package/dist/types/src/ma-v2/modules/allowlist-module/abis/allowlistModuleAbi.d.ts.map +1 -0
  124. package/dist/types/src/ma-v2/modules/allowlist-module/module.d.ts +580 -0
  125. package/dist/types/src/ma-v2/modules/allowlist-module/module.d.ts.map +1 -0
  126. package/dist/types/src/ma-v2/modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.d.ts +313 -0
  127. package/dist/types/src/ma-v2/modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.d.ts.map +1 -0
  128. package/dist/types/src/ma-v2/modules/native-token-limit-module/module.d.ts +323 -0
  129. package/dist/types/src/ma-v2/modules/native-token-limit-module/module.d.ts.map +1 -0
  130. package/dist/types/src/ma-v2/modules/paymaster-guard-module/abis/paymasterGuardModuleAbi.d.ts +187 -0
  131. package/dist/types/src/ma-v2/modules/paymaster-guard-module/abis/paymasterGuardModuleAbi.d.ts.map +1 -0
  132. package/dist/types/src/ma-v2/modules/paymaster-guard-module/module.d.ts +197 -0
  133. package/dist/types/src/ma-v2/modules/paymaster-guard-module/module.d.ts.map +1 -0
  134. package/dist/types/src/ma-v2/modules/single-signer-validation/abis/singleSignerValidationModuleAbi.d.ts +46 -0
  135. package/dist/types/src/ma-v2/modules/single-signer-validation/abis/singleSignerValidationModuleAbi.d.ts.map +1 -0
  136. package/dist/types/src/ma-v2/modules/single-signer-validation/module.d.ts +11 -0
  137. package/dist/types/src/ma-v2/modules/single-signer-validation/module.d.ts.map +1 -0
  138. package/dist/types/src/ma-v2/modules/single-signer-validation/signer.d.ts +240 -0
  139. package/dist/types/src/ma-v2/modules/single-signer-validation/signer.d.ts.map +1 -0
  140. package/dist/types/src/ma-v2/modules/time-range-module/abis/timeRangeModuleAbi.d.ts +230 -0
  141. package/dist/types/src/ma-v2/modules/time-range-module/abis/timeRangeModuleAbi.d.ts.map +1 -0
  142. package/dist/types/src/ma-v2/modules/time-range-module/module.d.ts +246 -0
  143. package/dist/types/src/ma-v2/modules/time-range-module/module.d.ts.map +1 -0
  144. package/dist/types/src/ma-v2/modules/utils.d.ts +92 -0
  145. package/dist/types/src/ma-v2/modules/utils.d.ts.map +1 -0
  146. package/dist/types/src/ma-v2/modules/webauthn-validation/abis/webauthnValidationAbi.d.ts +288 -0
  147. package/dist/types/src/ma-v2/modules/webauthn-validation/abis/webauthnValidationAbi.d.ts.map +1 -0
  148. package/dist/types/src/ma-v2/utils.d.ts +17 -0
  149. package/dist/types/src/ma-v2/utils.d.ts.map +1 -0
  150. package/dist/types/src/msca/client/alchemyClient.d.ts.map +1 -1
  151. package/dist/types/src/msca/client/client.d.ts +14 -5
  152. package/dist/types/src/msca/client/client.d.ts.map +1 -1
  153. package/dist/types/src/msca/client/multiSigAlchemyClient.d.ts +4 -2
  154. package/dist/types/src/msca/client/multiSigAlchemyClient.d.ts.map +1 -1
  155. package/package.json +11 -5
  156. package/src/light-account/clients/alchemyClient.ts +5 -14
  157. package/src/light-account/clients/client.ts +52 -6
  158. package/src/light-account/clients/multiOwnerAlchemyClient.ts +5 -13
  159. package/src/light-account/clients/multiOwnerLightAccount.ts +64 -8
  160. package/src/ma-v2/abis/accountFactoryAbi.ts +638 -0
  161. package/src/ma-v2/abis/modularAccountAbi.ts +1241 -0
  162. package/src/ma-v2/abis/semiModularAccountBytecodeAbi.ts +1288 -0
  163. package/src/ma-v2/abis/semiModularAccountStorageAbi.ts +1301 -0
  164. package/src/ma-v2/account/nativeSMASigner.ts +121 -0
  165. package/src/ma-v2/account/semiModularAccountV2.ts +289 -0
  166. package/src/ma-v2/actions/common/types.ts +37 -0
  167. package/src/ma-v2/actions/common/utils.ts +103 -0
  168. package/src/ma-v2/actions/install-validation/installValidation.ts +213 -0
  169. package/src/ma-v2/client/client.ts +117 -0
  170. package/src/ma-v2/index.ts +47 -0
  171. package/src/ma-v2/modules/allowlist-module/abis/allowlistModuleAbi.ts +715 -0
  172. package/src/ma-v2/modules/allowlist-module/module.ts +87 -0
  173. package/src/ma-v2/modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.ts +403 -0
  174. package/src/ma-v2/modules/native-token-limit-module/module.ts +21 -0
  175. package/src/ma-v2/modules/paymaster-guard-module/abis/paymasterGuardModuleAbi.ts +241 -0
  176. package/src/ma-v2/modules/paymaster-guard-module/module.ts +35 -0
  177. package/src/ma-v2/modules/single-signer-validation/abis/singleSignerValidationModuleAbi.ts +330 -0
  178. package/src/ma-v2/modules/single-signer-validation/module.ts +24 -0
  179. package/src/ma-v2/modules/single-signer-validation/signer.ts +127 -0
  180. package/src/ma-v2/modules/time-range-module/abis/timeRangeModuleAbi.ts +295 -0
  181. package/src/ma-v2/modules/time-range-module/module.ts +63 -0
  182. package/src/ma-v2/modules/utils.ts +213 -0
  183. package/src/ma-v2/modules/webauthn-validation/abis/webauthnValidationAbi.ts +373 -0
  184. package/src/ma-v2/utils.ts +138 -0
  185. package/src/msca/client/alchemyClient.ts +3 -22
  186. package/src/msca/client/client.ts +157 -13
  187. package/src/msca/client/multiSigAlchemyClient.ts +6 -29
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semiModularAccountStorageAbi.js","sourceRoot":"","sources":["../../../../../src/ma-v2/abis/semiModularAccountStorageAbi.ts"],"names":[],"mappings":"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","sourcesContent":["export const semiModularAccountStorageAbi = [\n {\n type: \"constructor\",\n inputs: [\n {\n name: \"entryPoint\",\n type: \"address\",\n internalType: \"contract IEntryPoint\",\n },\n {\n name: \"executionInstallDelegate\",\n type: \"address\",\n internalType: \"contract ExecutionInstallDelegate\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"fallback\",\n stateMutability: \"payable\",\n },\n {\n type: \"receive\",\n stateMutability: \"payable\",\n },\n {\n type: \"function\",\n name: \"accountId\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"string\",\n internalType: \"string\",\n },\n ],\n stateMutability: \"pure\",\n },\n {\n type: \"function\",\n name: \"entryPoint\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"contract IEntryPoint\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"execute\",\n inputs: [\n {\n name: \"target\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"value\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"data\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n outputs: [\n {\n name: \"result\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n stateMutability: \"payable\",\n },\n {\n type: \"function\",\n name: \"executeBatch\",\n inputs: [\n {\n name: \"calls\",\n type: \"tuple[]\",\n internalType: \"struct Call[]\",\n components: [\n {\n name: \"target\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"value\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"data\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n },\n ],\n outputs: [\n {\n name: \"results\",\n type: \"bytes[]\",\n internalType: \"bytes[]\",\n },\n ],\n stateMutability: \"payable\",\n },\n {\n type: \"function\",\n name: \"executeUserOp\",\n inputs: [\n {\n name: \"userOp\",\n type: \"tuple\",\n internalType: \"struct PackedUserOperation\",\n components: [\n {\n name: \"sender\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"nonce\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"initCode\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"callData\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"accountGasLimits\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"preVerificationGas\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"gasFees\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"paymasterAndData\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"signature\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n },\n {\n name: \"\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"executeWithRuntimeValidation\",\n inputs: [\n {\n name: \"data\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"authorization\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n stateMutability: \"payable\",\n },\n {\n type: \"function\",\n name: \"getExecutionData\",\n inputs: [\n {\n name: \"selector\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n ],\n outputs: [\n {\n name: \"data\",\n type: \"tuple\",\n internalType: \"struct ExecutionDataView\",\n components: [\n {\n name: \"module\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"skipRuntimeValidation\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"allowGlobalValidation\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"executionHooks\",\n type: \"bytes25[]\",\n internalType: \"HookConfig[]\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getFallbackSignerData\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getValidationData\",\n inputs: [\n {\n name: \"validationFunction\",\n type: \"bytes24\",\n internalType: \"ModuleEntity\",\n },\n ],\n outputs: [\n {\n name: \"data\",\n type: \"tuple\",\n internalType: \"struct ValidationDataView\",\n components: [\n {\n name: \"validationFlags\",\n type: \"uint8\",\n internalType: \"ValidationFlags\",\n },\n {\n name: \"validationHooks\",\n type: \"bytes25[]\",\n internalType: \"HookConfig[]\",\n },\n {\n name: \"executionHooks\",\n type: \"bytes25[]\",\n internalType: \"HookConfig[]\",\n },\n {\n name: \"selectors\",\n type: \"bytes4[]\",\n internalType: \"bytes4[]\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"initialize\",\n inputs: [\n {\n name: \"initialSigner\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"installExecution\",\n inputs: [\n {\n name: \"module\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"manifest\",\n type: \"tuple\",\n internalType: \"struct ExecutionManifest\",\n components: [\n {\n name: \"executionFunctions\",\n type: \"tuple[]\",\n internalType: \"struct ManifestExecutionFunction[]\",\n components: [\n {\n name: \"executionSelector\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n {\n name: \"skipRuntimeValidation\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"allowGlobalValidation\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n },\n {\n name: \"executionHooks\",\n type: \"tuple[]\",\n internalType: \"struct ManifestExecutionHook[]\",\n components: [\n {\n name: \"executionSelector\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n {\n name: \"entityId\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"isPreHook\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"isPostHook\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n },\n {\n name: \"interfaceIds\",\n type: \"bytes4[]\",\n internalType: \"bytes4[]\",\n },\n ],\n },\n {\n name: \"moduleInstallData\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"installValidation\",\n inputs: [\n {\n name: \"validationConfig\",\n type: \"bytes25\",\n internalType: \"ValidationConfig\",\n },\n {\n name: \"selectors\",\n type: \"bytes4[]\",\n internalType: \"bytes4[]\",\n },\n {\n name: \"installData\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"hooks\",\n type: \"bytes[]\",\n internalType: \"bytes[]\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"isValidSignature\",\n inputs: [\n {\n name: \"hash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"signature\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"onERC1155BatchReceived\",\n inputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"\",\n type: \"uint256[]\",\n internalType: \"uint256[]\",\n },\n {\n name: \"\",\n type: \"uint256[]\",\n internalType: \"uint256[]\",\n },\n {\n name: \"\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n ],\n stateMutability: \"pure\",\n },\n {\n type: \"function\",\n name: \"onERC1155Received\",\n inputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n ],\n stateMutability: \"pure\",\n },\n {\n type: \"function\",\n name: \"onERC721Received\",\n inputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n ],\n stateMutability: \"pure\",\n },\n {\n type: \"function\",\n name: \"performCreate\",\n inputs: [\n {\n name: \"value\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"initCode\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"isCreate2\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"salt\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"createdAddr\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"payable\",\n },\n {\n type: \"function\",\n name: \"proxiableUUID\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"supportsInterface\",\n inputs: [\n {\n name: \"interfaceId\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"uninstallExecution\",\n inputs: [\n {\n name: \"module\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"manifest\",\n type: \"tuple\",\n internalType: \"struct ExecutionManifest\",\n components: [\n {\n name: \"executionFunctions\",\n type: \"tuple[]\",\n internalType: \"struct ManifestExecutionFunction[]\",\n components: [\n {\n name: \"executionSelector\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n {\n name: \"skipRuntimeValidation\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"allowGlobalValidation\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n },\n {\n name: \"executionHooks\",\n type: \"tuple[]\",\n internalType: \"struct ManifestExecutionHook[]\",\n components: [\n {\n name: \"executionSelector\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n {\n name: \"entityId\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"isPreHook\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"isPostHook\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n },\n {\n name: \"interfaceIds\",\n type: \"bytes4[]\",\n internalType: \"bytes4[]\",\n },\n ],\n },\n {\n name: \"moduleUninstallData\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"uninstallValidation\",\n inputs: [\n {\n name: \"validationFunction\",\n type: \"bytes24\",\n internalType: \"ModuleEntity\",\n },\n {\n name: \"uninstallData\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"hookUninstallData\",\n type: \"bytes[]\",\n internalType: \"bytes[]\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"updateFallbackSignerData\",\n inputs: [\n {\n name: \"fallbackSigner\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"isDisabled\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"upgradeToAndCall\",\n inputs: [\n {\n name: \"newImplementation\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"data\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n outputs: [],\n stateMutability: \"payable\",\n },\n {\n type: \"function\",\n name: \"validateUserOp\",\n inputs: [\n {\n name: \"userOp\",\n type: \"tuple\",\n internalType: \"struct PackedUserOperation\",\n components: [\n {\n name: \"sender\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"nonce\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"initCode\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"callData\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"accountGasLimits\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"preVerificationGas\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"gasFees\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"paymasterAndData\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"signature\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n },\n {\n name: \"userOpHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"missingAccountFunds\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n outputs: [\n {\n name: \"validationData\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"event\",\n name: \"ExecutionInstalled\",\n inputs: [\n {\n name: \"module\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"manifest\",\n type: \"tuple\",\n indexed: false,\n internalType: \"struct ExecutionManifest\",\n components: [\n {\n name: \"executionFunctions\",\n type: \"tuple[]\",\n internalType: \"struct ManifestExecutionFunction[]\",\n components: [\n {\n name: \"executionSelector\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n {\n name: \"skipRuntimeValidation\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"allowGlobalValidation\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n },\n {\n name: \"executionHooks\",\n type: \"tuple[]\",\n internalType: \"struct ManifestExecutionHook[]\",\n components: [\n {\n name: \"executionSelector\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n {\n name: \"entityId\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"isPreHook\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"isPostHook\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n },\n {\n name: \"interfaceIds\",\n type: \"bytes4[]\",\n internalType: \"bytes4[]\",\n },\n ],\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"ExecutionUninstalled\",\n inputs: [\n {\n name: \"module\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"onUninstallSucceeded\",\n type: \"bool\",\n indexed: false,\n internalType: \"bool\",\n },\n {\n name: \"manifest\",\n type: \"tuple\",\n indexed: false,\n internalType: \"struct ExecutionManifest\",\n components: [\n {\n name: \"executionFunctions\",\n type: \"tuple[]\",\n internalType: \"struct ManifestExecutionFunction[]\",\n components: [\n {\n name: \"executionSelector\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n {\n name: \"skipRuntimeValidation\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"allowGlobalValidation\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n },\n {\n name: \"executionHooks\",\n type: \"tuple[]\",\n internalType: \"struct ManifestExecutionHook[]\",\n components: [\n {\n name: \"executionSelector\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n {\n name: \"entityId\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"isPreHook\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"isPostHook\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n },\n {\n name: \"interfaceIds\",\n type: \"bytes4[]\",\n internalType: \"bytes4[]\",\n },\n ],\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"FallbackSignerUpdated\",\n inputs: [\n {\n name: \"newFallbackSigner\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"isDisabled\",\n type: \"bool\",\n indexed: false,\n internalType: \"bool\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"Initialized\",\n inputs: [\n {\n name: \"version\",\n type: \"uint64\",\n indexed: false,\n internalType: \"uint64\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"Upgraded\",\n inputs: [\n {\n name: \"implementation\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"ValidationInstalled\",\n inputs: [\n {\n name: \"module\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"entityId\",\n type: \"uint32\",\n indexed: true,\n internalType: \"uint32\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"ValidationUninstalled\",\n inputs: [\n {\n name: \"module\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"entityId\",\n type: \"uint32\",\n indexed: true,\n internalType: \"uint32\",\n },\n {\n name: \"onUninstallSucceeded\",\n type: \"bool\",\n indexed: false,\n internalType: \"bool\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"error\",\n name: \"ArrayLengthMismatch\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"CreateFailed\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"DeferredActionSignatureInvalid\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"DeferredValidationHasValidationHooks\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"ExecutionHookAlreadySet\",\n inputs: [\n {\n name: \"hookConfig\",\n type: \"bytes25\",\n internalType: \"HookConfig\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"FallbackSignerDisabled\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"FallbackSignerMismatch\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"FallbackValidationInstallationNotAllowed\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"InterfaceNotSupported\",\n inputs: [\n {\n name: \"module\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"InvalidInitialization\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"InvalidSignatureType\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"ModuleInstallCallbackFailed\",\n inputs: [\n {\n name: \"module\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"revertReason\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"NonCanonicalEncoding\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"NotEntryPoint\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"PreValidationHookDuplicate\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"RequireUserOperationContext\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"SegmentOutOfOrder\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"SelfCallRecursionDepthExceeded\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"SignatureValidationInvalid\",\n inputs: [\n {\n name: \"validationFunction\",\n type: \"bytes24\",\n internalType: \"ModuleEntity\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"UnauthorizedCallContext\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"UnexpectedAggregator\",\n inputs: [\n {\n name: \"validationFunction\",\n type: \"bytes24\",\n internalType: \"ModuleEntity\",\n },\n {\n name: \"aggregator\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"UnrecognizedFunction\",\n inputs: [\n {\n name: \"selector\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"UpgradeFailed\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"UserOpValidationInvalid\",\n inputs: [\n {\n name: \"validationFunction\",\n type: \"bytes24\",\n internalType: \"ModuleEntity\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"ValidationAlreadySet\",\n inputs: [\n {\n name: \"selector\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n {\n name: \"validationFunction\",\n type: \"bytes24\",\n internalType: \"ModuleEntity\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"ValidationAssocHookLimitExceeded\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"ValidationEntityIdInUse\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"ValidationFunctionMissing\",\n inputs: [\n {\n name: \"selector\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"ValidationSignatureSegmentMissing\",\n inputs: [],\n },\n] as const;\n"]}
@@ -0,0 +1,238 @@
1
+ import type { SmartAccountSigner } from "@aa-sdk/core";
2
+ import { type Hex, type SignableMessage, type TypedDataDefinition, type Chain, type Address } from "viem";
3
+ /**
4
+ * Creates an object with methods for generating a dummy signature, signing user operation hashes, signing messages, and signing typed data.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import { nativeSMASigner } from "@account-kit/smart-contracts";
9
+
10
+ * import { LocalAccountSigner } from "@aa-sdk/core";
11
+ *
12
+ * const MNEMONIC = "...":
13
+ *
14
+ * const account = createSMAV2Account({ config });
15
+ *
16
+ * const signer = LocalAccountSigner.mnemonicToAccountSigner(MNEMONIC);
17
+ *
18
+ * const messageSigner = nativeSMASigner(signer, chain, account.address);
19
+ * ```
20
+ *
21
+ * @param {SmartAccountSigner} signer Signer to use for signing operations
22
+ * @param {Chain} chain Chain object for the signer
23
+ * @param {Address} accountAddress address of the smart account using this signer
24
+ * @returns {object} an object with methods for signing operations and managing signatures
25
+ */
26
+ export declare const nativeSMASigner: (signer: SmartAccountSigner, chain: Chain, accountAddress: Address) => {
27
+ getDummySignature: () => Hex;
28
+ signUserOperationHash: (uoHash: Hex) => Promise<Hex>;
29
+ signMessage({ message }: {
30
+ message: SignableMessage;
31
+ }): Promise<Hex>;
32
+ signTypedData: <const typedData extends Record<string, unknown> | {
33
+ [x: string]: readonly import("viem").TypedDataParameter[];
34
+ [x: `string[${string}]`]: undefined;
35
+ [x: `function[${string}]`]: undefined;
36
+ [x: `address[${string}]`]: undefined;
37
+ [x: `uint64[${string}]`]: undefined;
38
+ [x: `bytes32[${string}]`]: undefined;
39
+ [x: `bytes[${string}]`]: undefined;
40
+ [x: `uint256[${string}]`]: undefined;
41
+ [x: `bytes4[${string}]`]: undefined;
42
+ [x: `bool[${string}]`]: undefined;
43
+ [x: `bytes1[${string}]`]: undefined;
44
+ [x: `uint32[${string}]`]: undefined;
45
+ [x: `bytes2[${string}]`]: undefined;
46
+ [x: `bytes3[${string}]`]: undefined;
47
+ [x: `bytes5[${string}]`]: undefined;
48
+ [x: `bytes6[${string}]`]: undefined;
49
+ [x: `bytes11[${string}]`]: undefined;
50
+ [x: `bytes7[${string}]`]: undefined;
51
+ [x: `bytes9[${string}]`]: undefined;
52
+ [x: `bytes27[${string}]`]: undefined;
53
+ [x: `bytes22[${string}]`]: undefined;
54
+ [x: `bytes8[${string}]`]: undefined;
55
+ [x: `bytes10[${string}]`]: undefined;
56
+ [x: `bytes12[${string}]`]: undefined;
57
+ [x: `bytes13[${string}]`]: undefined;
58
+ [x: `bytes14[${string}]`]: undefined;
59
+ [x: `bytes15[${string}]`]: undefined;
60
+ [x: `bytes16[${string}]`]: undefined;
61
+ [x: `bytes17[${string}]`]: undefined;
62
+ [x: `bytes18[${string}]`]: undefined;
63
+ [x: `bytes19[${string}]`]: undefined;
64
+ [x: `bytes20[${string}]`]: undefined;
65
+ [x: `bytes21[${string}]`]: undefined;
66
+ [x: `bytes23[${string}]`]: undefined;
67
+ [x: `bytes24[${string}]`]: undefined;
68
+ [x: `bytes25[${string}]`]: undefined;
69
+ [x: `bytes26[${string}]`]: undefined;
70
+ [x: `bytes28[${string}]`]: undefined;
71
+ [x: `bytes29[${string}]`]: undefined;
72
+ [x: `bytes30[${string}]`]: undefined;
73
+ [x: `bytes31[${string}]`]: undefined;
74
+ [x: `int[${string}]`]: undefined;
75
+ [x: `int8[${string}]`]: undefined;
76
+ [x: `int16[${string}]`]: undefined;
77
+ [x: `int24[${string}]`]: undefined;
78
+ [x: `int32[${string}]`]: undefined;
79
+ [x: `int40[${string}]`]: undefined;
80
+ [x: `int48[${string}]`]: undefined;
81
+ [x: `int56[${string}]`]: undefined;
82
+ [x: `int64[${string}]`]: undefined;
83
+ [x: `int72[${string}]`]: undefined;
84
+ [x: `int80[${string}]`]: undefined;
85
+ [x: `int88[${string}]`]: undefined;
86
+ [x: `int96[${string}]`]: undefined;
87
+ [x: `int104[${string}]`]: undefined;
88
+ [x: `int112[${string}]`]: undefined;
89
+ [x: `int120[${string}]`]: undefined;
90
+ [x: `int128[${string}]`]: undefined;
91
+ [x: `int136[${string}]`]: undefined;
92
+ [x: `int144[${string}]`]: undefined;
93
+ [x: `int152[${string}]`]: undefined;
94
+ [x: `int160[${string}]`]: undefined;
95
+ [x: `int168[${string}]`]: undefined;
96
+ [x: `int176[${string}]`]: undefined;
97
+ [x: `int184[${string}]`]: undefined;
98
+ [x: `int192[${string}]`]: undefined;
99
+ [x: `int200[${string}]`]: undefined;
100
+ [x: `int208[${string}]`]: undefined;
101
+ [x: `int216[${string}]`]: undefined;
102
+ [x: `int224[${string}]`]: undefined;
103
+ [x: `int232[${string}]`]: undefined;
104
+ [x: `int240[${string}]`]: undefined;
105
+ [x: `int248[${string}]`]: undefined;
106
+ [x: `int256[${string}]`]: undefined;
107
+ [x: `uint[${string}]`]: undefined;
108
+ [x: `uint8[${string}]`]: undefined;
109
+ [x: `uint16[${string}]`]: undefined;
110
+ [x: `uint24[${string}]`]: undefined;
111
+ [x: `uint40[${string}]`]: undefined;
112
+ [x: `uint48[${string}]`]: undefined;
113
+ [x: `uint56[${string}]`]: undefined;
114
+ [x: `uint72[${string}]`]: undefined;
115
+ [x: `uint80[${string}]`]: undefined;
116
+ [x: `uint88[${string}]`]: undefined;
117
+ [x: `uint96[${string}]`]: undefined;
118
+ [x: `uint104[${string}]`]: undefined;
119
+ [x: `uint112[${string}]`]: undefined;
120
+ [x: `uint120[${string}]`]: undefined;
121
+ [x: `uint128[${string}]`]: undefined;
122
+ [x: `uint136[${string}]`]: undefined;
123
+ [x: `uint144[${string}]`]: undefined;
124
+ [x: `uint152[${string}]`]: undefined;
125
+ [x: `uint160[${string}]`]: undefined;
126
+ [x: `uint168[${string}]`]: undefined;
127
+ [x: `uint176[${string}]`]: undefined;
128
+ [x: `uint184[${string}]`]: undefined;
129
+ [x: `uint192[${string}]`]: undefined;
130
+ [x: `uint200[${string}]`]: undefined;
131
+ [x: `uint208[${string}]`]: undefined;
132
+ [x: `uint216[${string}]`]: undefined;
133
+ [x: `uint224[${string}]`]: undefined;
134
+ [x: `uint232[${string}]`]: undefined;
135
+ [x: `uint240[${string}]`]: undefined;
136
+ [x: `uint248[${string}]`]: undefined;
137
+ string?: undefined;
138
+ address?: undefined;
139
+ uint64?: undefined;
140
+ bytes32?: undefined;
141
+ bytes?: undefined;
142
+ uint256?: undefined;
143
+ bytes4?: undefined;
144
+ bool?: undefined;
145
+ bytes1?: undefined;
146
+ uint32?: undefined;
147
+ bytes2?: undefined;
148
+ bytes3?: undefined;
149
+ bytes5?: undefined;
150
+ bytes6?: undefined;
151
+ bytes11?: undefined;
152
+ bytes7?: undefined;
153
+ bytes9?: undefined;
154
+ bytes27?: undefined;
155
+ bytes22?: undefined;
156
+ bytes8?: undefined;
157
+ bytes10?: undefined;
158
+ bytes12?: undefined;
159
+ bytes13?: undefined;
160
+ bytes14?: undefined;
161
+ bytes15?: undefined;
162
+ bytes16?: undefined;
163
+ bytes17?: undefined;
164
+ bytes18?: undefined;
165
+ bytes19?: undefined;
166
+ bytes20?: undefined;
167
+ bytes21?: undefined;
168
+ bytes23?: undefined;
169
+ bytes24?: undefined;
170
+ bytes25?: undefined;
171
+ bytes26?: undefined;
172
+ bytes28?: undefined;
173
+ bytes29?: undefined;
174
+ bytes30?: undefined;
175
+ bytes31?: undefined;
176
+ int8?: undefined;
177
+ int16?: undefined;
178
+ int24?: undefined;
179
+ int32?: undefined;
180
+ int40?: undefined;
181
+ int48?: undefined;
182
+ int56?: undefined;
183
+ int64?: undefined;
184
+ int72?: undefined;
185
+ int80?: undefined;
186
+ int88?: undefined;
187
+ int96?: undefined;
188
+ int104?: undefined;
189
+ int112?: undefined;
190
+ int120?: undefined;
191
+ int128?: undefined;
192
+ int136?: undefined;
193
+ int144?: undefined;
194
+ int152?: undefined;
195
+ int160?: undefined;
196
+ int168?: undefined;
197
+ int176?: undefined;
198
+ int184?: undefined;
199
+ int192?: undefined;
200
+ int200?: undefined;
201
+ int208?: undefined;
202
+ int216?: undefined;
203
+ int224?: undefined;
204
+ int232?: undefined;
205
+ int240?: undefined;
206
+ int248?: undefined;
207
+ int256?: undefined;
208
+ uint8?: undefined;
209
+ uint16?: undefined;
210
+ uint24?: undefined;
211
+ uint40?: undefined;
212
+ uint48?: undefined;
213
+ uint56?: undefined;
214
+ uint72?: undefined;
215
+ uint80?: undefined;
216
+ uint88?: undefined;
217
+ uint96?: undefined;
218
+ uint104?: undefined;
219
+ uint112?: undefined;
220
+ uint120?: undefined;
221
+ uint128?: undefined;
222
+ uint136?: undefined;
223
+ uint144?: undefined;
224
+ uint152?: undefined;
225
+ uint160?: undefined;
226
+ uint168?: undefined;
227
+ uint176?: undefined;
228
+ uint184?: undefined;
229
+ uint192?: undefined;
230
+ uint200?: undefined;
231
+ uint208?: undefined;
232
+ uint216?: undefined;
233
+ uint224?: undefined;
234
+ uint232?: undefined;
235
+ uint240?: undefined;
236
+ uint248?: undefined;
237
+ }, primaryType extends "EIP712Domain" | keyof typedData = keyof typedData>(typedDataDefinition: TypedDataDefinition<typedData, primaryType>) => Promise<Hex>;
238
+ };
@@ -0,0 +1,88 @@
1
+ import { hashMessage, hashTypedData, } from "viem";
2
+ import { packUOSignature, pack1271Signature, DEFAULT_OWNER_ENTITY_ID, } from "../utils.js";
3
+ /**
4
+ * Creates an object with methods for generating a dummy signature, signing user operation hashes, signing messages, and signing typed data.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import { nativeSMASigner } from "@account-kit/smart-contracts";
9
+
10
+ * import { LocalAccountSigner } from "@aa-sdk/core";
11
+ *
12
+ * const MNEMONIC = "...":
13
+ *
14
+ * const account = createSMAV2Account({ config });
15
+ *
16
+ * const signer = LocalAccountSigner.mnemonicToAccountSigner(MNEMONIC);
17
+ *
18
+ * const messageSigner = nativeSMASigner(signer, chain, account.address);
19
+ * ```
20
+ *
21
+ * @param {SmartAccountSigner} signer Signer to use for signing operations
22
+ * @param {Chain} chain Chain object for the signer
23
+ * @param {Address} accountAddress address of the smart account using this signer
24
+ * @returns {object} an object with methods for signing operations and managing signatures
25
+ */
26
+ export const nativeSMASigner = (signer, chain, accountAddress) => {
27
+ return {
28
+ getDummySignature: () => {
29
+ const dummyEcdsaSignature = "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c";
30
+ return packUOSignature({
31
+ // orderedHookData: [],
32
+ validationSignature: dummyEcdsaSignature,
33
+ });
34
+ },
35
+ signUserOperationHash: (uoHash) => {
36
+ return signer.signMessage({ raw: uoHash }).then((signature) => packUOSignature({
37
+ // orderedHookData: [],
38
+ validationSignature: signature,
39
+ }));
40
+ },
41
+ // we apply the expected 1271 packing here since the account contract will expect it
42
+ async signMessage({ message }) {
43
+ const hash = hashMessage(message);
44
+ return pack1271Signature({
45
+ validationSignature: await signer.signTypedData({
46
+ domain: {
47
+ chainId: Number(chain.id),
48
+ verifyingContract: accountAddress,
49
+ },
50
+ types: {
51
+ ReplaySafeHash: [{ name: "hash", type: "bytes32" }],
52
+ },
53
+ message: {
54
+ hash,
55
+ },
56
+ primaryType: "ReplaySafeHash",
57
+ }),
58
+ entityId: DEFAULT_OWNER_ENTITY_ID,
59
+ });
60
+ },
61
+ // TODO: maybe move "sign deferred actions" to a separate function?
62
+ // we don't apply the expected 1271 packing since deferred sigs use typed data sigs and don't expect the 1271 packing
63
+ signTypedData: async (typedDataDefinition) => {
64
+ // the accounts domain already gives replay protection across accounts for deferred actions, so we don't need to apply another wrapping
65
+ const isDeferredAction = typedDataDefinition?.primaryType === "DeferredAction" &&
66
+ typedDataDefinition?.domain?.verifyingContract === accountAddress;
67
+ return isDeferredAction
68
+ ? signer.signTypedData(typedDataDefinition)
69
+ : pack1271Signature({
70
+ validationSignature: await signer.signTypedData({
71
+ domain: {
72
+ chainId: Number(chain.id),
73
+ verifyingContract: accountAddress,
74
+ },
75
+ types: {
76
+ ReplaySafeHash: [{ name: "hash", type: "bytes32" }],
77
+ },
78
+ message: {
79
+ hash: await hashTypedData(typedDataDefinition),
80
+ },
81
+ primaryType: "ReplaySafeHash",
82
+ }),
83
+ entityId: DEFAULT_OWNER_ENTITY_ID,
84
+ });
85
+ },
86
+ };
87
+ };
88
+ //# sourceMappingURL=nativeSMASigner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nativeSMASigner.js","sourceRoot":"","sources":["../../../../../src/ma-v2/account/nativeSMASigner.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,aAAa,GAOd,MAAM,MAAM,CAAC;AAEd,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,MAA0B,EAC1B,KAAY,EACZ,cAAuB,EACvB,EAAE;IACF,OAAO;QACL,iBAAiB,EAAE,GAAQ,EAAE;YAC3B,MAAM,mBAAmB,GACvB,sIAAsI,CAAC;YAEzI,OAAO,eAAe,CAAC;gBACrB,uBAAuB;gBACvB,mBAAmB,EAAE,mBAAmB;aACzC,CAAC,CAAC;QACL,CAAC;QAED,qBAAqB,EAAE,CAAC,MAAW,EAAgB,EAAE;YACnD,OAAO,MAAM,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAc,EAAE,EAAE,CACjE,eAAe,CAAC;gBACd,uBAAuB;gBACvB,mBAAmB,EAAE,SAAS;aAC/B,CAAC,CACH,CAAC;QACJ,CAAC;QAED,oFAAoF;QACpF,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAgC;YACzD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YAElC,OAAO,iBAAiB,CAAC;gBACvB,mBAAmB,EAAE,MAAM,MAAM,CAAC,aAAa,CAAC;oBAC9C,MAAM,EAAE;wBACN,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;wBACzB,iBAAiB,EAAE,cAAc;qBAClC;oBACD,KAAK,EAAE;wBACL,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;qBACpD;oBACD,OAAO,EAAE;wBACP,IAAI;qBACL;oBACD,WAAW,EAAE,gBAAgB;iBAC9B,CAAC;gBACF,QAAQ,EAAE,uBAAuB;aAClC,CAAC,CAAC;QACL,CAAC;QAED,mEAAmE;QACnE,qHAAqH;QACrH,aAAa,EAAE,KAAK,EAIlB,mBAAgE,EAClD,EAAE;YAChB,uIAAuI;YACvI,MAAM,gBAAgB,GACpB,mBAAmB,EAAE,WAAW,KAAK,gBAAgB;gBACrD,mBAAmB,EAAE,MAAM,EAAE,iBAAiB,KAAK,cAAc,CAAC;YAEpE,OAAO,gBAAgB;gBACrB,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC;gBAC3C,CAAC,CAAC,iBAAiB,CAAC;oBAChB,mBAAmB,EAAE,MAAM,MAAM,CAAC,aAAa,CAAC;wBAC9C,MAAM,EAAE;4BACN,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;4BACzB,iBAAiB,EAAE,cAAc;yBAClC;wBACD,KAAK,EAAE;4BACL,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;yBACpD;wBACD,OAAO,EAAE;4BACP,IAAI,EAAE,MAAM,aAAa,CAAC,mBAAmB,CAAC;yBAC/C;wBACD,WAAW,EAAE,gBAAgB;qBAC9B,CAAC;oBACF,QAAQ,EAAE,uBAAuB;iBAClC,CAAC,CAAC;QACT,CAAC;KACF,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import type { SmartAccountSigner } from \"@aa-sdk/core\";\nimport {\n hashMessage,\n hashTypedData,\n type Hex,\n type SignableMessage,\n type TypedData,\n type TypedDataDefinition,\n type Chain,\n type Address,\n} from \"viem\";\n\nimport {\n packUOSignature,\n pack1271Signature,\n DEFAULT_OWNER_ENTITY_ID,\n} from \"../utils.js\";\n/**\n * Creates an object with methods for generating a dummy signature, signing user operation hashes, signing messages, and signing typed data.\n *\n * @example\n * ```ts\n * import { nativeSMASigner } from \"@account-kit/smart-contracts\";\n \n * import { LocalAccountSigner } from \"@aa-sdk/core\";\n *\n * const MNEMONIC = \"...\":\n *\n * const account = createSMAV2Account({ config });\n *\n * const signer = LocalAccountSigner.mnemonicToAccountSigner(MNEMONIC);\n *\n * const messageSigner = nativeSMASigner(signer, chain, account.address);\n * ```\n *\n * @param {SmartAccountSigner} signer Signer to use for signing operations\n * @param {Chain} chain Chain object for the signer\n * @param {Address} accountAddress address of the smart account using this signer\n * @returns {object} an object with methods for signing operations and managing signatures\n */\nexport const nativeSMASigner = (\n signer: SmartAccountSigner,\n chain: Chain,\n accountAddress: Address\n) => {\n return {\n getDummySignature: (): Hex => {\n const dummyEcdsaSignature =\n \"0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c\";\n\n return packUOSignature({\n // orderedHookData: [],\n validationSignature: dummyEcdsaSignature,\n });\n },\n\n signUserOperationHash: (uoHash: Hex): Promise<Hex> => {\n return signer.signMessage({ raw: uoHash }).then((signature: Hex) =>\n packUOSignature({\n // orderedHookData: [],\n validationSignature: signature,\n })\n );\n },\n\n // we apply the expected 1271 packing here since the account contract will expect it\n async signMessage({ message }: { message: SignableMessage }): Promise<Hex> {\n const hash = hashMessage(message);\n\n return pack1271Signature({\n validationSignature: await signer.signTypedData({\n domain: {\n chainId: Number(chain.id),\n verifyingContract: accountAddress,\n },\n types: {\n ReplaySafeHash: [{ name: \"hash\", type: \"bytes32\" }],\n },\n message: {\n hash,\n },\n primaryType: \"ReplaySafeHash\",\n }),\n entityId: DEFAULT_OWNER_ENTITY_ID,\n });\n },\n\n // TODO: maybe move \"sign deferred actions\" to a separate function?\n // we don't apply the expected 1271 packing since deferred sigs use typed data sigs and don't expect the 1271 packing\n signTypedData: async <\n const typedData extends TypedData | Record<string, unknown>,\n primaryType extends keyof typedData | \"EIP712Domain\" = keyof typedData\n >(\n typedDataDefinition: TypedDataDefinition<typedData, primaryType>\n ): Promise<Hex> => {\n // the accounts domain already gives replay protection across accounts for deferred actions, so we don't need to apply another wrapping\n const isDeferredAction =\n typedDataDefinition?.primaryType === \"DeferredAction\" &&\n typedDataDefinition?.domain?.verifyingContract === accountAddress;\n\n return isDeferredAction\n ? signer.signTypedData(typedDataDefinition)\n : pack1271Signature({\n validationSignature: await signer.signTypedData({\n domain: {\n chainId: Number(chain.id),\n verifyingContract: accountAddress,\n },\n types: {\n ReplaySafeHash: [{ name: \"hash\", type: \"bytes32\" }],\n },\n message: {\n hash: await hashTypedData(typedDataDefinition),\n },\n primaryType: \"ReplaySafeHash\",\n }),\n entityId: DEFAULT_OWNER_ENTITY_ID,\n });\n },\n };\n};\n"]}
@@ -0,0 +1,41 @@
1
+ import type { EntryPointDef, SmartAccountSigner, SmartContractAccountWithSigner, ToSmartContractAccountParams } from "@aa-sdk/core";
2
+ import { type Address, type Chain, type Hex, type Transport } from "viem";
3
+ export type SignerEntity = {
4
+ isGlobalValidation: boolean;
5
+ entityId: number;
6
+ };
7
+ export type ExecutionDataView = {
8
+ module: Address;
9
+ skipRuntimeValidation: boolean;
10
+ allowGlobalValidation: boolean;
11
+ executionHooks: readonly Hex[];
12
+ };
13
+ export type ValidationDataView = {
14
+ validationHooks: readonly Hex[];
15
+ executionHooks: readonly Hex[];
16
+ selectors: readonly Hex[];
17
+ validationFlags: number;
18
+ };
19
+ export type ValidationDataParams = {
20
+ validationModuleAddress: Address;
21
+ entityId?: never;
22
+ } | {
23
+ validationModuleAddress?: never;
24
+ entityId: number;
25
+ };
26
+ export type MAV2Account<TSigner extends SmartAccountSigner = SmartAccountSigner> = SmartContractAccountWithSigner<"MAV2Account", TSigner, "0.7.0"> & {
27
+ signerEntity: SignerEntity;
28
+ getExecutionData: (selector: Hex) => Promise<ExecutionDataView>;
29
+ getValidationData: (args: ValidationDataParams) => Promise<ValidationDataView>;
30
+ encodeCallData: (callData: Hex) => Promise<Hex>;
31
+ };
32
+ export type CreateSMAV2AccountParams<TTransport extends Transport = Transport, TSigner extends SmartAccountSigner = SmartAccountSigner> = Pick<ToSmartContractAccountParams<"MAV2Account", TTransport, Chain, "0.7.0">, "transport" | "chain" | "accountAddress"> & {
33
+ signer: TSigner;
34
+ salt?: bigint;
35
+ factoryAddress?: Address;
36
+ initCode?: Hex;
37
+ initialOwner?: Address;
38
+ entryPoint?: EntryPointDef<"0.7.0", Chain>;
39
+ signerEntity?: SignerEntity;
40
+ };
41
+ export declare function createSMAV2Account<TTransport extends Transport = Transport, TSigner extends SmartAccountSigner = SmartAccountSigner>(config: CreateSMAV2AccountParams<TTransport, TSigner>): Promise<MAV2Account<TSigner>>;
@@ -0,0 +1,148 @@
1
+ import { createBundlerClient, getEntryPoint, toSmartContractAccount, InvalidEntityIdError, InvalidNonceKeyError, getAccountAddress, } from "@aa-sdk/core";
2
+ import { concatHex, encodeFunctionData, getContract, maxUint32, maxUint152, zeroAddress, } from "viem";
3
+ import { accountFactoryAbi } from "../abis/accountFactoryAbi.js";
4
+ import { getDefaultMAV2FactoryAddress, DEFAULT_OWNER_ENTITY_ID, } from "../utils.js";
5
+ import { singleSignerMessageSigner } from "../modules/single-signer-validation/signer.js";
6
+ import { nativeSMASigner } from "./nativeSMASigner.js";
7
+ import { modularAccountAbi } from "../abis/modularAccountAbi.js";
8
+ import { serializeModuleEntity } from "../actions/common/utils.js";
9
+ const executeUserOpSelector = "0x8DD7712F";
10
+ /**
11
+ * Creates an SMAV2 account using defined parameters including chain, signer, salt, factory address, and more.
12
+ * Handles account initialization code, nonce generation, transaction encoding, and more to construct a modular account with optional validation hooks.
13
+ *
14
+ * @param {CreateSMAV2AccountParams} config Configuration parameters for creating an SMAV2 account. Includes chain details, signer, salt, factory address, and more.
15
+ * @returns {Promise<MAV2Account>} A promise that resolves to an `MAV2Account` providing methods for nonce retrieval, transaction execution, and more.
16
+ */
17
+ export async function createSMAV2Account(config) {
18
+ const { transport, chain, signer, salt = 0n, factoryAddress = getDefaultMAV2FactoryAddress(chain), initCode, initialOwner, accountAddress, entryPoint = getEntryPoint(chain, { version: "0.7.0" }), signerEntity = {
19
+ isGlobalValidation: true,
20
+ entityId: DEFAULT_OWNER_ENTITY_ID,
21
+ }, signerEntity: { isGlobalValidation = true, entityId = DEFAULT_OWNER_ENTITY_ID, } = {}, } = config;
22
+ if (entityId > Number(maxUint32)) {
23
+ throw new InvalidEntityIdError(entityId);
24
+ }
25
+ const client = createBundlerClient({
26
+ transport,
27
+ chain,
28
+ });
29
+ const getAccountInitCode = async () => {
30
+ if (initCode) {
31
+ return initCode;
32
+ }
33
+ // If an initial owner is not provided, use the signer's address
34
+ const ownerAddress = initialOwner ?? (await signer.getAddress());
35
+ return concatHex([
36
+ factoryAddress,
37
+ encodeFunctionData({
38
+ abi: accountFactoryAbi,
39
+ functionName: "createSemiModularAccount",
40
+ args: [ownerAddress, salt],
41
+ }),
42
+ ]);
43
+ };
44
+ const encodeExecute = async ({ target, data, value, }) => await encodeCallData(encodeFunctionData({
45
+ abi: modularAccountAbi,
46
+ functionName: "execute",
47
+ args: [target, value ?? 0n, data],
48
+ }));
49
+ const encodeBatchExecute = async (txs) => await encodeCallData(encodeFunctionData({
50
+ abi: modularAccountAbi,
51
+ functionName: "executeBatch",
52
+ args: [
53
+ txs.map((tx) => ({
54
+ target: tx.target,
55
+ data: tx.data,
56
+ value: tx.value ?? 0n,
57
+ })),
58
+ ],
59
+ }));
60
+ const _accountAddress = await getAccountAddress({
61
+ client,
62
+ entryPoint,
63
+ accountAddress,
64
+ getAccountInitCode,
65
+ });
66
+ const baseAccount = await toSmartContractAccount({
67
+ transport,
68
+ chain,
69
+ entryPoint,
70
+ accountAddress: _accountAddress,
71
+ source: `MAV2Account`,
72
+ encodeExecute,
73
+ encodeBatchExecute,
74
+ getAccountInitCode,
75
+ ...(entityId === DEFAULT_OWNER_ENTITY_ID
76
+ ? nativeSMASigner(signer, chain, _accountAddress)
77
+ : singleSignerMessageSigner(signer, chain, _accountAddress, entityId)),
78
+ });
79
+ // TODO: add deferred action flag
80
+ const getAccountNonce = async (nonceKey = 0n) => {
81
+ if (nonceKey > maxUint152) {
82
+ throw new InvalidNonceKeyError(nonceKey);
83
+ }
84
+ const entryPointContract = getContract({
85
+ address: entryPoint.address,
86
+ abi: entryPoint.abi,
87
+ client,
88
+ });
89
+ const fullNonceKey = (nonceKey << 40n) +
90
+ BigInt(entityId << 8) +
91
+ (isGlobalValidation ? 1n : 0n);
92
+ return entryPointContract.read.getNonce([
93
+ _accountAddress,
94
+ fullNonceKey,
95
+ ]);
96
+ };
97
+ const accountContract = getContract({
98
+ address: _accountAddress,
99
+ abi: modularAccountAbi,
100
+ client,
101
+ });
102
+ const getExecutionData = async (selector) => {
103
+ if (!(await baseAccount.isAccountDeployed())) {
104
+ return {
105
+ module: zeroAddress,
106
+ skipRuntimeValidation: false,
107
+ allowGlobalValidation: false,
108
+ executionHooks: [],
109
+ };
110
+ }
111
+ return await accountContract.read.getExecutionData([selector]);
112
+ };
113
+ const getValidationData = async (args) => {
114
+ if (!(await baseAccount.isAccountDeployed())) {
115
+ return {
116
+ validationHooks: [],
117
+ executionHooks: [],
118
+ selectors: [],
119
+ validationFlags: 0,
120
+ };
121
+ }
122
+ const { validationModuleAddress, entityId } = args;
123
+ return await accountContract.read.getValidationData([
124
+ serializeModuleEntity({
125
+ moduleAddress: validationModuleAddress ?? zeroAddress,
126
+ entityId: entityId ?? Number(maxUint32),
127
+ }),
128
+ ]);
129
+ };
130
+ const encodeCallData = async (callData) => {
131
+ const validationData = await getValidationData({
132
+ entityId: Number(entityId),
133
+ });
134
+ return validationData.executionHooks.length
135
+ ? concatHex([executeUserOpSelector, callData])
136
+ : callData;
137
+ };
138
+ return {
139
+ ...baseAccount,
140
+ getAccountNonce,
141
+ getSigner: () => signer,
142
+ signerEntity,
143
+ getExecutionData,
144
+ getValidationData,
145
+ encodeCallData,
146
+ };
147
+ }
148
+ //# sourceMappingURL=semiModularAccountV2.js.map