@geoprotocol/geo-sdk 0.13.1 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +2 -2
  2. package/dist/src/dao-space/constants.d.ts +10 -0
  3. package/dist/src/dao-space/constants.d.ts.map +1 -1
  4. package/dist/src/dao-space/constants.js +14 -0
  5. package/dist/src/dao-space/constants.js.map +1 -1
  6. package/dist/src/dao-space/create-space.d.ts +1 -1
  7. package/dist/src/dao-space/create-space.js +1 -1
  8. package/dist/src/dao-space/execute-proposal.d.ts +29 -0
  9. package/dist/src/dao-space/execute-proposal.d.ts.map +1 -0
  10. package/dist/src/dao-space/execute-proposal.js +69 -0
  11. package/dist/src/dao-space/execute-proposal.js.map +1 -0
  12. package/dist/src/dao-space/execute-proposal.test.d.ts +2 -0
  13. package/dist/src/dao-space/execute-proposal.test.d.ts.map +1 -0
  14. package/dist/src/dao-space/execute-proposal.test.js +91 -0
  15. package/dist/src/dao-space/execute-proposal.test.js.map +1 -0
  16. package/dist/src/dao-space/index.d.ts +3 -1
  17. package/dist/src/dao-space/index.d.ts.map +1 -1
  18. package/dist/src/dao-space/index.js +2 -0
  19. package/dist/src/dao-space/index.js.map +1 -1
  20. package/dist/src/dao-space/propose-add-member.d.ts +27 -0
  21. package/dist/src/dao-space/propose-add-member.d.ts.map +1 -0
  22. package/dist/src/dao-space/propose-add-member.js +97 -0
  23. package/dist/src/dao-space/propose-add-member.js.map +1 -0
  24. package/dist/src/dao-space/propose-add-member.test.d.ts +2 -0
  25. package/dist/src/dao-space/propose-add-member.test.d.ts.map +1 -0
  26. package/dist/src/dao-space/propose-add-member.test.js +105 -0
  27. package/dist/src/dao-space/propose-add-member.test.js.map +1 -0
  28. package/dist/src/dao-space/propose-edit.d.ts +1 -1
  29. package/dist/src/dao-space/propose-edit.js +1 -1
  30. package/dist/src/dao-space/types.d.ts +62 -2
  31. package/dist/src/dao-space/types.d.ts.map +1 -1
  32. package/dist/src/graph/create-image.d.ts +2 -3
  33. package/dist/src/graph/create-image.d.ts.map +1 -1
  34. package/dist/src/graph/create-image.js +2 -3
  35. package/dist/src/graph/create-image.js.map +1 -1
  36. package/dist/src/ipfs.d.ts +2 -2
  37. package/dist/src/ipfs.d.ts.map +1 -1
  38. package/dist/src/ipfs.js +5 -1
  39. package/dist/src/ipfs.js.map +1 -1
  40. package/dist/src/ipfs.test.js +36 -3
  41. package/dist/src/ipfs.test.js.map +1 -1
  42. package/dist/src/personal-space/publish-edit.d.ts +1 -1
  43. package/dist/src/personal-space/publish-edit.js +1 -1
  44. package/dist/src/personal-space/types.d.ts +1 -1
  45. package/dist/src/personal-space/types.d.ts.map +1 -1
  46. package/package.json +1 -1
package/README.md CHANGED
@@ -349,7 +349,7 @@ const { cid, editId, to, calldata } = await personalSpace.publishEdit({
349
349
  name: "Test Edit",
350
350
  spaceId,
351
351
  ops,
352
- author: smartAccountAddress,
352
+ author: spaceId,
353
353
  network: "TESTNET",
354
354
  });
355
355
  console.log("cid", cid);
@@ -446,7 +446,7 @@ const { cid, editId, to, calldata } = await personalSpace.publishEdit({
446
446
  name: "Test Edit",
447
447
  spaceId,
448
448
  ops,
449
- author: account.address,
449
+ author: spaceId,
450
450
  network: "TESTNET",
451
451
  });
452
452
  console.log("cid", cid);
@@ -1,3 +1,4 @@
1
+ import { TESTNET } from '../../contracts.js';
1
2
  /**
2
3
  * Action hash for GOVERNANCE.PROPOSAL_CREATED
3
4
  * Used when creating proposals via SpaceRegistry.enter()
@@ -13,6 +14,11 @@ export declare const PROPOSAL_VOTED_ACTION: `0x${string}`;
13
14
  * Used when requesting membership in a DAO space via SpaceRegistry.enter()
14
15
  */
15
16
  export declare const MEMBERSHIP_REQUESTED_ACTION: `0x${string}`;
17
+ /**
18
+ * Action hash for GOVERNANCE.PROPOSAL_EXECUTED
19
+ * Used when executing a passed proposal via SpaceRegistry.enter()
20
+ */
21
+ export declare const PROPOSAL_EXECUTED_ACTION: `0x${string}`;
16
22
  /**
17
23
  * Maps VoteOption strings to their on-chain uint8 values (IDAOSpace.VoteOption enum).
18
24
  */
@@ -53,4 +59,8 @@ export declare function toBytes16(hex32: `0x${string}`): `0x${string}`;
53
59
  * Converts a bytes16 hex string to bytes32 (left-aligned, right-padded with zeros).
54
60
  */
55
61
  export declare function bytes16ToBytes32LeftAligned(bytes16Hex: `0x${string}`): `0x${string}`;
62
+ /**
63
+ * Get Contract Addresses based on Network
64
+ */
65
+ export declare function getContractAddressesBasedOnNetwork(network: 'TESTNET' | 'MAINNET'): typeof TESTNET;
56
66
  //# sourceMappingURL=constants.d.ts.map
@@ -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;;;GAGG;AACH,eAAO,MAAM,qBAAqB,eAAgD,CAAC;AAEnF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,eAAsD,CAAC;AAE/F;;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,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAE3D;AAED;;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":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,uBAAuB,eAAkD,CAAC;AAEvF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,eAAgD,CAAC;AAEnF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,eAAsD,CAAC;AAE/F;;;GAGG;AACH,eAAO,MAAM,wBAAwB,eAAmD,CAAC;AAEzF;;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,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAE3D;AAED;;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;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,OAAO,CAGjG"}
@@ -1,4 +1,5 @@
1
1
  import { keccak256, toHex } from 'viem';
