@geoprotocol/geo-sdk 0.19.1 → 0.19.2

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 (135) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/abis/dao-space-factory.d.ts +6 -43
  6. package/dist/src/abis/dao-space-factory.d.ts.map +1 -1
  7. package/dist/src/abis/dao-space-factory.js +27 -38
  8. package/dist/src/abis/dao-space-factory.js.map +1 -1
  9. package/dist/src/abis/dao-space.d.ts +7 -98
  10. package/dist/src/abis/dao-space.d.ts.map +1 -1
  11. package/dist/src/abis/dao-space.js +99 -61
  12. package/dist/src/abis/dao-space.js.map +1 -1
  13. package/dist/src/abis/index.d.ts +2 -2
  14. package/dist/src/abis/index.d.ts.map +1 -1
  15. package/dist/src/abis/index.js +2 -2
  16. package/dist/src/abis/index.js.map +1 -1
  17. package/dist/src/abis/space-registry.d.ts +0 -26
  18. package/dist/src/abis/space-registry.d.ts.map +1 -1
  19. package/dist/src/abis/space-registry.js +0 -33
  20. package/dist/src/abis/space-registry.js.map +1 -1
  21. package/dist/src/client/dao-spaces.d.ts +33 -93
  22. package/dist/src/client/dao-spaces.d.ts.map +1 -1
  23. package/dist/src/client/dao-spaces.js +42 -174
  24. package/dist/src/client/dao-spaces.js.map +1 -1
  25. package/dist/src/client/dao-spaces.test.js +79 -313
  26. package/dist/src/client/dao-spaces.test.js.map +1 -1
  27. package/dist/src/client/personal-spaces.d.ts +0 -74
  28. package/dist/src/client/personal-spaces.d.ts.map +1 -1
  29. package/dist/src/client/personal-spaces.js +2 -82
  30. package/dist/src/client/personal-spaces.js.map +1 -1
  31. package/dist/src/client/spaces.test.js +7 -27
  32. package/dist/src/client/spaces.test.js.map +1 -1
  33. package/dist/src/client.d.ts +16 -33
  34. package/dist/src/client.d.ts.map +1 -1
  35. package/dist/src/client.js +60 -102
  36. package/dist/src/client.js.map +1 -1
  37. package/dist/src/client.test.js +3 -8
  38. package/dist/src/client.test.js.map +1 -1
  39. package/dist/src/dao-space/constants.d.ts +0 -10
  40. package/dist/src/dao-space/constants.d.ts.map +1 -1
  41. package/dist/src/dao-space/constants.js +0 -10
  42. package/dist/src/dao-space/constants.js.map +1 -1
  43. package/dist/src/dao-space/execute-proposal.d.ts +1 -1
  44. package/dist/src/dao-space/execute-proposal.js +2 -2
  45. package/dist/src/dao-space/execute-proposal.js.map +1 -1
  46. package/dist/src/dao-space/index.d.ts +1 -2
  47. package/dist/src/dao-space/index.d.ts.map +1 -1
  48. package/dist/src/dao-space/index.js +0 -1
  49. package/dist/src/dao-space/index.js.map +1 -1
  50. package/dist/src/dao-space/propose-add-editor.d.ts +20 -1
  51. package/dist/src/dao-space/propose-add-editor.d.ts.map +1 -1
  52. package/dist/src/dao-space/propose-add-editor.js +87 -12
  53. package/dist/src/dao-space/propose-add-editor.js.map +1 -1
  54. package/dist/src/dao-space/propose-add-editor.test.js +4 -16
  55. package/dist/src/dao-space/propose-add-editor.test.js.map +1 -1
  56. package/dist/src/dao-space/propose-add-member.d.ts +20 -1
  57. package/dist/src/dao-space/propose-add-member.d.ts.map +1 -1
  58. package/dist/src/dao-space/propose-add-member.js +87 -12
  59. package/dist/src/dao-space/propose-add-member.js.map +1 -1
  60. package/dist/src/dao-space/propose-add-member.test.js +0 -13
  61. package/dist/src/dao-space/propose-add-member.test.js.map +1 -1
  62. package/dist/src/dao-space/propose-edit.test.js +0 -45
  63. package/dist/src/dao-space/propose-edit.test.js.map +1 -1
  64. package/dist/src/dao-space/propose-remove-editor.d.ts +22 -1
  65. package/dist/src/dao-space/propose-remove-editor.d.ts.map +1 -1
  66. package/dist/src/dao-space/propose-remove-editor.js +94 -12
  67. package/dist/src/dao-space/propose-remove-editor.js.map +1 -1
  68. package/dist/src/dao-space/propose-remove-editor.test.js +4 -22
  69. package/dist/src/dao-space/propose-remove-editor.test.js.map +1 -1
  70. package/dist/src/dao-space/propose-remove-member.d.ts +22 -1
  71. package/dist/src/dao-space/propose-remove-member.d.ts.map +1 -1
  72. package/dist/src/dao-space/propose-remove-member.js +94 -12
  73. package/dist/src/dao-space/propose-remove-member.js.map +1 -1
  74. package/dist/src/dao-space/propose-remove-member.test.js +0 -19
  75. package/dist/src/dao-space/propose-remove-member.test.js.map +1 -1
  76. package/dist/src/dao-space/types.d.ts +11 -72
  77. package/dist/src/dao-space/types.d.ts.map +1 -1
  78. package/dist/src/dao-space/vote-proposal.d.ts +1 -1
  79. package/dist/src/dao-space/vote-proposal.js +2 -2
  80. package/dist/src/dao-space/vote-proposal.js.map +1 -1
  81. package/dist/src/dao-space/vote-proposal.test.js +0 -54
  82. package/dist/src/dao-space/vote-proposal.test.js.map +1 -1
  83. package/dist/src/e2e-api-surface.test.d.ts +2 -0
  84. package/dist/src/e2e-api-surface.test.d.ts.map +1 -0
  85. package/dist/src/{api-surface.e2e.test.js → e2e-api-surface.test.js} +101 -286
  86. package/dist/src/e2e-api-surface.test.js.map +1 -0
  87. package/dist/src/e2e-legacy-api-surface.test.d.ts +2 -0
  88. package/dist/src/e2e-legacy-api-surface.test.d.ts.map +1 -0
  89. package/dist/src/{legacy-api-surface.e2e.test.js → e2e-legacy-api-surface.test.js} +70 -90
  90. package/dist/src/e2e-legacy-api-surface.test.js.map +1 -0
  91. package/dist/src/encodings/get-create-dao-space-calldata.d.ts +21 -34
  92. package/dist/src/encodings/get-create-dao-space-calldata.d.ts.map +1 -1
  93. package/dist/src/encodings/get-create-dao-space-calldata.js +35 -64
  94. package/dist/src/encodings/get-create-dao-space-calldata.js.map +1 -1
  95. package/dist/src/encodings/get-create-dao-space-calldata.test.js +64 -94
  96. package/dist/src/encodings/get-create-dao-space-calldata.test.js.map +1 -1
  97. package/dist/src/full-flow-test.test.js +2 -5
  98. package/dist/src/full-flow-test.test.js.map +1 -1
  99. package/dist/src/personal-space/constants.d.ts +1 -1
  100. package/dist/src/personal-space/constants.d.ts.map +1 -1
  101. package/dist/src/personal-space/constants.js +1 -1
  102. package/dist/src/personal-space/constants.js.map +1 -1
  103. package/dist/src/personal-space/create-space.d.ts +2 -2
  104. package/dist/src/personal-space/create-space.d.ts.map +1 -1
  105. package/dist/src/personal-space/create-space.js +3 -4
  106. package/dist/src/personal-space/create-space.js.map +1 -1
  107. package/dist/src/personal-space/types.d.ts +1 -4
  108. package/dist/src/personal-space/types.d.ts.map +1 -1
  109. package/package.json +1 -1
  110. package/dist/src/abis/dao-space-v2.test.d.ts +0 -2
  111. package/dist/src/abis/dao-space-v2.test.d.ts.map +0 -1
  112. package/dist/src/abis/dao-space-v2.test.js +0 -67
  113. package/dist/src/abis/dao-space-v2.test.js.map +0 -1
  114. package/dist/src/api-surface.e2e.test.d.ts +0 -2
  115. package/dist/src/api-surface.e2e.test.d.ts.map +0 -1
  116. package/dist/src/api-surface.e2e.test.js.map +0 -1
  117. package/dist/src/contracts-v2/local-geobrowser.e2e.test.d.ts +0 -2
  118. package/dist/src/contracts-v2/local-geobrowser.e2e.test.d.ts.map +0 -1
  119. package/dist/src/contracts-v2/local-geobrowser.e2e.test.js +0 -239
  120. package/dist/src/contracts-v2/local-geobrowser.e2e.test.js.map +0 -1
  121. package/dist/src/dao-space/propose-update-voting-settings.d.ts +0 -8
  122. package/dist/src/dao-space/propose-update-voting-settings.d.ts.map +0 -1
  123. package/dist/src/dao-space/propose-update-voting-settings.js +0 -19
  124. package/dist/src/dao-space/propose-update-voting-settings.js.map +0 -1
  125. package/dist/src/dao-space/propose-update-voting-settings.test.d.ts +0 -2
  126. package/dist/src/dao-space/propose-update-voting-settings.test.d.ts.map +0 -1
  127. package/dist/src/dao-space/propose-update-voting-settings.test.js +0 -118
  128. package/dist/src/dao-space/propose-update-voting-settings.test.js.map +0 -1
  129. package/dist/src/e2e-test-environment.d.ts +0 -26
  130. package/dist/src/e2e-test-environment.d.ts.map +0 -1
  131. package/dist/src/e2e-test-environment.js +0 -150
  132. package/dist/src/e2e-test-environment.js.map +0 -1
  133. package/dist/src/legacy-api-surface.e2e.test.d.ts +0 -2
  134. package/dist/src/legacy-api-surface.e2e.test.d.ts.map +0 -1
  135. package/dist/src/legacy-api-surface.e2e.test.js.map +0 -1
