@geoprotocol/geo-sdk 0.19.0 → 0.19.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 (176) hide show
  1. package/README.md +2 -2
  2. package/dist/index.d.ts +1 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +1 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/src/abis/dao-space-factory.d.ts +43 -6
  7. package/dist/src/abis/dao-space-factory.d.ts.map +1 -1
  8. package/dist/src/abis/dao-space-factory.js +38 -27
  9. package/dist/src/abis/dao-space-factory.js.map +1 -1
  10. package/dist/src/abis/dao-space.d.ts +98 -7
  11. package/dist/src/abis/dao-space.d.ts.map +1 -1
  12. package/dist/src/abis/dao-space.js +61 -99
  13. package/dist/src/abis/dao-space.js.map +1 -1
  14. package/dist/src/abis/index.d.ts +2 -2
  15. package/dist/src/abis/index.d.ts.map +1 -1
  16. package/dist/src/abis/index.js +2 -2
  17. package/dist/src/abis/index.js.map +1 -1
  18. package/dist/src/abis/space-registry.d.ts +26 -0
  19. package/dist/src/abis/space-registry.d.ts.map +1 -1
  20. package/dist/src/abis/space-registry.js +33 -0
  21. package/dist/src/abis/space-registry.js.map +1 -1
  22. package/dist/src/api-surface.e2e.test.d.ts +2 -0
  23. package/dist/src/api-surface.e2e.test.d.ts.map +1 -0
  24. package/dist/src/{e2e-api-surface.test.js → api-surface.e2e.test.js} +287 -102
  25. package/dist/src/api-surface.e2e.test.js.map +1 -0
  26. package/dist/src/client/dao-spaces.d.ts +93 -33
  27. package/dist/src/client/dao-spaces.d.ts.map +1 -1
  28. package/dist/src/client/dao-spaces.js +174 -42
  29. package/dist/src/client/dao-spaces.js.map +1 -1
  30. package/dist/src/client/dao-spaces.test.js +313 -79
  31. package/dist/src/client/dao-spaces.test.js.map +1 -1
  32. package/dist/src/client/personal-spaces.d.ts +74 -0
  33. package/dist/src/client/personal-spaces.d.ts.map +1 -1
  34. package/dist/src/client/personal-spaces.js +82 -2
  35. package/dist/src/client/personal-spaces.js.map +1 -1
  36. package/dist/src/client/spaces.test.js +27 -7
  37. package/dist/src/client/spaces.test.js.map +1 -1
  38. package/dist/src/client.d.ts +29 -16
  39. package/dist/src/client.d.ts.map +1 -1
  40. package/dist/src/client.js +101 -59
  41. package/dist/src/client.js.map +1 -1
  42. package/dist/src/client.test.js +8 -3
  43. package/dist/src/client.test.js.map +1 -1
  44. package/dist/src/dao-space/constants.d.ts +10 -0
  45. package/dist/src/dao-space/constants.d.ts.map +1 -1
  46. package/dist/src/dao-space/constants.js +10 -0
  47. package/dist/src/dao-space/constants.js.map +1 -1
  48. package/dist/src/dao-space/execute-proposal.d.ts +1 -1
  49. package/dist/src/dao-space/execute-proposal.js +2 -2
  50. package/dist/src/dao-space/execute-proposal.js.map +1 -1
  51. package/dist/src/dao-space/index.d.ts +2 -1
  52. package/dist/src/dao-space/index.d.ts.map +1 -1
  53. package/dist/src/dao-space/index.js +1 -0
  54. package/dist/src/dao-space/index.js.map +1 -1
  55. package/dist/src/dao-space/propose-add-editor.d.ts +1 -20
  56. package/dist/src/dao-space/propose-add-editor.d.ts.map +1 -1
  57. package/dist/src/dao-space/propose-add-editor.js +12 -87
  58. package/dist/src/dao-space/propose-add-editor.js.map +1 -1
  59. package/dist/src/dao-space/propose-add-editor.test.js +16 -4
  60. package/dist/src/dao-space/propose-add-editor.test.js.map +1 -1
  61. package/dist/src/dao-space/propose-add-member.d.ts +1 -20
  62. package/dist/src/dao-space/propose-add-member.d.ts.map +1 -1
  63. package/dist/src/dao-space/propose-add-member.js +12 -87
  64. package/dist/src/dao-space/propose-add-member.js.map +1 -1
  65. package/dist/src/dao-space/propose-add-member.test.js +13 -0
  66. package/dist/src/dao-space/propose-add-member.test.js.map +1 -1
  67. package/dist/src/dao-space/propose-edit.test.js +45 -0
  68. package/dist/src/dao-space/propose-edit.test.js.map +1 -1
  69. package/dist/src/dao-space/propose-remove-editor.d.ts +1 -22
  70. package/dist/src/dao-space/propose-remove-editor.d.ts.map +1 -1
  71. package/dist/src/dao-space/propose-remove-editor.js +12 -94
  72. package/dist/src/dao-space/propose-remove-editor.js.map +1 -1
  73. package/dist/src/dao-space/propose-remove-editor.test.js +22 -4
  74. package/dist/src/dao-space/propose-remove-editor.test.js.map +1 -1
  75. package/dist/src/dao-space/propose-remove-member.d.ts +1 -22
  76. package/dist/src/dao-space/propose-remove-member.d.ts.map +1 -1
  77. package/dist/src/dao-space/propose-remove-member.js +12 -94
  78. package/dist/src/dao-space/propose-remove-member.js.map +1 -1
  79. package/dist/src/dao-space/propose-remove-member.test.js +19 -0
  80. package/dist/src/dao-space/propose-remove-member.test.js.map +1 -1
  81. package/dist/src/dao-space/types.d.ts +72 -11
  82. package/dist/src/dao-space/types.d.ts.map +1 -1
  83. package/dist/src/dao-space/vote-proposal.d.ts +1 -1
  84. package/dist/src/dao-space/vote-proposal.js +2 -2
  85. package/dist/src/dao-space/vote-proposal.js.map +1 -1
  86. package/dist/src/dao-space/vote-proposal.test.js +54 -0
  87. package/dist/src/dao-space/vote-proposal.test.js.map +1 -1
  88. package/dist/src/e2e-test-environment.d.ts +26 -0
  89. package/dist/src/e2e-test-environment.d.ts.map +1 -0
  90. package/dist/src/e2e-test-environment.js +150 -0
  91. package/dist/src/e2e-test-environment.js.map +1 -0
  92. package/dist/src/encodings/get-create-dao-space-calldata.d.ts +32 -9
  93. package/dist/src/encodings/get-create-dao-space-calldata.d.ts.map +1 -1
  94. package/dist/src/encodings/get-create-dao-space-calldata.js +63 -16
  95. package/dist/src/encodings/get-create-dao-space-calldata.js.map +1 -1
  96. package/dist/src/encodings/get-create-dao-space-calldata.test.js +90 -23
  97. package/dist/src/encodings/get-create-dao-space-calldata.test.js.map +1 -1
  98. package/dist/src/full-flow-test.test.js +5 -2
  99. package/dist/src/full-flow-test.test.js.map +1 -1
  100. package/dist/src/legacy-api-surface.e2e.test.d.ts +2 -0
  101. package/dist/src/legacy-api-surface.e2e.test.d.ts.map +1 -0
  102. package/dist/src/{e2e-legacy-api-surface.test.js → legacy-api-surface.e2e.test.js} +91 -71
  103. package/dist/src/legacy-api-surface.e2e.test.js.map +1 -0
  104. package/dist/src/personal-space/constants.d.ts +1 -1
  105. package/dist/src/personal-space/constants.d.ts.map +1 -1
  106. package/dist/src/personal-space/constants.js +1 -1
  107. package/dist/src/personal-space/constants.js.map +1 -1
  108. package/dist/src/personal-space/create-space.d.ts +2 -2
  109. package/dist/src/personal-space/create-space.d.ts.map +1 -1
  110. package/dist/src/personal-space/create-space.js +4 -3
  111. package/dist/src/personal-space/create-space.js.map +1 -1
  112. package/dist/src/personal-space/types.d.ts +4 -1
  113. package/dist/src/personal-space/types.d.ts.map +1 -1
  114. package/package.json +1 -1
  115. package/dist/proto.d.ts +0 -5
  116. package/dist/proto.d.ts.map +0 -1
  117. package/dist/proto.js +0 -5
  118. package/dist/proto.js.map +0 -1
  119. package/dist/src/client/proposals.d.ts +0 -185
  120. package/dist/src/client/proposals.d.ts.map +0 -1
  121. package/dist/src/client/proposals.js +0 -294
  122. package/dist/src/client/proposals.js.map +0 -1
  123. package/dist/src/client/proposals.test.d.ts +0 -2
  124. package/dist/src/client/proposals.test.d.ts.map +0 -1
  125. package/dist/src/client/proposals.test.js +0 -243
  126. package/dist/src/client/proposals.test.js.map +0 -1
  127. package/dist/src/contracts-v2/abis.d.ts +0 -196
  128. package/dist/src/contracts-v2/abis.d.ts.map +0 -1
  129. package/dist/src/contracts-v2/abis.js +0 -110
  130. package/dist/src/contracts-v2/abis.js.map +0 -1
  131. package/dist/src/contracts-v2/actions.d.ts +0 -56
  132. package/dist/src/contracts-v2/actions.d.ts.map +0 -1
  133. package/dist/src/contracts-v2/actions.js +0 -83
  134. package/dist/src/contracts-v2/actions.js.map +0 -1
  135. package/dist/src/contracts-v2/encoding.d.ts +0 -80
  136. package/dist/src/contracts-v2/encoding.d.ts.map +0 -1
  137. package/dist/src/contracts-v2/encoding.js +0 -193
  138. package/dist/src/contracts-v2/encoding.js.map +0 -1
  139. package/dist/src/contracts-v2/encoding.test.d.ts +0 -2
  140. package/dist/src/contracts-v2/encoding.test.d.ts.map +0 -1
  141. package/dist/src/contracts-v2/encoding.test.js +0 -93
  142. package/dist/src/contracts-v2/encoding.test.js.map +0 -1
  143. package/dist/src/contracts-v2/voting-settings.d.ts +0 -48
  144. package/dist/src/contracts-v2/voting-settings.d.ts.map +0 -1
  145. package/dist/src/contracts-v2/voting-settings.js +0 -69
  146. package/dist/src/contracts-v2/voting-settings.js.map +0 -1
  147. package/dist/src/e2e/local-geobrowser.d.ts +0 -9
  148. package/dist/src/e2e/local-geobrowser.d.ts.map +0 -1
  149. package/dist/src/e2e/local-geobrowser.js +0 -35
  150. package/dist/src/e2e/local-geobrowser.js.map +0 -1
  151. package/dist/src/e2e/v2-contracts.test.d.ts +0 -2
  152. package/dist/src/e2e/v2-contracts.test.d.ts.map +0 -1
  153. package/dist/src/e2e/v2-contracts.test.js +0 -25
  154. package/dist/src/e2e/v2-contracts.test.js.map +0 -1
  155. package/dist/src/e2e-api-surface.test.d.ts +0 -2
  156. package/dist/src/e2e-api-surface.test.d.ts.map +0 -1
  157. package/dist/src/e2e-api-surface.test.js.map +0 -1
  158. package/dist/src/e2e-flows.test.d.ts +0 -2
  159. package/dist/src/e2e-flows.test.d.ts.map +0 -1
  160. package/dist/src/e2e-flows.test.js +0 -445
  161. package/dist/src/e2e-flows.test.js.map +0 -1
  162. package/dist/src/e2e-legacy-api-surface.test.d.ts +0 -2
  163. package/dist/src/e2e-legacy-api-surface.test.d.ts.map +0 -1
  164. package/dist/src/e2e-legacy-api-surface.test.js.map +0 -1
  165. package/dist/src/graph/create-space.d.ts +0 -37
  166. package/dist/src/graph/create-space.d.ts.map +0 -1
  167. package/dist/src/graph/create-space.js +0 -67
  168. package/dist/src/graph/create-space.js.map +0 -1
  169. package/dist/src/ops/images.d.ts +0 -37
  170. package/dist/src/ops/images.d.ts.map +0 -1
  171. package/dist/src/ops/images.js +0 -69
  172. package/dist/src/ops/images.js.map +0 -1
  173. package/dist/src/proto/index.d.ts +0 -7
  174. package/dist/src/proto/index.d.ts.map +0 -1
  175. package/dist/src/proto/index.js +0 -7
  176. package/dist/src/proto/index.js.map +0 -1
