@geoprotocol/geo-sdk 0.19.1 → 0.19.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/dist/examples/ranks/create-ordinal-rank.d.ts +1 -1
  2. package/dist/examples/ranks/create-ordinal-rank.js +9 -6
  3. package/dist/examples/ranks/create-ordinal-rank.js.map +1 -1
  4. package/dist/examples/ranks/create-weighted-rank.d.ts +1 -1
  5. package/dist/examples/ranks/create-weighted-rank.js +9 -6
  6. package/dist/examples/ranks/create-weighted-rank.js.map +1 -1
  7. package/dist/index.d.ts +1 -1
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +1 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/src/abis/dao-space-factory.d.ts +6 -43
  12. package/dist/src/abis/dao-space-factory.d.ts.map +1 -1
  13. package/dist/src/abis/dao-space-factory.js +27 -38
  14. package/dist/src/abis/dao-space-factory.js.map +1 -1
  15. package/dist/src/abis/dao-space.d.ts +7 -98
  16. package/dist/src/abis/dao-space.d.ts.map +1 -1
  17. package/dist/src/abis/dao-space.js +99 -61
  18. package/dist/src/abis/dao-space.js.map +1 -1
  19. package/dist/src/abis/index.d.ts +2 -2
  20. package/dist/src/abis/index.d.ts.map +1 -1
  21. package/dist/src/abis/index.js +2 -2
  22. package/dist/src/abis/index.js.map +1 -1
  23. package/dist/src/abis/space-registry.d.ts +0 -26
  24. package/dist/src/abis/space-registry.d.ts.map +1 -1
  25. package/dist/src/abis/space-registry.js +0 -33
  26. package/dist/src/abis/space-registry.js.map +1 -1
  27. package/dist/src/client/dao-spaces.d.ts +33 -93
  28. package/dist/src/client/dao-spaces.d.ts.map +1 -1
  29. package/dist/src/client/dao-spaces.js +42 -174
  30. package/dist/src/client/dao-spaces.js.map +1 -1
  31. package/dist/src/client/dao-spaces.test.js +79 -313
  32. package/dist/src/client/dao-spaces.test.js.map +1 -1
  33. package/dist/src/client/personal-spaces.d.ts +0 -74
  34. package/dist/src/client/personal-spaces.d.ts.map +1 -1
  35. package/dist/src/client/personal-spaces.js +2 -82
  36. package/dist/src/client/personal-spaces.js.map +1 -1
  37. package/dist/src/client/ranks.d.ts +36 -0
  38. package/dist/src/client/ranks.d.ts.map +1 -0
  39. package/dist/src/client/ranks.js +57 -0
  40. package/dist/src/client/ranks.js.map +1 -0
  41. package/dist/src/client/ranks.test.d.ts +2 -0
  42. package/dist/src/client/ranks.test.d.ts.map +1 -0
  43. package/dist/src/client/ranks.test.js +96 -0
  44. package/dist/src/client/ranks.test.js.map +1 -0
  45. package/dist/src/client/spaces.test.js +7 -27
  46. package/dist/src/client/spaces.test.js.map +1 -1
  47. package/dist/src/client.d.ts +21 -33
  48. package/dist/src/client.d.ts.map +1 -1
  49. package/dist/src/client.js +81 -102
  50. package/dist/src/client.js.map +1 -1
  51. package/dist/src/client.test.js +3 -8
  52. package/dist/src/client.test.js.map +1 -1
  53. package/dist/src/core/ids/system.d.ts +8 -0
  54. package/dist/src/core/ids/system.d.ts.map +1 -1
  55. package/dist/src/core/ids/system.js +8 -0
  56. package/dist/src/core/ids/system.js.map +1 -1
  57. package/dist/src/dao-space/constants.d.ts +0 -10
  58. package/dist/src/dao-space/constants.d.ts.map +1 -1
  59. package/dist/src/dao-space/constants.js +0 -10
  60. package/dist/src/dao-space/constants.js.map +1 -1
  61. package/dist/src/dao-space/execute-proposal.d.ts +1 -1
  62. package/dist/src/dao-space/execute-proposal.js +2 -2
  63. package/dist/src/dao-space/execute-proposal.js.map +1 -1
  64. package/dist/src/dao-space/index.d.ts +1 -2
  65. package/dist/src/dao-space/index.d.ts.map +1 -1
  66. package/dist/src/dao-space/index.js +0 -1
  67. package/dist/src/dao-space/index.js.map +1 -1
  68. package/dist/src/dao-space/propose-add-editor.d.ts +20 -1
  69. package/dist/src/dao-space/propose-add-editor.d.ts.map +1 -1
  70. package/dist/src/dao-space/propose-add-editor.js +87 -12
  71. package/dist/src/dao-space/propose-add-editor.js.map +1 -1
  72. package/dist/src/dao-space/propose-add-editor.test.js +4 -16
  73. package/dist/src/dao-space/propose-add-editor.test.js.map +1 -1
  74. package/dist/src/dao-space/propose-add-member.d.ts +20 -1
  75. package/dist/src/dao-space/propose-add-member.d.ts.map +1 -1
  76. package/dist/src/dao-space/propose-add-member.js +87 -12
  77. package/dist/src/dao-space/propose-add-member.js.map +1 -1
  78. package/dist/src/dao-space/propose-add-member.test.js +0 -13
  79. package/dist/src/dao-space/propose-add-member.test.js.map +1 -1
  80. package/dist/src/dao-space/propose-edit.test.js +0 -45
  81. package/dist/src/dao-space/propose-edit.test.js.map +1 -1
  82. package/dist/src/dao-space/propose-remove-editor.d.ts +22 -1
  83. package/dist/src/dao-space/propose-remove-editor.d.ts.map +1 -1
  84. package/dist/src/dao-space/propose-remove-editor.js +94 -12
  85. package/dist/src/dao-space/propose-remove-editor.js.map +1 -1
  86. package/dist/src/dao-space/propose-remove-editor.test.js +4 -22
  87. package/dist/src/dao-space/propose-remove-editor.test.js.map +1 -1
  88. package/dist/src/dao-space/propose-remove-member.d.ts +22 -1
  89. package/dist/src/dao-space/propose-remove-member.d.ts.map +1 -1
  90. package/dist/src/dao-space/propose-remove-member.js +94 -12
  91. package/dist/src/dao-space/propose-remove-member.js.map +1 -1
  92. package/dist/src/dao-space/propose-remove-member.test.js +0 -19
  93. package/dist/src/dao-space/propose-remove-member.test.js.map +1 -1
  94. package/dist/src/dao-space/types.d.ts +11 -72
  95. package/dist/src/dao-space/types.d.ts.map +1 -1
  96. package/dist/src/dao-space/vote-proposal.d.ts +1 -1
  97. package/dist/src/dao-space/vote-proposal.js +2 -2
  98. package/dist/src/dao-space/vote-proposal.js.map +1 -1
  99. package/dist/src/dao-space/vote-proposal.test.js +0 -54
  100. package/dist/src/dao-space/vote-proposal.test.js.map +1 -1
  101. package/dist/src/e2e-api-surface.test.d.ts +2 -0
  102. package/dist/src/e2e-api-surface.test.d.ts.map +1 -0
  103. package/dist/src/{api-surface.e2e.test.js → e2e-api-surface.test.js} +101 -286
  104. package/dist/src/e2e-api-surface.test.js.map +1 -0
  105. package/dist/src/e2e-legacy-api-surface.test.d.ts +2 -0
  106. package/dist/src/e2e-legacy-api-surface.test.d.ts.map +1 -0
  107. package/dist/src/{legacy-api-surface.e2e.test.js → e2e-legacy-api-surface.test.js} +70 -90
  108. package/dist/src/e2e-legacy-api-surface.test.js.map +1 -0
  109. package/dist/src/encodings/get-create-dao-space-calldata.d.ts +21 -34
  110. package/dist/src/encodings/get-create-dao-space-calldata.d.ts.map +1 -1
  111. package/dist/src/encodings/get-create-dao-space-calldata.js +35 -64
  112. package/dist/src/encodings/get-create-dao-space-calldata.js.map +1 -1
  113. package/dist/src/encodings/get-create-dao-space-calldata.test.js +64 -94
  114. package/dist/src/encodings/get-create-dao-space-calldata.test.js.map +1 -1
  115. package/dist/src/full-flow-test.test.js +2 -5
  116. package/dist/src/full-flow-test.test.js.map +1 -1
  117. package/dist/src/ops/index.d.ts +1 -0
  118. package/dist/src/ops/index.d.ts.map +1 -1
  119. package/dist/src/ops/index.js +1 -0
  120. package/dist/src/ops/index.js.map +1 -1
  121. package/dist/src/ops/ranks.d.ts +33 -0
  122. package/dist/src/ops/ranks.d.ts.map +1 -0
  123. package/dist/src/ops/ranks.js +33 -0
  124. package/dist/src/ops/ranks.js.map +1 -0
  125. package/dist/src/ops/ranks.test.d.ts +2 -0
  126. package/dist/src/ops/ranks.test.d.ts.map +1 -0
  127. package/dist/src/ops/ranks.test.js +36 -0
  128. package/dist/src/ops/ranks.test.js.map +1 -0
  129. package/dist/src/personal-space/constants.d.ts +1 -1
  130. package/dist/src/personal-space/constants.d.ts.map +1 -1
  131. package/dist/src/personal-space/constants.js +1 -1
  132. package/dist/src/personal-space/constants.js.map +1 -1
  133. package/dist/src/personal-space/create-space.d.ts +2 -2
  134. package/dist/src/personal-space/create-space.d.ts.map +1 -1
  135. package/dist/src/personal-space/create-space.js +3 -4
  136. package/dist/src/personal-space/create-space.js.map +1 -1
  137. package/dist/src/personal-space/types.d.ts +1 -4
  138. package/dist/src/personal-space/types.d.ts.map +1 -1
  139. package/dist/src/ranks/create-rank.d.ts +19 -9
  140. package/dist/src/ranks/create-rank.d.ts.map +1 -1
  141. package/dist/src/ranks/create-rank.js +34 -57
  142. package/dist/src/ranks/create-rank.js.map +1 -1
  143. package/dist/src/ranks/create-rank.test.js +151 -23
  144. package/dist/src/ranks/create-rank.test.js.map +1 -1
  145. package/dist/src/ranks/index.d.ts +0 -1
  146. package/dist/src/ranks/index.d.ts.map +1 -1
  147. package/dist/src/ranks/index.js +0 -1
  148. package/dist/src/ranks/index.js.map +1 -1
  149. package/dist/src/ranks/types.d.ts +30 -0
  150. package/dist/src/ranks/types.d.ts.map +1 -1
  151. package/dist/src/ranks/update-rank.d.ts +40 -0
  152. package/dist/src/ranks/update-rank.d.ts.map +1 -0
  153. package/dist/src/ranks/update-rank.js +61 -0
  154. package/dist/src/ranks/update-rank.js.map +1 -0
  155. package/dist/src/ranks/update-rank.test.d.ts +2 -0
  156. package/dist/src/ranks/update-rank.test.d.ts.map +1 -0
  157. package/dist/src/ranks/update-rank.test.js +120 -0
  158. package/dist/src/ranks/update-rank.test.js.map +1 -0
  159. package/dist/src/ranks/vote-ops.d.ts +37 -0
  160. package/dist/src/ranks/vote-ops.d.ts.map +1 -0
  161. package/dist/src/ranks/vote-ops.js +96 -0
  162. package/dist/src/ranks/vote-ops.js.map +1 -0
  163. package/package.json +1 -1
  164. package/dist/src/abis/dao-space-v2.test.d.ts +0 -2
  165. package/dist/src/abis/dao-space-v2.test.d.ts.map +0 -1
  166. package/dist/src/abis/dao-space-v2.test.js +0 -67
  167. package/dist/src/abis/dao-space-v2.test.js.map +0 -1
  168. package/dist/src/api-surface.e2e.test.d.ts +0 -2
  169. package/dist/src/api-surface.e2e.test.d.ts.map +0 -1
  170. package/dist/src/api-surface.e2e.test.js.map +0 -1
  171. package/dist/src/contracts-v2/local-geobrowser.e2e.test.d.ts +0 -2
  172. package/dist/src/contracts-v2/local-geobrowser.e2e.test.d.ts.map +0 -1
  173. package/dist/src/contracts-v2/local-geobrowser.e2e.test.js +0 -239
  174. package/dist/src/contracts-v2/local-geobrowser.e2e.test.js.map +0 -1
  175. package/dist/src/dao-space/propose-update-voting-settings.d.ts +0 -8
  176. package/dist/src/dao-space/propose-update-voting-settings.d.ts.map +0 -1
  177. package/dist/src/dao-space/propose-update-voting-settings.js +0 -19
  178. package/dist/src/dao-space/propose-update-voting-settings.js.map +0 -1
  179. package/dist/src/dao-space/propose-update-voting-settings.test.d.ts +0 -2
  180. package/dist/src/dao-space/propose-update-voting-settings.test.d.ts.map +0 -1
  181. package/dist/src/dao-space/propose-update-voting-settings.test.js +0 -118
  182. package/dist/src/dao-space/propose-update-voting-settings.test.js.map +0 -1
  183. package/dist/src/e2e-test-environment.d.ts +0 -26
  184. package/dist/src/e2e-test-environment.d.ts.map +0 -1
  185. package/dist/src/e2e-test-environment.js +0 -150
  186. package/dist/src/e2e-test-environment.js.map +0 -1
  187. package/dist/src/legacy-api-surface.e2e.test.d.ts +0 -2
  188. package/dist/src/legacy-api-surface.e2e.test.d.ts.map +0 -1
  189. package/dist/src/legacy-api-surface.e2e.test.js.map +0 -1
