@seedprotocol/publish 0.5.1 → 0.5.3

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 (111) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +7 -1
  3. package/dist/config-BBL0ILr9.js +945 -0
  4. package/dist/config-BBL0ILr9.js.map +1 -0
  5. package/dist/config-DLoMtwmG.js +945 -0
  6. package/dist/config-DLoMtwmG.js.map +1 -0
  7. package/dist/ensureAutomationSessionKey-BuM0gQfL.js +84 -0
  8. package/dist/ensureAutomationSessionKey-BuM0gQfL.js.map +1 -0
  9. package/dist/ensureAutomationSessionKey-BwIqDrG9.js +84 -0
  10. package/dist/ensureAutomationSessionKey-BwIqDrG9.js.map +1 -0
  11. package/dist/ensureManagedAccountEasConfigured-CLB69z0D.js +1206 -0
  12. package/dist/ensureManagedAccountEasConfigured-CLB69z0D.js.map +1 -0
  13. package/dist/ensureManagedAccountEasConfigured-DkRwHXL2.js +1204 -0
  14. package/dist/ensureManagedAccountEasConfigured-DkRwHXL2.js.map +1 -0
  15. package/dist/ensureModularPublishBootstrap-B_w6G5EL.js +125 -0
  16. package/dist/ensureModularPublishBootstrap-B_w6G5EL.js.map +1 -0
  17. package/dist/ensureModularPublishBootstrap-BafX1eks.js +124 -0
  18. package/dist/ensureModularPublishBootstrap-BafX1eks.js.map +1 -0
  19. package/dist/ensureModularPublishBootstrap-CPEwnTCw.js +127 -0
  20. package/dist/ensureModularPublishBootstrap-CPEwnTCw.js.map +1 -0
  21. package/dist/ensureModularPublishBootstrap-CqKKjChn.js +127 -0
  22. package/dist/ensureModularPublishBootstrap-CqKKjChn.js.map +1 -0
  23. package/dist/ensureSmartWalletThenPublish-BDX7FxdV.js +47 -0
  24. package/dist/ensureSmartWalletThenPublish-BDX7FxdV.js.map +1 -0
  25. package/dist/ensureSmartWalletThenPublish-CgCb9kZy.js +47 -0
  26. package/dist/ensureSmartWalletThenPublish-CgCb9kZy.js.map +1 -0
  27. package/dist/ensureSmartWalletThenPublish-Ch7BST2M.js +48 -0
  28. package/dist/ensureSmartWalletThenPublish-Ch7BST2M.js.map +1 -0
  29. package/dist/ensureSmartWalletThenPublish-DaLwVUBl.js +47 -0
  30. package/dist/ensureSmartWalletThenPublish-DaLwVUBl.js.map +1 -0
  31. package/dist/ensureSmartWalletThenPublish-s7MBAeky.js +48 -0
  32. package/dist/ensureSmartWalletThenPublish-s7MBAeky.js.map +1 -0
  33. package/dist/errors-Du3LNbJN.js +70 -0
  34. package/dist/errors-Du3LNbJN.js.map +1 -0
  35. package/dist/helpers/approvedTargetsForAutomationPublish.d.ts +9 -0
  36. package/dist/helpers/approvedTargetsForAutomationPublish.d.ts.map +1 -0
  37. package/dist/helpers/assertStorageBoundToIdentity.d.ts +31 -0
  38. package/dist/helpers/assertStorageBoundToIdentity.d.ts.map +1 -0
  39. package/dist/helpers/automationSessionKeyPermissions.d.ts +26 -0
  40. package/dist/helpers/automationSessionKeyPermissions.d.ts.map +1 -0
  41. package/dist/helpers/easDirect.d.ts +7 -0
  42. package/dist/helpers/easDirect.d.ts.map +1 -1
  43. package/dist/helpers/enrollPublishAutomation.d.ts +36 -0
  44. package/dist/helpers/enrollPublishAutomation.d.ts.map +1 -0
  45. package/dist/helpers/ensureAutomationSessionKey.d.ts +20 -0
  46. package/dist/helpers/ensureAutomationSessionKey.d.ts.map +1 -0
  47. package/dist/helpers/ensureManagedAccountEasConfigured.d.ts +5 -0
  48. package/dist/helpers/ensureManagedAccountEasConfigured.d.ts.map +1 -1
  49. package/dist/helpers/resolveRevokeAccount.d.ts +3 -6
  50. package/dist/helpers/resolveRevokeAccount.d.ts.map +1 -1
  51. package/dist/helpers/seedSigner.d.ts +3 -0
  52. package/dist/helpers/seedSigner.d.ts.map +1 -1
  53. package/dist/index.d.ts +3 -1
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +573 -198
  56. package/dist/index.js.map +1 -1
  57. package/dist/publishAuthorization-9WO-Zbcj.js +3426 -0
  58. package/dist/publishAuthorization-9WO-Zbcj.js.map +1 -0
  59. package/dist/publishAuthorization-CSyAV8Hf.js +3403 -0
  60. package/dist/publishAuthorization-CSyAV8Hf.js.map +1 -0
  61. package/dist/publishManager-B7zTF25-.js +3018 -0
  62. package/dist/publishManager-B7zTF25-.js.map +1 -0
  63. package/dist/publishManager-DFIx_0eN.js +3060 -0
  64. package/dist/publishManager-DFIx_0eN.js.map +1 -0
  65. package/dist/publishManager-luSstTr_.js +3008 -0
  66. package/dist/publishManager-luSstTr_.js.map +1 -0
  67. package/dist/resolveRevokeAccount-B4J_Jo76.js +38 -0
  68. package/dist/resolveRevokeAccount-B4J_Jo76.js.map +1 -0
  69. package/dist/resolveRevokeAccount-Bo1IMYOj.js +38 -0
  70. package/dist/resolveRevokeAccount-Bo1IMYOj.js.map +1 -0
  71. package/dist/resolveRevokeAccount-FYMP0Qz6.js +30 -0
  72. package/dist/resolveRevokeAccount-FYMP0Qz6.js.map +1 -0
  73. package/dist/resolveRevokeAccount-mMTFtVDR.js +30 -0
  74. package/dist/resolveRevokeAccount-mMTFtVDR.js.map +1 -0
  75. package/dist/services/PublishManager/index.d.ts +2 -2
  76. package/dist/services/PublishManager/index.d.ts.map +1 -1
  77. package/dist/services/domainOwnership/challenge.d.ts +34 -0
  78. package/dist/services/domainOwnership/challenge.d.ts.map +1 -0
  79. package/dist/services/domainOwnership/dnsVerify.d.ts +23 -0
  80. package/dist/services/domainOwnership/dnsVerify.d.ts.map +1 -0
  81. package/dist/services/domainOwnership/index.d.ts +121 -0
  82. package/dist/services/domainOwnership/index.d.ts.map +1 -0
  83. package/dist/services/domainOwnership/public.d.ts +2 -0
  84. package/dist/services/domainOwnership/public.d.ts.map +1 -0
  85. package/dist/services/domainOwnership/registry.d.ts +18 -0
  86. package/dist/services/domainOwnership/registry.d.ts.map +1 -0
  87. package/dist/services/publish/actors/createAttestations.d.ts +6 -0
  88. package/dist/services/publish/actors/createAttestations.d.ts.map +1 -1
  89. package/dist/services/publish/index.d.ts +17 -17
  90. package/dist/services/publish/index.d.ts.map +1 -1
  91. package/dist/services/publishAuthorization/index.d.ts +68 -0
  92. package/dist/services/publishAuthorization/index.d.ts.map +1 -0
  93. package/dist/services/publishAuthorization/public.d.ts +2 -0
  94. package/dist/services/publishAuthorization/public.d.ts.map +1 -0
  95. package/dist/services/revoke/revokeAttestations.d.ts +3 -0
  96. package/dist/services/revoke/revokeAttestations.d.ts.map +1 -1
  97. package/dist/services/upload/uploadMachine.d.ts +2 -2
  98. package/dist/services/upload/uploadMachine.d.ts.map +1 -1
  99. package/dist/thirdweb.d.ts +5 -0
  100. package/dist/thirdweb.d.ts.map +1 -1
  101. package/dist/thirdweb.js +202 -83
  102. package/dist/thirdweb.js.map +1 -1
  103. package/dist/worker-BaZK7VaR.js +69 -0
  104. package/dist/worker-BaZK7VaR.js.map +1 -0
  105. package/dist/worker-ChGaz4Bg.js +69 -0
  106. package/dist/worker-ChGaz4Bg.js.map +1 -0
  107. package/dist/worker-Nx2FsrmM.js +69 -0
  108. package/dist/worker-Nx2FsrmM.js.map +1 -0
  109. package/dist/worker-eQpROLst.js +69 -0
  110. package/dist/worker-eQpROLst.js.map +1 -0
  111. package/package.json +7 -4
