@seedprotocol/publish 0.6.8 → 0.6.10

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 (278) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +1 -19
  3. package/dist/{chainConfig-3sSqEVQh.js → chainConfig-DWzoOtkS.js} +439 -419
  4. package/dist/chainConfig-DWzoOtkS.js.map +1 -0
  5. package/dist/config.d.ts +5 -11
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/ensureAutomationSessionKey-h3zOmDr5.js +84 -0
  8. package/dist/ensureAutomationSessionKey-h3zOmDr5.js.map +1 -0
  9. package/dist/{ensureModularPublishBootstrap-DGBKVGg5.js → ensureModularPublishBootstrap-BImiIFJe.js} +9 -10
  10. package/dist/{ensureModularPublishBootstrap-5HJDqJJM.js.map → ensureModularPublishBootstrap-BImiIFJe.js.map} +1 -1
  11. package/dist/{ensureSmartWalletThenPublish-D5GSZRyZ.js → ensureSmartWalletThenPublish-DuOYPJFd.js} +9 -10
  12. package/dist/{ensureSmartWalletThenPublish-D5GSZRyZ.js.map → ensureSmartWalletThenPublish-DuOYPJFd.js.map} +1 -1
  13. package/dist/errors.d.ts +9 -0
  14. package/dist/errors.d.ts.map +1 -1
  15. package/dist/helpers/abi/executor.d.ts +16 -7
  16. package/dist/helpers/abi/executor.d.ts.map +1 -1
  17. package/dist/helpers/abi/factory.d.ts +11 -0
  18. package/dist/helpers/abi/factory.d.ts.map +1 -1
  19. package/dist/helpers/abi/publisher.d.ts +7 -74
  20. package/dist/helpers/abi/publisher.d.ts.map +1 -1
  21. package/dist/helpers/abi/seedExecutorRouter.d.ts +9 -1
  22. package/dist/helpers/abi/seedExecutorRouter.d.ts.map +1 -1
  23. package/dist/helpers/adapters/thirdwebAccount.d.ts.map +1 -1
  24. package/dist/helpers/chainClient.d.ts +18 -2
  25. package/dist/helpers/chainClient.d.ts.map +1 -1
  26. package/dist/helpers/contracts/index.d.ts +15 -18
  27. package/dist/helpers/contracts/index.d.ts.map +1 -1
  28. package/dist/helpers/describeRevert.d.ts +3 -2
  29. package/dist/helpers/describeRevert.d.ts.map +1 -1
  30. package/dist/helpers/enrollPublishAutomation.d.ts +2 -2
  31. package/dist/helpers/enrollPublishAutomation.d.ts.map +1 -1
  32. package/dist/helpers/ensureAutomationSessionKey.d.ts.map +1 -1
  33. package/dist/helpers/ensureExecutorModule.d.ts +28 -5
  34. package/dist/helpers/ensureExecutorModule.d.ts.map +1 -1
  35. package/dist/helpers/executorModuleReadiness.d.ts +15 -1
  36. package/dist/helpers/executorModuleReadiness.d.ts.map +1 -1
  37. package/dist/helpers/gasLog.d.ts +8 -0
  38. package/dist/helpers/gasLog.d.ts.map +1 -0
  39. package/dist/helpers/seedPaymaster.d.ts +27 -0
  40. package/dist/helpers/seedPaymaster.d.ts.map +1 -0
  41. package/dist/helpers/thirdweb.d.ts.map +1 -1
  42. package/dist/index.d.ts +3 -4
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +316 -342
  45. package/dist/index.js.map +1 -1
  46. package/dist/{managedAccountAdmin-B64V1rlU.js → managedAccountAdmin-B4HkLWWE.js} +9 -10
  47. package/dist/{managedAccountAdmin-B64V1rlU.js.map → managedAccountAdmin-B4HkLWWE.js.map} +1 -1
  48. package/dist/{publishAuthorization-CxBkijU6.js → publishAuthorization-DgDI4zor.js} +1104 -1018
  49. package/dist/publishAuthorization-DgDI4zor.js.map +1 -0
  50. package/dist/{publishThirdwebClient-CQ29pzG2.js → publishThirdwebClient-CO18ST7C.js} +2 -2
  51. package/dist/{publishThirdwebClient-CQ29pzG2.js.map → publishThirdwebClient-CO18ST7C.js.map} +1 -1
  52. package/dist/{resolveRevokeAccount-CehU81k6.js → resolveRevokeAccount-DsNod8ti.js} +11 -11
  53. package/dist/{resolveRevokeAccount-B5iXpuRT.js.map → resolveRevokeAccount-DsNod8ti.js.map} +1 -1
  54. package/dist/thirdweb.d.ts +2 -1
  55. package/dist/thirdweb.d.ts.map +1 -1
  56. package/dist/thirdweb.js +155 -156
  57. package/dist/thirdweb.js.map +1 -1
  58. package/dist/{worker-2dUZSapK.js → worker-CN7zg73B.js} +2 -2
  59. package/dist/{worker-2dUZSapK.js.map → worker-CN7zg73B.js.map} +1 -1
  60. package/package.json +6 -6
  61. package/dist/chainConfig-3sSqEVQh.js.map +0 -1
  62. package/dist/chainConfig-3wlYarAG.js +0 -1433
  63. package/dist/chainConfig-3wlYarAG.js.map +0 -1
  64. package/dist/chainConfig-BRcsMopd.js +0 -1442
  65. package/dist/chainConfig-BRcsMopd.js.map +0 -1
  66. package/dist/chainConfig-BYm5OXpk.js +0 -1433
  67. package/dist/chainConfig-BYm5OXpk.js.map +0 -1
  68. package/dist/chainConfig-CfVGYAsY.js +0 -1311
  69. package/dist/chainConfig-CfVGYAsY.js.map +0 -1
  70. package/dist/chainConfig-DDA4YmAB.js +0 -1424
  71. package/dist/chainConfig-DDA4YmAB.js.map +0 -1
  72. package/dist/config-BA9la8B6.js +0 -941
  73. package/dist/config-BA9la8B6.js.map +0 -1
  74. package/dist/config-BqguD2Tt.js +0 -806
  75. package/dist/config-BqguD2Tt.js.map +0 -1
  76. package/dist/config-CPBd5C_b.js +0 -1201
  77. package/dist/config-CPBd5C_b.js.map +0 -1
  78. package/dist/config-DkIapO94.js +0 -955
  79. package/dist/config-DkIapO94.js.map +0 -1
  80. package/dist/config-EQZZNH9H.js +0 -955
  81. package/dist/config-EQZZNH9H.js.map +0 -1
  82. package/dist/config-qjpaJcBA.js +0 -947
  83. package/dist/config-qjpaJcBA.js.map +0 -1
  84. package/dist/deploy-BJYwLfz-.js +0 -15
  85. package/dist/deploy-BJYwLfz-.js.map +0 -1
  86. package/dist/enrollPublishAutomation-DYQMoylY.js +0 -3422
  87. package/dist/enrollPublishAutomation-DYQMoylY.js.map +0 -1
  88. package/dist/ensureAutomationSessionKey-BMHLKfjj.js +0 -85
  89. package/dist/ensureAutomationSessionKey-BMHLKfjj.js.map +0 -1
  90. package/dist/ensureAutomationSessionKey-BZ9_3FMW.js +0 -86
  91. package/dist/ensureAutomationSessionKey-BZ9_3FMW.js.map +0 -1
  92. package/dist/ensureAutomationSessionKey-Bq0PaTYE.js +0 -84
  93. package/dist/ensureAutomationSessionKey-Bq0PaTYE.js.map +0 -1
  94. package/dist/ensureAutomationSessionKey-C8D7BFjU.js +0 -85
  95. package/dist/ensureAutomationSessionKey-C8D7BFjU.js.map +0 -1
  96. package/dist/ensureAutomationSessionKey-CClLVX2w.js +0 -85
  97. package/dist/ensureAutomationSessionKey-CClLVX2w.js.map +0 -1
  98. package/dist/ensureAutomationSessionKey-CNNN1jBQ.js +0 -85
  99. package/dist/ensureAutomationSessionKey-CNNN1jBQ.js.map +0 -1
  100. package/dist/ensureAutomationSessionKey-D8Gki6U6.js +0 -85
  101. package/dist/ensureAutomationSessionKey-D8Gki6U6.js.map +0 -1
  102. package/dist/ensureAutomationSessionKey-DEH7nwUc.js +0 -86
  103. package/dist/ensureAutomationSessionKey-DEH7nwUc.js.map +0 -1
  104. package/dist/ensureAutomationSessionKey-DKriW4Hr.js +0 -85
  105. package/dist/ensureAutomationSessionKey-DKriW4Hr.js.map +0 -1
  106. package/dist/ensureAutomationSessionKey-Dhvbii2M.js +0 -86
  107. package/dist/ensureAutomationSessionKey-Dhvbii2M.js.map +0 -1
  108. package/dist/ensureAutomationSessionKey-Dyfk8qVp.js +0 -85
  109. package/dist/ensureAutomationSessionKey-Dyfk8qVp.js.map +0 -1
  110. package/dist/ensureModularPublishBootstrap-5HJDqJJM.js +0 -24
  111. package/dist/ensureModularPublishBootstrap-BW8jKN_A.js +0 -24
  112. package/dist/ensureModularPublishBootstrap-BW8jKN_A.js.map +0 -1
  113. package/dist/ensureModularPublishBootstrap-Btih5xbB.js +0 -129
  114. package/dist/ensureModularPublishBootstrap-Btih5xbB.js.map +0 -1
  115. package/dist/ensureModularPublishBootstrap-C8wdnH1P.js +0 -128
  116. package/dist/ensureModularPublishBootstrap-C8wdnH1P.js.map +0 -1
  117. package/dist/ensureModularPublishBootstrap-CI4U08Gc.js +0 -129
  118. package/dist/ensureModularPublishBootstrap-CI4U08Gc.js.map +0 -1
  119. package/dist/ensureModularPublishBootstrap-CcU-hXll.js +0 -128
  120. package/dist/ensureModularPublishBootstrap-CcU-hXll.js.map +0 -1
  121. package/dist/ensureModularPublishBootstrap-CdrykHAi.js +0 -24
  122. package/dist/ensureModularPublishBootstrap-CdrykHAi.js.map +0 -1
  123. package/dist/ensureModularPublishBootstrap-DGBKVGg5.js.map +0 -1
  124. package/dist/ensureModularPublishBootstrap-DaREOqSc.js +0 -129
  125. package/dist/ensureModularPublishBootstrap-DaREOqSc.js.map +0 -1
  126. package/dist/ensureModularPublishBootstrap-DxIG-LUP.js +0 -24
  127. package/dist/ensureModularPublishBootstrap-DxIG-LUP.js.map +0 -1
  128. package/dist/ensureModularPublishBootstrap-Jm1AAqBo.js +0 -127
  129. package/dist/ensureModularPublishBootstrap-Jm1AAqBo.js.map +0 -1
  130. package/dist/ensureSessionKey-D2Lq-56x.js +0 -363
  131. package/dist/ensureSessionKey-D2Lq-56x.js.map +0 -1
  132. package/dist/ensureSmartWalletThenPublish-BFPugsKJ.js +0 -48
  133. package/dist/ensureSmartWalletThenPublish-BFPugsKJ.js.map +0 -1
  134. package/dist/ensureSmartWalletThenPublish-BSYzckyS.js +0 -49
  135. package/dist/ensureSmartWalletThenPublish-BSYzckyS.js.map +0 -1
  136. package/dist/ensureSmartWalletThenPublish-Bf8FN1un.js +0 -49
  137. package/dist/ensureSmartWalletThenPublish-Bf8FN1un.js.map +0 -1
  138. package/dist/ensureSmartWalletThenPublish-Bl415Ss6.js +0 -48
  139. package/dist/ensureSmartWalletThenPublish-Bl415Ss6.js.map +0 -1
  140. package/dist/ensureSmartWalletThenPublish-Bmm5Fpat.js +0 -49
  141. package/dist/ensureSmartWalletThenPublish-Bmm5Fpat.js.map +0 -1
  142. package/dist/ensureSmartWalletThenPublish-CE7acryB.js +0 -49
  143. package/dist/ensureSmartWalletThenPublish-CE7acryB.js.map +0 -1
  144. package/dist/ensureSmartWalletThenPublish-DAomriGc.js +0 -48
  145. package/dist/ensureSmartWalletThenPublish-DAomriGc.js.map +0 -1
  146. package/dist/ensureSmartWalletThenPublish-DaZf3q5S.js +0 -48
  147. package/dist/ensureSmartWalletThenPublish-DaZf3q5S.js.map +0 -1
  148. package/dist/ensureSmartWalletThenPublish-ekb0xJRn.js +0 -48
  149. package/dist/ensureSmartWalletThenPublish-ekb0xJRn.js.map +0 -1
  150. package/dist/ensureSmartWalletThenPublish-v5fhvKxZ.js +0 -48
  151. package/dist/ensureSmartWalletThenPublish-v5fhvKxZ.js.map +0 -1
  152. package/dist/errors-Du3LNbJN.js +0 -70
  153. package/dist/errors-Du3LNbJN.js.map +0 -1
  154. package/dist/errors-PZAaDlkq.js +0 -79
  155. package/dist/errors-PZAaDlkq.js.map +0 -1
  156. package/dist/helpers/adapters/managedAccountTxSender.d.ts +0 -21
  157. package/dist/helpers/adapters/managedAccountTxSender.d.ts.map +0 -1
  158. package/dist/helpers/modularAccount/abi.d.ts +0 -173
  159. package/dist/helpers/modularAccount/abi.d.ts.map +0 -1
  160. package/dist/helpers/modularAccount/deploy.d.ts +0 -13
  161. package/dist/helpers/modularAccount/deploy.d.ts.map +0 -1
  162. package/dist/helpers/modularAccount/eip712.d.ts +0 -30
  163. package/dist/helpers/modularAccount/eip712.d.ts.map +0 -1
  164. package/dist/helpers/modularAccount/encode.d.ts +0 -16
  165. package/dist/helpers/modularAccount/encode.d.ts.map +0 -1
  166. package/dist/helpers/modularAccount/ensureModule.d.ts +0 -10
  167. package/dist/helpers/modularAccount/ensureModule.d.ts.map +0 -1
  168. package/dist/helpers/modularAccount/ensureSessionKey.d.ts +0 -25
  169. package/dist/helpers/modularAccount/ensureSessionKey.d.ts.map +0 -1
  170. package/dist/helpers/modularAccount/index.d.ts +0 -9
  171. package/dist/helpers/modularAccount/index.d.ts.map +0 -1
  172. package/dist/helpers/modularAccount/permissions.d.ts +0 -32
  173. package/dist/helpers/modularAccount/permissions.d.ts.map +0 -1
  174. package/dist/helpers/modularAccount/reads.d.ts +0 -28
  175. package/dist/helpers/modularAccount/reads.d.ts.map +0 -1
  176. package/dist/helpers/thirdwebEnrollPublishAutomation.d.ts +0 -31
  177. package/dist/helpers/thirdwebEnrollPublishAutomation.d.ts.map +0 -1
  178. package/dist/helpers/thirdwebModularBootstrap.d.ts +0 -8
  179. package/dist/helpers/thirdwebModularBootstrap.d.ts.map +0 -1
  180. package/dist/helpers/transformPayloadToIntegerIds.d.ts +0 -34
  181. package/dist/helpers/transformPayloadToIntegerIds.d.ts.map +0 -1
  182. package/dist/managedAccountAdmin-BVLGWpEb.js +0 -29
  183. package/dist/managedAccountAdmin-BVLGWpEb.js.map +0 -1
  184. package/dist/managedAccountAdmin-Bje6X8Ds.js +0 -29
  185. package/dist/managedAccountAdmin-Bje6X8Ds.js.map +0 -1
  186. package/dist/managedAccountAdmin-C84-IlQ9.js +0 -29
  187. package/dist/managedAccountAdmin-C84-IlQ9.js.map +0 -1
  188. package/dist/managedAccountAdmin-DhCRBoPX.js +0 -29
  189. package/dist/managedAccountAdmin-DhCRBoPX.js.map +0 -1
  190. package/dist/publishAuthorization-B0G1em4a.js +0 -3695
  191. package/dist/publishAuthorization-B0G1em4a.js.map +0 -1
  192. package/dist/publishAuthorization-B1BVVfp0.js +0 -3604
  193. package/dist/publishAuthorization-B1BVVfp0.js.map +0 -1
  194. package/dist/publishAuthorization-Bltn3y_K.js +0 -3599
  195. package/dist/publishAuthorization-Bltn3y_K.js.map +0 -1
  196. package/dist/publishAuthorization-By2Tt9kW.js +0 -3912
  197. package/dist/publishAuthorization-By2Tt9kW.js.map +0 -1
  198. package/dist/publishAuthorization-CSN2FsQk.js +0 -3479
  199. package/dist/publishAuthorization-CSN2FsQk.js.map +0 -1
  200. package/dist/publishAuthorization-CxBkijU6.js.map +0 -1
  201. package/dist/publishAuthorization-CxWY7lAQ.js +0 -3706
  202. package/dist/publishAuthorization-CxWY7lAQ.js.map +0 -1
  203. package/dist/publishAuthorization-DEriY_jm.js +0 -3687
  204. package/dist/publishAuthorization-DEriY_jm.js.map +0 -1
  205. package/dist/publishAuthorization-DfAQs1sN.js +0 -3707
  206. package/dist/publishAuthorization-DfAQs1sN.js.map +0 -1
  207. package/dist/publishAuthorization-DgdmgLTa.js +0 -3520
  208. package/dist/publishAuthorization-DgdmgLTa.js.map +0 -1
  209. package/dist/publishAuthorization-DqhhCAhd.js +0 -3652
  210. package/dist/publishAuthorization-DqhhCAhd.js.map +0 -1
  211. package/dist/publishThirdwebClient-BdgkcqM7.js +0 -18
  212. package/dist/publishThirdwebClient-BdgkcqM7.js.map +0 -1
  213. package/dist/publishThirdwebClient-BkmDN480.js +0 -18
  214. package/dist/publishThirdwebClient-BkmDN480.js.map +0 -1
  215. package/dist/publishThirdwebClient-BnDhP3N-.js +0 -18
  216. package/dist/publishThirdwebClient-BnDhP3N-.js.map +0 -1
  217. package/dist/publishThirdwebClient-CZIVmr9Z.js +0 -18
  218. package/dist/publishThirdwebClient-CZIVmr9Z.js.map +0 -1
  219. package/dist/publishThirdwebClient-DroRrOFQ.js +0 -18
  220. package/dist/publishThirdwebClient-DroRrOFQ.js.map +0 -1
  221. package/dist/publishThirdwebClient-DzXFjQ7L.js +0 -18
  222. package/dist/publishThirdwebClient-DzXFjQ7L.js.map +0 -1
  223. package/dist/publishThirdwebClient-Dzb2vcEs.js +0 -18
  224. package/dist/publishThirdwebClient-Dzb2vcEs.js.map +0 -1
  225. package/dist/publishThirdwebClient-i8P7fivi.js +0 -18
  226. package/dist/publishThirdwebClient-i8P7fivi.js.map +0 -1
  227. package/dist/publishWalletRegistry-Cugh691z.js +0 -37
  228. package/dist/publishWalletRegistry-Cugh691z.js.map +0 -1
  229. package/dist/resolveRevokeAccount-B5iXpuRT.js +0 -38
  230. package/dist/resolveRevokeAccount-B7ImSb4Y.js +0 -38
  231. package/dist/resolveRevokeAccount-B7ImSb4Y.js.map +0 -1
  232. package/dist/resolveRevokeAccount-BEhKQBTm.js +0 -38
  233. package/dist/resolveRevokeAccount-BEhKQBTm.js.map +0 -1
  234. package/dist/resolveRevokeAccount-BM1j2l5Q.js +0 -38
  235. package/dist/resolveRevokeAccount-BM1j2l5Q.js.map +0 -1
  236. package/dist/resolveRevokeAccount-BtVG0xxc.js +0 -38
  237. package/dist/resolveRevokeAccount-BtVG0xxc.js.map +0 -1
  238. package/dist/resolveRevokeAccount-CJZZdBcQ.js +0 -39
  239. package/dist/resolveRevokeAccount-CJZZdBcQ.js.map +0 -1
  240. package/dist/resolveRevokeAccount-CaIMuCee.js +0 -39
  241. package/dist/resolveRevokeAccount-CaIMuCee.js.map +0 -1
  242. package/dist/resolveRevokeAccount-CehU81k6.js.map +0 -1
  243. package/dist/resolveRevokeAccount-Cg4TQgnd.js +0 -38
  244. package/dist/resolveRevokeAccount-Cg4TQgnd.js.map +0 -1
  245. package/dist/resolveRevokeAccount-DHnxtEIj.js +0 -39
  246. package/dist/resolveRevokeAccount-DHnxtEIj.js.map +0 -1
  247. package/dist/resolveRevokeAccount-S-2WXkNh.js +0 -38
  248. package/dist/resolveRevokeAccount-S-2WXkNh.js.map +0 -1
  249. package/dist/resolveRevokeAccount-yWARIv9i.js +0 -38
  250. package/dist/resolveRevokeAccount-yWARIv9i.js.map +0 -1
  251. package/dist/seedSigner-CFzMD7Rb.js +0 -66
  252. package/dist/seedSigner-CFzMD7Rb.js.map +0 -1
  253. package/dist/thirdweb-BoksPRz3.js +0 -194
  254. package/dist/thirdweb-BoksPRz3.js.map +0 -1
  255. package/dist/thirdwebAccount-C2iOcp4_.js +0 -59
  256. package/dist/thirdwebAccount-C2iOcp4_.js.map +0 -1
  257. package/dist/worker-B1PcFPLi.js +0 -69
  258. package/dist/worker-B1PcFPLi.js.map +0 -1
  259. package/dist/worker-B8gN5WTx.js +0 -69
  260. package/dist/worker-B8gN5WTx.js.map +0 -1
  261. package/dist/worker-BCG1r0AS.js +0 -69
  262. package/dist/worker-BCG1r0AS.js.map +0 -1
  263. package/dist/worker-BgErCNTb.js +0 -69
  264. package/dist/worker-BgErCNTb.js.map +0 -1
  265. package/dist/worker-C07rPV2G.js +0 -69
  266. package/dist/worker-C07rPV2G.js.map +0 -1
  267. package/dist/worker-C9Za_dlQ.js +0 -69
  268. package/dist/worker-C9Za_dlQ.js.map +0 -1
  269. package/dist/worker-CEgulQnm.js +0 -69
  270. package/dist/worker-CEgulQnm.js.map +0 -1
  271. package/dist/worker-C_TL94He.js +0 -69
  272. package/dist/worker-C_TL94He.js.map +0 -1
  273. package/dist/worker-DBC_g-3I.js +0 -69
  274. package/dist/worker-DBC_g-3I.js.map +0 -1
  275. package/dist/worker-DypHzXgH.js +0 -69
  276. package/dist/worker-DypHzXgH.js.map +0 -1
  277. package/dist/worker-ZL4Wg19t.js +0 -69
  278. package/dist/worker-ZL4Wg19t.js.map +0 -1
