@seedprotocol/publish 0.7.4 → 0.7.5-next.871.g8788c94

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 (87) hide show
  1. package/CHANGELOG.md +229 -3
  2. package/README.md +31 -8
  3. package/dist/{chainConfig-DM9RSIMT.js → chainConfig-CY22-kWO.js} +1534 -1458
  4. package/dist/chainConfig-CY22-kWO.js.map +1 -0
  5. package/dist/config.d.ts +11 -5
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/{ensureAutomationSessionKey-DTO5lxXB.js → ensureAutomationSessionKey-CKFyZNj7.js} +22 -22
  8. package/dist/{ensureAutomationSessionKey-DTO5lxXB.js.map → ensureAutomationSessionKey-CKFyZNj7.js.map} +1 -1
  9. package/dist/{ensureModularPublishBootstrap-BYySx3sx.js → ensureModularPublishBootstrap-DQDSbkQy.js} +9 -9
  10. package/dist/{ensureModularPublishBootstrap-BYySx3sx.js.map → ensureModularPublishBootstrap-DQDSbkQy.js.map} +1 -1
  11. package/dist/ensureSmartWalletThenPublish-By_Xv7xG.js +47 -0
  12. package/dist/ensureSmartWalletThenPublish-By_Xv7xG.js.map +1 -0
  13. package/dist/helpers/adapters/thirdwebAccount.d.ts +3 -1
  14. package/dist/helpers/adapters/thirdwebAccount.d.ts.map +1 -1
  15. package/dist/helpers/arweave.d.ts.map +1 -1
  16. package/dist/helpers/chainClient.d.ts +6 -0
  17. package/dist/helpers/chainClient.d.ts.map +1 -1
  18. package/dist/helpers/ensureSmartWalletThenPublish.d.ts +3 -4
  19. package/dist/helpers/ensureSmartWalletThenPublish.d.ts.map +1 -1
  20. package/dist/helpers/ensureWalletThenPublish.d.ts +18 -4
  21. package/dist/helpers/ensureWalletThenPublish.d.ts.map +1 -1
  22. package/dist/helpers/publishItem.d.ts.map +1 -1
  23. package/dist/helpers/publishWalletRegistry.d.ts +17 -0
  24. package/dist/helpers/publishWalletRegistry.d.ts.map +1 -1
  25. package/dist/helpers/seedSigner.d.ts +8 -0
  26. package/dist/helpers/seedSigner.d.ts.map +1 -1
  27. package/dist/helpers/thirdweb.d.ts +4 -0
  28. package/dist/helpers/thirdweb.d.ts.map +1 -1
  29. package/dist/hooks/useCanPublishItem.d.ts +5 -0
  30. package/dist/hooks/useCanPublishItem.d.ts.map +1 -1
  31. package/dist/index.d.ts +1 -1
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +274 -260
  34. package/dist/index.js.map +1 -1
  35. package/dist/{managedAccountAdmin-rhHtJC4y.js → managedAccountAdmin-DBAX8yny.js} +9 -9
  36. package/dist/{managedAccountAdmin-rhHtJC4y.js.map → managedAccountAdmin-DBAX8yny.js.map} +1 -1
  37. package/dist/{publishAuthorization-Dx-4adsz.js → publishAuthorization-D2wbNc-H.js} +24 -24
  38. package/dist/{publishAuthorization-Dx-4adsz.js.map → publishAuthorization-D2wbNc-H.js.map} +1 -1
  39. package/dist/publishWalletRegistry-BaQe9rIR.js +48 -0
  40. package/dist/publishWalletRegistry-BaQe9rIR.js.map +1 -0
  41. package/dist/react/ConnectButton.d.ts.map +1 -1
  42. package/dist/react/PublishProvider.d.ts.map +1 -1
  43. package/dist/react/PublishProvider.initOrder.test.d.ts +2 -0
  44. package/dist/react/PublishProvider.initOrder.test.d.ts.map +1 -0
  45. package/dist/react/PublishProvider.thirdweb.d.ts.map +1 -1
  46. package/dist/{resolveRevokeAccount-CC9X1H9x.js → resolveRevokeAccount-B7cj6OyT.js} +9 -9
  47. package/dist/{resolveRevokeAccount-CC9X1H9x.js.map → resolveRevokeAccount-B7cj6OyT.js.map} +1 -1
  48. package/dist/services/arweaveL1Finalize/worker.d.ts.map +1 -1
  49. package/dist/services/publish/actors/checking.d.ts.map +1 -1
  50. package/dist/services/publish/actors/createArweaveDataItems.d.ts +2 -0
  51. package/dist/services/publish/actors/createArweaveDataItems.d.ts.map +1 -1
  52. package/dist/services/publish/actors/createArweaveDataItemsPhase2.d.ts.map +1 -1
  53. package/dist/services/publish/actors/pollForConfirmation.d.ts +14 -0
  54. package/dist/services/publish/actors/pollForConfirmation.d.ts.map +1 -1
  55. package/dist/services/publish/actors/uploadViaBundler.d.ts +5 -0
  56. package/dist/services/publish/actors/uploadViaBundler.d.ts.map +1 -1
  57. package/dist/services/publish/helpers/undeployedSmartAccount.d.ts +11 -7
  58. package/dist/services/publish/helpers/undeployedSmartAccount.d.ts.map +1 -1
  59. package/dist/services/publish/index.d.ts +3 -1
  60. package/dist/services/publish/index.d.ts.map +1 -1
  61. package/dist/services/publishCost/estimatePublishCost.d.ts +14 -2
  62. package/dist/services/publishCost/estimatePublishCost.d.ts.map +1 -1
  63. package/dist/services/publishCost/types.d.ts +10 -0
  64. package/dist/services/publishCost/types.d.ts.map +1 -1
  65. package/dist/services/publishManager/actors/restorableSnapshot.d.ts +22 -0
  66. package/dist/services/publishManager/actors/restorableSnapshot.d.ts.map +1 -0
  67. package/dist/services/publishManager/actors/restoreFromDb.d.ts.map +1 -1
  68. package/dist/services/publishManager/index.d.ts +6 -10
  69. package/dist/services/publishManager/index.d.ts.map +1 -1
  70. package/dist/thirdweb.js +98 -92
  71. package/dist/thirdweb.js.map +1 -1
  72. package/dist/types.d.ts +6 -0
  73. package/dist/types.d.ts.map +1 -1
  74. package/dist/undeployedSmartAccount-pbMpi4PV.js +15 -0
  75. package/dist/undeployedSmartAccount-pbMpi4PV.js.map +1 -0
  76. package/dist/worker-CBBwWaxo.js +87 -0
  77. package/dist/worker-CBBwWaxo.js.map +1 -0
  78. package/package.json +25 -7
  79. package/dist/chainConfig-DM9RSIMT.js.map +0 -1
  80. package/dist/ensureSmartWalletThenPublish-DiH5CKLY.js +0 -52
  81. package/dist/ensureSmartWalletThenPublish-DiH5CKLY.js.map +0 -1
  82. package/dist/services/publishManager/actions/query.d.ts +0 -2
  83. package/dist/services/publishManager/actions/query.d.ts.map +0 -1
  84. package/dist/undeployedSmartAccount-uDk6iZjl.js +0 -24
  85. package/dist/undeployedSmartAccount-uDk6iZjl.js.map +0 -1
  86. package/dist/worker-Bv_xadel.js +0 -88
  87. package/dist/worker-Bv_xadel.js.map +0 -1