@@ -1,22 +1,97 @@
1
- import { createGeoClient } from '../client.js';
2
- import { resolveGeoNetwork } from '../networks.js';
3
- import { ensure0xPrefix, isBytes16Hex } from './constants.js';
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, ensure0xPrefix, getContractAddressesBasedOnNetwork, isBytes16Hex, PROPOSAL_CREATED_ACTION, } from './constants.js';
4
5
  /**
5
6
  * Creates a proposal to add an editor to a DAO space.
6
7
  *
7
- * @deprecated Use `createGeoClient({ network }).daoSpaces.proposeAddEditor(...)`.
8
+ * This function encodes a proposal that, when executed, will call the DAO
9
+ * space's `addEditor()` function to add the given editor space ID.
10
+ * The proposal is submitted via SpaceRegistry's `enter()` function.
11
+ *
12
+ * @param params - The parameters for creating the proposal
13
+ * @returns Object containing `to` (Space Registry address), `calldata`, and `proposalId`
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * import { daoSpace } from '@geoprotocol/geo-sdk';
18
+ *
19
+ * const { to, calldata, proposalId } = daoSpace.proposeAddEditor({
20
+ * authorSpaceId: '0xProposerBytes16SpaceId...',
21
+ * spaceId: '0xDAOBytes16SpaceId...',
22
+ * newEditorSpaceId: '0xNewEditorBytes16SpaceId...',
23
+ * });
24
+ *
25
+ * // Submit the transaction using viem or another client
26
+ * await walletClient.sendTransaction({ to, data: calldata });
27
+ * ```
8
28
  */