@@ -1,129 +0,0 @@
1
- import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
- import { H as t, J as n, K as r, q as i, r as a, tt as o } from "./config-CPBd5C_b.js";
3
- import { a as s, n as c, r as l } from "./errors-Du3LNbJN.js";
4
- import { N as u, P as d, v as f } from "./publishAuthorization-DqhhCAhd.js";
5
- import { t as p } from "./publishThirdwebClient-DzXFjQ7L.js";
6
- import { deploySmartAccount as m, getContract as h, sendTransaction as g } from "thirdweb";
7
- import { optimismSepolia as _ } from "thirdweb/chains";
8
- import { addSessionKey as v, shouldUpdateSessionKey as y } from "thirdweb/extensions/erc4337";
9
- //#region src/helpers/ensureEip7702ModularAccountReady.ts
10
- var b = "Modular (EIP-7702) wallet is not connected. Sign in with the same method and try again.", x = "Your modular account is not upgraded to an EIP-7702 smart account on Optimism Sepolia yet. Enable autoDeployEip7702ModularAccount in publish config or complete wallet setup, then retry.", S = "Automatic EIP-7702 smart account setup failed on Optimism Sepolia. Retry or reconnect your wallet.", C = "EIP-7702 upgrade was sent but on-chain bytecode was not detected yet. Wait a moment and retry.", w = 5;
11
- async function T() {
12
- let { autoDeployEip7702ModularAccount: e } = a(), t = d();
13
- await t.autoConnect({
14
- client: p(),
15
- chain: _
16
- });
17
- let n = t.getAccount();
18
- if (!n) throw new c(b, "EIP7702_MODULAR_ACCOUNT_UNAVAILABLE");
19
- let o = p(), s = h({
20
- client: o,
21
- chain: _,
22
- address: n.address
23
- });
24
- if (!await r(n.address)) {
25
- if (!e) throw new c(x, "EIP7702_MODULAR_NOT_UPGRADED", n.address);
26
- try {
27
- await m({
28
- smartAccount: n,
29
- chain: _,
30
- client: o,
31
- accountContract: s
32
- });
33
- } catch (e) {
34
- if (await i(n.address, w)) return;
35
- throw new c(S, "EIP7702_MODULAR_DEPLOY_FAILED", n.address, e);
36
- }
37
- if (!await i(n.address, w)) throw new c(C, "EIP7702_MODULAR_NOT_CONFIRMED", n.address);
38
- }
39
- }
40
- //#endregion
41
- //#region src/helpers/defaultApprovedTargetsForModularPublish.ts
42
- function E(e) {
43
- let t = /* @__PURE__ */ new Set();
44
- for (let n of e) {
45
- let e = n.trim().toLowerCase();
46
- e.startsWith("0x") && e.length === 42 && t.add(e);
47
- }
48
- return [...t].sort().map((e) => e);
49
- }
50
- function D(e) {
51
- let t = a(), n = [e, o];
52
- return t.modularAccountModuleContract?.trim() && n.push(t.modularAccountModuleContract.trim()), E(n);
53
- }
54
- //#endregion
55
- //#region src/helpers/ensureManagedSignerSessionKey.ts
56
- var O = "Could not connect the managed publishing account to authorize the modular signer on Optimism Sepolia. Reconnect and try again.", k = "Could not authorize the modular wallet as a session signer on your publishing account on Optimism Sepolia.";
57
- async function A(e) {
58
- let { managedAddress: r, signerAddress: i } = e, a = u();
59
- await a.autoConnect({
60
- client: p(),
61
- chain: _
62
- });
63
- let o = a.getAccount();
64
- if (!o) throw new l(O, "MODULAR_SIGNER_ACTIVATION_FAILED", r);
65
- let s = h({
66
- client: p(),
67
- chain: _,
68
- address: r
69
- }), c = {
70
- approvedTargets: D(r),
71
- nativeTokenLimitPerTransaction: 0
72
- }, d = !1;
73
- try {
74
- d = await y({
75
- accountContract: s,
76
- sessionKeyAddress: i,
77
- newPermissions: c
78
- });
79
- } catch (e) {
80
- throw new l(k, "MODULAR_SIGNER_ACTIVATION_FAILED", r, e);
81
- }
82
- if (d) try {
83
- let e = v({
84
- contract: s,
85
- account: o,
86
- sessionKeyAddress: i,
87
- permissions: c
88
- }), t = await g({
89
- account: o,
90
- transaction: e
91
- });
92
- await n(t.transactionHash);
93
- } catch (e) {
94
- throw new l(k, "MODULAR_SIGNER_ACTIVATION_FAILED", r, e);
95
- }
96
- let f = !1;
97
- try {
98
- f = await t(r, i);
99
- } catch (e) {
100
- throw new l(k, "MODULAR_SIGNER_ACTIVATION_FAILED", r, e);
101
- }
102
- if (!f) throw new l(k, "MODULAR_SIGNER_ACTIVATION_FAILED", r);
103
- }
104
- //#endregion
105
- //#region src/helpers/ensureModularPublishBootstrap.ts
106
- var j = /* @__PURE__ */ e({ ensureModularPublishBootstrap: () => M });
107
- async function M(e) {
108
- let t = d();
109
- await t.autoConnect({
110
- client: p(),
111
- chain: _
112
- });
113
- let n = t.getAccount();
114
- if (!n) throw Error("Failed to get modular account");
115
- try {
116
- await A({
117
- managedAddress: e,
118
- signerAddress: n.address
119
- });
120
- } catch (e) {
121
- if (!a().autoDeployEip7702ModularAccount || !s(e)) throw e;
122
- await T();
123
- }
124
- return await f(e, (await import("./config-CPBd5C_b.js").then((e) => e.c)).fromThirdwebAccount(n)), n;
125
- }
126
- //#endregion
127
- export { T as a, D as i, j as n, A as r, M as t };
128
-
129
- //# sourceMappingURL=ensureModularPublishBootstrap-Btih5xbB.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ensureModularPublishBootstrap-Btih5xbB.js","names":[],"sources":["../src/helpers/ensureEip7702ModularAccountReady.ts","../src/helpers/defaultApprovedTargetsForModularPublish.ts","../src/helpers/ensureManagedSignerSessionKey.ts","../src/helpers/ensureModularPublishBootstrap.ts"],"sourcesContent":["import { deploySmartAccount, getContract } from 'thirdweb'\nimport { optimismSepolia } from 'thirdweb/chains'\nimport { getPublishConfig } from '../config'\nimport { Eip7702ModularAccountPublishError } from '../errors'\nimport { isContractDeployed, pollSmartWalletDeployed } from './chainClient'\nimport { getClient, getModularAccountWallet } from './thirdweb'\n\nconst MSG_NO_ACCOUNT =\n 'Modular (EIP-7702) wallet is not connected. Sign in with the same method and try again.'\nconst MSG_NOT_UPGRADED =\n 'Your modular account is not upgraded to an EIP-7702 smart account on Optimism Sepolia yet. Enable autoDeployEip7702ModularAccount in publish config or complete wallet setup, then retry.'\nconst MSG_DEPLOY_FAILED =\n 'Automatic EIP-7702 smart account setup failed on Optimism Sepolia. Retry or reconnect your wallet.'\nconst MSG_NOT_CONFIRMED =\n 'EIP-7702 upgrade was sent but on-chain bytecode was not detected yet. Wait a moment and retry.'\n\nconst DEPLOY_POLL_ATTEMPTS = 5\n\n/**\n * Ensures the Thirdweb in-app modular wallet (EIP-7702) has non-empty bytecode at its address\n * on Optimism Sepolia. deploySmartAccount remains Thirdweb; bytecode checks use viem.\n */\nexport async function ensureEip7702ModularAccountReady(): Promise<void> {\n const { autoDeployEip7702ModularAccount } = getPublishConfig()\n const modularAccountWallet = getModularAccountWallet()\n await modularAccountWallet.autoConnect({ client: getClient(), chain: optimismSepolia })\n const modularAccount = modularAccountWallet.getAccount()\n if (!modularAccount) {\n throw new Eip7702ModularAccountPublishError(MSG_NO_ACCOUNT, 'EIP7702_MODULAR_ACCOUNT_UNAVAILABLE')\n }\n\n const client = getClient()\n const accountContract = getContract({\n client,\n chain: optimismSepolia,\n address: modularAccount.address,\n })\n\n if (await isContractDeployed(modularAccount.address)) {\n return\n }\n\n if (!autoDeployEip7702ModularAccount) {\n throw new Eip7702ModularAccountPublishError(\n MSG_NOT_UPGRADED,\n 'EIP7702_MODULAR_NOT_UPGRADED',\n modularAccount.address,\n )\n }\n\n try {\n await deploySmartAccount({\n smartAccount: modularAccount,\n chain: optimismSepolia,\n client,\n accountContract,\n })\n } catch (cause) {\n if (await pollSmartWalletDeployed(modularAccount.address, DEPLOY_POLL_ATTEMPTS)) {\n return\n }\n throw new Eip7702ModularAccountPublishError(\n MSG_DEPLOY_FAILED,\n 'EIP7702_MODULAR_DEPLOY_FAILED',\n modularAccount.address,\n cause,\n )\n }\n\n if (!(await pollSmartWalletDeployed(modularAccount.address, DEPLOY_POLL_ATTEMPTS))) {\n throw new Eip7702ModularAccountPublishError(\n MSG_NOT_CONFIRMED,\n 'EIP7702_MODULAR_NOT_CONFIRMED',\n modularAccount.address,\n )\n }\n}\n","import { getPublishConfig } from '../config'\nimport { EAS_CONTRACT_ADDRESS } from './constants'\n\nfunction uniqueAddressesLower(addresses: string[]): `0x${string}`[] {\n const set = new Set<string>()\n for (const a of addresses) {\n const t = a.trim().toLowerCase()\n if (t.startsWith('0x') && t.length === 42) set.add(t)\n }\n return [...set].sort().map((x) => x as `0x${string}`)\n}\n\n/** Allowlisted call targets for modular session signers: managed account, EAS, optional executor module. */\nexport function defaultApprovedTargetsForModularPublish(managedAddress: string): `0x${string}`[] {\n const cfg = getPublishConfig()\n const extra: string[] = [managedAddress, EAS_CONTRACT_ADDRESS]\n if (cfg.modularAccountModuleContract?.trim()) {\n extra.push(cfg.modularAccountModuleContract.trim())\n }\n return uniqueAddressesLower(extra)\n}\n","import { getContract, sendTransaction } from 'thirdweb'\nimport { addSessionKey, shouldUpdateSessionKey } from 'thirdweb/extensions/erc4337'\nimport { optimismSepolia } from 'thirdweb/chains'\nimport type { Address } from 'viem'\nimport { ManagedAccountPublishError } from '../errors'\nimport { waitForPublishReceipt } from './chainClient'\nimport { readIsActiveSigner } from './contracts'\nimport { defaultApprovedTargetsForModularPublish } from './defaultApprovedTargetsForModularPublish'\nimport { getClient, getManagedAccountWallet } from './thirdweb'\n\nconst MSG_UNAVAILABLE =\n 'Could not connect the managed publishing account to authorize the modular signer on Optimism Sepolia. Reconnect and try again.'\nconst MSG_ACTIVATION_FAILED =\n 'Could not authorize the modular wallet as a session signer on your publishing account on Optimism Sepolia.'\n\n/**\n * Ensures the modular (EIP-7702) wallet is an active session signer on the ManagedAccount.\n * If permissions are missing or stale, sends `addSessionKey` signed by the managed EIP-4337 wallet.\n * Session-key AA extensions remain on Thirdweb; verification uses viem.\n */\nexport async function ensureManagedSignerSessionKey(params: {\n managedAddress: string\n signerAddress: string\n}): Promise<void> {\n const { managedAddress, signerAddress } = params\n const managedWallet = getManagedAccountWallet()\n await managedWallet.autoConnect({ client: getClient(), chain: optimismSepolia })\n const managedAccount = managedWallet.getAccount()\n if (!managedAccount) {\n throw new ManagedAccountPublishError(\n MSG_UNAVAILABLE,\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n )\n }\n\n const accountContract = getContract({\n client: getClient(),\n chain: optimismSepolia,\n address: managedAddress,\n })\n const permissions = {\n approvedTargets: defaultApprovedTargetsForModularPublish(managedAddress),\n nativeTokenLimitPerTransaction: 0,\n }\n\n let shouldUpdate = false\n try {\n shouldUpdate = await shouldUpdateSessionKey({\n accountContract,\n sessionKeyAddress: signerAddress,\n newPermissions: permissions,\n })\n } catch (cause) {\n throw new ManagedAccountPublishError(\n MSG_ACTIVATION_FAILED,\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n cause,\n )\n }\n\n if (shouldUpdate) {\n try {\n const tx = addSessionKey({\n contract: accountContract,\n account: managedAccount,\n sessionKeyAddress: signerAddress,\n permissions,\n })\n const result = await sendTransaction({ account: managedAccount, transaction: tx })\n await waitForPublishReceipt(result.transactionHash as `0x${string}`)\n } catch (cause) {\n throw new ManagedAccountPublishError(\n MSG_ACTIVATION_FAILED,\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n cause,\n )\n }\n }\n\n let active = false\n try {\n active = await readIsActiveSigner(managedAddress as Address, signerAddress as Address)\n } catch (cause) {\n throw new ManagedAccountPublishError(\n MSG_ACTIVATION_FAILED,\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n cause,\n )\n }\n\n if (!active) {\n throw new ManagedAccountPublishError(\n MSG_ACTIVATION_FAILED,\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n )\n }\n}\n","import type { Account } from 'thirdweb/wallets'\nimport { optimismSepolia } from 'thirdweb/chains'\nimport { getPublishConfig } from '../config'\nimport { isManagedAccountPublishError } from '../errors'\nimport { ensureEip7702ModularAccountReady } from './ensureEip7702ModularAccountReady'\nimport { ensureManagedAccountEasConfigured } from './ensureManagedAccountEasConfigured'\nimport { ensureManagedSignerSessionKey } from './ensureManagedSignerSessionKey'\nimport { getClient, getModularAccountWallet } from './thirdweb'\n\n/**\n * One-time modular publish bootstrap before `multiPublish`:\n * session signer on managed account → EAS pointer → optional EIP-7702 fallback.\n */\nexport async function ensureModularPublishBootstrap(managedAddress: string): Promise<Account> {\n const modularAccountWallet = getModularAccountWallet()\n await modularAccountWallet.autoConnect({ client: getClient(), chain: optimismSepolia })\n const modularAccount = modularAccountWallet.getAccount()\n if (!modularAccount) {\n throw new Error('Failed to get modular account')\n }\n\n try {\n await ensureManagedSignerSessionKey({\n managedAddress,\n signerAddress: modularAccount.address,\n })\n } catch (cause) {\n if (!getPublishConfig().autoDeployEip7702ModularAccount) {\n throw cause\n }\n if (!isManagedAccountPublishError(cause)) {\n throw cause\n }\n await ensureEip7702ModularAccountReady()\n }\n\n await ensureManagedAccountEasConfigured(managedAddress, (await import('./adapters/thirdwebAccount')).fromThirdwebAccount(modularAccount))\n return modularAccount\n}\n"],"mappings":"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"}
@@ -1,128 +0,0 @@
1
- import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
- import { G as t, U as n, W as r, Y as i, r as a, z as o } from "./config-BA9la8B6.js";
3
- import { a as s, n as c, r as l } from "./errors-Du3LNbJN.js";
4
- import { D as u, M as d, j as f, v as p } from "./publishAuthorization-DgdmgLTa.js";
5
- import { deploySmartAccount as m, getContract as h, sendTransaction as g } from "thirdweb";
6
- import { optimismSepolia as _ } from "thirdweb/chains";
7
- import { addSessionKey as v, shouldUpdateSessionKey as y } from "thirdweb/extensions/erc4337";
8
- //#region src/helpers/ensureEip7702ModularAccountReady.ts
9
- var b = "Modular (EIP-7702) wallet is not connected. Sign in with the same method and try again.", x = "Your modular account is not upgraded to an EIP-7702 smart account on Optimism Sepolia yet. Enable autoDeployEip7702ModularAccount in publish config or complete wallet setup, then retry.", S = "Automatic EIP-7702 smart account setup failed on Optimism Sepolia. Retry or reconnect your wallet.", C = "EIP-7702 upgrade was sent but on-chain bytecode was not detected yet. Wait a moment and retry.", w = 5;
10
- async function T() {
11
- let { autoDeployEip7702ModularAccount: e } = a(), t = d();
12
- await t.autoConnect({
13
- client: u(),
14
- chain: _
15
- });
16
- let i = t.getAccount();
17
- if (!i) throw new c(b, "EIP7702_MODULAR_ACCOUNT_UNAVAILABLE");
18
- let o = u(), s = h({
19
- client: o,
20
- chain: _,
21
- address: i.address
22
- });
23
- if (!await n(i.address)) {
24
- if (!e) throw new c(x, "EIP7702_MODULAR_NOT_UPGRADED", i.address);
25
- try {
26
- await m({
27
- smartAccount: i,
28
- chain: _,
29
- client: o,
30
- accountContract: s
31
- });
32
- } catch (e) {
33
- if (await r(i.address, w)) return;
34
- throw new c(S, "EIP7702_MODULAR_DEPLOY_FAILED", i.address, e);
35
- }
36
- if (!await r(i.address, w)) throw new c(C, "EIP7702_MODULAR_NOT_CONFIRMED", i.address);
37
- }
38
- }
39
- //#endregion
40
- //#region src/helpers/defaultApprovedTargetsForModularPublish.ts
41
- function E(e) {
42
- let t = /* @__PURE__ */ new Set();
43
- for (let n of e) {
44
- let e = n.trim().toLowerCase();
45
- e.startsWith("0x") && e.length === 42 && t.add(e);
46
- }
47
- return [...t].sort().map((e) => e);
48
- }
49
- function D(e) {
50
- let t = a(), n = [e, i];
51
- return t.modularAccountModuleContract?.trim() && n.push(t.modularAccountModuleContract.trim()), E(n);
52
- }
53
- //#endregion
54
- //#region src/helpers/ensureManagedSignerSessionKey.ts
55
- var O = "Could not connect the managed publishing account to authorize the modular signer on Optimism Sepolia. Reconnect and try again.", k = "Could not authorize the modular wallet as a session signer on your publishing account on Optimism Sepolia.";
56
- async function A(e) {
57
- let { managedAddress: n, signerAddress: r } = e, i = f();
58
- await i.autoConnect({
59
- client: u(),
60
- chain: _
61
- });
62
- let a = i.getAccount();
63
- if (!a) throw new l(O, "MODULAR_SIGNER_ACTIVATION_FAILED", n);
64
- let s = h({
65
- client: u(),
66
- chain: _,
67
- address: n
68
- }), c = {
69
- approvedTargets: D(n),
70
- nativeTokenLimitPerTransaction: 0
71
- }, d = !1;
72
- try {
73
- d = await y({
74
- accountContract: s,
75
- sessionKeyAddress: r,
76
- newPermissions: c
77
- });
78
- } catch (e) {
79
- throw new l(k, "MODULAR_SIGNER_ACTIVATION_FAILED", n, e);
80
- }
81
- if (d) try {
82
- let e = v({
83
- contract: s,
84
- account: a,
85
- sessionKeyAddress: r,
86
- permissions: c
87
- }), n = await g({
88
- account: a,
89
- transaction: e
90
- });
91
- await t(n.transactionHash);
92
- } catch (e) {
93
- throw new l(k, "MODULAR_SIGNER_ACTIVATION_FAILED", n, e);
94
- }
95
- let p = !1;
96
- try {
97
- p = await o(n, r);
98
- } catch (e) {
99
- throw new l(k, "MODULAR_SIGNER_ACTIVATION_FAILED", n, e);
100
- }
101
- if (!p) throw new l(k, "MODULAR_SIGNER_ACTIVATION_FAILED", n);
102
- }
103
- //#endregion
104
- //#region src/helpers/ensureModularPublishBootstrap.ts
105
- var j = /* @__PURE__ */ e({ ensureModularPublishBootstrap: () => M });
106
- async function M(e) {
107
- let t = d();
108
- await t.autoConnect({
109
- client: u(),
110
- chain: _
111
- });
112
- let n = t.getAccount();
113
- if (!n) throw Error("Failed to get modular account");
114
- try {
115
- await A({
116
- managedAddress: e,
117
- signerAddress: n.address
118
- });
119
- } catch (e) {
120
- if (!a().autoDeployEip7702ModularAccount || !s(e)) throw e;
121
- await T();
122
- }
123
- return await p(e, (await import("./config-BA9la8B6.js").then((e) => e.c)).fromThirdwebAccount(n)), n;
124
- }
125
- //#endregion
126
- export { T as a, D as i, j as n, A as r, M as t };
127
-
128
- //# sourceMappingURL=ensureModularPublishBootstrap-C8wdnH1P.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ensureModularPublishBootstrap-C8wdnH1P.js","names":[],"sources":["../src/helpers/ensureEip7702ModularAccountReady.ts","../src/helpers/defaultApprovedTargetsForModularPublish.ts","../src/helpers/ensureManagedSignerSessionKey.ts","../src/helpers/ensureModularPublishBootstrap.ts"],"sourcesContent":["import { deploySmartAccount, getContract } from 'thirdweb'\nimport { optimismSepolia } from 'thirdweb/chains'\nimport { getPublishConfig } from '../config'\nimport { Eip7702ModularAccountPublishError } from '../errors'\nimport { isContractDeployed, pollSmartWalletDeployed } from './chainClient'\nimport { getClient, getModularAccountWallet } from './thirdweb'\n\nconst MSG_NO_ACCOUNT =\n 'Modular (EIP-7702) wallet is not connected. Sign in with the same method and try again.'\nconst MSG_NOT_UPGRADED =\n 'Your modular account is not upgraded to an EIP-7702 smart account on Optimism Sepolia yet. Enable autoDeployEip7702ModularAccount in publish config or complete wallet setup, then retry.'\nconst MSG_DEPLOY_FAILED =\n 'Automatic EIP-7702 smart account setup failed on Optimism Sepolia. Retry or reconnect your wallet.'\nconst MSG_NOT_CONFIRMED =\n 'EIP-7702 upgrade was sent but on-chain bytecode was not detected yet. Wait a moment and retry.'\n\nconst DEPLOY_POLL_ATTEMPTS = 5\n\n/**\n * Ensures the Thirdweb in-app modular wallet (EIP-7702) has non-empty bytecode at its address\n * on Optimism Sepolia. deploySmartAccount remains Thirdweb; bytecode checks use viem.\n */\nexport async function ensureEip7702ModularAccountReady(): Promise<void> {\n const { autoDeployEip7702ModularAccount } = getPublishConfig()\n const modularAccountWallet = getModularAccountWallet()\n await modularAccountWallet.autoConnect({ client: getClient(), chain: optimismSepolia })\n const modularAccount = modularAccountWallet.getAccount()\n if (!modularAccount) {\n throw new Eip7702ModularAccountPublishError(MSG_NO_ACCOUNT, 'EIP7702_MODULAR_ACCOUNT_UNAVAILABLE')\n }\n\n const client = getClient()\n const accountContract = getContract({\n client,\n chain: optimismSepolia,\n address: modularAccount.address,\n })\n\n if (await isContractDeployed(modularAccount.address)) {\n return\n }\n\n if (!autoDeployEip7702ModularAccount) {\n throw new Eip7702ModularAccountPublishError(\n MSG_NOT_UPGRADED,\n 'EIP7702_MODULAR_NOT_UPGRADED',\n modularAccount.address,\n )\n }\n\n try {\n await deploySmartAccount({\n smartAccount: modularAccount,\n chain: optimismSepolia,\n client,\n accountContract,\n })\n } catch (cause) {\n if (await pollSmartWalletDeployed(modularAccount.address, DEPLOY_POLL_ATTEMPTS)) {\n return\n }\n throw new Eip7702ModularAccountPublishError(\n MSG_DEPLOY_FAILED,\n 'EIP7702_MODULAR_DEPLOY_FAILED',\n modularAccount.address,\n cause,\n )\n }\n\n if (!(await pollSmartWalletDeployed(modularAccount.address, DEPLOY_POLL_ATTEMPTS))) {\n throw new Eip7702ModularAccountPublishError(\n MSG_NOT_CONFIRMED,\n 'EIP7702_MODULAR_NOT_CONFIRMED',\n modularAccount.address,\n )\n }\n}\n","import { getPublishConfig } from '../config'\nimport { EAS_CONTRACT_ADDRESS } from './constants'\n\nfunction uniqueAddressesLower(addresses: string[]): `0x${string}`[] {\n const set = new Set<string>()\n for (const a of addresses) {\n const t = a.trim().toLowerCase()\n if (t.startsWith('0x') && t.length === 42) set.add(t)\n }\n return [...set].sort().map((x) => x as `0x${string}`)\n}\n\n/** Allowlisted call targets for modular session signers: managed account, EAS, optional executor module. */\nexport function defaultApprovedTargetsForModularPublish(managedAddress: string): `0x${string}`[] {\n const cfg = getPublishConfig()\n const extra: string[] = [managedAddress, EAS_CONTRACT_ADDRESS]\n if (cfg.modularAccountModuleContract?.trim()) {\n extra.push(cfg.modularAccountModuleContract.trim())\n }\n return uniqueAddressesLower(extra)\n}\n","import { getContract, sendTransaction } from 'thirdweb'\nimport { addSessionKey, shouldUpdateSessionKey } from 'thirdweb/extensions/erc4337'\nimport { optimismSepolia } from 'thirdweb/chains'\nimport type { Address } from 'viem'\nimport { ManagedAccountPublishError } from '../errors'\nimport { waitForPublishReceipt } from './chainClient'\nimport { readIsActiveSigner } from './contracts'\nimport { defaultApprovedTargetsForModularPublish } from './defaultApprovedTargetsForModularPublish'\nimport { getClient, getManagedAccountWallet } from './thirdweb'\n\nconst MSG_UNAVAILABLE =\n 'Could not connect the managed publishing account to authorize the modular signer on Optimism Sepolia. Reconnect and try again.'\nconst MSG_ACTIVATION_FAILED =\n 'Could not authorize the modular wallet as a session signer on your publishing account on Optimism Sepolia.'\n\n/**\n * Ensures the modular (EIP-7702) wallet is an active session signer on the ManagedAccount.\n * If permissions are missing or stale, sends `addSessionKey` signed by the managed EIP-4337 wallet.\n * Session-key AA extensions remain on Thirdweb; verification uses viem.\n */\nexport async function ensureManagedSignerSessionKey(params: {\n managedAddress: string\n signerAddress: string\n}): Promise<void> {\n const { managedAddress, signerAddress } = params\n const managedWallet = getManagedAccountWallet()\n await managedWallet.autoConnect({ client: getClient(), chain: optimismSepolia })\n const managedAccount = managedWallet.getAccount()\n if (!managedAccount) {\n throw new ManagedAccountPublishError(\n MSG_UNAVAILABLE,\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n )\n }\n\n const accountContract = getContract({\n client: getClient(),\n chain: optimismSepolia,\n address: managedAddress,\n })\n const permissions = {\n approvedTargets: defaultApprovedTargetsForModularPublish(managedAddress),\n nativeTokenLimitPerTransaction: 0,\n }\n\n let shouldUpdate = false\n try {\n shouldUpdate = await shouldUpdateSessionKey({\n accountContract,\n sessionKeyAddress: signerAddress,\n newPermissions: permissions,\n })\n } catch (cause) {\n throw new ManagedAccountPublishError(\n MSG_ACTIVATION_FAILED,\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n cause,\n )\n }\n\n if (shouldUpdate) {\n try {\n const tx = addSessionKey({\n contract: accountContract,\n account: managedAccount,\n sessionKeyAddress: signerAddress,\n permissions,\n })\n const result = await sendTransaction({ account: managedAccount, transaction: tx })\n await waitForPublishReceipt(result.transactionHash as `0x${string}`)\n } catch (cause) {\n throw new ManagedAccountPublishError(\n MSG_ACTIVATION_FAILED,\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n cause,\n )\n }\n }\n\n let active = false\n try {\n active = await readIsActiveSigner(managedAddress as Address, signerAddress as Address)\n } catch (cause) {\n throw new ManagedAccountPublishError(\n MSG_ACTIVATION_FAILED,\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n cause,\n )\n }\n\n if (!active) {\n throw new ManagedAccountPublishError(\n MSG_ACTIVATION_FAILED,\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n )\n }\n}\n","import type { Account } from 'thirdweb/wallets'\nimport { optimismSepolia } from 'thirdweb/chains'\nimport { getPublishConfig } from '../config'\nimport { isManagedAccountPublishError } from '../errors'\nimport { ensureEip7702ModularAccountReady } from './ensureEip7702ModularAccountReady'\nimport { ensureManagedAccountEasConfigured } from './ensureManagedAccountEasConfigured'\nimport { ensureManagedSignerSessionKey } from './ensureManagedSignerSessionKey'\nimport { getClient, getModularAccountWallet } from './thirdweb'\n\n/**\n * One-time modular publish bootstrap before `multiPublish`:\n * session signer on managed account → EAS pointer → optional EIP-7702 fallback.\n */\nexport async function ensureModularPublishBootstrap(managedAddress: string): Promise<Account> {\n const modularAccountWallet = getModularAccountWallet()\n await modularAccountWallet.autoConnect({ client: getClient(), chain: optimismSepolia })\n const modularAccount = modularAccountWallet.getAccount()\n if (!modularAccount) {\n throw new Error('Failed to get modular account')\n }\n\n try {\n await ensureManagedSignerSessionKey({\n managedAddress,\n signerAddress: modularAccount.address,\n })\n } catch (cause) {\n if (!getPublishConfig().autoDeployEip7702ModularAccount) {\n throw cause\n }\n if (!isManagedAccountPublishError(cause)) {\n throw cause\n }\n await ensureEip7702ModularAccountReady()\n }\n\n await ensureManagedAccountEasConfigured(managedAddress, (await import('./adapters/thirdwebAccount')).fromThirdwebAccount(modularAccount))\n return modularAccount\n}\n"],"mappings":"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"}
@@ -1,129 +0,0 @@
1
- import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
- import { G as t, U as n, W as r, Y as i, r as a, z as o } from "./config-EQZZNH9H.js";
3
- import { a as s, n as c, r as l } from "./errors-Du3LNbJN.js";
4
- import { A as u, j as d, v as f } from "./publishAuthorization-Bltn3y_K.js";
5
- import { t as p } from "./publishThirdwebClient-CZIVmr9Z.js";
6
- import { deploySmartAccount as m, getContract as h, sendTransaction as g } from "thirdweb";
7
- import { optimismSepolia as _ } from "thirdweb/chains";
8
- import { addSessionKey as v, shouldUpdateSessionKey as y } from "thirdweb/extensions/erc4337";
9
- //#region src/helpers/ensureEip7702ModularAccountReady.ts
10
- var b = "Modular (EIP-7702) wallet is not connected. Sign in with the same method and try again.", x = "Your modular account is not upgraded to an EIP-7702 smart account on Optimism Sepolia yet. Enable autoDeployEip7702ModularAccount in publish config or complete wallet setup, then retry.", S = "Automatic EIP-7702 smart account setup failed on Optimism Sepolia. Retry or reconnect your wallet.", C = "EIP-7702 upgrade was sent but on-chain bytecode was not detected yet. Wait a moment and retry.", w = 5;
11
- async function T() {
12
- let { autoDeployEip7702ModularAccount: e } = a(), t = d();
13
- await t.autoConnect({
14
- client: p(),
15
- chain: _
16
- });
17
- let i = t.getAccount();
18
- if (!i) throw new c(b, "EIP7702_MODULAR_ACCOUNT_UNAVAILABLE");
19
- let o = p(), s = h({
20
- client: o,
21
- chain: _,
22
- address: i.address
23
- });
24
- if (!await n(i.address)) {
25
- if (!e) throw new c(x, "EIP7702_MODULAR_NOT_UPGRADED", i.address);
26
- try {
27
- await m({
28
- smartAccount: i,
29
- chain: _,
30
- client: o,
31
- accountContract: s
32
- });
33
- } catch (e) {
34
- if (await r(i.address, w)) return;
35
- throw new c(S, "EIP7702_MODULAR_DEPLOY_FAILED", i.address, e);
36
- }
37
- if (!await r(i.address, w)) throw new c(C, "EIP7702_MODULAR_NOT_CONFIRMED", i.address);
38
- }
39
- }
40
- //#endregion
41
- //#region src/helpers/defaultApprovedTargetsForModularPublish.ts
42
- function E(e) {
43
- let t = /* @__PURE__ */ new Set();
44
- for (let n of e) {
45
- let e = n.trim().toLowerCase();
46
- e.startsWith("0x") && e.length === 42 && t.add(e);
47
- }
48
- return [...t].sort().map((e) => e);
49
- }
50
- function D(e) {
51
- let t = a(), n = [e, i];
52
- return t.modularAccountModuleContract?.trim() && n.push(t.modularAccountModuleContract.trim()), E(n);
53
- }
54
- //#endregion
55
- //#region src/helpers/ensureManagedSignerSessionKey.ts
56
- var O = "Could not connect the managed publishing account to authorize the modular signer on Optimism Sepolia. Reconnect and try again.", k = "Could not authorize the modular wallet as a session signer on your publishing account on Optimism Sepolia.";
57
- async function A(e) {
58
- let { managedAddress: n, signerAddress: r } = e, i = u();
59
- await i.autoConnect({
60
- client: p(),
61
- chain: _
62
- });
63
- let a = i.getAccount();
64
- if (!a) throw new l(O, "MODULAR_SIGNER_ACTIVATION_FAILED", n);
65
- let s = h({
66
- client: p(),
67
- chain: _,
68
- address: n
69
- }), c = {
70
- approvedTargets: D(n),
71
- nativeTokenLimitPerTransaction: 0
72
- }, d = !1;
73
- try {
74
- d = await y({
75
- accountContract: s,
76
- sessionKeyAddress: r,
77
- newPermissions: c
78
- });
79
- } catch (e) {
80
- throw new l(k, "MODULAR_SIGNER_ACTIVATION_FAILED", n, e);
81
- }
82
- if (d) try {
83
- let e = v({
84
- contract: s,
85
- account: a,
86
- sessionKeyAddress: r,
87
- permissions: c
88
- }), n = await g({
89
- account: a,
90
- transaction: e
91
- });
92
- await t(n.transactionHash);
93
- } catch (e) {
94
- throw new l(k, "MODULAR_SIGNER_ACTIVATION_FAILED", n, e);
95
- }
96
- let f = !1;
97
- try {
98
- f = await o(n, r);
99
- } catch (e) {
100
- throw new l(k, "MODULAR_SIGNER_ACTIVATION_FAILED", n, e);
101
- }
102
- if (!f) throw new l(k, "MODULAR_SIGNER_ACTIVATION_FAILED", n);
103
- }
104
- //#endregion
105
- //#region src/helpers/ensureModularPublishBootstrap.ts
106
- var j = /* @__PURE__ */ e({ ensureModularPublishBootstrap: () => M });
107
- async function M(e) {
108
- let t = d();
109
- await t.autoConnect({
110
- client: p(),
111
- chain: _
112
- });
113
- let n = t.getAccount();
114
- if (!n) throw Error("Failed to get modular account");
115
- try {
116
- await A({
117
- managedAddress: e,
118
- signerAddress: n.address
119
- });
120
- } catch (e) {
121
- if (!a().autoDeployEip7702ModularAccount || !s(e)) throw e;
122
- await T();
123
- }
124
- return await f(e, (await import("./config-EQZZNH9H.js").then((e) => e.c)).fromThirdwebAccount(n)), n;
125
- }
126
- //#endregion
127
- export { T as a, D as i, j as n, A as r, M as t };
128
-
129
- //# sourceMappingURL=ensureModularPublishBootstrap-CI4U08Gc.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ensureModularPublishBootstrap-CI4U08Gc.js","names":[],"sources":["../src/helpers/ensureEip7702ModularAccountReady.ts","../src/helpers/defaultApprovedTargetsForModularPublish.ts","../src/helpers/ensureManagedSignerSessionKey.ts","../src/helpers/ensureModularPublishBootstrap.ts"],"sourcesContent":["import { deploySmartAccount, getContract } from 'thirdweb'\nimport { optimismSepolia } from 'thirdweb/chains'\nimport { getPublishConfig } from '../config'\nimport { Eip7702ModularAccountPublishError } from '../errors'\nimport { isContractDeployed, pollSmartWalletDeployed } from './chainClient'\nimport { getClient, getModularAccountWallet } from './thirdweb'\n\nconst MSG_NO_ACCOUNT =\n 'Modular (EIP-7702) wallet is not connected. Sign in with the same method and try again.'\nconst MSG_NOT_UPGRADED =\n 'Your modular account is not upgraded to an EIP-7702 smart account on Optimism Sepolia yet. Enable autoDeployEip7702ModularAccount in publish config or complete wallet setup, then retry.'\nconst MSG_DEPLOY_FAILED =\n 'Automatic EIP-7702 smart account setup failed on Optimism Sepolia. Retry or reconnect your wallet.'\nconst MSG_NOT_CONFIRMED =\n 'EIP-7702 upgrade was sent but on-chain bytecode was not detected yet. Wait a moment and retry.'\n\nconst DEPLOY_POLL_ATTEMPTS = 5\n\n/**\n * Ensures the Thirdweb in-app modular wallet (EIP-7702) has non-empty bytecode at its address\n * on Optimism Sepolia. deploySmartAccount remains Thirdweb; bytecode checks use viem.\n */\nexport async function ensureEip7702ModularAccountReady(): Promise<void> {\n const { autoDeployEip7702ModularAccount } = getPublishConfig()\n const modularAccountWallet = getModularAccountWallet()\n await modularAccountWallet.autoConnect({ client: getClient(), chain: optimismSepolia })\n const modularAccount = modularAccountWallet.getAccount()\n if (!modularAccount) {\n throw new Eip7702ModularAccountPublishError(MSG_NO_ACCOUNT, 'EIP7702_MODULAR_ACCOUNT_UNAVAILABLE')\n }\n\n const client = getClient()\n const accountContract = getContract({\n client,\n chain: optimismSepolia,\n address: modularAccount.address,\n })\n\n if (await isContractDeployed(modularAccount.address)) {\n return\n }\n\n if (!autoDeployEip7702ModularAccount) {\n throw new Eip7702ModularAccountPublishError(\n MSG_NOT_UPGRADED,\n 'EIP7702_MODULAR_NOT_UPGRADED',\n modularAccount.address,\n )\n }\n\n try {\n await deploySmartAccount({\n smartAccount: modularAccount,\n chain: optimismSepolia,\n client,\n accountContract,\n })\n } catch (cause) {\n if (await pollSmartWalletDeployed(modularAccount.address, DEPLOY_POLL_ATTEMPTS)) {\n return\n }\n throw new Eip7702ModularAccountPublishError(\n MSG_DEPLOY_FAILED,\n 'EIP7702_MODULAR_DEPLOY_FAILED',\n modularAccount.address,\n cause,\n )\n }\n\n if (!(await pollSmartWalletDeployed(modularAccount.address, DEPLOY_POLL_ATTEMPTS))) {\n throw new Eip7702ModularAccountPublishError(\n MSG_NOT_CONFIRMED,\n 'EIP7702_MODULAR_NOT_CONFIRMED',\n modularAccount.address,\n )\n }\n}\n","import { getPublishConfig } from '../config'\nimport { EAS_CONTRACT_ADDRESS } from './constants'\n\nfunction uniqueAddressesLower(addresses: string[]): `0x${string}`[] {\n const set = new Set<string>()\n for (const a of addresses) {\n const t = a.trim().toLowerCase()\n if (t.startsWith('0x') && t.length === 42) set.add(t)\n }\n return [...set].sort().map((x) => x as `0x${string}`)\n}\n\n/** Allowlisted call targets for modular session signers: managed account, EAS, optional executor module. */\nexport function defaultApprovedTargetsForModularPublish(managedAddress: string): `0x${string}`[] {\n const cfg = getPublishConfig()\n const extra: string[] = [managedAddress, EAS_CONTRACT_ADDRESS]\n if (cfg.modularAccountModuleContract?.trim()) {\n extra.push(cfg.modularAccountModuleContract.trim())\n }\n return uniqueAddressesLower(extra)\n}\n","import { getContract, sendTransaction } from 'thirdweb'\nimport { addSessionKey, shouldUpdateSessionKey } from 'thirdweb/extensions/erc4337'\nimport { optimismSepolia } from 'thirdweb/chains'\nimport type { Address } from 'viem'\nimport { ManagedAccountPublishError } from '../errors'\nimport { waitForPublishReceipt } from './chainClient'\nimport { readIsActiveSigner } from './contracts'\nimport { defaultApprovedTargetsForModularPublish } from './defaultApprovedTargetsForModularPublish'\nimport { getClient, getManagedAccountWallet } from './thirdweb'\n\nconst MSG_UNAVAILABLE =\n 'Could not connect the managed publishing account to authorize the modular signer on Optimism Sepolia. Reconnect and try again.'\nconst MSG_ACTIVATION_FAILED =\n 'Could not authorize the modular wallet as a session signer on your publishing account on Optimism Sepolia.'\n\n/**\n * Ensures the modular (EIP-7702) wallet is an active session signer on the ManagedAccount.\n * If permissions are missing or stale, sends `addSessionKey` signed by the managed EIP-4337 wallet.\n * Session-key AA extensions remain on Thirdweb; verification uses viem.\n */\nexport async function ensureManagedSignerSessionKey(params: {\n managedAddress: string\n signerAddress: string\n}): Promise<void> {\n const { managedAddress, signerAddress } = params\n const managedWallet = getManagedAccountWallet()\n await managedWallet.autoConnect({ client: getClient(), chain: optimismSepolia })\n const managedAccount = managedWallet.getAccount()\n if (!managedAccount) {\n throw new ManagedAccountPublishError(\n MSG_UNAVAILABLE,\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n )\n }\n\n const accountContract = getContract({\n client: getClient(),\n chain: optimismSepolia,\n address: managedAddress,\n })\n const permissions = {\n approvedTargets: defaultApprovedTargetsForModularPublish(managedAddress),\n nativeTokenLimitPerTransaction: 0,\n }\n\n let shouldUpdate = false\n try {\n shouldUpdate = await shouldUpdateSessionKey({\n accountContract,\n sessionKeyAddress: signerAddress,\n newPermissions: permissions,\n })\n } catch (cause) {\n throw new ManagedAccountPublishError(\n MSG_ACTIVATION_FAILED,\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n cause,\n )\n }\n\n if (shouldUpdate) {\n try {\n const tx = addSessionKey({\n contract: accountContract,\n account: managedAccount,\n sessionKeyAddress: signerAddress,\n permissions,\n })\n const result = await sendTransaction({ account: managedAccount, transaction: tx })\n await waitForPublishReceipt(result.transactionHash as `0x${string}`)\n } catch (cause) {\n throw new ManagedAccountPublishError(\n MSG_ACTIVATION_FAILED,\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n cause,\n )\n }\n }\n\n let active = false\n try {\n active = await readIsActiveSigner(managedAddress as Address, signerAddress as Address)\n } catch (cause) {\n throw new ManagedAccountPublishError(\n MSG_ACTIVATION_FAILED,\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n cause,\n )\n }\n\n if (!active) {\n throw new ManagedAccountPublishError(\n MSG_ACTIVATION_FAILED,\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n )\n }\n}\n","import type { Account } from 'thirdweb/wallets'\nimport { optimismSepolia } from 'thirdweb/chains'\nimport { getPublishConfig } from '../config'\nimport { isManagedAccountPublishError } from '../errors'\nimport { ensureEip7702ModularAccountReady } from './ensureEip7702ModularAccountReady'\nimport { ensureManagedAccountEasConfigured } from './ensureManagedAccountEasConfigured'\nimport { ensureManagedSignerSessionKey } from './ensureManagedSignerSessionKey'\nimport { getClient, getModularAccountWallet } from './thirdweb'\n\n/**\n * One-time modular publish bootstrap before `multiPublish`:\n * session signer on managed account → EAS pointer → optional EIP-7702 fallback.\n */\nexport async function ensureModularPublishBootstrap(managedAddress: string): Promise<Account> {\n const modularAccountWallet = getModularAccountWallet()\n await modularAccountWallet.autoConnect({ client: getClient(), chain: optimismSepolia })\n const modularAccount = modularAccountWallet.getAccount()\n if (!modularAccount) {\n throw new Error('Failed to get modular account')\n }\n\n try {\n await ensureManagedSignerSessionKey({\n managedAddress,\n signerAddress: modularAccount.address,\n })\n } catch (cause) {\n if (!getPublishConfig().autoDeployEip7702ModularAccount) {\n throw cause\n }\n if (!isManagedAccountPublishError(cause)) {\n throw cause\n }\n await ensureEip7702ModularAccountReady()\n }\n\n await ensureManagedAccountEasConfigured(managedAddress, (await import('./adapters/thirdwebAccount')).fromThirdwebAccount(modularAccount))\n return modularAccount\n}\n"],"mappings":"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"}
@@ -1,128 +0,0 @@
1
- import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
- import { X as t, et as n, g as r, nt as i, o as a, t as o, tt as s } from "./chainConfig-CfVGYAsY.js";
3
- import { a as c, n as l, r as u } from "./errors-Du3LNbJN.js";
4
- import { N as d, P as f, v as p } from "./publishAuthorization-DEriY_jm.js";
5
- import { t as m } from "./publishThirdwebClient-DroRrOFQ.js";
6
- import { deploySmartAccount as h, getContract as g, sendTransaction as _ } from "thirdweb";
7
- import { addSessionKey as v, shouldUpdateSessionKey as y } from "thirdweb/extensions/erc4337";
8
- //#region src/helpers/ensureEip7702ModularAccountReady.ts
9
- var b = "Modular (EIP-7702) wallet is not connected. Sign in with the same method and try again.", x = () => `Your modular account is not upgraded to an EIP-7702 smart account on ${o()} yet. Enable autoDeployEip7702ModularAccount in publish config or complete wallet setup, then retry.`, S = () => `Automatic EIP-7702 smart account setup failed on ${o()}. Retry or reconnect your wallet.`, C = "EIP-7702 upgrade was sent but on-chain bytecode was not detected yet. Wait a moment and retry.", w = 5;
10
- async function T() {
11
- let { autoDeployEip7702ModularAccount: e } = a(), t = f();
12
- await t.autoConnect({
13
- client: m(),
14
- chain: r()
15
- });
16
- let i = t.getAccount();
17
- if (!i) throw new l(b, "EIP7702_MODULAR_ACCOUNT_UNAVAILABLE");
18
- let o = m(), c = g({
19
- client: o,
20
- chain: r(),
21
- address: i.address
22
- });
23
- if (!await n(i.address)) {
24
- if (!e) throw new l(x(), "EIP7702_MODULAR_NOT_UPGRADED", i.address);
25
- try {
26
- await h({
27
- smartAccount: i,
28
- chain: r(),
29
- client: o,
30
- accountContract: c
31
- });
32
- } catch (e) {
33
- if (await s(i.address, w)) return;
34
- throw new l(S(), "EIP7702_MODULAR_DEPLOY_FAILED", i.address, e);
35
- }
36
- if (!await s(i.address, w)) throw new l(C, "EIP7702_MODULAR_NOT_CONFIRMED", i.address);
37
- }
38
- }
39
- //#endregion
40
- //#region src/helpers/defaultApprovedTargetsForModularPublish.ts
41
- function E(e) {
42
- let t = /* @__PURE__ */ new Set();
43
- for (let n of e) {
44
- let e = n.trim().toLowerCase();
45
- e.startsWith("0x") && e.length === 42 && t.add(e);
46
- }
47
- return [...t].sort().map((e) => e);
48
- }
49
- function D(e) {
50
- let t = a(), n = [e, t.easContractAddress];
51
- return t.modularAccountModuleContract?.trim() && n.push(t.modularAccountModuleContract.trim()), E(n);
52
- }
53
- //#endregion
54
- //#region src/helpers/ensureManagedSignerSessionKey.ts
55
- var O = () => `Could not connect the managed publishing account to authorize the modular signer on ${o()}. Reconnect and try again.`, k = () => `Could not authorize the modular wallet as a session signer on your publishing account on ${o()}.`;
56
- async function A(e) {
57
- let { managedAddress: n, signerAddress: a } = e, o = d();
58
- await o.autoConnect({
59
- client: m(),
60
- chain: r()
61
- });
62
- let s = o.getAccount();
63
- if (!s) throw new u(O(), "MODULAR_SIGNER_ACTIVATION_FAILED", n);
64
- let c = g({
65
- client: m(),
66
- chain: r(),
67
- address: n
68
- }), l = {
69
- approvedTargets: D(n),
70
- nativeTokenLimitPerTransaction: 0
71
- }, f = !1;
72
- try {
73
- f = await y({
74
- accountContract: c,
75
- sessionKeyAddress: a,
76
- newPermissions: l
77
- });
78
- } catch (e) {
79
- throw new u(k(), "MODULAR_SIGNER_ACTIVATION_FAILED", n, e);
80
- }
81
- if (f) try {
82
- let e = v({
83
- contract: c,
84
- account: s,
85
- sessionKeyAddress: a,
86
- permissions: l
87
- }), t = await _({
88
- account: s,
89
- transaction: e
90
- });
91
- await i(t.transactionHash);
92
- } catch (e) {
93
- throw new u(k(), "MODULAR_SIGNER_ACTIVATION_FAILED", n, e);
94
- }
95
- let p = !1;
96
- try {
97
- p = await t(n, a);
98
- } catch (e) {
99
- throw new u(k(), "MODULAR_SIGNER_ACTIVATION_FAILED", n, e);
100
- }
101
- if (!p) throw new u(k(), "MODULAR_SIGNER_ACTIVATION_FAILED", n);
102
- }
103
- //#endregion
104
- //#region src/helpers/ensureModularPublishBootstrap.ts
105
- var j = /* @__PURE__ */ e({ ensureModularPublishBootstrap: () => M });
106
- async function M(e) {
107
- let t = f();
108
- await t.autoConnect({
109
- client: m(),
110
- chain: r()
111
- });
112
- let n = t.getAccount();
113
- if (!n) throw Error("Failed to get modular account");
114
- try {
115
- await A({
116
- managedAddress: e,
117
- signerAddress: n.address
118
- });
119
- } catch (e) {
120
- if (!a().autoDeployEip7702ModularAccount || !c(e)) throw e;
121
- await T();
122
- }
123
- return await p(e, (await import("./chainConfig-CfVGYAsY.js").then((e) => e.h)).fromThirdwebAccount(n)), n;
124
- }
125
- //#endregion
126
- export { T as a, D as i, j as n, A as r, M as t };
127
-
128
- //# sourceMappingURL=ensureModularPublishBootstrap-CcU-hXll.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ensureModularPublishBootstrap-CcU-hXll.js","names":[],"sources":["../src/helpers/ensureEip7702ModularAccountReady.ts","../src/helpers/defaultApprovedTargetsForModularPublish.ts","../src/helpers/ensureManagedSignerSessionKey.ts","../src/helpers/ensureModularPublishBootstrap.ts"],"sourcesContent":["import { deploySmartAccount, getContract } from 'thirdweb'\nimport { getPublishConfig } from '../config'\nimport { Eip7702ModularAccountPublishError } from '../errors'\nimport { isContractDeployed, pollSmartWalletDeployed } from './chainClient'\nimport { getClient, getModularAccountWallet } from './thirdweb'\nimport { getPublishThirdwebChain } from './thirdwebChain'\nimport { getPublishChainName } from './chainConfig'\n\nconst MSG_NO_ACCOUNT =\n 'Modular (EIP-7702) wallet is not connected. Sign in with the same method and try again.'\nconst MSG_NOT_UPGRADED = () =>\n `Your modular account is not upgraded to an EIP-7702 smart account on ${getPublishChainName()} yet. Enable autoDeployEip7702ModularAccount in publish config or complete wallet setup, then retry.`\nconst MSG_DEPLOY_FAILED = () =>\n `Automatic EIP-7702 smart account setup failed on ${getPublishChainName()}. Retry or reconnect your wallet.`\nconst MSG_NOT_CONFIRMED =\n 'EIP-7702 upgrade was sent but on-chain bytecode was not detected yet. Wait a moment and retry.'\n\nconst DEPLOY_POLL_ATTEMPTS = 5\n\n/**\n * Ensures the Thirdweb in-app modular wallet (EIP-7702) has non-empty bytecode at its address\n * on the publish chain. deploySmartAccount remains Thirdweb; bytecode checks use viem.\n */\nexport async function ensureEip7702ModularAccountReady(): Promise<void> {\n const { autoDeployEip7702ModularAccount } = getPublishConfig()\n const modularAccountWallet = getModularAccountWallet()\n await modularAccountWallet.autoConnect({ client: getClient(), chain: getPublishThirdwebChain() })\n const modularAccount = modularAccountWallet.getAccount()\n if (!modularAccount) {\n throw new Eip7702ModularAccountPublishError(MSG_NO_ACCOUNT, 'EIP7702_MODULAR_ACCOUNT_UNAVAILABLE')\n }\n\n const client = getClient()\n const accountContract = getContract({\n client,\n chain: getPublishThirdwebChain(),\n address: modularAccount.address,\n })\n\n if (await isContractDeployed(modularAccount.address)) {\n return\n }\n\n if (!autoDeployEip7702ModularAccount) {\n throw new Eip7702ModularAccountPublishError(\n MSG_NOT_UPGRADED(),\n 'EIP7702_MODULAR_NOT_UPGRADED',\n modularAccount.address,\n )\n }\n\n try {\n await deploySmartAccount({\n smartAccount: modularAccount,\n chain: getPublishThirdwebChain(),\n client,\n accountContract,\n })\n } catch (cause) {\n if (await pollSmartWalletDeployed(modularAccount.address, DEPLOY_POLL_ATTEMPTS)) {\n return\n }\n throw new Eip7702ModularAccountPublishError(\n MSG_DEPLOY_FAILED(),\n 'EIP7702_MODULAR_DEPLOY_FAILED',\n modularAccount.address,\n cause,\n )\n }\n\n if (!(await pollSmartWalletDeployed(modularAccount.address, DEPLOY_POLL_ATTEMPTS))) {\n throw new Eip7702ModularAccountPublishError(\n MSG_NOT_CONFIRMED,\n 'EIP7702_MODULAR_NOT_CONFIRMED',\n modularAccount.address,\n )\n }\n}\n","import { getPublishConfig } from '../config'\n\nfunction uniqueAddressesLower(addresses: string[]): `0x${string}`[] {\n const set = new Set<string>()\n for (const a of addresses) {\n const t = a.trim().toLowerCase()\n if (t.startsWith('0x') && t.length === 42) set.add(t)\n }\n return [...set].sort().map((x) => x as `0x${string}`)\n}\n\n/** Allowlisted call targets for modular session signers: managed account, EAS, optional executor module. */\nexport function defaultApprovedTargetsForModularPublish(managedAddress: string): `0x${string}`[] {\n const cfg = getPublishConfig()\n const extra: string[] = [managedAddress, cfg.easContractAddress]\n if (cfg.modularAccountModuleContract?.trim()) {\n extra.push(cfg.modularAccountModuleContract.trim())\n }\n return uniqueAddressesLower(extra)\n}\n","import { getContract, sendTransaction } from 'thirdweb'\nimport { addSessionKey, shouldUpdateSessionKey } from 'thirdweb/extensions/erc4337'\nimport type { Address } from 'viem'\nimport { ManagedAccountPublishError } from '../errors'\nimport { waitForPublishReceipt } from './chainClient'\nimport { readIsActiveSigner } from './contracts'\nimport { defaultApprovedTargetsForModularPublish } from './defaultApprovedTargetsForModularPublish'\nimport { getClient, getManagedAccountWallet } from './thirdweb'\nimport { getPublishThirdwebChain } from './thirdwebChain'\nimport { getPublishChainName } from './chainConfig'\n\nconst MSG_UNAVAILABLE = () =>\n `Could not connect the managed publishing account to authorize the modular signer on ${getPublishChainName()}. Reconnect and try again.`\nconst MSG_ACTIVATION_FAILED = () =>\n `Could not authorize the modular wallet as a session signer on your publishing account on ${getPublishChainName()}.`\n\n/**\n * Ensures the modular (EIP-7702) wallet is an active session signer on the ManagedAccount.\n * If permissions are missing or stale, sends `addSessionKey` signed by the managed EIP-4337 wallet.\n * Session-key AA extensions remain on Thirdweb; verification uses viem.\n */\nexport async function ensureManagedSignerSessionKey(params: {\n managedAddress: string\n signerAddress: string\n}): Promise<void> {\n const { managedAddress, signerAddress } = params\n const managedWallet = getManagedAccountWallet()\n await managedWallet.autoConnect({ client: getClient(), chain: getPublishThirdwebChain() })\n const managedAccount = managedWallet.getAccount()\n if (!managedAccount) {\n throw new ManagedAccountPublishError(\n MSG_UNAVAILABLE(),\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n )\n }\n\n const accountContract = getContract({\n client: getClient(),\n chain: getPublishThirdwebChain(),\n address: managedAddress,\n })\n const permissions = {\n approvedTargets: defaultApprovedTargetsForModularPublish(managedAddress),\n nativeTokenLimitPerTransaction: 0,\n }\n\n let shouldUpdate = false\n try {\n shouldUpdate = await shouldUpdateSessionKey({\n accountContract,\n sessionKeyAddress: signerAddress,\n newPermissions: permissions,\n })\n } catch (cause) {\n throw new ManagedAccountPublishError(\n MSG_ACTIVATION_FAILED(),\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n cause,\n )\n }\n\n if (shouldUpdate) {\n try {\n const tx = addSessionKey({\n contract: accountContract,\n account: managedAccount,\n sessionKeyAddress: signerAddress,\n permissions,\n })\n const result = await sendTransaction({ account: managedAccount, transaction: tx })\n await waitForPublishReceipt(result.transactionHash as `0x${string}`)\n } catch (cause) {\n throw new ManagedAccountPublishError(\n MSG_ACTIVATION_FAILED(),\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n cause,\n )\n }\n }\n\n let active = false\n try {\n active = await readIsActiveSigner(managedAddress as Address, signerAddress as Address)\n } catch (cause) {\n throw new ManagedAccountPublishError(\n MSG_ACTIVATION_FAILED(),\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n cause,\n )\n }\n\n if (!active) {\n throw new ManagedAccountPublishError(\n MSG_ACTIVATION_FAILED(),\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n )\n }\n}\n","import type { Account } from 'thirdweb/wallets'\nimport { getPublishConfig } from '../config'\nimport { isManagedAccountPublishError } from '../errors'\nimport { ensureEip7702ModularAccountReady } from './ensureEip7702ModularAccountReady'\nimport { ensureManagedAccountEasConfigured } from './ensureManagedAccountEasConfigured'\nimport { ensureManagedSignerSessionKey } from './ensureManagedSignerSessionKey'\nimport { getClient, getModularAccountWallet } from './thirdweb'\nimport { getPublishThirdwebChain } from './thirdwebChain'\n\n/**\n * One-time modular publish bootstrap before `multiPublish`:\n * session signer on managed account → EAS pointer → optional EIP-7702 fallback.\n */\nexport async function ensureModularPublishBootstrap(managedAddress: string): Promise<Account> {\n const modularAccountWallet = getModularAccountWallet()\n await modularAccountWallet.autoConnect({ client: getClient(), chain: getPublishThirdwebChain() })\n const modularAccount = modularAccountWallet.getAccount()\n if (!modularAccount) {\n throw new Error('Failed to get modular account')\n }\n\n try {\n await ensureManagedSignerSessionKey({\n managedAddress,\n signerAddress: modularAccount.address,\n })\n } catch (cause) {\n if (!getPublishConfig().autoDeployEip7702ModularAccount) {\n throw cause\n }\n if (!isManagedAccountPublishError(cause)) {\n throw cause\n }\n await ensureEip7702ModularAccountReady()\n }\n\n await ensureManagedAccountEasConfigured(managedAddress, (await import('./adapters/thirdwebAccount')).fromThirdwebAccount(modularAccount))\n return modularAccount\n}\n"],"mappings":";;;;;;;;AAQA,IAAM,IACJ,2FACI,UACJ,wEAAwE,EAAoB,EAAE,uGAC1F,UACJ,oDAAoD,EAAoB,EAAE,oCACtE,IACJ,kGAEI,IAAuB;AAM7B,eAAsB,IAAkD;CACtE,IAAM,EAAE,uCAAoC,EAAiB,GACvD,IAAuB,EAAwB;CACrD,MAAM,EAAqB,YAAY;EAAE,QAAQ,EAAU;EAAG,OAAO,EAAwB;CAAE,CAAC;CAChG,IAAM,IAAiB,EAAqB,WAAW;CACvD,IAAI,CAAC,GACH,MAAM,IAAI,EAAkC,GAAgB,qCAAqC;CAGnG,IAAM,IAAS,EAAU,GACnB,IAAkB,EAAY;EAClC;EACA,OAAO,EAAwB;EAC/B,SAAS,EAAe;CAC1B,CAAC;CAEG,WAAM,EAAmB,EAAe,OAAO,GAInD;MAAI,CAAC,GACH,MAAM,IAAI,EACR,EAAiB,GACjB,gCACA,EAAe,OACjB;EAGF,IAAI;GACF,MAAM,EAAmB;IACvB,cAAc;IACd,OAAO,EAAwB;IAC/B;IACA;GACF,CAAC;EACH,SAAS,GAAO;GACd,IAAI,MAAM,EAAwB,EAAe,SAAS,CAAoB,GAC5E;GAEF,MAAM,IAAI,EACR,EAAkB,GAClB,iCACA,EAAe,SACf,CACF;EACF;EAEA,IAAI,CAAE,MAAM,EAAwB,EAAe,SAAS,CAAoB,GAC9E,MAAM,IAAI,EACR,GACA,iCACA,EAAe,OACjB;CA3BA;AA6BJ;;;AC3EA,SAAS,EAAqB,GAAsC;CAClE,IAAM,oBAAM,IAAI,IAAY;CAC5B,KAAK,IAAM,KAAK,GAAW;EACzB,IAAM,IAAI,EAAE,KAAK,CAAC,CAAC,YAAY;EAC/B,AAAI,EAAE,WAAW,IAAI,KAAK,EAAE,WAAW,MAAI,EAAI,IAAI,CAAC;CACtD;CACA,OAAO,CAAC,GAAG,CAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,MAAM,CAAkB;AACtD;AAGA,SAAgB,EAAwC,GAAyC;CAC/F,IAAM,IAAM,EAAiB,GACvB,IAAkB,CAAC,GAAgB,EAAI,kBAAkB;CAI/D,OAHI,EAAI,8BAA8B,KAAK,KACzC,EAAM,KAAK,EAAI,6BAA6B,KAAK,CAAC,GAE7C,EAAqB,CAAK;AACnC;;;ACRA,IAAM,UACJ,uFAAuF,EAAoB,EAAE,6BACzG,UACJ,4FAA4F,EAAoB,EAAE;AAOpH,eAAsB,EAA8B,GAGlC;CAChB,IAAM,EAAE,mBAAgB,qBAAkB,GACpC,IAAgB,EAAwB;CAC9C,MAAM,EAAc,YAAY;EAAE,QAAQ,EAAU;EAAG,OAAO,EAAwB;CAAE,CAAC;CACzF,IAAM,IAAiB,EAAc,WAAW;CAChD,IAAI,CAAC,GACH,MAAM,IAAI,EACR,EAAgB,GAChB,oCACA,CACF;CAGF,IAAM,IAAkB,EAAY;EAClC,QAAQ,EAAU;EAClB,OAAO,EAAwB;EAC/B,SAAS;CACX,CAAC,GACK,IAAc;EAClB,iBAAiB,EAAwC,CAAc;EACvE,gCAAgC;CAClC,GAEI,IAAe;CACnB,IAAI;EACF,IAAe,MAAM,EAAuB;GAC1C;GACA,mBAAmB;GACnB,gBAAgB;EAClB,CAAC;CACH,SAAS,GAAO;EACd,MAAM,IAAI,EACR,EAAsB,GACtB,oCACA,GACA,CACF;CACF;CAEA,IAAI,GACF,IAAI;EACF,IAAM,IAAK,EAAc;GACvB,UAAU;GACV,SAAS;GACT,mBAAmB;GACnB;EACF,CAAC,GACK,IAAS,MAAM,EAAgB;GAAE,SAAS;GAAgB,aAAa;EAAG,CAAC;EACjF,MAAM,EAAsB,EAAO,eAAgC;CACrE,SAAS,GAAO;EACd,MAAM,IAAI,EACR,EAAsB,GACtB,oCACA,GACA,CACF;CACF;CAGF,IAAI,IAAS;CACb,IAAI;EACF,IAAS,MAAM,EAAmB,GAA2B,CAAwB;CACvF,SAAS,GAAO;EACd,MAAM,IAAI,EACR,EAAsB,GACtB,oCACA,GACA,CACF;CACF;CAEA,IAAI,CAAC,GACH,MAAM,IAAI,EACR,EAAsB,GACtB,oCACA,CACF;AAEJ;;;;ACzFA,eAAsB,EAA8B,GAA0C;CAC5F,IAAM,IAAuB,EAAwB;CACrD,MAAM,EAAqB,YAAY;EAAE,QAAQ,EAAU;EAAG,OAAO,EAAwB;CAAE,CAAC;CAChG,IAAM,IAAiB,EAAqB,WAAW;CACvD,IAAI,CAAC,GACH,MAAU,MAAM,+BAA+B;CAGjD,IAAI;EACF,MAAM,EAA8B;GAClC;GACA,eAAe,EAAe;EAChC,CAAC;CACH,SAAS,GAAO;EAId,IAHI,CAAC,EAAiB,CAAC,CAAC,mCAGpB,CAAC,EAA6B,CAAK,GACrC,MAAM;EAER,MAAM,EAAiC;CACzC;CAGA,OADA,MAAM,EAAkC,IAAiB,MAAM,OAAO,4BAAA,CAAA,MAAA,MAAA,EAAA,CAAA,EAAA,CAA+B,oBAAoB,CAAc,CAAC,GACjI;AACT"}
@@ -1,24 +0,0 @@
1
- import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
- import { _ as t, h as n, t as r } from "./chainConfig-3sSqEVQh.js";
3
- import { r as i } from "./errors-Du3LNbJN.js";
4
- import { B as a, M as o, v as s } from "./publishAuthorization-By2Tt9kW.js";
5
- import { t as c } from "./publishThirdwebClient-BdgkcqM7.js";
6
- import { t as l } from "./managedAccountAdmin-C84-IlQ9.js";
7
- //#region src/helpers/ensureModularPublishBootstrap.ts
8
- var u = /* @__PURE__ */ e({ ensureModularPublishBootstrap: () => d });
9
- async function d(e) {
10
- a();
11
- let u = o();
12
- await u.autoConnect({
13
- client: c(),
14
- chain: t()
15
- });
16
- let d = u.getAccount();
17
- if (!d) throw new i(`Could not connect the managed publishing account on ${r()}. Reconnect with the same sign-in method and try again.`, "MANAGED_ACCOUNT_UNAVAILABLE", e);
18
- if (d.address.toLowerCase() !== e.toLowerCase()) throw new i(`The connected managed account (${d.address}) is not the publishing account ${e}. Reconnect with the sign-in method that owns it.`, "MANAGED_ACCOUNT_UNAVAILABLE", e);
19
- return await s(e, async () => n(await l(e))), d;
20
- }
21
- //#endregion
22
- export { u as n, d as t };
23
-
24
- //# sourceMappingURL=ensureModularPublishBootstrap-CdrykHAi.js.map