@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
@@ -2,7 +2,28 @@ import type { ProposeRemoveEditorParams, ProposeRemoveEditorResult } from './typ
2
2
  /**
3
3
  * Creates a proposal to remove an editor from a DAO space.
4
4
  *
5
- * @deprecated Use `createGeoClient({ network }).daoSpaces.proposeRemoveEditor(...)`.
5
+ * This function:
6
+ * 1. Validates the author, DAO space, and editor IDs
7
+ * 2. Encodes the `removeEditor()` call as the proposal action
8
+ * 3. Encodes the SpaceRegistry's `enter()` call with the `PROPOSAL_CREATED` action
9
+ *
10
+ * @param params - The parameters for proposing editor removal
11
+ * @returns Object containing `to` (Space Registry address), `calldata`, and `proposalId`
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * import { daoSpace } from '@geoprotocol/geo-sdk';
16
+ *
17
+ * const { to, calldata, proposalId } = daoSpace.proposeRemoveEditor({
18
+ * authorSpaceId: '0xAuthorBytes16SpaceId...',
19
+ * spaceId: '0xDAOBytes16SpaceId...',
20
+ * editorToRemoveSpaceId: '0xEditorBytes16SpaceId...',
21
+ * network: 'TESTNET',
22
+ * });
23
+ *
24
+ * // Submit the transaction using viem or another client
25
+ * await walletClient.sendTransaction({ to, data: calldata });
26
+ * ```
6
27
  */
7
28
  export declare function proposeRemoveEditor(params: ProposeRemoveEditorParams): ProposeRemoveEditorResult;
8
29
  //# sourceMappingURL=propose-remove-editor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"propose-remove-editor.d.ts","sourceRoot":"","sources":["../../../src/dao-space/propose-remove-editor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvF;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,yBAAyB,GAAG,yBAAyB,CAehG"}
1
+ {"version":3,"file":"propose-remove-editor.d.ts","sourceRoot":"","sources":["../../../src/dao-space/propose-remove-editor.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,yBAAyB,GAAG,yBAAyB,CA4FhG"}
@@ -1,22 +1,104 @@
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 remove an editor from a DAO space.
6
7
  *
7
- * @deprecated Use `createGeoClient({ network }).daoSpaces.proposeRemoveEditor(...)`.
8
+ * This function:
9
+ * 1. Validates the author, DAO space, and editor IDs
10
+ * 2. Encodes the `removeEditor()` call as the proposal action
11
+ * 3. Encodes the SpaceRegistry's `enter()` call with the `PROPOSAL_CREATED` action
12
+ *
13
+ * @param params - The parameters for proposing editor removal
14
+ * @returns Object containing `to` (Space Registry address), `calldata`, and `proposalId`
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * import { daoSpace } from '@geoprotocol/geo-sdk';
19
+ *
20
+ * const { to, calldata, proposalId } = daoSpace.proposeRemoveEditor({
21
+ * authorSpaceId: '0xAuthorBytes16SpaceId...',
22
+ * spaceId: '0xDAOBytes16SpaceId...',
23
+ * editorToRemoveSpaceId: '0xEditorBytes16SpaceId...',
24
+ * network: 'TESTNET',
25
+ * });
26
+ *
27
+ * // Submit the transaction using viem or another client
28
+ * await walletClient.sendTransaction({ to, data: calldata });
29
+ * ```
8
30
  */
9
31
  export function proposeRemoveEditor(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}`);
32
+ const { authorSpaceId: rawAuthorSpaceId, spaceId: rawSpaceId, editorToRemoveSpaceId: rawEditorToRemoveSpaceId, votingMode = 'SLOW', proposalId: rawProposalId, network = 'TESTNET', } = params;
33
+ // Ensure 0x prefix on all IDs
34
+ const authorSpaceId = ensure0xPrefix(rawAuthorSpaceId);
35
+ const spaceId = ensure0xPrefix(rawSpaceId);
36
+ const editorToRemoveSpaceId = ensure0xPrefix(rawEditorToRemoveSpaceId);
37
+ // Validate inputs
38
+ if (!isBytes16Hex(authorSpaceId)) {
39
+ throw new Error(`authorSpaceId must be bytes16 hex (32 hex chars). Received: ${rawAuthorSpaceId}`);
40
+ }
41
+ if (!isBytes16Hex(spaceId)) {
42
+ throw new Error(`spaceId must be bytes16 hex (32 hex chars). Received: ${rawSpaceId}`);
13
43
  }