package/dist/config.d.ts CHANGED
@@ -117,9 +117,9 @@ export interface PublishConfig {
117
117
  /** Upload API base URL (e.g. from VITE_UPLOAD_API_BASE_URL or NEXT_PUBLIC_UPLOAD_API_BASE_URL). Also used for bundler when useArweaveBundler is true. */
118
118
  uploadApiBaseUrl: string;
119
119
  /**
120
- * Gateway transport for publish + read paths. Prefer resolving once via
121
- * `resolveSeedGatewayEndpoints(seedGatewayConfigFromSeedConfig(config))` at app bootstrap
122
- * and passing `uploadApiBaseUrl` / `arweaveGraphqlUrl` from the result.
120
+ * @deprecated Not read by publish. It uses `uploadApiBaseUrl` and `arweaveGraphqlUrl`: resolve
121
+ * them once at app bootstrap with
122
+ * `resolveSeedGatewayEndpoints(seedGatewayConfigFromSeedConfig(config))` and pass those instead.
123
123
  */
124
124
  gatewayTransport?: 'http-gateway' | 'hyper' | 'hybrid';
125
125
  /** Operator Gateway Hyper key (z32) — informational; sidecar is configured separately. */
@@ -146,7 +146,7 @@ export interface PublishConfig {
146
146
  * missing; accounts without the extension are skipped.
147
147
  */
148
148
  modularAccountModuleContract?: string;
149
- /** Unused: `installSeedExecutor()` takes no install data. */
149
+ /** @deprecated Not read: `installSeedExecutor()` takes no install data. */
150
150
  modularAccountModuleData?: string;
151
151
  /**
152
152
  * Use the modular executor for multiPublish.
@@ -290,6 +290,13 @@ export declare function setConfigRef(c: PublishConfig | null): void;
290
290
  * Internal: Get current config ref. Used by PublishProvider when config is not passed.
291
291
  */
292
292
  export declare function getConfigRef(): PublishConfig | null;
293
+ /**
294
+ * `uploadApiBaseUrl` is where uploads and the operator's storage payments go. With operator-paid
295
+ * storage (the default) it must be set, or requests would go to `undefined/api/upload/...`.
296
+ * Whenever it is set it must be an absolute http(s) URL, or in a browser a path from the page's
297
+ * origin (`/seed-api`).
298
+ */
299
+ export declare function assertUploadApiBaseUrl(c: Pick<PublishConfig, 'uploadApiBaseUrl' | 'payment'>): void;
293
300
  /**
294
301
  * Initialize the publish package. Call once before using PublishManager or other publish APIs.
295
302
  * Registers the config and SDK hooks: the publish executor behind `item.publish()`, the
@@ -316,7 +323,6 @@ export interface ResolvedPublishConfig extends PublishConfig {
316
323
  /** EAS deployment for the publish chain (addresses, indexer and explorer URLs). */
317
324
  easChain: EasChainDeployment;
318
325
  useDirectEas: boolean;
319
- modularAccountModuleData: string;
320
326
  useModularExecutor: boolean;
321
327
  useArweaveBundler: boolean;
322
328
  /** Resolved: defaults to false. */
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
- import { H as t, Kt as n, Vt as r, Wt as i, Xt as a, gt as o, nt as s, qt as c, t as l } from "./chainConfig-DM9RSIMT.js";
3
- import { d as u, p as d } from "./publishAuthorization-Dx-4adsz.js";
2
+ import { Rt as t, U as n, Ut as r, Vt as i, Wt as a, _t as o, qt as s, rt as c, t as l } from "./chainConfig-CY22-kWO.js";
3
+ import { d as u, p as d } from "./publishAuthorization-D2wbNc-H.js";
4
4
  import { getContract as f, sendTransaction as p } from "thirdweb";
5
5
  import { addSessionKey as m, removeSessionKey as h, shouldUpdateSessionKey as g } from "thirdweb/extensions/erc4337";
6
6
  //#region src/helpers/ensureAutomationSessionKey.ts
@@ -10,49 +10,49 @@ var _ = /* @__PURE__ */ e({
10
10
  removeAutomationSessionKey: () => C
11
11
  }), v = () => `Could not connect the managed publishing account to authorize an automation session key on ${l()}. Reconnect and try again.`, y = () => `Could not authorize the automation session key on your publishing account on ${l()}.`, b = () => `Could not remove the automation session key from your publishing account on ${l()}.`;
12
12
  async function x(e) {
13
- let n = t();
14
- await n.autoConnect({
15
- client: s(),
13
+ let t = n();
14
+ await t.autoConnect({
15
+ client: c(),
16
16
  chain: o()
17
17
  });
18
- let r = n.getAccount();
19
- if (!r) throw new a(v(), "MODULAR_SIGNER_ACTIVATION_FAILED", e);
18
+ let r = t.getAccount();
19
+ if (!r) throw new s(v(), "MODULAR_SIGNER_ACTIVATION_FAILED", e);
20
20
  return r;
21
21
  }
22
22
  async function S(e) {
23
- let { managedAddress: t, sessionKeyAddress: r, expiresAt: i } = e, l = await x(t), h = f({
24
- client: s(),
23
+ let { managedAddress: t, sessionKeyAddress: n, expiresAt: i } = e, l = await x(t), h = f({
24
+ client: c(),
25
25
  chain: o(),
26
26
  address: t
27
27
  }), _ = d(u({ expiresAt: i })), v = !1;
28
28
  try {
29
29
  v = await g({
30
30
  accountContract: h,
31
- sessionKeyAddress: r,
31
+ sessionKeyAddress: n,
32
32
  newPermissions: _
33
33
  });
34
34
  } catch (e) {
35
- throw new a(y(), "MODULAR_SIGNER_ACTIVATION_FAILED", t, e);
35
+ throw new s(y(), "MODULAR_SIGNER_ACTIVATION_FAILED", t, e);
36
36
  }
37
37
  if (v) try {
38
38
  let e = m({
39
39
  contract: h,
40
40
  account: l,
41
- sessionKeyAddress: r,
41
+ sessionKeyAddress: n,
42
42
  permissions: _
43
43
  }), t = await p({
44
44
  account: l,
45
45
  transaction: e
46
46
  });
47
- await c(t.transactionHash);
47
+ await a(t.transactionHash);
48
48
  } catch (e) {
49
- throw new a(y(), "MODULAR_SIGNER_ACTIVATION_FAILED", t, e);
49
+ throw new s(y(), "MODULAR_SIGNER_ACTIVATION_FAILED", t, e);
50
50
  }
51
- if (!await n(() => w(t, r), Boolean, { attempts: v ? 5 : 1 })) throw new a(y(), "MODULAR_SIGNER_ACTIVATION_FAILED", t);
51
+ if (!await r(() => w(t, n), Boolean, { attempts: v ? 5 : 1 })) throw new s(y(), "MODULAR_SIGNER_ACTIVATION_FAILED", t);
52
52
  }
53
53
  async function C(e) {
54
54
  let { managedAddress: t, sessionKeyAddress: n } = e, r = await x(t), i = f({
55
- client: s(),
55
+ client: c(),
56
56
  chain: o(),
57
57
  address: t
58
58
  });
@@ -65,19 +65,19 @@ async function C(e) {
65
65
  account: r,
66
66
  transaction: e
67
67
  });
68
- await c(t.transactionHash);
68
+ await a(t.transactionHash);
69
69
  } catch (e) {
70
- throw new a(b(), "MODULAR_SIGNER_ACTIVATION_FAILED", t, e);
70
+ throw new s(b(), "MODULAR_SIGNER_ACTIVATION_FAILED", t, e);
71
71
  }
72
72
  }
73
- async function w(e, t) {
73
+ async function w(e, n) {
74
74
  try {
75
- return await i(e) ? await r(e, t) : !1;
75
+ return await i(e) ? await t(e, n) : !1;
76
76
  } catch (t) {
77
- throw new a(y(), "MODULAR_SIGNER_ACTIVATION_FAILED", e, t);
77
+ throw new s(y(), "MODULAR_SIGNER_ACTIVATION_FAILED", e, t);
78
78
  }
79
79
  }
80
80
  //#endregion
81
81
  export { C as i, _ as n, w as r, S as t };
82
82
 
83
- //# sourceMappingURL=ensureAutomationSessionKey-DTO5lxXB.js.map
83
+ //# sourceMappingURL=ensureAutomationSessionKey-CKFyZNj7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ensureAutomationSessionKey-DTO5lxXB.js","names":["__exportAll","getManagedAccountWallet","readUntil","readIsActiveSigner","isContractDeployed","ManagedAccountPublishError","getPublishThirdwebChain","getClient","waitForPublishReceipt","getPublishChainName","buildAutomationSessionKeyPermissions","toThirdwebSessionKeyPermissions","ensureAutomationSessionKey_exports","ensureAutomationSessionKey","isAutomationSessionActive","removeAutomationSessionKey","MSG_UNAVAILABLE","MSG_ACTIVATION_FAILED","MSG_REMOVAL_FAILED","getManagedAccountForSessionKeyAdmin","managedWallet","managedAccount","managedAddress","params","accountContract","getContract","permissions","shouldUpdate","shouldUpdateSessionKey","cause","tx","addSessionKey","result","sendTransaction","sessionKeyAddress","removeSessionKey"],"sources":["../src/helpers/ensureAutomationSessionKey.ts"],"sourcesContent":["import { getContract, sendTransaction } from 'thirdweb'\nimport {\n addSessionKey,\n removeSessionKey,\n shouldUpdateSessionKey,\n} from 'thirdweb/extensions/erc4337'\nimport type { Address } from 'viem'\nimport { ManagedAccountPublishError } from '../errors'\nimport { isContractDeployed, readUntil, waitForPublishReceipt } from './chainClient'\nimport { readIsActiveSigner } from './contracts'\nimport {\n buildAutomationSessionKeyPermissions,\n toThirdwebSessionKeyPermissions,\n} from './automationSessionKeyPermissions'\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 an automation session key on ${getPublishChainName()}. Reconnect and try again.`\nconst MSG_ACTIVATION_FAILED = () =>\n `Could not authorize the automation session key on your publishing account on ${getPublishChainName()}.`\nconst MSG_REMOVAL_FAILED = () =>\n `Could not remove the automation session key from your publishing account on ${getPublishChainName()}.`\n\nasync function getManagedAccountForSessionKeyAdmin(managedAddress: string) {\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 return managedAccount\n}\n\n/**\n * Ensures `sessionKeyAddress` is an active automation session signer on the ManagedAccount\n * with **executor-module-only** approved targets. Signed by the managed EIP-4337 wallet (user).\n */\nexport async function ensureAutomationSessionKey(params: {\n managedAddress: string\n sessionKeyAddress: string\n /** Unix seconds end time for the session key (optional). */\n expiresAt?: number\n}): Promise<void> {\n const { managedAddress, sessionKeyAddress, expiresAt } = params\n const managedAccount = await getManagedAccountForSessionKeyAdmin(managedAddress)\n\n const accountContract = getContract({\n client: getClient(),\n chain: getPublishThirdwebChain(),\n address: managedAddress,\n })\n const permissions = toThirdwebSessionKeyPermissions(\n buildAutomationSessionKeyPermissions({ expiresAt }),\n )\n\n let shouldUpdate = false\n try {\n shouldUpdate = await shouldUpdateSessionKey({\n accountContract,\n sessionKeyAddress,\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,\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 // Right after addSessionKey, a lagging RPC node can still report the key inactive.\n const active = await readUntil(\n () => isAutomationSessionActive(managedAddress, sessionKeyAddress),\n Boolean,\n { attempts: shouldUpdate ? 5 : 1 },\n )\n if (!active) {\n throw new ManagedAccountPublishError(\n MSG_ACTIVATION_FAILED(),\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n )\n }\n}\n\n/**\n * Removes an automation session key from the ManagedAccount (user-signed via managed wallet).\n */\nexport async function removeAutomationSessionKey(params: {\n managedAddress: string\n sessionKeyAddress: string\n}): Promise<void> {\n const { managedAddress, sessionKeyAddress } = params\n const managedAccount = await getManagedAccountForSessionKeyAdmin(managedAddress)\n\n const accountContract = getContract({\n client: getClient(),\n chain: getPublishThirdwebChain(),\n address: managedAddress,\n })\n\n try {\n const tx = removeSessionKey({\n contract: accountContract,\n account: managedAccount,\n sessionKeyAddress,\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_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 the ManagedAccount has no bytecode (undeployed ≠ unauthorized).\n * Throws when bytecode or `isActiveSigner` cannot be read on a live account (RPC / decode),\n * so unattended automation does not silently fall through to in-app bootstrap.\n */\nexport async function isAutomationSessionActive(\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":";;;;;;;;;;IAkBMgB,UACJ,8FAA8FP,EAAoB,EAAE,6BAChHQ,UACJ,gFAAgFR,EAAoB,EAAE,IAClGS,UACJ,+EAA+ET,EAAoB,EAAE;AAEvG,eAAeU,EAAoC,GAAwB;CACzE,IAAMC,IAAgBnB,EAAwB;CAC9C,MAAMmB,EAAc,YAAY;EAAE,QAAQb,EAAU;EAAG,OAAOD,EAAwB;CAAE,CAAC;CACzF,IAAMe,IAAiBD,EAAc,WAAW;CAChD,IAAI,CAACC,GACH,MAAM,IAAIhB,EACRW,EAAgB,GAChB,oCACAM,CACF;CAEF,OAAOD;AACT;AAMA,eAAsBR,EAA2B,GAK/B;CAChB,IAAM,EAAE,mBAAgB,sBAAmB,iBAAcU,GACnDF,IAAiB,MAAMF,EAAoCG,CAAc,GAEzEE,IAAkBC,EAAY;EAClC,QAAQlB,EAAU;EAClB,OAAOD,EAAwB;EAC/B,SAASgB;CACX,CAAC,GACKI,IAAcf,EAClBD,EAAqC,EAAE,aAAU,CAAC,CACpD,GAEIiB,IAAe;CACnB,IAAI;EACF,IAAe,MAAMC,EAAuB;GAC1C;GACA;GACA,gBAAgBF;EAClB,CAAC;CACH,SAASG,GAAO;EACd,MAAM,IAAIxB,EACRY,EAAsB,GACtB,oCACAK,GACAO,CACF;CACF;CAEA,IAAIF,GACF,IAAI;EACF,IAAMG,IAAKC,EAAc;GACvB,UAAUP;GACV,SAASH;GACT;GACA;EACF,CAAC,GACKW,IAAS,MAAMC,EAAgB;GAAE,SAASZ;GAAgB,aAAaS;EAAG,CAAC;EACjF,MAAMtB,EAAsBwB,EAAO,eAAgC;CACrE,SAASH,GAAO;EACd,MAAM,IAAIxB,EACRY,EAAsB,GACtB,oCACAK,GACAO,CACF;CACF;CASF,IAAI,CAAC,MALgB3B,QACbY,EAA0BQ,GAAgBY,CAAiB,GACjE,SACA,EAAE,UAAUP,IAAe,IAAI,EAAE,CACnC,GAEE,MAAM,IAAItB,EACRY,EAAsB,GACtB,oCACAK,CACF;AAEJ;AAKA,eAAsBP,EAA2B,GAG/B;CAChB,IAAM,EAAE,mBAAgB,yBAAsBQ,GACxCF,IAAiB,MAAMF,EAAoCG,CAAc,GAEzEE,IAAkBC,EAAY;EAClC,QAAQlB,EAAU;EAClB,OAAOD,EAAwB;EAC/B,SAASgB;CACX,CAAC;CAED,IAAI;EACF,IAAMQ,IAAKK,EAAiB;GAC1B,UAAUX;GACV,SAASH;GACT;EACF,CAAC,GACKW,IAAS,MAAMC,EAAgB;GAAE,SAASZ;GAAgB,aAAaS;EAAG,CAAC;EACjF,MAAMtB,EAAsBwB,EAAO,eAAgC;CACrE,SAASH,GAAO;EACd,MAAM,IAAIxB,EACRa,EAAmB,GACnB,oCACAI,GACAO,CACF;CACF;AACF;AAQA,eAAsBf,EACpB,GACA,GACkB;CAClB,IAAI;EAIF,OAHM,MAAMV,EAAmBkB,CAAc,IAGtC,MAAMnB,EACXmB,GACAY,CACF,IALS;CAMX,SAASL,GAAO;EACd,MAAM,IAAIxB,EACRY,EAAsB,GACtB,oCACAK,GACAO,CACF;CACF;AACF"}
1
+ {"version":3,"file":"ensureAutomationSessionKey-CKFyZNj7.js","names":["__exportAll","readIsActiveSigner","getManagedAccountWallet","readUntil","isContractDeployed","waitForPublishReceipt","getPublishThirdwebChain","ManagedAccountPublishError","getClient","getPublishChainName","buildAutomationSessionKeyPermissions","toThirdwebSessionKeyPermissions","ensureAutomationSessionKey_exports","ensureAutomationSessionKey","isAutomationSessionActive","removeAutomationSessionKey","MSG_UNAVAILABLE","MSG_ACTIVATION_FAILED","MSG_REMOVAL_FAILED","getManagedAccountForSessionKeyAdmin","managedWallet","managedAccount","managedAddress","params","accountContract","getContract","permissions","shouldUpdate","shouldUpdateSessionKey","cause","tx","addSessionKey","result","sendTransaction","sessionKeyAddress","removeSessionKey"],"sources":["../src/helpers/ensureAutomationSessionKey.ts"],"sourcesContent":["import { getContract, sendTransaction } from 'thirdweb'\nimport {\n addSessionKey,\n removeSessionKey,\n shouldUpdateSessionKey,\n} from 'thirdweb/extensions/erc4337'\nimport type { Address } from 'viem'\nimport { ManagedAccountPublishError } from '../errors'\nimport { isContractDeployed, readUntil, waitForPublishReceipt } from './chainClient'\nimport { readIsActiveSigner } from './contracts'\nimport {\n buildAutomationSessionKeyPermissions,\n toThirdwebSessionKeyPermissions,\n} from './automationSessionKeyPermissions'\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 an automation session key on ${getPublishChainName()}. Reconnect and try again.`\nconst MSG_ACTIVATION_FAILED = () =>\n `Could not authorize the automation session key on your publishing account on ${getPublishChainName()}.`\nconst MSG_REMOVAL_FAILED = () =>\n `Could not remove the automation session key from your publishing account on ${getPublishChainName()}.`\n\nasync function getManagedAccountForSessionKeyAdmin(managedAddress: string) {\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 return managedAccount\n}\n\n/**\n * Ensures `sessionKeyAddress` is an active automation session signer on the ManagedAccount\n * with **executor-module-only** approved targets. Signed by the managed EIP-4337 wallet (user).\n */\nexport async function ensureAutomationSessionKey(params: {\n managedAddress: string\n sessionKeyAddress: string\n /** Unix seconds end time for the session key (optional). */\n expiresAt?: number\n}): Promise<void> {\n const { managedAddress, sessionKeyAddress, expiresAt } = params\n const managedAccount = await getManagedAccountForSessionKeyAdmin(managedAddress)\n\n const accountContract = getContract({\n client: getClient(),\n chain: getPublishThirdwebChain(),\n address: managedAddress,\n })\n const permissions = toThirdwebSessionKeyPermissions(\n buildAutomationSessionKeyPermissions({ expiresAt }),\n )\n\n let shouldUpdate = false\n try {\n shouldUpdate = await shouldUpdateSessionKey({\n accountContract,\n sessionKeyAddress,\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,\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 // Right after addSessionKey, a lagging RPC node can still report the key inactive.\n const active = await readUntil(\n () => isAutomationSessionActive(managedAddress, sessionKeyAddress),\n Boolean,\n { attempts: shouldUpdate ? 5 : 1 },\n )\n if (!active) {\n throw new ManagedAccountPublishError(\n MSG_ACTIVATION_FAILED(),\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n )\n }\n}\n\n/**\n * Removes an automation session key from the ManagedAccount (user-signed via managed wallet).\n */\nexport async function removeAutomationSessionKey(params: {\n managedAddress: string\n sessionKeyAddress: string\n}): Promise<void> {\n const { managedAddress, sessionKeyAddress } = params\n const managedAccount = await getManagedAccountForSessionKeyAdmin(managedAddress)\n\n const accountContract = getContract({\n client: getClient(),\n chain: getPublishThirdwebChain(),\n address: managedAddress,\n })\n\n try {\n const tx = removeSessionKey({\n contract: accountContract,\n account: managedAccount,\n sessionKeyAddress,\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_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 the ManagedAccount has no bytecode (undeployed ≠ unauthorized).\n * Throws when bytecode or `isActiveSigner` cannot be read on a live account (RPC / decode),\n * so unattended automation does not silently fall through to in-app bootstrap.\n */\nexport async function isAutomationSessionActive(\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":";;;;;;;;;;IAkBMgB,UACJ,8FAA8FP,EAAoB,EAAE,6BAChHQ,UACJ,gFAAgFR,EAAoB,EAAE,IAClGS,UACJ,+EAA+ET,EAAoB,EAAE;AAEvG,eAAeU,EAAoC,GAAwB;CACzE,IAAMC,IAAgBlB,EAAwB;CAC9C,MAAMkB,EAAc,YAAY;EAAE,QAAQZ,EAAU;EAAG,OAAOF,EAAwB;CAAE,CAAC;CACzF,IAAMe,IAAiBD,EAAc,WAAW;CAChD,IAAI,CAACC,GACH,MAAM,IAAId,EACRS,EAAgB,GAChB,oCACAM,CACF;CAEF,OAAOD;AACT;AAMA,eAAsBR,EAA2B,GAK/B;CAChB,IAAM,EAAE,mBAAgB,sBAAmB,iBAAcU,GACnDF,IAAiB,MAAMF,EAAoCG,CAAc,GAEzEE,IAAkBC,EAAY;EAClC,QAAQjB,EAAU;EAClB,OAAOF,EAAwB;EAC/B,SAASgB;CACX,CAAC,GACKI,IAAcf,EAClBD,EAAqC,EAAE,aAAU,CAAC,CACpD,GAEIiB,IAAe;CACnB,IAAI;EACF,IAAe,MAAMC,EAAuB;GAC1C;GACA;GACA,gBAAgBF;EAClB,CAAC;CACH,SAASG,GAAO;EACd,MAAM,IAAItB,EACRU,EAAsB,GACtB,oCACAK,GACAO,CACF;CACF;CAEA,IAAIF,GACF,IAAI;EACF,IAAMG,IAAKC,EAAc;GACvB,UAAUP;GACV,SAASH;GACT;GACA;EACF,CAAC,GACKW,IAAS,MAAMC,EAAgB;GAAE,SAASZ;GAAgB,aAAaS;EAAG,CAAC;EACjF,MAAMzB,EAAsB2B,EAAO,eAAgC;CACrE,SAASH,GAAO;EACd,MAAM,IAAItB,EACRU,EAAsB,GACtB,oCACAK,GACAO,CACF;CACF;CASF,IAAI,CAAC,MALgB1B,QACbW,EAA0BQ,GAAgBY,CAAiB,GACjE,SACA,EAAE,UAAUP,IAAe,IAAI,EAAE,CACnC,GAEE,MAAM,IAAIpB,EACRU,EAAsB,GACtB,oCACAK,CACF;AAEJ;AAKA,eAAsBP,EAA2B,GAG/B;CAChB,IAAM,EAAE,mBAAgB,yBAAsBQ,GACxCF,IAAiB,MAAMF,EAAoCG,CAAc,GAEzEE,IAAkBC,EAAY;EAClC,QAAQjB,EAAU;EAClB,OAAOF,EAAwB;EAC/B,SAASgB;CACX,CAAC;CAED,IAAI;EACF,IAAMQ,IAAKK,EAAiB;GAC1B,UAAUX;GACV,SAASH;GACT;EACF,CAAC,GACKW,IAAS,MAAMC,EAAgB;GAAE,SAASZ;GAAgB,aAAaS;EAAG,CAAC;EACjF,MAAMzB,EAAsB2B,EAAO,eAAgC;CACrE,SAASH,GAAO;EACd,MAAM,IAAItB,EACRW,EAAmB,GACnB,oCACAI,GACAO,CACF;CACF;AACF;AAQA,eAAsBf,EACpB,GACA,GACkB;CAClB,IAAI;EAIF,OAHM,MAAMV,EAAmBkB,CAAc,IAGtC,MAAMrB,EACXqB,GACAY,CACF,IALS;CAMX,SAASL,GAAO;EACd,MAAM,IAAItB,EACRU,EAAsB,GACtB,oCACAK,GACAO,CACF;CACF;AACF"}
@@ -1,21 +1,21 @@
1
1
  import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
- import { H as t, X as n, Xt as r, gt as i, ht as a, nt as o, t as s, w as c } from "./chainConfig-DM9RSIMT.js";
3
- import { t as l } from "./managedAccountAdmin-rhHtJC4y.js";
2
+ import { T as t, U as n, Z as r, _t as i, gt as a, qt as o, rt as s, t as c } from "./chainConfig-CY22-kWO.js";
3
+ import { t as l } from "./managedAccountAdmin-DBAX8yny.js";
4
4
  //#region src/helpers/ensureModularPublishBootstrap.ts
5
5
  var u = /* @__PURE__ */ e({ ensureModularPublishBootstrap: () => d });
6
6
  async function d(e) {
7
- n();
8
- let u = t();
7
+ r();
8
+ let u = n();
9
9
  await u.autoConnect({
10
- client: o(),
10
+ client: s(),
11
11
  chain: i()
12
12
  });
13
13
  let d = u.getAccount();
14
- if (!d) throw new r(`Could not connect the managed publishing account on ${s()}. Reconnect with the same sign-in method and try again.`, "MANAGED_ACCOUNT_UNAVAILABLE", e);
15
- if (d.address.toLowerCase() !== e.toLowerCase()) throw new r(`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);
16
- return await c(e, async () => a(await l(e))), d;
14
+ if (!d) throw new o(`Could not connect the managed publishing account on ${c()}. Reconnect with the same sign-in method and try again.`, "MANAGED_ACCOUNT_UNAVAILABLE", e);
15
+ if (d.address.toLowerCase() !== e.toLowerCase()) throw new o(`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);
16
+ return await t(e, async () => a(await l(e))), d;
17
17
  }
18
18
  //#endregion
19
19
  export { u as n, d as t };
20
20
 
21
- //# sourceMappingURL=ensureModularPublishBootstrap-BYySx3sx.js.map
21
+ //# sourceMappingURL=ensureModularPublishBootstrap-DQDSbkQy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ensureModularPublishBootstrap-BYySx3sx.js","names":["__exportAll","getManagedAccountWallet","syncPublishInAppAuthToken","ManagedAccountPublishError","getPublishThirdwebChain","fromThirdwebAccount","getClient","getPublishChainName","ensureManagedAccountEasConfigured","getManagedAccountAdmin","ensureModularPublishBootstrap_exports","ensureModularPublishBootstrap","managedWallet","managedAccount","managedAddress"],"sources":["../src/helpers/ensureModularPublishBootstrap.ts"],"sourcesContent":["import type { Account } from 'thirdweb/wallets'\nimport { ManagedAccountPublishError } from '../errors'\nimport { fromThirdwebAccount } from './adapters/thirdwebAccount'\nimport { getPublishChainName } from './chainConfig'\nimport { ensureManagedAccountEasConfigured } from './ensureManagedAccountEasConfigured'\nimport { getManagedAccountAdmin } from './managedAccountAdmin'\nimport { getClient, getManagedAccountWallet, syncPublishInAppAuthToken } from './thirdweb'\nimport { getPublishThirdwebChain } from './thirdwebChain'\n\n/**\n * Returns the account that sends interactive `multiPublish`: the user's managed (EIP-4337) smart\n * account. Its UserOps execute `multiPublish` on the account itself, a self-call the Seed\n * extension accepts; session keys and other non-admin callers are rejected with `Unauthorized`.\n *\n * Also checks the account's EAS pointer. Only pre-rollout accounts that report no EAS get\n * `setEas`, sent by the admin EOA.\n */\nexport async function ensureModularPublishBootstrap(managedAddress: string): Promise<Account> {\n syncPublishInAppAuthToken()\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 `Could not connect the managed publishing account on ${getPublishChainName()}. Reconnect with the same sign-in method and try again.`,\n 'MANAGED_ACCOUNT_UNAVAILABLE',\n managedAddress,\n )\n }\n if (managedAccount.address.toLowerCase() !== managedAddress.toLowerCase()) {\n throw new ManagedAccountPublishError(\n `The connected managed account (${managedAccount.address}) is not the publishing account ${managedAddress}. Reconnect with the sign-in method that owns it.`,\n 'MANAGED_ACCOUNT_UNAVAILABLE',\n managedAddress,\n )\n }\n\n await ensureManagedAccountEasConfigured(managedAddress, async () =>\n fromThirdwebAccount(await getManagedAccountAdmin(managedAddress)),\n )\n return managedAccount\n}\n"],"mappings":";;;;;AAiBA,eAAsBW,EAA8B,GAA0C;CAC5F,EAA0B;CAC1B,IAAMC,IAAgBX,EAAwB;CAC9C,MAAMW,EAAc,YAAY;EAAE,QAAQN,EAAU;EAAG,OAAOF,EAAwB;CAAE,CAAC;CACzF,IAAMS,IAAiBD,EAAc,WAAW;CAChD,IAAI,CAACC,GACH,MAAM,IAAIV,EACR,uDAAuDI,EAAoB,EAAE,0DAC7E,+BACAO,CACF;CAEF,IAAID,EAAe,QAAQ,YAAY,MAAMC,EAAe,YAAY,GACtE,MAAM,IAAIX,EACR,kCAAkCU,EAAe,QAAQ,kCAAkCC,EAAe,oDAC1G,+BACAA,CACF;CAMF,OAHA,MAAMN,EAAkCM,GAAgB,YACtDT,EAAoB,MAAMI,EAAuBK,CAAc,CAAC,CAClE,GACOD;AACT"}
1
+ {"version":3,"file":"ensureModularPublishBootstrap-DQDSbkQy.js","names":["__exportAll","ensureManagedAccountEasConfigured","getManagedAccountWallet","syncPublishInAppAuthToken","getPublishThirdwebChain","fromThirdwebAccount","ManagedAccountPublishError","getClient","getPublishChainName","getManagedAccountAdmin","ensureModularPublishBootstrap_exports","ensureModularPublishBootstrap","managedWallet","managedAccount","managedAddress"],"sources":["../src/helpers/ensureModularPublishBootstrap.ts"],"sourcesContent":["import type { Account } from 'thirdweb/wallets'\nimport { ManagedAccountPublishError } from '../errors'\nimport { fromThirdwebAccount } from './adapters/thirdwebAccount'\nimport { getPublishChainName } from './chainConfig'\nimport { ensureManagedAccountEasConfigured } from './ensureManagedAccountEasConfigured'\nimport { getManagedAccountAdmin } from './managedAccountAdmin'\nimport { getClient, getManagedAccountWallet, syncPublishInAppAuthToken } from './thirdweb'\nimport { getPublishThirdwebChain } from './thirdwebChain'\n\n/**\n * Returns the account that sends interactive `multiPublish`: the user's managed (EIP-4337) smart\n * account. Its UserOps execute `multiPublish` on the account itself, a self-call the Seed\n * extension accepts; session keys and other non-admin callers are rejected with `Unauthorized`.\n *\n * Also checks the account's EAS pointer. Only pre-rollout accounts that report no EAS get\n * `setEas`, sent by the admin EOA.\n */\nexport async function ensureModularPublishBootstrap(managedAddress: string): Promise<Account> {\n syncPublishInAppAuthToken()\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 `Could not connect the managed publishing account on ${getPublishChainName()}. Reconnect with the same sign-in method and try again.`,\n 'MANAGED_ACCOUNT_UNAVAILABLE',\n managedAddress,\n )\n }\n if (managedAccount.address.toLowerCase() !== managedAddress.toLowerCase()) {\n throw new ManagedAccountPublishError(\n `The connected managed account (${managedAccount.address}) is not the publishing account ${managedAddress}. Reconnect with the sign-in method that owns it.`,\n 'MANAGED_ACCOUNT_UNAVAILABLE',\n managedAddress,\n )\n }\n\n await ensureManagedAccountEasConfigured(managedAddress, async () =>\n fromThirdwebAccount(await getManagedAccountAdmin(managedAddress)),\n )\n return managedAccount\n}\n"],"mappings":";;;;;AAiBA,eAAsBW,EAA8B,GAA0C;CAC5F,EAA0B;CAC1B,IAAMC,IAAgBV,EAAwB;CAC9C,MAAMU,EAAc,YAAY;EAAE,QAAQL,EAAU;EAAG,OAAOH,EAAwB;CAAE,CAAC;CACzF,IAAMS,IAAiBD,EAAc,WAAW;CAChD,IAAI,CAACC,GACH,MAAM,IAAIP,EACR,uDAAuDE,EAAoB,EAAE,0DAC7E,+BACAM,CACF;CAEF,IAAID,EAAe,QAAQ,YAAY,MAAMC,EAAe,YAAY,GACtE,MAAM,IAAIR,EACR,kCAAkCO,EAAe,QAAQ,kCAAkCC,EAAe,oDAC1G,+BACAA,CACF;CAMF,OAHA,MAAMb,EAAkCa,GAAgB,YACtDT,EAAoB,MAAMI,EAAuBK,CAAc,CAAC,CAClE,GACOD;AACT"}
@@ -0,0 +1,47 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { H as t, Tt as n, V as r, X as i, _t as a, a as o, f as s, gt as c, qt as l, t as u, wt as d } from "./chainConfig-CY22-kWO.js";
3
+ import { r as f } from "./publishWalletRegistry-BaQe9rIR.js";
4
+ import { ethers as p } from "ethers";
5
+ //#region src/helpers/ensureSmartWalletThenPublish.ts
6
+ var m = /* @__PURE__ */ e({ ensureSmartWalletThenPublish: () => v }), h = "A connected wallet is required for publishing with the modular executor. Connect your wallet and try again.", g = () => `Could not connect the managed publishing account on ${u()}. Reconnect with the same sign-in method and try again.`;
7
+ function _(e) {
8
+ if (e) return e instanceof p.Wallet ? e : d(e) ? e.signer : n(e) ? e : c(e).signer;
9
+ }
10
+ async function v(e, n, u, d) {
11
+ let p = o(), m = await u();
12
+ if (!m || !m.trim()) return { outcome: "no_address" };
13
+ if (p.useModularExecutor) {
14
+ let n = await t();
15
+ if (!n) return {
16
+ outcome: "managed_not_ready",
17
+ error: new l(h, "MANAGED_ACCOUNT_UNAVAILABLE")
18
+ };
19
+ let i;
20
+ try {
21
+ i = await r(a());
22
+ } catch (e) {
23
+ return {
24
+ outcome: "managed_not_ready",
25
+ error: new l(g(), "MANAGED_ACCOUNT_UNAVAILABLE", void 0, e)
26
+ };
27
+ }
28
+ let o = c(n, { kind: "smart" });
29
+ return s(e, i, o, {
30
+ ...d,
31
+ dataItemSigner: _(d?.dataItemSigner) ?? o.signer
32
+ });
33
+ }
34
+ let v = await i(n ?? null);
35
+ if ("address" in v) {
36
+ let t = c(v.account, { kind: "smart" });
37
+ return s(e, v.address, t, {
38
+ ...d,
39
+ dataItemSigner: _(d?.dataItemSigner) ?? f()?.dataItemSigner
40
+ });
41
+ }
42
+ return { outcome: "needs_deploy" };
43
+ }
44
+ //#endregion
45
+ export { m as n, v as t };
46
+
47
+ //# sourceMappingURL=ensureSmartWalletThenPublish-By_Xv7xG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureSmartWalletThenPublish-By_Xv7xG.js","names":["__exportAll","getConnectedModularAccount","isSeedSigner","getConnectedManagedAccountAddress","resolveSmartWalletForPublish","getPublishThirdwebChain","getPublishConfig","startPublish","fromThirdwebAccount","ManagedAccountPublishError","getPublishChainName","isPublishWallet","getPublishWallet","ensureSmartWalletThenPublish_exports","ensureSmartWalletThenPublish","MSG_NO_ACCOUNT_MODULAR","MSG_MANAGED_UNAVAILABLE","coerceDataItemSigner","signer","ethers","config","address","getAddress","modularAccount","managedAddress","cause","wallet","item","options","resolved","activeAccount"],"sources":["../src/helpers/ensureSmartWalletThenPublish.ts"],"sourcesContent":["import type { Item } from '@seedprotocol/sdk'\nimport type { Account } from 'thirdweb/wallets'\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 { startPublish } from './ensureWalletThenPublish'\nimport { getPublishWallet } from './publishWalletRegistry'\nimport type { CreatePublishOptions } from '../config'\nimport { getPublishConfig } from '../config'\nimport { ManagedAccountPublishError } from '../errors'\nimport { getPublishThirdwebChain } from './thirdwebChain'\nimport { getPublishChainName } from './chainConfig'\n\nexport type EnsureSmartWalletResult =\n | Extract<import('./ensureWalletThenPublish').EnsureWalletThenPublishResult, { outcome: 'started' | 'already_publishing' }>\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 ${getPublishChainName()}. 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(getPublishThirdwebChain())\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, { kind: 'smart' })\n return startPublish(item, managedAddress, wallet, {\n ...options,\n dataItemSigner: coerceDataItemSigner(options?.dataItemSigner) ?? wallet.signer,\n })\n }\n\n const resolved = await resolveSmartWalletForPublish(activeAccount ?? null)\n if ('address' in resolved) {\n const wallet = fromThirdwebAccount(resolved.account, { kind: 'smart' })\n return startPublish(item, resolved.address, wallet, {\n ...options,\n // The smart account can't sign data items; ConnectButton registers its admin EOA for that.\n dataItemSigner:\n coerceDataItemSigner(options?.dataItemSigner) ?? getPublishWallet()?.dataItemSigner,\n })\n }\n return { outcome: 'needs_deploy' }\n}\n"],"mappings":";;;;;sEAwBMe,IACJ,+GAEIC,UACJ,uDAAuDN,EAAoB,EAAE;AAE/E,SAASO,EACP,GACwC;CACxC,IAAKC,GAIL,OAHIA,aAAkBC,EAAO,SAAeD,IACxCP,EAAgBO,CAAM,IAAUA,EAAO,SACvChB,EAAagB,CAAM,IAAUA,IAC1BV,EAAoBU,CAAiB,CAAC,CAAC;AAChD;AAMA,eAAsBJ,EACpB,GACA,GACA,GACA,GACkC;CAClC,IAAMM,IAASd,EAAiB,GAC1Be,IAAU,MAAMC,EAAW;CACjC,IAAI,CAACD,KAAW,CAACA,EAAQ,KAAK,GAC5B,OAAO,EAAE,SAAS,aAAa;CAGjC,IAAID,EAAO,oBAAoB;EAC7B,IAAMG,IAAiB,MAAMtB,EAA2B;EACxD,IAAI,CAACsB,GACH,OAAO;GACL,SAAS;GACT,OAAO,IAAId,EAA2BM,GAAwB,6BAA6B;EAC7F;EAGF,IAAIS;EACJ,IAAI;GACF,IAAiB,MAAMrB,EAAkCE,EAAwB,CAAC;EACpF,SAASoB,GAAO;GACd,OAAO;IACL,SAAS;IACT,OAAO,IAAIhB,EACTO,EAAwB,GACxB,+BACA,KAAA,GACAS,CACF;GACF;EACF;EAEA,IAAMC,IAASlB,EAAoBe,GAAgB,EAAE,MAAM,QAAQ,CAAC;EACpE,OAAOhB,EAAaoB,GAAMH,GAAgBE,GAAQ;GAChD,GAAGE;GACH,gBAAgBX,EAAqBW,GAAS,cAAc,KAAKF,EAAO;EAC1E,CAAC;CACH;CAEA,IAAMG,IAAW,MAAMzB,EAA6B0B,KAAiB,IAAI;CACzE,IAAI,aAAaD,GAAU;EACzB,IAAMH,IAASlB,EAAoBqB,EAAS,SAAS,EAAE,MAAM,QAAQ,CAAC;EACtE,OAAOtB,EAAaoB,GAAME,EAAS,SAASH,GAAQ;GAClD,GAAGE;GAEH,gBACEX,EAAqBW,GAAS,cAAc,KAAKhB,EAAiB,CAAC,EAAE;EACzE,CAAC;CACH;CACA,OAAO,EAAE,SAAS,eAAe;AACnC"}
@@ -1,12 +1,14 @@
1
1
  import { type ThirdwebClient } from 'thirdweb';
2
2
  import type { Account } from 'thirdweb/wallets';
3
- import { type PublishWallet, type SeedSigner } from '../seedSigner';
3
+ import { type PublishWallet, type PublishWalletKind, type SeedSigner } from '../seedSigner';
4
4
  export type FromThirdwebAccountOptions = {
5
5
  /**
6
6
  * Thirdweb client for `prepareTransaction`. A Thirdweb Account does not carry a client.
7
7
  * Pass the secret-key client from the server, or omit this to use `getClient()`.
8
8
  */
9
9
  client?: ThirdwebClient;
10
+ /** What the account is, when the caller knows (see PublishWalletKind). */
11
+ kind?: PublishWalletKind;
10
12
  };
11
13
  /**
12
14
  * Wrap a Thirdweb Account so AA gas sponsorship still flows through thirdweb `sendTransaction`.
@@ -1 +1 @@
1
- {"version":3,"file":"thirdwebAccount.d.ts","sourceRoot":"","sources":["../../../src/helpers/adapters/thirdwebAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,cAAc,EAAE,MAAM,UAAU,CAAA;AACnF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE/C,OAAO,EAKL,KAAK,aAAa,EAClB,KAAK,UAAU,EAChB,MAAM,eAAe,CAAA;AAKtB,MAAM,MAAM,0BAA0B,GAAG;IACvC;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAA;CACxB,CAAA;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,0BAA0B,GACnC,aAAa,CA8Cf;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,eAAe,EAAE,OAAO,GAAG,UAAU,GAAG,aAAa,EACrD,OAAO,CAAC,EAAE,0BAA0B,GACnC,aAAa,CAQf;AAED,wFAAwF;AACxF,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,OAAO,GAAG,UAAU,GAAG,aAAa,GACpD,UAAU,CAIZ"}
1
+ {"version":3,"file":"thirdwebAccount.d.ts","sourceRoot":"","sources":["../../../src/helpers/adapters/thirdwebAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,cAAc,EAAE,MAAM,UAAU,CAAA;AACnF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE/C,OAAO,EAKL,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EAChB,MAAM,eAAe,CAAA;AAKtB,MAAM,MAAM,0BAA0B,GAAG;IACvC;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,iBAAiB,CAAA;CACzB,CAAA;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,0BAA0B,GACnC,aAAa,CA8Cf;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,eAAe,EAAE,OAAO,GAAG,UAAU,GAAG,aAAa,EACrD,OAAO,CAAC,EAAE,0BAA0B,GACnC,aAAa,CAQf;AAED,wFAAwF;AACxF,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,OAAO,GAAG,UAAU,GAAG,aAAa,GACpD,UAAU,CAIZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"arweave.d.ts","sourceRoot":"","sources":["../../src/helpers/arweave.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAsB9C,UAAU,GAAG;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AAUD,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,UAAU,CAMZ;AAaD;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,CAOvE;AAkBD;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,GAAG,EAAE,KAAG,UA+B3C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,UAO7C,CAAA;AAkHD;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,UAAU,EAChB,QAAQ,MAAM,CAAC,MAAM,EACrB,MAAM,GAAG,EAAE,EACX,YAAW,UAA8B,KACxC,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,UAAU,CAAA;CAAE,CAiBzC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,+BAA+B,GAC1C,MAAM,UAAU,EAChB,SAAS,UAAU,EACnB,MAAM,GAAG,EAAE,EACX,YAAW,UAA8B,KACxC,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,UAAU,CAAA;CAAE,CA6BzC,CAAA;AAsCD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CA0CtE;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,UAAU,KAAG,MAM7C,CAAA"}
1
+ {"version":3,"file":"arweave.d.ts","sourceRoot":"","sources":["../../src/helpers/arweave.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAsB9C,UAAU,GAAG;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AAUD,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,UAAU,CAMZ;AAaD;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,CAOvE;AAkBD;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,GAAG,EAAE,KAAG,UA+B3C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,UAO7C,CAAA;AAkHD;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,UAAU,EAChB,QAAQ,MAAM,CAAC,MAAM,EACrB,MAAM,GAAG,EAAE,EACX,YAAW,UAA8B,KACxC,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,UAAU,CAAA;CAAE,CAiBzC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,+BAA+B,GAC1C,MAAM,UAAU,EAChB,SAAS,UAAU,EACnB,MAAM,GAAG,EAAE,EACX,YAAW,UAA8B,KACxC,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,UAAU,CAAA;CAAE,CAyCzC,CAAA;AAsCD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CA0CtE;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,UAAU,KAAG,MAM7C,CAAA"}
@@ -24,6 +24,12 @@ export declare function readUntil<T>(read: () => Promise<T>, accept: (value: T)
24
24
  intervalMs?: number;
25
25
  }): Promise<T>;
26
26
  export declare function isContractDeployed(address: string): Promise<boolean>;
27
+ /**
28
+ * What is at an address: nothing, an EOA delegating with EIP-7702 (still an EOA: it signs and
29
+ * attests as itself), or a contract.
30
+ */
31
+ export declare function accountCodeKind(code: string | undefined | null): 'none' | 'eip7702-delegated' | 'contract';
32
+ export declare function getAccountCodeKind(address: string): Promise<ReturnType<typeof accountCodeKind>>;
27
33
  export declare function getBlockTimestampMs(blockNumber: bigint): Promise<number | null>;
28
34
  /** Polls chain bytecode until the smart account is deployed or attempts are exhausted. */
29
35
  export declare function pollSmartWalletDeployed(smartWalletAddress: string, attempts?: number, intervalMs?: number): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"chainClient.d.ts","sourceRoot":"","sources":["../../src/helpers/chainClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,GAAG,EACR,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,MAAM,CAAA;AAKb,KAAK,mBAAmB,GAAG,YAAY,CAAA;AAyBvC;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,mBAAmB,CAe5D;AAED,mCAAmC;AACnC,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAAC,eAAe,EAAE,GAAG,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAI7F;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,EAC7B,EAAE,QAAY,EAAE,UAAkB,EAAE,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACpF,OAAO,CAAC,CAAC,CAAC,CAOZ;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAK1E;AAED,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQrF;AAKD,0FAA0F;AAC1F,wBAAsB,uBAAuB,CAC3C,kBAAkB,EAAE,MAAM,EAC1B,QAAQ,GAAE,MAAqC,EAC/C,UAAU,GAAE,MAAwC,GACnD,OAAO,CAAC,OAAO,CAAC,CAYlB"}
1
+ {"version":3,"file":"chainClient.d.ts","sourceRoot":"","sources":["../../src/helpers/chainClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,GAAG,EACR,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,MAAM,CAAA;AAKb,KAAK,mBAAmB,GAAG,YAAY,CAAA;AAyBvC;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,mBAAmB,CAe5D;AAED,mCAAmC;AACnC,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAAC,eAAe,EAAE,GAAG,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAI7F;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,EAC7B,EAAE,QAAY,EAAE,UAAkB,EAAE,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACpF,OAAO,CAAC,CAAC,CAAC,CAOZ;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAK1E;AAKD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,mBAAmB,GAAG,UAAU,CAI1G;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAGrG;AAED,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQrF;AAKD,0FAA0F;AAC1F,wBAAsB,uBAAuB,CAC3C,kBAAkB,EAAE,MAAM,EAC1B,QAAQ,GAAE,MAAqC,EAC/C,UAAU,GAAE,MAAwC,GACnD,OAAO,CAAC,OAAO,CAAC,CAYlB"}
@@ -2,10 +2,9 @@ import type { Item } from '@seedprotocol/sdk';
2
2
  import type { Account } from 'thirdweb/wallets';
3
3
  import type { CreatePublishOptions } from '../config';
4
4
  import { ManagedAccountPublishError } from '../errors';
5
- export type EnsureSmartWalletResult = {
6
- outcome: 'started';
7
- started: import('./ensureWalletThenPublish').PublishStarted;
8
- } | {
5
+ export type EnsureSmartWalletResult = Extract<import('./ensureWalletThenPublish').EnsureWalletThenPublishResult, {
6
+ outcome: 'started' | 'already_publishing';
7
+ }> | {
9
8
  outcome: 'no_address';
10
9
  } | {
11
10
  outcome: 'needs_deploy';
@@ -1 +1 @@
1
- {"version":3,"file":"ensureSmartWalletThenPublish.d.ts","sourceRoot":"","sources":["../../src/helpers/ensureSmartWalletThenPublish.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAU/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAErD,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AAItD,MAAM,MAAM,uBAAuB,GAC/B;IAAE,OAAO,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,OAAO,2BAA2B,EAAE,cAAc,CAAA;CAAE,GACnF;IAAE,OAAO,EAAE,YAAY,CAAA;CAAE,GACzB;IAAE,OAAO,EAAE,cAAc,CAAA;CAAE,GAC3B;IAAE,OAAO,EAAE,mBAAmB,CAAC;IAAC,KAAK,EAAE,0BAA0B,CAAA;CAAE,CAAA;AAkBvE;;;GAGG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EACf,aAAa,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EACzC,UAAU,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EACxC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,uBAAuB,CAAC,CAiDlC"}
1
+ {"version":3,"file":"ensureSmartWalletThenPublish.d.ts","sourceRoot":"","sources":["../../src/helpers/ensureSmartWalletThenPublish.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAW/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAErD,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AAItD,MAAM,MAAM,uBAAuB,GAC/B,OAAO,CAAC,OAAO,2BAA2B,EAAE,6BAA6B,EAAE;IAAE,OAAO,EAAE,SAAS,GAAG,oBAAoB,CAAA;CAAE,CAAC,GACzH;IAAE,OAAO,EAAE,YAAY,CAAA;CAAE,GACzB;IAAE,OAAO,EAAE,cAAc,CAAA;CAAE,GAC3B;IAAE,OAAO,EAAE,mBAAmB,CAAC;IAAC,KAAK,EAAE,0BAA0B,CAAA;CAAE,CAAA;AAkBvE;;;GAGG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EACf,aAAa,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EACzC,UAAU,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EACxC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,uBAAuB,CAAC,CAiDlC"}
@@ -1,15 +1,21 @@
1
1
  import type { Item } from '@seedprotocol/sdk';
2
+ import { PublishManager } from '../services/publishManager';
2
3
  import type { CreatePublishOptions } from '../config';
3
4
  import type { ManagedAccountPublishError } from '../errors';
5
+ /** @deprecated Already resolved: use the result's `publish`. */
6
+ export type PublishStarted = Promise<import('xstate').ActorRef<any, any> | undefined>;
4
7
  /**
5
- * `started` resolves with the spawned publish actor once it exists, or `undefined` when
6
- * that seed is already publishing in this tab or another. It does not wait for the
7
- * publish to finish; use {@link publishItem} (or `item.publish()`) for that.
8
+ * `started`: the publish was spawned; `publish` is its actor. It hasn't finished: use
9
+ * {@link publishItem} (or `item.publish()`) to wait for that. `already_publishing`: that seed is
10
+ * already publishing in this tab or another, so nothing started.
8
11
  */
9
- export type PublishStarted = Promise<import('xstate').ActorRef<any, any> | undefined>;
10
12
  export type EnsureWalletThenPublishResult = {
11
13
  outcome: 'started';
14
+ publish: import('xstate').ActorRef<any, any>;
15
+ /** @deprecated Already resolved with `publish`. */
12
16
  started: PublishStarted;
17
+ } | {
18
+ outcome: 'already_publishing';
13
19
  } | {
14
20
  outcome: 'no_address';
15
21
  } | {
@@ -20,6 +26,14 @@ export type EnsureWalletThenPublishResult = {
20
26
  outcome: 'managed_not_ready';
21
27
  error: ManagedAccountPublishError;
22
28
  };
29
+ /** Spawns the publish and reports whether it started (waits for the spawn, not the publish). */
30
+ export declare function startPublish(...args: Parameters<typeof PublishManager.createPublish>): Promise<{
31
+ outcome: 'started';
32
+ publish: import('xstate').ActorRef<any, any>;
33
+ started: PublishStarted;
34
+ } | {
35
+ outcome: 'already_publishing';
36
+ }>;
23
37
  /**
24
38
  * Vendor-neutral publish entry: uses the registered publish wallet (EIP-1193 / permissionless / ethers).
25
39
  * When `useModularExecutor` is true, callers should use the Thirdweb `ensureSmartWalletThenPublish` instead.
@@ -1 +1 @@
1
- {"version":3,"file":"ensureWalletThenPublish.d.ts","sourceRoot":"","sources":["../../src/helpers/ensureWalletThenPublish.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAE7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAOrD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AAE3D;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,CAAA;AAErF,MAAM,MAAM,6BAA6B,GACrC;IAAE,OAAO,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE,GAC/C;IAAE,OAAO,EAAE,YAAY,CAAA;CAAE,GACzB;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,GACxB;IAAE,OAAO,EAAE,cAAc,CAAA;CAAE,GAC3B;IAAE,OAAO,EAAE,mBAAmB,CAAC;IAAC,KAAK,EAAE,0BAA0B,CAAA;CAAE,CAAA;AAYvE;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EACf,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,6BAA6B,CAAC,CA2CxC"}
1
+ {"version":3,"file":"ensureWalletThenPublish.d.ts","sourceRoot":"","sources":["../../src/helpers/ensureWalletThenPublish.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAOrD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AAE3D,gEAAgE;AAChE,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,CAAA;AAErF;;;;GAIG;AACH,MAAM,MAAM,6BAA6B,GACrC;IACE,OAAO,EAAE,SAAS,CAAA;IAClB,OAAO,EAAE,OAAO,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC5C,mDAAmD;IACnD,OAAO,EAAE,cAAc,CAAA;CACxB,GACD;IAAE,OAAO,EAAE,oBAAoB,CAAA;CAAE,GACjC;IAAE,OAAO,EAAE,YAAY,CAAA;CAAE,GACzB;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,GACxB;IAAE,OAAO,EAAE,cAAc,CAAA;CAAE,GAC3B;IAAE,OAAO,EAAE,mBAAmB,CAAC;IAAC,KAAK,EAAE,0BAA0B,CAAA;CAAE,CAAA;AAEvE,gGAAgG;AAChG,wBAAsB,YAAY,CAChC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,aAAa,CAAC,GACvD,OAAO,CAAC;IAAE,OAAO,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,OAAO,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,oBAAoB,CAAA;CAAE,CAAC,CAI5I;AAYD;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EACf,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,6BAA6B,CAAC,CA2CxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"publishItem.d.ts","sourceRoot":"","sources":["../../src/helpers/publishItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAgCtC;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CjG;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuB/F"}
1
+ {"version":3,"file":"publishItem.d.ts","sourceRoot":"","sources":["../../src/helpers/publishItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAgCtC;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CjG;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB/F"}
@@ -9,7 +9,24 @@ export type PublishWalletSession = PublishWallet & {
9
9
  * tell an undeployed smart account from an EOA, which both have no bytecode.
10
10
  */
11
11
  adminAddress?: string;
12
+ /**
13
+ * Signs Arweave data items (bundler and Turbo uploads). They need a plain ECDSA key: a smart
14
+ * account's signatures (EIP-1271/6492) don't verify as data items, so a smart wallet sets its
15
+ * admin EOA here. Without it, publish uses `signer` only when the wallet is an EOA.
16
+ */
17
+ dataItemSigner?: import('./seedSigner').SeedSigner;
18
+ /**
19
+ * Deploys the publisher's smart account (kind 'smart') when it has no code yet. Publish calls it
20
+ * before a first publish instead of refusing it; ConnectButton sets it for its smart wallet.
21
+ */
22
+ deploy?: () => Promise<void>;
12
23
  };
24
+ /**
25
+ * The data-item signer to default to for this wallet: its own `dataItemSigner`, else its signer
26
+ * when that is an EOA's (`kind: 'eoa'`, or a known EOA admin). Undefined for a smart account with
27
+ * no EOA signer, whose signatures data items can't use.
28
+ */
29
+ export declare function defaultDataItemSigner(wallet: (Partial<PublishWalletSession> & Pick<PublishWallet, 'signer'>) | null | undefined): import('./seedSigner').SeedSigner | undefined;
13
30
  /**
14
31
  * Register the active publish wallet (EIP-1193, ethers, Thirdweb adapter, etc.).
15
32
  * Syncs owned addresses into the Seed SDK when possible.
@@ -1 +1 @@
1
- {"version":3,"file":"publishWalletRegistry.d.ts","sourceRoot":"","sources":["../../src/helpers/publishWalletRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3E,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IACjD,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAWD;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,oBAAoB,GAAG,IAAI,GAChC,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED,wBAAgB,gBAAgB,IAAI,oBAAoB,GAAG,IAAI,CAE9D;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAWxD;AAED,sDAAsD;AACtD,wBAAgB,mBAAmB,IAAI,UAAU,GAAG,IAAI,CAEvD;AAED,sDAAsD;AACtD,wBAAgB,qBAAqB,IAAI,YAAY,GAAG,IAAI,CAE3D"}
1
+ {"version":3,"file":"publishWalletRegistry.d.ts","sourceRoot":"","sources":["../../src/helpers/publishWalletRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3E,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IACjD,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,cAAc,EAAE,UAAU,CAAA;IAClD;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7B,CAAA;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,GACzF,OAAO,cAAc,EAAE,UAAU,GAAG,SAAS,CAI/C;AAWD;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,oBAAoB,GAAG,IAAI,GAChC,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED,wBAAgB,gBAAgB,IAAI,oBAAoB,GAAG,IAAI,CAE9D;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAWxD;AAED,sDAAsD;AACtD,wBAAgB,mBAAmB,IAAI,UAAU,GAAG,IAAI,CAEvD;AAED,sDAAsD;AACtD,wBAAgB,qBAAqB,IAAI,YAAY,GAAG,IAAI,CAE3D"}
@@ -35,9 +35,17 @@ export interface SeedTxSender {
35
35
  }>;
36
36
  }
37
37
  /** Bundle used by publish / revoke flows that need both signing and sending. */
38
+ /**
39
+ * What account a PublishWallet publishes from. `'eoa'`: a plain key, whose address is the signer
40
+ * (publish may attest straight to EAS from it before it has any code). `'smart'`: a smart account
41
+ * (ManagedAccount, thirdweb smart wallet). Unset: unknown, treated like `'smart'` when choosing
42
+ * direct EAS.
43
+ */
44
+ export type PublishWalletKind = 'eoa' | 'smart';
38
45
  export type PublishWallet = {
39
46
  signer: SeedSigner;
40
47
  txSender: SeedTxSender;
48
+ kind?: PublishWalletKind;
41
49
  };
42
50
  declare function brandSigner(signer: SeedSigner): SeedSigner;
43
51
  declare function brandTxSender(sender: SeedTxSender): SeedTxSender;
@@ -1 +1 @@
1
- {"version":3,"file":"seedSigner.d.ts","sourceRoot":"","sources":["../../src/helpers/seedSigner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,MAAM,CAAA;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,yDAAyD;AACzD,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,OAAO,CAAA;IACX,IAAI,EAAE,GAAG,CAAA;IACT,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IAEzB;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,eAAe,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;CAC9D;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IAEzB,uCAAuC;IACvC,eAAe,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC;QAAE,eAAe,EAAE,GAAG,CAAA;KAAE,CAAC,CAAA;IAErE,cAAc,CAAC,CAAC,eAAe,EAAE,GAAG,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,SAAS,GAAG,UAAU,CAAA;KAAE,CAAC,CAAA;CACnF;AAED,gFAAgF;AAChF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,UAAU,CAAA;IAClB,QAAQ,EAAE,YAAY,CAAA;CACvB,CAAA;AAQD,iBAAS,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAEnD;AAED,iBAAS,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAEzD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAStE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,aAAa,CAiCrE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,aAAa,GAAG,UAAU,CAM1E;AAED,sEAAsE;AACtE,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,GAAG,YAAY,CAMhF;AAED,oGAAoG;AACpG,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,UAAU,GAAG,aAAa,CAKhF;AAED,kDAAkD;AAClD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"seedSigner.d.ts","sourceRoot":"","sources":["../../src/helpers/seedSigner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,MAAM,CAAA;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,yDAAyD;AACzD,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,OAAO,CAAA;IACX,IAAI,EAAE,GAAG,CAAA;IACT,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IAEzB;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,eAAe,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;CAC9D;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IAEzB,uCAAuC;IACvC,eAAe,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC;QAAE,eAAe,EAAE,GAAG,CAAA;KAAE,CAAC,CAAA;IAErE,cAAc,CAAC,CAAC,eAAe,EAAE,GAAG,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,SAAS,GAAG,UAAU,CAAA;KAAE,CAAC,CAAA;CACnF;AAED,gFAAgF;AAChF;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,OAAO,CAAA;AAE/C,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,UAAU,CAAA;IAClB,QAAQ,EAAE,YAAY,CAAA;IACtB,IAAI,CAAC,EAAE,iBAAiB,CAAA;CACzB,CAAA;AAQD,iBAAS,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAEnD;AAED,iBAAS,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAEzD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAStE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,aAAa,CAiCrE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,aAAa,GAAG,UAAU,CAM1E;AAED,sEAAsE;AACtE,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,GAAG,YAAY,CAMhF;AAED,oGAAoG;AACpG,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,UAAU,GAAG,aAAa,CAKhF;AAED,kDAAkD;AAClD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,CAAA"}
@@ -21,6 +21,10 @@ export declare function syncPublishInAppAuthToken(): {
21
21
  };
22
22
  export { getClient } from './publishThirdwebClient';
23
23
  export declare const wallets: Wallet<"io.metamask">[];
24
+ /**
25
+ * @deprecated Always returns null: its implementation was never finished. Use thirdweb's
26
+ * `useActiveAccount()`, or `useSeedWallet()` from @seedprotocol/publish. Will be removed.
27
+ */
24
28
  export declare const useLocalWalletAccount: () => Account | null;
25
29
  export declare const useActiveSmartWalletContract: () => Readonly<import("thirdweb").ContractOptions<[], `0x${string}`>> | null;
26
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"thirdweb.d.ts","sourceRoot":"","sources":["../../src/helpers/thirdweb.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,OAAO,EAAe,KAAK,MAAM,EAAG,MAAM,kBAAkB,CAAA;AAInF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAG5C,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,WAAW,CAAA;AAOlB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAmBjD,wBAAgB,kCAAkC;aALvC,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;aACvC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC;gBAC1C,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC;EAqB3C;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,IAAI;IAC3C,oBAAoB,EAAE,OAAO,CAAA;IAC7B,oBAAoB,EAAE,OAAO,CAAA;CAC9B,CAmCA;AASD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD,eAAO,MAAM,OAAO,yBAKnB,CAAA;AAED,eAAO,MAAM,qBAAqB,sBA6BjC,CAAA;AAED,eAAO,MAAM,4BAA4B,8EAmBxC,CAAA;AAED;;GAEG;AACH,wBAAsB,6BAA6B,CACjD,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,MAAa,GAClB,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAG,kBAAkB,EAAE,MAAM,GAAK,OAAO,CAAC,OAAO,CAAC,CAE5F;AAED,0FAA0F;AAC1F,wBAAsB,uBAAuB,CAC3C,kBAAkB,EAAE,MAAM,EAC1B,QAAQ,CAAC,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,OAAO,GAAG,IAAI,GACtB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,WAAW,EAAE,IAAI,CAAA;CAAE,CAAC,CAgBxE;AAED,6FAA6F;AAC7F,eAAO,MAAM,wBAAwB,kDAGpC,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAW,cAAc,OAAO;;;;;cAcrE,CAAA;AAED;;;;GAIG;AACH,wBAAsB,8BAA8B,CAAC,MAAM,EAAE;IAC3D,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,OAAO,GAAG,aAAa,CAAA;IACvC,IAAI,CAAC,EAAE,KAAK,MAAM,EAAE,CAAA;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhB;AAED,eAAO,MAAM,WAAW;;;;CAIvB,CAAA;AAED;;;;;;;GAOG;AACH,wBAAsB,iCAAiC,CACrD,KAAK,GAAE,KAAiC,GACvC,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CASnE;AAED;;;GAGG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAE1E;AAsBD;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAAI,SAAS,aAAa,WA4C7D,CAAA;AAID;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,GAAI,SAAS,aAAa,WAwB7D,CAAA;AAED,wFAAwF;AACxF,eAAO,MAAM,0BAA0B,GAAI,SAAS,aAAa,aAGhE,CAAA"}
1
+ {"version":3,"file":"thirdweb.d.ts","sourceRoot":"","sources":["../../src/helpers/thirdweb.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,OAAO,EAAe,KAAK,MAAM,EAAG,MAAM,kBAAkB,CAAA;AAInF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAG5C,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,WAAW,CAAA;AAOlB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAmBjD,wBAAgB,kCAAkC;aALvC,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;aACvC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC;gBAC1C,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC;EAqB3C;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,IAAI;IAC3C,oBAAoB,EAAE,OAAO,CAAA;IAC7B,oBAAoB,EAAE,OAAO,CAAA;CAC9B,CAmCA;AASD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD,eAAO,MAAM,OAAO,yBAKnB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAO,OAAO,GAAG,IAAY,CAAA;AAE/D,eAAO,MAAM,4BAA4B,8EAmBxC,CAAA;AAED;;GAEG;AACH,wBAAsB,6BAA6B,CACjD,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,MAAa,GAClB,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAG,kBAAkB,EAAE,MAAM,GAAK,OAAO,CAAC,OAAO,CAAC,CAE5F;AAED,0FAA0F;AAC1F,wBAAsB,uBAAuB,CAC3C,kBAAkB,EAAE,MAAM,EAC1B,QAAQ,CAAC,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,OAAO,GAAG,IAAI,GACtB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,WAAW,EAAE,IAAI,CAAA;CAAE,CAAC,CAgBxE;AAED,6FAA6F;AAC7F,eAAO,MAAM,wBAAwB,kDAGpC,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAW,cAAc,OAAO;;;;;cAcrE,CAAA;AAED;;;;GAIG;AACH,wBAAsB,8BAA8B,CAAC,MAAM,EAAE;IAC3D,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,OAAO,GAAG,aAAa,CAAA;IACvC,IAAI,CAAC,EAAE,KAAK,MAAM,EAAE,CAAA;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhB;AAED,eAAO,MAAM,WAAW;;;;CAIvB,CAAA;AAED;;;;;;;GAOG;AACH,wBAAsB,iCAAiC,CACrD,KAAK,GAAE,KAAiC,GACvC,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CASnE;AAED;;;GAGG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAE1E;AAsBD;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAAI,SAAS,aAAa,WA4C7D,CAAA;AAID;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,GAAI,SAAS,aAAa,WAwB7D,CAAA;AAED,wFAAwF;AACxF,eAAO,MAAM,0BAA0B,GAAI,SAAS,aAAa,aAGhE,CAAA"}
@@ -1,3 +1,8 @@
1
1
  import type { Item } from '@seedprotocol/sdk';
2
+ /**
3
+ * Whether the client's addresses own `item`, so it can be published. False until the check has
4
+ * finished, and checked again when the item or the owned addresses change (connect, disconnect,
5
+ * setAddresses). A check overtaken by a newer one is ignored.
6
+ */
2
7
  export declare function useCanPublishItem(item: Item<any> | null | undefined): boolean;
3
8
  //# sourceMappingURL=useCanPublishItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCanPublishItem.d.ts","sourceRoot":"","sources":["../../src/hooks/useCanPublishItem.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAE7C,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAc7E"}
1
+ {"version":3,"file":"useCanPublishItem.d.ts","sourceRoot":"","sources":["../../src/hooks/useCanPublishItem.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAG7C;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAyB7E"}
package/dist/index.d.ts CHANGED
@@ -18,7 +18,7 @@ export type { PublishProviderProps } from './react/PublishProvider';
18
18
  export { useSeedWallet } from './react/useSeedWallet';
19
19
  export type { UseSeedWalletResult, SeedWalletStatus } from './react/useSeedWallet';
20
20
  export { SeedProvider } from '@seedprotocol/react';
21
- export type { SeedSigner, SeedTxSender, SeedTxRequest, PublishWallet, } from './helpers/seedSigner';
21
+ export type { SeedSigner, SeedTxSender, SeedTxRequest, PublishWallet, PublishWalletKind, } from './helpers/seedSigner';
22
22
  export { fromEthersWallet, asSeedSigner, asSeedTxSender, asPublishWallet, isSeedSigner, isSeedTxSender, isPublishWallet, } from './helpers/seedSigner';
23
23
  export { fromEip1193Provider, fromWindowEthereum, } from './helpers/adapters/eip1193';
24
24
  export { createPermissionlessTxSender } from './helpers/adapters/permissionlessTxSender';