2
+ import { TESTNET } from '../../contracts.js';
2
3
  /**
3
4
  * Action hash for GOVERNANCE.PROPOSAL_CREATED
4
5
  * Used when creating proposals via SpaceRegistry.enter()
@@ -14,6 +15,11 @@ export const PROPOSAL_VOTED_ACTION = keccak256(toHex('GOVERNANCE.PROPOSAL_VOTED'
14
15
  * Used when requesting membership in a DAO space via SpaceRegistry.enter()
15
16
  */
16
17
  export const MEMBERSHIP_REQUESTED_ACTION = keccak256(toHex('GOVERNANCE.MEMBERSHIP_REQUESTED'));
18
+ /**
19
+ * Action hash for GOVERNANCE.PROPOSAL_EXECUTED
20
+ * Used when executing a passed proposal via SpaceRegistry.enter()
21
+ */
22
+ export const PROPOSAL_EXECUTED_ACTION = keccak256(toHex('GOVERNANCE.PROPOSAL_EXECUTED'));
17
23
  /**
18
24
  * Maps VoteOption strings to their on-chain uint8 values (IDAOSpace.VoteOption enum).
19
25
  */
@@ -68,4 +74,12 @@ export function bytes16ToBytes32LeftAligned(bytes16Hex) {
68
74
  throw new Error(`Invalid bytes16 hex: ${bytes16Hex}`);
69
75
  return `0x${s.slice(2)}${'0'.repeat(32)}`;
70
76
  }
77
+ /**
78
+ * Get Contract Addresses based on Network
79
+ */
80
+ export function getContractAddressesBasedOnNetwork(network) {
81
+ if (network === 'MAINNET')
82
+ throw Error('MAINNET not supported yet');
83
+ return TESTNET;
84
+ }
71
85
  //# sourceMappingURL=constants.js.map
@@ -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;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,SAAS,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;AAEnF;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,SAAS,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;AAE/F;;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,cAAc,CAAC,KAAa;IAC1C,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAkB,CAAC;AAC1E,CAAC;AAED;;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;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C;;;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;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,SAAS,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;AAE/F;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;AAEzF;;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,cAAc,CAAC,KAAa;IAC1C,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAkB,CAAC;AAC1E,CAAC;AAED;;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;AAED;;GAEG;AACH,MAAM,UAAU,kCAAkC,CAAC,OAA8B;IAC/E,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACpE,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -24,7 +24,7 @@ import type { CreateSpaceParams, CreateSpaceResult } from './types.js';
24
24
  * durationInDays: 7, // 7 day voting period
25
25
  * },
26
26
  * initialEditorSpaceIds: ['0x01234567890abcdef01234567890abcd'],
27
- * author: 'your-person-entity-id',
27
+ * author: 'your-personal-space-id',
28
28
  * });
29
29
  *
30
30
  * // Using viem
@@ -29,7 +29,7 @@ import { publishEdit } from '../ipfs.js';
29
29
  * durationInDays: 7, // 7 day voting period
30
30
  * },
31
31
  * initialEditorSpaceIds: ['0x01234567890abcdef01234567890abcd'],
32
- * author: 'your-person-entity-id',
32
+ * author: 'your-personal-space-id',
33
33
  * });
34
34
  *
35
35
  * // Using viem
