@seedprotocol/publish 0.4.31 → 0.5.1

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 (193) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +64 -18
  3. package/dist/config-Q3y4Fab2.js +936 -0
  4. package/dist/config-Q3y4Fab2.js.map +1 -0
  5. package/dist/config-bUKEs4Uf.js +511 -0
  6. package/dist/config-bUKEs4Uf.js.map +1 -0
  7. package/dist/config.d.ts +42 -4
  8. package/dist/config.d.ts.map +1 -1
  9. package/dist/ensureManagedAccountEasConfigured-BXF7gQCi.js +1270 -0
  10. package/dist/ensureManagedAccountEasConfigured-BXF7gQCi.js.map +1 -0
  11. package/dist/ensureManagedAccountEasConfigured-BxdK_Vhf.js +1204 -0
  12. package/dist/ensureManagedAccountEasConfigured-BxdK_Vhf.js.map +1 -0
  13. package/dist/ensureManagedAccountEasConfigured-CZGguM7q.js +1177 -0
  14. package/dist/ensureManagedAccountEasConfigured-CZGguM7q.js.map +1 -0
  15. package/dist/ensureManagedAccountEasConfigured-CZS__-ha.js +1177 -0
  16. package/dist/ensureManagedAccountEasConfigured-CZS__-ha.js.map +1 -0
  17. package/dist/ensureManagedAccountEasConfigured-D2_Jjjxt.js +1192 -0
  18. package/dist/ensureManagedAccountEasConfigured-D2_Jjjxt.js.map +1 -0
  19. package/dist/ensureManagedAccountEasConfigured-DDFBEb-B.js +1192 -0
  20. package/dist/ensureManagedAccountEasConfigured-DDFBEb-B.js.map +1 -0
  21. package/dist/ensureManagedAccountEasConfigured-zcyqhWPe.js +1270 -0
  22. package/dist/ensureManagedAccountEasConfigured-zcyqhWPe.js.map +1 -0
  23. package/dist/ensureModularPublishBootstrap-2agkGdih.js +124 -0
  24. package/dist/ensureModularPublishBootstrap-2agkGdih.js.map +1 -0
  25. package/dist/ensureModularPublishBootstrap-B5i_dQrv.js +124 -0
  26. package/dist/ensureModularPublishBootstrap-B5i_dQrv.js.map +1 -0
  27. package/dist/ensureModularPublishBootstrap-BSXyZgld.js +124 -0
  28. package/dist/ensureModularPublishBootstrap-BSXyZgld.js.map +1 -0
  29. package/dist/ensureModularPublishBootstrap-C0gx7sbt.js +124 -0
  30. package/dist/ensureModularPublishBootstrap-C0gx7sbt.js.map +1 -0
  31. package/dist/ensureModularPublishBootstrap-DHNo4j6X.js +124 -0
  32. package/dist/ensureModularPublishBootstrap-DHNo4j6X.js.map +1 -0
  33. package/dist/ensureModularPublishBootstrap-DQ-oruO1.js +124 -0
  34. package/dist/ensureModularPublishBootstrap-DQ-oruO1.js.map +1 -0
  35. package/dist/ensureModularPublishBootstrap-QRGGgnkz.js +124 -0
  36. package/dist/ensureModularPublishBootstrap-QRGGgnkz.js.map +1 -0
  37. package/dist/ensureSmartWalletThenPublish-BmeIFGIX.js +47 -0
  38. package/dist/ensureSmartWalletThenPublish-BmeIFGIX.js.map +1 -0
  39. package/dist/ensureSmartWalletThenPublish-CR4N0M9S.js +47 -0
  40. package/dist/ensureSmartWalletThenPublish-CR4N0M9S.js.map +1 -0
  41. package/dist/ensureSmartWalletThenPublish-CRza0sML.js +47 -0
  42. package/dist/ensureSmartWalletThenPublish-CRza0sML.js.map +1 -0
  43. package/dist/ensureSmartWalletThenPublish-DzOnwM-9.js +47 -0
  44. package/dist/ensureSmartWalletThenPublish-DzOnwM-9.js.map +1 -0
  45. package/dist/ensureSmartWalletThenPublish-UFczP8th.js +47 -0
  46. package/dist/ensureSmartWalletThenPublish-UFczP8th.js.map +1 -0
  47. package/dist/ensureSmartWalletThenPublish-k085lqDO.js +47 -0
  48. package/dist/ensureSmartWalletThenPublish-k085lqDO.js.map +1 -0
  49. package/dist/ensureSmartWalletThenPublish-xcHGv06S.js +47 -0
  50. package/dist/ensureSmartWalletThenPublish-xcHGv06S.js.map +1 -0
  51. package/dist/helpers/abi/eas.d.ts +203 -0
  52. package/dist/helpers/abi/eas.d.ts.map +1 -0
  53. package/dist/helpers/abi/executor.d.ts +33 -0
  54. package/dist/helpers/abi/executor.d.ts.map +1 -0
  55. package/dist/helpers/abi/factory.d.ts +31 -0
  56. package/dist/helpers/abi/factory.d.ts.map +1 -0
  57. package/dist/helpers/abi/publisher.d.ts +199 -0
  58. package/dist/helpers/abi/publisher.d.ts.map +1 -0
  59. package/dist/helpers/abi/schemaRegistry.d.ts +45 -0
  60. package/dist/helpers/abi/schemaRegistry.d.ts.map +1 -0
  61. package/dist/helpers/adapters/eip1193.d.ts +17 -0
  62. package/dist/helpers/adapters/eip1193.d.ts.map +1 -0
  63. package/dist/helpers/adapters/permissionlessTxSender.d.ts +11 -0
  64. package/dist/helpers/adapters/permissionlessTxSender.d.ts.map +1 -0
  65. package/dist/helpers/adapters/thirdwebAccount.d.ts +13 -0
  66. package/dist/helpers/adapters/thirdwebAccount.d.ts.map +1 -0
  67. package/dist/helpers/arweave.d.ts +4 -4
  68. package/dist/helpers/arweave.d.ts.map +1 -1
  69. package/dist/helpers/chainClient.d.ts +15 -0
  70. package/dist/helpers/chainClient.d.ts.map +1 -0
  71. package/dist/helpers/chainConfig.d.ts +12 -0
  72. package/dist/helpers/chainConfig.d.ts.map +1 -0
  73. package/dist/helpers/constants.d.ts +1 -2
  74. package/dist/helpers/constants.d.ts.map +1 -1
  75. package/dist/helpers/contracts/index.d.ts +90 -0
  76. package/dist/helpers/contracts/index.d.ts.map +1 -0
  77. package/dist/helpers/defaultChain.d.ts +4 -0
  78. package/dist/helpers/defaultChain.d.ts.map +1 -0
  79. package/dist/helpers/easDirect.d.ts +7 -76
  80. package/dist/helpers/easDirect.d.ts.map +1 -1
  81. package/dist/helpers/ensureEip7702ModularAccountReady.d.ts +1 -4
  82. package/dist/helpers/ensureEip7702ModularAccountReady.d.ts.map +1 -1
  83. package/dist/helpers/ensureExecutorModule.d.ts +1 -9
  84. package/dist/helpers/ensureExecutorModule.d.ts.map +1 -1
  85. package/dist/helpers/ensureManagedAccountEasConfigured.d.ts +2 -5
  86. package/dist/helpers/ensureManagedAccountEasConfigured.d.ts.map +1 -1
  87. package/dist/helpers/ensureManagedAccountReady.d.ts.map +1 -1
  88. package/dist/helpers/ensureManagedSignerSessionKey.d.ts +1 -0
  89. package/dist/helpers/ensureManagedSignerSessionKey.d.ts.map +1 -1
  90. package/dist/helpers/ensureSmartWalletThenPublish.d.ts +3 -13
  91. package/dist/helpers/ensureSmartWalletThenPublish.d.ts.map +1 -1
  92. package/dist/helpers/ensureWalletThenPublish.d.ts +21 -0
  93. package/dist/helpers/ensureWalletThenPublish.d.ts.map +1 -0
  94. package/dist/helpers/nameSchemaAttestation.d.ts +7 -0
  95. package/dist/helpers/nameSchemaAttestation.d.ts.map +1 -0
  96. package/dist/helpers/publishWalletRegistry.d.ts +19 -0
  97. package/dist/helpers/publishWalletRegistry.d.ts.map +1 -0
  98. package/dist/helpers/resolvePublishWallet.d.ts +7 -0
  99. package/dist/helpers/resolvePublishWallet.d.ts.map +1 -0
  100. package/dist/helpers/schemaRegistry.d.ts +11 -0
  101. package/dist/helpers/schemaRegistry.d.ts.map +1 -0
  102. package/dist/helpers/seedSigner.d.ts +62 -0
  103. package/dist/helpers/seedSigner.d.ts.map +1 -0
  104. package/dist/helpers/thirdweb.d.ts +14 -2
  105. package/dist/helpers/thirdweb.d.ts.map +1 -1
  106. package/dist/index.d.ts +11 -11
  107. package/dist/index.d.ts.map +1 -1
  108. package/dist/index.js +283 -5171
  109. package/dist/index.js.map +1 -1
  110. package/dist/publishManager-1vLf1ZHv.js +3005 -0
  111. package/dist/publishManager-1vLf1ZHv.js.map +1 -0
  112. package/dist/publishManager-5hUL8Of5.js +3007 -0
  113. package/dist/publishManager-5hUL8Of5.js.map +1 -0
  114. package/dist/publishManager-BO4sSSvo.js +3007 -0
  115. package/dist/publishManager-BO4sSSvo.js.map +1 -0
  116. package/dist/publishManager-BOICv9Yl.js +3008 -0
  117. package/dist/publishManager-BOICv9Yl.js.map +1 -0
  118. package/dist/publishManager-CCXWxiT1.js +3008 -0
  119. package/dist/publishManager-CCXWxiT1.js.map +1 -0
  120. package/dist/publishManager-Ccot_poQ.js +3008 -0
  121. package/dist/publishManager-Ccot_poQ.js.map +1 -0
  122. package/dist/publishManager-De3uWE-p.js +3007 -0
  123. package/dist/publishManager-De3uWE-p.js.map +1 -0
  124. package/dist/react/ConnectButton.d.ts.map +1 -1
  125. package/dist/react/PublishConfigContext.d.ts +4 -0
  126. package/dist/react/PublishConfigContext.d.ts.map +1 -0
  127. package/dist/react/PublishProvider.d.ts +7 -1
  128. package/dist/react/PublishProvider.d.ts.map +1 -1
  129. package/dist/react/PublishProvider.thirdweb.d.ts +11 -0
  130. package/dist/react/PublishProvider.thirdweb.d.ts.map +1 -0
  131. package/dist/react/useSeedWallet.d.ts +17 -0
  132. package/dist/react/useSeedWallet.d.ts.map +1 -0
  133. package/dist/resolveRevokeAccount-BGVjf-kI.js +30 -0
  134. package/dist/resolveRevokeAccount-BGVjf-kI.js.map +1 -0
  135. package/dist/resolveRevokeAccount-BRwOBTJ4.js +30 -0
  136. package/dist/resolveRevokeAccount-BRwOBTJ4.js.map +1 -0
  137. package/dist/resolveRevokeAccount-C0ZWAcHX.js +30 -0
  138. package/dist/resolveRevokeAccount-C0ZWAcHX.js.map +1 -0
  139. package/dist/resolveRevokeAccount-CKcr55EY.js +30 -0
  140. package/dist/resolveRevokeAccount-CKcr55EY.js.map +1 -0
  141. package/dist/resolveRevokeAccount-DNvuOQ1c.js +30 -0
  142. package/dist/resolveRevokeAccount-DNvuOQ1c.js.map +1 -0
  143. package/dist/resolveRevokeAccount-DvEPXZKI.js +30 -0
  144. package/dist/resolveRevokeAccount-DvEPXZKI.js.map +1 -0
  145. package/dist/resolveRevokeAccount-rOof3dUA.js +30 -0
  146. package/dist/resolveRevokeAccount-rOof3dUA.js.map +1 -0
  147. package/dist/seedSigner-BvK5WjmV.js +66 -0
  148. package/dist/seedSigner-BvK5WjmV.js.map +1 -0
  149. package/dist/services/PublishManager/actions/createPublish.d.ts.map +1 -1
  150. package/dist/services/PublishManager/actions/retryAttestations.d.ts +3 -2
  151. package/dist/services/PublishManager/actions/retryAttestations.d.ts.map +1 -1
  152. package/dist/services/PublishManager/actors/restoreFromDb.d.ts.map +1 -1
  153. package/dist/services/PublishManager/index.d.ts +2 -2
  154. package/dist/services/PublishManager/index.d.ts.map +1 -1
  155. package/dist/services/publish/actors/checking.d.ts.map +1 -1
  156. package/dist/services/publish/actors/createArweaveDataItems.d.ts.map +1 -1
  157. package/dist/services/publish/actors/createAttestations.d.ts.map +1 -1
  158. package/dist/services/publish/actors/createAttestationsDirectToEas.d.ts.map +1 -1
  159. package/dist/services/publish/actors/seedUidHelpers.d.ts +1 -17
  160. package/dist/services/publish/actors/seedUidHelpers.d.ts.map +1 -1
  161. package/dist/services/publish/helpers/ensureEasSchemas.d.ts +2 -5
  162. package/dist/services/publish/helpers/ensureEasSchemas.d.ts.map +1 -1
  163. package/dist/services/publish/helpers/receiptAttestationMs.d.ts +1 -3
  164. package/dist/services/publish/helpers/receiptAttestationMs.d.ts.map +1 -1
  165. package/dist/services/publish/index.d.ts.map +1 -1
  166. package/dist/services/revoke/revokeAttestations.d.ts +1 -3
  167. package/dist/services/revoke/revokeAttestations.d.ts.map +1 -1
  168. package/dist/services/upload/uploadMachine.d.ts +1 -1
  169. package/dist/thirdweb.d.ts +17 -0
  170. package/dist/thirdweb.d.ts.map +1 -0
  171. package/dist/thirdweb.js +176 -0
  172. package/dist/thirdweb.js.map +1 -0
  173. package/dist/types.d.ts +9 -4
  174. package/dist/types.d.ts.map +1 -1
  175. package/dist/worker-B3R2zwxm.js +69 -0
  176. package/dist/worker-B3R2zwxm.js.map +1 -0
  177. package/dist/worker-BVc0OzNI.js +105 -0
  178. package/dist/worker-BVc0OzNI.js.map +1 -0
  179. package/dist/worker-BWERw2Le.js +69 -0
  180. package/dist/worker-BWERw2Le.js.map +1 -0
  181. package/dist/worker-Bb3a6nOf.js +69 -0
  182. package/dist/worker-Bb3a6nOf.js.map +1 -0
  183. package/dist/worker-BqeFFnN_.js +69 -0
  184. package/dist/worker-BqeFFnN_.js.map +1 -0
  185. package/dist/worker-CqCsdQeT.js +69 -0
  186. package/dist/worker-CqCsdQeT.js.map +1 -0
  187. package/dist/worker-QZN_HMAs.js +69 -0
  188. package/dist/worker-QZN_HMAs.js.map +1 -0
  189. package/dist/worker-VilzVQ8C.js +69 -0
  190. package/dist/worker-VilzVQ8C.js.map +1 -0
  191. package/dist/worker-j_9ajZZU.js +100 -0
  192. package/dist/worker-j_9ajZZU.js.map +1 -0
  193. package/package.json +20 -5
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
+ ## 0.5.0
6
+
7
+ ### Breaking
8
+
9
+ - **Thirdweb is optional.** Core `@seedprotocol/publish` no longer re-exports Thirdweb helpers, `ConnectButton`, or Thirdweb-backed wallet bootstrap APIs. Import them from **`@seedprotocol/publish/thirdweb`**.
10
+ - **`PublishConfig.thirdwebClientId`** is optional. When unset, **`rpcUrl`** is required.
11
+ - **`SeedSigner`** no longer includes `sendTransaction`. Use **`SeedTxSender`** / **`PublishWallet`** (`{ signer, txSender }`). Wrap Thirdweb Accounts with **`fromThirdwebAccount`** from the `/thirdweb` entry.
12
+ - Core **`PublishProvider`** no longer wraps **`ThirdwebProvider`**. Use `@seedprotocol/publish/thirdweb`’s `PublishProvider` for ConnectButton apps.
13
+
14
+ ### Added
15
+
16
+ - **`SeedTxSender`**, **`PublishWallet`**, **`fromEthersWallet`** (returns `PublishWallet`), **`fromEip1193Provider`**, **`useSeedWallet`**, **`setPublishWallet` / `getPublishWallet`**.
17
+ - **`ensureWalletThenPublish`** for vendor-neutral publish entry (registry wallet + optional permissionless EIP-7702).
18
+ - **`createPermissionlessTxSender`** (permissionless `to7702SimpleSmartAccount`) with config fields **`bundlerUrl`**, **`paymasterUrl`**, **`accountMode`**, **`chain`**, **`rpcUrl`**.
19
+
5
20
  ## 0.4.31
