thirdweb 5.80.1-nightly-430475913d30ef7a30cb3092f6ef09c0c998a9b6-20250106000343 → 5.82.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 (214) hide show
  1. package/dist/cjs/adapters/ethers5.js +1 -1
  2. package/dist/cjs/adapters/ethers5.js.map +1 -1
  3. package/dist/cjs/auth/verify-hash.js +13 -8
  4. package/dist/cjs/auth/verify-hash.js.map +1 -1
  5. package/dist/cjs/contract/types.js +3 -0
  6. package/dist/cjs/contract/types.js.map +1 -0
  7. package/dist/cjs/exports/thirdweb.js +5 -1
  8. package/dist/cjs/exports/thirdweb.js.map +1 -1
  9. package/dist/cjs/exports/transaction.js +3 -1
  10. package/dist/cjs/exports/transaction.js.map +1 -1
  11. package/dist/cjs/exports/wallets.js +3 -1
  12. package/dist/cjs/exports/wallets.js.map +1 -1
  13. package/dist/cjs/extensions/erc721/lazyMinting/read/getBatchesToReveal.js +1 -1
  14. package/dist/cjs/extensions/erc721/lazyMinting/read/getBatchesToReveal.js.map +1 -1
  15. package/dist/cjs/extensions/types.js +3 -0
  16. package/dist/cjs/extensions/types.js.map +1 -0
  17. package/dist/cjs/gas/estimate-l1-fee.js +3 -4
  18. package/dist/cjs/gas/estimate-l1-fee.js.map +1 -1
  19. package/dist/cjs/react/core/hooks/contract/useReadContract.js +31 -29
  20. package/dist/cjs/react/core/hooks/contract/useReadContract.js.map +1 -1
  21. package/dist/cjs/react/core/hooks/types.js +3 -0
  22. package/dist/cjs/react/core/hooks/types.js.map +1 -0
  23. package/dist/cjs/transaction/actions/eip7702/authorization.js +33 -0
  24. package/dist/cjs/transaction/actions/eip7702/authorization.js.map +1 -0
  25. package/dist/cjs/transaction/actions/estimate-gas.js +16 -4
  26. package/dist/cjs/transaction/actions/estimate-gas.js.map +1 -1
  27. package/dist/cjs/transaction/actions/send-transaction.js +32 -1
  28. package/dist/cjs/transaction/actions/send-transaction.js.map +1 -1
  29. package/dist/cjs/transaction/actions/to-serializable-transaction.js +13 -4
  30. package/dist/cjs/transaction/actions/to-serializable-transaction.js.map +1 -1
  31. package/dist/cjs/transaction/prepare-transaction.js.map +1 -1
  32. package/dist/cjs/transaction/serialize-transaction.js +11 -0
  33. package/dist/cjs/transaction/serialize-transaction.js.map +1 -1
  34. package/dist/cjs/utils/abi/decodeError.js +3 -3
  35. package/dist/cjs/utils/abi/decodeError.js.map +1 -1
  36. package/dist/cjs/utils/abi/decodeFunctionData.js +3 -3
  37. package/dist/cjs/utils/abi/decodeFunctionData.js.map +1 -1
  38. package/dist/cjs/utils/abi/decodeFunctionResult.js +3 -3
  39. package/dist/cjs/utils/abi/decodeFunctionResult.js.map +1 -1
  40. package/dist/cjs/utils/hashing/hashMessage.js +2 -2
  41. package/dist/cjs/utils/hashing/hashMessage.js.map +1 -1
  42. package/dist/cjs/version.js +1 -1
  43. package/dist/cjs/version.js.map +1 -1
  44. package/dist/cjs/wallets/create-wallet.js +16 -0
  45. package/dist/cjs/wallets/create-wallet.js.map +1 -1
  46. package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js +9 -3
  47. package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
  48. package/dist/cjs/wallets/in-app/core/wallet/index.js +8 -10
  49. package/dist/cjs/wallets/in-app/core/wallet/index.js.map +1 -1
  50. package/dist/cjs/wallets/private-key.js +9 -0
  51. package/dist/cjs/wallets/private-key.js.map +1 -1
  52. package/dist/cjs/wallets/smart/index.js +34 -32
  53. package/dist/cjs/wallets/smart/index.js.map +1 -1
  54. package/dist/cjs/wallets/smart/lib/signing.js +139 -54
  55. package/dist/cjs/wallets/smart/lib/signing.js.map +1 -1
  56. package/dist/cjs/wallets/smart/presets/7579.js +11 -10
  57. package/dist/cjs/wallets/smart/presets/7579.js.map +1 -1
  58. package/dist/cjs/wallets/smart/smart-wallet.js +12 -10
  59. package/dist/cjs/wallets/smart/smart-wallet.js.map +1 -1
  60. package/dist/esm/adapters/ethers5.js +1 -1
  61. package/dist/esm/adapters/ethers5.js.map +1 -1
  62. package/dist/esm/auth/verify-hash.js +13 -9
  63. package/dist/esm/auth/verify-hash.js.map +1 -1
  64. package/dist/esm/contract/types.js +2 -0
  65. package/dist/esm/contract/types.js.map +1 -0
  66. package/dist/esm/exports/thirdweb.js +2 -0
  67. package/dist/esm/exports/thirdweb.js.map +1 -1
  68. package/dist/esm/exports/transaction.js +1 -0
  69. package/dist/esm/exports/transaction.js.map +1 -1
  70. package/dist/esm/exports/wallets.js +1 -0
  71. package/dist/esm/exports/wallets.js.map +1 -1
  72. package/dist/esm/extensions/erc721/lazyMinting/read/getBatchesToReveal.js +1 -1
  73. package/dist/esm/extensions/erc721/lazyMinting/read/getBatchesToReveal.js.map +1 -1
  74. package/dist/esm/extensions/types.js +2 -0
  75. package/dist/esm/extensions/types.js.map +1 -0
  76. package/dist/esm/gas/estimate-l1-fee.js +2 -3
  77. package/dist/esm/gas/estimate-l1-fee.js.map +1 -1
  78. package/dist/esm/react/core/hooks/contract/useReadContract.js +31 -29
  79. package/dist/esm/react/core/hooks/contract/useReadContract.js.map +1 -1
  80. package/dist/esm/react/core/hooks/types.js +2 -0
  81. package/dist/esm/react/core/hooks/types.js.map +1 -0
  82. package/dist/esm/transaction/actions/eip7702/authorization.js +30 -0
  83. package/dist/esm/transaction/actions/eip7702/authorization.js.map +1 -0
  84. package/dist/esm/transaction/actions/estimate-gas.js +16 -4
  85. package/dist/esm/transaction/actions/estimate-gas.js.map +1 -1
  86. package/dist/esm/transaction/actions/send-transaction.js +32 -1
  87. package/dist/esm/transaction/actions/send-transaction.js.map +1 -1
  88. package/dist/esm/transaction/actions/to-serializable-transaction.js +13 -4
  89. package/dist/esm/transaction/actions/to-serializable-transaction.js.map +1 -1
  90. package/dist/esm/transaction/prepare-transaction.js.map +1 -1
  91. package/dist/esm/transaction/serialize-transaction.js +11 -0
  92. package/dist/esm/transaction/serialize-transaction.js.map +1 -1
  93. package/dist/esm/utils/abi/decodeError.js +3 -3
  94. package/dist/esm/utils/abi/decodeError.js.map +1 -1
  95. package/dist/esm/utils/abi/decodeFunctionData.js +3 -3
  96. package/dist/esm/utils/abi/decodeFunctionData.js.map +1 -1
  97. package/dist/esm/utils/abi/decodeFunctionResult.js +3 -3
  98. package/dist/esm/utils/abi/decodeFunctionResult.js.map +1 -1
  99. package/dist/esm/utils/hashing/hashMessage.js +1 -1
  100. package/dist/esm/utils/hashing/hashMessage.js.map +1 -1
  101. package/dist/esm/version.js +1 -1
  102. package/dist/esm/version.js.map +1 -1
  103. package/dist/esm/wallets/create-wallet.js +16 -0
  104. package/dist/esm/wallets/create-wallet.js.map +1 -1
  105. package/dist/esm/wallets/in-app/core/wallet/in-app-core.js +9 -3
  106. package/dist/esm/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
  107. package/dist/esm/wallets/in-app/core/wallet/index.js +8 -10
  108. package/dist/esm/wallets/in-app/core/wallet/index.js.map +1 -1
  109. package/dist/esm/wallets/private-key.js +9 -0
  110. package/dist/esm/wallets/private-key.js.map +1 -1
  111. package/dist/esm/wallets/smart/index.js +32 -30
  112. package/dist/esm/wallets/smart/index.js.map +1 -1
  113. package/dist/esm/wallets/smart/lib/signing.js +137 -53
  114. package/dist/esm/wallets/smart/lib/signing.js.map +1 -1
  115. package/dist/esm/wallets/smart/presets/7579.js +11 -10
  116. package/dist/esm/wallets/smart/presets/7579.js.map +1 -1
  117. package/dist/esm/wallets/smart/smart-wallet.js +12 -10
  118. package/dist/esm/wallets/smart/smart-wallet.js.map +1 -1
  119. package/dist/types/auth/verify-hash.d.ts +6 -0
  120. package/dist/types/auth/verify-hash.d.ts.map +1 -1
  121. package/dist/types/contract/types.d.ts +7 -0
  122. package/dist/types/contract/types.d.ts.map +1 -0
  123. package/dist/types/exports/thirdweb.d.ts +6 -0
  124. package/dist/types/exports/thirdweb.d.ts.map +1 -1
  125. package/dist/types/exports/transaction.d.ts +5 -0
  126. package/dist/types/exports/transaction.d.ts.map +1 -1
  127. package/dist/types/exports/wallets.d.ts +1 -0
  128. package/dist/types/exports/wallets.d.ts.map +1 -1
  129. package/dist/types/extensions/erc721/lazyMinting/read/getBatchesToReveal.d.ts +1 -1
  130. package/dist/types/extensions/erc721/lazyMinting/read/getBatchesToReveal.d.ts.map +1 -1
  131. package/dist/types/extensions/types.d.ts +4 -0
  132. package/dist/types/extensions/types.d.ts.map +1 -0
  133. package/dist/types/gas/estimate-l1-fee.d.ts.map +1 -1
  134. package/dist/types/react/core/hooks/contract/useReadContract.d.ts +9 -16
  135. package/dist/types/react/core/hooks/contract/useReadContract.d.ts.map +1 -1
  136. package/dist/types/react/core/hooks/types.d.ts +13 -0
  137. package/dist/types/react/core/hooks/types.d.ts.map +1 -0
  138. package/dist/types/transaction/actions/eip7702/authorization.d.ts +48 -0
  139. package/dist/types/transaction/actions/eip7702/authorization.d.ts.map +1 -0
  140. package/dist/types/transaction/actions/estimate-gas.d.ts +3 -1
  141. package/dist/types/transaction/actions/estimate-gas.d.ts.map +1 -1
  142. package/dist/types/transaction/actions/send-transaction.d.ts +31 -0
  143. package/dist/types/transaction/actions/send-transaction.d.ts.map +1 -1
  144. package/dist/types/transaction/actions/to-serializable-transaction.d.ts +19 -2
  145. package/dist/types/transaction/actions/to-serializable-transaction.d.ts.map +1 -1
  146. package/dist/types/transaction/prepare-transaction.d.ts +2 -0
  147. package/dist/types/transaction/prepare-transaction.d.ts.map +1 -1
  148. package/dist/types/transaction/serialize-transaction.d.ts +2 -0
  149. package/dist/types/transaction/serialize-transaction.d.ts.map +1 -1
  150. package/dist/types/utils/abi/decodeError.d.ts +2 -2
  151. package/dist/types/utils/abi/decodeError.d.ts.map +1 -1
  152. package/dist/types/utils/abi/decodeFunctionData.d.ts +6 -4
  153. package/dist/types/utils/abi/decodeFunctionData.d.ts.map +1 -1
  154. package/dist/types/utils/abi/decodeFunctionResult.d.ts +6 -4
  155. package/dist/types/utils/abi/decodeFunctionResult.d.ts.map +1 -1
  156. package/dist/types/utils/hashing/hashMessage.d.ts +1 -1
  157. package/dist/types/utils/hashing/hashMessage.d.ts.map +1 -1
  158. package/dist/types/version.d.ts +1 -1
  159. package/dist/types/version.d.ts.map +1 -1
  160. package/dist/types/wallets/create-wallet.d.ts +16 -0
  161. package/dist/types/wallets/create-wallet.d.ts.map +1 -1
  162. package/dist/types/wallets/in-app/core/wallet/in-app-core.d.ts.map +1 -1
  163. package/dist/types/wallets/in-app/core/wallet/index.d.ts +10 -2
  164. package/dist/types/wallets/in-app/core/wallet/index.d.ts.map +1 -1
  165. package/dist/types/wallets/interfaces/wallet.d.ts +9 -0
  166. package/dist/types/wallets/interfaces/wallet.d.ts.map +1 -1
  167. package/dist/types/wallets/private-key.d.ts.map +1 -1
  168. package/dist/types/wallets/smart/index.d.ts +2 -2
  169. package/dist/types/wallets/smart/index.d.ts.map +1 -1
  170. package/dist/types/wallets/smart/lib/signing.d.ts +46 -2
  171. package/dist/types/wallets/smart/lib/signing.d.ts.map +1 -1
  172. package/dist/types/wallets/smart/presets/7579.d.ts.map +1 -1
  173. package/package.json +1 -1
  174. package/src/adapters/ethers5.ts +1 -1
  175. package/src/auth/verify-hash.ts +12 -9
  176. package/src/contract/types.ts +8 -0
  177. package/src/exports/thirdweb.ts +10 -0
  178. package/src/exports/transaction.ts +9 -0
  179. package/src/exports/wallets.ts +2 -0
  180. package/src/extensions/erc721/lazyMinting/read/getBatchesToReveal.ts +2 -2
  181. package/src/extensions/types.ts +6 -0
  182. package/src/gas/estimate-l1-fee.ts +2 -3
  183. package/src/react/core/hooks/contract/useReadContract.ts +83 -74
  184. package/src/react/core/hooks/types.ts +13 -0
  185. package/src/transaction/actions/eip7702/authorization.test.ts +27 -0
  186. package/src/transaction/actions/eip7702/authorization.ts +58 -0
  187. package/src/transaction/actions/estimate-gas.ts +26 -9
  188. package/src/transaction/actions/send-transaction.ts +32 -2
  189. package/src/transaction/actions/to-serializable-transaction.test.ts +68 -0
  190. package/src/transaction/actions/to-serializable-transaction.ts +42 -30
  191. package/src/transaction/prepare-transaction.test.ts +28 -0
  192. package/src/transaction/prepare-transaction.ts +3 -0
  193. package/src/transaction/serialize-transaction.test.ts +108 -1
  194. package/src/transaction/serialize-transaction.ts +18 -0
  195. package/src/utils/abi/decodeError.ts +5 -4
  196. package/src/utils/abi/decodeFunctionData.ts +7 -5
  197. package/src/utils/abi/decodeFunctionResult.ts +7 -5
  198. package/src/utils/hashing/hashMessage.ts +1 -1
  199. package/src/utils/signatures/sign-message.test.ts +2 -2
  200. package/src/version.ts +1 -1
  201. package/src/wallets/create-wallet.ts +16 -0
  202. package/src/wallets/in-app/core/wallet/in-app-core.test.ts +115 -54
  203. package/src/wallets/in-app/core/wallet/in-app-core.ts +22 -11
  204. package/src/wallets/in-app/core/wallet/index.ts +10 -13
  205. package/src/wallets/interfaces/wallet.ts +15 -0
  206. package/src/wallets/private-key.test.ts +1 -0
  207. package/src/wallets/private-key.ts +10 -0
  208. package/src/wallets/smart/index.ts +34 -37
  209. package/src/wallets/smart/lib/signing.ts +154 -59
  210. package/src/wallets/smart/presets/7579.ts +13 -12
  211. package/src/wallets/smart/smart-wallet-integration-v07.test.ts +49 -9
  212. package/src/wallets/smart/smart-wallet-integration.test.ts +48 -1
  213. package/src/wallets/smart/smart-wallet.ts +13 -13
  214. package/src/wallets/smart/smart.test.ts +19 -39
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isSmartWallet = isSmartWallet;
4
- exports.connectSmartWallet = connectSmartWallet;
5
- exports.disconnectSmartWallet = disconnectSmartWallet;
4
+ exports.connectSmartAccount = connectSmartAccount;
5
+ exports.disconnectSmartAccount = disconnectSmartAccount;
6
6
  const utils_js_1 = require("../../chains/utils.js");
