@geoprotocol/geo-sdk 0.18.3 → 0.19.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 (344) hide show
  1. package/README.md +995 -372
  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 +7 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +7 -0
  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-v2.test.d.ts +2 -0
  15. package/dist/src/abis/dao-space-v2.test.d.ts.map +1 -0
  16. package/dist/src/abis/dao-space-v2.test.js +67 -0
  17. package/dist/src/abis/dao-space-v2.test.js.map +1 -0
  18. package/dist/src/client/api.d.ts +86 -0
  19. package/dist/src/client/api.d.ts.map +1 -0
  20. package/dist/src/client/api.js +169 -0
  21. package/dist/src/client/api.js.map +1 -0
  22. package/dist/src/client/comments.d.ts +59 -0
  23. package/dist/src/client/comments.d.ts.map +1 -0
  24. package/dist/src/client/comments.js +96 -0
  25. package/dist/src/client/comments.js.map +1 -0
  26. package/dist/src/client/context.d.ts +20 -0
  27. package/dist/src/client/context.d.ts.map +1 -0
  28. package/dist/src/client/context.js +20 -0
  29. package/dist/src/client/context.js.map +1 -0
  30. package/dist/src/client/dao-spaces.d.ts +348 -0
  31. package/dist/src/client/dao-spaces.d.ts.map +1 -0
  32. package/dist/src/client/dao-spaces.js +494 -0
  33. package/dist/src/client/dao-spaces.js.map +1 -0
  34. package/dist/src/client/dao-spaces.test.d.ts +2 -0
  35. package/dist/src/client/dao-spaces.test.d.ts.map +1 -0
  36. package/dist/src/client/dao-spaces.test.js +263 -0
  37. package/dist/src/client/dao-spaces.test.js.map +1 -0
  38. package/dist/src/client/edits.d.ts +100 -0
  39. package/dist/src/client/edits.d.ts.map +1 -0
  40. package/dist/src/client/edits.js +131 -0
  41. package/dist/src/client/edits.js.map +1 -0
  42. package/dist/src/client/edits.test.d.ts +2 -0
  43. package/dist/src/client/edits.test.d.ts.map +1 -0
  44. package/dist/src/client/edits.test.js +98 -0
  45. package/dist/src/client/edits.test.js.map +1 -0
  46. package/dist/src/client/entities.d.ts +23 -0
  47. package/dist/src/client/entities.d.ts.map +1 -0
  48. package/dist/src/client/entities.js +88 -0
  49. package/dist/src/client/entities.js.map +1 -0
  50. package/dist/src/client/entity-votes.d.ts +141 -0
  51. package/dist/src/client/entity-votes.d.ts.map +1 -0
  52. package/dist/src/client/entity-votes.js +168 -0
  53. package/dist/src/client/entity-votes.js.map +1 -0
  54. package/dist/src/client/entity-votes.test.d.ts +2 -0
  55. package/dist/src/client/entity-votes.test.d.ts.map +1 -0
  56. package/dist/src/client/entity-votes.test.js +93 -0
  57. package/dist/src/client/entity-votes.test.js.map +1 -0
  58. package/dist/src/client/graph-workflows.test.d.ts +2 -0
  59. package/dist/src/client/graph-workflows.test.d.ts.map +1 -0
  60. package/dist/src/client/graph-workflows.test.js +83 -0
  61. package/dist/src/client/graph-workflows.test.js.map +1 -0
  62. package/dist/src/client/images-storage.test.d.ts +2 -0
  63. package/dist/src/client/images-storage.test.d.ts.map +1 -0
  64. package/dist/src/client/images-storage.test.js +52 -0
  65. package/dist/src/client/images-storage.test.js.map +1 -0
  66. package/dist/src/client/images.d.ts +35 -0
  67. package/dist/src/client/images.d.ts.map +1 -0
  68. package/dist/src/client/images.js +90 -0
  69. package/dist/src/client/images.js.map +1 -0
  70. package/dist/src/client/personal-spaces.d.ts +155 -0
  71. package/dist/src/client/personal-spaces.d.ts.map +1 -0
  72. package/dist/src/client/personal-spaces.js +198 -0
  73. package/dist/src/client/personal-spaces.js.map +1 -0
  74. package/dist/src/client/proposals.d.ts +185 -0
  75. package/dist/src/client/proposals.d.ts.map +1 -0
  76. package/dist/src/client/proposals.js +294 -0
  77. package/dist/src/client/proposals.js.map +1 -0
  78. package/dist/src/client/proposals.test.d.ts +2 -0
  79. package/dist/src/client/proposals.test.d.ts.map +1 -0
  80. package/dist/src/client/proposals.test.js +243 -0
  81. package/dist/src/client/proposals.test.js.map +1 -0
  82. package/dist/src/client/spaces.test.d.ts +2 -0
  83. package/dist/src/client/spaces.test.d.ts.map +1 -0
  84. package/dist/src/client/spaces.test.js +155 -0
  85. package/dist/src/client/spaces.test.js.map +1 -0
  86. package/dist/src/client/storage.d.ts +52 -0
  87. package/dist/src/client/storage.d.ts.map +1 -0
  88. package/dist/src/client/storage.js +53 -0
  89. package/dist/src/client/storage.js.map +1 -0
  90. package/dist/src/client.d.ts +325 -0
  91. package/dist/src/client.d.ts.map +1 -0
  92. package/dist/src/client.js +452 -0
  93. package/dist/src/client.js.map +1 -0
  94. package/dist/src/client.test.d.ts +2 -0
  95. package/dist/src/client.test.d.ts.map +1 -0
  96. package/dist/src/client.test.js +120 -0
  97. package/dist/src/client.test.js.map +1 -0
  98. package/dist/src/contracts-v2/abis.d.ts +196 -0
  99. package/dist/src/contracts-v2/abis.d.ts.map +1 -0
  100. package/dist/src/contracts-v2/abis.js +110 -0
  101. package/dist/src/contracts-v2/abis.js.map +1 -0
  102. package/dist/src/contracts-v2/actions.d.ts +56 -0
  103. package/dist/src/contracts-v2/actions.d.ts.map +1 -0
  104. package/dist/src/contracts-v2/actions.js +83 -0
  105. package/dist/src/contracts-v2/actions.js.map +1 -0
  106. package/dist/src/contracts-v2/encoding.d.ts +80 -0
  107. package/dist/src/contracts-v2/encoding.d.ts.map +1 -0
  108. package/dist/src/contracts-v2/encoding.js +193 -0
  109. package/dist/src/contracts-v2/encoding.js.map +1 -0
  110. package/dist/src/contracts-v2/encoding.test.d.ts +2 -0
  111. package/dist/src/contracts-v2/encoding.test.d.ts.map +1 -0
  112. package/dist/src/contracts-v2/encoding.test.js +93 -0
  113. package/dist/src/contracts-v2/encoding.test.js.map +1 -0
  114. package/dist/src/contracts-v2/local-geobrowser.e2e.test.d.ts +2 -0
  115. package/dist/src/contracts-v2/local-geobrowser.e2e.test.d.ts.map +1 -0
  116. package/dist/src/contracts-v2/local-geobrowser.e2e.test.js +239 -0
  117. package/dist/src/contracts-v2/local-geobrowser.e2e.test.js.map +1 -0
  118. package/dist/src/contracts-v2/voting-settings.d.ts +48 -0
  119. package/dist/src/contracts-v2/voting-settings.d.ts.map +1 -0
  120. package/dist/src/contracts-v2/voting-settings.js +69 -0
  121. package/dist/src/contracts-v2/voting-settings.js.map +1 -0
  122. package/dist/src/dao-space/constants.d.ts +6 -3
  123. package/dist/src/dao-space/constants.d.ts.map +1 -1
  124. package/dist/src/dao-space/constants.js +6 -5
  125. package/dist/src/dao-space/constants.js.map +1 -1
  126. package/dist/src/dao-space/create-space.d.ts +1 -31
  127. package/dist/src/dao-space/create-space.d.ts.map +1 -1
  128. package/dist/src/dao-space/create-space.js +5 -70
  129. package/dist/src/dao-space/create-space.js.map +1 -1
  130. package/dist/src/dao-space/execute-proposal.d.ts +1 -22
  131. package/dist/src/dao-space/execute-proposal.d.ts.map +1 -1
  132. package/dist/src/dao-space/execute-proposal.js +12 -59
  133. package/dist/src/dao-space/execute-proposal.js.map +1 -1
  134. package/dist/src/dao-space/propose-add-editor.test.js +1 -1
  135. package/dist/src/dao-space/propose-add-editor.test.js.map +1 -1
  136. package/dist/src/dao-space/propose-edit.d.ts +1 -30
  137. package/dist/src/dao-space/propose-edit.d.ts.map +1 -1
  138. package/dist/src/dao-space/propose-edit.js +12 -108
  139. package/dist/src/dao-space/propose-edit.js.map +1 -1
  140. package/dist/src/dao-space/propose-edit.test.js +8 -1
  141. package/dist/src/dao-space/propose-edit.test.js.map +1 -1
  142. package/dist/src/dao-space/propose-remove-editor.d.ts.map +1 -1
  143. package/dist/src/dao-space/propose-remove-editor.js +5 -5
  144. package/dist/src/dao-space/propose-remove-editor.js.map +1 -1
  145. package/dist/src/dao-space/propose-remove-editor.test.js +3 -8
  146. package/dist/src/dao-space/propose-remove-editor.test.js.map +1 -1
  147. package/dist/src/dao-space/propose-remove-member.d.ts.map +1 -1
  148. package/dist/src/dao-space/propose-remove-member.js +5 -5
  149. package/dist/src/dao-space/propose-remove-member.js.map +1 -1
  150. package/dist/src/dao-space/propose-request-membership.d.ts.map +1 -1
  151. package/dist/src/dao-space/propose-request-membership.js +4 -4
  152. package/dist/src/dao-space/propose-request-membership.js.map +1 -1
  153. package/dist/src/dao-space/propose-update-voting-settings.d.ts +8 -0
  154. package/dist/src/dao-space/propose-update-voting-settings.d.ts.map +1 -0
  155. package/dist/src/dao-space/propose-update-voting-settings.js +19 -0
  156. package/dist/src/dao-space/propose-update-voting-settings.js.map +1 -0
  157. package/dist/src/dao-space/propose-update-voting-settings.test.d.ts +2 -0
  158. package/dist/src/dao-space/propose-update-voting-settings.test.d.ts.map +1 -0
  159. package/dist/src/dao-space/propose-update-voting-settings.test.js +118 -0
  160. package/dist/src/dao-space/propose-update-voting-settings.test.js.map +1 -0
  161. package/dist/src/dao-space/vote-proposal.d.ts +1 -24
  162. package/dist/src/dao-space/vote-proposal.d.ts.map +1 -1
  163. package/dist/src/dao-space/vote-proposal.js +12 -64
  164. package/dist/src/dao-space/vote-proposal.js.map +1 -1
  165. package/dist/src/e2e/local-geobrowser.d.ts +9 -0
  166. package/dist/src/e2e/local-geobrowser.d.ts.map +1 -0
  167. package/dist/src/e2e/local-geobrowser.js +35 -0
  168. package/dist/src/e2e/local-geobrowser.js.map +1 -0
  169. package/dist/src/e2e/v2-contracts.test.d.ts +2 -0
  170. package/dist/src/e2e/v2-contracts.test.d.ts.map +1 -0
  171. package/dist/src/e2e/v2-contracts.test.js +25 -0
  172. package/dist/src/e2e/v2-contracts.test.js.map +1 -0
  173. package/dist/src/e2e-api-surface.test.d.ts +2 -0
  174. package/dist/src/e2e-api-surface.test.d.ts.map +1 -0
  175. package/dist/src/e2e-api-surface.test.js +1021 -0
  176. package/dist/src/e2e-api-surface.test.js.map +1 -0
  177. package/dist/src/e2e-flows.test.d.ts +2 -0
  178. package/dist/src/e2e-flows.test.d.ts.map +1 -0
  179. package/dist/src/e2e-flows.test.js +445 -0
  180. package/dist/src/e2e-flows.test.js.map +1 -0
  181. package/dist/src/e2e-legacy-api-surface.test.d.ts +2 -0
  182. package/dist/src/e2e-legacy-api-surface.test.d.ts.map +1 -0
  183. package/dist/src/e2e-legacy-api-surface.test.js +840 -0
  184. package/dist/src/e2e-legacy-api-surface.test.js.map +1 -0
  185. package/dist/src/encoding.d.ts +3 -0
  186. package/dist/src/encoding.d.ts.map +1 -1
  187. package/dist/src/encoding.js +3 -0
  188. package/dist/src/encoding.js.map +1 -1
  189. package/dist/src/encodings/get-create-dao-space-calldata.d.ts +3 -89
  190. package/dist/src/encodings/get-create-dao-space-calldata.d.ts.map +1 -1
  191. package/dist/src/encodings/get-create-dao-space-calldata.js +5 -95
  192. package/dist/src/encodings/get-create-dao-space-calldata.js.map +1 -1
  193. package/dist/src/encodings/get-create-personal-space-calldata.d.ts +2 -0
  194. package/dist/src/encodings/get-create-personal-space-calldata.d.ts.map +1 -1
  195. package/dist/src/encodings/get-create-personal-space-calldata.js +2 -0
  196. package/dist/src/encodings/get-create-personal-space-calldata.js.map +1 -1
  197. package/dist/src/graph/comment-utils.d.ts +4 -0
  198. package/dist/src/graph/comment-utils.d.ts.map +1 -1
  199. package/dist/src/graph/comment-utils.js +4 -0
  200. package/dist/src/graph/comment-utils.js.map +1 -1
  201. package/dist/src/graph/constants.d.ts +12 -3
  202. package/dist/src/graph/constants.d.ts.map +1 -1
  203. package/dist/src/graph/constants.js +11 -5
  204. package/dist/src/graph/constants.js.map +1 -1
  205. package/dist/src/graph/create-comment.d.ts +3 -22
  206. package/dist/src/graph/create-comment.d.ts.map +1 -1
  207. package/dist/src/graph/create-comment.js +6 -136
  208. package/dist/src/graph/create-comment.js.map +1 -1
  209. package/dist/src/graph/create-comment.test.js +19 -8
  210. package/dist/src/graph/create-comment.test.js.map +1 -1
  211. package/dist/src/graph/create-entity.d.ts +2 -0
  212. package/dist/src/graph/create-entity.d.ts.map +1 -1
  213. package/dist/src/graph/create-entity.js +2 -0
  214. package/dist/src/graph/create-entity.js.map +1 -1
  215. package/dist/src/graph/create-image.d.ts +2 -21
  216. package/dist/src/graph/create-image.d.ts.map +1 -1
  217. package/dist/src/graph/create-image.js +7 -69
  218. package/dist/src/graph/create-image.js.map +1 -1
  219. package/dist/src/graph/create-property.d.ts +2 -0
  220. package/dist/src/graph/create-property.d.ts.map +1 -1
  221. package/dist/src/graph/create-property.js +2 -0
  222. package/dist/src/graph/create-property.js.map +1 -1
  223. package/dist/src/graph/create-proposal-review.d.ts +1 -27
  224. package/dist/src/graph/create-proposal-review.d.ts.map +1 -1
  225. package/dist/src/graph/create-proposal-review.js +4 -61
  226. package/dist/src/graph/create-proposal-review.js.map +1 -1
  227. package/dist/src/graph/create-relation.d.ts +2 -0
  228. package/dist/src/graph/create-relation.d.ts.map +1 -1
  229. package/dist/src/graph/create-relation.js +2 -0
  230. package/dist/src/graph/create-relation.js.map +1 -1
  231. package/dist/src/graph/create-type.d.ts +2 -0
  232. package/dist/src/graph/create-type.d.ts.map +1 -1
  233. package/dist/src/graph/create-type.js +2 -0
  234. package/dist/src/graph/create-type.js.map +1 -1
  235. package/dist/src/graph/delete-entity.d.ts +2 -14
  236. package/dist/src/graph/delete-entity.d.ts.map +1 -1
  237. package/dist/src/graph/delete-entity.js +5 -78
  238. package/dist/src/graph/delete-entity.js.map +1 -1
  239. package/dist/src/graph/delete-entity.test.js +7 -0
  240. package/dist/src/graph/delete-entity.test.js.map +1 -1
  241. package/dist/src/graph/delete-relation.d.ts +2 -0
  242. package/dist/src/graph/delete-relation.d.ts.map +1 -1
  243. package/dist/src/graph/delete-relation.js +2 -0
  244. package/dist/src/graph/delete-relation.js.map +1 -1
  245. package/dist/src/graph/entity-vote.d.ts +3 -3
  246. package/dist/src/graph/entity-vote.d.ts.map +1 -1
  247. package/dist/src/graph/entity-vote.js +21 -46
  248. package/dist/src/graph/entity-vote.js.map +1 -1
  249. package/dist/src/graph/update-comment.d.ts +3 -0
  250. package/dist/src/graph/update-comment.d.ts.map +1 -1
  251. package/dist/src/graph/update-comment.js +3 -0
  252. package/dist/src/graph/update-comment.js.map +1 -1
  253. package/dist/src/graph/update-entity.d.ts +2 -0
  254. package/dist/src/graph/update-entity.d.ts.map +1 -1
  255. package/dist/src/graph/update-entity.js +2 -0
  256. package/dist/src/graph/update-entity.js.map +1 -1
  257. package/dist/src/graph/update-proposal-review.d.ts +2 -27
  258. package/dist/src/graph/update-proposal-review.d.ts.map +1 -1
  259. package/dist/src/graph/update-proposal-review.js +4 -50
  260. package/dist/src/graph/update-proposal-review.js.map +1 -1
  261. package/dist/src/graph/update-relation.d.ts +2 -0
  262. package/dist/src/graph/update-relation.d.ts.map +1 -1
  263. package/dist/src/graph/update-relation.js +2 -0
  264. package/dist/src/graph/update-relation.js.map +1 -1
  265. package/dist/src/ipfs-core.d.ts +42 -0
  266. package/dist/src/ipfs-core.d.ts.map +1 -0
  267. package/dist/src/ipfs-core.js +165 -0
  268. package/dist/src/ipfs-core.js.map +1 -0
  269. package/dist/src/ipfs-core.test.d.ts +2 -0
  270. package/dist/src/ipfs-core.test.d.ts.map +1 -0
  271. package/dist/src/ipfs-core.test.js +56 -0
  272. package/dist/src/ipfs-core.test.js.map +1 -0
  273. package/dist/src/ipfs.d.ts +7 -52
  274. package/dist/src/ipfs.d.ts.map +1 -1
  275. package/dist/src/ipfs.js +27 -170
  276. package/dist/src/ipfs.js.map +1 -1
  277. package/dist/src/networks.d.ts +46 -0
  278. package/dist/src/networks.d.ts.map +1 -0
  279. package/dist/src/networks.js +90 -0
  280. package/dist/src/networks.js.map +1 -0
  281. package/dist/src/ops/comments.d.ts +80 -0
  282. package/dist/src/ops/comments.d.ts.map +1 -0
  283. package/dist/src/ops/comments.js +142 -0
  284. package/dist/src/ops/comments.js.map +1 -0
  285. package/dist/src/ops/entities.d.ts +50 -0
  286. package/dist/src/ops/entities.d.ts.map +1 -0
  287. package/dist/src/ops/entities.js +51 -0
  288. package/dist/src/ops/entities.js.map +1 -0
  289. package/dist/src/ops/images.d.ts +37 -0
  290. package/dist/src/ops/images.d.ts.map +1 -0
  291. package/dist/src/ops/images.js +69 -0
  292. package/dist/src/ops/images.js.map +1 -0
  293. package/dist/src/ops/index.d.ts +7 -0
  294. package/dist/src/ops/index.d.ts.map +1 -0
  295. package/dist/src/ops/index.js +7 -0
  296. package/dist/src/ops/index.js.map +1 -0
  297. package/dist/src/ops/index.test.d.ts +2 -0
  298. package/dist/src/ops/index.test.d.ts.map +1 -0
  299. package/dist/src/ops/index.test.js +115 -0
  300. package/dist/src/ops/index.test.js.map +1 -0
  301. package/dist/src/ops/properties.d.ts +20 -0
  302. package/dist/src/ops/properties.d.ts.map +1 -0
  303. package/dist/src/ops/properties.js +20 -0
  304. package/dist/src/ops/properties.js.map +1 -0
  305. package/dist/src/ops/proposal-reviews.d.ts +43 -0
  306. package/dist/src/ops/proposal-reviews.d.ts.map +1 -0
  307. package/dist/src/ops/proposal-reviews.js +103 -0
  308. package/dist/src/ops/proposal-reviews.js.map +1 -0
  309. package/dist/src/ops/relations.d.ts +57 -0
  310. package/dist/src/ops/relations.d.ts.map +1 -0
  311. package/dist/src/ops/relations.js +59 -0
  312. package/dist/src/ops/relations.js.map +1 -0
  313. package/dist/src/ops/types.d.ts +20 -0
  314. package/dist/src/ops/types.d.ts.map +1 -0
  315. package/dist/src/ops/types.js +20 -0
  316. package/dist/src/ops/types.js.map +1 -0
  317. package/dist/src/personal-space/constants.d.ts +1 -0
  318. package/dist/src/personal-space/constants.d.ts.map +1 -1
  319. package/dist/src/personal-space/constants.js +1 -0
  320. package/dist/src/personal-space/constants.js.map +1 -1
  321. package/dist/src/personal-space/create-space.d.ts +1 -18
  322. package/dist/src/personal-space/create-space.d.ts.map +1 -1
  323. package/dist/src/personal-space/create-space.js +1 -18
  324. package/dist/src/personal-space/create-space.js.map +1 -1
  325. package/dist/src/personal-space/has-space.d.ts +9 -2
  326. package/dist/src/personal-space/has-space.d.ts.map +1 -1
  327. package/dist/src/personal-space/has-space.js +9 -13
  328. package/dist/src/personal-space/has-space.js.map +1 -1
  329. package/dist/src/personal-space/has-space.test.d.ts +2 -0
  330. package/dist/src/personal-space/has-space.test.d.ts.map +1 -0
  331. package/dist/src/personal-space/has-space.test.js +30 -0
  332. package/dist/src/personal-space/has-space.test.js.map +1 -0
  333. package/dist/src/personal-space/publish-edit.d.ts +1 -22
  334. package/dist/src/personal-space/publish-edit.d.ts.map +1 -1
  335. package/dist/src/personal-space/publish-edit.js +10 -64
  336. package/dist/src/personal-space/publish-edit.js.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 +14 -1
