@geoprotocol/geo-sdk 0.18.3 → 0.20.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. package/README.md +1047 -371
  2. package/dist/contracts.d.ts +0 -11
  3. package/dist/contracts.d.ts.map +1 -1
  4. package/dist/contracts.js +0 -11
  5. package/dist/contracts.js.map +1 -1
  6. package/dist/index.d.ts +8 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +8 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/lite.d.ts +2 -0
  11. package/dist/lite.d.ts.map +1 -1
  12. package/dist/lite.js +2 -0
  13. package/dist/lite.js.map +1 -1
  14. package/dist/src/abis/dao-space-factory.d.ts +43 -6
  15. package/dist/src/abis/dao-space-factory.d.ts.map +1 -1
  16. package/dist/src/abis/dao-space-factory.js +38 -27
  17. package/dist/src/abis/dao-space-factory.js.map +1 -1
  18. package/dist/src/abis/dao-space-v2.test.d.ts +2 -0
  19. package/dist/src/abis/dao-space-v2.test.d.ts.map +1 -0
  20. package/dist/src/abis/dao-space-v2.test.js +67 -0
  21. package/dist/src/abis/dao-space-v2.test.js.map +1 -0
  22. package/dist/src/abis/dao-space.d.ts +98 -7
  23. package/dist/src/abis/dao-space.d.ts.map +1 -1
  24. package/dist/src/abis/dao-space.js +61 -99
  25. package/dist/src/abis/dao-space.js.map +1 -1
  26. package/dist/src/abis/index.d.ts +2 -2
  27. package/dist/src/abis/index.d.ts.map +1 -1
  28. package/dist/src/abis/index.js +2 -2
  29. package/dist/src/abis/index.js.map +1 -1
  30. package/dist/src/api-surface.e2e.test.d.ts +2 -0
  31. package/dist/src/api-surface.e2e.test.d.ts.map +1 -0
  32. package/dist/src/api-surface.e2e.test.js +1007 -0
  33. package/dist/src/api-surface.e2e.test.js.map +1 -0
  34. package/dist/src/client/api.d.ts +86 -0
  35. package/dist/src/client/api.d.ts.map +1 -0
  36. package/dist/src/client/api.js +169 -0
  37. package/dist/src/client/api.js.map +1 -0
  38. package/dist/src/client/comments.d.ts +59 -0
  39. package/dist/src/client/comments.d.ts.map +1 -0
  40. package/dist/src/client/comments.js +96 -0
  41. package/dist/src/client/comments.js.map +1 -0
  42. package/dist/src/client/context.d.ts +20 -0
  43. package/dist/src/client/context.d.ts.map +1 -0
  44. package/dist/src/client/context.js +20 -0
  45. package/dist/src/client/context.js.map +1 -0
  46. package/dist/src/client/dao-spaces.d.ts +380 -0
  47. package/dist/src/client/dao-spaces.d.ts.map +1 -0
  48. package/dist/src/client/dao-spaces.js +585 -0
  49. package/dist/src/client/dao-spaces.js.map +1 -0
  50. package/dist/src/client/dao-spaces.test.d.ts +2 -0
  51. package/dist/src/client/dao-spaces.test.d.ts.map +1 -0
  52. package/dist/src/client/dao-spaces.test.js +461 -0
  53. package/dist/src/client/dao-spaces.test.js.map +1 -0
  54. package/dist/src/client/edits.d.ts +100 -0
  55. package/dist/src/client/edits.d.ts.map +1 -0
  56. package/dist/src/client/edits.js +131 -0
  57. package/dist/src/client/edits.js.map +1 -0
  58. package/dist/src/client/edits.test.d.ts +2 -0
  59. package/dist/src/client/edits.test.d.ts.map +1 -0
  60. package/dist/src/client/edits.test.js +98 -0
  61. package/dist/src/client/edits.test.js.map +1 -0
  62. package/dist/src/client/entities.d.ts +23 -0
  63. package/dist/src/client/entities.d.ts.map +1 -0
  64. package/dist/src/client/entities.js +88 -0
  65. package/dist/src/client/entities.js.map +1 -0
  66. package/dist/src/client/entity-votes.d.ts +141 -0
  67. package/dist/src/client/entity-votes.d.ts.map +1 -0
  68. package/dist/src/client/entity-votes.js +168 -0
  69. package/dist/src/client/entity-votes.js.map +1 -0
  70. package/dist/src/client/entity-votes.test.d.ts +2 -0
  71. package/dist/src/client/entity-votes.test.d.ts.map +1 -0
  72. package/dist/src/client/entity-votes.test.js +93 -0
  73. package/dist/src/client/entity-votes.test.js.map +1 -0
  74. package/dist/src/client/graph-workflows.test.d.ts +2 -0
  75. package/dist/src/client/graph-workflows.test.d.ts.map +1 -0
  76. package/dist/src/client/graph-workflows.test.js +83 -0
  77. package/dist/src/client/graph-workflows.test.js.map +1 -0
  78. package/dist/src/client/images-storage.test.d.ts +2 -0
  79. package/dist/src/client/images-storage.test.d.ts.map +1 -0
  80. package/dist/src/client/images-storage.test.js +52 -0
  81. package/dist/src/client/images-storage.test.js.map +1 -0
  82. package/dist/src/client/images.d.ts +35 -0
  83. package/dist/src/client/images.d.ts.map +1 -0
  84. package/dist/src/client/images.js +90 -0
  85. package/dist/src/client/images.js.map +1 -0
  86. package/dist/src/client/personal-spaces.d.ts +155 -0
  87. package/dist/src/client/personal-spaces.d.ts.map +1 -0
  88. package/dist/src/client/personal-spaces.js +198 -0
  89. package/dist/src/client/personal-spaces.js.map +1 -0
  90. package/dist/src/client/spaces.test.d.ts +2 -0
  91. package/dist/src/client/spaces.test.d.ts.map +1 -0
  92. package/dist/src/client/spaces.test.js +157 -0
  93. package/dist/src/client/spaces.test.js.map +1 -0
  94. package/dist/src/client/storage.d.ts +52 -0
  95. package/dist/src/client/storage.d.ts.map +1 -0
  96. package/dist/src/client/storage.js +53 -0
  97. package/dist/src/client/storage.js.map +1 -0
  98. package/dist/src/client.d.ts +328 -0
  99. package/dist/src/client.d.ts.map +1 -0
  100. package/dist/src/client.js +441 -0
  101. package/dist/src/client.js.map +1 -0
  102. package/dist/src/client.test.d.ts +2 -0
  103. package/dist/src/client.test.d.ts.map +1 -0
  104. package/dist/src/client.test.js +125 -0
  105. package/dist/src/client.test.js.map +1 -0
  106. package/dist/src/contracts-v2/local-geobrowser.e2e.test.d.ts +2 -0
  107. package/dist/src/contracts-v2/local-geobrowser.e2e.test.d.ts.map +1 -0
  108. package/dist/src/contracts-v2/local-geobrowser.e2e.test.js +239 -0
  109. package/dist/src/contracts-v2/local-geobrowser.e2e.test.js.map +1 -0
  110. package/dist/src/dao-space/constants.d.ts +16 -3
  111. package/dist/src/dao-space/constants.d.ts.map +1 -1
  112. package/dist/src/dao-space/constants.js +16 -5
  113. package/dist/src/dao-space/constants.js.map +1 -1
  114. package/dist/src/dao-space/create-space.d.ts +1 -31
  115. package/dist/src/dao-space/create-space.d.ts.map +1 -1
  116. package/dist/src/dao-space/create-space.js +5 -70
  117. package/dist/src/dao-space/create-space.js.map +1 -1
  118. package/dist/src/dao-space/execute-proposal.d.ts +1 -22
  119. package/dist/src/dao-space/execute-proposal.d.ts.map +1 -1
  120. package/dist/src/dao-space/execute-proposal.js +12 -59
  121. package/dist/src/dao-space/execute-proposal.js.map +1 -1
  122. package/dist/src/dao-space/index.d.ts +2 -1
  123. package/dist/src/dao-space/index.d.ts.map +1 -1
  124. package/dist/src/dao-space/index.js +1 -0
  125. package/dist/src/dao-space/index.js.map +1 -1
  126. package/dist/src/dao-space/propose-add-editor.d.ts +1 -20
  127. package/dist/src/dao-space/propose-add-editor.d.ts.map +1 -1
  128. package/dist/src/dao-space/propose-add-editor.js +12 -87
  129. package/dist/src/dao-space/propose-add-editor.js.map +1 -1
  130. package/dist/src/dao-space/propose-add-editor.test.js +16 -4
  131. package/dist/src/dao-space/propose-add-editor.test.js.map +1 -1
  132. package/dist/src/dao-space/propose-add-member.d.ts +1 -20
  133. package/dist/src/dao-space/propose-add-member.d.ts.map +1 -1
  134. package/dist/src/dao-space/propose-add-member.js +12 -87
  135. package/dist/src/dao-space/propose-add-member.js.map +1 -1
  136. package/dist/src/dao-space/propose-add-member.test.js +13 -0
  137. package/dist/src/dao-space/propose-add-member.test.js.map +1 -1
  138. package/dist/src/dao-space/propose-edit.d.ts +1 -30
  139. package/dist/src/dao-space/propose-edit.d.ts.map +1 -1
  140. package/dist/src/dao-space/propose-edit.js +12 -108
  141. package/dist/src/dao-space/propose-edit.js.map +1 -1
  142. package/dist/src/dao-space/propose-edit.test.js +53 -1
  143. package/dist/src/dao-space/propose-edit.test.js.map +1 -1
  144. package/dist/src/dao-space/propose-remove-editor.d.ts +1 -22
  145. package/dist/src/dao-space/propose-remove-editor.d.ts.map +1 -1
  146. package/dist/src/dao-space/propose-remove-editor.js +12 -94
  147. package/dist/src/dao-space/propose-remove-editor.js.map +1 -1
  148. package/dist/src/dao-space/propose-remove-editor.test.js +24 -11
  149. package/dist/src/dao-space/propose-remove-editor.test.js.map +1 -1
  150. package/dist/src/dao-space/propose-remove-member.d.ts +1 -22
  151. package/dist/src/dao-space/propose-remove-member.d.ts.map +1 -1
  152. package/dist/src/dao-space/propose-remove-member.js +12 -94
  153. package/dist/src/dao-space/propose-remove-member.js.map +1 -1
  154. package/dist/src/dao-space/propose-remove-member.test.js +19 -0
  155. package/dist/src/dao-space/propose-remove-member.test.js.map +1 -1
  156. package/dist/src/dao-space/propose-request-membership.d.ts.map +1 -1
  157. package/dist/src/dao-space/propose-request-membership.js +4 -4
  158. package/dist/src/dao-space/propose-request-membership.js.map +1 -1
  159. package/dist/src/dao-space/propose-update-voting-settings.d.ts +8 -0
  160. package/dist/src/dao-space/propose-update-voting-settings.d.ts.map +1 -0
  161. package/dist/src/dao-space/propose-update-voting-settings.js +19 -0
  162. package/dist/src/dao-space/propose-update-voting-settings.js.map +1 -0
  163. package/dist/src/dao-space/propose-update-voting-settings.test.d.ts +2 -0
  164. package/dist/src/dao-space/propose-update-voting-settings.test.d.ts.map +1 -0
  165. package/dist/src/dao-space/propose-update-voting-settings.test.js +118 -0
  166. package/dist/src/dao-space/propose-update-voting-settings.test.js.map +1 -0
  167. package/dist/src/dao-space/types.d.ts +72 -11
  168. package/dist/src/dao-space/types.d.ts.map +1 -1
  169. package/dist/src/dao-space/vote-proposal.d.ts +1 -24
  170. package/dist/src/dao-space/vote-proposal.d.ts.map +1 -1
  171. package/dist/src/dao-space/vote-proposal.js +12 -64
  172. package/dist/src/dao-space/vote-proposal.js.map +1 -1
  173. package/dist/src/dao-space/vote-proposal.test.js +54 -0
  174. package/dist/src/dao-space/vote-proposal.test.js.map +1 -1
  175. package/dist/src/e2e-test-environment.d.ts +26 -0
  176. package/dist/src/e2e-test-environment.d.ts.map +1 -0
  177. package/dist/src/e2e-test-environment.js +150 -0
  178. package/dist/src/e2e-test-environment.js.map +1 -0
  179. package/dist/src/encoding.d.ts +3 -0
  180. package/dist/src/encoding.d.ts.map +1 -1
  181. package/dist/src/encoding.js +3 -0
  182. package/dist/src/encoding.js.map +1 -1
  183. package/dist/src/encodings/get-create-dao-space-calldata.d.ts +34 -97
  184. package/dist/src/encodings/get-create-dao-space-calldata.d.ts.map +1 -1
  185. package/dist/src/encodings/get-create-dao-space-calldata.js +66 -109
  186. package/dist/src/encodings/get-create-dao-space-calldata.js.map +1 -1
  187. package/dist/src/encodings/get-create-dao-space-calldata.test.js +90 -23
  188. package/dist/src/encodings/get-create-dao-space-calldata.test.js.map +1 -1
  189. package/dist/src/encodings/get-create-personal-space-calldata.d.ts +2 -0
  190. package/dist/src/encodings/get-create-personal-space-calldata.d.ts.map +1 -1
  191. package/dist/src/encodings/get-create-personal-space-calldata.js +2 -0
  192. package/dist/src/encodings/get-create-personal-space-calldata.js.map +1 -1
  193. package/dist/src/full-flow-test.test.js +5 -2
  194. package/dist/src/full-flow-test.test.js.map +1 -1
  195. package/dist/src/graph/comment-utils.d.ts +4 -0
  196. package/dist/src/graph/comment-utils.d.ts.map +1 -1
  197. package/dist/src/graph/comment-utils.js +4 -0
  198. package/dist/src/graph/comment-utils.js.map +1 -1
  199. package/dist/src/graph/constants.d.ts +12 -3
  200. package/dist/src/graph/constants.d.ts.map +1 -1
  201. package/dist/src/graph/constants.js +11 -5
  202. package/dist/src/graph/constants.js.map +1 -1
  203. package/dist/src/graph/create-comment.d.ts +3 -22
  204. package/dist/src/graph/create-comment.d.ts.map +1 -1
  205. package/dist/src/graph/create-comment.js +6 -136
  206. package/dist/src/graph/create-comment.js.map +1 -1
  207. package/dist/src/graph/create-comment.test.js +19 -8
  208. package/dist/src/graph/create-comment.test.js.map +1 -1
  209. package/dist/src/graph/create-entity.d.ts +2 -0
  210. package/dist/src/graph/create-entity.d.ts.map +1 -1
  211. package/dist/src/graph/create-entity.js +2 -0
  212. package/dist/src/graph/create-entity.js.map +1 -1
  213. package/dist/src/graph/create-image.d.ts +2 -21
  214. package/dist/src/graph/create-image.d.ts.map +1 -1
  215. package/dist/src/graph/create-image.js +7 -69
  216. package/dist/src/graph/create-image.js.map +1 -1
  217. package/dist/src/graph/create-property.d.ts +2 -0
  218. package/dist/src/graph/create-property.d.ts.map +1 -1
  219. package/dist/src/graph/create-property.js +2 -0
  220. package/dist/src/graph/create-property.js.map +1 -1
  221. package/dist/src/graph/create-proposal-review.d.ts +1 -27
  222. package/dist/src/graph/create-proposal-review.d.ts.map +1 -1
  223. package/dist/src/graph/create-proposal-review.js +4 -61
  224. package/dist/src/graph/create-proposal-review.js.map +1 -1
  225. package/dist/src/graph/create-relation.d.ts +2 -0
  226. package/dist/src/graph/create-relation.d.ts.map +1 -1
  227. package/dist/src/graph/create-relation.js +2 -0
  228. package/dist/src/graph/create-relation.js.map +1 -1
  229. package/dist/src/graph/create-type.d.ts +2 -0
  230. package/dist/src/graph/create-type.d.ts.map +1 -1
  231. package/dist/src/graph/create-type.js +2 -0
  232. package/dist/src/graph/create-type.js.map +1 -1
  233. package/dist/src/graph/delete-entity.d.ts +2 -14
  234. package/dist/src/graph/delete-entity.d.ts.map +1 -1
  235. package/dist/src/graph/delete-entity.js +5 -78
  236. package/dist/src/graph/delete-entity.js.map +1 -1
  237. package/dist/src/graph/delete-entity.test.js +7 -0
  238. package/dist/src/graph/delete-entity.test.js.map +1 -1
  239. package/dist/src/graph/delete-relation.d.ts +2 -0
  240. package/dist/src/graph/delete-relation.d.ts.map +1 -1
  241. package/dist/src/graph/delete-relation.js +2 -0
  242. package/dist/src/graph/delete-relation.js.map +1 -1
  243. package/dist/src/graph/entity-vote.d.ts +3 -3
  244. package/dist/src/graph/entity-vote.d.ts.map +1 -1
  245. package/dist/src/graph/entity-vote.js +21 -46
  246. package/dist/src/graph/entity-vote.js.map +1 -1
  247. package/dist/src/graph/update-comment.d.ts +3 -0
  248. package/dist/src/graph/update-comment.d.ts.map +1 -1
  249. package/dist/src/graph/update-comment.js +3 -0
  250. package/dist/src/graph/update-comment.js.map +1 -1
  251. package/dist/src/graph/update-entity.d.ts +2 -0
  252. package/dist/src/graph/update-entity.d.ts.map +1 -1
  253. package/dist/src/graph/update-entity.js +2 -0
  254. package/dist/src/graph/update-entity.js.map +1 -1
  255. package/dist/src/graph/update-proposal-review.d.ts +2 -27
  256. package/dist/src/graph/update-proposal-review.d.ts.map +1 -1
  257. package/dist/src/graph/update-proposal-review.js +4 -50
  258. package/dist/src/graph/update-proposal-review.js.map +1 -1
  259. package/dist/src/graph/update-relation.d.ts +2 -0
  260. package/dist/src/graph/update-relation.d.ts.map +1 -1
  261. package/dist/src/graph/update-relation.js +2 -0
  262. package/dist/src/graph/update-relation.js.map +1 -1
  263. package/dist/src/ipfs-core.d.ts +42 -0
  264. package/dist/src/ipfs-core.d.ts.map +1 -0
  265. package/dist/src/ipfs-core.js +165 -0
  266. package/dist/src/ipfs-core.js.map +1 -0
  267. package/dist/src/ipfs-core.test.d.ts +2 -0
  268. package/dist/src/ipfs-core.test.d.ts.map +1 -0
  269. package/dist/src/ipfs-core.test.js +56 -0
  270. package/dist/src/ipfs-core.test.js.map +1 -0
  271. package/dist/src/ipfs.d.ts +7 -52
  272. package/dist/src/ipfs.d.ts.map +1 -1
  273. package/dist/src/ipfs.js +27 -170
  274. package/dist/src/ipfs.js.map +1 -1
  275. package/dist/src/legacy-api-surface.e2e.test.d.ts +2 -0
  276. package/dist/src/legacy-api-surface.e2e.test.d.ts.map +1 -0
  277. package/dist/src/legacy-api-surface.e2e.test.js +860 -0
  278. package/dist/src/legacy-api-surface.e2e.test.js.map +1 -0
  279. package/dist/src/networks.d.ts +46 -0
  280. package/dist/src/networks.d.ts.map +1 -0
  281. package/dist/src/networks.js +90 -0
  282. package/dist/src/networks.js.map +1 -0
  283. package/dist/src/ops/comments.d.ts +80 -0
  284. package/dist/src/ops/comments.d.ts.map +1 -0
  285. package/dist/src/ops/comments.js +142 -0
  286. package/dist/src/ops/comments.js.map +1 -0
  287. package/dist/src/ops/entities.d.ts +50 -0
  288. package/dist/src/ops/entities.d.ts.map +1 -0
  289. package/dist/src/ops/entities.js +51 -0
  290. package/dist/src/ops/entities.js.map +1 -0
  291. package/dist/src/ops/index.d.ts +7 -0
  292. package/dist/src/ops/index.d.ts.map +1 -0
  293. package/dist/src/ops/index.js +7 -0
  294. package/dist/src/ops/index.js.map +1 -0
  295. package/dist/src/ops/index.test.d.ts +2 -0
  296. package/dist/src/ops/index.test.d.ts.map +1 -0
  297. package/dist/src/ops/index.test.js +115 -0
  298. package/dist/src/ops/index.test.js.map +1 -0
  299. package/dist/src/ops/properties.d.ts +20 -0
  300. package/dist/src/ops/properties.d.ts.map +1 -0
  301. package/dist/src/ops/properties.js +20 -0
  302. package/dist/src/ops/properties.js.map +1 -0
  303. package/dist/src/ops/proposal-reviews.d.ts +43 -0
  304. package/dist/src/ops/proposal-reviews.d.ts.map +1 -0
  305. package/dist/src/ops/proposal-reviews.js +103 -0
  306. package/dist/src/ops/proposal-reviews.js.map +1 -0
  307. package/dist/src/ops/relations.d.ts +57 -0
  308. package/dist/src/ops/relations.d.ts.map +1 -0
  309. package/dist/src/ops/relations.js +59 -0
  310. package/dist/src/ops/relations.js.map +1 -0
  311. package/dist/src/ops/types.d.ts +20 -0
  312. package/dist/src/ops/types.d.ts.map +1 -0
  313. package/dist/src/ops/types.js +20 -0
  314. package/dist/src/ops/types.js.map +1 -0
  315. package/dist/src/personal-space/constants.d.ts +1 -0
  316. package/dist/src/personal-space/constants.d.ts.map +1 -1
  317. package/dist/src/personal-space/constants.js +1 -0
  318. package/dist/src/personal-space/constants.js.map +1 -1
  319. package/dist/src/personal-space/create-space.d.ts +3 -20
  320. package/dist/src/personal-space/create-space.d.ts.map +1 -1
  321. package/dist/src/personal-space/create-space.js +5 -21
  322. package/dist/src/personal-space/create-space.js.map +1 -1
  323. package/dist/src/personal-space/has-space.d.ts +9 -2
  324. package/dist/src/personal-space/has-space.d.ts.map +1 -1
  325. package/dist/src/personal-space/has-space.js +9 -13
  326. package/dist/src/personal-space/has-space.js.map +1 -1
  327. package/dist/src/personal-space/has-space.test.d.ts +2 -0
  328. package/dist/src/personal-space/has-space.test.d.ts.map +1 -0
  329. package/dist/src/personal-space/has-space.test.js +30 -0
  330. package/dist/src/personal-space/has-space.test.js.map +1 -0
  331. package/dist/src/personal-space/publish-edit.d.ts +1 -22
  332. package/dist/src/personal-space/publish-edit.d.ts.map +1 -1
  333. package/dist/src/personal-space/publish-edit.js +10 -64
  334. package/dist/src/personal-space/publish-edit.js.map +1 -1
  335. package/dist/src/personal-space/types.d.ts +4 -1
  336. package/dist/src/personal-space/types.d.ts.map +1 -1
  337. package/dist/src/smart-wallet.d.ts +2 -4
  338. package/dist/src/smart-wallet.d.ts.map +1 -1
  339. package/dist/src/smart-wallet.js +6 -9
  340. package/dist/src/smart-wallet.js.map +1 -1
  341. package/dist/src/types.d.ts +25 -0
  342. package/dist/src/types.d.ts.map +1 -1
  343. package/dist/src/types.js.map +1 -1
  344. package/package.json +16 -2
  345. package/dist/proto.d.ts +0 -5
  346. package/dist/proto.d.ts.map +0 -1
  347. package/dist/proto.js +0 -5
  348. package/dist/proto.js.map +0 -1
  349. package/dist/src/graph/create-space.d.ts +0 -37
  350. package/dist/src/graph/create-space.d.ts.map +0 -1
  351. package/dist/src/graph/create-space.js +0 -67
  352. package/dist/src/graph/create-space.js.map +0 -1
  353. package/dist/src/proto/index.d.ts +0 -7
  354. package/dist/src/proto/index.d.ts.map +0 -1
  355. package/dist/src/proto/index.js +0 -7
  356. package/dist/src/proto/index.js.map +0 -1