14
- if (!isBytes16Hex(ensure0xPrefix(args.spaceId))) {
15
- throw new Error(`spaceId must be bytes16 hex (32 hex chars). Received: ${args.spaceId}`);
44
+ if (!isBytes16Hex(editorToRemoveSpaceId)) {
45
+ throw new Error(`editorToRemoveSpaceId must be bytes16 hex (32 hex chars). Received: ${rawEditorToRemoveSpaceId}`);
16
46
  }
17
- if (!isBytes16Hex(ensure0xPrefix(args.editorToRemoveSpaceId))) {
18
- throw new Error(`editorToRemoveSpaceId must be bytes16 hex (32 hex chars). Received: ${args.editorToRemoveSpaceId}`);
47
+ // Generate or use provided proposal ID (UUID v4 as bytes16 hex)
48
+ const proposalId = rawProposalId
49
+ ? ensure0xPrefix(rawProposalId)
50
+ : `0x${uuidv4().replaceAll('-', '')}`;
51
+ if (!isBytes16Hex(proposalId)) {
52
+ throw new Error(`proposalId must be bytes16 hex (32 hex chars). Received: ${rawProposalId}`);
19
53
  }
20
- return createGeoClient({ network: resolveGeoNetwork(network) }).daoSpaces.proposeRemoveEditor(args);
54
+ // Encode the removeEditor function call: removeEditor(bytes16 _oldEditorSpaceId)
55
+ const proposalActionCalldata = encodeFunctionData({
56
+ abi: DaoSpaceAbi,
57
+ functionName: 'removeEditor',
58
+ args: [editorToRemoveSpaceId],
59
+ });
60
+ const contracts = getContractAddressesBasedOnNetwork(network);
61
+ // Create the proposal action (calling removeEditor on the Space Registry)
62
+ const proposalActions = [
63
+ {
64
+ to: contracts.SPACE_REGISTRY_ADDRESS,
65
+ value: 0n,
66
+ data: proposalActionCalldata,
67
+ },
68
+ ];
69
+ // Encode the proposal data: abi.encode(bytes16 proposalId, VotingMode votingMode, Action[] actions)
70
+ const data = encodeAbiParameters([
71
+ { type: 'bytes16', name: 'proposalId' },
72
+ { type: 'uint8', name: 'votingMode' },
73
+ {
74
+ type: 'tuple[]',
75
+ name: 'actions',
76
+ components: [
77
+ { type: 'address', name: 'to' },
78
+ { type: 'uint256', name: 'value' },
79
+ { type: 'bytes', name: 'data' },
80
+ ],
81
+ },
82
+ ], [proposalId, votingMode === 'FAST' ? 1 : 0, proposalActions]);
83
+ // Convert proposalId to bytes32 for the topic (left-aligned)
84
+ const topic = bytes16ToBytes32LeftAligned(proposalId);
85
+ // Encode the SpaceRegistry.enter() call
86
+ const calldata = encodeFunctionData({
87
+ abi: SpaceRegistryAbi,
88
+ functionName: 'enter',
89
+ args: [
90
+ authorSpaceId, // fromSpaceId
91
+ spaceId, // toSpaceId
92
+ PROPOSAL_CREATED_ACTION, // action
93
+ topic, // topic (proposalId left-aligned to bytes32)
94
+ data, // data (encoded proposal)
95
+ EMPTY_SIGNATURE, // signature (unused when msg.sender == fromSpace)
96
+ ],
97
+ });
98
+ return {
99
+ to: contracts.SPACE_REGISTRY_ADDRESS,
100
+ calldata,
101
+ proposalId,
102
+ };
21
103
  }
22
104
  //# sourceMappingURL=propose-remove-editor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"propose-remove-editor.js","sourceRoot":"","sources":["../../../src/dao-space/propose-remove-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,mBAAmB,CAAC,MAAiC;IACnE,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,qBAAqB,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CACb,uEAAuE,IAAI,CAAC,qBAAqB,EAAE,CACpG,CAAC;IACJ,CAAC;IAED,OAAO,eAAe,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACtG,CAAC"}
1
+ {"version":3,"file":"propose-remove-editor.js","sourceRoot":"","sources":["../../../src/dao-space/propose-remove-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,cAAc,EACd,kCAAkC,EAClC,YAAY,EACZ,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AAGxB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAiC;IACnE,MAAM,EACJ,aAAa,EAAE,gBAAgB,EAC/B,OAAO,EAAE,UAAU,EACnB,qBAAqB,EAAE,wBAAwB,EAC/C,UAAU,GAAG,MAAM,EACnB,UAAU,EAAE,aAAa,EACzB,OAAO,GAAG,SAAS,GACpB,GAAG,MAAM,CAAC;IAEX,8BAA8B;IAC9B,MAAM,aAAa,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,qBAAqB,GAAG,cAAc,CAAC,wBAAwB,CAAC,CAAC;IAEvE,kBAAkB;IAClB,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,+DAA+D,gBAAgB,EAAE,CAAC,CAAC;IACrG,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,yDAAyD,UAAU,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,uEAAuE,wBAAwB,EAAE,CAAC,CAAC;IACrH,CAAC;IAED,gEAAgE;IAChE,MAAM,UAAU,GAAG,aAAa;QAC9B,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC;QAC/B,CAAC,CAAE,KAAK,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,EAAoB,CAAC;IAE3D,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,4DAA4D,aAAa,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,iFAAiF;IACjF,MAAM,sBAAsB,GAAG,kBAAkB,CAAC;QAChD,GAAG,EAAE,WAAW;QAChB,YAAY,EAAE,cAAc;QAC5B,IAAI,EAAE,CAAC,qBAAqB,CAAC;KAC9B,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,kCAAkC,CAAC,OAAO,CAAC,CAAC;IAE9D,0EAA0E;IAC1E,MAAM,eAAe,GAAG;QACtB;YACE,EAAE,EAAE,SAAS,CAAC,sBAAsB;YACpC,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,sBAAsB;SAC7B;KACO,CAAC;IAEX,oGAAoG;IACpG,MAAM,IAAI,GAAG,mBAAmB,CAC9B;QACE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE;QACvC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE;QACrC;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC/B,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;gBAClC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;aAChC;SACF;KACF,EACD,CAAC,UAAU,EAAE,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAC7D,CAAC;IAEF,6DAA6D;IAC7D,MAAM,KAAK,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;IAEtD,wCAAwC;IACxC,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,GAAG,EAAE,gBAAgB;QACrB,YAAY,EAAE,OAAO;QACrB,IAAI,EAAE;YACJ,aAAa,EAAE,cAAc;YAC7B,OAAO,EAAE,YAAY;YACrB,uBAAuB,EAAE,SAAS;YAClC,KAAK,EAAE,6CAA6C;YACpD,IAAI,EAAE,0BAA0B;YAChC,eAAe,EAAE,kDAAkD;SACpE;KACF,CAAC,CAAC;IAEH,OAAO;QACL,EAAE,EAAE,SAAS,CAAC,sBAAsB;QACpC,QAAQ;QACR,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -6,13 +6,11 @@ describe('proposeRemoveEditor', () => {
6
6
  // Valid test values
7
7
  const validAuthorSpaceId = '0x0eed5491b917cf58b33ac81255fe7ae9';
8
8
  const validSpaceId = '0xabcdef12345678901234567890abcdef';
9
- const validDaoSpaceAddress = '0x1234567890123456789012345678901234567890';
10
9
  const validEditorToRemove = '0x11111111111111111111111111111111';
11
10
  it('should return correct structure', () => {
12
11
  const result = proposeRemoveEditor({
13
12
  authorSpaceId: validAuthorSpaceId,
14
13
  spaceId: validSpaceId,
15
- daoSpaceAddress: validDaoSpaceAddress,
16
14
  editorToRemoveSpaceId: validEditorToRemove,
17
15
  });
18
16
  expect(result).toHaveProperty('to');
@@ -23,7 +21,6 @@ describe('proposeRemoveEditor', () => {
23
21
  const { to } = proposeRemoveEditor({
24
22
  authorSpaceId: validAuthorSpaceId,
25
23
  spaceId: validSpaceId,
26
- daoSpaceAddress: validDaoSpaceAddress,
27
24
  editorToRemoveSpaceId: validEditorToRemove,
28
25
  });
29
26
  expect(to).toBe(TESTNET.SPACE_REGISTRY_ADDRESS);
@@ -32,7 +29,6 @@ describe('proposeRemoveEditor', () => {
32
29
  const { calldata } = proposeRemoveEditor({
33
30
  authorSpaceId: validAuthorSpaceId,
34
31
  spaceId: validSpaceId,
35
- daoSpaceAddress: validDaoSpaceAddress,
36
32
  editorToRemoveSpaceId: validEditorToRemove,
37
33
  });
38
34
  expect(calldata).toBeTypeOf('string');
@@ -42,7 +38,6 @@ describe('proposeRemoveEditor', () => {
42
38
  const { proposalId } = proposeRemoveEditor({
43
39
  authorSpaceId: validAuthorSpaceId,
44
40
  spaceId: validSpaceId,
45
- daoSpaceAddress: validDaoSpaceAddress,
46
41
  editorToRemoveSpaceId: validEditorToRemove,
47
42
  });
48
43
  expect(proposalId).toMatch(BYTES16_HEX_REGEX);
@@ -52,7 +47,6 @@ describe('proposeRemoveEditor', () => {
52
47
  const { proposalId } = proposeRemoveEditor({
53
48
  authorSpaceId: validAuthorSpaceId,
54
49
  spaceId: validSpaceId,
55
- daoSpaceAddress: validDaoSpaceAddress,
56
50
  editorToRemoveSpaceId: validEditorToRemove,
57
51
  proposalId: customProposalId,
58
52
  });
@@ -62,25 +56,23 @@ describe('proposeRemoveEditor', () => {
62
56
  const result = proposeRemoveEditor({
63
57
  authorSpaceId: validAuthorSpaceId,
64
58
  spaceId: validSpaceId,
65
- daoSpaceAddress: validDaoSpaceAddress,
66
59
  editorToRemoveSpaceId: validEditorToRemove,
67
60
  });
68
61
  expect(result.calldata).toBeTruthy();
69
62
  });
70
- it('should reject FAST voting mode', () => {
71
- expect(() => proposeRemoveEditor({
63
+ it('should preserve legacy FAST voting mode support', () => {
64
+ const result = proposeRemoveEditor({
72
65
  authorSpaceId: validAuthorSpaceId,
73
66
  spaceId: validSpaceId,
74
- daoSpaceAddress: validDaoSpaceAddress,
75
67
  editorToRemoveSpaceId: validEditorToRemove,
76
68
  votingMode: 'FAST',
77
- })).toThrow('proposeRemoveEditor only supports SLOW voting mode');
69
+ });
70
+ expect(result.calldata).toBeTruthy();
78
71
  });
79
72
  it('should accept explicit SLOW voting mode', () => {
80
73
  const params = {
81
74
  authorSpaceId: validAuthorSpaceId,
82
75
  spaceId: validSpaceId,
83
- daoSpaceAddress: validDaoSpaceAddress,
84
76
  editorToRemoveSpaceId: validEditorToRemove,
85
77
  };
86
78
  const slowResult = proposeRemoveEditor({ ...params, votingMode: 'SLOW' });
@@ -92,14 +84,12 @@ describe('proposeRemoveEditor', () => {
92
84
  const result1 = proposeRemoveEditor({
93
85
  authorSpaceId: validAuthorSpaceId,
94
86
  spaceId: validSpaceId,
95
- daoSpaceAddress: validDaoSpaceAddress,
96
87
  editorToRemoveSpaceId: validEditorToRemove,
97
88
  proposalId: sharedProposalId,
98
89
  });
99
90
  const result2 = proposeRemoveEditor({
100
91
  authorSpaceId: validAuthorSpaceId,
101
92
  spaceId: validSpaceId,
102
- daoSpaceAddress: validDaoSpaceAddress,
103
93
  editorToRemoveSpaceId: otherEditor,
104
94
  proposalId: sharedProposalId,
105
95
  });
@@ -109,7 +99,6 @@ describe('proposeRemoveEditor', () => {
109
99
  const result = proposeRemoveEditor({
110
100
  authorSpaceId: '0eed5491b917cf58b33ac81255fe7ae9',
111
101
  spaceId: 'abcdef12345678901234567890abcdef',
112
- daoSpaceAddress: validDaoSpaceAddress,
113
102
  editorToRemoveSpaceId: '11111111111111111111111111111111',
114
103
  });
115
104
  expect(result.calldata).toBeTruthy();
@@ -119,14 +108,12 @@ describe('proposeRemoveEditor', () => {
119
108
  const withPrefix = proposeRemoveEditor({
120
109
  authorSpaceId: '0x0eed5491b917cf58b33ac81255fe7ae9',
121
110
  spaceId: '0xabcdef12345678901234567890abcdef',
122
- daoSpaceAddress: validDaoSpaceAddress,
123
111
  editorToRemoveSpaceId: '0x11111111111111111111111111111111',
124
112
  proposalId,
125
113
  });
126
114
  const withoutPrefix = proposeRemoveEditor({
127
115
  authorSpaceId: '0eed5491b917cf58b33ac81255fe7ae9',
128
116
  spaceId: 'abcdef12345678901234567890abcdef',
129
- daoSpaceAddress: validDaoSpaceAddress,
130
117
  editorToRemoveSpaceId: '11111111111111111111111111111111',
131
118
  proposalId,
132
119
  });
@@ -136,7 +123,6 @@ describe('proposeRemoveEditor', () => {
136
123
  const params = {
137
124
  authorSpaceId: validAuthorSpaceId,
138
125
  spaceId: validSpaceId,
139
- daoSpaceAddress: validDaoSpaceAddress,
140
126
  editorToRemoveSpaceId: validEditorToRemove,
141
127
  };
142
128
  const result1 = proposeRemoveEditor(params);
@@ -147,7 +133,6 @@ describe('proposeRemoveEditor', () => {
147
133
  expect(() => proposeRemoveEditor({
148
134
  authorSpaceId: 'invalid',
149
135
  spaceId: validSpaceId,
150
- daoSpaceAddress: validDaoSpaceAddress,
151
136
  editorToRemoveSpaceId: validEditorToRemove,
152
137
  })).toThrow('authorSpaceId must be bytes16 hex');
153
138
  });
@@ -155,7 +140,6 @@ describe('proposeRemoveEditor', () => {
155
140
  expect(() => proposeRemoveEditor({
156
141
  authorSpaceId: validAuthorSpaceId,
157
142
  spaceId: 'tooshort',
158
- daoSpaceAddress: validDaoSpaceAddress,
159
143
  editorToRemoveSpaceId: validEditorToRemove,
160
144
  })).toThrow('spaceId must be bytes16 hex');
161
145
  });
@@ -163,7 +147,6 @@ describe('proposeRemoveEditor', () => {
163
147
  expect(() => proposeRemoveEditor({
164
148
  authorSpaceId: validAuthorSpaceId,
165
149
  spaceId: validSpaceId,
166
- daoSpaceAddress: validDaoSpaceAddress,
167
150
  editorToRemoveSpaceId: 'badid',
168
151
  })).toThrow('editorToRemoveSpaceId must be bytes16 hex');
169
152
  });
@@ -171,7 +154,6 @@ describe('proposeRemoveEditor', () => {
171
154
  expect(() => proposeRemoveEditor({
172
155
  authorSpaceId: validAuthorSpaceId,
173
156
  spaceId: validSpaceId,
174
- daoSpaceAddress: validDaoSpaceAddress,
175
157
  editorToRemoveSpaceId: validEditorToRemove,
176
158
  proposalId: 'badproposalid',
177
159
  })).toThrow('proposalId must be bytes16 hex');
@@ -1 +1 @@
1
- {"version":3,"file":"propose-remove-editor.test.js","sourceRoot":"","sources":["../../../src/dao-space/propose-remove-editor.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"propose-remove-editor.test.js","sourceRoot":"","sources":["../../../src/dao-space/propose-remove-editor.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,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,oBAAoB;IACpB,MAAM,kBAAkB,GAAG,oCAA6C,CAAC;IACzE,MAAM,YAAY,GAAG,oCAA6C,CAAC;IAEnE,MAAM,mBAAmB,GAAG,oCAA6C,CAAC;IAE1E,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,MAAM,GAAG,mBAAmB,CAAC;YACjC,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,YAAY;YACrB,qBAAqB,EAAE,mBAAmB;SAC3C,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,mBAAmB,CAAC;YACjC,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,YAAY;YACrB,qBAAqB,EAAE,mBAAmB;SAC3C,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,mBAAmB,CAAC;YACvC,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,YAAY;YACrB,qBAAqB,EAAE,mBAAmB;SAC3C,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,mBAAmB,CAAC;YACzC,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,YAAY;YACrB,qBAAqB,EAAE,mBAAmB;SAC3C,CAAC,CAAC;QAEH,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,gBAAgB,GAAG,oCAAoC,CAAC;QAE9D,MAAM,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAC;YACzC,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,YAAY;YACrB,qBAAqB,EAAE,mBAAmB;YAC1C,UAAU,EAAE,gBAAgB;SAC7B,CAAC,CAAC;QAEH,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,MAAM,GAAG,mBAAmB,CAAC;YACjC,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,YAAY;YACrB,qBAAqB,EAAE,mBAAmB;SAC3C,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,MAAM,GAAG,mBAAmB,CAAC;YACjC,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,YAAY;YACrB,qBAAqB,EAAE,mBAAmB;YAC1C,UAAU,EAAE,MAAM;SACnB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,MAAM,GAAG;YACb,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,YAAY;YACrB,qBAAqB,EAAE,mBAAmB;SAClC,CAAC;QAEX,MAAM,UAAU,GAAG,mBAAmB,CAAC,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QAE1E,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,WAAW,GAAG,oCAA6C,CAAC;QAClE,MAAM,gBAAgB,GAAG,oCAAoC,CAAC;QAE9D,MAAM,OAAO,GAAG,mBAAmB,CAAC;YAClC,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,YAAY;YACrB,qBAAqB,EAAE,mBAAmB;YAC1C,UAAU,EAAE,gBAAgB;SAC7B,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,mBAAmB,CAAC;YAClC,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,YAAY;YACrB,qBAAqB,EAAE,WAAW;YAClC,UAAU,EAAE,gBAAgB;SAC7B,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,MAAM,GAAG,mBAAmB,CAAC;YACjC,aAAa,EAAE,kCAAkC;YACjD,OAAO,EAAE,kCAAkC;YAC3C,qBAAqB,EAAE,kCAAkC;SAC1D,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,UAAU,GAAG,oCAAoC,CAAC;QAExD,MAAM,UAAU,GAAG,mBAAmB,CAAC;YACrC,aAAa,EAAE,oCAAoC;YACnD,OAAO,EAAE,oCAAoC;YAC7C,qBAAqB,EAAE,oCAAoC;YAC3D,UAAU;SACX,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,mBAAmB,CAAC;YACxC,aAAa,EAAE,kCAAkC;YACjD,OAAO,EAAE,kCAAkC;YAC3C,qBAAqB,EAAE,kCAAkC;YACzD,UAAU;SACX,CAAC,CAAC;QAEH,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,MAAM,GAAG;YACb,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,YAAY;YACrB,qBAAqB,EAAE,mBAAmB;SAClC,CAAC;QAEX,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAE5C,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,CAAC,GAAG,EAAE,CACV,mBAAmB,CAAC;YAClB,aAAa,EAAE,SAAS;YACxB,OAAO,EAAE,YAAY;YACrB,qBAAqB,EAAE,mBAAmB;SAC3C,CAAC,CACH,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,GAAG,EAAE,CACV,mBAAmB,CAAC;YAClB,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,UAAU;YACnB,qBAAqB,EAAE,mBAAmB;SAC3C,CAAC,CACH,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,GAAG,EAAE,CACV,mBAAmB,CAAC;YAClB,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,YAAY;YACrB,qBAAqB,EAAE,OAAO;SAC/B,CAAC,CACH,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,GAAG,EAAE,CACV,mBAAmB,CAAC;YAClB,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,YAAY;YACrB,qBAAqB,EAAE,mBAAmB;YAC1C,UAAU,EAAE,eAAe;SAC5B,CAAC,CACH,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -2,7 +2,28 @@ import type { ProposeRemoveMemberParams, ProposeRemoveMemberResult } from './typ
2
2
  /**
3
3
  * Creates a proposal to remove a member from a DAO space.
4
4
  *
5
- * @deprecated Use `createGeoClient({ network }).daoSpaces.proposeRemoveMember(...)`.
5
+ * This function:
6
+ * 1. Validates the author, DAO space, and member IDs
7
+ * 2. Encodes the `removeMember()` call as the proposal action
8
+ * 3. Encodes the SpaceRegistry's `enter()` call with the `PROPOSAL_CREATED` action
9
+ *
10
+ * @param params - The parameters for proposing member removal
11
+ * @returns Object containing `to` (Space Registry address), `calldata`, and `proposalId`
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * import { daoSpace } from '@geoprotocol/geo-sdk';
16
+ *
17
+ * const { to, calldata, proposalId } = daoSpace.proposeRemoveMember({
18
+ * authorSpaceId: '0xAuthorBytes16SpaceId...',
19
+ * spaceId: '0xDAOBytes16SpaceId...',
20
+ * memberToRemoveSpaceId: '0xMemberBytes16SpaceId...',
21
+ * network: 'TESTNET',
22
+ * });
23
+ *
24
+ * // Submit the transaction using viem or another client
25
+ * await walletClient.sendTransaction({ to, data: calldata });
26
+ * ```
6
27
  */
7
28
  export declare function proposeRemoveMember(params: ProposeRemoveMemberParams): ProposeRemoveMemberResult;
8
29
  //# sourceMappingURL=propose-remove-member.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"propose-remove-member.d.ts","sourceRoot":"","sources":["../../../src/dao-space/propose-remove-member.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvF;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,yBAAyB,GAAG,yBAAyB,CAehG"}
1
+ {"version":3,"file":"propose-remove-member.d.ts","sourceRoot":"","sources":["../../../src/dao-space/propose-remove-member.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,yBAAyB,GAAG,yBAAyB,CA4FhG"}
@@ -1,22 +1,104 @@
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 remove a member from a DAO space.
6
7
  *
7
- * @deprecated Use `createGeoClient({ network }).daoSpaces.proposeRemoveMember(...)`.
8
+ * This function:
9
+ * 1. Validates the author, DAO space, and member IDs
10
+ * 2. Encodes the `removeMember()` call as the proposal action
11
+ * 3. Encodes the SpaceRegistry's `enter()` call with the `PROPOSAL_CREATED` action
12
+ *
13
+ * @param params - The parameters for proposing member removal
14
+ * @returns Object containing `to` (Space Registry address), `calldata`, and `proposalId`
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * import { daoSpace } from '@geoprotocol/geo-sdk';
19
+ *
20
+ * const { to, calldata, proposalId } = daoSpace.proposeRemoveMember({
21
+ * authorSpaceId: '0xAuthorBytes16SpaceId...',
22
+ * spaceId: '0xDAOBytes16SpaceId...',
23
+ * memberToRemoveSpaceId: '0xMemberBytes16SpaceId...',
24
+ * network: 'TESTNET',
25
+ * });
26
+ *
27
+ * // Submit the transaction using viem or another client
28
+ * await walletClient.sendTransaction({ to, data: calldata });
29
+ * ```
8
30
  */
9
31
  export function proposeRemoveMember(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}`);
32
+ const { authorSpaceId: rawAuthorSpaceId, spaceId: rawSpaceId, memberToRemoveSpaceId: rawMemberToRemoveSpaceId, votingMode = 'SLOW', proposalId: rawProposalId, network = 'TESTNET', } = params;
33
+ // Ensure 0x prefix on all IDs
34
+ const authorSpaceId = ensure0xPrefix(rawAuthorSpaceId);
35
+ const spaceId = ensure0xPrefix(rawSpaceId);
36
+ const memberToRemoveSpaceId = ensure0xPrefix(rawMemberToRemoveSpaceId);
37
+ // Validate inputs
38
+ if (!isBytes16Hex(authorSpaceId)) {
39
+ throw new Error(`authorSpaceId must be bytes16 hex (32 hex chars). Received: ${rawAuthorSpaceId}`);
40
+ }
41
+ if (!isBytes16Hex(spaceId)) {
42
+ throw new Error(`spaceId must be bytes16 hex (32 hex chars). Received: ${rawSpaceId}`);
13
43
  }
14
- if (!isBytes16Hex(ensure0xPrefix(args.spaceId))) {
15
- throw new Error(`spaceId must be bytes16 hex (32 hex chars). Received: ${args.spaceId}`);
44
+ if (!isBytes16Hex(memberToRemoveSpaceId)) {
45
+ throw new Error(`memberToRemoveSpaceId must be bytes16 hex (32 hex chars). Received: ${rawMemberToRemoveSpaceId}`);
16
46
  }
17
- if (!isBytes16Hex(ensure0xPrefix(args.memberToRemoveSpaceId))) {
18
- throw new Error(`memberToRemoveSpaceId must be bytes16 hex (32 hex chars). Received: ${args.memberToRemoveSpaceId}`);
47
+ // Generate or use provided proposal ID (UUID v4 as bytes16 hex)
48
+ const proposalId = rawProposalId
49
+ ? ensure0xPrefix(rawProposalId)
50
+ : `0x${uuidv4().replaceAll('-', '')}`;
51
+ if (!isBytes16Hex(proposalId)) {
52
+ throw new Error(`proposalId must be bytes16 hex (32 hex chars). Received: ${rawProposalId}`);
19
53
  }
20
- return createGeoClient({ network: resolveGeoNetwork(network) }).daoSpaces.proposeRemoveMember(args);
54
+ // Encode the removeMember function call: removeMember(bytes16 _oldMemberSpaceId)
55
+ const proposalActionCalldata = encodeFunctionData({
56
+ abi: DaoSpaceAbi,
57
+ functionName: 'removeMember',
58
+ args: [memberToRemoveSpaceId],
59
+ });
60
+ const contracts = getContractAddressesBasedOnNetwork(network);
61
+ // Create the proposal action (calling removeMember on the Space Registry)
62
+ const proposalActions = [
63
+ {
64
+ to: contracts.SPACE_REGISTRY_ADDRESS,
65
+ value: 0n,
66
+ data: proposalActionCalldata,
67
+ },
68
+ ];
69
+ // Encode the proposal data: abi.encode(bytes16 proposalId, VotingMode votingMode, Action[] actions)
70
+ const data = encodeAbiParameters([
71
+ { type: 'bytes16', name: 'proposalId' },
72
+ { type: 'uint8', name: 'votingMode' },
73
+ {
74
+ type: 'tuple[]',
75
+ name: 'actions',
76
+ components: [
77
+ { type: 'address', name: 'to' },
78
+ { type: 'uint256', name: 'value' },
79
+ { type: 'bytes', name: 'data' },
80
+ ],
81
+ },
82
+ ], [proposalId, votingMode === 'FAST' ? 1 : 0, proposalActions]);
83
+ // Convert proposalId to bytes32 for the topic (left-aligned)
84
+ const topic = bytes16ToBytes32LeftAligned(proposalId);
85
+ // Encode the SpaceRegistry.enter() call
86
+ const calldata = encodeFunctionData({
87
+ abi: SpaceRegistryAbi,
88
+ functionName: 'enter',
89
+ args: [
90
+ authorSpaceId, // fromSpaceId
91
+ spaceId, // toSpaceId
92
+ PROPOSAL_CREATED_ACTION, // action
93
+ topic, // topic (proposalId left-aligned to bytes32)
94
+ data, // data (encoded proposal)
95
+ EMPTY_SIGNATURE, // signature (unused when msg.sender == fromSpace)
96
+ ],
97
+ });
98
+ return {
99
+ to: contracts.SPACE_REGISTRY_ADDRESS,
100
+ calldata,
101
+ proposalId,
102
+ };
21
103
  }
22
104
  //# sourceMappingURL=propose-remove-member.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"propose-remove-member.js","sourceRoot":"","sources":["../../../src/dao-space/propose-remove-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,mBAAmB,CAAC,MAAiC;IACnE,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,qBAAqB,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CACb,uEAAuE,IAAI,CAAC,qBAAqB,EAAE,CACpG,CAAC;IACJ,CAAC;IAED,OAAO,eAAe,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACtG,CAAC"}
1
+ {"version":3,"file":"propose-remove-member.js","sourceRoot":"","sources":["../../../src/dao-space/propose-remove-member.ts"],"names":[],"mappings":"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"}