package/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## Unreleased
6
+
7
+ ### Added
8
+
9
+ - **Publish automation grants:** ManagedAccount-hosted session keys (executor-module-only `approvedTargets`), `seedprotocol.publishAuthorization` sidecar, `enrollPublishAutomation` / `revokePublishAutomation`, and `assertStorageBoundToIdentity`. See `docs/PUBLISH_AUTOMATION.md`.
10
+ - **`prepareEasMultiRevoke`:** When `modularAccountModuleContract` is set, routes `multiRevoke` to the executor module so automation session keys can revoke as the ManagedAccount.
11
+ - **`resolveRevokeAccount` / `revokeAttestations`:** No longer hard-block ManagedAccount attesters; legacy module-attester path attempts ManagedAccount + executor revoke when configured.
12
+ - **Automation `multiPublish` path:** When the provided publish wallet signer is an active session key on the ManagedAccount, `createAttestations` keeps that wallet (no modular in-app bootstrap), routes `multiPublish` to the executor module (`routeToExecutorModule`), and uses read-only **`assertManagedAccountEasMatchesConfig`** (session keys cannot `setEas`).
13
+ - Dependency: `@seedprotocol/arweave` (workspace) for SDK-resolution stability when publish loads SDK revoke/sync paths.
14
+
15
+ ### Added (Domain ownership)
16
+
17
+ - **Domain ownership tooling:** `createDomainOwnershipChallenge`, multi-resolver DNS TXT verify, RDAP snapshot via `rdapper`, `ensureDomainOwnershipSchema` / `attestDomainOwnership` / `revokeDomainOwnership`, `verifyAndAttestDomainOwnership`, and `assessDomainOwnershipLive`. See `docs/DOMAIN_OWNERSHIP.md`.
18
+ - Dependency: `@seedprotocol/eas`, `rdapper`.
19
+
5
20
  ## 0.5.0