@@ -0,0 +1,185 @@
1
+ import type { Op } from '@geoprotocol/grc-20';
2
+ import type { VoteOption, VotingMode } from '../dao-space/types.js';
3
+ import { 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 ProposalAction = {
7
+ to: `0x${string}`;
8
+ value: bigint;
9
+ data: `0x${string}`;
10
+ };
11
+ export type CreateProposalParams = {
12
+ fromSpaceId: string;
13
+ daoSpaceId: string;
14
+ proposalId?: string;
15
+ votingMode?: VotingMode;
16
+ actions: ProposalAction[];
17
+ };
18
+ export type ProposeEditParams = {
19
+ name: string;
20
+ ops: Op[];
21
+ author: Id | string;
22
+ daoSpaceAddress: `0x${string}`;
23
+ callerSpaceId: string;
24
+ daoSpaceId: string;
25
+ votingMode?: VotingMode;
26
+ proposalId?: string;
27
+ };
28
+ export type VoteProposalParams = {
29
+ authorSpaceId: string;
30
+ spaceId: string;
31
+ proposalId: string;
32
+ vote: VoteOption;
33
+ };
34
+ export type ExecuteProposalParams = {
35
+ authorSpaceId: string;
36
+ spaceId: string;
37
+ proposalId: string;
38
+ };
39
+ declare function encodePublishEditProposalAction(daoSpaceAddress: `0x${string}`, cid: string): ProposalAction;
40
+ declare function encodeUpdateVotingSettingsAction(daoSpaceAddress: `0x${string}`, votingSettings: VotingSettingsInput): ProposalAction;
41
+ /**
42
+ * Builds calldata for creating a DAO proposal from prebuilt proposal actions.
43
+ *
44
+ * This helper is synchronous and does not publish or fetch. It uses the
45
+ * configured `SPACE_REGISTRY_ADDRESS` and encodes a
46
+ * `GOVERNANCE.PROPOSAL_CREATED` `SpaceRegistry.enter(...)` call.
47
+ *
48
+ * @example
49
+ * ```ts
50
+ * const actions = [
51
+ * geo.daoSpaces.proposals.actions.addMember(daoSpaceAddress, memberSpaceId),
52
+ * geo.daoSpaces.proposals.actions.updateVotingSettings(daoSpaceAddress, {
53
+ * slowPathPercentageThreshold: 60,
54
+ * fastPathFlatThreshold: 2,
55
+ * quorum: 3,
56
+ * durationInDays: 5,
57
+ * }),
58
+ * ];
59
+ *
60
+ * const tx = geo.daoSpaces.proposals.create({
61
+ * fromSpaceId: authorSpaceId,
62
+ * daoSpaceId,
63
+ * votingMode: 'SLOW',
64
+ * actions,
65
+ * });
66
+ * ```
67
+ *
68
+ * @param context Client context containing the target network configuration.
69
+ * @param params Caller space, DAO space, voting mode, optional proposal ID, and actions.
70
+ * @returns Target registry address, calldata, and proposal ID.
71
+ * @throws When IDs are invalid or the configured network is missing `SPACE_REGISTRY_ADDRESS`.
72
+ */
73
+ export declare function create(context: GeoClientContext, params: CreateProposalParams): {
74
+ to: `0x${string}`;
75
+ calldata: `0x${string}`;
76
+ proposalId: `0x${string}`;
77
+ };
78
+ /**
79
+ * Publishes an edit and wraps it in a DAO proposal.
80
+ *
81
+ * This helper validates the proposal shape before upload, publishes the edit
82
+ * through the configured API, creates a DAO `publish(...)` action with the
83
+ * resulting CID, and returns calldata for proposal creation.
84
+ *
85
+ * @example
86
+ * ```ts
87
+ * import * as Ops from '@geoprotocol/geo-sdk/ops';
88
+ *
89
+ * const { ops } = Ops.entities.update({
90
+ * id: entityId,
91
+ * name: 'Updated name',
92
+ * });
93
+ *
94
+ * const proposal = await geo.daoSpaces.proposeEdit({
95
+ * name: 'Update entity',
96
+ * ops,
97
+ * author: authorSpaceId,
98
+ * daoSpaceAddress,
99
+ * callerSpaceId: authorSpaceId,
100
+ * daoSpaceId,
101
+ * });
102
+ * ```
103
+ *
104
+ * @param context Client context containing network, contract, API, and fetch configuration.
105
+ * @param params Edit publication params plus DAO proposal target details.
106
+ * @returns Edit ID, CID, target registry address, calldata, and proposal ID.
107
+ * @throws When IDs are invalid, required contracts are missing, or edit publishing fails.
108
+ */
109
+ export declare function proposeEdit(context: GeoClientContext, params: ProposeEditParams): Promise<{
110
+ to: `0x${string}`;
111
+ calldata: `0x${string}`;
112
+ proposalId: `0x${string}`;
113
+ editId: Id;
114
+ cid: `ipfs://${string}`;
115
+ }>;
116
+ /**
117
+ * Builds calldata for voting on a DAO proposal.
118
+ *
119
+ * @example
120
+ * ```ts
121
+ * const tx = geo.daoSpaces.proposals.vote({
122
+ * authorSpaceId,
123
+ * spaceId: daoSpaceId,
124
+ * proposalId,
125
+ * vote: 'YES',
126
+ * });
127
+ * ```
128
+ *
129
+ * @param context Client context containing the target network configuration.
130
+ * @param params Author space, DAO space, proposal ID, and vote option.
131
+ * @returns Target registry address and calldata for `GOVERNANCE.PROPOSAL_VOTED`.
132
+ * @throws When IDs are invalid or the configured network is missing `SPACE_REGISTRY_ADDRESS`.
133
+ */
134
+ export declare function vote(context: GeoClientContext, params: VoteProposalParams): {
135
+ to: `0x${string}`;
136
+ calldata: `0x${string}`;
137
+ };
138
+ /**
139
+ * Builds calldata for executing a passed DAO proposal.
140
+ *
141
+ * @example
142
+ * ```ts
143
+ * const tx = geo.daoSpaces.proposals.execute({
144
+ * authorSpaceId,
145
+ * spaceId: daoSpaceId,
146
+ * proposalId,
147
+ * });
148
+ * ```
149
+ *
150
+ * @param context Client context containing the target network configuration.
151
+ * @param params Author space, DAO space, and proposal ID.
152
+ * @returns Target registry address and calldata for `GOVERNANCE.PROPOSAL_EXECUTED`.
153
+ * @throws When IDs are invalid or the configured network is missing `SPACE_REGISTRY_ADDRESS`.
154
+ */
155
+ export declare function execute(context: GeoClientContext, params: ExecuteProposalParams): {
156
+ to: `0x${string}`;
157
+ calldata: `0x${string}`;
158
+ };
159
+ /**
160
+ * Helpers for constructing DAO proposal actions.
161
+ *
162
+ * These helpers only encode DAO-space action payloads. Pass their results to
163
+ * `geo.daoSpaces.proposals.create(...)` when building a proposal from explicit actions.
164
+ *
165
+ * @example
166
+ * ```ts
167
+ * const action = geo.daoSpaces.proposals.actions.addEditor(daoSpaceAddress, editorSpaceId);
168
+ * const proposal = geo.daoSpaces.proposals.create({
169
+ * fromSpaceId: authorSpaceId,
170
+ * daoSpaceId,
171
+ * votingMode: 'SLOW',
172
+ * actions: [action],
173
+ * });
174
+ * ```
175
+ */
176
+ export declare const actions: {
177
+ publishEdit: typeof encodePublishEditProposalAction;
178
+ addEditor: (daoSpaceAddress: `0x${string}`, spaceId: string) => ProposalAction;
179
+ removeEditor: (daoSpaceAddress: `0x${string}`, spaceId: string) => ProposalAction;
180
+ addMember: (daoSpaceAddress: `0x${string}`, spaceId: string) => ProposalAction;
181
+ removeMember: (daoSpaceAddress: `0x${string}`, spaceId: string) => ProposalAction;
182
+ updateVotingSettings: typeof encodeUpdateVotingSettingsAction;
183
+ };
184
+ export {};
185
+ //# sourceMappingURL=proposals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposals.d.ts","sourceRoot":"","sources":["../../../src/client/proposals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAe9C,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAEL,KAAK,mBAAmB,EAEzB,MAAM,+CAA+C,CAAC;AACvD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAGnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIrD,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,EAAE,EAAE,CAAC;IACV,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC;IACpB,eAAe,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,UAAU,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAwDF,iBAAS,+BAA+B,CAAC,eAAe,EAAE,KAAK,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,cAAc,CAepG;AAkBD,iBAAS,gCAAgC,CACvC,eAAe,EAAE,KAAK,MAAM,EAAE,EAC9B,cAAc,EAAE,mBAAmB,GAClC,cAAc,CAmBhB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,oBAAoB;;;;EAK7E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB;;;;;;GAgCrF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,kBAAkB;;;EAsBzE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,qBAAqB;;;EAgB/E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,OAAO;;iCAEW,KAAK,MAAM,EAAE,WAAW,MAAM;oCAE3B,KAAK,MAAM,EAAE,WAAW,MAAM;iCAEjC,KAAK,MAAM,EAAE,WAAW,MAAM;oCAE3B,KAAK,MAAM,EAAE,WAAW,MAAM;;CAG/D,CAAC"}
@@ -0,0 +1,294 @@
1
+ import { v4 as uuidv4 } from 'uuid';
2
+ import { encodeAbiParameters, encodeFunctionData } from 'viem';
3
+ import { DaoSpaceAbi, SpaceRegistryAbi } from '../abis/index.js';
4
+ import { bytes16ToBytes32LeftAligned, EMPTY_SIGNATURE, EMPTY_TOPIC, ensure0xPrefix, isBytes16Hex, PROPOSAL_CREATED_ACTION, PROPOSAL_EXECUTED_ACTION, PROPOSAL_VOTED_ACTION, VOTE_OPTION_VALUES, } from '../dao-space/constants.js';
5
+ import { toContractVotingSettings, validateIpfsUri, } from '../encodings/get-create-dao-space-calldata.js';
6
+ import { assertValid } from '../id-utils.js';
7
+ import { requireGeoContract } from '../networks.js';
8
+ const VALIDATION_CID = 'ipfs://QmP6aJhM3SgoRSPUccBQK9VMHNqqezixG1Qvjy2xPWvPh5';
9
+ function bytes16Id(value, name) {
10
+ const normalized = ensure0xPrefix(value);
11
+ if (!isBytes16Hex(normalized)) {
12
+ throw new Error(`${name} must be bytes16 hex (32 hex chars). Received: ${value}`);
13
+ }
14
+ return normalized;
15
+ }
16
+ function encodeCreateProposal(params) {
17
+ const fromSpaceId = bytes16Id(params.fromSpaceId, 'fromSpaceId');
18
+ const daoSpaceId = bytes16Id(params.daoSpaceId, 'daoSpaceId');
19
+ const proposalId = params.proposalId
20
+ ? bytes16Id(params.proposalId, 'proposalId')
21
+ : `0x${uuidv4().replaceAll('-', '')}`;
22
+ const votingMode = params.votingMode ?? 'FAST';
23
+ const data = encodeAbiParameters([
24
+ { type: 'bytes16', name: 'proposalId' },
25
+ { type: 'uint8', name: 'votingMode' },
26
+ {
27
+ type: 'tuple[]',
28
+ name: 'actions',
29
+ components: [
30
+ { type: 'address', name: 'to' },
31
+ { type: 'uint256', name: 'value' },
32
+ { type: 'bytes', name: 'data' },
33
+ ],
34
+ },
35
+ ], [proposalId, votingMode === 'FAST' ? 1 : 0, params.actions]);
36
+ const calldata = encodeFunctionData({
37
+ abi: SpaceRegistryAbi,
38
+ functionName: 'enter',
39
+ args: [
40
+ fromSpaceId,
41
+ daoSpaceId,
42
+ PROPOSAL_CREATED_ACTION,
43
+ bytes16ToBytes32LeftAligned(proposalId),
44
+ data,
45
+ EMPTY_SIGNATURE,
46
+ ],
47
+ });
48
+ return {
49
+ to: params.spaceRegistryAddress,
50
+ calldata,
51
+ proposalId,
52
+ };
53
+ }
54
+ function encodePublishEditProposalAction(daoSpaceAddress, cid) {
55
+ const ipfsError = validateIpfsUri(cid);
56
+ if (ipfsError) {
57
+ throw new Error(ipfsError);
58
+ }
59
+ return {
60
+ to: daoSpaceAddress,
61
+ value: 0n,
62
+ data: encodeFunctionData({
63
+ abi: DaoSpaceAbi,
64
+ functionName: 'publish',
65
+ args: [EMPTY_TOPIC, encodeAbiParameters([{ type: 'string' }], [cid]), '0x'],
66
+ }),
67
+ };
68
+ }
69
+ function encodeDaoRoleAction(daoSpaceAddress, functionName, spaceId) {
70
+ return {
71
+ to: daoSpaceAddress,
72
+ value: 0n,
73
+ data: encodeFunctionData({
74
+ abi: DaoSpaceAbi,
75
+ functionName,
76
+ args: [bytes16Id(spaceId, 'spaceId')],
77
+ }),
78
+ };
79
+ }
80
+ function encodeUpdateVotingSettingsAction(daoSpaceAddress, votingSettings) {
81
+ const contractVotingSettings = toContractVotingSettings(votingSettings);
82
+ return {
83
+ to: daoSpaceAddress,
84
+ value: 0n,
85
+ data: encodeFunctionData({
86
+ abi: DaoSpaceAbi,
87
+ functionName: 'updateVotingSettings',
88
+ args: [
89
+ {
90
+ slowPathPercentageThreshold: contractVotingSettings.slowPathPercentageThreshold,
91
+ fastPathFlatThreshold: contractVotingSettings.fastPathFlatThreshold,
92
+ quorum: contractVotingSettings.quorum,
93
+ duration: contractVotingSettings.duration,
94
+ },
95
+ ],
96
+ }),
97
+ };
98
+ }
99
+ /**
100
+ * Builds calldata for creating a DAO proposal from prebuilt proposal actions.
101
+ *
102
+ * This helper is synchronous and does not publish or fetch. It uses the
103
+ * configured `SPACE_REGISTRY_ADDRESS` and encodes a
104
+ * `GOVERNANCE.PROPOSAL_CREATED` `SpaceRegistry.enter(...)` call.
105
+ *
106
+ * @example
107
+ * ```ts
108
+ * const actions = [
109
+ * geo.daoSpaces.proposals.actions.addMember(daoSpaceAddress, memberSpaceId),
110
+ * geo.daoSpaces.proposals.actions.updateVotingSettings(daoSpaceAddress, {
111
+ * slowPathPercentageThreshold: 60,
112
+ * fastPathFlatThreshold: 2,
113
+ * quorum: 3,
114
+ * durationInDays: 5,
115
+ * }),
116
+ * ];
117
+ *
118
+ * const tx = geo.daoSpaces.proposals.create({
119
+ * fromSpaceId: authorSpaceId,
120
+ * daoSpaceId,
121
+ * votingMode: 'SLOW',
122
+ * actions,
123
+ * });
124
+ * ```
125
+ *
126
+ * @param context Client context containing the target network configuration.
127
+ * @param params Caller space, DAO space, voting mode, optional proposal ID, and actions.
128
+ * @returns Target registry address, calldata, and proposal ID.
129
+ * @throws When IDs are invalid or the configured network is missing `SPACE_REGISTRY_ADDRESS`.
130
+ */
131
+ export function create(context, params) {
132
+ return encodeCreateProposal({
133
+ ...params,
134
+ spaceRegistryAddress: requireGeoContract(context.network, 'SPACE_REGISTRY_ADDRESS'),
135
+ });
136
+ }
137
+ /**
138
+ * Publishes an edit and wraps it in a DAO proposal.
139
+ *
140
+ * This helper validates the proposal shape before upload, publishes the edit
141
+ * through the configured API, creates a DAO `publish(...)` action with the
142
+ * resulting CID, and returns calldata for proposal creation.
143
+ *
144
+ * @example
145
+ * ```ts
146
+ * import * as Ops from '@geoprotocol/geo-sdk/ops';
147
+ *
148
+ * const { ops } = Ops.entities.update({
149
+ * id: entityId,
150
+ * name: 'Updated name',
151
+ * });
152
+ *
153
+ * const proposal = await geo.daoSpaces.proposeEdit({
154
+ * name: 'Update entity',
155
+ * ops,
156
+ * author: authorSpaceId,
157
+ * daoSpaceAddress,
158
+ * callerSpaceId: authorSpaceId,
159
+ * daoSpaceId,
160
+ * });
161
+ * ```
162
+ *
163
+ * @param context Client context containing network, contract, API, and fetch configuration.
164
+ * @param params Edit publication params plus DAO proposal target details.
165
+ * @returns Edit ID, CID, target registry address, calldata, and proposal ID.
166
+ * @throws When IDs are invalid, required contracts are missing, or edit publishing fails.
167
+ */
168
+ export async function proposeEdit(context, params) {
169
+ assertValid(String(params.author), '`author` in `proposeEdit`');
170
+ const spaceRegistryAddress = requireGeoContract(context.network, 'SPACE_REGISTRY_ADDRESS');
171
+ const validated = encodeCreateProposal({
172
+ fromSpaceId: params.callerSpaceId,
173
+ daoSpaceId: params.daoSpaceId,
174
+ proposalId: params.proposalId,
175
+ votingMode: params.votingMode ?? 'FAST',
176
+ actions: [encodePublishEditProposalAction(params.daoSpaceAddress, VALIDATION_CID)],
177
+ spaceRegistryAddress,
178
+ });
179
+ const { publish } = await import('./edits.js');
180
+ const { cid, editId } = await publish(context, {
181
+ name: params.name,
182
+ ops: params.ops,
183
+ author: params.author,
184
+ });
185
+ const result = encodeCreateProposal({
186
+ fromSpaceId: params.callerSpaceId,
187
+ daoSpaceId: params.daoSpaceId,
188
+ proposalId: validated.proposalId,
189
+ votingMode: params.votingMode ?? 'FAST',
190
+ actions: [encodePublishEditProposalAction(params.daoSpaceAddress, cid)],
191
+ spaceRegistryAddress,
192
+ });
193
+ return {
194
+ editId,
195
+ cid,
196
+ ...result,
197
+ };
198
+ }
199
+ /**
200
+ * Builds calldata for voting on a DAO proposal.
201
+ *
202
+ * @example
203
+ * ```ts
204
+ * const tx = geo.daoSpaces.proposals.vote({
205
+ * authorSpaceId,
206
+ * spaceId: daoSpaceId,
207
+ * proposalId,
208
+ * vote: 'YES',
209
+ * });
210
+ * ```
211
+ *
212
+ * @param context Client context containing the target network configuration.
213
+ * @param params Author space, DAO space, proposal ID, and vote option.
214
+ * @returns Target registry address and calldata for `GOVERNANCE.PROPOSAL_VOTED`.
215
+ * @throws When IDs are invalid or the configured network is missing `SPACE_REGISTRY_ADDRESS`.
216
+ */
217
+ export function vote(context, params) {
218
+ const authorSpaceId = bytes16Id(params.authorSpaceId, 'authorSpaceId');
219
+ const spaceId = bytes16Id(params.spaceId, 'spaceId');
220
+ const proposalId = bytes16Id(params.proposalId, 'proposalId');
221
+ const topic = bytes16ToBytes32LeftAligned(proposalId);
222
+ const data = encodeAbiParameters([
223
+ { type: 'bytes16', name: 'proposalId' },
224
+ { type: 'uint8', name: 'voteOption' },
225
+ ], [proposalId, VOTE_OPTION_VALUES[params.vote]]);
226
+ const calldata = encodeFunctionData({
227
+ abi: SpaceRegistryAbi,
228
+ functionName: 'enter',
229
+ args: [authorSpaceId, spaceId, PROPOSAL_VOTED_ACTION, topic, data, EMPTY_SIGNATURE],
230
+ });
231
+ return {
232
+ to: requireGeoContract(context.network, 'SPACE_REGISTRY_ADDRESS'),
233
+ calldata,
234
+ };
235
+ }
236
+ /**
237
+ * Builds calldata for executing a passed DAO proposal.
238
+ *
239
+ * @example
240
+ * ```ts
241
+ * const tx = geo.daoSpaces.proposals.execute({
242
+ * authorSpaceId,
243
+ * spaceId: daoSpaceId,
244
+ * proposalId,
245
+ * });
246
+ * ```
247
+ *
248
+ * @param context Client context containing the target network configuration.
249
+ * @param params Author space, DAO space, and proposal ID.
250
+ * @returns Target registry address and calldata for `GOVERNANCE.PROPOSAL_EXECUTED`.
251
+ * @throws When IDs are invalid or the configured network is missing `SPACE_REGISTRY_ADDRESS`.
252
+ */
253
+ export function execute(context, params) {
254
+ const authorSpaceId = bytes16Id(params.authorSpaceId, 'authorSpaceId');
255
+ const spaceId = bytes16Id(params.spaceId, 'spaceId');
256
+ const proposalId = bytes16Id(params.proposalId, 'proposalId');
257
+ const topic = bytes16ToBytes32LeftAligned(proposalId);
258
+ const data = encodeAbiParameters([{ type: 'bytes16', name: 'proposalId' }], [proposalId]);
259
+ const calldata = encodeFunctionData({
260
+ abi: SpaceRegistryAbi,
261
+ functionName: 'enter',
262
+ args: [authorSpaceId, spaceId, PROPOSAL_EXECUTED_ACTION, topic, data, EMPTY_SIGNATURE],
263
+ });
264
+ return {
265
+ to: requireGeoContract(context.network, 'SPACE_REGISTRY_ADDRESS'),
266
+ calldata,
267
+ };
268
+ }
269
+ /**
270
+ * Helpers for constructing DAO proposal actions.
271
+ *
272
+ * These helpers only encode DAO-space action payloads. Pass their results to
273
+ * `geo.daoSpaces.proposals.create(...)` when building a proposal from explicit actions.
274
+ *
275
+ * @example
276
+ * ```ts
277
+ * const action = geo.daoSpaces.proposals.actions.addEditor(daoSpaceAddress, editorSpaceId);
278
+ * const proposal = geo.daoSpaces.proposals.create({
279
+ * fromSpaceId: authorSpaceId,
280
+ * daoSpaceId,
281
+ * votingMode: 'SLOW',
282
+ * actions: [action],
283
+ * });
284
+ * ```
285
+ */
286
+ export const actions = {
287
+ publishEdit: encodePublishEditProposalAction,
288
+ addEditor: (daoSpaceAddress, spaceId) => encodeDaoRoleAction(daoSpaceAddress, 'addEditor', spaceId),
289
+ removeEditor: (daoSpaceAddress, spaceId) => encodeDaoRoleAction(daoSpaceAddress, 'removeEditor', spaceId),
290
+ addMember: (daoSpaceAddress, spaceId) => encodeDaoRoleAction(daoSpaceAddress, 'addMember', spaceId),
291
+ removeMember: (daoSpaceAddress, spaceId) => encodeDaoRoleAction(daoSpaceAddress, 'removeMember', spaceId),
292
+ updateVotingSettings: encodeUpdateVotingSettingsAction,
293
+ };
294
+ //# sourceMappingURL=proposals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposals.js","sourceRoot":"","sources":["../../../src/client/proposals.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=proposals.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposals.test.d.ts","sourceRoot":"","sources":["../../../src/client/proposals.test.ts"],"names":[],"mappings":""}