@@ -0,0 +1,29 @@
1
+ import type { ExecuteProposalParams, ExecuteProposalResult } from './types.js';
2
+ /**
3
+ * Creates an execute transaction for a passed DAO space proposal.
4
+ *
5
+ * This function:
6
+ * 1. Validates the author, DAO space, and proposal IDs
7
+ * 2. Encodes the proposal ID as the data payload
8
+ * 3. Encodes the SpaceRegistry's `enter()` call with the `PROPOSAL_EXECUTED` action
9
+ *
10
+ * Anyone can execute a proposal once it has passed the support threshold.
11
+ *
12
+ * @param params - The parameters for executing 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.executeProposal({
20
+ * authorSpaceId: '0xAuthorBytes16SpaceId...',
21
+ * spaceId: '0xDAOBytes16SpaceId...',
22
+ * proposalId: '0xProposalBytes16Id...',
23
+ * });
24
+ *
25
+ * await walletClient.sendTransaction({ to, data: calldata });
26
+ * ```
27
+ */
28
+ export declare function executeProposal(params: ExecuteProposalParams): ExecuteProposalResult;
29
+ //# sourceMappingURL=execute-proposal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-proposal.d.ts","sourceRoot":"","sources":["../../../src/dao-space/execute-proposal.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,qBAAqB,CA2CpF"}
@@ -0,0 +1,69 @@
1
+ import { encodeAbiParameters, encodeFunctionData } from 'viem';
2
+ import { TESTNET } from '../../contracts.js';
3
+ import { SpaceRegistryAbi } from '../abis/index.js';
4
+ import { bytes16ToBytes32LeftAligned, EMPTY_SIGNATURE, ensure0xPrefix, isBytes16Hex, PROPOSAL_EXECUTED_ACTION, } from './constants.js';
5
+ /**
6
+ * Creates an execute transaction for a passed DAO space proposal.
7
+ *
8
+ * This function:
9
+ * 1. Validates the author, DAO space, and proposal IDs
10
+ * 2. Encodes the proposal ID as the data payload
11
+ * 3. Encodes the SpaceRegistry's `enter()` call with the `PROPOSAL_EXECUTED` action
12
+ *
13
+ * Anyone can execute a proposal once it has passed the support threshold.
14
+ *
15
+ * @param params - The parameters for executing a proposal
16
+ * @returns Object containing `to` (Space Registry address) and `calldata`
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * import { daoSpace } from '@geoprotocol/geo-sdk';
21
+ *
22
+ * const { to, calldata } = daoSpace.executeProposal({
23
+ * authorSpaceId: '0xAuthorBytes16SpaceId...',
24
+ * spaceId: '0xDAOBytes16SpaceId...',
25
+ * proposalId: '0xProposalBytes16Id...',
26
+ * });
27
+ *
28
+ * await walletClient.sendTransaction({ to, data: calldata });
29
+ * ```
30
+ */
31
+ export function executeProposal(params) {
32
+ const { authorSpaceId: rawAuthorSpaceId, spaceId: rawSpaceId, proposalId: rawProposalId } = params;
33
+ // Ensure 0x prefix on all IDs
34
+ const authorSpaceId = ensure0xPrefix(rawAuthorSpaceId);
35
+ const spaceId = ensure0xPrefix(rawSpaceId);
36
+ const proposalId = ensure0xPrefix(rawProposalId);
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}`);
43
+ }
44
+ if (!isBytes16Hex(proposalId)) {
45
+ throw new Error(`proposalId must be bytes16 hex (32 hex chars). Received: ${rawProposalId}`);
46
+ }
47
+ // Convert proposalId to bytes32 for the topic (left-aligned)
48
+ const topic = bytes16ToBytes32LeftAligned(proposalId);
49
+ // Encode the execute data: proposalId (matches the contract's abi.decode format)
50
+ const data = encodeAbiParameters([{ type: 'bytes16', name: 'proposalId' }], [proposalId]);
51
+ // Encode the SpaceRegistry.enter() call
52
+ const calldata = encodeFunctionData({
53
+ abi: SpaceRegistryAbi,
54
+ functionName: 'enter',
55
+ args: [
56
+ authorSpaceId, // fromSpaceId
57
+ spaceId, // toSpaceId
58
+ PROPOSAL_EXECUTED_ACTION, // action
59
+ topic, // topic (proposalId left-aligned to bytes32)
60
+ data, // data (encoded proposalId)
61
+ EMPTY_SIGNATURE, // signature (unused when msg.sender == fromSpace)
62
+ ],
63
+ });
64
+ return {
65
+ to: TESTNET.SPACE_REGISTRY_ADDRESS,
66
+ calldata,
67
+ };
68
+ }
69
+ //# sourceMappingURL=execute-proposal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-proposal.js","sourceRoot":"","sources":["../../../src/dao-space/execute-proposal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,cAAc,EACd,YAAY,EACZ,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAGxB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,eAAe,CAAC,MAA6B;IAC3D,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;IAEnG,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,iFAAiF;IACjF,MAAM,IAAI,GAAG,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAE1F,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,wBAAwB,EAAE,SAAS;YACnC,KAAK,EAAE,6CAA6C;YACpD,IAAI,EAAE,4BAA4B;YAClC,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=execute-proposal.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-proposal.test.d.ts","sourceRoot":"","sources":["../../../src/dao-space/execute-proposal.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,91 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { TESTNET } from '../../contracts.js';
3
+ import { executeProposal } from './execute-proposal.js';
4
+ describe('executeProposal', () => {
5
+ const validAuthorSpaceId = '0x0eed5491b917cf58b33ac81255fe7ae9';
6
+ const validDaoSpaceId = '0xabcdef12345678901234567890abcdef';
7
+ const validProposalId = '0x11111111111111111111111111111111';
8
+ it('should return correct structure', () => {
9
+ const result = executeProposal({
10
+ authorSpaceId: validAuthorSpaceId,
11
+ spaceId: validDaoSpaceId,
12
+ proposalId: validProposalId,
13
+ });
14
+ expect(result).toHaveProperty('to');
15
+ expect(result).toHaveProperty('calldata');
16
+ });
17
+ it('should return the correct contract address (Space Registry)', () => {
18
+ const { to } = executeProposal({
19
+ authorSpaceId: validAuthorSpaceId,
20
+ spaceId: validDaoSpaceId,
21
+ proposalId: validProposalId,
22
+ });
23
+ expect(to).toBe(TESTNET.SPACE_REGISTRY_ADDRESS);
24
+ });
25
+ it('should return valid calldata', () => {
26
+ const { calldata } = executeProposal({
27
+ authorSpaceId: validAuthorSpaceId,
28
+ spaceId: validDaoSpaceId,
29
+ proposalId: validProposalId,
30
+ });
31
+ expect(calldata).toBeTypeOf('string');
32
+ expect(calldata.startsWith('0x')).toBe(true);
33
+ });
34
+ it('should produce different calldata for different proposals', () => {
35
+ const otherProposalId = '0x22222222222222222222222222222222';
36
+ const result1 = executeProposal({
37
+ authorSpaceId: validAuthorSpaceId,
38
+ spaceId: validDaoSpaceId,
39
+ proposalId: validProposalId,
40
+ });
41
+ const result2 = executeProposal({
42
+ authorSpaceId: validAuthorSpaceId,
43
+ spaceId: validDaoSpaceId,
44
+ proposalId: otherProposalId,
45
+ });
46
+ expect(result1.calldata).not.toBe(result2.calldata);
47
+ });
48
+ it('should accept IDs without 0x prefix', () => {
49
+ const result = executeProposal({
50
+ authorSpaceId: '0eed5491b917cf58b33ac81255fe7ae9',
51
+ spaceId: 'abcdef12345678901234567890abcdef',
52
+ proposalId: '11111111111111111111111111111111',
53
+ });
54
+ expect(result.calldata).toBeTruthy();
55
+ });
56
+ it('should produce same calldata with or without 0x prefix', () => {
57
+ const withPrefix = executeProposal({
58
+ authorSpaceId: '0x0eed5491b917cf58b33ac81255fe7ae9',
59
+ spaceId: '0xabcdef12345678901234567890abcdef',
60
+ proposalId: '0x11111111111111111111111111111111',
61
+ });
62
+ const withoutPrefix = executeProposal({
63
+ authorSpaceId: '0eed5491b917cf58b33ac81255fe7ae9',
64
+ spaceId: 'abcdef12345678901234567890abcdef',
65
+ proposalId: '11111111111111111111111111111111',
66
+ });
67
+ expect(withPrefix.calldata).toBe(withoutPrefix.calldata);
68
+ });
69
+ it('should throw for invalid authorSpaceId format', () => {
70
+ expect(() => executeProposal({
71
+ authorSpaceId: 'invalid',
72
+ spaceId: validDaoSpaceId,
73
+ proposalId: validProposalId,
74
+ })).toThrow('authorSpaceId must be bytes16 hex');
75
+ });
76
+ it('should throw for invalid spaceId format', () => {
77
+ expect(() => executeProposal({
78
+ authorSpaceId: validAuthorSpaceId,
79
+ spaceId: 'tooshort',
80
+ proposalId: validProposalId,
81
+ })).toThrow('spaceId must be bytes16 hex');
82
+ });
83
+ it('should throw for invalid proposalId format', () => {
84
+ expect(() => executeProposal({
85
+ authorSpaceId: validAuthorSpaceId,
86
+ spaceId: validDaoSpaceId,
87
+ proposalId: 'badid',
88
+ })).toThrow('proposalId must be bytes16 hex');
89
+ });
90
+ });
91
+ //# sourceMappingURL=execute-proposal.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-proposal.test.js","sourceRoot":"","sources":["../../../src/dao-space/execute-proposal.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,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,MAAM,kBAAkB,GAAG,oCAA6C,CAAC;IACzE,MAAM,eAAe,GAAG,oCAA6C,CAAC;IACtE,MAAM,eAAe,GAAG,oCAA6C,CAAC;IAEtE,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,MAAM,GAAG,eAAe,CAAC;YAC7B,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,eAAe;SAC5B,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,EAAE,EAAE,EAAE,GAAG,eAAe,CAAC;YAC7B,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,eAAe;SAC5B,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,eAAe,CAAC;YACnC,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,eAAe;SAC5B,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,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,eAAe,GAAG,oCAA6C,CAAC;QAEtE,MAAM,OAAO,GAAG,eAAe,CAAC;YAC9B,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,eAAe;SAC5B,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,eAAe,CAAC;YAC9B,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,eAAe;SAC5B,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,eAAe,CAAC;YAC7B,aAAa,EAAE,kCAAkC;YACjD,OAAO,EAAE,kCAAkC;YAC3C,UAAU,EAAE,kCAAkC;SAC/C,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,eAAe,CAAC;YACjC,aAAa,EAAE,oCAAoC;YACnD,OAAO,EAAE,oCAAoC;YAC7C,UAAU,EAAE,oCAAoC;SACjD,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,eAAe,CAAC;YACpC,aAAa,EAAE,kCAAkC;YACjD,OAAO,EAAE,kCAAkC;YAC3C,UAAU,EAAE,kCAAkC;SAC/C,CAAC,CAAC;QAEH,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,CAAC,GAAG,EAAE,CACV,eAAe,CAAC;YACd,aAAa,EAAE,SAAS;YACxB,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,eAAe;SAC5B,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,eAAe,CAAC;YACd,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,UAAU;YACnB,UAAU,EAAE,eAAe;SAC5B,CAAC,CACH,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,GAAG,EAAE,CACV,eAAe,CAAC;YACd,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,OAAO;SACpB,CAAC,CACH,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,7 +1,9 @@
1
1
  export { createSpace } from './create-space.js';
2
+ export { executeProposal } from './execute-proposal.js';
3
+ export { proposeAddMember } from './propose-add-member.js';
2
4
  export { proposeEdit } from './propose-edit.js';
3
5
  export { proposeRemoveMember } from './propose-remove-member.js';
4
6
  export { proposeRequestMembership } from './propose-request-membership.js';
5
- export type { CreateSpaceParams, CreateSpaceResult, ProposeEditParams, ProposeEditResult, ProposeRemoveMemberParams, ProposeRemoveMemberResult, ProposeRequestMembershipParams, ProposeRequestMembershipResult, VoteOption, VoteProposalParams, VoteProposalResult, VotingMode, } from './types.js';
7
+ export type { CreateSpaceParams, CreateSpaceResult, ExecuteProposalParams, ExecuteProposalResult, ProposeAddMemberParams, ProposeAddMemberResult, ProposeEditParams, ProposeEditResult, ProposeRemoveMemberParams, ProposeRemoveMemberResult, ProposeRequestMembershipParams, ProposeRequestMembershipResult, VoteOption, VoteProposalParams, VoteProposalResult, VotingMode, } from './types.js';
6
8
  export { voteProposal } from './vote-proposal.js';
7
9
  //# 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,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,8BAA8B,EAC9B,8BAA8B,EAC9B,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,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,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,8BAA8B,EAC9B,8BAA8B,EAC9B,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,4 +1,6 @@
1
1
  export { createSpace } from './create-space.js';
2
+ export { executeProposal } from './execute-proposal.js';
3
+ export { proposeAddMember } from './propose-add-member.js';
2
4
  export { proposeEdit } from './propose-edit.js';
3
5
  export { proposeRemoveMember } from './propose-remove-member.js';
4
6
  export { proposeRequestMembership } from './propose-request-membership.js';
@@ -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;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAe3E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,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,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAmB3E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { ProposeAddMemberParams, ProposeAddMemberResult } from './types.js';
2
+ /**
3
+ * Creates a proposal to add a member to a DAO space.
4
+ *
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
+ * ```
25
+ */
26
+ export declare function proposeAddMember(params: ProposeAddMemberParams): ProposeAddMemberResult;
27
+ //# sourceMappingURL=propose-add-member.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,97 @@
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';
5
+ /**
6
+ * Creates a proposal to add a member to a DAO space.
7
+ *
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
+ * ```
28
+ */
29
+ export function proposeAddMember(params) {
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}`);
37
+ }
38
+ if (!isBytes16Hex(spaceId)) {
39
+ throw new Error(`spaceId must be bytes16 hex (0x followed by 32 hex chars). Received: ${spaceId}`);
40
+ }
41
+ if (!isBytes16Hex(newMemberSpaceId)) {
42
+ throw new Error(`newMemberSpaceId must be bytes16 hex (0x followed by 32 hex chars). Received: ${newMemberSpaceId}`);
43
+ }
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
+ };
96
+ }
97
+ //# sourceMappingURL=propose-add-member.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propose-add-member.js","sourceRoot":"","sources":["../../../src/dao-space/propose-add-member.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=propose-add-member.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propose-add-member.test.d.ts","sourceRoot":"","sources":["../../../src/dao-space/propose-add-member.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,105 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { TESTNET } from '../../contracts.js';
3
+ import { proposeAddMember } from './propose-add-member.js';
4
+ describe('proposeAddMember', () => {
5
+ const validAuthorSpaceId = '0x0eed5491b917cf58b33ac81255fe7ae9';
6
+ const validSpaceId = '0xabcdef12345678901234567890abcdef';
7
+ const validNewMemberSpaceId = '0x11111111111111111111111111111111';
8
+ it('should return correct structure', () => {
9
+ const result = proposeAddMember({
10
+ authorSpaceId: validAuthorSpaceId,
11
+ spaceId: validSpaceId,
12
+ newMemberSpaceId: validNewMemberSpaceId,
13
+ });
14
+ expect(result).toHaveProperty('to');
15
+ expect(result).toHaveProperty('calldata');
16
+ expect(result).toHaveProperty('proposalId');
17
+ });
18
+ it('should return the correct contract address (Space Registry)', () => {
19
+ const { to } = proposeAddMember({
20
+ authorSpaceId: validAuthorSpaceId,
21
+ spaceId: validSpaceId,
22
+ newMemberSpaceId: validNewMemberSpaceId,
23
+ });
24
+ expect(to).toBe(TESTNET.SPACE_REGISTRY_ADDRESS);
25
+ });
26
+ it('should return valid calldata', () => {
27
+ const { calldata } = proposeAddMember({
28
+ authorSpaceId: validAuthorSpaceId,
29
+ spaceId: validSpaceId,
30
+ newMemberSpaceId: validNewMemberSpaceId,
31
+ });
32
+ expect(calldata).toBeTypeOf('string');
33
+ expect(calldata.startsWith('0x')).toBe(true);
34
+ });
35
+ it('should return valid proposalId (bytes16 hex)', () => {
36
+ const { proposalId } = proposeAddMember({
37
+ authorSpaceId: validAuthorSpaceId,
38
+ spaceId: validSpaceId,
39
+ newMemberSpaceId: validNewMemberSpaceId,
40
+ });
41
+ expect(proposalId).toMatch(/^0x[0-9a-fA-F]{32}$/);
42
+ });
43
+ it('should accept custom proposalId', () => {
44
+ const customProposalId = '0x22222222222222222222222222222222';
45
+ const { proposalId } = proposeAddMember({
46
+ authorSpaceId: validAuthorSpaceId,
47
+ spaceId: validSpaceId,
48
+ newMemberSpaceId: validNewMemberSpaceId,
49
+ proposalId: customProposalId,
50
+ });
51
+ expect(proposalId).toBe(customProposalId);
52
+ });
53
+ it('should default to SLOW voting mode and produce valid calldata', () => {
54
+ const result = proposeAddMember({
55
+ authorSpaceId: validAuthorSpaceId,
56
+ spaceId: validSpaceId,
57
+ newMemberSpaceId: validNewMemberSpaceId,
58
+ });
59
+ expect(result.calldata).toBeTruthy();
60
+ });
61
+ it('should accept FAST voting mode', () => {
62
+ const result = proposeAddMember({
63
+ authorSpaceId: validAuthorSpaceId,
64
+ spaceId: validSpaceId,
65
+ newMemberSpaceId: validNewMemberSpaceId,
66
+ votingMode: 'FAST',
67
+ });
68
+ expect(result.calldata).toBeTruthy();
69
+ });
70
+ it('should generate unique proposalIds for the same input', () => {
71
+ const result1 = proposeAddMember({
72
+ authorSpaceId: validAuthorSpaceId,
73
+ spaceId: validSpaceId,
74
+ newMemberSpaceId: validNewMemberSpaceId,
75
+ });
76
+ const result2 = proposeAddMember({
77
+ authorSpaceId: validAuthorSpaceId,
78
+ spaceId: validSpaceId,
79
+ newMemberSpaceId: validNewMemberSpaceId,
80
+ });
81
+ expect(result1.proposalId).not.toBe(result2.proposalId);
82
+ });
83
+ it('should throw for invalid spaceId format', () => {
84
+ expect(() => proposeAddMember({
85
+ authorSpaceId: '0xinvalid',
86
+ spaceId: validSpaceId,
87
+ newMemberSpaceId: validNewMemberSpaceId,
88
+ })).toThrow('authorSpaceId must be bytes16 hex');
89
+ });
90
+ it('should throw for invalid daoSpaceId format', () => {
91
+ expect(() => proposeAddMember({
92
+ authorSpaceId: validAuthorSpaceId,
93
+ spaceId: '0xtooshort',
94
+ newMemberSpaceId: validNewMemberSpaceId,
95
+ })).toThrow('spaceId must be bytes16 hex');
96
+ });
97
+ it('should throw for invalid newMemberSpaceId format', () => {
98
+ expect(() => proposeAddMember({
99
+ authorSpaceId: validAuthorSpaceId,
100
+ spaceId: validSpaceId,
101
+ newMemberSpaceId: '0xinvalid',
102
+ })).toThrow('newMemberSpaceId must be bytes16 hex');
103
+ });
104
+ });
105
+ //# sourceMappingURL=propose-add-member.test.js.map
@@ -0,0 +1 @@
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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"}
@@ -23,7 +23,7 @@ import type { ProposeEditParams, ProposeEditResult } from './types.js';
23
23
  * const { editId, cid, to, calldata, proposalId } = await daoSpace.proposeEdit({
24
24
  * name: 'Add new entity',
25
25
  * ops,
26
- * author: 'your-person-entity-id',
26
+ * author: 'your-personal-space-id',
27
27
  * daoSpaceAddress: '0xDAOSpaceContractAddress...',
28
28
  * callerSpaceId: '0xCallerBytes16SpaceId...',
29
29
  * daoSpaceId: '0xDAOBytes16SpaceId...',
@@ -29,7 +29,7 @@ import { bytes16ToBytes32LeftAligned, EMPTY_SIGNATURE, EMPTY_TOPIC, isBytes16Hex
29
29
  * const { editId, cid, to, calldata, proposalId } = await daoSpace.proposeEdit({
30
30
  * name: 'Add new entity',
31
31
  * ops,
32
- * author: 'your-person-entity-id',
32
+ * author: 'your-personal-space-id',
33
33
  * daoSpaceAddress: '0xDAOSpaceContractAddress...',
34
34
  * callerSpaceId: '0xCallerBytes16SpaceId...',
35
35
  * daoSpaceId: '0xDAOBytes16SpaceId...',
@@ -11,7 +11,7 @@ export type CreateSpaceParams = {
11
11
  initialEditorSpaceIds: `0x${string}`[];
12
12
  /** Space IDs of initial members (can be empty). Must be bytes16 hex strings. */
13
13
  initialMemberSpaceIds?: `0x${string}`[];
14
- /** The author's Person Entity ID (UUID). */
14
+ /** The author's personal space ID. */
15
15
  author: Id | string;
16
16
  /** Additional ops to include in the initial edit (optional) */
17
17
  ops?: Op[];
@@ -39,7 +39,7 @@ export type ProposeEditParams = {
39
39
  name: string;
40
40
  /** The ops to include in the edit */
41
41
  ops: Op[];
42
- /** The author's Person Entity ID (UUID). */
42
+ /** The author's personal space ID. */
43
43
  author: Id | string;
44
44
  /**
45
45
  * The DAO space contract address.
@@ -117,6 +117,30 @@ export type VoteProposalResult = {
117
117
  /** The calldata for the enter() function call */
118
118
  calldata: `0x${string}`;
119
119
  };
120
+ export type ExecuteProposalParams = {
121
+ /**
122
+ * The executor's space ID (bytes16 hex, with or without 0x prefix).
123
+ * This is the fromSpaceId in the enter() call.
124
+ */
125
+ authorSpaceId: string;
126
+ /**
127
+ * The DAO space ID (bytes16 hex, with or without 0x prefix).
128
+ * This is the toSpaceId in the enter() call.
129
+ */
130
+ spaceId: string;
131
+ /**
132
+ * The proposal to execute (bytes16 hex, with or without 0x prefix).
133
+ */
134
+ proposalId: string;
135
+ /** Network to use (defaults to TESTNET) */
136
+ network?: Network;
137
+ };
138
+ export type ExecuteProposalResult = {
139
+ /** The contract address to send the transaction to (Space Registry) */
140
+ to: `0x${string}`;
141
+ /** The calldata for the enter() function call */
142
+ calldata: `0x${string}`;
143
+ };
120
144
  export type ProposeRequestMembershipParams = {
121
145
  /**
122
146
  * The requestor's space ID (bytes16 hex, with or without 0x prefix).
@@ -180,4 +204,40 @@ export type ProposeRemoveMemberResult = {
180
204
  /** The proposal ID (bytes16 hex) */
181
205
  proposalId: `0x${string}`;
182
206
  };
207
+ export type ProposeAddMemberParams = {
208
+ /**
209
+ * The proposer's space ID (bytes16 hex).
210
+ * This is the fromSpaceId in the enter() call.
211
+ */
212
+ authorSpaceId: string;
213
+ /**
214
+ * The DAO space ID (bytes16 hex).
215
+ * This is the toSpaceId in the enter() call.
216
+ */
217
+ spaceId: string;
218
+ /**
219
+ * The space ID of the new member to add (bytes16 hex).
220
+ */
221
+ newMemberSpaceId: string;
222
+ /**
223
+ * Voting mode for the proposal.
224
+ * Defaults to 'SLOW' since addMember() is a governance action.
225
+ */
226
+ votingMode?: VotingMode;
227
+ /**
228
+ * Optional bytes16 proposalId (0x + 32 hex chars).
229
+ * If omitted, a unique id is generated.
230
+ */
231
+ proposalId?: string;
232
+ /** Network to use (defaults to TESTNET) */
233
+ network?: Network;
234
+ };
235
+ export type ProposeAddMemberResult = {
236
+ /** The contract address to send the transaction to (Space Registry) */
237
+ to: `0x${string}`;
238
+ /** The calldata for the enter() function call */
239
+ calldata: `0x${string}`;
240
+ /** The proposal ID (bytes16 hex) */
241
+ proposalId: `0x${string}`;
242
+ };
183
243
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/dao-space/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/dao-space/types.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import type { CreateImageParams, CreateImageResult } from '../types.js';
2
2
  /**
3
- * Creates an entity with the given name, description, cover, properties, and types.
4
- * All IDs passed to this function (cover, types, property IDs, relation IDs, etc.) are validated.
5
- * If any invalid ID is provided, the function will throw an error.
3
+ * Creates an image entity by uploading an image to IPFS and generating the corresponding ops.
4
+ * Accepts either a URL or a Blob. If an ID is provided, it is validated; otherwise one is generated.
6
5
  *
7
6
  * @example
8
7
  * ```ts