6
21
 
7
22
  ### Breaking
package/README.md CHANGED
@@ -196,13 +196,19 @@ await clearCompletedPublishProcessesForSeed(item.seedLocalId)
196
196
  await deletePublishProcessById(runId) // numeric row id from `records`
197
197
  ```
198
198
 
199
+ ### Publish automation (ManagedAccount grants)
200
+
201
+ Apps can enroll a server-held session key to publish/revoke on a user’s ManagedAccount without taking the user’s root key. Requires `modularAccountModuleContract` (executor-module-only `approvedTargets`). See [docs/PUBLISH_AUTOMATION.md](../../docs/PUBLISH_AUTOMATION.md).
202
+
203
+ APIs live on `@seedprotocol/publish` (sidecar attest/revoke) and `@seedprotocol/publish/thirdweb` (`enrollPublishAutomation`, `revokePublishAutomation`, session-key helpers, `assertStorageBoundToIdentity`).
204
+
199
205
  ### Modular executor (`useModularExecutor`) and EIP-7702
200
206
 
201
207
  When **`useModularExecutor`** is enabled, `multiPublish` is sent **from** the user’s **Thirdweb in-app modular wallet** (EIP-7702 execution mode) against their **ManagedAccount** contract. Before the first on-chain publish, `createAttestations` runs **`ensureEip7702ModularAccountReady()`**, which checks Optimism Sepolia bytecode at the modular wallet address (EIP-7702 delegation / minimal account). If bytecode is still empty and **`autoDeployEip7702ModularAccount`** is true (the default when `useModularExecutor` is on), it calls Thirdweb’s **`deploySmartAccount`** bootstrap (no-op if already upgraded). Set **`autoDeployEip7702ModularAccount: false`** to surface **`Eip7702ModularAccountPublishError`** instead of auto-deploying.
202
208
 
203
209
  **`ensureSmartWalletThenPublish`:** With **`useModularExecutor`**, the publish machine’s **`account`** and default **`dataItemSigner`** come from **`getConnectedModularAccount()`** (the modular EIP-7702 in-app wallet), not from **`resolveSmartWalletForPublish`** or the **`activeAccount`** argument (that parameter is ignored on this path for API compatibility). **`ensureEip7702ModularAccountReady()`** runs once before **`createPublish`** so EIP-7702 readiness failures surface before the publish actor starts; `createAttestations` still calls it again (no-op when already deployed).
204
210
 
205
- **Routing (important):** `multiPublish` calldata uses the ABI generated from the reference deployment `MULTI_PUBLISH_ABI_REFERENCE_ADDRESS_OP_SEPOLIA` (`0xcd8c…` — same hex as the deprecated `SEED_PROTOCOL_CONTRACT_ADDRESS_OP_SEPOLIA` alias). The transaction **`to` / `getContract` address** is always the user’s on-chain publisher: **managed account** when `useModularExecutor` is on (`runModularExecutorPublishPrep().managedAddress`), or the **deployed publisher contract** when modular is off. **EOAs** (no contract at `address`) never use `multiPublish`; the publish machine routes them to **direct EAS** (`createAttestationsDirectToEas`). Set **`useDirectEas: true`** to force that path even when the publisher is a deployed contract. Receipt parsing uses `modularAccountModuleContract` when configured, otherwise the managed / publisher address.
211
+ **Routing (important):** `multiPublish` calldata uses the ABI generated from the reference deployment `MULTI_PUBLISH_ABI_REFERENCE_ADDRESS_OP_SEPOLIA` (`0xcd8c…` — same hex as the deprecated `SEED_PROTOCOL_CONTRACT_ADDRESS_OP_SEPOLIA` alias). The transaction **`to` / `getContract` address** is the user’s on-chain publisher: **managed account** for interactive modular publish (`runModularExecutorPublishPrep().managedAddress`), or the **executor module** when an automation session key is detected (`routeToExecutorModule`). Non-modular publish targets the **deployed publisher contract**. **EOAs** (no contract at `address`) never use `multiPublish`; the publish machine routes them to **direct EAS** (`createAttestationsDirectToEas`). Set **`useDirectEas: true`** to force that path even when the publisher is a deployed contract. Receipt parsing uses `modularAccountModuleContract` when configured, otherwise the managed / publisher address.
206
212
 
207
213
  **Managed account:** `runModularExecutorPublishPrep()` still ensures the **EIP-4337 managed** publishing contract exists on Optimism Sepolia (and optionally installs the executor module). That is separate from the modular wallet’s EIP-7702 upgrade.
208
214