@@ -1,10 +1,9 @@
1
- import { createPublicClient, createWalletClient, http, parseEther } from 'viem';
2
- import { generatePrivateKey, privateKeyToAccount } from 'viem/accounts';
1
+ import { createPublicClient, createWalletClient, http } from 'viem';
2
+ import { privateKeyToAccount } from 'viem/accounts';
3
3
  import { describe, expect, it } from 'vitest';
4
- import { createGeoClient, Ops } from '../index.js';
4
+ import { createGeoClient, defineGeoNetworkConfig, GeoTestnetConfig, Ops } from '../index.js';
5
5
  import { SpaceRegistryAbi } from './abis/index.js';
6
6
  import { DESCRIPTION_PROPERTY, RELATION_TYPE, REPLY_TO_PROPERTY } from './core/ids/system.js';
7
- import { createE2ETestEnvironment } from './e2e-test-environment.js';
8
7
  import { deriveCommentName } from './graph/comment-utils.js';
9
8
  import { generate, toGrcId } from './id-utils.js';
10
9
  const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
@@ -12,38 +11,48 @@ const EMPTY_SPACE_ID = '0x00000000000000000000000000000000';
12
11
  const INDEXER_TIMEOUT_MS = 120_000;
13
12
  const TEST_TIMEOUT_MS = 600_000;
14
13
  const replyToGrcId = toGrcId(REPLY_TO_PROPERTY);
15
- let cachedE2E;
16
- function getE2E() {
17
- cachedE2E ??= createE2ETestEnvironment();
18
- return cachedE2E;
19
- }
20
- const e2e = new Proxy({}, {
21
- get(_target, property) {
22
- return getE2E()[property];
23
- },
14
+ const geo = createGeoClient({
15
+ network: defineGeoNetworkConfig(GeoTestnetConfig),
24
16
  });
25
- let cachedGeo;
26
- function getGeo() {
27
- cachedGeo ??= createGeoClient({ network: getE2E().network });
28
- return cachedGeo;
17
+ function sleep(ms) {
18
+ return new Promise(resolve => setTimeout(resolve, ms));
29
19
  }
30
- const geo = new Proxy({}, {
31
- get(_target, property) {
32
- return getGeo()[property];
33
- },
34
- });
35
- class GraphQlRequestError extends Error {
36
- errors;
37
- constructor(errors) {
38
- super(`GraphQL errors: ${JSON.stringify(errors)}`);
39
- this.errors = errors;
20
+ function requireTestnetContract(name) {
21
+ const address = GeoTestnetConfig.contracts?.[name];
22
+ if (!address) {
23
+ throw new Error(`GeoTestnetConfig is missing ${name}`);
40
24
  }
41
- hasValidationError() {
42
- return JSON.stringify(this.errors).includes('GRAPHQL_VALIDATION_FAILED');
25
+ return address;
26
+ }
27
+ function requireTestnetRpcUrl() {
28
+ const rpcUrl = GeoTestnetConfig.chain?.rpcUrl;
29
+ if (!rpcUrl) {
30
+ throw new Error('GeoTestnetConfig is missing an RPC URL');
43
31
  }
32
+ return rpcUrl;
44
33
  }
45
- function sleep(ms) {
46
- return new Promise(resolve => setTimeout(resolve, ms));
34
+ function createTestnetChain(rpcUrl) {
35
+ const chainConfig = GeoTestnetConfig.chain;
36
+ if (!chainConfig) {
37
+ throw new Error('GeoTestnetConfig is missing chain config');
38
+ }
39
+ return {
40
+ id: chainConfig.id,
41
+ name: chainConfig.name,
42
+ nativeCurrency: {
43
+ name: 'Ethereum',
44
+ symbol: 'ETH',
45
+ decimals: 18,
46
+ },
47
+ rpcUrls: {
48
+ default: {
49
+ http: [rpcUrl],
50
+ },
51
+ public: {
52
+ http: [rpcUrl],
53
+ },
54
+ },
55
+ };
47
56
  }
48
57
  function filterReplyToRelations(ops) {
49
58
  return ops.filter((op) => op.type === 'createRelation' &&
@@ -103,19 +112,14 @@ function proposalQuery(proposalId) {
103
112
  id
104
113
  spaceId
105
114
  proposedBy
106
- currentVersion
107
- proposalVersions {
108
- proposalVersion
109
- votingMode
110
- name
111
- yesCount
112
- noCount
113
- abstainCount
114
- }
115
+ votingMode
116
+ name
117
+ yesCount
118
+ noCount
119
+ abstainCount
115
120
  }
116
121
  proposalActions(condition: { proposalId: ${JSON.stringify(id)} }) {
117
122
  proposalId
118
- proposalVersion
119
123
  actionType
120
124
  targetId
121
125
  contentUri
@@ -163,7 +167,7 @@ function spaceTopicQuery(spaceId) {
163
167
  async function queryGraph(query) {
164
168
  const response = await geo.api.graphql(query);
165
169
  if (response.errors) {
166
- throw new GraphQlRequestError(response.errors);
170
+ throw new Error(`GraphQL errors: ${JSON.stringify(response.errors)}`);
167
171
  }
168
172
  if (response.data === undefined) {
169
173
  throw new Error('GraphQL response did not include data');
@@ -183,9 +187,6 @@ async function waitFor(label, read, predicate) {
183
187
  }
184
188
  }
185
189
  catch (error) {
186
- if (error instanceof GraphQlRequestError && error.hasValidationError()) {
187
- throw error;
188
- }
189
190
  lastError = error;
190
191
  }
191
192
  await sleep(3_000);
@@ -220,22 +221,19 @@ async function waitForProposal(proposalId, expected) {
220
221
  if (proposal.proposedBy !== expected.proposedBy.replaceAll('-', '')) {
221
222
  return false;
222
223
  }
223
- const currentVersion = proposal.proposalVersions.find(version => version.proposalVersion === proposal.currentVersion);
224
- if (expected.votingMode && currentVersion?.votingMode !== expected.votingMode) {
224
+ if (expected.votingMode && proposal.votingMode !== expected.votingMode) {
225
225
  return false;
226
226
  }
227
227
  if (!expected.actionType)
228
228
  return true;
229
- const expectedActionTypes = Array.isArray(expected.actionType) ? expected.actionType : [expected.actionType];
230
- return value.proposalActions.some(action => expectedActionTypes.includes(action.actionType) &&
229
+ return value.proposalActions.some(action => action.actionType === expected.actionType &&
231
230
  (expected.targetId === undefined ||
232
231
  action.targetId === expected.targetId.replace(/^0x/, '').replaceAll('-', '')) &&
233
232
  (expected.contentUri === undefined || action.contentUri === expected.contentUri));
234
233
  });
235
234
  expect(data.proposals[0]?.id).toBe(proposalUuid(proposalId));
236
235
  if (expected.actionType) {
237
- const expectedActionTypes = Array.isArray(expected.actionType) ? expected.actionType : [expected.actionType];
238
- expect(data.proposalActions.some(action => expectedActionTypes.includes(action.actionType))).toBe(true);
236
+ expect(data.proposalActions.map(action => action.actionType)).toContain(expected.actionType);
239
237
  }
240
238
  return data;
241
239
  }
@@ -258,17 +256,9 @@ async function readSpaceTopicId(spaceId) {
258
256
  const data = await queryGraph(spaceTopicQuery(spaceId));
259
257
  return data.spaces[0]?.topicId ?? null;
260
258
  }
261
- async function readArchivedSpaceId(publicClient, spaceId) {
262
- return (await publicClient.readContract({
263
- address: e2e.contracts.SPACE_REGISTRY_ADDRESS,
264
- abi: SpaceRegistryAbi,
265
- functionName: 'archivedSpaceIds',
266
- args: [spaceId],
267
- }));
268
- }
269
259
  async function getSpaceIdHex(publicClient, address) {
270
260
  return (await publicClient.readContract({
271
- address: e2e.contracts.SPACE_REGISTRY_ADDRESS,
261
+ address: requireTestnetContract('SPACE_REGISTRY_ADDRESS'),
272
262
  abi: SpaceRegistryAbi,
273
263
  functionName: 'addressToSpaceId',
274
264
  args: [address],
@@ -325,65 +315,28 @@ async function ensurePersonalSpace({ accountAddress, account, publicClient, wall
325
315
  spaceId: hexToUuid(spaceIdHex),
326
316
  };
327
317
  }
328
- async function setupWallet(privateKey = e2e.privateKey) {
318
+ async function setupWallet() {
319
+ const privateKey = process.env.PRIVATE_KEY;
320
+ if (!privateKey) {
321
+ throw new Error('PRIVATE_KEY environment variable is required.');
322
+ }
323
+ if (!privateKey.startsWith('0x')) {
324
+ throw new Error('PRIVATE_KEY must be a hex string starting with 0x.');
325
+ }
326
+ const rpcUrl = requireTestnetRpcUrl();
329
327
  const account = privateKeyToAccount(privateKey);
328
+ const chain = createTestnetChain(rpcUrl);
330
329
  const walletClient = createWalletClient({
331
330
  account,
332
- chain: e2e.chain,
333
- transport: http(e2e.rpcUrl),
331
+ chain,
332
+ transport: http(rpcUrl),
334
333
  });
335
334
  const publicClient = createPublicClient({
336
- chain: e2e.chain,
337
- transport: http(e2e.rpcUrl),
335
+ chain,
336
+ transport: http(rpcUrl),
338
337
  });
339
338
  return { account, publicClient, walletClient };
340
339
  }
341
- async function advanceLocalTime(seconds) {
342
- for (const [index, request] of [
343
- { method: 'evm_increaseTime', params: [seconds] },
344
- { method: 'evm_mine', params: [] },
345
- ].entries()) {
346
- const response = await fetch(e2e.rpcUrl, {
347
- method: 'POST',
348
- headers: { 'Content-Type': 'application/json' },
349
- body: JSON.stringify({
350
- jsonrpc: '2.0',
351
- id: Date.now() + index,
352
- ...request,
353
- }),
354
- });
355
- const body = (await response.json());
356
- if (!response.ok || body.error) {
357
- throw new Error(`Local RPC ${request.method} failed: ${body.error?.message ?? response.statusText}`);
358
- }
359
- }
360
- }
361
- async function createDisposablePersonalSpace(context, name = uniqueName('E2E Disposable Personal Space')) {
362
- const disposable = await setupWallet(generatePrivateKey());
363
- await sendTransactionAndWait(context, {
364
- label: 'fund disposable personal space account',
365
- to: disposable.account.address,
366
- calldata: '0x',
367
- value: parseEther('1'),
368
- });
369
- const createSpace = geo.personalSpaces.create({
370
- name,
371
- accountAddress: disposable.account.address,
372
- });
373
- await sendTransactionAndWait(disposable, {
374
- label: 'create disposable personal space',
375
- to: createSpace.to,
376
- calldata: createSpace.calldata,
377
- });
378
- const spaceIdHex = await getSpaceIdHex(disposable.publicClient, disposable.account.address);
379
- expect(spaceIdHex.toLowerCase()).not.toBe(EMPTY_SPACE_ID.toLowerCase());
380
- return {
381
- ...disposable,
382
- spaceIdHex,
383
- spaceId: hexToUuid(spaceIdHex),
384
- authorSpaceId: hexToUuid(spaceIdHex),
385
- };
386
- }
387
340
  async function sendTransactionAndWait({ account, publicClient, walletClient }, { label, to, calldata, value = 0n, }) {
388
341
  const [latestNonce, pendingNonce] = await Promise.all([
389
342
  publicClient.getTransactionCount({
@@ -471,13 +424,10 @@ async function getDaoContext() {
471
424
  const daoSpace = await geo.daoSpaces.create({
472
425
  name: daoName,
473
426
  votingSettings: {
474
- partialPercentageSupportThreshold: 50,
475
- universalPercentageSupportThreshold: 90,
476
- flatSupportThreshold: 1,
427
+ slowPathPercentageThreshold: 50,
428
+ fastPathFlatThreshold: 1,
477
429
  quorum: 1,
478
430
  durationInDays: 2,
479
- disableFastPathAccessForNewMembers: true,
480
- executionGracePeriodInDays: 14,
481
431
  },
482
432
  initialEditorSpaceIds: [context.spaceIdHex],
483
433
  author: context.authorSpaceId,
@@ -506,42 +456,6 @@ async function getDaoContext() {
506
456
  })();
507
457
  return daoContextPromise;
508
458
  }
509
- async function createDisposableDaoContext(context) {
510
- const daoName = uniqueName('E2E Disposable DAO Space');
511
- const daoSpace = await geo.daoSpaces.create({
512
- name: daoName,
513
- votingSettings: {
514
- partialPercentageSupportThreshold: 50,
515
- universalPercentageSupportThreshold: 90,
516
- flatSupportThreshold: 1,
517
- quorum: 1,
518
- durationInDays: 2,
519
- disableFastPathAccessForNewMembers: true,
520
- executionGracePeriodInDays: 14,
521
- },
522
- initialEditorSpaceIds: [context.spaceIdHex],
523
- author: context.authorSpaceId,
524
- });
525
- const daoCreateTx = await sendTransactionAndWait(context, {
526
- label: 'create disposable new API DAO space',
527
- to: daoSpace.to,
528
- calldata: daoSpace.calldata,
529
- });
530
- const daoSpaceAddress = daoCreateTx.receipt.logs.find(log => log.address.toLowerCase() !== daoSpace.to.toLowerCase())
531
- ?.address;
532
- if (!daoSpaceAddress) {
533
- throw new Error('Could not find disposable DAO space address in creation logs');
534
- }
535
- const daoSpaceIdHex = await getSpaceIdHex(context.publicClient, daoSpaceAddress);
536
- expect(daoSpaceIdHex.toLowerCase()).not.toBe(EMPTY_SPACE_ID.toLowerCase());
537
- return {
538
- ...context,
539
- daoSpaceAddress,
540
- daoSpaceId: hexToUuid(daoSpaceIdHex),
541
- daoSpaceIdHex,
542
- daoSpaceEntityId: daoSpace.spaceEntityId,
543
- };
544
- }
545
459
  async function createAddMemberProposal(context, label) {
546
460
  const proposal = geo.daoSpaces.proposeAddMember({
547
461
  authorSpaceId: context.spaceIdHex,
@@ -563,6 +477,7 @@ async function createAddMemberProposal(context, label) {
563
477
  });
564
478
  return proposal;
565
479
  }
480
+ // describe.skip('new API e2e surface', () => {
566
481
  describe.sequential('new API e2e surface', () => {
567
482
  it('geo.personalSpaces.hasSpace validates the account space onchain', async () => {
568
483
  const context = await getTestContext();
@@ -571,83 +486,13 @@ describe.sequential('new API e2e surface', () => {
571
486
  });
572
487
  expect(hasSpace).toBe(true);
573
488
  const spaceAddress = (await context.publicClient.readContract({
574
- address: e2e.contracts.SPACE_REGISTRY_ADDRESS,
489
+ address: requireTestnetContract('SPACE_REGISTRY_ADDRESS'),
575
490
  abi: SpaceRegistryAbi,
576
491
  functionName: 'spaceIdToAddress',
577
492
  args: [context.spaceIdHex],
578
493
  }));
579
494
  expect(spaceAddress.toLowerCase()).not.toBe(ZERO_ADDRESS.toLowerCase());
580
495
  }, TEST_TIMEOUT_MS);
581
- it('geo.personalSpaces.archiveSpace and recoverSpace update the caller space archive status', async () => {
582
- const context = await getTestContext();
583
- if (await readArchivedSpaceId(context.publicClient, context.spaceIdHex)) {
584
- const recoverExisting = geo.personalSpaces.recoverSpace();
585
- await sendTransactionAndWait(context, {
586
- label: 'recover pre-archived personal space',
587
- to: recoverExisting.to,
588
- calldata: recoverExisting.calldata,
589
- });
590
- }
591
- let shouldRecover = false;
592
- try {
593
- const archive = geo.personalSpaces.archiveSpace();
594
- await sendTransactionAndWait(context, {
595
- label: 'archive personal space',
596
- to: archive.to,
597
- calldata: archive.calldata,
598
- });
599
- shouldRecover = true;
600
- expect(await readArchivedSpaceId(context.publicClient, context.spaceIdHex)).toBe(true);
601
- const recover = geo.personalSpaces.recoverSpace();
602
- await sendTransactionAndWait(context, {
603
- label: 'recover personal space',
604
- to: recover.to,
605
- calldata: recover.calldata,
606
- });
607
- shouldRecover = false;
608
- expect(await readArchivedSpaceId(context.publicClient, context.spaceIdHex)).toBe(false);
609
- }
610
- finally {
611
- if (shouldRecover) {
612
- const recover = geo.personalSpaces.recoverSpace();
613
- await sendTransactionAndWait(context, {
614
- label: 'recover personal space after failed archive test',
615
- to: recover.to,
616
- calldata: recover.calldata,
617
- });
618
- }
619
- }
620
- }, TEST_TIMEOUT_MS);
621
- it('geo.personalSpaces.clearSpace unregisters a disposable archived personal space locally', async () => {
622
- if (!e2e.localGeobrowserPath) {
623
- return;
624
- }
625
- const context = await getTestContext();
626
- const disposable = await createDisposablePersonalSpace(context);
627
- const archive = geo.personalSpaces.archiveSpace();
628
- await sendTransactionAndWait(disposable, {
629
- label: 'archive disposable personal space',
630
- to: archive.to,
631
- calldata: archive.calldata,
632
- });
633
- expect(await readArchivedSpaceId(disposable.publicClient, disposable.spaceIdHex)).toBe(true);
634
- const clear = geo.personalSpaces.clearSpace();
635
- await sendTransactionAndWait(disposable, {
636
- label: 'clear disposable personal space',
637
- to: clear.to,
638
- calldata: clear.calldata,
639
- });
640
- const registeredSpaceId = await getSpaceIdHex(disposable.publicClient, disposable.account.address);
641
- const registeredAddress = (await disposable.publicClient.readContract({
642
- address: e2e.contracts.SPACE_REGISTRY_ADDRESS,
643
- abi: SpaceRegistryAbi,
644
- functionName: 'spaceIdToAddress',
645
- args: [disposable.spaceIdHex],
646
- }));
647
- expect(registeredSpaceId.toLowerCase()).toBe(EMPTY_SPACE_ID.toLowerCase());
648
- expect(registeredAddress.toLowerCase()).toBe(ZERO_ADDRESS.toLowerCase());
649
- expect(await readArchivedSpaceId(disposable.publicClient, disposable.spaceIdHex)).toBe(false);
650
- }, TEST_TIMEOUT_MS);
651
496
  it('geo.personalSpaces.setTopic updates the indexed space topic and restores the previous topic', async () => {
652
497
  const context = await getTestContext();
653
498
  const previousTopicId = await readSpaceTopicId(context.spaceId);
@@ -986,45 +831,6 @@ describe.sequential('new API e2e surface', () => {
986
831
  expect(dao.daoSpaceIdHex.toLowerCase()).not.toBe(EMPTY_SPACE_ID.toLowerCase());
987
832
  expect(await readSpaceTopicId(dao.daoSpaceId)).toBe(dao.daoSpaceEntityId);
988
833
  }, TEST_TIMEOUT_MS);
989
- it('geo.daoSpaces.proposeArchiveSpace archives a disposable DAO space locally', async () => {
990
- if (!e2e.localGeobrowserPath) {
991
- return;
992
- }
993
- const context = await getTestContext();
994
- const dao = await createDisposableDaoContext(context);
995
- const proposal = geo.daoSpaces.proposeArchiveSpace({
996
- authorSpaceId: dao.spaceIdHex,
997
- spaceId: dao.daoSpaceIdHex,
998
- });
999
- await sendTransactionAndWait(dao, {
1000
- label: 'new API DAO propose archive space',
1001
- to: proposal.to,
1002
- calldata: proposal.calldata,
1003
- });
1004
- const vote = geo.daoSpaces.voteProposal({
1005
- authorSpaceId: dao.spaceIdHex,
1006
- spaceId: dao.daoSpaceIdHex,
1007
- proposalId: proposal.proposalId,
1008
- vote: 'YES',
1009
- });
1010
- await sendTransactionAndWait(dao, {
1011
- label: 'new API DAO vote archive space',
1012
- to: vote.to,
1013
- calldata: vote.calldata,
1014
- });
1015
- await advanceLocalTime(2 * 24 * 60 * 60 + 60);
1016
- const execute = geo.daoSpaces.executeProposal({
1017
- authorSpaceId: dao.spaceIdHex,
1018
- spaceId: dao.daoSpaceIdHex,
1019
- proposalId: proposal.proposalId,
1020
- });
1021
- await sendTransactionAndWait(dao, {
1022
- label: 'new API DAO execute archive space',
1023
- to: execute.to,
1024
- calldata: execute.calldata,
1025
- });
1026
- expect(await readArchivedSpaceId(dao.publicClient, dao.daoSpaceIdHex)).toBe(true);
1027
- }, TEST_TIMEOUT_MS);
1028
834
  it('geo.daoSpaces.proposeEdit creates an indexed publish proposal', async () => {
1029
835
  const dao = await getDaoContext();
1030
836
  const daoEntity = Ops.entities.create({
@@ -1048,7 +854,8 @@ describe.sequential('new API e2e surface', () => {
1048
854
  daoSpaceId: dao.daoSpaceId,
1049
855
  proposedBy: dao.authorSpaceId,
1050
856
  votingMode: 'FAST',
1051
- actionType: ['PUBLISH', 'UNKNOWN'],
857
+ actionType: 'PUBLISH',
858
+ contentUri: proposal.cid,
1052
859
  });
1053
860
  }, TEST_TIMEOUT_MS);
1054
861
  it('geo.daoSpaces.proposeAddMember creates an indexed add-member proposal', async () => {
@@ -1147,38 +954,30 @@ describe.sequential('new API e2e surface', () => {
1147
954
  targetId: dao.authorSpaceId,
1148
955
  });
1149
956
  }, TEST_TIMEOUT_MS);
1150
- it('geo.daoSpaces.proposeUpdateVotingSettings creates an indexed update-voting-settings proposal', async () => {
957
+ it('geo.daoSpaces.proposals.create creates an indexed custom proposal', async () => {
1151
958
  const dao = await getDaoContext();
1152
- const proposal = geo.daoSpaces.proposeUpdateVotingSettings({
1153
- authorSpaceId: dao.spaceIdHex,
1154
- spaceId: dao.daoSpaceIdHex,
1155
- daoSpaceAddress: dao.daoSpaceAddress,
1156
- votingSettings: {
1157
- partialPercentageSupportThreshold: 50,
1158
- universalPercentageSupportThreshold: 90,
1159
- flatSupportThreshold: 1,
1160
- quorum: 1,
1161
- durationInDays: 2,
1162
- disableFastPathAccessForNewMembers: true,
1163
- executionGracePeriodInDays: 14,
1164
- },
959
+ const proposal = geo.daoSpaces.proposals.create({
960
+ fromSpaceId: dao.spaceIdHex,
961
+ daoSpaceId: dao.daoSpaceIdHex,
962
+ actions: [geo.daoSpaces.proposals.actions.addMember(dao.daoSpaceAddress, dao.spaceIdHex)],
1165
963
  });
1166
964
  await sendTransactionAndWait(dao, {
1167
- label: 'new API DAO propose update voting settings',
965
+ label: 'new API DAO custom proposal',
1168
966
  to: proposal.to,
1169
967
  calldata: proposal.calldata,
1170
968
  });
1171
969
  await waitForProposal(proposal.proposalId, {
1172
970
  daoSpaceId: dao.daoSpaceId,
1173
971
  proposedBy: dao.authorSpaceId,
1174
- votingMode: 'SLOW',
1175
- actionType: 'UPDATE_VOTING_SETTINGS',
972
+ votingMode: 'FAST',
973
+ actionType: 'ADD_MEMBER',
974
+ targetId: dao.spaceId,
1176
975
  });
1177
976
  }, TEST_TIMEOUT_MS);
1178
- it('geo.daoSpaces.voteProposal creates an indexed proposal vote', async () => {
977
+ it('geo.daoSpaces.proposals.vote creates an indexed proposal vote', async () => {
1179
978
  const dao = await getDaoContext();
1180
979
  const proposal = await createAddMemberProposal(dao, 'new API DAO proposal for vote');
1181
- const vote = geo.daoSpaces.voteProposal({
980
+ const vote = geo.daoSpaces.proposals.vote({
1182
981
  authorSpaceId: dao.spaceIdHex,
1183
982
  spaceId: dao.daoSpaceIdHex,
1184
983
  proposalId: proposal.proposalId,
@@ -1191,16 +990,32 @@ describe.sequential('new API e2e surface', () => {
1191
990
  });
1192
991
  await waitForProposalVote(proposal.proposalId, dao.authorSpaceId, dao.daoSpaceId, 'YES');
1193
992
  }, TEST_TIMEOUT_MS);
1194
- it('geo.daoSpaces.executeProposal builds execute calldata for an indexed proposal', async () => {
993
+ it('geo.daoSpaces.proposals.execute builds execute calldata for an indexed proposal', async () => {
1195
994
  const dao = await getDaoContext();
1196
995
  const proposal = await createAddMemberProposal(dao, 'new API DAO proposal for execute calldata');
1197
- const execute = geo.daoSpaces.executeProposal({
996
+ const execute = geo.daoSpaces.proposals.execute({
1198
997
  authorSpaceId: dao.spaceIdHex,
1199
998
  spaceId: dao.daoSpaceIdHex,
1200
999
  proposalId: proposal.proposalId,
1201
1000
  });
1202
- expect(execute.to).toBe(e2e.contracts.SPACE_REGISTRY_ADDRESS);
1001
+ expect(execute.to).toBe(requireTestnetContract('SPACE_REGISTRY_ADDRESS'));
1203
1002
  expect(execute.calldata).toMatch(/^0x[0-9a-fA-F]+$/);
1204
1003
  }, TEST_TIMEOUT_MS);
1004
+ it('geo.daoSpaces.proposals.actions build proposal actions for custom proposals', async () => {
1005
+ const dao = await getDaoContext();
1006
+ const publishAction = geo.daoSpaces.proposals.actions.publishEdit(dao.daoSpaceAddress, 'ipfs://QmP6aJhM3SgoRSPUccBQK9VMHNqqezixG1Qvjy2xPWvPh5');
1007
+ const updateVotingAction = geo.daoSpaces.proposals.actions.updateVotingSettings(dao.daoSpaceAddress, {
1008
+ slowPathPercentageThreshold: 50,
1009
+ fastPathFlatThreshold: 1,
1010
+ quorum: 1,
1011
+ durationInDays: 2,
1012
+ });
1013
+ expect(publishAction.to).toBe(dao.daoSpaceAddress);
1014
+ expect(updateVotingAction.to).toBe(dao.daoSpaceAddress);
1015
+ expect(geo.daoSpaces.proposals.actions.addMember(dao.daoSpaceAddress, dao.spaceIdHex).data).toMatch(/^0x/);
1016
+ expect(geo.daoSpaces.proposals.actions.removeMember(dao.daoSpaceAddress, dao.spaceIdHex).data).toMatch(/^0x/);
1017
+ expect(geo.daoSpaces.proposals.actions.addEditor(dao.daoSpaceAddress, dao.spaceIdHex).data).toMatch(/^0x/);
1018
+ expect(geo.daoSpaces.proposals.actions.removeEditor(dao.daoSpaceAddress, dao.spaceIdHex).data).toMatch(/^0x/);
1019
+ }, TEST_TIMEOUT_MS);
1205
1020
  });
1206
- //# sourceMappingURL=api-surface.e2e.test.js.map
1021
+ //# sourceMappingURL=e2e-api-surface.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"e2e-api-surface.test.js","sourceRoot":"","sources":["../../src/e2e-api-surface.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=e2e-legacy-api-surface.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"e2e-legacy-api-surface.test.d.ts","sourceRoot":"","sources":["../../src/e2e-legacy-api-surface.test.ts"],"names":[],"mappings":""}