@@ -0,0 +1,380 @@
1
+ import type { Op } from '@geoprotocol/grc-20';
2
+ import type { VoteOption, VotingMode } from '../dao-space/types.js';
3
+ import { type CreateDaoSpaceCalldataParams, type VotingSettingsInput } from '../encodings/get-create-dao-space-calldata.js';
4
+ import type { Id } from '../id.js';
5
+ import type { GeoClientContext } from './context.js';
6
+ export type CreateDaoSpaceParams = Omit<CreateDaoSpaceCalldataParams, 'initialEditsContentUri' | 'initialMemberSpaceIds'> & {
7
+ name: string;
8
+ author: Id | string;
9
+ initialMemberSpaceIds?: `0x${string}`[];
10
+ ops?: Op[];
11
+ };
12
+ export type ProposalAction = {
13
+ to: `0x${string}`;
14
+ value: bigint;
15
+ data: `0x${string}`;
16
+ };
17
+ export type CreateProposalParams = {
18
+ fromSpaceId: string;
19
+ daoSpaceId: string;
20
+ proposalId?: string;
21
+ votingMode?: VotingMode;
22
+ actions: ProposalAction[];
23
+ updateProposal?: boolean;
24
+ };
25
+ export type ProposeEditParams = {
26
+ name: string;
27
+ ops: Op[];
28
+ author: Id | string;
29
+ daoSpaceAddress: `0x${string}`;
30
+ callerSpaceId: string;
31
+ daoSpaceId: string;
32
+ votingMode?: VotingMode;
33
+ proposalId?: string;
34
+ updateProposal?: boolean;
35
+ versionId?: number;
36
+ };
37
+ export type VoteProposalParams = {
38
+ authorSpaceId: string;
39
+ spaceId: string;
40
+ proposalId: string;
41
+ versionId?: number;
42
+ vote: VoteOption;
43
+ };
44
+ export type ExecuteProposalParams = {
45
+ authorSpaceId: string;
46
+ spaceId: string;
47
+ proposalId: string;
48
+ };
49
+ type DaoSpaceRoleProposalBaseParams = {
50
+ authorSpaceId: string;
51
+ spaceId: string;
52
+ daoSpaceAddress: `0x${string}`;
53
+ votingMode?: VotingMode;
54
+ proposalId?: string;
55
+ };
56
+ type SlowDaoSpaceRoleProposalBaseParams = Omit<DaoSpaceRoleProposalBaseParams, 'votingMode'> & {
57
+ votingMode?: 'SLOW';
58
+ };
59
+ export type ProposeAddMemberParams = DaoSpaceRoleProposalBaseParams & {
60
+ newMemberSpaceId: string;
61
+ };
62
+ export type ProposeRemoveMemberParams = DaoSpaceRoleProposalBaseParams & {
63
+ memberToRemoveSpaceId: string;
64
+ };
65
+ export type ProposeAddEditorParams = SlowDaoSpaceRoleProposalBaseParams & {
66
+ newEditorSpaceId: string;
67
+ };
68
+ export type ProposeRemoveEditorParams = SlowDaoSpaceRoleProposalBaseParams & {
69
+ editorToRemoveSpaceId: string;
70
+ };
71
+ export type ProposeRequestMembershipParams = {
72
+ authorSpaceId: string;
73
+ spaceId: string;
74
+ proposalId?: string;
75
+ };
76
+ export type ProposeUpdateVotingSettingsParams = SlowDaoSpaceRoleProposalBaseParams & {
77
+ votingSettings: VotingSettingsInput;
78
+ };
79
+ declare function encodePublishEditProposalAction(daoSpaceAddress: `0x${string}`, cid: string): ProposalAction;
80
+ declare function encodeUpdateVotingSettingsAction(daoSpaceAddress: `0x${string}`, votingSettings: VotingSettingsInput): ProposalAction;
81
+ /**
82
+ * Publishes the initial DAO edit and returns calldata for creating a DAO space.
83
+ *
84
+ * The helper first validates DAO voting settings and required contract
85
+ * addresses, then creates the space entity ops, publishes the initial edit, and
86
+ * encodes `createDAOSpaceProxy` calldata using the resulting CID. Unless
87
+ * `initialTopicId` is provided, the DAO topic is set to the generated space
88
+ * entity ID.
89
+ *
90
+ * @example
91
+ * ```ts
92
+ * const tx = await geo.daoSpaces.create({
93
+ * name: 'Research DAO',
94
+ * author: authorSpaceId,
95
+ * initialEditorSpaceIds: [authorSpaceId],
96
+ * votingSettings: {
97
+ * partialPercentageSupportThreshold: 50,
98
+ * universalPercentageSupportThreshold: 90,
99
+ * flatSupportThreshold: 1,
100
+ * quorum: 1,
101
+ * durationInDays: 2,
102
+ * disableFastPathAccessForNewMembers: true,
103
+ * executionGracePeriodInDays: 14,
104
+ * },
105
+ * });
106
+ *
107
+ * await walletClient.sendTransaction({
108
+ * to: tx.to,
109
+ * data: tx.calldata,
110
+ * });
111
+ * ```
112
+ *
113
+ * @param context Client context containing network, contract, API, and fetch configuration.
114
+ * @param params DAO name, author, voting settings, initial editors/members, and optional extra ops.
115
+ * @returns DAO factory address, calldata, generated space entity ID, and initial edit CID.
116
+ * @throws When DAO settings are invalid, required contracts are missing, IDs are invalid, or edit publishing fails.
117
+ */
118
+ export declare function create(context: GeoClientContext, params: CreateDaoSpaceParams): Promise<{
119
+ to: `0x${string}`;
120
+ calldata: `0x${string}`;
121
+ spaceEntityId: Id;
122
+ cid: `ipfs://${string}`;
123
+ }>;
124
+ /**
125
+ * Builds calldata for creating or updating a DAO proposal from prebuilt proposal actions.
126
+ *
127
+ * This uses the configured `SPACE_REGISTRY_ADDRESS` and encodes a
128
+ * `GOVERNANCE.PROPOSAL_CREATED` or `GOVERNANCE.PROPOSAL_UPDATED`
129
+ * `SpaceRegistry.enter(...)` call. Prefer the high-level
130
+ * `geo.daoSpaces.propose*` helpers for public client code.
131
+ *
132
+ * @example
133
+ * ```ts
134
+ * const tx = geo.daoSpaces.proposeAddMember({
135
+ * authorSpaceId,
136
+ * spaceId: daoSpaceId,
137
+ * daoSpaceAddress,
138
+ * newMemberSpaceId,
139
+ * });
140
+ * ```
141
+ *
142
+ * @param context Client context containing the target network configuration.
143
+ * @param params Caller space, DAO space, voting mode, optional proposal ID, and actions.
144
+ * @returns Target registry address, calldata, and proposal ID.
145
+ * @throws When IDs are invalid or the configured network is missing `SPACE_REGISTRY_ADDRESS`.
146
+ * @internal
147
+ */
148
+ export declare function createProposal(context: GeoClientContext, params: CreateProposalParams): {
149
+ to: `0x${string}`;
150
+ calldata: `0x${string}`;
151
+ proposalId: `0x${string}`;
152
+ };
153
+ /**
154
+ * Publishes an edit and wraps it in a DAO-space proposal.
155
+ *
156
+ * This helper validates the proposal shape before upload, publishes the edit
157
+ * through the configured API, creates a DAO `ping(...)` action with the
158
+ * resulting CID, and returns calldata for proposal creation.
159
+ *
160
+ * @example
161
+ * ```ts
162
+ * const proposal = await geo.daoSpaces.proposeEdit({
163
+ * name: 'Update entity',
164
+ * ops,
165
+ * author: authorSpaceId,
166
+ * daoSpaceAddress,
167
+ * callerSpaceId: authorSpaceId,
168
+ * daoSpaceId,
169
+ * });
170
+ * ```
171
+ *
172
+ * @param context Client context containing network, contract, API, and fetch configuration.
173
+ * @param params Edit publication params plus DAO proposal target details.
174
+ * @returns Edit ID, CID, target registry address, calldata, and proposal ID.
175
+ * @throws When IDs are invalid, required contracts are missing, or edit publishing fails.
176
+ */
177
+ export declare function proposeEdit(context: GeoClientContext, params: ProposeEditParams): Promise<{
178
+ to: `0x${string}`;
179
+ calldata: `0x${string}`;
180
+ proposalId: `0x${string}`;
181
+ editId: Id;
182
+ cid: `ipfs://${string}`;
183
+ versionId: number;
184
+ }>;
185
+ /**
186
+ * Builds calldata for a DAO proposal that adds a member space.
187
+ *
188
+ * `daoSpaceAddress` is required because the proposal action calls the DAO
189
+ * space contract directly.
190
+ *
191
+ * @example
192
+ * ```ts
193
+ * const tx = geo.daoSpaces.proposeAddMember({
194
+ * authorSpaceId,
195
+ * spaceId: daoSpaceId,
196
+ * daoSpaceAddress,
197
+ * newMemberSpaceId: memberSpaceId,
198
+ * });
199
+ * ```
200
+ */
201
+ export declare function proposeAddMember(context: GeoClientContext, params: ProposeAddMemberParams): {
202
+ to: `0x${string}`;
203
+ calldata: `0x${string}`;
204
+ proposalId: `0x${string}`;
205
+ };
206
+ /**
207
+ * Builds calldata for a DAO proposal that removes a member space.
208
+ *
209
+ * @example
210
+ * ```ts
211
+ * const tx = geo.daoSpaces.proposeRemoveMember({
212
+ * authorSpaceId,
213
+ * spaceId: daoSpaceId,
214
+ * daoSpaceAddress,
215
+ * memberToRemoveSpaceId,
216
+ * });
217
+ * ```
218
+ */
219
+ export declare function proposeRemoveMember(context: GeoClientContext, params: ProposeRemoveMemberParams): {
220
+ to: `0x${string}`;
221
+ calldata: `0x${string}`;
222
+ proposalId: `0x${string}`;
223
+ };
224
+ /**
225
+ * Builds calldata for a DAO proposal that adds an editor space.
226
+ *
227
+ * Editor changes only support SLOW voting.
228
+ *
229
+ * @example
230
+ * ```ts
231
+ * const tx = geo.daoSpaces.proposeAddEditor({
232
+ * authorSpaceId,
233
+ * spaceId: daoSpaceId,
234
+ * daoSpaceAddress,
235
+ * newEditorSpaceId: editorSpaceId,
236
+ * });
237
+ * ```
238
+ */
239
+ export declare function proposeAddEditor(context: GeoClientContext, params: ProposeAddEditorParams): {
240
+ to: `0x${string}`;
241
+ calldata: `0x${string}`;
242
+ proposalId: `0x${string}`;
243
+ };
244
+ /**
245
+ * Builds calldata for a DAO proposal that removes an editor space.
246
+ *
247
+ * Editor changes only support SLOW voting.
248
+ *
249
+ * @example
250
+ * ```ts
251
+ * const tx = geo.daoSpaces.proposeRemoveEditor({
252
+ * authorSpaceId,
253
+ * spaceId: daoSpaceId,
254
+ * daoSpaceAddress,
255
+ * editorToRemoveSpaceId,
256
+ * });
257
+ * ```
258
+ */
259
+ export declare function proposeRemoveEditor(context: GeoClientContext, params: ProposeRemoveEditorParams): {
260
+ to: `0x${string}`;
261
+ calldata: `0x${string}`;
262
+ proposalId: `0x${string}`;
263
+ };
264
+ /**
265
+ * Builds calldata for a DAO proposal that updates voting settings.
266
+ *
267
+ * Updating voting settings only supports SLOW voting.
268
+ * The client validates deterministic numeric bounds before encoding; the DAO
269
+ * contract still enforces flat threshold and quorum against the current editor
270
+ * count when the proposal executes.
271
+ *
272
+ * @example
273
+ * ```ts
274
+ * const tx = geo.daoSpaces.proposeUpdateVotingSettings({
275
+ * authorSpaceId,
276
+ * spaceId: daoSpaceId,
277
+ * daoSpaceAddress,
278
+ * votingSettings: {
279
+ * partialPercentageSupportThreshold: 50,
280
+ * universalPercentageSupportThreshold: 90,
281
+ * flatSupportThreshold: 1,
282
+ * quorum: 1,
283
+ * durationInDays: 2,
284
+ * disableFastPathAccessForNewMembers: true,
285
+ * executionGracePeriodInDays: 14,
286
+ * },
287
+ * });
288
+ * ```
289
+ */
290
+ export declare function proposeUpdateVotingSettings(context: GeoClientContext, params: ProposeUpdateVotingSettingsParams): {
291
+ to: `0x${string}`;
292
+ calldata: `0x${string}`;
293
+ proposalId: `0x${string}`;
294
+ };
295
+ /**
296
+ * Builds calldata for requesting membership in a DAO space.
297
+ *
298
+ * Unlike governance proposals, this emits `GOVERNANCE.MEMBERSHIP_REQUESTED`
299
+ * and can be submitted by a non-member space.
300
+ *
301
+ * @example
302
+ * ```ts
303
+ * const tx = geo.daoSpaces.proposeRequestMembership({
304
+ * authorSpaceId: requesterSpaceId,
305
+ * spaceId: daoSpaceId,
306
+ * });
307
+ * ```
308
+ */
309
+ export declare function proposeRequestMembership(context: GeoClientContext, params: ProposeRequestMembershipParams): {
310
+ to: `0x${string}`;
311
+ calldata: `0x${string}`;
312
+ proposalId: `0x${string}`;
313
+ };
314
+ /**
315
+ * Builds calldata for voting on a DAO proposal.
316
+ *
317
+ * @example
318
+ * ```ts
319
+ * const tx = geo.daoSpaces.voteProposal({
320
+ * authorSpaceId,
321
+ * spaceId: daoSpaceId,
322
+ * proposalId,
323
+ * versionId: 1,
324
+ * vote: 'YES',
325
+ * });
326
+ * ```
327
+ *
328
+ * @param context Client context containing the target network configuration.
329
+ * @param params Author space, DAO space, proposal ID, and vote option.
330
+ * @returns Target registry address and calldata for `GOVERNANCE.PROPOSAL_VOTED`.
331
+ * @throws When IDs are invalid or the configured network is missing `SPACE_REGISTRY_ADDRESS`.
332
+ */
333
+ export declare function voteProposal(context: GeoClientContext, params: VoteProposalParams): {
334
+ to: `0x${string}`;
335
+ calldata: `0x${string}`;
336
+ };
337
+ /**
338
+ * Builds calldata for executing a passed DAO proposal.
339
+ *
340
+ * @example
341
+ * ```ts
342
+ * const tx = geo.daoSpaces.executeProposal({
343
+ * authorSpaceId,
344
+ * spaceId: daoSpaceId,
345
+ * proposalId,
346
+ * });
347
+ * ```
348
+ *
349
+ * @param context Client context containing the target network configuration.
350
+ * @param params Author space, DAO space, and proposal ID.
351
+ * @returns Target registry address and calldata for `GOVERNANCE.PROPOSAL_EXECUTED`.
352
+ * @throws When IDs are invalid or the configured network is missing `SPACE_REGISTRY_ADDRESS`.
353
+ */
354
+ export declare function executeProposal(context: GeoClientContext, params: ExecuteProposalParams): {
355
+ to: `0x${string}`;
356
+ calldata: `0x${string}`;
357
+ };
358
+ /**
359
+ * Internal helpers for constructing DAO proposal actions.
360
+ *
361
+ * These helpers only encode DAO-space action payloads for the higher-level
362
+ * proposal helpers in this module.
363
+ *
364
+ * @example
365
+ * ```ts
366
+ * const action = actions.addEditor(daoSpaceAddress, editorSpaceId);
367
+ * ```
368
+ *
369
+ * @internal
370
+ */
371
+ export declare const actions: {
372
+ publishEdit: typeof encodePublishEditProposalAction;
373
+ addEditor: (daoSpaceAddress: `0x${string}`, spaceId: string) => ProposalAction;
374
+ removeEditor: (daoSpaceAddress: `0x${string}`, spaceId: string) => ProposalAction;
375
+ addMember: (daoSpaceAddress: `0x${string}`, spaceId: string) => ProposalAction;
376
+ removeMember: (daoSpaceAddress: `0x${string}`, spaceId: string) => ProposalAction;
377
+ updateVotingSettings: typeof encodeUpdateVotingSettingsAction;
378
+ };
379
+ export {};
380
+ //# sourceMappingURL=dao-spaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dao-spaces.d.ts","sourceRoot":"","sources":["../../../src/client/dao-spaces.ts"],"names":[],"mappings":"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"}