6
21
 
7
22
  ### Fixed
package/README.md CHANGED
@@ -10,38 +10,77 @@ The publish flow (ConnectButton, etc.) runs `ensureEasSchemasForItem` before `ge
10
10
 
11
11
  ## Setup
12
12
 
13
- Wrap your app with `PublishProvider`. The provider includes:
13
+ `uploadApiBaseUrl` is required. Provide either `rpcUrl` or `thirdwebClientId` (RPC falls back to Thirdweb’s edge when only the client id is set).
14
14
 
15
- - Thirdweb's required context (React Query, connection manager)
16
- - SeedProvider (React Query for Seed SDK hooks like `useItems`, `useModels`, `useSchemas`)
15
+ Thirdweb is an **optional** peer. Core publish uses `SeedSigner` + `SeedTxSender` (`PublishWallet`). Import ConnectButton / in-app wallets from `@seedprotocol/publish/thirdweb`.
17
16
 
18
- You can optionally pass `queryClient` or `queryClientRef` to customize the Seed QueryClient.
19
-
20
- `thirdwebClientId` and `uploadApiBaseUrl` are required in config. Other values (account factory, EAS contract) are defined as constants in the package.
17
+ ### Recipe 1: EIP-1193 + EOA (no Thirdweb)
21
18
 
22
- ### Option A: Config via provider
19
+ User pays gas. Works with MetaMask / injected wallets.
23
20
 
24
21
  ```tsx