@@ -1 +1 @@
1
- {"version":3,"file":"create-image.d.ts","sourceRoot":"","sources":["../../../src/graph/create-image.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAmB,MAAM,aAAa,CAAC;AAGzF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,WAAW,GAAU,2DAM/B,iBAAiB,KAAG,OAAO,CAAC,iBAAiB,CAkD/C,CAAC"}
1
+ {"version":3,"file":"create-image.d.ts","sourceRoot":"","sources":["../../../src/graph/create-image.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAmB,MAAM,aAAa,CAAC;AAGzF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,WAAW,GAAU,2DAM/B,iBAAiB,KAAG,OAAO,CAAC,iBAAiB,CAkD/C,CAAC"}
@@ -5,9 +5,8 @@ import { assertValid, generate, toGrcId } from '../id-utils.js';
5
5
  import { uploadImage } from '../ipfs.js';
6
6
  import { createEntity } from './create-entity.js';
7
7
  /**
8
- * Creates an entity with the given name, description, cover, properties, and types.
9
- * All IDs passed to this function (cover, types, property IDs, relation IDs, etc.) are validated.
10
- * If any invalid ID is provided, the function will throw an error.
8
+ * Creates an image entity by uploading an image to IPFS and generating the corresponding ops.
9
+ * Accepts either a URL or a Blob. If an ID is provided, it is validated; otherwise one is generated.
11
10
  *
12
11
  * @example
13
12
  * ```ts
@@ -1 +1 @@
1
- {"version":3,"file":"create-image.js","sourceRoot":"","sources":["../../../src/graph/create-image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EACL,qBAAqB,EACrB,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,EAChC,IAAI,EACJ,WAAW,EACX,EAAE,EAAE,UAAU,EACd,OAAO,EACP,GAAG,MAAM,EACS,EAA8B,EAAE;IAClD,IAAI,UAAU;QAAE,WAAW,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;IAEjE,MAAM,EAAE,GAAG,UAAU,IAAI,QAAQ,EAAE,CAAC;IACpC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC;IAEtF,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,MAAM,CAAC,IAAI,CAAC;QACV,QAAQ,EAAE,kBAAkB;QAC5B,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,GAAG;KACX,CAAC,CAAC;IACH,IAAI,UAAU,EAAE,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,qBAAqB;YAC/B,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,UAAU,CAAC,MAAM;SACzB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,UAAU,EAAE,KAAK,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,oBAAoB;YAC9B,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,UAAU,CAAC,KAAK;SACxB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC;QAC3B,EAAE;QACF,IAAI;QACJ,WAAW;QACX,MAAM;KACP,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CACN,iBAAiB,CAAC;QAChB,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvB,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC3B,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QACjB,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC;QACvB,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC;KACtC,CAAC,CACH,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;QACV,GAAG;QACH,UAAU;QACV,GAAG;KACJ,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"create-image.js","sourceRoot":"","sources":["../../../src/graph/create-image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EACL,qBAAqB,EACrB,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,EAChC,IAAI,EACJ,WAAW,EACX,EAAE,EAAE,UAAU,EACd,OAAO,EACP,GAAG,MAAM,EACS,EAA8B,EAAE;IAClD,IAAI,UAAU;QAAE,WAAW,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;IAEjE,MAAM,EAAE,GAAG,UAAU,IAAI,QAAQ,EAAE,CAAC;IACpC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC;IAEtF,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,MAAM,CAAC,IAAI,CAAC;QACV,QAAQ,EAAE,kBAAkB;QAC5B,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,GAAG;KACX,CAAC,CAAC;IACH,IAAI,UAAU,EAAE,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,qBAAqB;YAC/B,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,UAAU,CAAC,MAAM;SACzB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,UAAU,EAAE,KAAK,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,oBAAoB;YAC9B,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,UAAU,CAAC,KAAK;SACxB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC;QAC3B,EAAE;QACF,IAAI;QACJ,WAAW;QACX,MAAM;KACP,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CACN,iBAAiB,CAAC;QAChB,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvB,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC3B,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QACjB,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC;QACvB,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC;KACtC,CAAC,CACH,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;QACV,GAAG;QACH,UAAU;QACV,GAAG;KACJ,CAAC;AACJ,CAAC,CAAC"}
@@ -10,7 +10,7 @@ import type { Network } from './types.js';
10
10
  type PublishEditProposalParams = {
11
11
  name: string;
12
12
  ops: Op[];
13
- /** The author's Person Entity ID (UUID). Used as the `authors` field in the proto Edit message. */
13
+ /** The author's personal space ID. Used as the `authors` field in the proto Edit message. */
14
14
  author: Id | string;
15
15
  network?: Network;
16
16
  };
@@ -28,7 +28,7 @@ type PublishEditResult = {
28
28
  * const { cid, editId } = await IPFS.publishEdit({
29
29
  * name: 'Edit name',
30
30
  * ops: ops,
31
- * author: 'your-person-entity-id',
31
+ * author: 'your-personal-space-id',
32
32
  * });
33
33
  * ```
34
34
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ipfs.d.ts","sourceRoot":"","sources":["../../src/ipfs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAoC,KAAK,EAAE,EAAY,MAAM,qBAAqB,CAAC;AAM1F,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAM1C,KAAK,yBAAyB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,EAAE,EAAE,CAAC;IACV,mGAAmG;IACnG,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IAEvB,GAAG,EAAE,MAAM,CAAC;IAEZ,MAAM,EAAE,EAAE,CAAC;CACZ,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAoC7F;AAED,KAAK,kBAAkB,GACnB;IACE,IAAI,EAAE,IAAI,CAAC;CACZ,GACD;IACE,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEN,wBAAsB,WAAW,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE,OAAO;;;;;;;;;GAkC5G;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,MAAM,EAAE,CAAC,CAUjG"}
1
+ {"version":3,"file":"ipfs.d.ts","sourceRoot":"","sources":["../../src/ipfs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAoC,KAAK,EAAE,EAAY,MAAM,qBAAqB,CAAC;AAM1F,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAM1C,KAAK,yBAAyB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,EAAE,EAAE,CAAC;IACV,6FAA6F;IAC7F,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IAEvB,GAAG,EAAE,MAAM,CAAC;IAEZ,MAAM,EAAE,EAAE,CAAC;CACZ,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA2C7F;AAED,KAAK,kBAAkB,GACnB;IACE,IAAI,EAAE,IAAI,CAAC;CACZ,GACD;IACE,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEN,wBAAsB,WAAW,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE,OAAO;;;;;;;;;GAkC5G;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,MAAM,EAAE,CAAC,CAUjG"}
package/dist/src/ipfs.js CHANGED
@@ -23,7 +23,7 @@ class IpfsUploadError extends Error {
23
23
  * const { cid, editId } = await IPFS.publishEdit({
24
24
  * name: 'Edit name',
25
25
  * ops: ops,
26
- * author: 'your-person-entity-id',
26
+ * author: 'your-personal-space-id',
27
27
  * });
28
28
  * ```
29
29
  *
@@ -48,6 +48,10 @@ export async function publishEdit(args) {
48
48
  };
49
49
  // Encode to binary format
50
50
  const binary = encodeEdit(grcEdit);
51
+ const MAX_EDIT_SIZE = 10 * 1024 * 1024; // 10MB
52
+ if (binary.byteLength > MAX_EDIT_SIZE) {
53
+ throw new Error(`Edit size (${(binary.byteLength / 1024 / 1024).toFixed(2)}MB) exceeds the ${MAX_EDIT_SIZE / 1024 / 1024}MB limit. Reduce the number of ops or split into multiple edits.`);
54
+ }
51
55
  // Create a copy to ensure we have a regular ArrayBuffer for Blob compatibility
52
56
  const binaryArray = new Uint8Array(binary);
53
57
  const blob = new Blob([binaryArray], { type: 'application/octet-stream' });
@@ -1 +1 @@
1
- {"version":3,"file":"ipfs.js","sourceRoot":"","sources":["../../src/ipfs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ipfs.js","sourceRoot":"","sources":["../../src/ipfs.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,13 @@ describe('publishEdit', () => {
37
37
  id: entityId,
38
38
  name: 'updated name',
39
39
  description: 'updated description',
40
- values: [{ property: WEBSITE_PROPERTY, type: 'text', value: 'https://example.com' }],
40
+ values: [
41
+ {
42
+ property: WEBSITE_PROPERTY,
43
+ type: 'text',
44
+ value: 'https://example.com',
45
+ },
46
+ ],
41
47
  });
42
48
  const { cid, editId } = await publishEdit({
43
49
  name: 'update test',
@@ -110,8 +116,16 @@ describe('publishEdit', () => {
110
116
  { property: pointPropertyId, type: 'point', lon: -122.4, lat: 37.8 },
111
117
  { property: datePropertyId, type: 'date', value: '2024-01-15' },
112
118
  { property: timePropertyId, type: 'time', value: '14:30:00Z' },
113
- { property: datetimePropertyId, type: 'datetime', value: '2024-01-15T14:30:00Z' },
114
- { property: schedulePropertyId, type: 'schedule', value: 'FREQ=WEEKLY;BYDAY=MO' },
119
+ {
120
+ property: datetimePropertyId,
121
+ type: 'datetime',
122
+ value: '2024-01-15T14:30:00Z',
123
+ },
124
+ {
125
+ property: schedulePropertyId,
126
+ type: 'schedule',
127
+ value: 'FREQ=WEEKLY;BYDAY=MO',
128
+ },
115
129
  ],
116
130
  });
117
131
  const { cid, editId } = await publishEdit({
@@ -131,6 +145,25 @@ describe('publishEdit', () => {
131
145
  network: 'TESTNET',
132
146
  })).rejects.toThrow('`ops` in `publishEdit` must not be empty');
133
147
  });
148
+ it('throws when edit size exceeds 10MB', async () => {
149
+ // Create ops that will produce a binary larger than 10MB
150
+ // Each text value op with a large string contributes significantly to the encoded size
151
+ const largeValue = 'x'.repeat(1_000_000); // 1MB string
152
+ const ops = [];
153
+ for (let i = 0; i < 12; i++) {
154
+ const { ops: entityOps } = createEntity({
155
+ name: `large entity ${i}`,
156
+ values: [{ property: WEBSITE_PROPERTY, type: 'text', value: largeValue }],
157
+ });
158
+ ops.push(...entityOps);
159
+ }
160
+ await expect(publishEdit({
161
+ name: 'oversized edit',
162
+ ops,
163
+ author: TEST_AUTHOR_SPACE_ID,
164
+ network: 'TESTNET',
165
+ })).rejects.toThrow('exceeds the 10MB limit');
166
+ });
134
167
  it('handles multiple ops in a single edit', async () => {
135
168
  const entity1 = createEntity({ name: 'Entity 1' });
136
169
  const entity2 = createEntity({ name: 'Entity 2' });
@@ -1 +1 @@
1
- {"version":3,"file":"ipfs.test.js","sourceRoot":"","sources":["../../src/ipfs.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ipfs.test.js","sourceRoot":"","sources":["../../src/ipfs.test.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ import type { PublishEditParams, PublishEditResult } from './types.js';
19
19
  * name: 'Add entity',
20
20
  * spaceId: 'your-space-id',
21
21
  * ops,
22
- * author: 'your-person-entity-id',
22
+ * author: 'your-personal-space-id',
23
23
  * });
24
24
  *
25
25
  * await walletClient.sendTransaction({ to, data: calldata });
@@ -43,7 +43,7 @@ function spaceIdToBytes16(spaceId) {
43
43
  * name: 'Add entity',
44
44
  * spaceId: 'your-space-id',
45
45
  * ops,
46
- * author: 'your-person-entity-id',
46
+ * author: 'your-personal-space-id',
47
47
  * });
48
48
  *
49
49
  * await walletClient.sendTransaction({ to, data: calldata });
@@ -9,7 +9,7 @@ export type PublishEditParams = {
9
9
  name: string;
10
10
  spaceId: Id | string;
11
11
  ops: Op[];
12
- /** The author's Person Entity ID (UUID). */
12
+ /** The author's personal space ID. */
13
13
  author: Id | string;
14
14
  network?: Network;
15
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/personal-space/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC;IACrB,GAAG,EAAE,EAAE,EAAE,CAAC;IACV,4CAA4C;IAC5C,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,EAAE,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;CACzB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/personal-space/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC;IACrB,GAAG,EAAE,EAAE,EAAE,CAAC;IACV,sCAAsC;IACtC,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,EAAE,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;CACzB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geoprotocol/geo-sdk",
3
- "version": "0.13.1",
3
+ "version": "0.14.0",
4
4
  "license": "MIT",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",