@@ -43,7 +43,7 @@ export type ProposeEditParams = {
43
43
  author: Id | string;
44
44
  /**
45
45
  * The DAO space contract address.
46
- * This is the target of the publish() call in the proposal.
46
+ * This is the target of the ping() call in the proposal.
47
47
  */
48
48
  daoSpaceAddress: `0x${string}`;
49
49
  /**
@@ -58,7 +58,7 @@ export type ProposeEditParams = {
58
58
  daoSpaceId: `0x${string}`;
59
59
  /**
60
60
  * Voting mode for the proposal.
61
- * Defaults to 'FAST' since publish() is a valid fast-path action.
61
+ * Defaults to 'FAST' since edit publishing uses a valid fast-path ping action.
62
62
  */
63
63
  votingMode?: VotingMode;
64
64
  /**
@@ -66,6 +66,16 @@ export type ProposeEditParams = {
66
66
  * If omitted, a unique id is generated.
67
67
  */
68
68
  proposalId?: `0x${string}`;
69
+ /**
70
+ * Set to true when publishing a new version of an existing proposal.
71
+ */
72
+ updateProposal?: boolean;
73
+ /**
74
+ * Proposal version to create. Only valid for update flows. Required for
75
+ * update flows unless the client can resolve the next version from the
76
+ * configured network RPC.
77
+ */
78
+ versionId?: number;
69
79
  /** Network to use (defaults to TESTNET) */
70
80
  network?: Network;
71
81
  };