25
- import { PublishProvider, ConnectButton } from '@seedprotocol/publish'
22
+ import {
23
+ PublishProvider,
24
+ useSeedWallet,
25
+ ensureWalletThenPublish,
26
+ initPublish,
27
+ } from '@seedprotocol/publish'
28
+ import { optimismSepolia } from 'viem/chains'
26
29
 
27
- function App() {
30
+ initPublish({
31
+ uploadApiBaseUrl: import.meta.env.VITE_UPLOAD_API_BASE_URL,
32
+ rpcUrl: import.meta.env.VITE_RPC_URL,
33
+ chain: optimismSepolia,
34
+ accountMode: 'eoa',
35
+ })
36
+
37
+ function Connect() {
38
+ const { status, connect, address } = useSeedWallet()
28
39
  return (
29
- <PublishProvider
30
- config={{
31
- thirdwebClientId: import.meta.env.VITE_THIRDWEB_CLIENT_ID,
32
- uploadApiBaseUrl: import.meta.env.VITE_UPLOAD_API_BASE_URL,
33
- }}
40
+ <button
41
+ onClick={() => connect((window as any).ethereum)}
42
+ disabled={status === 'connecting'}
34
43
  >
35
- <ConnectButton />
44
+ {address ?? 'Connect wallet'}
45
+ </button>
46
+ )
47
+ }
48
+
49
+ function App() {
50
+ return (
51
+ <PublishProvider>
52
+ <Connect />
36
53
  </PublishProvider>
37
54
  )
38
55
  }
56
+
57
+ // Later:
58
+ // await ensureWalletThenPublish(item, { dataItemSigner: /* from useSeedWallet().signer */ })
59
+ ```
60
+
61
+ ### Recipe 2: EIP-1193 + permissionless EIP-7702 (gasless, no Thirdweb)
62
+
63
+ ```tsx
64
+ initPublish({
65
+ uploadApiBaseUrl: import.meta.env.VITE_UPLOAD_API_BASE_URL,
66
+ rpcUrl: import.meta.env.VITE_RPC_URL,
67
+ chain: optimismSepolia,
68
+ accountMode: 'eip7702',
69
+ bundlerUrl: import.meta.env.VITE_BUNDLER_URL,
70
+ paymasterUrl: import.meta.env.VITE_PAYMASTER_URL, // optional; defaults to bundlerUrl
71
+ })
39
72
  ```
40
73
 
41
- ### Option B: Config via initPublish
74
+ `useSeedWallet().connect(provider)` upgrades the EOA sender to a permissionless EIP-7702 `SeedTxSender` when `accountMode` is `eip7702` and `bundlerUrl` is set. ModularCore / ManagedAccount session-key flows remain Thirdweb-only.
75
+
76
+ ### Recipe 3: Thirdweb ConnectButton (batteries-included)
42
77
 
43
78
  ```tsx
44
- import { PublishProvider, ConnectButton, initPublish } from '@seedprotocol/publish'
79
+ import { initPublish } from '@seedprotocol/publish'
80
+ import {
81
+ PublishProvider,
82
+ ConnectButton,
83
+ } from '@seedprotocol/publish/thirdweb'
45
84
 
46
85
  initPublish({
47
86
  thirdwebClientId: import.meta.env.VITE_THIRDWEB_CLIENT_ID,
@@ -50,13 +89,20 @@ initPublish({
50
89
 
51
90
  function App() {
52
91
  return (
53
- <PublishProvider>
92
+ <PublishProvider
93
+ config={{
94
+ thirdwebClientId: import.meta.env.VITE_THIRDWEB_CLIENT_ID,
95
+ uploadApiBaseUrl: import.meta.env.VITE_UPLOAD_API_BASE_URL,
96
+ }}
97
+ >
54
98
  <ConnectButton />
55
99
  </PublishProvider>
56
100
  )
57
101
  }
58
102
  ```
59
103
 
104
+ You can optionally pass `queryClient` or `queryClientRef` to customize the Seed QueryClient.
105
+
60
106
  ### useIntegerLocalIds
61
107
 
62
108
  When using the new contract that expects `uint256` localIdIndex/publishLocalIdIndex instead of string localId/publishLocalId (gas-efficient), set `useIntegerLocalIds: true`: