@geoprotocol/geo-sdk 0.2.0 → 0.3.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 (56) hide show
  1. package/README.md +154 -161
  2. package/dist/index.d.ts +6 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +6 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/src/core/blocks/data.test.js +2 -2
  7. package/dist/src/core/blocks/data.test.js.map +1 -1
  8. package/dist/src/core/blocks/text.test.js +4 -4
  9. package/dist/src/core/blocks/text.test.js.map +1 -1
  10. package/dist/src/full-flow-test.test.js +21 -35
  11. package/dist/src/full-flow-test.test.js.map +1 -1
  12. package/dist/src/graph/update-entity.d.ts +7 -3
  13. package/dist/src/graph/update-entity.d.ts.map +1 -1
  14. package/dist/src/graph/update-entity.js +36 -6
  15. package/dist/src/graph/update-entity.js.map +1 -1
  16. package/dist/src/graph/update-entity.test.js +114 -22
  17. package/dist/src/graph/update-entity.test.js.map +1 -1
  18. package/dist/src/id.d.ts.map +1 -1
  19. package/dist/src/id.js +3 -8
  20. package/dist/src/id.js.map +1 -1
  21. package/dist/src/internal/uuid.d.ts +1 -0
  22. package/dist/src/internal/uuid.d.ts.map +1 -1
  23. package/dist/src/internal/uuid.js +1 -1
  24. package/dist/src/internal/uuid.js.map +1 -1
  25. package/dist/src/personal-space/constants.d.ts +4 -0
  26. package/dist/src/personal-space/constants.d.ts.map +1 -0
  27. package/dist/src/personal-space/constants.js +5 -0
  28. package/dist/src/personal-space/constants.js.map +1 -0
  29. package/dist/src/personal-space/create-space.d.ts +25 -0
  30. package/dist/src/personal-space/create-space.d.ts.map +1 -0
  31. package/dist/src/personal-space/create-space.js +31 -0
  32. package/dist/src/personal-space/create-space.js.map +1 -0
  33. package/dist/src/personal-space/create-space.test.d.ts +2 -0
  34. package/dist/src/personal-space/create-space.test.d.ts.map +1 -0
  35. package/dist/src/personal-space/create-space.test.js +26 -0
  36. package/dist/src/personal-space/create-space.test.js.map +1 -0
  37. package/dist/src/personal-space/index.d.ts +4 -0
  38. package/dist/src/personal-space/index.d.ts.map +1 -0
  39. package/dist/src/personal-space/index.js +3 -0
  40. package/dist/src/personal-space/index.js.map +1 -0
  41. package/dist/src/personal-space/publish-edit.d.ts +29 -0
  42. package/dist/src/personal-space/publish-edit.d.ts.map +1 -0
  43. package/dist/src/personal-space/publish-edit.js +73 -0
  44. package/dist/src/personal-space/publish-edit.js.map +1 -0
  45. package/dist/src/personal-space/publish-edit.test.d.ts +2 -0
  46. package/dist/src/personal-space/publish-edit.test.d.ts.map +1 -0
  47. package/dist/src/personal-space/publish-edit.test.js +124 -0
  48. package/dist/src/personal-space/publish-edit.test.js.map +1 -0
  49. package/dist/src/personal-space/types.d.ts +21 -0
  50. package/dist/src/personal-space/types.d.ts.map +1 -0
  51. package/dist/src/personal-space/types.js +2 -0
  52. package/dist/src/personal-space/types.js.map +1 -0
  53. package/dist/src/types.d.ts +27 -0
  54. package/dist/src/types.d.ts.map +1 -1
  55. package/dist/src/types.js.map +1 -1
  56. package/package.json +2 -2
@@ -0,0 +1,5 @@
1
+ import { keccak256, toHex } from 'viem';
2
+ export const EDITS_PUBLISHED = keccak256(toHex('GOVERNANCE.EDITS_PUBLISHED'));
3
+ export const EMPTY_TOPIC = '0x0000000000000000000000000000000000000000000000000000000000000000';
4
+ export const EMPTY_SIGNATURE = '0x';
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/personal-space/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAExC,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;AAC9E,MAAM,CAAC,MAAM,WAAW,GAAG,oEAA6E,CAAC;AACzG,MAAM,CAAC,MAAM,eAAe,GAAG,IAAa,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { CreateSpaceResult } from './types.js';
2
+ /**
3
+ * Get the target address and calldata for creating a personal space.
4
+ *
5
+ * This function returns everything needed to submit a transaction that creates
6
+ * a personal space on the Space Registry contract.
7
+ *
8
+ * @returns Object containing `to` (contract address) and `calldata` for the transaction
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import { personalSpace } from '@geoprotocol/geo-sdk';
13
+ * import { createWalletClient, http } from 'viem';
14
+ *
15
+ * const { to, calldata } = personalSpace.createSpace();
16
+ *
17
+ * // Using viem
18
+ * const hash = await walletClient.sendTransaction({
19
+ * to,
20
+ * data: calldata,
21
+ * });
22
+ * ```
23
+ */
24
+ export declare function createSpace(): CreateSpaceResult;
25
+ //# sourceMappingURL=create-space.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-space.d.ts","sourceRoot":"","sources":["../../../src/personal-space/create-space.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,WAAW,IAAI,iBAAiB,CAK/C"}
@@ -0,0 +1,31 @@
1
+ import { TESTNET } from '../../contracts.js';
2
+ import { getCreatePersonalSpaceCalldata } from '../encodings/index.js';
3
+ /**
4
+ * Get the target address and calldata for creating a personal space.
5
+ *
6
+ * This function returns everything needed to submit a transaction that creates
7
+ * a personal space on the Space Registry contract.
8
+ *
9
+ * @returns Object containing `to` (contract address) and `calldata` for the transaction
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import { personalSpace } from '@geoprotocol/geo-sdk';
14
+ * import { createWalletClient, http } from 'viem';
15
+ *
16
+ * const { to, calldata } = personalSpace.createSpace();
17
+ *
18
+ * // Using viem
19
+ * const hash = await walletClient.sendTransaction({
20
+ * to,
21
+ * data: calldata,
22
+ * });
23
+ * ```
24
+ */
25
+ export function createSpace() {
26
+ return {
27
+ to: TESTNET.SPACE_REGISTRY_ADDRESS,
28
+ calldata: getCreatePersonalSpaceCalldata(),
29
+ };
30
+ }
31
+ //# sourceMappingURL=create-space.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-space.js","sourceRoot":"","sources":["../../../src/personal-space/create-space.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAGvE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,sBAAsB;QAClC,QAAQ,EAAE,8BAA8B,EAAE;KAC3C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=create-space.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-space.test.d.ts","sourceRoot":"","sources":["../../../src/personal-space/create-space.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { TESTNET } from '../../contracts.js';
3
+ import { createSpace } from './create-space.js';
4
+ describe('createSpace', () => {
5
+ it('should return correct structure with to and calldata', () => {
6
+ const result = createSpace();
7
+ expect(result).toHaveProperty('to');
8
+ expect(result).toHaveProperty('calldata');
9
+ });
10
+ it('should return the correct contract address', () => {
11
+ const { to } = createSpace();
12
+ expect(to).toBe(TESTNET.SPACE_REGISTRY_ADDRESS);
13
+ });
14
+ it('should return valid calldata', () => {
15
+ const { calldata } = createSpace();
16
+ expect(calldata).toBeTypeOf('string');
17
+ expect(calldata.startsWith('0x')).toBe(true);
18
+ });
19
+ it('should return consistent results', () => {
20
+ const result1 = createSpace();
21
+ const result2 = createSpace();
22
+ expect(result1.to).toBe(result2.to);
23
+ expect(result1.calldata).toBe(result2.calldata);
24
+ });
25
+ });
26
+ //# sourceMappingURL=create-space.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-space.test.js","sourceRoot":"","sources":["../../../src/personal-space/create-space.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,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;QAE7B,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,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7B,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,WAAW,EAAE,CAAC;QAEnC,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,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAE9B,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { createSpace } from './create-space.js';
2
+ export { publishEdit } from './publish-edit.js';
3
+ export type { CreateSpaceResult, PublishEditParams, PublishEditResult } from './types.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/personal-space/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { createSpace } from './create-space.js';
2
+ export { publishEdit } from './publish-edit.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/personal-space/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { PublishEditParams, PublishEditResult } from './types.js';
2
+ /**
3
+ * Publish an edit to IPFS and get the calldata for submitting it on-chain.
4
+ *
5
+ * This function:
6
+ * 1. Validates the spaceId (accepts UUID or 32-char hex string)
7
+ * 2. Publishes the ops to IPFS using the GRC-20 binary format
8
+ * 3. Encodes the calldata for the Space Registry's `enter()` function
9
+ *
10
+ * @param params - The parameters for publishing the edit
11
+ * @returns Object containing `editId`, `cid`, `to` (contract address), and `calldata`
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * import { personalSpace, Graph } from '@geoprotocol/geo-sdk';
16
+ *
17
+ * const { ops } = Graph.createEntity({ name: 'Test' });
18
+ * const { editId, cid, to, calldata } = await personalSpace.publishEdit({
19
+ * name: 'Add entity',
20
+ * spaceId: 'your-space-id',
21
+ * ops,
22
+ * author: '0x...',
23
+ * });
24
+ *
25
+ * await walletClient.sendTransaction({ to, data: calldata });
26
+ * ```
27
+ */
28
+ export declare function publishEdit(params: PublishEditParams): Promise<PublishEditResult>;
29
+ //# sourceMappingURL=publish-edit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-edit.d.ts","sourceRoot":"","sources":["../../../src/personal-space/publish-edit.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAsBvE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAwBvF"}
@@ -0,0 +1,73 @@
1
+ import { encodeFunctionData, stringToHex, toHex } from 'viem';
2
+ import { TESTNET } from '../../contracts.js';
3
+ import { SpaceRegistryAbi } from '../abis/index.js';
4
+ import { isValid } from '../id.js';
5
+ import { toBytes } from '../id-utils.js';
6
+ import { UUID_DASHLESS_REGEX } from '../internal/uuid.js';
7
+ import * as Ipfs from '../ipfs.js';
8
+ import { EDITS_PUBLISHED, EMPTY_SIGNATURE, EMPTY_TOPIC } from './constants.js';
9
+ /**
10
+ * Converts a spaceId to bytes16 hex format.
11
+ * Accepts either a valid UUID (Id type) or a 32-char hex string (on-chain bytes16).
12
+ */
13
+ function spaceIdToBytes16(spaceId) {
14
+ // If it's a 32-char hex string (bytes16 from on-chain), use directly
15
+ // Check this first since on-chain space IDs may look like UUIDs but aren't valid ones
16
+ if (UUID_DASHLESS_REGEX.test(spaceId)) {
17
+ return `0x${spaceId.toLowerCase()}`;
18
+ }
19
+ // If it's a valid UUID (with dashes), use the standard toBytes conversion
20
+ if (isValid(spaceId)) {
21
+ const bytes = toBytes(spaceId);
22
+ return toHex(bytes);
23
+ }
24
+ throw new Error(`Invalid spaceId: "${spaceId}". Expected a valid UUID or 32-character hex string.`);
25
+ }
26
+ /**
27
+ * Publish an edit to IPFS and get the calldata for submitting it on-chain.
28
+ *
29
+ * This function:
30
+ * 1. Validates the spaceId (accepts UUID or 32-char hex string)
31
+ * 2. Publishes the ops to IPFS using the GRC-20 binary format
32
+ * 3. Encodes the calldata for the Space Registry's `enter()` function
33
+ *
34
+ * @param params - The parameters for publishing the edit
35
+ * @returns Object containing `editId`, `cid`, `to` (contract address), and `calldata`
36
+ *
37
+ * @example
38
+ * ```ts
39
+ * import { personalSpace, Graph } from '@geoprotocol/geo-sdk';
40
+ *
41
+ * const { ops } = Graph.createEntity({ name: 'Test' });
42
+ * const { editId, cid, to, calldata } = await personalSpace.publishEdit({
43
+ * name: 'Add entity',
44
+ * spaceId: 'your-space-id',
45
+ * ops,
46
+ * author: '0x...',
47
+ * });
48
+ *
49
+ * await walletClient.sendTransaction({ to, data: calldata });
50
+ * ```
51
+ */
52
+ export async function publishEdit(params) {
53
+ const { name, spaceId, ops, author, network = 'TESTNET' } = params;
54
+ const spaceIdBytes16 = spaceIdToBytes16(spaceId);
55
+ const { cid, editId } = await Ipfs.publishEdit({
56
+ name,
57
+ ops,
58
+ author,
59
+ network,
60
+ });
61
+ const calldata = encodeFunctionData({
62
+ abi: SpaceRegistryAbi,
63
+ functionName: 'enter',
64
+ args: [spaceIdBytes16, spaceIdBytes16, EDITS_PUBLISHED, EMPTY_TOPIC, stringToHex(cid), EMPTY_SIGNATURE],
65
+ });
66
+ return {
67
+ editId,
68
+ cid,
69
+ to: TESTNET.SPACE_REGISTRY_ADDRESS,
70
+ calldata,
71
+ };
72
+ }
73
+ //# sourceMappingURL=publish-edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-edit.js","sourceRoot":"","sources":["../../../src/personal-space/publish-edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG/E;;;GAGG;AACH,SAAS,gBAAgB,CAAC,OAAe;IACvC,qEAAqE;IACrE,sFAAsF;IACtF,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,OAAO,KAAK,OAAO,CAAC,WAAW,EAAE,EAAmB,CAAC;IACvD,CAAC;IAED,0EAA0E;IAC1E,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,sDAAsD,CAAC,CAAC;AACtG,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAyB;IACzD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,GAAG,MAAM,CAAC;IAEnE,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAEjD,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;QAC7C,IAAI;QACJ,GAAG;QACH,MAAM;QACN,OAAO;KACR,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,GAAG,EAAE,gBAAgB;QACrB,YAAY,EAAE,OAAO;QACrB,IAAI,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC;KACxG,CAAC,CAAC;IAEH,OAAO;QACL,MAAM;QACN,GAAG;QACH,EAAE,EAAE,OAAO,CAAC,sBAAsB;QAClC,QAAQ;KACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=publish-edit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-edit.test.d.ts","sourceRoot":"","sources":["../../../src/personal-space/publish-edit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,124 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { TESTNET } from '../../contracts.js';
3
+ import { createEntity } from '../graph/create-entity.js';
4
+ import { generate } from '../id-utils.js';
5
+ import { publishEdit } from './publish-edit.js';
6
+ describe('publishEdit', () => {
7
+ it('should return correct structure', async () => {
8
+ const spaceId = '0eed5491b917cf58b33ac81255fe7ae9';
9
+ const { ops } = createEntity({ name: 'Test Entity' });
10
+ const result = await publishEdit({
11
+ name: 'Test Edit',
12
+ spaceId,
13
+ ops,
14
+ author: '0x0000000000000000000000000000000000000000',
15
+ });
16
+ expect(result).toHaveProperty('editId');
17
+ expect(result).toHaveProperty('cid');
18
+ expect(result).toHaveProperty('to');
19
+ expect(result).toHaveProperty('calldata');
20
+ });
21
+ it('should return the correct contract address', async () => {
22
+ const spaceId = '0eed5491b917cf58b33ac81255fe7ae9';
23
+ const { ops } = createEntity({ name: 'Test Entity' });
24
+ const { to } = await publishEdit({
25
+ name: 'Test Edit',
26
+ spaceId,
27
+ ops,
28
+ author: '0x0000000000000000000000000000000000000000',
29
+ });
30
+ expect(to).toBe(TESTNET.SPACE_REGISTRY_ADDRESS);
31
+ });
32
+ it('should return valid calldata', async () => {
33
+ const spaceId = '0eed5491b917cf58b33ac81255fe7ae9';
34
+ const { ops } = createEntity({ name: 'Test Entity' });
35
+ const { calldata } = await publishEdit({
36
+ name: 'Test Edit',
37
+ spaceId,
38
+ ops,
39
+ author: '0x0000000000000000000000000000000000000000',
40
+ });
41
+ expect(calldata).toBeTypeOf('string');
42
+ expect(calldata.startsWith('0x')).toBe(true);
43
+ });
44
+ it('should return valid CID', async () => {
45
+ const spaceId = '0eed5491b917cf58b33ac81255fe7ae9';
46
+ const { ops } = createEntity({ name: 'Test Entity' });
47
+ const { cid } = await publishEdit({
48
+ name: 'Test Edit',
49
+ spaceId,
50
+ ops,
51
+ author: '0x0000000000000000000000000000000000000000',
52
+ });
53
+ expect(cid).toMatch(/^ipfs:\/\//);
54
+ });
55
+ it('should return valid editId', async () => {
56
+ const spaceId = '0eed5491b917cf58b33ac81255fe7ae9';
57
+ const { ops } = createEntity({ name: 'Test Entity' });
58
+ const { editId } = await publishEdit({
59
+ name: 'Test Edit',
60
+ spaceId,
61
+ ops,
62
+ author: '0x0000000000000000000000000000000000000000',
63
+ });
64
+ expect(editId).toBeTruthy();
65
+ expect(editId).toHaveLength(32);
66
+ });
67
+ it('should accept 32-char hex string spaceId (on-chain format)', async () => {
68
+ const spaceId = 'abcdef12345678901234567890abcdef';
69
+ const { ops } = createEntity({ name: 'Test Entity' });
70
+ const result = await publishEdit({
71
+ name: 'Test Edit',
72
+ spaceId,
73
+ ops,
74
+ author: '0x0000000000000000000000000000000000000000',
75
+ });
76
+ expect(result.cid).toMatch(/^ipfs:\/\//);
77
+ expect(result.calldata.startsWith('0x')).toBe(true);
78
+ });
79
+ it('should accept valid UUID spaceId', async () => {
80
+ const spaceId = generate();
81
+ const { ops } = createEntity({ name: 'Test Entity' });
82
+ const result = await publishEdit({
83
+ name: 'Test Edit',
84
+ spaceId,
85
+ ops,
86
+ author: '0x0000000000000000000000000000000000000000',
87
+ });
88
+ expect(result.cid).toMatch(/^ipfs:\/\//);
89
+ expect(result.calldata.startsWith('0x')).toBe(true);
90
+ });
91
+ it('should accept UUID with dashes', async () => {
92
+ const spaceId = '550e8400-e29b-41d4-a716-446655440000';
93
+ const { ops } = createEntity({ name: 'Test Entity' });
94
+ const result = await publishEdit({
95
+ name: 'Test Edit',
96
+ spaceId,
97
+ ops,
98
+ author: '0x0000000000000000000000000000000000000000',
99
+ });
100
+ expect(result.cid).toMatch(/^ipfs:\/\//);
101
+ expect(result.calldata.startsWith('0x')).toBe(true);
102
+ });
103
+ it('should throw for invalid spaceId', async () => {
104
+ const invalidSpaceId = 'invalid';
105
+ const { ops } = createEntity({ name: 'Test Entity' });
106
+ await expect(publishEdit({
107
+ name: 'Test Edit',
108
+ spaceId: invalidSpaceId,
109
+ ops,
110
+ author: '0x0000000000000000000000000000000000000000',
111
+ })).rejects.toThrow('Invalid spaceId');
112
+ });
113
+ it('should throw for spaceId that is too short', async () => {
114
+ const shortSpaceId = 'abc123';
115
+ const { ops } = createEntity({ name: 'Test Entity' });
116
+ await expect(publishEdit({
117
+ name: 'Test Edit',
118
+ spaceId: shortSpaceId,
119
+ ops,
120
+ author: '0x0000000000000000000000000000000000000000',
121
+ })).rejects.toThrow('Invalid spaceId');
122
+ });
123
+ });
124
+ //# sourceMappingURL=publish-edit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-edit.test.js","sourceRoot":"","sources":["../../../src/personal-space/publish-edit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { Op } from '@geoprotocol/grc-20';
2
+ import type { Id } from '../id.js';
3
+ import type { Network } from '../types.js';
4
+ export type CreateSpaceResult = {
5
+ to: `0x${string}`;
6
+ calldata: `0x${string}`;
7
+ };
8
+ export type PublishEditParams = {
9
+ name: string;
10
+ spaceId: Id | string;
11
+ ops: Op[];
12
+ author: `0x${string}`;
13
+ network?: Network;
14
+ };
15
+ export type PublishEditResult = {
16
+ editId: Id;
17
+ cid: string;
18
+ to: `0x${string}`;
19
+ calldata: `0x${string}`;
20
+ };
21
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +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,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;IACtB,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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/personal-space/types.ts"],"names":[],"mappings":""}
@@ -76,9 +76,36 @@ export type EntityParams = DefaultProperties & {
76
76
  relations?: RelationsParam;
77
77
  types?: Array<Id | string>;
78
78
  };
79
+ /**
80
+ * Language specification for unsetting property values.
81
+ * - `'all'`: Unset all language slots for the property
82
+ * - `Id | string | Uint8Array`: A specific language entity ID (use `languages.english()` or `languageId('de')` from grc-20)
83
+ *
84
+ * @example
85
+ * ```ts
86
+ * import { languages, languageId } from '@geoprotocol/grc-20';
87
+ *
88
+ * // Unset all languages
89
+ * unset: [{ property: propertyId, language: 'all' }]
90
+ *
91
+ * // Unset specific language using grc-20 helpers
92
+ * unset: [{ property: propertyId, language: languages.english() }]
93
+ * unset: [{ property: propertyId, language: languageId('de') }]
94
+ * ```
95
+ */
96
+ export type UnsetLanguageParam = 'all' | Id | string | Uint8Array;
97
+ /**
98
+ * Parameter for unsetting a property value on an entity.
99
+ */
100
+ export type UnsetPropertyParam = {
101
+ property: Id | string;
102
+ /** Defaults to 'all' if omitted. Use `languages.english()` or `languageId('de')` from grc-20 for specific languages. */
103
+ language?: UnsetLanguageParam;
104
+ };
79
105
  export type UpdateEntityParams = Omit<DefaultProperties, 'cover'> & {
80
106
  id: Id | string;
81
107
  values?: PropertiesParam;
108
+ unset?: UnsetPropertyParam[];
82
109
  };
83
110
  type RelationEntityParams = {
84
111
  [K in keyof EntityParams as `entity${Capitalize<string & K>}`]?: EntityParams[K];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAkMA,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,2CAAQ,CAAA;IACR,iDAAW,CAAA;IACX,yCAAO,CAAA;IACP,uCAAM,CAAA;AACR,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AA+NA,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,2CAAQ,CAAA;IACR,iDAAW,CAAA;IACX,yCAAO,CAAA;IACP,uCAAM,CAAA;AACR,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geoprotocol/geo-sdk",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "license": "MIT",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -18,7 +18,7 @@
18
18
  "./abis": "./dist/abis.js"
19
19
  },
20
20
  "dependencies": {
21
- "@geoprotocol/grc-20": "^0.2.2",
21
+ "@geoprotocol/grc-20": "^0.2.3",
22
22
  "effect": "^3.17.13",
23
23
  "fflate": "^0.8.2",
24
24
  "fractional-indexing-jittered": "^1.0.0",