@seedprotocol/publish 0.6.9 → 0.7.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.
- package/CHANGELOG.md +11 -0
- package/README.md +1 -1
- package/dist/{chainConfig-CYy0XJ0M.js → chainConfig-BJ8C_RRz.js} +392 -220
- package/dist/chainConfig-BJ8C_RRz.js.map +1 -0
- package/dist/{chainConfig-BRcsMopd.js → chainConfig-DWynbnb8.js} +446 -433
- package/dist/chainConfig-DWynbnb8.js.map +1 -0
- package/dist/{chainConfig-CA1Hrrjg.js → chainConfig-DWzoOtkS.js} +394 -328
- package/dist/chainConfig-DWzoOtkS.js.map +1 -0
- package/dist/{chainConfig-3wlYarAG.js → chainConfig-DmuPBs3D.js} +442 -420
- package/dist/chainConfig-DmuPBs3D.js.map +1 -0
- package/dist/config.d.ts +5 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/ensureAutomationSessionKey-BVmh030S.js +84 -0
- package/dist/ensureAutomationSessionKey-BVmh030S.js.map +1 -0
- package/dist/ensureAutomationSessionKey-CxpJY_uH.js +84 -0
- package/dist/ensureAutomationSessionKey-CxpJY_uH.js.map +1 -0
- package/dist/ensureAutomationSessionKey-DwRm4YMJ.js +84 -0
- package/dist/ensureAutomationSessionKey-DwRm4YMJ.js.map +1 -0
- package/dist/ensureAutomationSessionKey-h3zOmDr5.js +84 -0
- package/dist/ensureAutomationSessionKey-h3zOmDr5.js.map +1 -0
- package/dist/{ensureModularPublishBootstrap-DGBKVGg5.js → ensureModularPublishBootstrap-BImiIFJe.js} +9 -10
- package/dist/{ensureModularPublishBootstrap-5HJDqJJM.js.map → ensureModularPublishBootstrap-BImiIFJe.js.map} +1 -1
- package/dist/{ensureModularPublishBootstrap-DxIG-LUP.js → ensureModularPublishBootstrap-CmxyX_EN.js} +9 -10
- package/dist/{ensureModularPublishBootstrap-BW8jKN_A.js.map → ensureModularPublishBootstrap-CmxyX_EN.js.map} +1 -1
- package/dist/{ensureModularPublishBootstrap-BW8jKN_A.js → ensureModularPublishBootstrap-DRFhp-O2.js} +9 -10
- package/dist/{ensureModularPublishBootstrap-BhYNmLzT.js.map → ensureModularPublishBootstrap-DRFhp-O2.js.map} +1 -1
- package/dist/{ensureModularPublishBootstrap-BhYNmLzT.js → ensureModularPublishBootstrap-DegJnYKL.js} +9 -10
- package/dist/{ensureModularPublishBootstrap-Bsw1xSCt.js.map → ensureModularPublishBootstrap-DegJnYKL.js.map} +1 -1
- package/dist/{ensureSmartWalletThenPublish-Bm58tc-b.js → ensureSmartWalletThenPublish-0nKg13WN.js} +9 -10
- package/dist/{ensureSmartWalletThenPublish-Bm58tc-b.js.map → ensureSmartWalletThenPublish-0nKg13WN.js.map} +1 -1
- package/dist/{ensureSmartWalletThenPublish-D5GSZRyZ.js → ensureSmartWalletThenPublish-BdqeUL6t.js} +9 -10
- package/dist/{ensureSmartWalletThenPublish-D5GSZRyZ.js.map → ensureSmartWalletThenPublish-BdqeUL6t.js.map} +1 -1
- package/dist/{ensureSmartWalletThenPublish-DAomriGc.js → ensureSmartWalletThenPublish-BfEndtFo.js} +9 -10
- package/dist/{ensureSmartWalletThenPublish-DAomriGc.js.map → ensureSmartWalletThenPublish-BfEndtFo.js.map} +1 -1
- package/dist/{ensureSmartWalletThenPublish-Dta2AOyJ.js → ensureSmartWalletThenPublish-DuOYPJFd.js} +9 -10
- package/dist/{ensureSmartWalletThenPublish-Bl415Ss6.js.map → ensureSmartWalletThenPublish-DuOYPJFd.js.map} +1 -1
- package/dist/errors.d.ts +9 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/helpers/abi/executor.d.ts +12 -0
- package/dist/helpers/abi/executor.d.ts.map +1 -1
- package/dist/helpers/abi/factory.d.ts +11 -0
- package/dist/helpers/abi/factory.d.ts.map +1 -1
- package/dist/helpers/abi/seedExecutorRouter.d.ts +9 -1
- package/dist/helpers/abi/seedExecutorRouter.d.ts.map +1 -1
- package/dist/helpers/adapters/thirdwebAccount.d.ts.map +1 -1
- package/dist/helpers/chainClient.d.ts +18 -2
- package/dist/helpers/chainClient.d.ts.map +1 -1
- package/dist/helpers/contracts/index.d.ts +9 -0
- package/dist/helpers/contracts/index.d.ts.map +1 -1
- package/dist/helpers/describeRevert.d.ts +3 -2
- package/dist/helpers/describeRevert.d.ts.map +1 -1
- package/dist/helpers/enrollPublishAutomation.d.ts +2 -2
- package/dist/helpers/enrollPublishAutomation.d.ts.map +1 -1
- package/dist/helpers/ensureAutomationSessionKey.d.ts.map +1 -1
- package/dist/helpers/ensureExecutorModule.d.ts +28 -5
- package/dist/helpers/ensureExecutorModule.d.ts.map +1 -1
- package/dist/helpers/executorModuleReadiness.d.ts +15 -1
- package/dist/helpers/executorModuleReadiness.d.ts.map +1 -1
- package/dist/helpers/gasLog.d.ts +8 -0
- package/dist/helpers/gasLog.d.ts.map +1 -0
- package/dist/helpers/seedPaymaster.d.ts +27 -0
- package/dist/helpers/seedPaymaster.d.ts.map +1 -0
- package/dist/helpers/thirdweb.d.ts.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +271 -272
- package/dist/index.js.map +1 -1
- package/dist/{managedAccountAdmin-B64V1rlU.js → managedAccountAdmin-B4HkLWWE.js} +9 -10
- package/dist/{managedAccountAdmin-B64V1rlU.js.map → managedAccountAdmin-B4HkLWWE.js.map} +1 -1
- package/dist/{managedAccountAdmin-Bje6X8Ds.js → managedAccountAdmin-ByEX_Eg2.js} +9 -10
- package/dist/{managedAccountAdmin-BVLGWpEb.js.map → managedAccountAdmin-ByEX_Eg2.js.map} +1 -1
- package/dist/{managedAccountAdmin-C84-IlQ9.js → managedAccountAdmin-DS6nniiu.js} +9 -10
- package/dist/{managedAccountAdmin-Bje6X8Ds.js.map → managedAccountAdmin-DS6nniiu.js.map} +1 -1
- package/dist/managedAccountAdmin-DwFI-ZfE.js +28 -0
- package/dist/{managedAccountAdmin-C84-IlQ9.js.map → managedAccountAdmin-DwFI-ZfE.js.map} +1 -1
- package/dist/{publishAuthorization-DjVrnMC0.js → publishAuthorization-C-XYb9Ef.js} +1500 -1391
- package/dist/publishAuthorization-C-XYb9Ef.js.map +1 -0
- package/dist/{publishAuthorization-BEqRnP2h.js → publishAuthorization-CG23g8w2.js} +1460 -1398
- package/dist/publishAuthorization-CG23g8w2.js.map +1 -0
- package/dist/{publishAuthorization-CxBkijU6.js → publishAuthorization-CvK_coYp.js} +1104 -1018
- package/dist/publishAuthorization-CvK_coYp.js.map +1 -0
- package/dist/{publishAuthorization-By2Tt9kW.js → publishAuthorization-DgDI4zor.js} +1162 -1063
- package/dist/publishAuthorization-DgDI4zor.js.map +1 -0
- package/dist/{publishThirdwebClient-CBD9sKJR.js → publishThirdwebClient-BQ_KnMi5.js} +2 -2
- package/dist/{publishThirdwebClient-CBD9sKJR.js.map → publishThirdwebClient-BQ_KnMi5.js.map} +1 -1
- package/dist/{publishThirdwebClient-BdgkcqM7.js → publishThirdwebClient-BmqsJCjp.js} +2 -2
- package/dist/{publishThirdwebClient-BdgkcqM7.js.map → publishThirdwebClient-BmqsJCjp.js.map} +1 -1
- package/dist/{publishThirdwebClient-BkmDN480.js → publishThirdwebClient-CO18ST7C.js} +2 -2
- package/dist/{publishThirdwebClient-BkmDN480.js.map → publishThirdwebClient-CO18ST7C.js.map} +1 -1
- package/dist/{publishThirdwebClient-BnDhP3N-.js → publishThirdwebClient-D-K2WEeM.js} +2 -2
- package/dist/{publishThirdwebClient-BnDhP3N-.js.map → publishThirdwebClient-D-K2WEeM.js.map} +1 -1
- package/dist/{resolveRevokeAccount-CehU81k6.js → resolveRevokeAccount-9-OzXVdp.js} +11 -11
- package/dist/{resolveRevokeAccount-B5iXpuRT.js.map → resolveRevokeAccount-9-OzXVdp.js.map} +1 -1
- package/dist/{resolveRevokeAccount-BEhKQBTm.js → resolveRevokeAccount-CXa5XlOv.js} +11 -11
- package/dist/{resolveRevokeAccount-B7ImSb4Y.js.map → resolveRevokeAccount-CXa5XlOv.js.map} +1 -1
- package/dist/{resolveRevokeAccount-CaIMuCee.js → resolveRevokeAccount-DsNod8ti.js} +11 -12
- package/dist/{resolveRevokeAccount-BtVG0xxc.js.map → resolveRevokeAccount-DsNod8ti.js.map} +1 -1
- package/dist/{resolveRevokeAccount-DHnxtEIj.js → resolveRevokeAccount-QgZ6YZuS.js} +11 -12
- package/dist/{resolveRevokeAccount-BM1j2l5Q.js.map → resolveRevokeAccount-QgZ6YZuS.js.map} +1 -1
- package/dist/services/publish/actors/checking.d.ts.map +1 -1
- package/dist/services/publish/actors/createAttestations.d.ts.map +1 -1
- package/dist/services/publish/actors/createAttestationsDirectToEas.d.ts.map +1 -1
- package/dist/services/publish/actors/multiPublishReceipt.d.ts +58 -0
- package/dist/services/publish/actors/multiPublishReceipt.d.ts.map +1 -0
- package/dist/services/publish/actors/persistSeedUid.d.ts.map +1 -1
- package/dist/services/publish/actors/recordMultiPublishReceipt.d.ts +45 -0
- package/dist/services/publish/actors/recordMultiPublishReceipt.d.ts.map +1 -0
- package/dist/services/publish/helpers/getPublishUploadData.d.ts.map +1 -1
- package/dist/services/publishCost/types.d.ts +3 -1
- package/dist/services/publishCost/types.d.ts.map +1 -1
- package/dist/services/publishManager/actions/publishDone.d.ts.map +1 -1
- package/dist/services/publishManager/actions/stopAll.d.ts.map +1 -1
- package/dist/services/publishManager/actions/stopPublish.d.ts.map +1 -1
- package/dist/services/publishManager/actors/restoreFromDb.d.ts.map +1 -1
- package/dist/services/publishManager/index.d.ts +3 -3
- package/dist/services/publishManager/index.d.ts.map +1 -1
- package/dist/services/publishManager/publishLocks.d.ts +22 -0
- package/dist/services/publishManager/publishLocks.d.ts.map +1 -0
- package/dist/services/revoke/revokeAttestations.d.ts.map +1 -1
- package/dist/thirdweb.d.ts +2 -1
- package/dist/thirdweb.d.ts.map +1 -1
- package/dist/thirdweb.js +147 -148
- package/dist/thirdweb.js.map +1 -1
- package/dist/{worker-2dUZSapK.js → worker-CJRUAOAn.js} +2 -2
- package/dist/{worker-2dUZSapK.js.map → worker-CJRUAOAn.js.map} +1 -1
- package/dist/{worker-B1PcFPLi.js → worker-CN7zg73B.js} +2 -2
- package/dist/{worker-B1PcFPLi.js.map → worker-CN7zg73B.js.map} +1 -1
- package/dist/{worker-BCG1r0AS.js → worker-FmHZbku5.js} +9 -6
- package/dist/{worker-BCG1r0AS.js.map → worker-FmHZbku5.js.map} +1 -1
- package/dist/{worker-B8gN5WTx.js → worker-qoGuo876.js} +2 -2
- package/dist/{worker-B8gN5WTx.js.map → worker-qoGuo876.js.map} +1 -1
- package/package.json +6 -6
- package/dist/chainConfig-3sSqEVQh.js +0 -1433
- package/dist/chainConfig-3sSqEVQh.js.map +0 -1
- package/dist/chainConfig-3wlYarAG.js.map +0 -1
- package/dist/chainConfig-BRcsMopd.js.map +0 -1
- package/dist/chainConfig-BYm5OXpk.js +0 -1433
- package/dist/chainConfig-BYm5OXpk.js.map +0 -1
- package/dist/chainConfig-CA1Hrrjg.js.map +0 -1
- package/dist/chainConfig-CYy0XJ0M.js.map +0 -1
- package/dist/chainConfig-CfVGYAsY.js +0 -1311
- package/dist/chainConfig-CfVGYAsY.js.map +0 -1
- package/dist/chainConfig-DDA4YmAB.js +0 -1424
- package/dist/chainConfig-DDA4YmAB.js.map +0 -1
- package/dist/config-BA9la8B6.js +0 -941
- package/dist/config-BA9la8B6.js.map +0 -1
- package/dist/config-BqguD2Tt.js +0 -806
- package/dist/config-BqguD2Tt.js.map +0 -1
- package/dist/config-CPBd5C_b.js +0 -1201
- package/dist/config-CPBd5C_b.js.map +0 -1
- package/dist/config-DkIapO94.js +0 -955
- package/dist/config-DkIapO94.js.map +0 -1
- package/dist/config-EQZZNH9H.js +0 -955
- package/dist/config-EQZZNH9H.js.map +0 -1
- package/dist/config-qjpaJcBA.js +0 -947
- package/dist/config-qjpaJcBA.js.map +0 -1
- package/dist/deploy-BJYwLfz-.js +0 -15
- package/dist/deploy-BJYwLfz-.js.map +0 -1
- package/dist/enrollPublishAutomation-DYQMoylY.js +0 -3422
- package/dist/enrollPublishAutomation-DYQMoylY.js.map +0 -1
- package/dist/ensureAutomationSessionKey-BMHLKfjj.js +0 -85
- package/dist/ensureAutomationSessionKey-BMHLKfjj.js.map +0 -1
- package/dist/ensureAutomationSessionKey-BZ9_3FMW.js +0 -86
- package/dist/ensureAutomationSessionKey-BZ9_3FMW.js.map +0 -1
- package/dist/ensureAutomationSessionKey-Bq0PaTYE.js +0 -84
- package/dist/ensureAutomationSessionKey-Bq0PaTYE.js.map +0 -1
- package/dist/ensureAutomationSessionKey-Bw74ZSGI.js +0 -85
- package/dist/ensureAutomationSessionKey-Bw74ZSGI.js.map +0 -1
- package/dist/ensureAutomationSessionKey-C8D7BFjU.js +0 -85
- package/dist/ensureAutomationSessionKey-C8D7BFjU.js.map +0 -1
- package/dist/ensureAutomationSessionKey-CClLVX2w.js +0 -85
- package/dist/ensureAutomationSessionKey-CClLVX2w.js.map +0 -1
- package/dist/ensureAutomationSessionKey-CNNN1jBQ.js +0 -85
- package/dist/ensureAutomationSessionKey-CNNN1jBQ.js.map +0 -1
- package/dist/ensureAutomationSessionKey-CeUbjcCl.js +0 -85
- package/dist/ensureAutomationSessionKey-CeUbjcCl.js.map +0 -1
- package/dist/ensureAutomationSessionKey-D8Gki6U6.js +0 -85
- package/dist/ensureAutomationSessionKey-D8Gki6U6.js.map +0 -1
- package/dist/ensureAutomationSessionKey-DEH7nwUc.js +0 -86
- package/dist/ensureAutomationSessionKey-DEH7nwUc.js.map +0 -1
- package/dist/ensureAutomationSessionKey-DKriW4Hr.js +0 -85
- package/dist/ensureAutomationSessionKey-DKriW4Hr.js.map +0 -1
- package/dist/ensureAutomationSessionKey-Dhvbii2M.js +0 -86
- package/dist/ensureAutomationSessionKey-Dhvbii2M.js.map +0 -1
- package/dist/ensureAutomationSessionKey-Dyfk8qVp.js +0 -85
- package/dist/ensureAutomationSessionKey-Dyfk8qVp.js.map +0 -1
- package/dist/ensureModularPublishBootstrap-5HJDqJJM.js +0 -24
- package/dist/ensureModularPublishBootstrap-Bsw1xSCt.js +0 -24
- package/dist/ensureModularPublishBootstrap-Btih5xbB.js +0 -129
- package/dist/ensureModularPublishBootstrap-Btih5xbB.js.map +0 -1
- package/dist/ensureModularPublishBootstrap-C8wdnH1P.js +0 -128
- package/dist/ensureModularPublishBootstrap-C8wdnH1P.js.map +0 -1
- package/dist/ensureModularPublishBootstrap-CI4U08Gc.js +0 -129
- package/dist/ensureModularPublishBootstrap-CI4U08Gc.js.map +0 -1
- package/dist/ensureModularPublishBootstrap-CcU-hXll.js +0 -128
- package/dist/ensureModularPublishBootstrap-CcU-hXll.js.map +0 -1
- package/dist/ensureModularPublishBootstrap-CdrykHAi.js +0 -24
- package/dist/ensureModularPublishBootstrap-CdrykHAi.js.map +0 -1
- package/dist/ensureModularPublishBootstrap-DGBKVGg5.js.map +0 -1
- package/dist/ensureModularPublishBootstrap-DaREOqSc.js +0 -129
- package/dist/ensureModularPublishBootstrap-DaREOqSc.js.map +0 -1
- package/dist/ensureModularPublishBootstrap-DxIG-LUP.js.map +0 -1
- package/dist/ensureModularPublishBootstrap-Jm1AAqBo.js +0 -127
- package/dist/ensureModularPublishBootstrap-Jm1AAqBo.js.map +0 -1
- package/dist/ensureSessionKey-D2Lq-56x.js +0 -363
- package/dist/ensureSessionKey-D2Lq-56x.js.map +0 -1
- package/dist/ensureSmartWalletThenPublish-BFPugsKJ.js +0 -48
- package/dist/ensureSmartWalletThenPublish-BFPugsKJ.js.map +0 -1
- package/dist/ensureSmartWalletThenPublish-BSYzckyS.js +0 -49
- package/dist/ensureSmartWalletThenPublish-BSYzckyS.js.map +0 -1
- package/dist/ensureSmartWalletThenPublish-Bf8FN1un.js +0 -49
- package/dist/ensureSmartWalletThenPublish-Bf8FN1un.js.map +0 -1
- package/dist/ensureSmartWalletThenPublish-Bl415Ss6.js +0 -48
- package/dist/ensureSmartWalletThenPublish-Bmm5Fpat.js +0 -49
- package/dist/ensureSmartWalletThenPublish-Bmm5Fpat.js.map +0 -1
- package/dist/ensureSmartWalletThenPublish-CE7acryB.js +0 -49
- package/dist/ensureSmartWalletThenPublish-CE7acryB.js.map +0 -1
- package/dist/ensureSmartWalletThenPublish-DaZf3q5S.js +0 -48
- package/dist/ensureSmartWalletThenPublish-DaZf3q5S.js.map +0 -1
- package/dist/ensureSmartWalletThenPublish-Dta2AOyJ.js.map +0 -1
- package/dist/ensureSmartWalletThenPublish-ekb0xJRn.js +0 -48
- package/dist/ensureSmartWalletThenPublish-ekb0xJRn.js.map +0 -1
- package/dist/ensureSmartWalletThenPublish-v5fhvKxZ.js +0 -48
- package/dist/ensureSmartWalletThenPublish-v5fhvKxZ.js.map +0 -1
- package/dist/errors-Du3LNbJN.js +0 -70
- package/dist/errors-Du3LNbJN.js.map +0 -1
- package/dist/errors-PZAaDlkq.js +0 -79
- package/dist/errors-PZAaDlkq.js.map +0 -1
- package/dist/helpers/adapters/managedAccountTxSender.d.ts +0 -21
- package/dist/helpers/adapters/managedAccountTxSender.d.ts.map +0 -1
- package/dist/helpers/modularAccount/abi.d.ts +0 -173
- package/dist/helpers/modularAccount/abi.d.ts.map +0 -1
- package/dist/helpers/modularAccount/deploy.d.ts +0 -13
- package/dist/helpers/modularAccount/deploy.d.ts.map +0 -1
- package/dist/helpers/modularAccount/eip712.d.ts +0 -30
- package/dist/helpers/modularAccount/eip712.d.ts.map +0 -1
- package/dist/helpers/modularAccount/encode.d.ts +0 -16
- package/dist/helpers/modularAccount/encode.d.ts.map +0 -1
- package/dist/helpers/modularAccount/ensureModule.d.ts +0 -10
- package/dist/helpers/modularAccount/ensureModule.d.ts.map +0 -1
- package/dist/helpers/modularAccount/ensureSessionKey.d.ts +0 -25
- package/dist/helpers/modularAccount/ensureSessionKey.d.ts.map +0 -1
- package/dist/helpers/modularAccount/index.d.ts +0 -9
- package/dist/helpers/modularAccount/index.d.ts.map +0 -1
- package/dist/helpers/modularAccount/permissions.d.ts +0 -32
- package/dist/helpers/modularAccount/permissions.d.ts.map +0 -1
- package/dist/helpers/modularAccount/reads.d.ts +0 -28
- package/dist/helpers/modularAccount/reads.d.ts.map +0 -1
- package/dist/helpers/thirdwebEnrollPublishAutomation.d.ts +0 -31
- package/dist/helpers/thirdwebEnrollPublishAutomation.d.ts.map +0 -1
- package/dist/helpers/thirdwebModularBootstrap.d.ts +0 -8
- package/dist/helpers/thirdwebModularBootstrap.d.ts.map +0 -1
- package/dist/helpers/transformPayloadToIntegerIds.d.ts +0 -34
- package/dist/helpers/transformPayloadToIntegerIds.d.ts.map +0 -1
- package/dist/managedAccountAdmin-BVLGWpEb.js +0 -29
- package/dist/managedAccountAdmin-DJMw6UH6.js +0 -29
- package/dist/managedAccountAdmin-DJMw6UH6.js.map +0 -1
- package/dist/managedAccountAdmin-DhCRBoPX.js +0 -29
- package/dist/managedAccountAdmin-DhCRBoPX.js.map +0 -1
- package/dist/managedAccountAdmin-NXD66lP5.js +0 -29
- package/dist/managedAccountAdmin-NXD66lP5.js.map +0 -1
- package/dist/publishAuthorization-B0G1em4a.js +0 -3695
- package/dist/publishAuthorization-B0G1em4a.js.map +0 -1
- package/dist/publishAuthorization-B1BVVfp0.js +0 -3604
- package/dist/publishAuthorization-B1BVVfp0.js.map +0 -1
- package/dist/publishAuthorization-BEqRnP2h.js.map +0 -1
- package/dist/publishAuthorization-Bltn3y_K.js +0 -3599
- package/dist/publishAuthorization-Bltn3y_K.js.map +0 -1
- package/dist/publishAuthorization-By2Tt9kW.js.map +0 -1
- package/dist/publishAuthorization-CSN2FsQk.js +0 -3479
- package/dist/publishAuthorization-CSN2FsQk.js.map +0 -1
- package/dist/publishAuthorization-CxBkijU6.js.map +0 -1
- package/dist/publishAuthorization-CxWY7lAQ.js +0 -3706
- package/dist/publishAuthorization-CxWY7lAQ.js.map +0 -1
- package/dist/publishAuthorization-DEriY_jm.js +0 -3687
- package/dist/publishAuthorization-DEriY_jm.js.map +0 -1
- package/dist/publishAuthorization-DfAQs1sN.js +0 -3707
- package/dist/publishAuthorization-DfAQs1sN.js.map +0 -1
- package/dist/publishAuthorization-DgdmgLTa.js +0 -3520
- package/dist/publishAuthorization-DgdmgLTa.js.map +0 -1
- package/dist/publishAuthorization-DjVrnMC0.js.map +0 -1
- package/dist/publishAuthorization-DqhhCAhd.js +0 -3652
- package/dist/publishAuthorization-DqhhCAhd.js.map +0 -1
- package/dist/publishThirdwebClient-CQ29pzG2.js +0 -18
- package/dist/publishThirdwebClient-CQ29pzG2.js.map +0 -1
- package/dist/publishThirdwebClient-CZIVmr9Z.js +0 -18
- package/dist/publishThirdwebClient-CZIVmr9Z.js.map +0 -1
- package/dist/publishThirdwebClient-Ce7iBIsj.js +0 -18
- package/dist/publishThirdwebClient-Ce7iBIsj.js.map +0 -1
- package/dist/publishThirdwebClient-DroRrOFQ.js +0 -18
- package/dist/publishThirdwebClient-DroRrOFQ.js.map +0 -1
- package/dist/publishThirdwebClient-DzXFjQ7L.js +0 -18
- package/dist/publishThirdwebClient-DzXFjQ7L.js.map +0 -1
- package/dist/publishThirdwebClient-Dzb2vcEs.js +0 -18
- package/dist/publishThirdwebClient-Dzb2vcEs.js.map +0 -1
- package/dist/publishThirdwebClient-i8P7fivi.js +0 -18
- package/dist/publishThirdwebClient-i8P7fivi.js.map +0 -1
- package/dist/publishWalletRegistry-Cugh691z.js +0 -37
- package/dist/publishWalletRegistry-Cugh691z.js.map +0 -1
- package/dist/resolveRevokeAccount-B5iXpuRT.js +0 -38
- package/dist/resolveRevokeAccount-B7ImSb4Y.js +0 -38
- package/dist/resolveRevokeAccount-BEhKQBTm.js.map +0 -1
- package/dist/resolveRevokeAccount-BM1j2l5Q.js +0 -38
- package/dist/resolveRevokeAccount-BtVG0xxc.js +0 -38
- package/dist/resolveRevokeAccount-CJZZdBcQ.js +0 -39
- package/dist/resolveRevokeAccount-CJZZdBcQ.js.map +0 -1
- package/dist/resolveRevokeAccount-CaIMuCee.js.map +0 -1
- package/dist/resolveRevokeAccount-CehU81k6.js.map +0 -1
- package/dist/resolveRevokeAccount-Cg4TQgnd.js +0 -38
- package/dist/resolveRevokeAccount-Cg4TQgnd.js.map +0 -1
- package/dist/resolveRevokeAccount-DHnxtEIj.js.map +0 -1
- package/dist/resolveRevokeAccount-DJKfLlyK.js +0 -38
- package/dist/resolveRevokeAccount-DJKfLlyK.js.map +0 -1
- package/dist/resolveRevokeAccount-S-2WXkNh.js +0 -38
- package/dist/resolveRevokeAccount-S-2WXkNh.js.map +0 -1
- package/dist/resolveRevokeAccount-mzR11KJ4.js +0 -38
- package/dist/resolveRevokeAccount-mzR11KJ4.js.map +0 -1
- package/dist/resolveRevokeAccount-yWARIv9i.js +0 -38
- package/dist/resolveRevokeAccount-yWARIv9i.js.map +0 -1
- package/dist/seedSigner-CFzMD7Rb.js +0 -66
- package/dist/seedSigner-CFzMD7Rb.js.map +0 -1
- package/dist/thirdweb-BoksPRz3.js +0 -194
- package/dist/thirdweb-BoksPRz3.js.map +0 -1
- package/dist/thirdwebAccount-C2iOcp4_.js +0 -59
- package/dist/thirdwebAccount-C2iOcp4_.js.map +0 -1
- package/dist/worker-BgErCNTb.js +0 -69
- package/dist/worker-BgErCNTb.js.map +0 -1
- package/dist/worker-C07rPV2G.js +0 -69
- package/dist/worker-C07rPV2G.js.map +0 -1
- package/dist/worker-C9Za_dlQ.js +0 -69
- package/dist/worker-C9Za_dlQ.js.map +0 -1
- package/dist/worker-CEgulQnm.js +0 -69
- package/dist/worker-CEgulQnm.js.map +0 -1
- package/dist/worker-C_TL94He.js +0 -69
- package/dist/worker-C_TL94He.js.map +0 -1
- package/dist/worker-CbtzcKG6.js +0 -69
- package/dist/worker-CbtzcKG6.js.map +0 -1
- package/dist/worker-DBC_g-3I.js +0 -69
- package/dist/worker-DBC_g-3I.js.map +0 -1
- package/dist/worker-DHUm-TeQ.js +0 -69
- package/dist/worker-DHUm-TeQ.js.map +0 -1
- package/dist/worker-DypHzXgH.js +0 -69
- package/dist/worker-DypHzXgH.js.map +0 -1
- package/dist/worker-ZL4Wg19t.js +0 -69
- package/dist/worker-ZL4Wg19t.js.map +0 -1
|
@@ -1,363 +0,0 @@
|
|
|
1
|
-
import { A as e, E as t, M as n, O as r, S as i, T as a } from "./config-BqguD2Tt.js";
|
|
2
|
-
import { r as o } from "./errors-PZAaDlkq.js";
|
|
3
|
-
import { u as s } from "./seedSigner-CFzMD7Rb.js";
|
|
4
|
-
import { encodeAbiParameters as c, encodeFunctionData as l, parseEther as u } from "viem";
|
|
5
|
-
//#region src/helpers/modularAccount/abi.ts
|
|
6
|
-
var d = [{
|
|
7
|
-
type: "function",
|
|
8
|
-
name: "installModule",
|
|
9
|
-
stateMutability: "nonpayable",
|
|
10
|
-
inputs: [{
|
|
11
|
-
name: "moduleContract",
|
|
12
|
-
type: "address"
|
|
13
|
-
}, {
|
|
14
|
-
name: "data",
|
|
15
|
-
type: "bytes"
|
|
16
|
-
}],
|
|
17
|
-
outputs: []
|
|
18
|
-
}], f = [{
|
|
19
|
-
type: "function",
|
|
20
|
-
name: "getInstalledModules",
|
|
21
|
-
stateMutability: "view",
|
|
22
|
-
inputs: [],
|
|
23
|
-
outputs: [{
|
|
24
|
-
type: "tuple[]",
|
|
25
|
-
components: [{
|
|
26
|
-
name: "implementation",
|
|
27
|
-
type: "address"
|
|
28
|
-
}, {
|
|
29
|
-
name: "config",
|
|
30
|
-
type: "tuple",
|
|
31
|
-
components: [
|
|
32
|
-
{
|
|
33
|
-
name: "registerInstallationCallback",
|
|
34
|
-
type: "bool"
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
name: "requiredInterfaces",
|
|
38
|
-
type: "bytes4[]"
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
name: "supportedInterfaces",
|
|
42
|
-
type: "bytes4[]"
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
name: "callbackFunctions",
|
|
46
|
-
type: "tuple[]",
|
|
47
|
-
components: [{
|
|
48
|
-
name: "selector",
|
|
49
|
-
type: "bytes4"
|
|
50
|
-
}]
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
name: "fallbackFunctions",
|
|
54
|
-
type: "tuple[]",
|
|
55
|
-
components: [{
|
|
56
|
-
name: "selector",
|
|
57
|
-
type: "bytes4"
|
|
58
|
-
}, {
|
|
59
|
-
name: "permissionBits",
|
|
60
|
-
type: "uint256"
|
|
61
|
-
}]
|
|
62
|
-
}
|
|
63
|
-
]
|
|
64
|
-
}]
|
|
65
|
-
}]
|
|
66
|
-
}], p = [{
|
|
67
|
-
type: "function",
|
|
68
|
-
name: "setPermissionsForSigner",
|
|
69
|
-
stateMutability: "nonpayable",
|
|
70
|
-
inputs: [{
|
|
71
|
-
name: "req",
|
|
72
|
-
type: "tuple",
|
|
73
|
-
components: [
|
|
74
|
-
{
|
|
75
|
-
name: "signer",
|
|
76
|
-
type: "address"
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
name: "isAdmin",
|
|
80
|
-
type: "uint8"
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
name: "approvedTargets",
|
|
84
|
-
type: "address[]"
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
name: "nativeTokenLimitPerTransaction",
|
|
88
|
-
type: "uint256"
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
name: "permissionStartTimestamp",
|
|
92
|
-
type: "uint128"
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
name: "permissionEndTimestamp",
|
|
96
|
-
type: "uint128"
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: "reqValidityStartTimestamp",
|
|
100
|
-
type: "uint128"
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: "reqValidityEndTimestamp",
|
|
104
|
-
type: "uint128"
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: "uid",
|
|
108
|
-
type: "bytes32"
|
|
109
|
-
}
|
|
110
|
-
]
|
|
111
|
-
}, {
|
|
112
|
-
name: "signature",
|
|
113
|
-
type: "bytes"
|
|
114
|
-
}],
|
|
115
|
-
outputs: []
|
|
116
|
-
}], m = [{
|
|
117
|
-
type: "function",
|
|
118
|
-
name: "getPermissionsForSigner",
|
|
119
|
-
stateMutability: "view",
|
|
120
|
-
inputs: [{
|
|
121
|
-
name: "signer",
|
|
122
|
-
type: "address"
|
|
123
|
-
}],
|
|
124
|
-
outputs: [{
|
|
125
|
-
name: "permissions",
|
|
126
|
-
type: "tuple",
|
|
127
|
-
components: [
|
|
128
|
-
{
|
|
129
|
-
name: "signer",
|
|
130
|
-
type: "address"
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
name: "approvedTargets",
|
|
134
|
-
type: "address[]"
|
|
135
|
-
},
|
|
136
|
-
{
|
|
137
|
-
name: "nativeTokenLimitPerTransaction",
|
|
138
|
-
type: "uint256"
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
name: "startTimestamp",
|
|
142
|
-
type: "uint128"
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
name: "endTimestamp",
|
|
146
|
-
type: "uint128"
|
|
147
|
-
}
|
|
148
|
-
]
|
|
149
|
-
}]
|
|
150
|
-
}], h = { SignerPermissionRequest: [
|
|
151
|
-
{
|
|
152
|
-
name: "signer",
|
|
153
|
-
type: "address"
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
name: "isAdmin",
|
|
157
|
-
type: "uint8"
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
name: "approvedTargets",
|
|
161
|
-
type: "address[]"
|
|
162
|
-
},
|
|
163
|
-
{
|
|
164
|
-
name: "nativeTokenLimitPerTransaction",
|
|
165
|
-
type: "uint256"
|
|
166
|
-
},
|
|
167
|
-
{
|
|
168
|
-
name: "permissionStartTimestamp",
|
|
169
|
-
type: "uint128"
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
name: "permissionEndTimestamp",
|
|
173
|
-
type: "uint128"
|
|
174
|
-
},
|
|
175
|
-
{
|
|
176
|
-
name: "reqValidityStartTimestamp",
|
|
177
|
-
type: "uint128"
|
|
178
|
-
},
|
|
179
|
-
{
|
|
180
|
-
name: "reqValidityEndTimestamp",
|
|
181
|
-
type: "uint128"
|
|
182
|
-
},
|
|
183
|
-
{
|
|
184
|
-
name: "uid",
|
|
185
|
-
type: "bytes32"
|
|
186
|
-
}
|
|
187
|
-
] }, g = "0x0000000000000000000000000000000000000000", _ = 10n * 365n * 24n * 60n * 60n;
|
|
188
|
-
function v() {
|
|
189
|
-
let e = /* @__PURE__ */ new Uint8Array(32);
|
|
190
|
-
return crypto.getRandomValues(e), `0x${Array.from(e, (e) => e.toString(16).padStart(2, "0")).join("")}`;
|
|
191
|
-
}
|
|
192
|
-
function y() {
|
|
193
|
-
return BigInt(Math.floor(Date.now() / 1e3));
|
|
194
|
-
}
|
|
195
|
-
function b(e) {
|
|
196
|
-
let { sessionKeyAddress: t, permissions: n } = e, r = n.permissionStartTimestamp == null ? 0n : BigInt(n.permissionStartTimestamp), i = n.permissionEndTimestamp == null ? y() + _ : BigInt(n.permissionEndTimestamp), a = n.approvedTargets === "*" ? [g] : n.approvedTargets, o = n.nativeTokenLimitPerTransaction ?? 0;
|
|
197
|
-
return {
|
|
198
|
-
signer: t,
|
|
199
|
-
isAdmin: 0,
|
|
200
|
-
approvedTargets: a,
|
|
201
|
-
nativeTokenLimitPerTransaction: u(String(o)),
|
|
202
|
-
permissionStartTimestamp: r,
|
|
203
|
-
permissionEndTimestamp: i,
|
|
204
|
-
reqValidityStartTimestamp: 0n,
|
|
205
|
-
reqValidityEndTimestamp: y() + _,
|
|
206
|
-
uid: e.uid ?? v()
|
|
207
|
-
};
|
|
208
|
-
}
|
|
209
|
-
function x() {
|
|
210
|
-
return {
|
|
211
|
-
approvedTargets: [],
|
|
212
|
-
nativeTokenLimitPerTransaction: 0,
|
|
213
|
-
permissionStartTimestamp: 0,
|
|
214
|
-
permissionEndTimestamp: 0
|
|
215
|
-
};
|
|
216
|
-
}
|
|
217
|
-
function S(t) {
|
|
218
|
-
return {
|
|
219
|
-
domain: {
|
|
220
|
-
name: "Account",
|
|
221
|
-
version: "1",
|
|
222
|
-
chainId: t.chainId ?? e().id,
|
|
223
|
-
verifyingContract: t.managedAddress
|
|
224
|
-
},
|
|
225
|
-
types: h,
|
|
226
|
-
primaryType: "SignerPermissionRequest",
|
|
227
|
-
message: t.req
|
|
228
|
-
};
|
|
229
|
-
}
|
|
230
|
-
async function C(e) {
|
|
231
|
-
return s(e.adminSigner)(S({
|
|
232
|
-
managedAddress: e.managedAddress,
|
|
233
|
-
req: e.req,
|
|
234
|
-
chainId: e.chainId
|
|
235
|
-
}));
|
|
236
|
-
}
|
|
237
|
-
//#endregion
|
|
238
|
-
//#region src/helpers/modularAccount/encode.ts
|
|
239
|
-
function w(e) {
|
|
240
|
-
return {
|
|
241
|
-
to: e.managedAddress,
|
|
242
|
-
data: l({
|
|
243
|
-
abi: d,
|
|
244
|
-
functionName: "installModule",
|
|
245
|
-
args: [e.moduleContract, e.data ?? "0x"]
|
|
246
|
-
})
|
|
247
|
-
};
|
|
248
|
-
}
|
|
249
|
-
function T(e = n) {
|
|
250
|
-
return c([{ type: "address" }], [e]);
|
|
251
|
-
}
|
|
252
|
-
function E(e) {
|
|
253
|
-
return {
|
|
254
|
-
to: e.managedAddress,
|
|
255
|
-
data: l({
|
|
256
|
-
abi: p,
|
|
257
|
-
functionName: "setPermissionsForSigner",
|
|
258
|
-
args: [e.req, e.signature]
|
|
259
|
-
})
|
|
260
|
-
};
|
|
261
|
-
}
|
|
262
|
-
//#endregion
|
|
263
|
-
//#region src/helpers/modularAccount/reads.ts
|
|
264
|
-
async function D(e) {
|
|
265
|
-
return (await a().readContract({
|
|
266
|
-
address: e,
|
|
267
|
-
abi: f,
|
|
268
|
-
functionName: "getInstalledModules"
|
|
269
|
-
})).map((e) => ({ implementation: e.implementation }));
|
|
270
|
-
}
|
|
271
|
-
async function O(e, t) {
|
|
272
|
-
return await a().readContract({
|
|
273
|
-
address: e,
|
|
274
|
-
abi: m,
|
|
275
|
-
functionName: "getPermissionsForSigner",
|
|
276
|
-
args: [t]
|
|
277
|
-
});
|
|
278
|
-
}
|
|
279
|
-
function k(e, t) {
|
|
280
|
-
let n = t.trim().toLowerCase();
|
|
281
|
-
return e.some((e) => e.implementation?.toLowerCase() === n);
|
|
282
|
-
}
|
|
283
|
-
function A(e) {
|
|
284
|
-
let t = e.nowSeconds ?? Math.floor(Date.now() / 1e3);
|
|
285
|
-
if (e.current.endTimestamp && Number(e.current.endTimestamp) < t) return !0;
|
|
286
|
-
let n = e.current.approvedTargets.map((e) => e.toLowerCase());
|
|
287
|
-
return !e.approvedTargets.map((e) => e.toLowerCase()).every((e) => n.includes(e)) || e.nativeTokenLimitPerTransactionWei > e.current.nativeTokenLimitPerTransaction;
|
|
288
|
-
}
|
|
289
|
-
//#endregion
|
|
290
|
-
//#region src/helpers/modularAccount/ensureSessionKey.ts
|
|
291
|
-
var j = "Could not authorize the session key on your publishing account on Optimism Sepolia.", M = "Could not remove the session key from your publishing account on Optimism Sepolia.";
|
|
292
|
-
async function N(e) {
|
|
293
|
-
s(e.admin.signer);
|
|
294
|
-
let t = b({
|
|
295
|
-
sessionKeyAddress: e.sessionKeyAddress,
|
|
296
|
-
permissions: e.permissions
|
|
297
|
-
}), n = await C({
|
|
298
|
-
adminSigner: e.admin.signer,
|
|
299
|
-
managedAddress: e.managedAddress,
|
|
300
|
-
req: t
|
|
301
|
-
}), i = E({
|
|
302
|
-
managedAddress: e.managedAddress,
|
|
303
|
-
req: t,
|
|
304
|
-
signature: n
|
|
305
|
-
}), a = await e.admin.txSender.sendTransaction(i);
|
|
306
|
-
await r(a.transactionHash);
|
|
307
|
-
}
|
|
308
|
-
async function P(e) {
|
|
309
|
-
let n = e.managedAddress, r = e.sessionKeyAddress, a = e.activationFailedMessage ?? j, s = !0;
|
|
310
|
-
try {
|
|
311
|
-
if (await t(n)) {
|
|
312
|
-
let t = await O(n, r), i = e.permissions.nativeTokenLimitPerTransaction ?? 0;
|
|
313
|
-
s = A({
|
|
314
|
-
current: t,
|
|
315
|
-
approvedTargets: e.permissions.approvedTargets === "*" ? ["0x0000000000000000000000000000000000000000"] : e.permissions.approvedTargets,
|
|
316
|
-
nativeTokenLimitPerTransactionWei: u(String(i))
|
|
317
|
-
});
|
|
318
|
-
}
|
|
319
|
-
} catch (e) {
|
|
320
|
-
throw new o(a, "MODULAR_SIGNER_ACTIVATION_FAILED", n, e);
|
|
321
|
-
}
|
|
322
|
-
if (s) try {
|
|
323
|
-
await N({
|
|
324
|
-
admin: e.admin,
|
|
325
|
-
managedAddress: n,
|
|
326
|
-
sessionKeyAddress: r,
|
|
327
|
-
permissions: e.permissions
|
|
328
|
-
});
|
|
329
|
-
} catch (e) {
|
|
330
|
-
throw e instanceof o ? e : new o(a, "MODULAR_SIGNER_ACTIVATION_FAILED", n, e);
|
|
331
|
-
}
|
|
332
|
-
let c = !1;
|
|
333
|
-
try {
|
|
334
|
-
c = await i(n, r);
|
|
335
|
-
} catch (e) {
|
|
336
|
-
throw new o(a, "MODULAR_SIGNER_ACTIVATION_FAILED", n, e);
|
|
337
|
-
}
|
|
338
|
-
if (!c) throw new o(a, "MODULAR_SIGNER_ACTIVATION_FAILED", n);
|
|
339
|
-
}
|
|
340
|
-
async function F(e) {
|
|
341
|
-
let t = e.managedAddress, n = e.sessionKeyAddress;
|
|
342
|
-
try {
|
|
343
|
-
await N({
|
|
344
|
-
admin: e.admin,
|
|
345
|
-
managedAddress: t,
|
|
346
|
-
sessionKeyAddress: n,
|
|
347
|
-
permissions: x()
|
|
348
|
-
});
|
|
349
|
-
} catch (e) {
|
|
350
|
-
throw e instanceof o ? e : new o(M, "MODULAR_SIGNER_ACTIVATION_FAILED", t, e);
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
async function I(e, n) {
|
|
354
|
-
try {
|
|
355
|
-
return await t(e) ? await i(e, n) : !1;
|
|
356
|
-
} catch (t) {
|
|
357
|
-
throw new o(j, "MODULAR_SIGNER_ACTIVATION_FAILED", e, t);
|
|
358
|
-
}
|
|
359
|
-
}
|
|
360
|
-
//#endregion
|
|
361
|
-
export { D as a, E as c, k as i, b as l, I as n, T as o, F as r, w as s, P as t, C as u };
|
|
362
|
-
|
|
363
|
-
//# sourceMappingURL=ensureSessionKey-D2Lq-56x.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ensureSessionKey-D2Lq-56x.js","names":[],"sources":["../src/helpers/modularAccount/abi.ts","../src/helpers/modularAccount/eip712.ts","../src/helpers/modularAccount/encode.ts","../src/helpers/modularAccount/reads.ts","../src/helpers/modularAccount/ensureSessionKey.ts"],"sourcesContent":["/**\n * In-repo ABIs for ModularCore + IAccountPermissions (Seed ManagedAccount).\n * Selectors match Thirdweb generated extensions; no thirdweb imports.\n */\n\nexport const modularCoreInstallModuleAbi = [\n {\n type: 'function',\n name: 'installModule',\n stateMutability: 'nonpayable',\n inputs: [\n { name: 'moduleContract', type: 'address' },\n { name: 'data', type: 'bytes' },\n ],\n outputs: [],\n },\n] as const\n\nexport const modularCoreGetInstalledModulesAbi = [\n {\n type: 'function',\n name: 'getInstalledModules',\n stateMutability: 'view',\n inputs: [],\n outputs: [\n {\n type: 'tuple[]',\n components: [\n { name: 'implementation', type: 'address' },\n {\n name: 'config',\n type: 'tuple',\n components: [\n { name: 'registerInstallationCallback', type: 'bool' },\n { name: 'requiredInterfaces', type: 'bytes4[]' },\n { name: 'supportedInterfaces', type: 'bytes4[]' },\n {\n name: 'callbackFunctions',\n type: 'tuple[]',\n components: [{ name: 'selector', type: 'bytes4' }],\n },\n {\n name: 'fallbackFunctions',\n type: 'tuple[]',\n components: [\n { name: 'selector', type: 'bytes4' },\n { name: 'permissionBits', type: 'uint256' },\n ],\n },\n ],\n },\n ],\n },\n ],\n },\n] as const\n\nexport const accountPermissionsSetPermissionsAbi = [\n {\n type: 'function',\n name: 'setPermissionsForSigner',\n stateMutability: 'nonpayable',\n inputs: [\n {\n name: 'req',\n type: 'tuple',\n components: [\n { name: 'signer', type: 'address' },\n { name: 'isAdmin', type: 'uint8' },\n { name: 'approvedTargets', type: 'address[]' },\n { name: 'nativeTokenLimitPerTransaction', type: 'uint256' },\n { name: 'permissionStartTimestamp', type: 'uint128' },\n { name: 'permissionEndTimestamp', type: 'uint128' },\n { name: 'reqValidityStartTimestamp', type: 'uint128' },\n { name: 'reqValidityEndTimestamp', type: 'uint128' },\n { name: 'uid', type: 'bytes32' },\n ],\n },\n { name: 'signature', type: 'bytes' },\n ],\n outputs: [],\n },\n] as const\n\nexport const accountPermissionsGetPermissionsAbi = [\n {\n type: 'function',\n name: 'getPermissionsForSigner',\n stateMutability: 'view',\n inputs: [{ name: 'signer', type: 'address' }],\n outputs: [\n {\n name: 'permissions',\n type: 'tuple',\n components: [\n { name: 'signer', type: 'address' },\n { name: 'approvedTargets', type: 'address[]' },\n { name: 'nativeTokenLimitPerTransaction', type: 'uint256' },\n { name: 'startTimestamp', type: 'uint128' },\n { name: 'endTimestamp', type: 'uint128' },\n ],\n },\n ],\n },\n] as const\n\n/** EIP-712 type fields for SignerPermissionRequest (Account domain). */\nexport const SIGNER_PERMISSION_REQUEST_TYPES = {\n SignerPermissionRequest: [\n { name: 'signer', type: 'address' },\n { name: 'isAdmin', type: 'uint8' },\n { name: 'approvedTargets', type: 'address[]' },\n { name: 'nativeTokenLimitPerTransaction', type: 'uint256' },\n { name: 'permissionStartTimestamp', type: 'uint128' },\n { name: 'permissionEndTimestamp', type: 'uint128' },\n { name: 'reqValidityStartTimestamp', type: 'uint128' },\n { name: 'reqValidityEndTimestamp', type: 'uint128' },\n { name: 'uid', type: 'bytes32' },\n ],\n} as const\n\nexport type SignerPermissionRequest = {\n signer: `0x${string}`\n isAdmin: number\n approvedTargets: readonly `0x${string}`[]\n nativeTokenLimitPerTransaction: bigint\n permissionStartTimestamp: bigint\n permissionEndTimestamp: bigint\n reqValidityStartTimestamp: bigint\n reqValidityEndTimestamp: bigint\n uid: `0x${string}`\n}\n","import { parseEther, type Address, type Hex, type TypedDataDefinition } from 'viem'\nimport { requireSignTypedData, type SeedSigner } from '../seedSigner'\nimport { getPublishViemChain } from '../chainConfig'\nimport {\n SIGNER_PERMISSION_REQUEST_TYPES,\n type SignerPermissionRequest,\n} from './abi'\nimport type { SessionKeyPermissions } from './permissions'\n\nconst ZERO_ADDRESS = '0x0000000000000000000000000000000000000000' as const\n/** ~10 years in seconds from a reference “now” — matches Thirdweb `tenYearsFromNow` window. */\nconst TEN_YEARS_SECONDS = 10n * 365n * 24n * 60n * 60n\n\nfunction randomUid(): Hex {\n const bytes = new Uint8Array(32)\n crypto.getRandomValues(bytes)\n return `0x${Array.from(bytes, (b) => b.toString(16).padStart(2, '0')).join('')}` as Hex\n}\n\nfunction nowSeconds(): bigint {\n return BigInt(Math.floor(Date.now() / 1000))\n}\n\n/**\n * Build the on-chain `SignerPermissionRequest` tuple (same shape as Thirdweb `toContractPermissions`).\n */\nexport function buildSignerPermissionRequest(params: {\n sessionKeyAddress: Address\n permissions: SessionKeyPermissions\n /** Override uid (tests). */\n uid?: Hex\n}): SignerPermissionRequest {\n const { sessionKeyAddress, permissions } = params\n const start =\n permissions.permissionStartTimestamp != null\n ? BigInt(permissions.permissionStartTimestamp)\n : 0n\n const end =\n permissions.permissionEndTimestamp != null\n ? BigInt(permissions.permissionEndTimestamp)\n : nowSeconds() + TEN_YEARS_SECONDS\n const approvedTargets =\n permissions.approvedTargets === '*'\n ? ([ZERO_ADDRESS] as `0x${string}`[])\n : permissions.approvedTargets\n\n const ethLimit = permissions.nativeTokenLimitPerTransaction ?? 0\n return {\n signer: sessionKeyAddress,\n isAdmin: 0,\n approvedTargets,\n nativeTokenLimitPerTransaction: parseEther(String(ethLimit)),\n permissionStartTimestamp: start,\n permissionEndTimestamp: end,\n reqValidityStartTimestamp: 0n,\n reqValidityEndTimestamp: nowSeconds() + TEN_YEARS_SECONDS,\n uid: params.uid ?? randomUid(),\n }\n}\n\n/** Permissions that clear a session key (Thirdweb `removeSessionKey`). */\nexport function buildRemoveSessionKeyPermissions(): SessionKeyPermissions {\n return {\n approvedTargets: [],\n nativeTokenLimitPerTransaction: 0,\n permissionStartTimestamp: 0,\n permissionEndTimestamp: 0,\n }\n}\n\nexport function signerPermissionTypedData(params: {\n managedAddress: Address\n req: SignerPermissionRequest\n chainId?: number\n}): TypedDataDefinition {\n const chainId = params.chainId ?? getPublishViemChain().id\n return {\n domain: {\n name: 'Account',\n version: '1',\n chainId,\n verifyingContract: params.managedAddress,\n },\n types: SIGNER_PERMISSION_REQUEST_TYPES,\n primaryType: 'SignerPermissionRequest',\n message: params.req,\n }\n}\n\n/**\n * Admin-signs a SignerPermissionRequest for `setPermissionsForSigner`.\n */\nexport async function signSignerPermissionRequest(params: {\n adminSigner: SeedSigner\n managedAddress: Address\n req: SignerPermissionRequest\n chainId?: number\n}): Promise<Hex> {\n const signTypedData = requireSignTypedData(params.adminSigner)\n return signTypedData(\n signerPermissionTypedData({\n managedAddress: params.managedAddress,\n req: params.req,\n chainId: params.chainId,\n }),\n )\n}\n","import { encodeAbiParameters, encodeFunctionData, type Address, type Hex } from 'viem'\nimport type { SeedTxRequest } from '../seedSigner'\nimport {\n accountPermissionsSetPermissionsAbi,\n modularCoreInstallModuleAbi,\n type SignerPermissionRequest,\n} from './abi'\nimport { EAS_CONTRACT_ADDRESS } from '../constants'\n\nexport function encodeInstallModule(params: {\n managedAddress: Address\n moduleContract: Address\n data?: Hex\n}): SeedTxRequest {\n return {\n to: params.managedAddress,\n data: encodeFunctionData({\n abi: modularCoreInstallModuleAbi,\n functionName: 'installModule',\n args: [params.moduleContract, params.data ?? '0x'],\n }),\n }\n}\n\n/** Default module install data used by Seed executor: EAS address. */\nexport function encodeExecutorModuleInstallData(\n easAddress: Address = EAS_CONTRACT_ADDRESS as Address,\n): Hex {\n return encodeAbiParameters([{ type: 'address' }], [easAddress])\n}\n\nexport function encodeSetPermissionsForSigner(params: {\n managedAddress: Address\n req: SignerPermissionRequest\n signature: Hex\n}): SeedTxRequest {\n return {\n to: params.managedAddress,\n data: encodeFunctionData({\n abi: accountPermissionsSetPermissionsAbi,\n functionName: 'setPermissionsForSigner',\n args: [params.req, params.signature],\n }),\n }\n}\n","import type { Address } from 'viem'\nimport { getPublishPublicClient } from '../chainClient'\nimport { readIsActiveSigner } from '../contracts'\nimport {\n accountPermissionsGetPermissionsAbi,\n modularCoreGetInstalledModulesAbi,\n} from './abi'\n\nexport type InstalledModule = {\n implementation: Address\n}\n\nexport type OnChainSignerPermissions = {\n signer: Address\n approvedTargets: readonly Address[]\n nativeTokenLimitPerTransaction: bigint\n startTimestamp: bigint\n endTimestamp: bigint\n}\n\nexport { readIsActiveSigner }\n\nexport async function readInstalledModules(\n managedAddress: Address,\n): Promise<InstalledModule[]> {\n const result = await getPublishPublicClient().readContract({\n address: managedAddress,\n abi: modularCoreGetInstalledModulesAbi,\n functionName: 'getInstalledModules',\n })\n return (result as unknown as Array<{ implementation: Address }>).map((m) => ({\n implementation: m.implementation,\n }))\n}\n\nexport async function readPermissionsForSigner(\n managedAddress: Address,\n signer: Address,\n): Promise<OnChainSignerPermissions> {\n const result = await getPublishPublicClient().readContract({\n address: managedAddress,\n abi: accountPermissionsGetPermissionsAbi,\n functionName: 'getPermissionsForSigner',\n args: [signer],\n })\n return result as OnChainSignerPermissions\n}\n\nexport function isModuleInstalled(\n installed: InstalledModule[],\n moduleAddress: string,\n): boolean {\n const want = moduleAddress.trim().toLowerCase()\n return installed.some((m) => m.implementation?.toLowerCase() === want)\n}\n\n/**\n * Whether session-key permissions should be (re)written — mirrors Thirdweb `shouldUpdateSessionKey`.\n */\nexport function shouldUpdateSessionKeyPermissions(params: {\n current: OnChainSignerPermissions\n /** Desired approved targets (lowercased comparison). */\n approvedTargets: `0x${string}`[]\n /** Desired native limit in wei. */\n nativeTokenLimitPerTransactionWei: bigint\n nowSeconds?: number\n}): boolean {\n const now = params.nowSeconds ?? Math.floor(Date.now() / 1000)\n if (params.current.endTimestamp && Number(params.current.endTimestamp) < now) {\n return true\n }\n const currentTargets = params.current.approvedTargets.map((t) => t.toLowerCase())\n const newTargets = params.approvedTargets.map((t) => t.toLowerCase())\n const targetsCovered = newTargets.every((t) => currentTargets.includes(t))\n if (!targetsCovered) return true\n if (params.nativeTokenLimitPerTransactionWei > params.current.nativeTokenLimitPerTransaction) {\n return true\n }\n return false\n}\n","import { parseEther, type Address, type Hex } from 'viem'\nimport { ManagedAccountPublishError } from '../../errors'\nimport { isContractDeployed, waitForPublishReceipt } from '../chainClient'\nimport type { PublishWallet } from '../seedSigner'\nimport { requireSignTypedData } from '../seedSigner'\nimport {\n buildRemoveSessionKeyPermissions,\n buildSignerPermissionRequest,\n signSignerPermissionRequest,\n} from './eip712'\nimport { encodeSetPermissionsForSigner } from './encode'\nimport type { SessionKeyPermissions } from './permissions'\nimport {\n readIsActiveSigner,\n readPermissionsForSigner,\n shouldUpdateSessionKeyPermissions,\n} from './reads'\n\nconst MSG_ACTIVATION_FAILED =\n 'Could not authorize the session key on your publishing account on Optimism Sepolia.'\nconst MSG_REMOVAL_FAILED =\n 'Could not remove the session key from your publishing account on Optimism Sepolia.'\n\nasync function sendSetPermissions(params: {\n admin: PublishWallet\n managedAddress: Address\n sessionKeyAddress: Address\n permissions: SessionKeyPermissions\n}): Promise<void> {\n requireSignTypedData(params.admin.signer)\n const req = buildSignerPermissionRequest({\n sessionKeyAddress: params.sessionKeyAddress,\n permissions: params.permissions,\n })\n const signature = await signSignerPermissionRequest({\n adminSigner: params.admin.signer,\n managedAddress: params.managedAddress,\n req,\n })\n const tx = encodeSetPermissionsForSigner({\n managedAddress: params.managedAddress,\n req,\n signature: signature as Hex,\n })\n // Admin must submit as the ManagedAccount (UserOp or AA-sponsored path).\n const result = await params.admin.txSender.sendTransaction(tx)\n await waitForPublishReceipt(result.transactionHash)\n}\n\n/**\n * Ensures `sessionKeyAddress` has the given permissions on the ManagedAccount.\n * Admin `PublishWallet` must control the ManagedAccount (signTypedData + send as account).\n */\nexport async function ensureSessionKey(params: {\n managedAddress: string\n sessionKeyAddress: string\n permissions: SessionKeyPermissions\n admin: PublishWallet\n /** Error code / messages for ManagedAccountPublishError wrapping. */\n activationFailedMessage?: string\n}): Promise<void> {\n const managedAddress = params.managedAddress as Address\n const sessionKeyAddress = params.sessionKeyAddress as Address\n const msg = params.activationFailedMessage ?? MSG_ACTIVATION_FAILED\n\n let shouldUpdate = true\n try {\n if (await isContractDeployed(managedAddress)) {\n const current = await readPermissionsForSigner(managedAddress, sessionKeyAddress)\n const ethLimit = params.permissions.nativeTokenLimitPerTransaction ?? 0\n shouldUpdate = shouldUpdateSessionKeyPermissions({\n current,\n approvedTargets:\n params.permissions.approvedTargets === '*'\n ? (['0x0000000000000000000000000000000000000000'] as `0x${string}`[])\n : params.permissions.approvedTargets,\n nativeTokenLimitPerTransactionWei: parseEther(String(ethLimit)),\n })\n }\n } catch (cause) {\n throw new ManagedAccountPublishError(\n msg,\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n cause,\n )\n }\n\n if (shouldUpdate) {\n try {\n await sendSetPermissions({\n admin: params.admin,\n managedAddress,\n sessionKeyAddress,\n permissions: params.permissions,\n })\n } catch (cause) {\n if (cause instanceof ManagedAccountPublishError) throw cause\n throw new ManagedAccountPublishError(\n msg,\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n cause,\n )\n }\n }\n\n let active = false\n try {\n active = await readIsActiveSigner(managedAddress, sessionKeyAddress)\n } catch (cause) {\n throw new ManagedAccountPublishError(\n msg,\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n cause,\n )\n }\n\n if (!active) {\n throw new ManagedAccountPublishError(\n msg,\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n )\n }\n}\n\nexport async function removeSessionKey(params: {\n managedAddress: string\n sessionKeyAddress: string\n admin: PublishWallet\n}): Promise<void> {\n const managedAddress = params.managedAddress as Address\n const sessionKeyAddress = params.sessionKeyAddress as Address\n try {\n await sendSetPermissions({\n admin: params.admin,\n managedAddress,\n sessionKeyAddress,\n permissions: buildRemoveSessionKeyPermissions(),\n })\n } catch (cause) {\n if (cause instanceof ManagedAccountPublishError) throw cause\n throw new ManagedAccountPublishError(\n MSG_REMOVAL_FAILED,\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n cause,\n )\n }\n}\n\n/**\n * True when `sessionKeyAddress` is an active signer on the ManagedAccount.\n * Returns `false` when undeployed. Throws on RPC/decode failures for deployed accounts.\n */\nexport async function isSessionKeyActive(\n managedAddress: string,\n sessionKeyAddress: string,\n): Promise<boolean> {\n try {\n if (!(await isContractDeployed(managedAddress))) {\n return false\n }\n return await readIsActiveSigner(\n managedAddress as Address,\n sessionKeyAddress as Address,\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"],"mappings":"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"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { g as e, h as t, nt as n, r, s as i } from "./config-qjpaJcBA.js";
|
|
2
|
-
import { r as a } from "./errors-Du3LNbJN.js";
|
|
3
|
-
import { A as o, R as s, h as c, k as l } from "./publishAuthorization-CSN2FsQk.js";
|
|
4
|
-
import { optimismSepolia as u } from "thirdweb/chains";
|
|
5
|
-
import { ethers as d } from "ethers";
|
|
6
|
-
//#region src/helpers/ensureSmartWalletThenPublish.ts
|
|
7
|
-
var f = /* @__PURE__ */ n({ ensureSmartWalletThenPublish: () => g }), p = "A connected wallet is required for publishing with the modular executor. Connect your wallet and try again.", m = "Could not connect the managed publishing account on Optimism Sepolia. Reconnect with the same sign-in method and try again.";
|
|
8
|
-
function h(n) {
|
|
9
|
-
if (n) return n instanceof d.Wallet ? n : t(n) ? n.signer : e(n) ? n : i(n).signer;
|
|
10
|
-
}
|
|
11
|
-
async function g(e, t, n, d) {
|
|
12
|
-
let f = r(), g = await n();
|
|
13
|
-
if (!g || !g.trim()) return { outcome: "no_address" };
|
|
14
|
-
if (f.useModularExecutor) {
|
|
15
|
-
let t = await o();
|
|
16
|
-
if (!t) return {
|
|
17
|
-
outcome: "managed_not_ready",
|
|
18
|
-
error: new a(p, "MANAGED_ACCOUNT_UNAVAILABLE")
|
|
19
|
-
};
|
|
20
|
-
let n;
|
|
21
|
-
try {
|
|
22
|
-
n = await l(u);
|
|
23
|
-
} catch (e) {
|
|
24
|
-
return {
|
|
25
|
-
outcome: "managed_not_ready",
|
|
26
|
-
error: new a(m, "MANAGED_ACCOUNT_UNAVAILABLE", void 0, e)
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
let r = i(t);
|
|
30
|
-
return c.createPublish(e, n, r, {
|
|
31
|
-
...d,
|
|
32
|
-
dataItemSigner: h(d?.dataItemSigner) ?? r.signer
|
|
33
|
-
}), { outcome: "started" };
|
|
34
|
-
}
|
|
35
|
-
let _ = await s(t ?? null);
|
|
36
|
-
if ("address" in _) {
|
|
37
|
-
let t = i(_.account);
|
|
38
|
-
return c.createPublish(e, _.address, t, {
|
|
39
|
-
...d,
|
|
40
|
-
dataItemSigner: h(d?.dataItemSigner) ?? t.signer
|
|
41
|
-
}), { outcome: "started" };
|
|
42
|
-
}
|
|
43
|
-
return { outcome: "needs_deploy" };
|
|
44
|
-
}
|
|
45
|
-
//#endregion
|
|
46
|
-
export { f as n, g as t };
|
|
47
|
-
|
|
48
|
-
//# sourceMappingURL=ensureSmartWalletThenPublish-BFPugsKJ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ensureSmartWalletThenPublish-BFPugsKJ.js","names":[],"sources":["../src/helpers/ensureSmartWalletThenPublish.ts"],"sourcesContent":["import type { Item } from '@seedprotocol/sdk'\nimport type { Account } from 'thirdweb/wallets'\nimport { optimismSepolia } from 'thirdweb/chains'\nimport {\n getConnectedManagedAccountAddress,\n getConnectedModularAccount,\n resolveSmartWalletForPublish,\n} from './thirdweb'\nimport { fromThirdwebAccount } from './adapters/thirdwebAccount'\nimport { isPublishWallet, isSeedSigner, type PublishWallet, type SeedSigner } from './seedSigner'\nimport { ethers } from 'ethers'\nimport { PublishManager } from '../services/publishManager'\nimport type { CreatePublishOptions } from '../config'\nimport { getPublishConfig } from '../config'\nimport { ManagedAccountPublishError } from '../errors'\n\nexport type EnsureSmartWalletResult =\n | { outcome: 'started' }\n | { outcome: 'no_address' }\n | { outcome: 'needs_deploy' }\n | { outcome: 'managed_not_ready'; error: ManagedAccountPublishError }\n\nconst MSG_NO_ACCOUNT_MODULAR =\n 'A connected wallet is required for publishing with the modular executor. Connect your wallet and try again.'\n\nconst MSG_MANAGED_UNAVAILABLE =\n 'Could not connect the managed publishing account on Optimism Sepolia. Reconnect with the same sign-in method and try again.'\n\nfunction coerceDataItemSigner(\n signer: CreatePublishOptions['dataItemSigner'] | Account | SeedSigner | PublishWallet | undefined,\n): CreatePublishOptions['dataItemSigner'] {\n if (!signer) return undefined\n if (signer instanceof ethers.Wallet) return signer\n if (isPublishWallet(signer)) return signer.signer\n if (isSeedSigner(signer)) return signer\n return fromThirdwebAccount(signer as Account).signer\n}\n\n/**\n * Thirdweb path: resolves the smart wallet for the current account; if deployed, starts publish.\n * Prefer {@link ensureWalletThenPublish} for vendor-neutral entry.\n */\nexport async function ensureSmartWalletThenPublish(\n item: Item<any>,\n activeAccount: Account | null | undefined,\n getAddress: () => Promise<string | null>,\n options?: CreatePublishOptions,\n): Promise<EnsureSmartWalletResult> {\n const config = getPublishConfig()\n const address = await getAddress()\n if (!address || !address.trim()) {\n return { outcome: 'no_address' }\n }\n\n if (config.useModularExecutor) {\n const modularAccount = await getConnectedModularAccount()\n if (!modularAccount) {\n return {\n outcome: 'managed_not_ready',\n error: new ManagedAccountPublishError(MSG_NO_ACCOUNT_MODULAR, 'MANAGED_ACCOUNT_UNAVAILABLE'),\n }\n }\n\n let managedAddress: string\n try {\n managedAddress = await getConnectedManagedAccountAddress(optimismSepolia)\n } catch (cause) {\n return {\n outcome: 'managed_not_ready',\n error: new ManagedAccountPublishError(\n MSG_MANAGED_UNAVAILABLE,\n 'MANAGED_ACCOUNT_UNAVAILABLE',\n undefined,\n cause,\n ),\n }\n }\n\n const wallet = fromThirdwebAccount(modularAccount)\n PublishManager.createPublish(item, managedAddress, wallet, {\n ...options,\n dataItemSigner: coerceDataItemSigner(options?.dataItemSigner) ?? wallet.signer,\n })\n return { outcome: 'started' }\n }\n\n const resolved = await resolveSmartWalletForPublish(activeAccount ?? null)\n if ('address' in resolved) {\n const wallet = fromThirdwebAccount(resolved.account)\n PublishManager.createPublish(item, resolved.address, wallet, {\n ...options,\n dataItemSigner: coerceDataItemSigner(options?.dataItemSigner) ?? wallet.signer,\n })\n return { outcome: 'started' }\n }\n return { outcome: 'needs_deploy' }\n}\n"],"mappings":";;;;;;sEAsBM,IACJ,+GAEI,IACJ;AAEF,SAAS,EACP,GACwC;CACnC,OAIL,OAHI,aAAkB,EAAO,SAAe,IACxC,EAAgB,CAAM,IAAU,EAAO,SACvC,EAAa,CAAM,IAAU,IAC1B,EAAoB,CAAiB,CAAC,CAAC;AAChD;AAMA,eAAsB,EACpB,GACA,GACA,GACA,GACkC;CAClC,IAAM,IAAS,EAAiB,GAC1B,IAAU,MAAM,EAAW;CACjC,IAAI,CAAC,KAAW,CAAC,EAAQ,KAAK,GAC5B,OAAO,EAAE,SAAS,aAAa;CAGjC,IAAI,EAAO,oBAAoB;EAC7B,IAAM,IAAiB,MAAM,EAA2B;EACxD,IAAI,CAAC,GACH,OAAO;GACL,SAAS;GACT,OAAO,IAAI,EAA2B,GAAwB,6BAA6B;EAC7F;EAGF,IAAI;EACJ,IAAI;GACF,IAAiB,MAAM,EAAkC,CAAe;EAC1E,SAAS,GAAO;GACd,OAAO;IACL,SAAS;IACT,OAAO,IAAI,EACT,GACA,+BACA,KAAA,GACA,CACF;GACF;EACF;EAEA,IAAM,IAAS,EAAoB,CAAc;EAKjD,OAJA,EAAe,cAAc,GAAM,GAAgB,GAAQ;GACzD,GAAG;GACH,gBAAgB,EAAqB,GAAS,cAAc,KAAK,EAAO;EAC1E,CAAC,GACM,EAAE,SAAS,UAAU;CAC9B;CAEA,IAAM,IAAW,MAAM,EAA6B,KAAiB,IAAI;CACzE,IAAI,aAAa,GAAU;EACzB,IAAM,IAAS,EAAoB,EAAS,OAAO;EAKnD,OAJA,EAAe,cAAc,GAAM,EAAS,SAAS,GAAQ;GAC3D,GAAG;GACH,gBAAgB,EAAqB,GAAS,cAAc,KAAK,EAAO;EAC1E,CAAC,GACM,EAAE,SAAS,UAAU;CAC9B;CACA,OAAO,EAAE,SAAS,eAAe;AACnC"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
|
|
2
|
-
import { g as t, h as n, r, s as i } from "./config-EQZZNH9H.js";
|
|
3
|
-
import { r as a } from "./errors-Du3LNbJN.js";
|
|
4
|
-
import { L as o, O as s, h as c, k as l } from "./publishAuthorization-Bltn3y_K.js";
|
|
5
|
-
import { optimismSepolia as u } from "thirdweb/chains";
|
|
6
|
-
import { ethers as d } from "ethers";
|
|
7
|
-
//#region src/helpers/ensureSmartWalletThenPublish.ts
|
|
8
|
-
var f = /* @__PURE__ */ e({ ensureSmartWalletThenPublish: () => g }), p = "A connected wallet is required for publishing with the modular executor. Connect your wallet and try again.", m = "Could not connect the managed publishing account on Optimism Sepolia. Reconnect with the same sign-in method and try again.";
|
|
9
|
-
function h(e) {
|
|
10
|
-
if (e) return e instanceof d.Wallet ? e : n(e) ? e.signer : t(e) ? e : i(e).signer;
|
|
11
|
-
}
|
|
12
|
-
async function g(e, t, n, d) {
|
|
13
|
-
let f = r(), g = await n();
|
|
14
|
-
if (!g || !g.trim()) return { outcome: "no_address" };
|
|
15
|
-
if (f.useModularExecutor) {
|
|
16
|
-
let t = await l();
|
|
17
|
-
if (!t) return {
|
|
18
|
-
outcome: "managed_not_ready",
|
|
19
|
-
error: new a(p, "MANAGED_ACCOUNT_UNAVAILABLE")
|
|
20
|
-
};
|
|
21
|
-
let n;
|
|
22
|
-
try {
|
|
23
|
-
n = await s(u);
|
|
24
|
-
} catch (e) {
|
|
25
|
-
return {
|
|
26
|
-
outcome: "managed_not_ready",
|
|
27
|
-
error: new a(m, "MANAGED_ACCOUNT_UNAVAILABLE", void 0, e)
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
let r = i(t);
|
|
31
|
-
return c.createPublish(e, n, r, {
|
|
32
|
-
...d,
|
|
33
|
-
dataItemSigner: h(d?.dataItemSigner) ?? r.signer
|
|
34
|
-
}), { outcome: "started" };
|
|
35
|
-
}
|
|
36
|
-
let _ = await o(t ?? null);
|
|
37
|
-
if ("address" in _) {
|
|
38
|
-
let t = i(_.account);
|
|
39
|
-
return c.createPublish(e, _.address, t, {
|
|
40
|
-
...d,
|
|
41
|
-
dataItemSigner: h(d?.dataItemSigner) ?? t.signer
|
|
42
|
-
}), { outcome: "started" };
|
|
43
|
-
}
|
|
44
|
-
return { outcome: "needs_deploy" };
|
|
45
|
-
}
|
|
46
|
-
//#endregion
|
|
47
|
-
export { f as n, g as t };
|
|
48
|
-
|
|
49
|
-
//# sourceMappingURL=ensureSmartWalletThenPublish-BSYzckyS.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ensureSmartWalletThenPublish-BSYzckyS.js","names":[],"sources":["../src/helpers/ensureSmartWalletThenPublish.ts"],"sourcesContent":["import type { Item } from '@seedprotocol/sdk'\nimport type { Account } from 'thirdweb/wallets'\nimport { optimismSepolia } from 'thirdweb/chains'\nimport {\n getConnectedManagedAccountAddress,\n getConnectedModularAccount,\n resolveSmartWalletForPublish,\n} from './thirdweb'\nimport { fromThirdwebAccount } from './adapters/thirdwebAccount'\nimport { isPublishWallet, isSeedSigner, type PublishWallet, type SeedSigner } from './seedSigner'\nimport { ethers } from 'ethers'\nimport { PublishManager } from '../services/publishManager'\nimport type { CreatePublishOptions } from '../config'\nimport { getPublishConfig } from '../config'\nimport { ManagedAccountPublishError } from '../errors'\n\nexport type EnsureSmartWalletResult =\n | { outcome: 'started' }\n | { outcome: 'no_address' }\n | { outcome: 'needs_deploy' }\n | { outcome: 'managed_not_ready'; error: ManagedAccountPublishError }\n\nconst MSG_NO_ACCOUNT_MODULAR =\n 'A connected wallet is required for publishing with the modular executor. Connect your wallet and try again.'\n\nconst MSG_MANAGED_UNAVAILABLE =\n 'Could not connect the managed publishing account on Optimism Sepolia. Reconnect with the same sign-in method and try again.'\n\nfunction coerceDataItemSigner(\n signer: CreatePublishOptions['dataItemSigner'] | Account | SeedSigner | PublishWallet | undefined,\n): CreatePublishOptions['dataItemSigner'] {\n if (!signer) return undefined\n if (signer instanceof ethers.Wallet) return signer\n if (isPublishWallet(signer)) return signer.signer\n if (isSeedSigner(signer)) return signer\n return fromThirdwebAccount(signer as Account).signer\n}\n\n/**\n * Thirdweb path: resolves the smart wallet for the current account; if deployed, starts publish.\n * Prefer {@link ensureWalletThenPublish} for vendor-neutral entry.\n */\nexport async function ensureSmartWalletThenPublish(\n item: Item<any>,\n activeAccount: Account | null | undefined,\n getAddress: () => Promise<string | null>,\n options?: CreatePublishOptions,\n): Promise<EnsureSmartWalletResult> {\n const config = getPublishConfig()\n const address = await getAddress()\n if (!address || !address.trim()) {\n return { outcome: 'no_address' }\n }\n\n if (config.useModularExecutor) {\n const modularAccount = await getConnectedModularAccount()\n if (!modularAccount) {\n return {\n outcome: 'managed_not_ready',\n error: new ManagedAccountPublishError(MSG_NO_ACCOUNT_MODULAR, 'MANAGED_ACCOUNT_UNAVAILABLE'),\n }\n }\n\n let managedAddress: string\n try {\n managedAddress = await getConnectedManagedAccountAddress(optimismSepolia)\n } catch (cause) {\n return {\n outcome: 'managed_not_ready',\n error: new ManagedAccountPublishError(\n MSG_MANAGED_UNAVAILABLE,\n 'MANAGED_ACCOUNT_UNAVAILABLE',\n undefined,\n cause,\n ),\n }\n }\n\n const wallet = fromThirdwebAccount(modularAccount)\n PublishManager.createPublish(item, managedAddress, wallet, {\n ...options,\n dataItemSigner: coerceDataItemSigner(options?.dataItemSigner) ?? wallet.signer,\n })\n return { outcome: 'started' }\n }\n\n const resolved = await resolveSmartWalletForPublish(activeAccount ?? null)\n if ('address' in resolved) {\n const wallet = fromThirdwebAccount(resolved.account)\n PublishManager.createPublish(item, resolved.address, wallet, {\n ...options,\n dataItemSigner: coerceDataItemSigner(options?.dataItemSigner) ?? wallet.signer,\n })\n return { outcome: 'started' }\n }\n return { outcome: 'needs_deploy' }\n}\n"],"mappings":";;;;;;;sEAsBM,IACJ,+GAEI,IACJ;AAEF,SAAS,EACP,GACwC;CACnC,OAIL,OAHI,aAAkB,EAAO,SAAe,IACxC,EAAgB,CAAM,IAAU,EAAO,SACvC,EAAa,CAAM,IAAU,IAC1B,EAAoB,CAAiB,CAAC,CAAC;AAChD;AAMA,eAAsB,EACpB,GACA,GACA,GACA,GACkC;CAClC,IAAM,IAAS,EAAiB,GAC1B,IAAU,MAAM,EAAW;CACjC,IAAI,CAAC,KAAW,CAAC,EAAQ,KAAK,GAC5B,OAAO,EAAE,SAAS,aAAa;CAGjC,IAAI,EAAO,oBAAoB;EAC7B,IAAM,IAAiB,MAAM,EAA2B;EACxD,IAAI,CAAC,GACH,OAAO;GACL,SAAS;GACT,OAAO,IAAI,EAA2B,GAAwB,6BAA6B;EAC7F;EAGF,IAAI;EACJ,IAAI;GACF,IAAiB,MAAM,EAAkC,CAAe;EAC1E,SAAS,GAAO;GACd,OAAO;IACL,SAAS;IACT,OAAO,IAAI,EACT,GACA,+BACA,KAAA,GACA,CACF;GACF;EACF;EAEA,IAAM,IAAS,EAAoB,CAAc;EAKjD,OAJA,EAAe,cAAc,GAAM,GAAgB,GAAQ;GACzD,GAAG;GACH,gBAAgB,EAAqB,GAAS,cAAc,KAAK,EAAO;EAC1E,CAAC,GACM,EAAE,SAAS,UAAU;CAC9B;CAEA,IAAM,IAAW,MAAM,EAA6B,KAAiB,IAAI;CACzE,IAAI,aAAa,GAAU;EACzB,IAAM,IAAS,EAAoB,EAAS,OAAO;EAKnD,OAJA,EAAe,cAAc,GAAM,EAAS,SAAS,GAAQ;GAC3D,GAAG;GACH,gBAAgB,EAAqB,GAAS,cAAc,KAAK,EAAO;EAC1E,CAAC,GACM,EAAE,SAAS,UAAU;CAC9B;CACA,OAAO,EAAE,SAAS,eAAe;AACnC"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
|
|
2
|
-
import { g as t, h as n, r, s as i } from "./config-CPBd5C_b.js";
|
|
3
|
-
import { r as a } from "./errors-Du3LNbJN.js";
|
|
4
|
-
import { B as o, M as s, h as c, j as l } from "./publishAuthorization-DqhhCAhd.js";
|
|
5
|
-
import { optimismSepolia as u } from "thirdweb/chains";
|
|
6
|
-
import { ethers as d } from "ethers";
|
|
7
|
-
//#region src/helpers/ensureSmartWalletThenPublish.ts
|
|
8
|
-
var f = /* @__PURE__ */ e({ ensureSmartWalletThenPublish: () => g }), p = "A connected wallet is required for publishing with the modular executor. Connect your wallet and try again.", m = "Could not connect the managed publishing account on Optimism Sepolia. Reconnect with the same sign-in method and try again.";
|
|
9
|
-
function h(e) {
|
|
10
|
-
if (e) return e instanceof d.Wallet ? e : n(e) ? e.signer : t(e) ? e : i(e).signer;
|
|
11
|
-
}
|
|
12
|
-
async function g(e, t, n, d) {
|
|
13
|
-
let f = r(), g = await n();
|
|
14
|
-
if (!g || !g.trim()) return { outcome: "no_address" };
|
|
15
|
-
if (f.useModularExecutor) {
|
|
16
|
-
let t = await s();
|
|
17
|
-
if (!t) return {
|
|
18
|
-
outcome: "managed_not_ready",
|
|
19
|
-
error: new a(p, "MANAGED_ACCOUNT_UNAVAILABLE")
|
|
20
|
-
};
|
|
21
|
-
let n;
|
|
22
|
-
try {
|
|
23
|
-
n = await l(u);
|
|
24
|
-
} catch (e) {
|
|
25
|
-
return {
|
|
26
|
-
outcome: "managed_not_ready",
|
|
27
|
-
error: new a(m, "MANAGED_ACCOUNT_UNAVAILABLE", void 0, e)
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
let r = i(t);
|
|
31
|
-
return c.createPublish(e, n, r, {
|
|
32
|
-
...d,
|
|
33
|
-
dataItemSigner: h(d?.dataItemSigner) ?? r.signer
|
|
34
|
-
}), { outcome: "started" };
|
|
35
|
-
}
|
|
36
|
-
let _ = await o(t ?? null);
|
|
37
|
-
if ("address" in _) {
|
|
38
|
-
let t = i(_.account);
|
|
39
|
-
return c.createPublish(e, _.address, t, {
|
|
40
|
-
...d,
|
|
41
|
-
dataItemSigner: h(d?.dataItemSigner) ?? t.signer
|
|
42
|
-
}), { outcome: "started" };
|
|
43
|
-
}
|
|
44
|
-
return { outcome: "needs_deploy" };
|
|
45
|
-
}
|
|
46
|
-
//#endregion
|
|
47
|
-
export { f as n, g as t };
|
|
48
|
-
|
|
49
|
-
//# sourceMappingURL=ensureSmartWalletThenPublish-Bf8FN1un.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ensureSmartWalletThenPublish-Bf8FN1un.js","names":[],"sources":["../src/helpers/ensureSmartWalletThenPublish.ts"],"sourcesContent":["import type { Item } from '@seedprotocol/sdk'\nimport type { Account } from 'thirdweb/wallets'\nimport { optimismSepolia } from 'thirdweb/chains'\nimport {\n getConnectedManagedAccountAddress,\n getConnectedModularAccount,\n resolveSmartWalletForPublish,\n} from './thirdweb'\nimport { fromThirdwebAccount } from './adapters/thirdwebAccount'\nimport { isPublishWallet, isSeedSigner, type PublishWallet, type SeedSigner } from './seedSigner'\nimport { ethers } from 'ethers'\nimport { PublishManager } from '../services/publishManager'\nimport type { CreatePublishOptions } from '../config'\nimport { getPublishConfig } from '../config'\nimport { ManagedAccountPublishError } from '../errors'\n\nexport type EnsureSmartWalletResult =\n | { outcome: 'started' }\n | { outcome: 'no_address' }\n | { outcome: 'needs_deploy' }\n | { outcome: 'managed_not_ready'; error: ManagedAccountPublishError }\n\nconst MSG_NO_ACCOUNT_MODULAR =\n 'A connected wallet is required for publishing with the modular executor. Connect your wallet and try again.'\n\nconst MSG_MANAGED_UNAVAILABLE =\n 'Could not connect the managed publishing account on Optimism Sepolia. Reconnect with the same sign-in method and try again.'\n\nfunction coerceDataItemSigner(\n signer: CreatePublishOptions['dataItemSigner'] | Account | SeedSigner | PublishWallet | undefined,\n): CreatePublishOptions['dataItemSigner'] {\n if (!signer) return undefined\n if (signer instanceof ethers.Wallet) return signer\n if (isPublishWallet(signer)) return signer.signer\n if (isSeedSigner(signer)) return signer\n return fromThirdwebAccount(signer as Account).signer\n}\n\n/**\n * Thirdweb path: resolves the smart wallet for the current account; if deployed, starts publish.\n * Prefer {@link ensureWalletThenPublish} for vendor-neutral entry.\n */\nexport async function ensureSmartWalletThenPublish(\n item: Item<any>,\n activeAccount: Account | null | undefined,\n getAddress: () => Promise<string | null>,\n options?: CreatePublishOptions,\n): Promise<EnsureSmartWalletResult> {\n const config = getPublishConfig()\n const address = await getAddress()\n if (!address || !address.trim()) {\n return { outcome: 'no_address' }\n }\n\n if (config.useModularExecutor) {\n const modularAccount = await getConnectedModularAccount()\n if (!modularAccount) {\n return {\n outcome: 'managed_not_ready',\n error: new ManagedAccountPublishError(MSG_NO_ACCOUNT_MODULAR, 'MANAGED_ACCOUNT_UNAVAILABLE'),\n }\n }\n\n let managedAddress: string\n try {\n managedAddress = await getConnectedManagedAccountAddress(optimismSepolia)\n } catch (cause) {\n return {\n outcome: 'managed_not_ready',\n error: new ManagedAccountPublishError(\n MSG_MANAGED_UNAVAILABLE,\n 'MANAGED_ACCOUNT_UNAVAILABLE',\n undefined,\n cause,\n ),\n }\n }\n\n const wallet = fromThirdwebAccount(modularAccount)\n PublishManager.createPublish(item, managedAddress, wallet, {\n ...options,\n dataItemSigner: coerceDataItemSigner(options?.dataItemSigner) ?? wallet.signer,\n })\n return { outcome: 'started' }\n }\n\n const resolved = await resolveSmartWalletForPublish(activeAccount ?? null)\n if ('address' in resolved) {\n const wallet = fromThirdwebAccount(resolved.account)\n PublishManager.createPublish(item, resolved.address, wallet, {\n ...options,\n dataItemSigner: coerceDataItemSigner(options?.dataItemSigner) ?? wallet.signer,\n })\n return { outcome: 'started' }\n }\n return { outcome: 'needs_deploy' }\n}\n"],"mappings":";;;;;;;sEAsBM,IACJ,+GAEI,IACJ;AAEF,SAAS,EACP,GACwC;CACnC,OAIL,OAHI,aAAkB,EAAO,SAAe,IACxC,EAAgB,CAAM,IAAU,EAAO,SACvC,EAAa,CAAM,IAAU,IAC1B,EAAoB,CAAiB,CAAC,CAAC;AAChD;AAMA,eAAsB,EACpB,GACA,GACA,GACA,GACkC;CAClC,IAAM,IAAS,EAAiB,GAC1B,IAAU,MAAM,EAAW;CACjC,IAAI,CAAC,KAAW,CAAC,EAAQ,KAAK,GAC5B,OAAO,EAAE,SAAS,aAAa;CAGjC,IAAI,EAAO,oBAAoB;EAC7B,IAAM,IAAiB,MAAM,EAA2B;EACxD,IAAI,CAAC,GACH,OAAO;GACL,SAAS;GACT,OAAO,IAAI,EAA2B,GAAwB,6BAA6B;EAC7F;EAGF,IAAI;EACJ,IAAI;GACF,IAAiB,MAAM,EAAkC,CAAe;EAC1E,SAAS,GAAO;GACd,OAAO;IACL,SAAS;IACT,OAAO,IAAI,EACT,GACA,+BACA,KAAA,GACA,CACF;GACF;EACF;EAEA,IAAM,IAAS,EAAoB,CAAc;EAKjD,OAJA,EAAe,cAAc,GAAM,GAAgB,GAAQ;GACzD,GAAG;GACH,gBAAgB,EAAqB,GAAS,cAAc,KAAK,EAAO;EAC1E,CAAC,GACM,EAAE,SAAS,UAAU;CAC9B;CAEA,IAAM,IAAW,MAAM,EAA6B,KAAiB,IAAI;CACzE,IAAI,aAAa,GAAU;EACzB,IAAM,IAAS,EAAoB,EAAS,OAAO;EAKnD,OAJA,EAAe,cAAc,GAAM,EAAS,SAAS,GAAQ;GAC3D,GAAG;GACH,gBAAgB,EAAqB,GAAS,cAAc,KAAK,EAAO;EAC1E,CAAC,GACM,EAAE,SAAS,UAAU;CAC9B;CACA,OAAO,EAAE,SAAS,eAAe;AACnC"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
|
|
2
|
-
import { T as t, _ as n, h as r, o as i, t as a, w as o } from "./chainConfig-BRcsMopd.js";
|
|
3
|
-
import { r as s } from "./errors-Du3LNbJN.js";
|
|
4
|
-
import { A as c, h as l, j as u, z as d } from "./publishAuthorization-CxWY7lAQ.js";
|
|
5
|
-
import { ethers as f } from "ethers";
|
|
6
|
-
//#region src/helpers/ensureSmartWalletThenPublish.ts
|
|
7
|
-
var p = /* @__PURE__ */ e({ ensureSmartWalletThenPublish: () => _ }), m = "A connected wallet is required for publishing with the modular executor. Connect your wallet and try again.", h = () => `Could not connect the managed publishing account on ${a()}. Reconnect with the same sign-in method and try again.`;
|
|
8
|
-
function g(e) {
|
|
9
|
-
if (e) return e instanceof f.Wallet ? e : o(e) ? e.signer : t(e) ? e : r(e).signer;
|
|
10
|
-
}
|
|
11
|
-
async function _(e, t, a, o) {
|
|
12
|
-
let f = i(), p = await a();
|
|
13
|
-
if (!p || !p.trim()) return { outcome: "no_address" };
|
|
14
|
-
if (f.useModularExecutor) {
|
|
15
|
-
let t = await u();
|
|
16
|
-
if (!t) return {
|
|
17
|
-
outcome: "managed_not_ready",
|
|
18
|
-
error: new s(m, "MANAGED_ACCOUNT_UNAVAILABLE")
|
|
19
|
-
};
|
|
20
|
-
let i;
|
|
21
|
-
try {
|
|
22
|
-
i = await c(n());
|
|
23
|
-
} catch (e) {
|
|
24
|
-
return {
|
|
25
|
-
outcome: "managed_not_ready",
|
|
26
|
-
error: new s(h(), "MANAGED_ACCOUNT_UNAVAILABLE", void 0, e)
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
let a = r(t);
|
|
30
|
-
return l.createPublish(e, i, a, {
|
|
31
|
-
...o,
|
|
32
|
-
dataItemSigner: g(o?.dataItemSigner) ?? a.signer
|
|
33
|
-
}), { outcome: "started" };
|
|
34
|
-
}
|
|
35
|
-
let _ = await d(t ?? null);
|
|
36
|
-
if ("address" in _) {
|
|
37
|
-
let t = r(_.account);
|
|
38
|
-
return l.createPublish(e, _.address, t, {
|
|
39
|
-
...o,
|
|
40
|
-
dataItemSigner: g(o?.dataItemSigner) ?? t.signer
|
|
41
|
-
}), { outcome: "started" };
|
|
42
|
-
}
|
|
43
|
-
return { outcome: "needs_deploy" };
|
|
44
|
-
}
|
|
45
|
-
//#endregion
|
|
46
|
-
export { p as n, _ as t };
|
|
47
|
-
|
|
48
|
-
//# sourceMappingURL=ensureSmartWalletThenPublish-Bl415Ss6.js.map
|