@geoprotocol/geo-sdk 0.10.1 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -27,9 +27,7 @@ Relations describe the edges within the graph. Relations are themselves entities
27
27
 
28
28
  An entity is a unique identifier representing a person, a place, an idea, a concept, or anything else. Entities are comprised of triples and relations which provide semantic meaning as to what the entity _is_. An entity's data can be composed from multiple spaces at once. This property is what enables pluralism within The Graph.
29
29
 
30
- [More about entities and knowledge graphs](https://www.geobrowser.io/space/6tfhqywXtteatMeGUtd5EB/XYo6aR3VqFQSEcf6AeTikW)
31
-
32
- [More about pluralism](https://www.geobrowser.io/space/6tfhqywXtteatMeGUtd5EB/5WHP8BuoCdSiqtfy87SYWG)
30
+ [More about entities and knowledge graphs](https://www.geobrowser.io/space/720eb279c64d56735dccd17a2a416ba2/a72654b014fa405bbf1250ba901bc082)
33
31
 
34
32
  ### Ops and edits
35
33
 
@@ -3,6 +3,19 @@
3
3
  * Used when creating proposals via SpaceRegistry.enter()
4
4
  */
5
5
  export declare const PROPOSAL_CREATED_ACTION: `0x${string}`;
6
+ /**
7
+ * Action hash for GOVERNANCE.PROPOSAL_VOTED
8
+ * Used when voting on proposals via SpaceRegistry.enter()
9
+ */
10
+ export declare const PROPOSAL_VOTED_ACTION: `0x${string}`;
11
+ /**
12
+ * Maps VoteOption strings to their on-chain uint8 values (IDAOSpace.VoteOption enum).
13
+ */
14
+ export declare const VOTE_OPTION_VALUES: {
15
+ readonly YES: 1;
16
+ readonly NO: 2;
17
+ readonly ABSTAIN: 3;
18
+ };
6
19
  /**
7
20
  * Empty topic (bytes32(0)) used for proposals
8
21
  */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/dao-space/constants.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,uBAAuB,eAAkD,CAAC;AAEvF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAG,oEAA6E,CAAC;AAEzG;;GAEG;AACH,eAAO,MAAM,eAAe,EAAG,IAAa,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAwB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAwB,CAAC;AAEvD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,MAAM,EAAE,GAAG,KAAK,MAAM,EAAE,CAI7D;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,KAAK,MAAM,EAAE,GAAG,KAAK,MAAM,EAAE,CAIpF"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/dao-space/constants.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,uBAAuB,eAAkD,CAAC;AAEvF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,eAAgD,CAAC;AAEnF;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,WAAW,EAAG,oEAA6E,CAAC;AAEzG;;GAEG;AACH,eAAO,MAAM,eAAe,EAAG,IAAa,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAwB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAwB,CAAC;AAEvD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,MAAM,EAAE,GAAG,KAAK,MAAM,EAAE,CAI7D;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,KAAK,MAAM,EAAE,GAAG,KAAK,MAAM,EAAE,CAIpF"}
@@ -4,6 +4,19 @@ import { keccak256, toHex } from 'viem';
4
4
  * Used when creating proposals via SpaceRegistry.enter()
5
5
  */
6
6
  export const PROPOSAL_CREATED_ACTION = keccak256(toHex('GOVERNANCE.PROPOSAL_CREATED'));
7
+ /**
8
+ * Action hash for GOVERNANCE.PROPOSAL_VOTED
9
+ * Used when voting on proposals via SpaceRegistry.enter()
10
+ */
11
+ export const PROPOSAL_VOTED_ACTION = keccak256(toHex('GOVERNANCE.PROPOSAL_VOTED'));
12
+ /**
13
+ * Maps VoteOption strings to their on-chain uint8 values (IDAOSpace.VoteOption enum).
14
+ */
15
+ export const VOTE_OPTION_VALUES = {
16
+ YES: 1,
17
+ NO: 2,
18
+ ABSTAIN: 3,
19
+ };
7
20
  /**
8
21
  * Empty topic (bytes32(0)) used for proposals
9
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dao-space/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAExC;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;AAEvF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,oEAA6E,CAAC;AAEzG;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAa,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEvD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEvD;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,KAAoB;IAC5C,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;IAC3E,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAmB,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,UAAyB;IACnE,MAAM,CAAC,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC;IACtF,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAmB,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dao-space/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAExC;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;AAEvF;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,SAAS,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;AAEnF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,GAAG,EAAE,CAAC;IACN,EAAE,EAAE,CAAC;IACL,OAAO,EAAE,CAAC;CACF,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,oEAA6E,CAAC;AAEzG;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAa,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEvD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEvD;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,KAAoB;IAC5C,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;IAC3E,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAmB,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,UAAyB;IACnE,MAAM,CAAC,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC;IACtF,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAmB,CAAC;AAC7D,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export { createSpace } from './create-space.js';
2
2
  export { proposeEdit } from './propose-edit.js';
3
- export type { CreateSpaceParams, CreateSpaceResult, ProposeEditParams, ProposeEditResult, VotingMode, } from './types.js';
3
+ export type { CreateSpaceParams, CreateSpaceResult, ProposeEditParams, ProposeEditResult, VoteOption, VoteProposalParams, VoteProposalResult, VotingMode, } from './types.js';
4
+ export { voteProposal } from './vote-proposal.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dao-space/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,GACX,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dao-space/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export { createSpace } from './create-space.js';
2
2
  export { proposeEdit } from './propose-edit.js';
3
+ export { voteProposal } from './vote-proposal.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dao-space/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dao-space/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAWhD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
@@ -81,4 +81,40 @@ export type ProposeEditResult = {
81
81
  /** The proposal ID (bytes16 hex) */
82
82
  proposalId: `0x${string}`;
83
83
  };
84
+ /**
85
+ * Vote option for a DAO proposal.
86
+ * Maps to the IDAOSpace.VoteOption enum on-chain:
87
+ * - 'YES' = 1
88
+ * - 'NO' = 2
89
+ * - 'ABSTAIN' = 3
90
+ */
91
+ export type VoteOption = 'YES' | 'NO' | 'ABSTAIN';
92
+ export type VoteProposalParams = {
93
+ /**
94
+ * The voter's space ID (bytes16 hex, with or without 0x prefix).
95
+ * This is the fromSpaceId in the enter() call.
96
+ */
97
+ authorSpaceId: string;
98
+ /**
99
+ * The DAO space ID (bytes16 hex, with or without 0x prefix).
100
+ * This is the toSpaceId in the enter() call.
101
+ */
102
+ spaceId: string;
103
+ /**
104
+ * The proposal to vote on (bytes16 hex, with or without 0x prefix).
105
+ */
106
+ proposalId: string;
107
+ /**
108
+ * The vote option: 'YES', 'NO', or 'ABSTAIN'.
109
+ */
110
+ vote: VoteOption;
111
+ /** Network to use (defaults to TESTNET) */
112
+ network?: Network;
113
+ };
114
+ export type VoteProposalResult = {
115
+ /** The contract address to send the transaction to (Space Registry) */
116
+ to: `0x${string}`;
117
+ /** The calldata for the enter() function call */
118
+ calldata: `0x${string}`;
119
+ };
84
120
  //# sourceMappingURL=types.d.ts.map
@@ -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,4CAA4C;IAC5C,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,4CAA4C;IAC5C,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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/dao-space/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { VoteProposalParams, VoteProposalResult } from './types.js';
2
+ /**
3
+ * Creates a vote transaction for a DAO space proposal.
4
+ *
5
+ * This function:
6
+ * 1. Validates the author, DAO space, and proposal IDs
7
+ * 2. Encodes the vote option as the data payload
8
+ * 3. Encodes the SpaceRegistry's `enter()` call with the `PROPOSAL_VOTED` action
9
+ *
10
+ * No IPFS publish is needed — this is purely a governance action.
11
+ *
12
+ * @param params - The parameters for voting on a proposal
13
+ * @returns Object containing `to` (Space Registry address) and `calldata`
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * import { daoSpace } from '@geoprotocol/geo-sdk';
18
+ *
19
+ * const { to, calldata } = daoSpace.voteProposal({
20
+ * authorSpaceId: '0xAuthorBytes16SpaceId...',
21
+ * spaceId: '0xDAOBytes16SpaceId...',
22
+ * proposalId: '0xProposalBytes16Id...',
23
+ * vote: 'YES',
24
+ * });
25
+ *
26
+ * // Submit the transaction using viem or another client
27
+ * await walletClient.sendTransaction({ to, data: calldata });
28
+ * ```
29
+ */
30
+ export declare function voteProposal(params: VoteProposalParams): VoteProposalResult;
31
+ //# sourceMappingURL=vote-proposal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vote-proposal.d.ts","sourceRoot":"","sources":["../../../src/dao-space/vote-proposal.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AASzE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,CAiD3E"}
@@ -0,0 +1,80 @@
1
+ import { encodeAbiParameters, encodeFunctionData } from 'viem';
2
+ import { TESTNET } from '../../contracts.js';
3
+ import { SpaceRegistryAbi } from '../abis/index.js';
4
+ import { bytes16ToBytes32LeftAligned, EMPTY_SIGNATURE, isBytes16Hex, PROPOSAL_VOTED_ACTION, VOTE_OPTION_VALUES, } from './constants.js';
5
+ /**
6
+ * Ensures a hex string has the 0x prefix.
7
+ */
8
+ function ensure0xPrefix(value) {
9
+ return (value.startsWith('0x') ? value : `0x${value}`);
10
+ }
11
+ /**
12
+ * Creates a vote transaction for a DAO space proposal.
13
+ *
14
+ * This function:
15
+ * 1. Validates the author, DAO space, and proposal IDs
16
+ * 2. Encodes the vote option as the data payload
17
+ * 3. Encodes the SpaceRegistry's `enter()` call with the `PROPOSAL_VOTED` action
18
+ *
19
+ * No IPFS publish is needed — this is purely a governance action.
20
+ *
21
+ * @param params - The parameters for voting on a proposal
22
+ * @returns Object containing `to` (Space Registry address) and `calldata`
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * import { daoSpace } from '@geoprotocol/geo-sdk';
27
+ *
28
+ * const { to, calldata } = daoSpace.voteProposal({
29
+ * authorSpaceId: '0xAuthorBytes16SpaceId...',
30
+ * spaceId: '0xDAOBytes16SpaceId...',
31
+ * proposalId: '0xProposalBytes16Id...',
32
+ * vote: 'YES',
33
+ * });
34
+ *
35
+ * // Submit the transaction using viem or another client
36
+ * await walletClient.sendTransaction({ to, data: calldata });
37
+ * ```
38
+ */
39
+ export function voteProposal(params) {
40
+ const { authorSpaceId: rawAuthorSpaceId, spaceId: rawSpaceId, proposalId: rawProposalId, vote } = params;
41
+ // Ensure 0x prefix on all IDs
42
+ const authorSpaceId = ensure0xPrefix(rawAuthorSpaceId);
43
+ const spaceId = ensure0xPrefix(rawSpaceId);
44
+ const proposalId = ensure0xPrefix(rawProposalId);
45
+ // Validate inputs
46
+ if (!isBytes16Hex(authorSpaceId)) {
47
+ throw new Error(`authorSpaceId must be bytes16 hex (32 hex chars). Received: ${rawAuthorSpaceId}`);
48
+ }
49
+ if (!isBytes16Hex(spaceId)) {
50
+ throw new Error(`spaceId must be bytes16 hex (32 hex chars). Received: ${rawSpaceId}`);
51
+ }
52
+ if (!isBytes16Hex(proposalId)) {
53
+ throw new Error(`proposalId must be bytes16 hex (32 hex chars). Received: ${rawProposalId}`);
54
+ }
55
+ // Convert proposalId to bytes32 for the topic (left-aligned)
56
+ const topic = bytes16ToBytes32LeftAligned(proposalId);
57
+ // Encode the vote data: proposalId + voteOption (matches the contract's abi.decode format)
58
+ const data = encodeAbiParameters([
59
+ { type: 'bytes16', name: 'proposalId' },
60
+ { type: 'uint8', name: 'voteOption' },
61
+ ], [proposalId, VOTE_OPTION_VALUES[vote]]);
62
+ // Encode the SpaceRegistry.enter() call
63
+ const calldata = encodeFunctionData({
64
+ abi: SpaceRegistryAbi,
65
+ functionName: 'enter',
66
+ args: [
67
+ authorSpaceId, // fromSpaceId
68
+ spaceId, // toSpaceId
69
+ PROPOSAL_VOTED_ACTION, // action
70
+ topic, // topic (proposalId left-aligned to bytes32)
71
+ data, // data (encoded vote option)
72
+ EMPTY_SIGNATURE, // signature (unused when msg.sender == fromSpace)
73
+ ],
74
+ });
75
+ return {
76
+ to: TESTNET.SPACE_REGISTRY_ADDRESS,
77
+ calldata,
78
+ };
79
+ }
80
+ //# sourceMappingURL=vote-proposal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vote-proposal.js","sourceRoot":"","sources":["../../../src/dao-space/vote-proposal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAGxB;;GAEG;AACH,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAkB,CAAC;AAC1E,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,YAAY,CAAC,MAA0B;IACrD,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAEzG,8BAA8B;IAC9B,MAAM,aAAa,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IAEjD,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,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,4DAA4D,aAAa,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,6DAA6D;IAC7D,MAAM,KAAK,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;IAEtD,2FAA2F;IAC3F,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;KACtC,EACD,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,CACvC,CAAC;IAEF,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,qBAAqB,EAAE,SAAS;YAChC,KAAK,EAAE,6CAA6C;YACpD,IAAI,EAAE,6BAA6B;YACnC,eAAe,EAAE,kDAAkD;SACpE;KACF,CAAC,CAAC;IAEH,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,sBAAsB;QAClC,QAAQ;KACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=vote-proposal.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vote-proposal.test.d.ts","sourceRoot":"","sources":["../../../src/dao-space/vote-proposal.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,143 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { TESTNET } from '../../contracts.js';
3
+ import { voteProposal } from './vote-proposal.js';
4
+ describe('voteProposal', () => {
5
+ // Valid test values
6
+ const validAuthorSpaceId = '0x0eed5491b917cf58b33ac81255fe7ae9';
7
+ const validDaoSpaceId = '0xabcdef12345678901234567890abcdef';
8
+ const validProposalId = '0x11111111111111111111111111111111';
9
+ it('should return correct structure', () => {
10
+ const result = voteProposal({
11
+ authorSpaceId: validAuthorSpaceId,
12
+ spaceId: validDaoSpaceId,
13
+ proposalId: validProposalId,
14
+ vote: 'YES',
15
+ });
16
+ expect(result).toHaveProperty('to');
17
+ expect(result).toHaveProperty('calldata');
18
+ });
19
+ it('should return the correct contract address (Space Registry)', () => {
20
+ const { to } = voteProposal({
21
+ authorSpaceId: validAuthorSpaceId,
22
+ spaceId: validDaoSpaceId,
23
+ proposalId: validProposalId,
24
+ vote: 'YES',
25
+ });
26
+ expect(to).toBe(TESTNET.SPACE_REGISTRY_ADDRESS);
27
+ });
28
+ it('should return valid calldata', () => {
29
+ const { calldata } = voteProposal({
30
+ authorSpaceId: validAuthorSpaceId,
31
+ spaceId: validDaoSpaceId,
32
+ proposalId: validProposalId,
33
+ vote: 'YES',
34
+ });
35
+ expect(calldata).toBeTypeOf('string');
36
+ expect(calldata.startsWith('0x')).toBe(true);
37
+ });
38
+ it('should accept YES vote', () => {
39
+ const result = voteProposal({
40
+ authorSpaceId: validAuthorSpaceId,
41
+ spaceId: validDaoSpaceId,
42
+ proposalId: validProposalId,
43
+ vote: 'YES',
44
+ });
45
+ expect(result.calldata).toBeTruthy();
46
+ });
47
+ it('should accept NO vote', () => {
48
+ const result = voteProposal({
49
+ authorSpaceId: validAuthorSpaceId,
50
+ spaceId: validDaoSpaceId,
51
+ proposalId: validProposalId,
52
+ vote: 'NO',
53
+ });
54
+ expect(result.calldata).toBeTruthy();
55
+ });
56
+ it('should accept ABSTAIN vote', () => {
57
+ const result = voteProposal({
58
+ authorSpaceId: validAuthorSpaceId,
59
+ spaceId: validDaoSpaceId,
60
+ proposalId: validProposalId,
61
+ vote: 'ABSTAIN',
62
+ });
63
+ expect(result.calldata).toBeTruthy();
64
+ });
65
+ it('should produce different calldata for different vote options', () => {
66
+ const params = {
67
+ authorSpaceId: validAuthorSpaceId,
68
+ spaceId: validDaoSpaceId,
69
+ proposalId: validProposalId,
70
+ };
71
+ const yesResult = voteProposal({ ...params, vote: 'YES' });
72
+ const noResult = voteProposal({ ...params, vote: 'NO' });
73
+ const abstainResult = voteProposal({ ...params, vote: 'ABSTAIN' });
74
+ expect(yesResult.calldata).not.toBe(noResult.calldata);
75
+ expect(yesResult.calldata).not.toBe(abstainResult.calldata);
76
+ expect(noResult.calldata).not.toBe(abstainResult.calldata);
77
+ });
78
+ it('should produce different calldata for different proposals', () => {
79
+ const otherProposalId = '0x22222222222222222222222222222222';
80
+ const result1 = voteProposal({
81
+ authorSpaceId: validAuthorSpaceId,
82
+ spaceId: validDaoSpaceId,
83
+ proposalId: validProposalId,
84
+ vote: 'YES',
85
+ });
86
+ const result2 = voteProposal({
87
+ authorSpaceId: validAuthorSpaceId,
88
+ spaceId: validDaoSpaceId,
89
+ proposalId: otherProposalId,
90
+ vote: 'YES',
91
+ });
92
+ expect(result1.calldata).not.toBe(result2.calldata);
93
+ });
94
+ it('should accept IDs without 0x prefix', () => {
95
+ const result = voteProposal({
96
+ authorSpaceId: '0eed5491b917cf58b33ac81255fe7ae9',
97
+ spaceId: 'abcdef12345678901234567890abcdef',
98
+ proposalId: '11111111111111111111111111111111',
99
+ vote: 'YES',
100
+ });
101
+ expect(result.calldata).toBeTruthy();
102
+ });
103
+ it('should produce same calldata with or without 0x prefix', () => {
104
+ const withPrefix = voteProposal({
105
+ authorSpaceId: '0x0eed5491b917cf58b33ac81255fe7ae9',
106
+ spaceId: '0xabcdef12345678901234567890abcdef',
107
+ proposalId: '0x11111111111111111111111111111111',
108
+ vote: 'YES',
109
+ });
110
+ const withoutPrefix = voteProposal({
111
+ authorSpaceId: '0eed5491b917cf58b33ac81255fe7ae9',
112
+ spaceId: 'abcdef12345678901234567890abcdef',
113
+ proposalId: '11111111111111111111111111111111',
114
+ vote: 'YES',
115
+ });
116
+ expect(withPrefix.calldata).toBe(withoutPrefix.calldata);
117
+ });
118
+ it('should throw for invalid authorSpaceId format', () => {
119
+ expect(() => voteProposal({
120
+ authorSpaceId: 'invalid',
121
+ spaceId: validDaoSpaceId,
122
+ proposalId: validProposalId,
123
+ vote: 'YES',
124
+ })).toThrow('authorSpaceId must be bytes16 hex');
125
+ });
126
+ it('should throw for invalid spaceId format', () => {
127
+ expect(() => voteProposal({
128
+ authorSpaceId: validAuthorSpaceId,
129
+ spaceId: 'tooshort',
130
+ proposalId: validProposalId,
131
+ vote: 'YES',
132
+ })).toThrow('spaceId must be bytes16 hex');
133
+ });
134
+ it('should throw for invalid proposalId format', () => {
135
+ expect(() => voteProposal({
136
+ authorSpaceId: validAuthorSpaceId,
137
+ spaceId: validDaoSpaceId,
138
+ proposalId: 'badid',
139
+ vote: 'YES',
140
+ })).toThrow('proposalId must be bytes16 hex');
141
+ });
142
+ });
143
+ //# sourceMappingURL=vote-proposal.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vote-proposal.test.js","sourceRoot":"","sources":["../../../src/dao-space/vote-proposal.test.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ export function getRemoveEditorArguments({ votingPluginAddress, ipfsUri, editorA
10
10
  value: BigInt(0),
11
11
  data: encodeFunctionData({
12
12
  abi: MainVotingAbi,
13
- functionName: 'removeMember',
13
+ functionName: 'removeEditor',
14
14
  args: [editorAddress],
15
15
  }),
16
16
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geoprotocol/geo-sdk",
3
- "version": "0.10.1",
3
+ "version": "0.11.0",
4
4
  "license": "MIT",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",