7
7
  const contract_js_1 = require("../../contract/contract.js");
8
8
  const allowance_js_1 = require("../../extensions/erc20/__generated__/IERC20/read/allowance.js");
@@ -28,18 +28,19 @@ function isSmartWallet(wallet) {
28
28
  return wallet.id === "smart";
29
29
  }
30
30
  /**
31
- * We can get the personal account for given smart account but not the other way around - this map gives us the reverse lookup
31
+ * For in-app wallets, the smart wallet creation is implicit so we track these to be able to retrieve the personal account for a smart account on the wallet API.
32
+ * Note: We have to go account to account here and NOT wallet to account because the smart wallet itself is never exposed to the in-app wallet, only the account.
32
33
  * @internal
33
34
  */
34
- const personalAccountToSmartAccountMap = new WeakMap();
35
- const smartWalletToPersonalAccountMap = new WeakMap();
35
+ const adminAccountToSmartAccountMap = new WeakMap();
36
+ const smartAccountToAdminAccountMap = new WeakMap();
36
37
  /**
37
38
  * @internal
38
39
  */
39
- async function connectSmartWallet(wallet, connectionOptions, creationOptions) {
40
+ async function connectSmartAccount(connectionOptions, creationOptions) {
40
41
  const { personalAccount, client, chain: connectChain } = connectionOptions;
41
42
  if (!personalAccount) {
42
- throw new Error("Personal wallet does not have an account");
43
+ throw new Error("No personal account provided for smart account connection");
43
44
  }
44
45
  const options = creationOptions;
45
46
  const chain = connectChain ?? options.chain;
@@ -105,20 +106,20 @@ async function connectSmartWallet(wallet, connectionOptions, creationOptions) {
105
106
  factoryContract,
106
107
  client,
107
108
  });
108
- personalAccountToSmartAccountMap.set(personalAccount, wallet);
109
- smartWalletToPersonalAccountMap.set(wallet, personalAccount);
109
+ adminAccountToSmartAccountMap.set(personalAccount, account);
110
+ smartAccountToAdminAccountMap.set(account, personalAccount);
110
111
  return [account, chain];
111
112
  }