9
29
  export function proposeAddEditor(params) {
10
- const { network = 'TESTNET', ...args } = params;
11
- if (!isBytes16Hex(ensure0xPrefix(args.authorSpaceId))) {
12
- throw new Error(`authorSpaceId must be bytes16 hex (32 hex chars). Received: ${args.authorSpaceId}`);
30
+ const { authorSpaceId: rawAuthorSpaceId, spaceId: rawSpaceId, newEditorSpaceId: rawNewEditorSpaceId, votingMode = 'SLOW', proposalId: rawProposalId, network = 'TESTNET', } = params;
31
+ // Validate inputs
32
+ const authorSpaceId = ensure0xPrefix(rawAuthorSpaceId);
33
+ const newEditorSpaceId = ensure0xPrefix(rawNewEditorSpaceId);
34
+ const spaceId = ensure0xPrefix(rawSpaceId);
35
+ if (!isBytes16Hex(authorSpaceId)) {
36
+ throw new Error(`authorSpaceId must be bytes16 hex (0x followed by 32 hex chars). Received: ${authorSpaceId}`);
13
37
  }
14
- if (!isBytes16Hex(ensure0xPrefix(args.spaceId))) {
15
- throw new Error(`spaceId must be bytes16 hex (32 hex chars). Received: ${args.spaceId}`);
38
+ if (!isBytes16Hex(spaceId)) {
39
+ throw new Error(`spaceId must be bytes16 hex (0x followed by 32 hex chars). Received: ${spaceId}`);
16
40
  }
17
- if (!isBytes16Hex(ensure0xPrefix(args.newEditorSpaceId))) {
18
- throw new Error(`newEditorSpaceId must be bytes16 hex (32 hex chars). Received: ${args.newEditorSpaceId}`);
41
+ if (!isBytes16Hex(newEditorSpaceId)) {
42
+ throw new Error(`newEditorSpaceId must be bytes16 hex (0x followed by 32 hex chars). Received: ${newEditorSpaceId}`);
19
43
  }
20
- return createGeoClient({ network: resolveGeoNetwork(network) }).daoSpaces.proposeAddEditor(args);
44
+ const proposalId = rawProposalId
45
+ ? ensure0xPrefix(rawProposalId)
46
+ : `0x${uuidv4().replaceAll('-', '')}`;
47
+ // Encode the addEditor function call: addEditor(bytes16 _newEditorSpaceId)
48
+ const proposalActionCalldata = encodeFunctionData({
49
+ abi: DaoSpaceAbi,
50
+ functionName: 'addEditor',
51
+ args: [newEditorSpaceId],
52
+ });
53
+ const contracts = getContractAddressesBasedOnNetwork(network);
54
+ // Create the proposal action (calling addEditor on the DAO space)
55
+ const proposalActions = [
56
+ {
57
+ to: contracts.SPACE_REGISTRY_ADDRESS,
58
+ value: 0n,
59
+ data: proposalActionCalldata,
60
+ },
61
+ ];
62
+ // Encode the proposal data: abi.encode(bytes16 proposalId, VotingMode votingMode, Action[] actions)
63
+ const data = encodeAbiParameters([
64
+ { type: 'bytes16', name: 'proposalId' },
65
+ { type: 'uint8', name: 'votingMode' },
66
+ {
67
+ type: 'tuple[]',
68
+ name: 'actions',
69
+ components: [
70
+ { type: 'address', name: 'to' },
71
+ { type: 'uint256', name: 'value' },
72
+ { type: 'bytes', name: 'data' },
73
+ ],
74
+ },
75
+ ], [proposalId, votingMode === 'FAST' ? 1 : 0, proposalActions]);
76
+ // Convert proposalId to bytes32 for the topic (left-aligned)
77
+ const topic = bytes16ToBytes32LeftAligned(proposalId);
78
+ // Encode the SpaceRegistry.enter() call
79
+ const calldata = encodeFunctionData({
80
+ abi: SpaceRegistryAbi,
81
+ functionName: 'enter',
82
+ args: [
83
+ authorSpaceId, // fromSpaceId
84
+ spaceId, // toSpaceId
85
+ PROPOSAL_CREATED_ACTION, // action
86
+ topic, // topic (proposalId left-aligned to bytes32)
87
+ data, // data (encoded proposal)
88
+ EMPTY_SIGNATURE, // signature (unused when msg.sender == fromSpace)
89
+ ],
90
+ });
91
+ return {
92
+ to: contracts.SPACE_REGISTRY_ADDRESS,
93
+ calldata,
94
+ proposalId,
95
+ };
21
96
  }
22
97
  //# sourceMappingURL=propose-add-editor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"propose-add-editor.js","sourceRoot":"","sources":["../../../src/dao-space/propose-add-editor.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,gBAAgB,CAAC,MAA8B;IAC7D,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,gBAAgB,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,kEAAkE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC7G,CAAC;IAED,OAAO,eAAe,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACnG,CAAC"}
1
+ {"version":3,"file":"propose-add-editor.js","sourceRoot":"","sources":["../../../src/dao-space/propose-add-editor.ts"],"names":[],"mappings":"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"}
@@ -4,13 +4,11 @@ import { proposeAddEditor } from './propose-add-editor.js';
4
4
  describe('proposeAddEditor', () => {
5
5
  const validAuthorSpaceId = '0x0eed5491b917cf58b33ac81255fe7ae9';
6
6
  const validSpaceId = '0xabcdef12345678901234567890abcdef';
7
- const validDaoSpaceAddress = '0x1234567890123456789012345678901234567890';
8
7
  const validNewEditorSpaceId = '0x11111111111111111111111111111111';
9
8
  it('should return correct structure', () => {
10
9
  const result = proposeAddEditor({
11
10
  authorSpaceId: validAuthorSpaceId,
12
11
  spaceId: validSpaceId,
13
- daoSpaceAddress: validDaoSpaceAddress,
14
12
  newEditorSpaceId: validNewEditorSpaceId,
15
13
  });
16
14
  expect(result).toHaveProperty('to');
@@ -21,7 +19,6 @@ describe('proposeAddEditor', () => {
21
19
  const { to } = proposeAddEditor({
22
20
  authorSpaceId: validAuthorSpaceId,
23
21
  spaceId: validSpaceId,
24
- daoSpaceAddress: validDaoSpaceAddress,
25
22
  newEditorSpaceId: validNewEditorSpaceId,
26
23
  });
27
24
  expect(to).toBe(TESTNET.SPACE_REGISTRY_ADDRESS);
@@ -30,7 +27,6 @@ describe('proposeAddEditor', () => {
30
27
  const { calldata } = proposeAddEditor({
31
28
  authorSpaceId: validAuthorSpaceId,
32
29
  spaceId: validSpaceId,
33
- daoSpaceAddress: validDaoSpaceAddress,
34
30
  newEditorSpaceId: validNewEditorSpaceId,
35
31
  });
36
32
  expect(calldata).toBeTypeOf('string');
@@ -40,7 +36,6 @@ describe('proposeAddEditor', () => {
40
36
  const { proposalId } = proposeAddEditor({
41
37
  authorSpaceId: validAuthorSpaceId,
42
38
  spaceId: validSpaceId,
43
- daoSpaceAddress: validDaoSpaceAddress,
44
39
  newEditorSpaceId: validNewEditorSpaceId,
45
40
  });
46
41
  expect(proposalId).toMatch(/^0x[0-9a-fA-F]{32}$/);
@@ -50,7 +45,6 @@ describe('proposeAddEditor', () => {
50
45
  const { proposalId } = proposeAddEditor({
51
46
  authorSpaceId: validAuthorSpaceId,
52
47
  spaceId: validSpaceId,
53
- daoSpaceAddress: validDaoSpaceAddress,
54
48
  newEditorSpaceId: validNewEditorSpaceId,
55
49
  proposalId: customProposalId,
56
50
  });
@@ -60,31 +54,28 @@ describe('proposeAddEditor', () => {
60
54
  const result = proposeAddEditor({
61
55
  authorSpaceId: validAuthorSpaceId,
62
56
  spaceId: validSpaceId,
63
- daoSpaceAddress: validDaoSpaceAddress,
64
57
  newEditorSpaceId: validNewEditorSpaceId,
65
58
  });
66
59
  expect(result.calldata).toBeTruthy();
67
60
  });
68
- it('should reject FAST voting mode', () => {
69
- expect(() => proposeAddEditor({
61
+ it('should preserve legacy FAST voting mode support', () => {
62
+ const result = proposeAddEditor({
70
63
  authorSpaceId: validAuthorSpaceId,
71
64
  spaceId: validSpaceId,
72
- daoSpaceAddress: validDaoSpaceAddress,
73
65
  newEditorSpaceId: validNewEditorSpaceId,
74
66
  votingMode: 'FAST',
75
- })).toThrow('proposeAddEditor only supports SLOW voting mode');
67
+ });
68
+ expect(result.calldata).toBeTruthy();
76
69
  });
77
70
  it('should generate unique proposalIds for the same input', () => {
78
71
  const result1 = proposeAddEditor({
79
72
  authorSpaceId: validAuthorSpaceId,
80
73
  spaceId: validSpaceId,
81
- daoSpaceAddress: validDaoSpaceAddress,
82
74
  newEditorSpaceId: validNewEditorSpaceId,
83
75
  });
84
76
  const result2 = proposeAddEditor({
85
77
  authorSpaceId: validAuthorSpaceId,
86
78
  spaceId: validSpaceId,
87
- daoSpaceAddress: validDaoSpaceAddress,
88
79
  newEditorSpaceId: validNewEditorSpaceId,
89
80
  });
90
81
  expect(result1.proposalId).not.toBe(result2.proposalId);
@@ -93,7 +84,6 @@ describe('proposeAddEditor', () => {
93
84
  expect(() => proposeAddEditor({
94
85
  authorSpaceId: '0xinvalid',
95
86
  spaceId: validSpaceId,
96
- daoSpaceAddress: validDaoSpaceAddress,
97
87
  newEditorSpaceId: validNewEditorSpaceId,
98
88
  })).toThrow('authorSpaceId must be bytes16 hex');
99
89
  });
@@ -101,7 +91,6 @@ describe('proposeAddEditor', () => {
101
91
  expect(() => proposeAddEditor({
102
92
  authorSpaceId: validAuthorSpaceId,
103
93
  spaceId: '0xtooshort',
104
- daoSpaceAddress: validDaoSpaceAddress,
105
94
  newEditorSpaceId: validNewEditorSpaceId,
106
95
  })).toThrow('spaceId must be bytes16 hex');
107
96
  });
@@ -109,7 +98,6 @@ describe('proposeAddEditor', () => {
109
98
  expect(() => proposeAddEditor({
110
99
  authorSpaceId: validAuthorSpaceId,
111
100
  spaceId: validSpaceId,
112
- daoSpaceAddress: validDaoSpaceAddress,
113
101
  newEditorSpaceId: '0xinvalid',
114
102
  })).toThrow('newEditorSpaceId must be bytes16 hex');
115
103
  });
@@ -1 +1 @@
1
- {"version":3,"file":"propose-add-editor.test.js","sourceRoot":"","sources":["../../../src/dao-space/propose-add-editor.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"propose-add-editor.test.js","sourceRoot":"","sources":["../../../src/dao-space/propose-add-editor.test.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,26 @@ import type { ProposeAddMemberParams, ProposeAddMemberResult } from './types.js'
2
2
  /**
3
3
  * Creates a proposal to add a member to a DAO space.
4
4
  *
5
- * @deprecated Use `createGeoClient({ network }).daoSpaces.proposeAddMember(...)`.
5
+ * This function encodes a proposal that, when executed, will call the DAO
6
+ * space's `addMember()` function to add the given member space ID.
7
+ * The proposal is submitted via SpaceRegistry's `enter()` function.
8
+ *
9
+ * @param params - The parameters for creating the proposal
10
+ * @returns Object containing `to` (Space Registry address), `calldata`, and `proposalId`
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * import { daoSpace } from '@geoprotocol/geo-sdk';
15
+ *
16
+ * const { to, calldata, proposalId } = daoSpace.proposeAddMember({
17
+ * authorSpaceId: '0xProposerBytes16SpaceId...',
18
+ * spaceId: '0xDAOBytes16SpaceId...',
19
+ * newMemberSpaceId: '0xNewMemberBytes16SpaceId...',
20
+ * });
21
+ *
22
+ * // Submit the transaction using viem or another client
23
+ * await walletClient.sendTransaction({ to, data: calldata });
24
+ * ```
6
25
  */
7
26
  export declare function proposeAddMember(params: ProposeAddMemberParams): ProposeAddMemberResult;
8
27
  //# sourceMappingURL=propose-add-member.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"propose-add-member.d.ts","sourceRoot":"","sources":["../../../src/dao-space/propose-add-member.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEjF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,sBAAsB,CAavF"}
1
+ {"version":3,"file":"propose-add-member.d.ts","sourceRoot":"","sources":["../../../src/dao-space/propose-add-member.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,sBAAsB,CAyFvF"}
@@ -1,22 +1,97 @@
1
- import { createGeoClient } from '../client.js';
2
- import { resolveGeoNetwork } from '../networks.js';
3
- import { ensure0xPrefix, isBytes16Hex } from './constants.js';
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, ensure0xPrefix, getContractAddressesBasedOnNetwork, isBytes16Hex, PROPOSAL_CREATED_ACTION, } from './constants.js';
4
5
  /**
5
6
  * Creates a proposal to add a member to a DAO space.
6
7
  *
7
- * @deprecated Use `createGeoClient({ network }).daoSpaces.proposeAddMember(...)`.
8
+ * This function encodes a proposal that, when executed, will call the DAO
9
+ * space's `addMember()` function to add the given member space ID.
10
+ * The proposal is submitted via SpaceRegistry's `enter()` function.
11
+ *
12
+ * @param params - The parameters for creating the proposal
13
+ * @returns Object containing `to` (Space Registry address), `calldata`, and `proposalId`
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * import { daoSpace } from '@geoprotocol/geo-sdk';
18
+ *
19
+ * const { to, calldata, proposalId } = daoSpace.proposeAddMember({
20
+ * authorSpaceId: '0xProposerBytes16SpaceId...',
21
+ * spaceId: '0xDAOBytes16SpaceId...',
22
+ * newMemberSpaceId: '0xNewMemberBytes16SpaceId...',
23
+ * });
24
+ *
25
+ * // Submit the transaction using viem or another client
26
+ * await walletClient.sendTransaction({ to, data: calldata });
27
+ * ```
8
28
  */
9
29
  export function proposeAddMember(params) {
10
- const { network = 'TESTNET', ...args } = params;
11
- if (!isBytes16Hex(ensure0xPrefix(args.authorSpaceId))) {
12
- throw new Error(`authorSpaceId must be bytes16 hex (32 hex chars). Received: ${args.authorSpaceId}`);
30
+ const { authorSpaceId: rawAuthorSpaceId, spaceId: rawSpaceId, newMemberSpaceId: rawNewMemberSpaceId, votingMode = 'SLOW', proposalId: rawProposalId, network = 'TESTNET', } = params;
31
+ // Validate inputs
32
+ const authorSpaceId = ensure0xPrefix(rawAuthorSpaceId);
33
+ const newMemberSpaceId = ensure0xPrefix(rawNewMemberSpaceId);
34
+ const spaceId = ensure0xPrefix(rawSpaceId);
35
+ if (!isBytes16Hex(authorSpaceId)) {
36
+ throw new Error(`authorSpaceId must be bytes16 hex (0x followed by 32 hex chars). Received: ${authorSpaceId}`);
13
37
  }
14
- if (!isBytes16Hex(ensure0xPrefix(args.spaceId))) {
15
- throw new Error(`spaceId must be bytes16 hex (32 hex chars). Received: ${args.spaceId}`);
38
+ if (!isBytes16Hex(spaceId)) {
39
+ throw new Error(`spaceId must be bytes16 hex (0x followed by 32 hex chars). Received: ${spaceId}`);
16
40
  }
17
- if (!isBytes16Hex(ensure0xPrefix(args.newMemberSpaceId))) {
18
- throw new Error(`newMemberSpaceId must be bytes16 hex (32 hex chars). Received: ${args.newMemberSpaceId}`);
41
+ if (!isBytes16Hex(newMemberSpaceId)) {
42
+ throw new Error(`newMemberSpaceId must be bytes16 hex (0x followed by 32 hex chars). Received: ${newMemberSpaceId}`);
19
43
  }
20
- return createGeoClient({ network: resolveGeoNetwork(network) }).daoSpaces.proposeAddMember(args);
44
+ const proposalId = rawProposalId
45
+ ? ensure0xPrefix(rawProposalId)
46
+ : `0x${uuidv4().replaceAll('-', '')}`;
47
+ // Encode the addMember function call: addMember(bytes16 _newMemberSpaceId)
48
+ const proposalActionCalldata = encodeFunctionData({
49
+ abi: DaoSpaceAbi,
50
+ functionName: 'addMember',
51
+ args: [newMemberSpaceId],
52
+ });
53
+ const contracts = getContractAddressesBasedOnNetwork(network);
54
+ // Create the proposal action (calling addMember on the DAO space)
55
+ const proposalActions = [
56
+ {
57
+ to: contracts.SPACE_REGISTRY_ADDRESS,
58
+ value: 0n,
59
+ data: proposalActionCalldata,
60
+ },
61
+ ];
62
+ // Encode the proposal data: abi.encode(bytes16 proposalId, VotingMode votingMode, Action[] actions)
63
+ const data = encodeAbiParameters([
64
+ { type: 'bytes16', name: 'proposalId' },
65
+ { type: 'uint8', name: 'votingMode' },
66
+ {
67
+ type: 'tuple[]',
68
+ name: 'actions',
69
+ components: [
70
+ { type: 'address', name: 'to' },
71
+ { type: 'uint256', name: 'value' },
72
+ { type: 'bytes', name: 'data' },
73
+ ],
74
+ },
75
+ ], [proposalId, votingMode === 'FAST' ? 1 : 0, proposalActions]);
76
+ // Convert proposalId to bytes32 for the topic (left-aligned)
77
+ const topic = bytes16ToBytes32LeftAligned(proposalId);
78
+ // Encode the SpaceRegistry.enter() call
79
+ const calldata = encodeFunctionData({
80
+ abi: SpaceRegistryAbi,
81
+ functionName: 'enter',
82
+ args: [
83
+ authorSpaceId, // fromSpaceId
84
+ spaceId, // toSpaceId
85
+ PROPOSAL_CREATED_ACTION, // action
86
+ topic, // topic (proposalId left-aligned to bytes32)
87
+ data, // data (encoded proposal)
88
+ EMPTY_SIGNATURE, // signature (unused when msg.sender == fromSpace)
89
+ ],
90
+ });
91
+ return {
92
+ to: contracts.SPACE_REGISTRY_ADDRESS,
93
+ calldata,
94
+ proposalId,
95
+ };
21
96
  }
22
97
  //# sourceMappingURL=propose-add-member.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"propose-add-member.js","sourceRoot":"","sources":["../../../src/dao-space/propose-add-member.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,gBAAgB,CAAC,MAA8B;IAC7D,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,gBAAgB,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,kEAAkE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC7G,CAAC;IAED,OAAO,eAAe,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACnG,CAAC"}
1
+ {"version":3,"file":"propose-add-member.js","sourceRoot":"","sources":["../../../src/dao-space/propose-add-member.ts"],"names":[],"mappings":"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"}
@@ -4,13 +4,11 @@ import { proposeAddMember } from './propose-add-member.js';
4
4
  describe('proposeAddMember', () => {
5
5
  const validAuthorSpaceId = '0x0eed5491b917cf58b33ac81255fe7ae9';
6
6
  const validSpaceId = '0xabcdef12345678901234567890abcdef';
7
- const validDaoSpaceAddress = '0x1234567890123456789012345678901234567890';
8
7
  const validNewMemberSpaceId = '0x11111111111111111111111111111111';
9
8
  it('should return correct structure', () => {
10
9
  const result = proposeAddMember({
11
10
  authorSpaceId: validAuthorSpaceId,
12
11
  spaceId: validSpaceId,
13
- daoSpaceAddress: validDaoSpaceAddress,
14
12
  newMemberSpaceId: validNewMemberSpaceId,
15
13
  });
16
14
  expect(result).toHaveProperty('to');
@@ -21,7 +19,6 @@ describe('proposeAddMember', () => {
21
19
  const { to } = proposeAddMember({
22
20
  authorSpaceId: validAuthorSpaceId,
23
21
  spaceId: validSpaceId,
24
- daoSpaceAddress: validDaoSpaceAddress,
25
22
  newMemberSpaceId: validNewMemberSpaceId,
26
23
  });
27
24
  expect(to).toBe(TESTNET.SPACE_REGISTRY_ADDRESS);
@@ -30,7 +27,6 @@ describe('proposeAddMember', () => {
30
27
  const { calldata } = proposeAddMember({
31
28
  authorSpaceId: validAuthorSpaceId,
32
29
  spaceId: validSpaceId,
33
- daoSpaceAddress: validDaoSpaceAddress,
34
30
  newMemberSpaceId: validNewMemberSpaceId,
35
31
  });
36
32
  expect(calldata).toBeTypeOf('string');
@@ -40,7 +36,6 @@ describe('proposeAddMember', () => {
40
36
  const { proposalId } = proposeAddMember({
41
37
  authorSpaceId: validAuthorSpaceId,
42
38
  spaceId: validSpaceId,
43
- daoSpaceAddress: validDaoSpaceAddress,
44
39
  newMemberSpaceId: validNewMemberSpaceId,
45
40
  });
46
41
  expect(proposalId).toMatch(/^0x[0-9a-fA-F]{32}$/);
@@ -50,7 +45,6 @@ describe('proposeAddMember', () => {
50
45
  const { proposalId } = proposeAddMember({
51
46
  authorSpaceId: validAuthorSpaceId,
52
47
  spaceId: validSpaceId,
53
- daoSpaceAddress: validDaoSpaceAddress,
54
48
  newMemberSpaceId: validNewMemberSpaceId,
55
49
  proposalId: customProposalId,
56
50
  });
@@ -60,7 +54,6 @@ describe('proposeAddMember', () => {
60
54
  const result = proposeAddMember({
61
55
  authorSpaceId: validAuthorSpaceId,
62
56
  spaceId: validSpaceId,
63
- daoSpaceAddress: validDaoSpaceAddress,
64
57
  newMemberSpaceId: validNewMemberSpaceId,
65
58
  });
66
59
  expect(result.calldata).toBeTruthy();
@@ -69,7 +62,6 @@ describe('proposeAddMember', () => {
69
62
  const result = proposeAddMember({
70
63
  authorSpaceId: validAuthorSpaceId,
71
64
  spaceId: validSpaceId,
72
- daoSpaceAddress: validDaoSpaceAddress,
73
65
  newMemberSpaceId: validNewMemberSpaceId,
74
66
  votingMode: 'FAST',
75
67
  });
@@ -79,13 +71,11 @@ describe('proposeAddMember', () => {
79
71
  const result1 = proposeAddMember({
80
72
  authorSpaceId: validAuthorSpaceId,
81
73
  spaceId: validSpaceId,
82
- daoSpaceAddress: validDaoSpaceAddress,
83
74
  newMemberSpaceId: validNewMemberSpaceId,
84
75
  });
85
76
  const result2 = proposeAddMember({
86
77
  authorSpaceId: validAuthorSpaceId,
87
78
  spaceId: validSpaceId,
88
- daoSpaceAddress: validDaoSpaceAddress,
89
79
  newMemberSpaceId: validNewMemberSpaceId,
90
80
  });
91
81
  expect(result1.proposalId).not.toBe(result2.proposalId);
@@ -94,7 +84,6 @@ describe('proposeAddMember', () => {
94
84
  expect(() => proposeAddMember({
95
85
  authorSpaceId: '0xinvalid',
96
86
  spaceId: validSpaceId,
97
- daoSpaceAddress: validDaoSpaceAddress,
98
87
  newMemberSpaceId: validNewMemberSpaceId,
99
88
  })).toThrow('authorSpaceId must be bytes16 hex');
100
89
  });
@@ -102,7 +91,6 @@ describe('proposeAddMember', () => {
102
91
  expect(() => proposeAddMember({
103
92
  authorSpaceId: validAuthorSpaceId,
104
93
  spaceId: '0xtooshort',
105
- daoSpaceAddress: validDaoSpaceAddress,
106
94
  newMemberSpaceId: validNewMemberSpaceId,
107
95
  })).toThrow('spaceId must be bytes16 hex');
108
96
  });
@@ -110,7 +98,6 @@ describe('proposeAddMember', () => {
110
98
  expect(() => proposeAddMember({
111
99
  authorSpaceId: validAuthorSpaceId,
112
100
  spaceId: validSpaceId,
113
- daoSpaceAddress: validDaoSpaceAddress,
114
101
  newMemberSpaceId: '0xinvalid',
115
102
  })).toThrow('newMemberSpaceId must be bytes16 hex');
116
103
  });
@@ -1 +1 @@
1
- {"version":3,"file":"propose-add-member.test.js","sourceRoot":"","sources":["../../../src/dao-space/propose-add-member.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,kBAAkB,GAAG,oCAA6C,CAAC;IACzE,MAAM,YAAY,GAAG,oCAA6C,CAAC;IACnE,MAAM,oBAAoB,GAAG,4CAAqD,CAAC;IACnF,MAAM,qBAAqB,GAAG,oCAA6C,CAAC;IAE5E,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,MAAM,GAAG,gBAAgB,CAAC;YAC9B,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,YAAY;YACrB,eAAe,EAAE,oBAAoB;YACrC,gBAAgB,EAAE,qBAAqB;SACxC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,EAAE,EAAE,EAAE,GAAG,gBAAgB,CAAC;YAC9B,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,YAAY;YACrB,eAAe,EAAE,oBAAoB;YACrC,gBAAgB,EAAE,qBAAqB;SACxC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC;YACpC,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,YAAY;YACrB,eAAe,EAAE,oBAAoB;YACrC,gBAAgB,EAAE,qBAAqB;SACxC,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAAC;YACtC,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,YAAY;YACrB,eAAe,EAAE,oBAAoB;YACrC,gBAAgB,EAAE,qBAAqB;SACxC,CAAC,CAAC;QAEH,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,gBAAgB,GAAG,oCAA6C,CAAC;QAEvE,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAAC;YACtC,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,YAAY;YACrB,eAAe,EAAE,oBAAoB;YACrC,gBAAgB,EAAE,qBAAqB;YACvC,UAAU,EAAE,gBAAgB;SAC7B,CAAC,CAAC;QAEH,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,MAAM,GAAG,gBAAgB,CAAC;YAC9B,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,YAAY;YACrB,eAAe,EAAE,oBAAoB;YACrC,gBAAgB,EAAE,qBAAqB;SACxC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,MAAM,GAAG,gBAAgB,CAAC;YAC9B,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,YAAY;YACrB,eAAe,EAAE,oBAAoB;YACrC,gBAAgB,EAAE,qBAAqB;YACvC,UAAU,EAAE,MAAM;SACnB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,OAAO,GAAG,gBAAgB,CAAC;YAC/B,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,YAAY;YACrB,eAAe,EAAE,oBAAoB;YACrC,gBAAgB,EAAE,qBAAqB;SACxC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,gBAAgB,CAAC;YAC/B,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,YAAY;YACrB,eAAe,EAAE,oBAAoB;YACrC,gBAAgB,EAAE,qBAAqB;SACxC,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,GAAG,EAAE,CACV,gBAAgB,CAAC;YACf,aAAa,EAAE,WAA4B;YAC3C,OAAO,EAAE,YAAY;YACrB,eAAe,EAAE,oBAAoB;YACrC,gBAAgB,EAAE,qBAAqB;SACxC,CAAC,CACH,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,GAAG,EAAE,CACV,gBAAgB,CAAC;YACf,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,YAA6B;YACtC,eAAe,EAAE,oBAAoB;YACrC,gBAAgB,EAAE,qBAAqB;SACxC,CAAC,CACH,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,GAAG,EAAE,CACV,gBAAgB,CAAC;YACf,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,YAAY;YACrB,eAAe,EAAE,oBAAoB;YACrC,gBAAgB,EAAE,WAA4B;SAC/C,CAAC,CACH,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"propose-add-member.test.js","sourceRoot":"","sources":["../../../src/dao-space/propose-add-member.test.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
2
2
  import { TESTNET } from '../../contracts.js';
3
3
  import { createEntity } from '../graph/create-entity.js';
4
4
  import { generate } from '../id-utils.js';
5
- import { defineGeoNetworkConfig } from '../networks.js';
6
5
  import { proposeEdit } from './propose-edit.js';
7
6
  describe('proposeEdit', () => {
8
7
  const cid = 'ipfs://bafkreigwfjixq5cm3s4youhshorkpqh3ykpviyv76c2ei6gaalujtlqz5i';
@@ -11,14 +10,6 @@ describe('proposeEdit', () => {
11
10
  const validDaoSpaceId = '0xabcdef12345678901234567890abcdef';
12
11
  const validDaoSpaceAddress = '0x1234567890123456789012345678901234567890';
13
12
  const validAuthor = generate();
14
- const localNetwork = defineGeoNetworkConfig({
15
- id: 'LOCAL',
16
- name: 'Local Geo',
17
- apiOrigin: 'http://localhost:3000',
18
- contracts: {
19
- SPACE_REGISTRY_ADDRESS: TESTNET.SPACE_REGISTRY_ADDRESS,
20
- },
21
- });
22
13
  beforeEach(() => {
23
14
  vi.stubGlobal('fetch', vi.fn().mockImplementation(() => Promise.resolve(new Response(JSON.stringify({ cid })))));
24
15
  });
@@ -40,7 +31,6 @@ describe('proposeEdit', () => {
40
31
  expect(result).toHaveProperty('to');
41
32
  expect(result).toHaveProperty('calldata');
42
33
  expect(result).toHaveProperty('proposalId');
43
- expect(result).toHaveProperty('versionId', 1);
44
34
  });
45
35
  it('should return the correct contract address (Space Registry)', async () => {
46
36
  const { ops } = createEntity({ name: 'Test Entity' });
@@ -118,41 +108,6 @@ describe('proposeEdit', () => {
118
108
  });
119
109
  expect(proposalId).toBe(customProposalId);
120
110
  });
121
- it('should return an explicit version for proposal updates', async () => {
122
- const { ops } = createEntity({ name: 'Test Entity' });
123
- const customProposalId = '0x11111111111111111111111111111111';
124
- const result = await proposeEdit({
125
- name: 'Test Edit',
126
- ops,
127
- author: validAuthor,
128
- daoSpaceAddress: validDaoSpaceAddress,
129
- callerSpaceId: validCallerSpaceId,
130
- daoSpaceId: validDaoSpaceId,
131
- proposalId: customProposalId,
132
- updateProposal: true,
133
- versionId: 2,
134
- network: localNetwork,
135
- });
136
- expect(result.proposalId).toBe(customProposalId);
137
- expect(result.versionId).toBe(2);
138
- });
139
- it('should require versionId before upload for proposal updates without RPC config', async () => {
140
- const { ops } = createEntity({ name: 'Test Entity' });
141
- const customProposalId = '0x11111111111111111111111111111111';
142
- const fetch = vi.mocked(globalThis.fetch);
143
- await expect(proposeEdit({
144
- name: 'Test Edit',
145
- ops,
146
- author: validAuthor,
147
- daoSpaceAddress: validDaoSpaceAddress,
148
- callerSpaceId: validCallerSpaceId,
149
- daoSpaceId: validDaoSpaceId,
150
- proposalId: customProposalId,
151
- updateProposal: true,
152
- network: localNetwork,
153
- })).rejects.toThrow('versionId is required when updateProposal is true and the network has no RPC URL');
154
- expect(fetch).not.toHaveBeenCalled();
155
- });
156
111
  it('should default to FAST voting mode', async () => {
157
112
  const { ops } = createEntity({ name: 'Test Entity' });
158
113
  const result = await proposeEdit({
@@ -1 +1 @@
1
- {"version":3,"file":"propose-edit.test.js","sourceRoot":"","sources":["../../../src/dao-space/propose-edit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"propose-edit.test.js","sourceRoot":"","sources":["../../../src/dao-space/propose-edit.test.ts"],"names":[],"mappings":"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"}