@@ -80,6 +90,8 @@ export type ProposeEditResult = {
80
90
  calldata: `0x${string}`;
81
91
  /** The proposal ID (bytes16 hex) */
82
92
  proposalId: `0x${string}`;
93
+ /** The proposal version ID */
94
+ versionId: number;
83
95
  };
84
96
  /**
85
97
  * Vote option for a DAO proposal.
@@ -104,6 +116,10 @@ export type VoteProposalParams = {
104
116
  * The proposal to vote on (bytes16 hex, with or without 0x prefix).
105
117
  */
106
118
  proposalId: string;
119
+ /**
120
+ * The proposal version to vote on. Defaults to 1 for first-version proposals.
121
+ */
122
+ versionId?: number;
107
123
  /**
108
124
  * The vote option: 'YES', 'NO', or 'ABSTAIN'.
109
125
  */
@@ -179,6 +195,10 @@ export type ProposeRemoveMemberParams = {
179
195
  * This is the toSpaceId in the enter() call.
180
196
  */
181
197
  spaceId: string;
198
+ /**
199
+ * The DAO space contract address. This is the target of the role action.
200
+ */
201
+ daoSpaceAddress: `0x${string}`;
182
202
  /**
183
203
  * The space ID of the member to remove (bytes16 hex, with or without 0x prefix).
184
204
  */
@@ -215,6 +235,10 @@ export type ProposeAddMemberParams = {
215
235
  * This is the toSpaceId in the enter() call.
216
236
  */
217
237
  spaceId: string;
238
+ /**
239
+ * The DAO space contract address. This is the target of the role action.
240
+ */
241
+ daoSpaceAddress: `0x${string}`;
218
242
  /**
219
243
  * The space ID of the new member to add (bytes16 hex).
220
244
  */
@@ -252,14 +276,15 @@ export type ProposeRemoveEditorParams = {
252
276
  */
253
277
  spaceId: string;
254
278
  /**
255
- * The space ID of the editor to remove (bytes16 hex, with or without 0x prefix).
279
+ * The DAO space contract address. This is the target of the role action.
256
280
  */
257
- editorToRemoveSpaceId: string;
281
+ daoSpaceAddress: `0x${string}`;
258
282
  /**
259
- * Voting mode for the proposal.
260
- * Defaults to 'SLOW' since removeEditor is not a fast-path action.
283
+ * The space ID of the editor to remove (bytes16 hex, with or without 0x prefix).
261
284
  */
262
- votingMode?: VotingMode;
285
+ editorToRemoveSpaceId: string;
286
+ /** Editor changes only support SLOW voting. */
287
+ votingMode?: 'SLOW';
263
288
  /**
264
289
  * Optional bytes16 proposalId (0x + 32 hex chars, with or without 0x prefix).
265
290
  * If omitted, a unique id is generated.
@@ -287,15 +312,51 @@ export type ProposeAddEditorParams = {
287
312
  * This is the toSpaceId in the enter() call.
288
313
  */
289
314
  spaceId: string;
315
+ /**
316
+ * The DAO space contract address. This is the target of the role action.
317
+ */
318
+ daoSpaceAddress: `0x${string}`;
290
319
  /**
291
320
  * The space ID of the new editor to add (bytes16 hex).
292
321
  */
293
322
  newEditorSpaceId: string;
323
+ /** Editor changes only support SLOW voting. */
324
+ votingMode?: 'SLOW';
294
325
  /**
295
- * Voting mode for the proposal.
296
- * Defaults to 'SLOW' since addEditor() is a governance action.
326
+ * Optional bytes16 proposalId (0x + 32 hex chars).
327
+ * If omitted, a unique id is generated.
297
328
  */
298
- votingMode?: VotingMode;
329
+ proposalId?: string;
330
+ /** Network to use (defaults to TESTNET) */
331
+ network?: Network;
332
+ };
333
+ export type ProposeAddEditorResult = {
334
+ /** The contract address to send the transaction to (Space Registry) */
335
+ to: `0x${string}`;
336
+ /** The calldata for the enter() function call */
337
+ calldata: `0x${string}`;
338
+ /** The proposal ID (bytes16 hex) */
339
+ proposalId: `0x${string}`;
340
+ };
341
+ export type ProposeUpdateVotingSettingsParams = {
342
+ /**
343
+ * The proposer's space ID (bytes16 hex).
344
+ * This is the fromSpaceId in the enter() call.
345
+ */
346
+ authorSpaceId: string;
347
+ /**
348
+ * The DAO space ID (bytes16 hex).
349
+ * This is the toSpaceId in the enter() call.
350
+ */
351
+ spaceId: string;
352
+ /**
353
+ * The DAO space contract address. This is the target of the updateVotingSettings action.
354
+ */
355
+ daoSpaceAddress: `0x${string}`;
356
+ /** New voting settings for the DAO space. */
357
+ votingSettings: VotingSettingsInput;
358
+ /** Updating voting settings only supports SLOW voting. */
359
+ votingMode?: 'SLOW';
299
360
  /**
300
361
  * Optional bytes16 proposalId (0x + 32 hex chars).
301
362
  * If omitted, a unique id is generated.
@@ -304,7 +365,7 @@ export type ProposeAddEditorParams = {
304
365
  /** Network to use (defaults to TESTNET) */
305
366
  network?: Network;
306
367
  };
307
- export type ProposeAddEditorResult = {
368
+ export type ProposeUpdateVotingSettingsResult = {
308
369
  /** The contract address to send the transaction to (Space Registry) */
309
370
  to: `0x${string}`;
310
371
  /** The calldata for the enter() function call */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/dao-space/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,cAAc,EAAE,mBAAmB,CAAC;IACpC,yFAAyF;IACzF,qBAAqB,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;IACvC,gFAAgF;IAChF,qBAAqB,CAAC,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;IACxC,sCAAsC;IACtC,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC;IACpB,+DAA+D;IAC/D,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC;IACX,6FAA6F;IAC7F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;IACxB,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,GAAG,EAAE,EAAE,EAAE,CAAC;IACV,sCAAsC;IACtC,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC;IACpB;;;OAGG;IACH,eAAe,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B;;;OAGG;IACH,aAAa,EAAE,KAAK,MAAM,EAAE,CAAC;IAC7B;;;OAGG;IACH,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC;IAC1B;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC3B,2CAA2C;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,4BAA4B;IAC5B,MAAM,EAAE,EAAE,CAAC;IACX,yCAAyC;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,uEAAuE;IACvE,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;IAClB,iDAAiD;IACjD,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;IACxB,oCAAoC;IACpC,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,IAAI,EAAE,UAAU,CAAC;IACjB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,uEAAuE;IACvE,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;IAClB,iDAAiD;IACjD,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,uEAAuE;IACvE,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;IAClB,iDAAiD;IACjD,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,uEAAuE;IACvE,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;IAClB,iDAAiD;IACjD,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;IACxB,oCAAoC;IACpC,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,uEAAuE;IACvE,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;IAClB,iDAAiD;IACjD,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;IACxB,oCAAoC;IACpC,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,uEAAuE;IACvE,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;IAClB,iDAAiD;IACjD,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;IACxB,oCAAoC;IACpC,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,uEAAuE;IACvE,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;IAClB,iDAAiD;IACjD,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;IACxB,oCAAoC;IACpC,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,uEAAuE;IACvE,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;IAClB,iDAAiD;IACjD,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;IACxB,oCAAoC;IACpC,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC;CAC3B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/dao-space/types.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { VoteProposalParams, VoteProposalResult } from './types.js';
2
2
  /**
3
3
  * Creates a vote transaction for a DAO space proposal.
4
4
  *
5
- * @deprecated Use `createGeoClient({ network }).daoSpaces.proposals.vote(...)`.
5
+ * @deprecated Use `createGeoClient({ network }).daoSpaces.voteProposal(...)`.
6
6
  */
7
7
  export declare function voteProposal(params: VoteProposalParams): VoteProposalResult;
8
8
  //# sourceMappingURL=vote-proposal.d.ts.map
@@ -4,7 +4,7 @@ import { ensure0xPrefix, isBytes16Hex } from './constants.js';
4
4
  /**
5
5
  * Creates a vote transaction for a DAO space proposal.
6
6
  *
7
- * @deprecated Use `createGeoClient({ network }).daoSpaces.proposals.vote(...)`.
7
+ * @deprecated Use `createGeoClient({ network }).daoSpaces.voteProposal(...)`.
8
8
  */
9
9
  export function voteProposal(params) {
10
10
  const { network = 'TESTNET', ...args } = params;
@@ -17,6 +17,6 @@ export function voteProposal(params) {
17
17
  if (!isBytes16Hex(ensure0xPrefix(args.proposalId))) {
18
18
  throw new Error(`proposalId must be bytes16 hex (32 hex chars). Received: ${args.proposalId}`);
19
19
  }
20
- return createGeoClient({ network: resolveGeoNetwork(network) }).daoSpaces.proposals.vote(args);
20
+ return createGeoClient({ network: resolveGeoNetwork(network) }).daoSpaces.voteProposal(args);
21
21
  }
22
22
  //# sourceMappingURL=vote-proposal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vote-proposal.js","sourceRoot":"","sources":["../../../src/dao-space/vote-proposal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9D;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,MAA0B;IACrD,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAChD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,+DAA+D,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,yDAAyD,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,4DAA4D,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,OAAO,eAAe,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjG,CAAC"}
1
+ {"version":3,"file":"vote-proposal.js","sourceRoot":"","sources":["../../../src/dao-space/vote-proposal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9D;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,MAA0B;IACrD,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAChD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,+DAA+D,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,yDAAyD,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,4DAA4D,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,OAAO,eAAe,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC/F,CAAC"}
@@ -1,5 +1,8 @@
1
+ import { decodeAbiParameters, decodeFunctionData } from 'viem';
1
2
  import { describe, expect, it } from 'vitest';
2
3
  import { TESTNET } from '../../contracts.js';
4
+ import { SpaceRegistryAbi } from '../abis/index.js';
5
+ import { PROPOSAL_VOTED_ACTION, VOTE_OPTION_VALUES } from './constants.js';
3
6
  import { voteProposal } from './vote-proposal.js';
4
7
  describe('voteProposal', () => {
5
8
  // Valid test values
@@ -44,6 +47,57 @@ describe('voteProposal', () => {
44
47
  });
45
48
  expect(result.calldata).toBeTruthy();
46
49
  });
50
+ it('should encode the proposal version and vote option', () => {
51
+ const result = voteProposal({
52
+ authorSpaceId: validAuthorSpaceId,
53
+ spaceId: validDaoSpaceId,
54
+ proposalId: validProposalId,
55
+ versionId: 3,
56
+ vote: 'ABSTAIN',
57
+ });
58
+ const decoded = decodeFunctionData({
59
+ abi: SpaceRegistryAbi,
60
+ data: result.calldata,
61
+ });
62
+ const [, , action, , data] = decoded.args;
63
+ const [proposalId, versionId, voteOption] = decodeAbiParameters([
64
+ { type: 'bytes16', name: 'proposalId' },
65
+ { type: 'uint8', name: 'versionId' },
66
+ { type: 'uint8', name: 'voteOption' },
67
+ ], data);
68
+ expect(action).toBe(PROPOSAL_VOTED_ACTION);
69
+ expect(proposalId).toBe(validProposalId);
70
+ expect(versionId).toBe(3);
71
+ expect(voteOption).toBe(VOTE_OPTION_VALUES.ABSTAIN);
72
+ });
73
+ it('should default to proposal version 1', () => {
74
+ const result = voteProposal({
75
+ authorSpaceId: validAuthorSpaceId,
76
+ spaceId: validDaoSpaceId,
77
+ proposalId: validProposalId,
78
+ vote: 'YES',
79
+ });
80
+ const decoded = decodeFunctionData({
81
+ abi: SpaceRegistryAbi,
82
+ data: result.calldata,
83
+ });
84
+ const [, , , , data] = decoded.args;
85
+ const [, versionId] = decodeAbiParameters([
86
+ { type: 'bytes16', name: 'proposalId' },
87
+ { type: 'uint8', name: 'versionId' },
88
+ { type: 'uint8', name: 'voteOption' },
89
+ ], data);
90
+ expect(versionId).toBe(1);
91
+ });
92
+ it('should reject invalid proposal versions', () => {
93
+ expect(() => voteProposal({
94
+ authorSpaceId: validAuthorSpaceId,
95
+ spaceId: validDaoSpaceId,
96
+ proposalId: validProposalId,
97
+ versionId: 0,
98
+ vote: 'YES',
99
+ })).toThrow('versionId must be an integer between 1 and 255');
100
+ });
47
101
  it('should accept NO vote', () => {
48
102
  const result = voteProposal({
49
103
  authorSpaceId: validAuthorSpaceId,
@@ -1 +1 @@
1
- {"version":3,"file":"vote-proposal.test.js","sourceRoot":"","sources":["../../../src/dao-space/vote-proposal.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vote-proposal.test.js","sourceRoot":"","sources":["../../../src/dao-space/vote-proposal.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { Chain } from 'viem';
2
+ import type { GeoNetworkConfig, Networkish } from './types.js';
3
+ type LocalGeobrowserDeployments = {
4
+ spaceRegistry: `0x${string}`;
5
+ daoSpaceFactory: `0x${string}`;
6
+ daoSpace?: `0x${string}`;
7
+ owner?: `0x${string}`;
8
+ rpcUrl?: string;
9
+ };
10
+ export type E2ETestEnvironment = {
11
+ network: GeoNetworkConfig;
12
+ networkish: Networkish;
13
+ privateKey: `0x${string}`;
14
+ rpcUrl: string;
15
+ apiOrigin: string;
16
+ chain: Chain;
17
+ contracts: {
18
+ SPACE_REGISTRY_ADDRESS: `0x${string}`;
19
+ DAO_SPACE_FACTORY_ADDRESS: `0x${string}`;
20
+ };
21
+ localGeobrowserPath?: string;
22
+ localGeobrowserDeployments?: LocalGeobrowserDeployments;
23
+ };
24
+ export declare function createE2ETestEnvironment(): E2ETestEnvironment;
25
+ export {};
26
+ //# sourceMappingURL=e2e-test-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"e2e-test-environment.d.ts","sourceRoot":"","sources":["../../src/e2e-test-environment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAElC,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE/D,KAAK,0BAA0B,GAAG;IAChC,aAAa,EAAE,KAAK,MAAM,EAAE,CAAC;IAC7B,eAAe,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE;QACT,sBAAsB,EAAE,KAAK,MAAM,EAAE,CAAC;QACtC,yBAAyB,EAAE,KAAK,MAAM,EAAE,CAAC;KAC1C,CAAC;IACF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;CACzD,CAAC;AAgHF,wBAAgB,wBAAwB,IAAI,kBAAkB,CAuE7D"}
@@ -0,0 +1,150 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { defineGeoNetworkConfig, GeoTestnetConfig } from './networks.js';
3
+ const DEFAULT_LOCAL_GEOBROWSER_PRIVATE_KEY = '0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a';
4
+ const INDEXED_LOCAL_GEOBROWSER_DAO_FACTORIES = {
5
+ // First deterministic local-geobrowser deployment. The running hermes-substream
6
+ // may still be compiled against this registry after contracts are redeployed.
7
+ '0xe7f1725e7734ce288f8367e1bb143e90bb3f0512': '0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9',
8
+ };
9
+ function requireHexPrivateKey(value, source) {
10
+ if (!value) {
11
+ throw new Error(`${source} is required for e2e tests.`);
12
+ }
13
+ if (!value.startsWith('0x')) {
14
+ throw new Error(`${source} must be a hex string starting with 0x.`);
15
+ }
16
+ return value;
17
+ }
18
+ function requireEnv(value, source) {
19
+ if (!value) {
20
+ throw new Error(`${source} is required for local-geobrowser e2e tests. Set GEO_E2E_NETWORK=TESTNET to run against testnet.`);
21
+ }
22
+ return value;
23
+ }
24
+ function requireNetworkRpcUrl(network) {
25
+ const rpcUrl = network.chain?.rpcUrl;
26
+ if (!rpcUrl) {
27
+ throw new Error(`Geo network "${network.name}" is missing an RPC URL`);
28
+ }
29
+ return rpcUrl;
30
+ }
31
+ function requireNetworkContract(network, name) {
32
+ const address = network.contracts?.[name];
33
+ if (!address) {
34
+ throw new Error(`Geo network "${network.name}" is missing ${name}`);
35
+ }
36
+ return address;
37
+ }
38
+ function createChain(network, rpcUrl) {
39
+ const chainConfig = network.chain;
40
+ if (!chainConfig) {
41
+ throw new Error(`Geo network "${network.name}" is missing chain config`);
42
+ }
43
+ return {
44
+ id: chainConfig.id,
45
+ name: chainConfig.name,
46
+ nativeCurrency: {
47
+ name: 'Ethereum',
48
+ symbol: 'ETH',
49
+ decimals: 18,
50
+ },
51
+ rpcUrls: {
52
+ default: { http: [rpcUrl] },
53
+ public: { http: [rpcUrl] },
54
+ },
55
+ };
56
+ }
57
+ function readLocalGeobrowserDeployments() {
58
+ if (process.env.GEO_E2E_NETWORK === 'TESTNET') {
59
+ return undefined;
60
+ }
61
+ const localGeobrowserPath = requireEnv(process.env.GEO_LOCAL_GEOBROWSER_PATH, 'GEO_LOCAL_GEOBROWSER_PATH');
62
+ const deploymentsPath = process.env.GEO_LOCAL_GEOBROWSER_DEPLOYMENTS ?? `${localGeobrowserPath}/.deployments.json`;
63
+ try {
64
+ return {
65
+ path: localGeobrowserPath,
66
+ deployments: JSON.parse(readFileSync(deploymentsPath, 'utf8')),
67
+ };
68
+ }
69
+ catch {
70
+ throw new Error(`Could not read local-geobrowser deployments from ${deploymentsPath}. Set GEO_LOCAL_GEOBROWSER_DEPLOYMENTS to override the path.`);
71
+ }
72
+ }
73
+ function readIndexedLocalSpaceRegistry(localGeobrowserPath) {
74
+ try {
75
+ const source = readFileSync(`${localGeobrowserPath}/gaia/hermes-substream/src/lib.rs`, 'utf8');
76
+ const match = /\nconst SPACE_REGISTRY_ADDRESS:[\s\S]*?=\s*\[([\s\S]*?)\];/.exec(source);
77
+ const bytes = match?.[1]?.match(/0x[0-9a-fA-F]{2}/g);
78
+ if (!bytes || bytes.length !== 20) {
79
+ return undefined;
80
+ }
81
+ return `0x${bytes.map(byte => byte.slice(2)).join('')}`;
82
+ }
83
+ catch {
84
+ return undefined;
85
+ }
86
+ }
87
+ export function createE2ETestEnvironment() {
88
+ const local = readLocalGeobrowserDeployments();
89
+ if (local) {
90
+ const rpcUrl = process.env.GEO_LOCAL_GEOBROWSER_RPC_URL ?? local.deployments.rpcUrl ?? 'http://localhost:8545';
91
+ const apiOrigin = process.env.GEO_LOCAL_GEOBROWSER_API_ORIGIN ?? 'http://localhost:3000';
92
+ const indexedSpaceRegistry = readIndexedLocalSpaceRegistry(local.path);
93
+ const spaceRegistryAddress = process.env.GEO_LOCAL_GEOBROWSER_SPACE_REGISTRY_ADDRESS ??
94
+ indexedSpaceRegistry ??
95
+ local.deployments.spaceRegistry;
96
+ const daoSpaceFactoryAddress = process.env.GEO_LOCAL_GEOBROWSER_DAO_SPACE_FACTORY_ADDRESS ??
97
+ (spaceRegistryAddress.toLowerCase() === local.deployments.spaceRegistry.toLowerCase()
98
+ ? local.deployments.daoSpaceFactory
99
+ : (INDEXED_LOCAL_GEOBROWSER_DAO_FACTORIES[spaceRegistryAddress.toLowerCase()] ??
100
+ local.deployments.daoSpaceFactory));
101
+ const network = defineGeoNetworkConfig({
102
+ id: 'LOCAL_GEOBROWSER',
103
+ name: 'Local Geobrowser',
104
+ apiOrigin,
105
+ chain: {
106
+ id: Number(process.env.GEO_LOCAL_GEOBROWSER_CHAIN_ID ?? 1337),
107
+ name: 'Anvil',
108
+ rpcUrl,
109
+ },
110
+ contracts: {
111
+ SPACE_REGISTRY_ADDRESS: spaceRegistryAddress,
112
+ DAO_SPACE_FACTORY_ADDRESS: daoSpaceFactoryAddress,
113
+ },
114
+ });
115
+ return {
116
+ network,
117
+ networkish: network,
118
+ privateKey: requireHexPrivateKey(process.env.GEO_LOCAL_GEOBROWSER_PRIVATE_KEY ??
119
+ process.env.GEO_E2E_PRIVATE_KEY ??
120
+ DEFAULT_LOCAL_GEOBROWSER_PRIVATE_KEY, 'GEO_LOCAL_GEOBROWSER_PRIVATE_KEY'),
121
+ rpcUrl,
122
+ apiOrigin,
123
+ chain: createChain(network, rpcUrl),
124
+ contracts: {
125
+ SPACE_REGISTRY_ADDRESS: spaceRegistryAddress,
126
+ DAO_SPACE_FACTORY_ADDRESS: daoSpaceFactoryAddress,
127
+ },
128
+ localGeobrowserPath: local.path,
129
+ localGeobrowserDeployments: local.deployments,
130
+ };
131
+ }
132
+ const rpcUrl = process.env.GEO_E2E_RPC_URL ?? requireNetworkRpcUrl(GeoTestnetConfig);
133
+ const network = defineGeoNetworkConfig({
134
+ ...GeoTestnetConfig,
135
+ chain: GeoTestnetConfig.chain ? { ...GeoTestnetConfig.chain, rpcUrl } : undefined,
136
+ });
137
+ return {
138
+ network,
139
+ networkish: 'TESTNET',
140
+ privateKey: requireHexPrivateKey(process.env.GEO_E2E_PRIVATE_KEY ?? process.env.PRIVATE_KEY, 'PRIVATE_KEY'),
141
+ rpcUrl,
142
+ apiOrigin: network.apiOrigin,
143
+ chain: createChain(network, rpcUrl),
144
+ contracts: {
145
+ SPACE_REGISTRY_ADDRESS: requireNetworkContract(network, 'SPACE_REGISTRY_ADDRESS'),
146
+ DAO_SPACE_FACTORY_ADDRESS: requireNetworkContract(network, 'DAO_SPACE_FACTORY_ADDRESS'),
147
+ },
148
+ };
149
+ }
150
+ //# sourceMappingURL=e2e-test-environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"e2e-test-environment.js","sourceRoot":"","sources":["../../src/e2e-test-environment.ts"],"names":[],"mappings":"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"}
@@ -3,32 +3,49 @@
3
3
  * 100% = 10e6 (10,000,000), so 50% = 5e6 (5,000,000)
4
4
  */
5
5
  export declare const RATIO_BASE: bigint;
6
- /** Minimum voting duration in seconds (2 days) */
6
+ /** Minimum voting duration in seconds, matching the contracts v2 lower bound. */
7
7
  export declare const MINIMUM_VOTING_DURATION: bigint;
8
8
  /** Minimum voting duration in days */
9
- export declare const MINIMUM_VOTING_DURATION_DAYS = 2;
9
+ export declare const MINIMUM_VOTING_DURATION_DAYS: number;
10
+ /** Minimum execution grace period in seconds, matching the contracts v2 lower bound. */
11
+ export declare const MINIMUM_EXECUTION_GRACE_PERIOD: bigint;
12
+ /** Minimum execution grace period in days */
13
+ export declare const MINIMUM_EXECUTION_GRACE_PERIOD_DAYS: number;
10
14
  /**
11
15
  * User-friendly voting settings input (using percentages and days)
12
16
  */
13
17
  export interface VotingSettingsInput {
14
- /** Percentage threshold for slow path (0-100) */
15
- slowPathPercentageThreshold: number;
18
+ /** Partial percentage threshold for slow path late execution (0-100) */
19
+ partialPercentageSupportThreshold: number;
20
+ /** Universal percentage threshold for slow path early execution (0-100) */
21
+ universalPercentageSupportThreshold: number;
16
22
  /** Number of editors required for fast path approval */
17
- fastPathFlatThreshold: number;
23
+ flatSupportThreshold: number;
18
24
  /** Minimum number of editors required to vote */
19
25
  quorum: number;
20
- /** Voting duration in days (minimum 2 days) */
26
+ /** Voting duration in days */
21
27
  durationInDays: number;
28
+ /** Whether newly added members start without fast-path access */
29
+ disableFastPathAccessForNewMembers: boolean;
30
+ /** Execution grace period in days */
31
+ executionGracePeriodInDays: number;
22
32
  }
23
33
  /**
24
34
  * Contract-level voting settings (using raw values)
25
35
  */
26
36
  export interface VotingSettings {
27
- slowPathPercentageThreshold: bigint;
28
- fastPathFlatThreshold: bigint;
37
+ partialPercentageSupportThreshold: bigint;
38
+ universalPercentageSupportThreshold: bigint;
39
+ flatSupportThreshold: bigint;
29
40
  quorum: bigint;
30
41
  duration: bigint;
42
+ disableFastPathAccessForNewMembers: boolean;
43
+ executionGracePeriod: bigint;
31
44
  }
45
+ /**
46
+ * Sensible user-friendly defaults for contracts v2 DAO spaces.
47
+ */
48
+ export declare const DEFAULT_VOTING_SETTINGS: VotingSettingsInput;
32
49
  /**
33
50
  * Convert a percentage (0-100) to the contract's ratio format.
34
51
  */
@@ -47,8 +64,14 @@ export declare function toContractVotingSettings(input: VotingSettingsInput): Vo
47
64
  export declare function validateIpfsUri(uri: string): string | null;
48
65
  /**
49
66
  * Validate voting settings input.
67
+ *
68
+ * When `totalEditors` is provided, the flat support threshold and quorum are
69
+ * also checked against that known editor count. For existing DAO spaces the
70
+ * current editor count may be unknown client-side, so callers can omit it and
71
+ * still get deterministic local validation for numeric shape, percentages, and
72
+ * duration lower bounds before the contract enforces editor-count limits.
50
73
  */
51
- export declare function validateVotingSettingsInput(settings: VotingSettingsInput, totalEditors: number): string | null;
74
+ export declare function validateVotingSettingsInput(settings: VotingSettingsInput, totalEditors?: number): string | null;
52
75
  export type CreateDaoSpaceCalldataParams = {
53
76
  /** Voting settings for the DAO space */
54
77
  votingSettings: VotingSettingsInput;
@@ -1 +1 @@
1
- {"version":3,"file":"get-create-dao-space-calldata.d.ts","sourceRoot":"","sources":["../../../src/encodings/get-create-dao-space-calldata.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,eAAO,MAAM,UAAU,QAAe,CAAC;AAEvC,kDAAkD;AAClD,eAAO,MAAM,uBAAuB,QAA2B,CAAC;AAEhE,sCAAsC;AACtC,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,iDAAiD;IACjD,2BAA2B,EAAE,MAAM,CAAC;IACpC,wDAAwD;IACxD,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,2BAA2B,EAAE,MAAM,CAAC;IACpC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,mBAAmB,GAAG,cAAc,CAOnF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkB1D;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAc9G;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,wCAAwC;IACxC,cAAc,EAAE,mBAAmB,CAAC;IACpC,wGAAwG;IACxG,qBAAqB,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;IACvC,+FAA+F;IAC/F,qBAAqB,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;IACvC,gEAAgE;IAChE,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,6FAA6F;IAC7F,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,4BAA4B,GAAG,KAAK,MAAM,EAAE,CA+C3F"}
1
+ {"version":3,"file":"get-create-dao-space-calldata.d.ts","sourceRoot":"","sources":["../../../src/encodings/get-create-dao-space-calldata.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,eAAO,MAAM,UAAU,QAAe,CAAC;AAEvC,iFAAiF;AACjF,eAAO,MAAM,uBAAuB,QAAa,CAAC;AAElD,sCAAsC;AACtC,eAAO,MAAM,4BAA4B,QAAc,CAAC;AAExD,wFAAwF;AACxF,eAAO,MAAM,8BAA8B,QAAkB,CAAC;AAE9D,6CAA6C;AAC7C,eAAO,MAAM,mCAAmC,QAAS,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wEAAwE;IACxE,iCAAiC,EAAE,MAAM,CAAC;IAC1C,2EAA2E;IAC3E,mCAAmC,EAAE,MAAM,CAAC;IAC5C,wDAAwD;IACxD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,iEAAiE;IACjE,kCAAkC,EAAE,OAAO,CAAC;IAC5C,qCAAqC;IACrC,0BAA0B,EAAE,MAAM,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,iCAAiC,EAAE,MAAM,CAAC;IAC1C,mCAAmC,EAAE,MAAM,CAAC;IAC5C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,kCAAkC,EAAE,OAAO,CAAC;IAC5C,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,mBAQrC,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,mBAAmB,GAAG,cAAc,CAUnF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkB1D;AAMD;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,mBAAmB,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqC/G;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,wCAAwC;IACxC,cAAc,EAAE,mBAAmB,CAAC;IACpC,wGAAwG;IACxG,qBAAqB,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;IACvC,+FAA+F;IAC/F,qBAAqB,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;IACvC,gEAAgE;IAChE,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,6FAA6F;IAC7F,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,4BAA4B,GAAG,KAAK,MAAM,EAAE,CAiD3F"}