112
113
  /**
113
114
  * @internal
114
115
  */
115
- async function disconnectSmartWallet(wallet) {
116
+ async function disconnectSmartAccount(account) {
116
117
  // look up the personalAccount for the smart wallet
117
- const personalAccount = smartWalletToPersonalAccountMap.get(wallet);
118
+ const personalAccount = smartAccountToAdminAccountMap.get(account);
118
119
  if (personalAccount) {
119
120
  // remove the mappings
120
- personalAccountToSmartAccountMap.delete(personalAccount);
121
- smartWalletToPersonalAccountMap.delete(wallet);
121
+ adminAccountToSmartAccountMap.delete(personalAccount);
122
+ smartAccountToAdminAccountMap.delete(account);
122
123
  }
123
124
  }
124
125
  async function createSmartAccount(options) {
@@ -128,7 +129,7 @@ async function createSmartAccount(options) {
128
129
  throw new Error("Token paymaster is only supported for entrypoint version v0.7");
129
130
  }
130
131
  }
131
- const { accountContract } = options;
132
+ let accountContract = options.accountContract;
132
133
  const account = {
133
134
  address: (0, address_js_1.getAddress)(accountContract.address),
134
135
  async sendTransaction(transaction) {
@@ -151,20 +152,16 @@ async function createSmartAccount(options) {
151
152
  else {
152
153
  paymasterOverride = options.overrides?.paymaster;
153
154
  }
154
- const accountContractForTransaction = (() => {
155
- // If this transaction is for a different chain than the initial one, get the account contract for that chain
156
- if (transaction.chainId !== accountContract.chain.id) {
157
- return (0, contract_js_1.getContract)({
158
- address: account.address,
159
- chain: (0, utils_js_1.getCachedChain)(transaction.chainId),
160
- client: options.client,
161
- });
162
- }
163
- // Default to the existing account contract
164
- return accountContract;
165
- })();
155
+ // If this transaction is for a different chain than the initial one, get the account contract for that chain
156
+ if (transaction.chainId !== accountContract.chain.id) {
157
+ accountContract = (0, contract_js_1.getContract)({
158
+ address: account.address,
159
+ chain: (0, utils_js_1.getCachedChain)(transaction.chainId),
160
+ client: options.client,
161
+ });
162
+ }
166
163
  const executeTx = (0, calls_js_1.prepareExecute)({
167
- accountContract: accountContractForTransaction,
164
+ accountContract: accountContract,
168
165
  transaction,
169
166
  executeOverride: options.overrides?.execute,
170
167
  });
@@ -173,6 +170,7 @@ async function createSmartAccount(options) {
173
170
  options: {
174
171
  ...options,
175
172
  chain: (0, utils_js_1.getCachedChain)(transaction.chainId),
173
+ accountContract,
176
174
  overrides: {
177
175
  ...options.overrides,
178
176
  paymaster: paymasterOverride,
@@ -188,7 +186,11 @@ async function createSmartAccount(options) {
188
186
  });
189
187
  return _sendUserOp({
190
188
  executeTx,
191
- options,
189
+ options: {
190
+ ...options,
191
+ chain: (0, utils_js_1.getCachedChain)(transactions[0]?.chainId ?? options.chain.id),
192
+ accountContract,
193
+ },
192
194
  });
193
195
  },
194
196
  async signMessage({ message }) {
@@ -200,8 +202,8 @@ async function createSmartAccount(options) {
200
202
  message,
201
203
  });
202
204
  }
203
- const { deployAndSignMessage } = await Promise.resolve().then(() => require("./lib/signing.js"));
204
- return deployAndSignMessage({
205
+ const { smartAccountSignMessage } = await Promise.resolve().then(() => require("./lib/signing.js"));
206
+ return smartAccountSignMessage({
205
207
  accountContract,
206
208
  factoryContract: options.factoryContract,
207
209
  options,
@@ -217,8 +219,8 @@ async function createSmartAccount(options) {
217
219
  typedData,
218
220
  });
219
221
  }
220
- const { deployAndSignTypedData } = await Promise.resolve().then(() => require("./lib/signing.js"));
221
- return deployAndSignTypedData({
222
+ const { smartAccountSignTypedData } = await Promise.resolve().then(() => require("./lib/signing.js"));
223
+ return smartAccountSignTypedData({
222
224
  accountContract,
223
225
  factoryContract: options.factoryContract,
224
226
  options,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/wallets/smart/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/wallets/smart/index.ts"],"names":[],"mappings":";;AAgEA,sCAIC;AAaD,kDAoGC;AAKD,wDAQC;AAhMD,oDAAuD;AAEvD,4DAAgF;AAChF,gGAA0F;AAC1F,wEAAkE;AAClE,6GAAqG;AAErG,4GAGqE;AAErE,yEAAkE;AAClE,uDAAoD;AACpD,kFAA4E;AAE5E,4FAAoF;AACpF,mDAAuE;AAOvE,iDAI0B;AAC1B,6CAIwB;AACxB,qDAK4B;AAC5B,+CAKyB;AAWzB;;;;;GAKG;AACH,SAAgB,aAAa,CAC3B,MAAwB;IAExB,OAAO,MAAM,CAAC,EAAE,KAAK,OAAO,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,MAAM,6BAA6B,GAAG,IAAI,OAAO,EAAoB,CAAC;AACtE,MAAM,6BAA6B,GAAG,IAAI,OAAO,EAAoB,CAAC;AAEtE;;GAEG;AACI,KAAK,UAAU,mBAAmB,CACvC,iBAA+C,EAC/C,eAAmC;IAEnC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,iBAAiB,CAAC;IAE3E,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,CAAC;IAChC,MAAM,KAAK,GAAG,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC;IAE5C,kFAAkF;IAClF,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,EAAE,CAAC;QACpE,MAAM,iBAAiB,GAAG,MAAM,wBAAwB,CACtD,OAAO,CAAC,cAAc,EACtB,MAAM,EACN,KAAK,CACN,CAAC;QACF,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,CAAC,SAAS,GAAG;gBAClB,GAAG,OAAO,CAAC,SAAS;gBACpB,iBAAiB;aAClB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IACE,OAAO,CAAC,SAAS,EAAE,cAAc;QACjC,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,EACrC,CAAC;QACD,2FAA2F;QAC3F,OAAO,CAAC,SAAS,GAAG;YAClB,GAAG,OAAO,CAAC,SAAS;YACpB,iBAAiB,EAAE,sCAAuB;SAC3C,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAClB,OAAO,CAAC,cAAc;QACtB,IAAA,uCAAwB,EAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IACjE,MAAM,UAAU,GACd,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAE9D,IAAI,MAAM,IAAA,gCAAa,EAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO;YACL,mBAAmB,CAAC;gBAClB,eAAe;gBACf,iBAAiB;gBACjB,KAAK;gBACL,UAAU;aACX,CAAC;YACF,KAAK;SACN,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,IAAA,yBAAW,EAAC;QAClC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,cAAc;QACvB,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,MAAM,IAAA,yBAAc,EAAC;QAC1C,eAAe;QACf,YAAY,EAAE,eAAe,CAAC,OAAO;QACrC,sBAAsB,EAAE,OAAO,CAAC,SAAS,EAAE,cAAc;QACzD,WAAW,EAAE,OAAO,CAAC,SAAS,EAAE,WAAW;QAC3C,cAAc,EAAE,OAAO,CAAC,SAAS,EAAE,cAAc;KAClD,CAAC;SACC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;SAC1B,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACb,MAAM,IAAI,KAAK,CACb,uDAAuD,eAAe,CAAC,OAAO,gBAAgB,KAAK,CAAC,EAAE,KAAK,GAAG,EAAE,OAAO,IAAI,eAAe,EAAE,EAC5I,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,MAAM,eAAe,GAAG,IAAA,yBAAW,EAAC;QAClC,MAAM;QACN,OAAO,EAAE,cAAc;QACvB,KAAK;KACN,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC;QACvC,GAAG,OAAO;QACV,KAAK;QACL,UAAU;QACV,eAAe;QACf,eAAe;QACf,eAAe;QACf,MAAM;KACP,CAAC,CAAC;IAEH,6BAA6B,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAC5D,6BAA6B,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAE5D,OAAO,CAAC,OAAO,EAAE,KAAK,CAAU,CAAC;AACnC,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,sBAAsB,CAAC,OAAgB;IAC3D,mDAAmD;IACnD,MAAM,eAAe,GAAG,6BAA6B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACnE,IAAI,eAAe,EAAE,CAAC;QACpB,sBAAsB;QACtB,6BAA6B,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACtD,6BAA6B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,OAA4B;IAE5B,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC;IACzD,IAAI,cAAc,EAAE,CAAC;QACnB,IACE,IAAA,mCAAoB,EAClB,OAAO,CAAC,SAAS,EAAE,iBAAiB,IAAI,sCAAuB,CAChE,KAAK,MAAM,EACZ,CAAC;YACD,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAC9C,MAAM,OAAO,GAAY;QACvB,OAAO,EAAE,IAAA,uBAAU,EAAC,eAAe,CAAC,OAAO,CAAC;QAC5C,KAAK,CAAC,eAAe,CAAC,WAAkC;YACtD,6DAA6D;YAC7D,IAAI,iBAAiB,GAIgB,SAAS,CAAC;YAC/C,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,YAAY,CAAC;oBACjB,eAAe;oBACf,cAAc;oBACd,OAAO;iBACR,CAAC,CAAC;gBACH,MAAM,iBAAiB,GAAG,KAAK,IAA8B,EAAE;oBAC7D,OAAO;wBACL,SAAS,EAAE,cAAc,CAAC,gBAAuB;wBACjD,aAAa,EAAE,IAAI;qBACpB,CAAC;gBACJ,CAAC,CAAC;gBACF,iBAAiB,GAAG,OAAO,CAAC,SAAS,EAAE,SAAS,IAAI,iBAAiB,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,iBAAiB,GAAG,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;YACnD,CAAC;YAED,6GAA6G;YAC7G,IAAI,WAAW,CAAC,OAAO,KAAK,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBACrD,eAAe,GAAG,IAAA,yBAAW,EAAC;oBAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,KAAK,EAAE,IAAA,yBAAc,EAAC,WAAW,CAAC,OAAO,CAAC;oBAC1C,MAAM,EAAE,OAAO,CAAC,MAAM;iBACvB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,SAAS,GAAG,IAAA,yBAAc,EAAC;gBAC/B,eAAe,EAAE,eAAe;gBAChC,WAAW;gBACX,eAAe,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO;aAC5C,CAAC,CAAC;YACH,OAAO,WAAW,CAAC;gBACjB,SAAS;gBACT,OAAO,EAAE;oBACP,GAAG,OAAO;oBACV,KAAK,EAAE,IAAA,yBAAc,EAAC,WAAW,CAAC,OAAO,CAAC;oBAC1C,eAAe;oBACf,SAAS,EAAE;wBACT,GAAG,OAAO,CAAC,SAAS;wBACpB,SAAS,EAAE,iBAAiB;qBAC7B;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,oBAAoB,CAAC,YAAqC;YAC9D,MAAM,SAAS,GAAG,IAAA,8BAAmB,EAAC;gBACpC,eAAe;gBACf,YAAY;gBACZ,oBAAoB,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY;aACtD,CAAC,CAAC;YACH,OAAO,WAAW,CAAC;gBACjB,SAAS;gBACT,OAAO,EAAE;oBACP,GAAG,OAAO;oBACV,KAAK,EAAE,IAAA,yBAAc,EAAC,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnE,eAAe;iBAChB;aACF,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAgC;YACzD,IAAI,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC;gBACnC,OAAO,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC;oBACnC,YAAY,EAAE,OAAO,CAAC,eAAe;oBACrC,eAAe,EAAE,OAAO,CAAC,eAAe;oBACxC,eAAe;oBACf,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;YAED,MAAM,EAAE,uBAAuB,EAAE,GAAG,2CAAa,kBAAkB,EAAC,CAAC;YACrE,OAAO,uBAAuB,CAAC;gBAC7B,eAAe;gBACf,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,OAAO;gBACP,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,aAAa,CAGjB,SAA2D;YAC3D,IAAI,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC;gBACrC,OAAO,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC;oBACrC,YAAY,EAAE,OAAO,CAAC,eAAe;oBACrC,eAAe,EAAE,OAAO,CAAC,eAAe;oBACxC,eAAe;oBACf,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;YAED,MAAM,EAAE,yBAAyB,EAAE,GAAG,2CAAa,kBAAkB,EAAC,CAAC;YACvE,OAAO,yBAAyB,CAAC;gBAC/B,eAAe;gBACf,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,OAAO;gBACP,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,sBAAsB,CAAC,WAAW;YACtC,OAAO,OAAO,CAAC,eAAe,CAAC,sBAAsB,EAAE,CAAC,WAAW,CAAC,CAAC;QACvE,CAAC;KACF,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAI3B;IACC,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC1D,MAAM,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC;IACjD,MAAM,aAAa,GAAG,IAAA,yBAAW,EAAC;QAChC,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE,eAAe,CAAC,KAAK;QAC5B,MAAM,EAAE,eAAe,CAAC,MAAM;KAC/B,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,MAAM,IAAA,wBAAS,EAAC;QACvC,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,eAAe,CAAC,OAAO;QAC9B,OAAO,EAAE,cAAc,CAAC,gBAAgB;KACzC,CAAC,CAAC;IAEH,IAAI,gBAAgB,GAAG,EAAE,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,oBAAO,EAAC;QACxB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,cAAc,CAAC,gBAAgB;QACxC,SAAS,EAAE,oBAAS,GAAG,EAAE;KAC1B,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,MAAM,IAAA,0DAAyB,EAAC;QAClD,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,eAAe,CAAC,OAAO;KAC9B,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,IAAA,yBAAc,EAAC;QAC/B,eAAe;QACf,WAAW;QACX,eAAe,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO;KAC5C,CAAC,CAAC;IACH,MAAM,WAAW,CAAC;QAChB,SAAS;QACT,OAAO,EAAE;YACP,GAAG,OAAO;YACV,SAAS,EAAE;gBACT,GAAG,OAAO,CAAC,SAAS;gBACpB,cAAc,EAAE,SAAS;aAC1B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,IAK5B;IACC,MAAM,EAAE,eAAe,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAC3D,MAAM,OAAO,GAAY;QACvB,OAAO,EAAE,iBAAiB,CAAC,eAAe,CAAC,OAAO;QAClD,KAAK,CAAC,eAAe,CAAC,WAAkC;YACtD,6DAA6D;YAC7D,MAAM,MAAM,GAAG;gBACb,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,EAAE,EAAE,WAAW,CAAC,EAAE,IAAI,SAAS;gBAC/B,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,EAAE;gBAC9B,KAAK,EAAE,IAAA,yBAAc,EAAC,WAAW,CAAC,OAAO,CAAC;gBAC1C,MAAM,EAAE,iBAAiB,CAAC,MAAM;gBAChC,MAAM,EAAE,WAAW,CAAC,MAAM;aAC3B,CAAC;YAEF,IAAI,uBAAuB,GAAG,MAAM,IAAA,sDAAyB,EAAC;gBAC5D,OAAO;gBACP,WAAW,EAAE,MAAM;aACpB,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,CAAC;gBAC1D,sBAAsB;gBACtB,MAAM,MAAM,GAAG,MAAM,IAAA,+BAAkB,EAAC;oBACtC,OAAO,EAAE;wBACP,MAAM,EAAE,iBAAiB,CAAC,MAAM;wBAChC,KAAK;wBACL,UAAU,EAAE,eAAe,CAAC,SAAS,EAAE,UAAU;wBACjD,iBAAiB,EAAE,eAAe,CAAC,SAAS,EAAE,iBAAiB;qBAChE;oBACD,WAAW,EAAE,uBAAuB;iBACrC,CAAC,CAAC;gBACH,uBAAuB,GAAG;oBACxB,GAAG,uBAAuB;oBAC1B,GAAG,MAAM;iBACV,CAAC;YACJ,CAAC;YAED,OAAO;YACP,MAAM,iBAAiB,GAAG,MAAM,IAAA,kDAAqB,EAAC;gBACpD,OAAO;gBACP,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,iBAAiB,EAAE,uBAAuB;aAC3C,CAAC,CAAC;YAEH,wBAAwB;YACxB,MAAM,MAAM,GAAG,MAAM,IAAA,mCAAsB,EAAC;gBAC1C,OAAO,EAAE;oBACP,MAAM,EAAE,iBAAiB,CAAC,MAAM;oBAChC,KAAK;oBACL,UAAU,EAAE,eAAe,CAAC,SAAS,EAAE,UAAU;oBACjD,iBAAiB,EAAE,eAAe,CAAC,SAAS,EAAE,iBAAiB;iBAChE;gBACD,WAAW,EAAE,uBAAuB;gBACpC,iBAAiB;aAClB,CAAC,CAAC;YACH,OAAO;gBACL,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,MAAM,EAAE,iBAAiB,CAAC,MAAM;gBAChC,KAAK,EAAE,KAAK;aACb,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAgC;YACzD,OAAO,iBAAiB,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,KAAK,CAAC,aAAa,CAGjB,UAA4D;YAC5D,MAAM,SAAS,GAAG,IAAA,oCAAc,EAAC,UAAU,CAAC,CAAC;YAC7C,OAAO,iBAAiB,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACpE,CAAC;QACD,KAAK,CAAC,sBAAsB,CAAC,WAAW;YACtC,OAAO,iBAAiB,CAAC,eAAe,CAAC,sBAAsB,EAAE,CAC/D,WAAW,CACZ,CAAC;QACJ,CAAC;KACF,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAG1B;IACC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACpC,MAAM,cAAc,GAAG,MAAM,IAAA,gCAAoB,EAAC;QAChD,WAAW,EAAE,SAAS;QACtB,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,OAAO;QAC7C,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,MAAM,IAAA,sBAAU,EAAC;QACpC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,YAAY,EAAE,OAAO,CAAC,eAAe;QACrC,iBAAiB,EAAE,OAAO,CAAC,SAAS,EAAE,iBAAiB;QACvD,MAAM,EAAE,cAAc;KACvB,CAAC,CAAC;IACH,MAAM,cAAc,GAAmB;QACrC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU;QACzC,iBAAiB,EAAE,OAAO,CAAC,SAAS,EAAE,iBAAiB;KACxD,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,IAAA,yBAAY,EAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,YAAY;KACrB,CAAC,CAAC;IACH,yDAAyD;IACzD,MAAM,OAAO,GAAG,MAAM,IAAA,gCAAoB,EAAC;QACzC,GAAG,cAAc;QACjB,UAAU;KACX,CAAC,CAAC;IAEH,qDAAqD;IACrD,IAAA,iCAAqB,EAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAE/C,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,eAAe,EAAE,OAAO,CAAC,eAAe;KACzC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,cAAsB,EACtB,MAAsB,EACtB,KAAY;IAEZ,MAAM,eAAe,GAAG,IAAA,yBAAW,EAAC;QAClC,OAAO,EAAE,cAAc;QACvB,MAAM;QACN,KAAK;KACN,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,iBAAiB,GAAG,MAAM,IAAA,+BAAY,EAAC;YAC3C,QAAQ,EAAE,eAAe;YACzB,MAAM,EAAE,qDAAqD;SAC9D,CAAC,CAAC;QACH,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -1,18 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deployAndSignMessage = deployAndSignMessage;
4
- exports.deployAndSignTypedData = deployAndSignTypedData;
3
+ exports.smartAccountSignMessage = smartAccountSignMessage;
4
+ exports.smartAccountSignTypedData = smartAccountSignTypedData;
5
5
  exports.confirmContractDeployment = confirmContractDeployment;
6
+ exports.deploySmartAccount = deploySmartAccount;
6
7
  const serialize_erc6492_signature_js_1 = require("../../../auth/serialize-erc6492-signature.js");
7
8
  const verify_hash_js_1 = require("../../../auth/verify-hash.js");
8
9
  const contract_js_1 = require("../../../contract/contract.js");
9
10
  const encode_js_1 = require("../../../transaction/actions/encode.js");
10
11
  const read_contract_js_1 = require("../../../transaction/read-contract.js");
11
12
  const encodeAbiParameters_js_1 = require("../../../utils/abi/encodeAbiParameters.js");
13
+ const is_contract_deployed_js_1 = require("../../../utils/bytecode/is-contract-deployed.js");
12
14
  const hashMessage_js_1 = require("../../../utils/hashing/hashMessage.js");
13
15
  const hashTypedData_js_1 = require("../../../utils/hashing/hashTypedData.js");
14
16
  const calls_js_1 = require("./calls.js");
15
- async function deployAndSignMessage({ accountContract, factoryContract, options, message, }) {
17
+ /**
18
+ * If the account is already deployed, generate an ERC-1271 signature.
19
+ * If the account is not deployed, generate an ERC-6492 signature unless otherwise specified.
20
+ *
21
+ * @internal
22
+ */
23
+ async function smartAccountSignMessage({ accountContract, factoryContract, options, message, }) {
16
24
  const originalMsgHash = (0, hashMessage_js_1.hashMessage)(message);
17
25
  const is712Factory = await checkFor712Factory({
18
26
  factoryContract,
@@ -37,35 +45,49 @@ async function deployAndSignMessage({ accountContract, factoryContract, options,
37
45
  else {
38
46
  sig = await options.personalAccount.signMessage({ message });
39
47
  }
40
- const deployTx = (0, calls_js_1.prepareCreateAccount)({
41
- factoryContract,
42
- adminAddress: options.personalAccount.address,
43
- accountSalt: options.overrides?.accountSalt,
44
- createAccountOverride: options.overrides?.createAccount,
45
- });
46
- if (!deployTx) {
47
- throw new Error("Create account override not provided");
48
+ const isDeployed = await (0, is_contract_deployed_js_1.isContractDeployed)(accountContract);
49
+ if (isDeployed) {
50
+ const isValid = await (0, verify_hash_js_1.verifyEip1271Signature)({
51
+ hash: originalMsgHash,
52
+ signature: sig,
53
+ contract: accountContract,
54
+ });
55
+ if (isValid) {
56
+ return sig;
57
+ }
58
+ throw new Error("Failed to verify signature");
48
59
  }
49
- const initCode = await (0, encode_js_1.encode)(deployTx);
50
- const erc6492Sig = (0, serialize_erc6492_signature_js_1.serializeErc6492Signature)({
51
- address: factoryContract.address,
52
- data: initCode,
53
- signature: sig,
54
- });
55
- // check if the signature is valid
56
- const isValid = await (0, verify_hash_js_1.verifyHash)({
57
- hash: originalMsgHash,
58
- signature: erc6492Sig,
59
- address: accountContract.address,
60
- chain: accountContract.chain,
61
- client: accountContract.client,
62
- });
63
- if (isValid) {
64
- return erc6492Sig;
60
+ else {
61
+ const deployTx = (0, calls_js_1.prepareCreateAccount)({
62
+ factoryContract,
63
+ adminAddress: options.personalAccount.address,
64
+ accountSalt: options.overrides?.accountSalt,
65
+ createAccountOverride: options.overrides?.createAccount,
66
+ });
67
+ if (!deployTx) {
68
+ throw new Error("Create account override not provided");
69
+ }
70
+ const initCode = await (0, encode_js_1.encode)(deployTx);
71
+ const erc6492Sig = (0, serialize_erc6492_signature_js_1.serializeErc6492Signature)({
72
+ address: factoryContract.address,
73
+ data: initCode,
74
+ signature: sig,
75
+ });
76
+ // check if the signature is valid
77
+ const isValid = await (0, verify_hash_js_1.verifyHash)({
78
+ hash: originalMsgHash,
79
+ signature: erc6492Sig,
80
+ address: accountContract.address,
81
+ chain: accountContract.chain,
82
+ client: accountContract.client,
83
+ });
84
+ if (isValid) {
85
+ return erc6492Sig;
86
+ }
87
+ throw new Error("Unable to verify ERC-6492 signature after signing.");
65
88
  }
66
- throw new Error("Unable to verify signature on smart account, please make sure the admin wallet has permissions and the signature is valid.");
67
89
  }
68
- async function deployAndSignTypedData({ accountContract, factoryContract, options, typedData, }) {
90
+ async function smartAccountSignTypedData({ accountContract, factoryContract, options, typedData, }) {
69
91
  const isSelfVerifyingContract = typedData.domain?.verifyingContract?.toLowerCase() ===
70
92
  accountContract.address?.toLowerCase();
71
93
  if (isSelfVerifyingContract) {
@@ -97,33 +119,47 @@ async function deployAndSignTypedData({ accountContract, factoryContract, option
97
119
  else {
98
120
  sig = await options.personalAccount.signTypedData(typedData);
99
121
  }
100
- const deployTx = (0, calls_js_1.prepareCreateAccount)({
101
- factoryContract,
102
- adminAddress: options.personalAccount.address,
103
- accountSalt: options.overrides?.accountSalt,
104
- createAccountOverride: options.overrides?.createAccount,
105
- });
106
- if (!deployTx) {
107
- throw new Error("Create account override not provided");
122
+ const isDeployed = await (0, is_contract_deployed_js_1.isContractDeployed)(accountContract);
123
+ if (isDeployed) {
124
+ const isValid = await (0, verify_hash_js_1.verifyEip1271Signature)({
125
+ hash: originalMsgHash,
126
+ signature: sig,
127
+ contract: accountContract,
128
+ });
129
+ if (isValid) {
130
+ return sig;
131
+ }
132
+ throw new Error("Failed to verify signature");
108
133
  }
109
- const initCode = await (0, encode_js_1.encode)(deployTx);
110
- const erc6492Sig = (0, serialize_erc6492_signature_js_1.serializeErc6492Signature)({
111
- address: factoryContract.address,
112
- data: initCode,
113
- signature: sig,
114
- });
115
- // check if the signature is valid
116
- const isValid = await (0, verify_hash_js_1.verifyHash)({
117
- hash: originalMsgHash,
118
- signature: erc6492Sig,
119
- address: accountContract.address,
120
- chain: accountContract.chain,
121
- client: accountContract.client,
122
- });
123
- if (isValid) {
124
- return erc6492Sig;
134
+ else {
135
+ const deployTx = (0, calls_js_1.prepareCreateAccount)({
136
+ factoryContract,
137
+ adminAddress: options.personalAccount.address,
138
+ accountSalt: options.overrides?.accountSalt,
139
+ createAccountOverride: options.overrides?.createAccount,
140
+ });
141
+ if (!deployTx) {
142
+ throw new Error("Create account override not provided");
143
+ }
144
+ const initCode = await (0, encode_js_1.encode)(deployTx);
145
+ const erc6492Sig = (0, serialize_erc6492_signature_js_1.serializeErc6492Signature)({
146
+ address: factoryContract.address,
147
+ data: initCode,
148
+ signature: sig,
149
+ });
150
+ // check if the signature is valid
151
+ const isValid = await (0, verify_hash_js_1.verifyHash)({
152
+ hash: originalMsgHash,
153
+ signature: erc6492Sig,
154
+ address: accountContract.address,
155
+ chain: accountContract.chain,
156
+ client: accountContract.client,
157
+ });
158
+ if (isValid) {
159
+ return erc6492Sig;
160
+ }
161
+ throw new Error("Unable to verify signature on smart account, please make sure the admin wallet has permissions and the signature is valid.");
125
162
  }
126
- throw new Error("Unable to verify signature on smart account, please make sure the admin wallet has permissions and the signature is valid.");
127
163
  }
128
164
  async function confirmContractDeployment(args) {
129
165
  const { accountContract } = args;
@@ -163,4 +199,53 @@ async function checkFor712Factory({ factoryContract, accountContract, originalMs
163
199
  return false;
164
200
  }
165
201
  }
202
+ /**
203
+ * Deployes a smart account via a dummy transaction.
204
+ *
205
+ * @param args - Arguments for the deployment.
206
+ * @param args.smartAccount - The smart account to deploy.
207
+ * @param args.chain - The chain to deploy on.
208
+ * @param args.client - The client to use for the deployment.
209
+ * @param args.accountContract - The account contract to deploy.
210
+ *
211
+ * @example
212
+ * ```ts
213
+ * import { deploySmartAccount } from "thirdweb";
214
+ *
215
+ * const account = await deploySmartAccount({
216
+ * smartAccount,
217
+ * chain,
218
+ * client,
219
+ * accountContract,
220
+ * });
221
+ * ```
222
+ *
223
+ * @wallets
224
+ */
225
+ async function deploySmartAccount(args) {
226
+ const { chain, client, smartAccount, accountContract } = args;
227
+ const isDeployed = await (0, is_contract_deployed_js_1.isContractDeployed)(accountContract);
228
+ if (isDeployed) {
229
+ return;
230
+ }
231
+ const [{ sendTransaction }, { prepareTransaction }] = await Promise.all([
232
+ Promise.resolve().then(() => require("../../../transaction/actions/send-transaction.js")),
233
+ Promise.resolve().then(() => require("../../../transaction/prepare-transaction.js")),
234
+ ]);
235
+ const dummyTx = prepareTransaction({
236
+ client: client,
237
+ chain: chain,
238
+ to: accountContract.address,
239
+ value: 0n,
240
+ gas: 50000n, // force gas to avoid simulation error
241
+ });
242
+ const deployResult = await sendTransaction({
243
+ transaction: dummyTx,
244
+ account: smartAccount,
245
+ });
246
+ await confirmContractDeployment({
247
+ accountContract,
248
+ });
249
+ return deployResult;
250
+ }
166
251
  //# sourceMappingURL=signing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signing.js","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/signing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signing.js","sourceRoot":"","sources":["../../../../../src/wallets/smart/lib/signing.ts"],"names":[],"mappings":";;AA8BA,0DAkFC;AAED,8DAkGC;AAED,8DAmBC;AA2DD,gDAiCC;AApUD,iGAAyF;AACzF,iEAGsC;AAGtC,+DAGuC;AACvC,sEAAgE;AAChE,4EAAqE;AACrE,sFAAgF;AAChF,6FAAqF;AAErF,0EAAoE;AACpE,8EAAwE;AAIxE,yCAAkD;AAElD;;;;;GAKG;AACI,KAAK,UAAU,uBAAuB,CAAC,EAC5C,eAAe,EACf,eAAe,EACf,OAAO,EACP,OAAO,GAMR;IACC,MAAM,eAAe,GAAG,IAAA,4BAAW,EAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC;QAC5C,eAAe;QACf,eAAe;QACf,eAAe;KAChB,CAAC,CAAC;IAEH,IAAI,GAAkB,CAAC;IACvB,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,kBAAkB,GAAG,IAAA,4CAAmB,EAC5C,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EACrB,CAAC,eAAe,CAAC,CAClB,CAAC;QAEF,GAAG,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC;YAChD,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,GAAG;gBACZ,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;gBACzB,iBAAiB,EAAE,eAAe,CAAC,OAAO;aAC3C;YACD,WAAW,EAAE,gBAAgB;YAC7B,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE;YAC/D,OAAO,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE;SACzC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,GAAG,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,4CAAkB,EAAC,eAAe,CAAC,CAAC;IAC7D,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,MAAM,IAAA,uCAAsB,EAAC;YAC3C,IAAI,EAAE,eAAe;YACrB,SAAS,EAAE,GAAG;YACd,QAAQ,EAAE,eAAe;SAC1B,CAAC,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,GAAG,CAAC;QACb,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,IAAA,+BAAoB,EAAC;YACpC,eAAe;YACf,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,OAAO;YAC7C,WAAW,EAAE,OAAO,CAAC,SAAS,EAAE,WAAW;YAC3C,qBAAqB,EAAE,OAAO,CAAC,SAAS,EAAE,aAAa;SACxD,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAM,EAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,IAAA,0DAAyB,EAAC;YAC3C,OAAO,EAAE,eAAe,CAAC,OAAO;YAChC,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QAEH,kCAAkC;QAClC,MAAM,OAAO,GAAG,MAAM,IAAA,2BAAU,EAAC;YAC/B,IAAI,EAAE,eAAe;YACrB,SAAS,EAAE,UAAU;YACrB,OAAO,EAAE,eAAe,CAAC,OAAO;YAChC,KAAK,EAAE,eAAe,CAAC,KAAK;YAC5B,MAAM,EAAE,eAAe,CAAC,MAAM;SAC/B,CAAC,CAAC;QAEH,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAG7C,EACA,eAAe,EACf,eAAe,EACf,OAAO,EACP,SAAS,GAMV;IACC,MAAM,uBAAuB,GAEzB,SAAS,CAAC,MACX,EAAE,iBAAiB,EAAE,WAAW,EAAE;QACnC,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;IAEzC,IAAI,uBAAuB,EAAE,CAAC;QAC5B,0GAA0G;QAC1G,OAAO,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,eAAe,GAAG,IAAA,gCAAa,EAAC,SAAS,CAAC,CAAC;IACjD,+EAA+E;IAC/E,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC;QAC5C,eAAe;QACf,eAAe;QACf,eAAe;KAChB,CAAC,CAAC;IAEH,IAAI,GAAkB,CAAC;IACvB,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,kBAAkB,GAAG,IAAA,4CAAmB,EAC5C,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EACrB,CAAC,eAAe,CAAC,CAClB,CAAC;QACF,GAAG,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC;YAChD,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,GAAG;gBACZ,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;gBACzB,iBAAiB,EAAE,eAAe,CAAC,OAAO;aAC3C;YACD,WAAW,EAAE,gBAAgB;YAC7B,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE;YAC/D,OAAO,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE;SACzC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,GAAG,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,4CAAkB,EAAC,eAAe,CAAC,CAAC;IAC7D,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,MAAM,IAAA,uCAAsB,EAAC;YAC3C,IAAI,EAAE,eAAe;YACrB,SAAS,EAAE,GAAG;YACd,QAAQ,EAAE,eAAe;SAC1B,CAAC,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,GAAG,CAAC;QACb,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,IAAA,+BAAoB,EAAC;YACpC,eAAe;YACf,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,OAAO;YAC7C,WAAW,EAAE,OAAO,CAAC,SAAS,EAAE,WAAW;YAC3C,qBAAqB,EAAE,OAAO,CAAC,SAAS,EAAE,aAAa;SACxD,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAM,EAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,IAAA,0DAAyB,EAAC;YAC3C,OAAO,EAAE,eAAe,CAAC,OAAO;YAChC,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QAEH,kCAAkC;QAClC,MAAM,OAAO,GAAG,MAAM,IAAA,2BAAU,EAAC;YAC/B,IAAI,EAAE,eAAe;YACrB,SAAS,EAAE,UAAU;YACrB,OAAO,EAAE,eAAe,CAAC,OAAO;YAChC,KAAK,EAAE,eAAe,CAAC,KAAK;YAC5B,MAAM,EAAE,eAAe,CAAC,MAAM;SAC/B,CAAC,CAAC;QAEH,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,MAAM,IAAI,KAAK,CACb,4HAA4H,CAC7H,CAAC;IACJ,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAAC,IAE/C;IACC,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IACjC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,oBAAoB;IAC3C,MAAM,EAAE,kBAAkB,EAAE,GAAG,2CAC7B,iDAAiD,EAClD,CAAC;IACF,IAAI,UAAU,GAAG,MAAM,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAC3D,OAAO,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,OAAO,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACzD,UAAU,GAAG,MAAM,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,EAChC,eAAe,EACf,eAAe,EACf,eAAe,GAKhB;IACC,IAAI,CAAC;QACH,MAAM,qBAAqB,GAAG,MAAM,IAAA,+BAAY,EAAC;YAC/C,QAAQ,EAAE,eAAe;YACzB,MAAM,EAAE,gEAAgE;SACzE,CAAC,CAAC;QACH,0FAA0F;QAC1F,MAAM,YAAY,GAAG,MAAM,IAAA,+BAAY,EAAC;YACtC,QAAQ,EAAE,IAAA,yBAAW,EAAC;gBACpB,OAAO,EAAE,qBAAqB;gBAC9B,KAAK,EAAE,eAAe,CAAC,KAAK;gBAC5B,MAAM,EAAE,eAAe,CAAC,MAAM;aAC/B,CAAC;YACF,MAAM,EACJ,sEAAsE;YACxE,MAAM,EAAE,CAAC,eAAe,CAAC;SAC1B,CAAC;aACC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC;aAC3B,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAEtB,OAAO,YAAY,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACI,KAAK,UAAU,kBAAkB,CAAC,IAKxC;IACC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAC9D,MAAM,UAAU,GAAG,MAAM,IAAA,4CAAkB,EAAC,eAAe,CAAC,CAAC;IAC7D,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,MAAM,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;6CAC/D,kDAAkD;6CAClD,6CAA6C;KACrD,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,kBAAkB,CAAC;QACjC,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,KAAK;QACZ,EAAE,EAAE,eAAe,CAAC,OAAO;QAC3B,KAAK,EAAE,EAAE;QACT,GAAG,EAAE,MAAM,EAAE,sCAAsC;KACpD,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC;QACzC,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,YAAY;KACtB,CAAC,CAAC;IAEH,MAAM,yBAAyB,CAAC;QAC9B,eAAe;KAChB,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.erc7579 = erc7579;
4
- const ox_1 = require("ox");
4
+ const ox__AbiParameters = require("ox/AbiParameters");
5
+ const ox__Hex = require("ox/Hex");
5
6
  const serialize_erc6492_signature_js_1 = require("../../../auth/serialize-erc6492-signature.js");
6
7
  const verify_hash_js_1 = require("../../../auth/verify-hash.js");
7
8
  const addresses_js_1 = require("../../../constants/addresses.js");
@@ -46,9 +47,9 @@ const utils_js_1 = require("../lib/utils.js");
46
47
  */
47
48
  function erc7579(options) {
48
49
  const saltHex = options.overrides?.accountSalt &&
49
- ox_1.Hex.validate(options.overrides.accountSalt)
50
+ ox__Hex.validate(options.overrides.accountSalt)
50
51
  ? options.overrides.accountSalt
51
- : ox_1.Hex.fromString(options.overrides?.accountSalt ?? "");
52
+ : ox__Hex.fromString(options.overrides?.accountSalt ?? "");
52
53
  const defaultValidator = (0, address_js_1.getAddress)(options.validatorAddress);
53
54
  const modularAccountOptions = {
54
55
  ...options,
@@ -65,7 +66,7 @@ function erc7579(options) {
65
66
  {
66
67
  moduleTypeId: 1n, // validator type id
67
68
  module: defaultValidator,
68
- initData: ox_1.Hex.fromString(""),
69
+ initData: ox__Hex.fromString(""),
69
70
  },
70
71
  ];
71
72
  return {
@@ -88,8 +89,8 @@ function erc7579(options) {
88
89
  contract: accountContract,
89
90
  async asyncParams() {
90
91
  return {
91
- mode: ox_1.Hex.padRight("0x00", 32), // single execution
92
- executionCalldata: ox_1.AbiParameters.encodePacked(["address", "uint256", "bytes"], [
92
+ mode: ox__Hex.padRight("0x00", 32), // single execution
93
+ executionCalldata: ox__AbiParameters.encodePacked(["address", "uint256", "bytes"], [
93
94
  transaction.to || addresses_js_1.ZERO_ADDRESS,
94
95
  transaction.value || 0n,
95
96
  transaction.data || "0x",
@@ -103,8 +104,8 @@ function erc7579(options) {
103
104
  contract: accountContract,
104
105
  async asyncParams() {
105
106
  return {
106
- mode: ox_1.Hex.padRight("0x01", 32), // batch execution
107
- executionCalldata: ox_1.AbiParameters.encode([
107
+ mode: ox__Hex.padRight("0x01", 32), // batch execution
108
+ executionCalldata: ox__AbiParameters.encode([
108
109
  {
109
110
  type: "tuple[]",
110
111
  components: [
@@ -135,8 +136,8 @@ function erc7579(options) {
135
136
  sender: accountContract.address,
136
137
  });
137
138
  // TODO (msa) - could be different if validator for the deployed account is different
138
- const withValidator = ox_1.Hex.from(`${defaultValidator}${ox_1.Hex.fromNumber(entryPointNonce).slice(42)}`);
139
- return ox_1.Hex.toBigInt(withValidator);
139
+ const withValidator = ox__Hex.from(`${defaultValidator}${ox__Hex.fromNumber(entryPointNonce).slice(42)}`);
140
+ return ox__Hex.toBigInt(withValidator);
140
141
  },
141
142
  async signMessage(options) {
142
143
  const { accountContract, factoryContract, adminAccount, message } = options;
@@ -1 +1 @@
1
- {"version":3,"file":"7579.js","sourceRoot":"","sources":["../../../../../src/wallets/smart/presets/7579.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"7579.js","sourceRoot":"","sources":["../../../../../src/wallets/smart/presets/7579.ts"],"names":[],"mappings":"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"}
@@ -132,7 +132,7 @@ function smartWallet(createOptions) {
132
132
  let adminAccount = undefined;
133
133
  let chain = undefined;
134
134
  let lastConnectOptions;
135
- const _smartWallet = {
135
+ return {
136
136
  id: "smart",
137
137
  subscribe: emitter.subscribe,
138
138
  getChain() {
@@ -146,8 +146,8 @@ function smartWallet(createOptions) {
146
146
  getAccount: () => account,
147
147
  getAdminAccount: () => adminAccount,
148
148
  autoConnect: async (options) => {
149
- const { connectSmartWallet } = await Promise.resolve().then(() => require("./index.js"));
150
- const [connectedAccount, connectedChain] = await connectSmartWallet(_smartWallet, options, createOptions);
149
+ const { connectSmartAccount: connectSmartWallet } = await Promise.resolve().then(() => require("./index.js"));
150
+ const [connectedAccount, connectedChain] = await connectSmartWallet(options, createOptions);
151
151
  // set the states
152
152
  lastConnectOptions = options;
153
153
  account = connectedAccount;
@@ -162,8 +162,8 @@ function smartWallet(createOptions) {
162
162
  return account;
163
163
  },
164
164
  connect: async (options) => {
165
- const { connectSmartWallet } = await Promise.resolve().then(() => require("./index.js"));
166
- const [connectedAccount, connectedChain] = await connectSmartWallet(_smartWallet, options, createOptions);
165
+ const { connectSmartAccount } = await Promise.resolve().then(() => require("./index.js"));
166
+ const [connectedAccount, connectedChain] = await connectSmartAccount(options, createOptions);
167
167
  // set the states
168
168
  adminAccount = options.personalAccount;
169
169
  lastConnectOptions = options;
@@ -180,10 +180,13 @@ function smartWallet(createOptions) {
180
180
  return account;
181
181
  },
182
182
  disconnect: async () => {
183
+ if (account) {
184
+ const { disconnectSmartAccount } = await Promise.resolve().then(() => require("./index.js"));
185
+ await disconnectSmartAccount(account);
186
+ }
183
187
  account = undefined;
188
+ adminAccount = undefined;
184
189
  chain = undefined;
185
- const { disconnectSmartWallet } = await Promise.resolve().then(() => require("./index.js"));
186
- await disconnectSmartWallet(_smartWallet);
187
190
  emitter.emit("disconnect", undefined);
188
191
  },
189
192
  switchChain: async (newChain) => {
@@ -204,14 +207,13 @@ function smartWallet(createOptions) {
204
207
  throw new Error(`Factory contract not deployed on chain: ${newChain.id}`);
205
208
  }
206
209
  }
207
- const { connectSmartWallet } = await Promise.resolve().then(() => require("./index.js"));
208
- const [connectedAccount, connectedChain] = await connectSmartWallet(_smartWallet, { ...lastConnectOptions, chain: newChain }, createOptions);
210
+ const { connectSmartAccount } = await Promise.resolve().then(() => require("./index.js"));
211
+ const [connectedAccount, connectedChain] = await connectSmartAccount({ ...lastConnectOptions, chain: newChain }, createOptions);
209
212
  // set the states
210
213
  account = connectedAccount;
211
214
  chain = connectedChain;
212
215
  emitter.emit("chainChanged", newChain);
213
216
  },
214
217
  };
215
- return _smartWallet;
216
218
  }
217
219
  //# sourceMappingURL=smart-wallet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"smart-wallet.js","sourceRoot":"","sources":["../../../../src/wallets/smart/smart-wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smart-wallet.js","sourceRoot":"","sources":["../../../../src/wallets/smart/smart-wallet.ts"],"names":[],"mappings":"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"}