@geoprotocol/geo-sdk 0.19.2 → 0.19.4

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 (87) hide show
  1. package/dist/examples/ranks/create-ordinal-rank.d.ts +1 -1
  2. package/dist/examples/ranks/create-ordinal-rank.js +9 -6
  3. package/dist/examples/ranks/create-ordinal-rank.js.map +1 -1
  4. package/dist/examples/ranks/create-weighted-rank.d.ts +1 -1
  5. package/dist/examples/ranks/create-weighted-rank.js +9 -6
  6. package/dist/examples/ranks/create-weighted-rank.js.map +1 -1
  7. package/dist/src/abis/dao-space-v2.test.d.ts +2 -0
  8. package/dist/src/abis/dao-space-v2.test.d.ts.map +1 -0
  9. package/dist/src/abis/dao-space-v2.test.js +67 -0
  10. package/dist/src/abis/dao-space-v2.test.js.map +1 -0
  11. package/dist/src/api-surface.e2e.test.d.ts +2 -0
  12. package/dist/src/api-surface.e2e.test.d.ts.map +1 -0
  13. package/dist/src/api-surface.e2e.test.js +1007 -0
  14. package/dist/src/api-surface.e2e.test.js.map +1 -0
  15. package/dist/src/client/ranks.d.ts +36 -0
  16. package/dist/src/client/ranks.d.ts.map +1 -0
  17. package/dist/src/client/ranks.js +57 -0
  18. package/dist/src/client/ranks.js.map +1 -0
  19. package/dist/src/client/ranks.test.d.ts +2 -0
  20. package/dist/src/client/ranks.test.d.ts.map +1 -0
  21. package/dist/src/client/ranks.test.js +96 -0
  22. package/dist/src/client/ranks.test.js.map +1 -0
  23. package/dist/src/client.d.ts +5 -0
  24. package/dist/src/client.d.ts.map +1 -1
  25. package/dist/src/client.js +21 -0
  26. package/dist/src/client.js.map +1 -1
  27. package/dist/src/contracts-v2/local-geobrowser.e2e.test.d.ts +2 -0
  28. package/dist/src/contracts-v2/local-geobrowser.e2e.test.d.ts.map +1 -0
  29. package/dist/src/contracts-v2/local-geobrowser.e2e.test.js +239 -0
  30. package/dist/src/contracts-v2/local-geobrowser.e2e.test.js.map +1 -0
  31. package/dist/src/core/ids/system.d.ts +8 -0
  32. package/dist/src/core/ids/system.d.ts.map +1 -1
  33. package/dist/src/core/ids/system.js +8 -0
  34. package/dist/src/core/ids/system.js.map +1 -1
  35. package/dist/src/dao-space/propose-update-voting-settings.d.ts +8 -0
  36. package/dist/src/dao-space/propose-update-voting-settings.d.ts.map +1 -0
  37. package/dist/src/dao-space/propose-update-voting-settings.js +19 -0
  38. package/dist/src/dao-space/propose-update-voting-settings.js.map +1 -0
  39. package/dist/src/dao-space/propose-update-voting-settings.test.d.ts +2 -0
  40. package/dist/src/dao-space/propose-update-voting-settings.test.d.ts.map +1 -0
  41. package/dist/src/dao-space/propose-update-voting-settings.test.js +118 -0
  42. package/dist/src/dao-space/propose-update-voting-settings.test.js.map +1 -0
  43. package/dist/src/e2e-test-environment.d.ts +26 -0
  44. package/dist/src/e2e-test-environment.d.ts.map +1 -0
  45. package/dist/src/e2e-test-environment.js +150 -0
  46. package/dist/src/e2e-test-environment.js.map +1 -0
  47. package/dist/src/legacy-api-surface.e2e.test.d.ts +2 -0
  48. package/dist/src/legacy-api-surface.e2e.test.d.ts.map +1 -0
  49. package/dist/src/legacy-api-surface.e2e.test.js +860 -0
  50. package/dist/src/legacy-api-surface.e2e.test.js.map +1 -0
  51. package/dist/src/ops/index.d.ts +1 -0
  52. package/dist/src/ops/index.d.ts.map +1 -1
  53. package/dist/src/ops/index.js +1 -0
  54. package/dist/src/ops/index.js.map +1 -1
  55. package/dist/src/ops/ranks.d.ts +33 -0
  56. package/dist/src/ops/ranks.d.ts.map +1 -0
  57. package/dist/src/ops/ranks.js +33 -0
  58. package/dist/src/ops/ranks.js.map +1 -0
  59. package/dist/src/ops/ranks.test.d.ts +2 -0
  60. package/dist/src/ops/ranks.test.d.ts.map +1 -0
  61. package/dist/src/ops/ranks.test.js +36 -0
  62. package/dist/src/ops/ranks.test.js.map +1 -0
  63. package/dist/src/ranks/create-rank.d.ts +19 -9
  64. package/dist/src/ranks/create-rank.d.ts.map +1 -1
  65. package/dist/src/ranks/create-rank.js +34 -57
  66. package/dist/src/ranks/create-rank.js.map +1 -1
  67. package/dist/src/ranks/create-rank.test.js +172 -23
  68. package/dist/src/ranks/create-rank.test.js.map +1 -1
  69. package/dist/src/ranks/index.d.ts +0 -1
  70. package/dist/src/ranks/index.d.ts.map +1 -1
  71. package/dist/src/ranks/index.js +0 -1
  72. package/dist/src/ranks/index.js.map +1 -1
  73. package/dist/src/ranks/types.d.ts +30 -0
  74. package/dist/src/ranks/types.d.ts.map +1 -1
  75. package/dist/src/ranks/update-rank.d.ts +40 -0
  76. package/dist/src/ranks/update-rank.d.ts.map +1 -0
  77. package/dist/src/ranks/update-rank.js +61 -0
  78. package/dist/src/ranks/update-rank.js.map +1 -0
  79. package/dist/src/ranks/update-rank.test.d.ts +2 -0
  80. package/dist/src/ranks/update-rank.test.d.ts.map +1 -0
  81. package/dist/src/ranks/update-rank.test.js +131 -0
  82. package/dist/src/ranks/update-rank.test.js.map +1 -0
  83. package/dist/src/ranks/vote-ops.d.ts +37 -0
  84. package/dist/src/ranks/vote-ops.d.ts.map +1 -0
  85. package/dist/src/ranks/vote-ops.js +99 -0
  86. package/dist/src/ranks/vote-ops.js.map +1 -0
  87. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Example: Creating an Ordinal Rank with grc-20-ts
3
3
  *
4
- * This example demonstrates how to use the `createRank` function to create
4
+ * This example demonstrates how to use `Ops.ranks.create` to create
5
5
  * an ordinal (ordered) rank in the Knowledge Graph.
6
6
  */
7
7
  export {};
@@ -1,28 +1,31 @@
1
1
  /**
2
2
  * Example: Creating an Ordinal Rank with grc-20-ts
3
3
  *
4
- * This example demonstrates how to use the `createRank` function to create
4
+ * This example demonstrates how to use `Ops.ranks.create` to create
5
5
  * an ordinal (ordered) rank in the Knowledge Graph.
6
6
  */
7
- import { IdUtils, Rank } from '@geoprotocol/geo-sdk';
7
+ import { IdUtils, Ops } from '@geoprotocol/geo-sdk';
8
8
  // For this example, we'll generate some entity IDs to represent items we want to rank.
9
9
  // In a real application, these would be existing entity IDs from your Knowledge Graph.
10
10
  const movie1Id = IdUtils.generate();
11
11
  const movie2Id = IdUtils.generate();
12
12
  const movie3Id = IdUtils.generate();
13
+ // Each ranked entity is scoped to a space perspective via `spaceId`. In a real
14
+ // application this is the space the ranked entity lives in.
15
+ const spaceId = IdUtils.generate();
13
16
  // =============================================================================
14
17
  // Example 1: Creating an Ordinal Rank (Ordered List)
15
18
  // =============================================================================
16
19
  // Ordinal ranks are used when you want to rank items by position (1st, 2nd, 3rd, etc.)
17
20
  // The position is derived from the array order - no need to specify position values!
18
- const ordinalRankResult = Rank.createRank({
21
+ const ordinalRankResult = Ops.ranks.create({
19
22
  name: 'My Favorite Movies of 2024',
20
23
  description: 'A ranked list of my top movies this year',
21
24
  rankType: 'ORDINAL',
22
25
  votes: [
23
- { entityId: movie1Id }, // 1st place
24
- { entityId: movie2Id }, // 2nd place
25
- { entityId: movie3Id }, // 3rd place
26
+ { entityId: movie1Id, spaceId }, // 1st place
27
+ { entityId: movie2Id, spaceId }, // 2nd place
28
+ { entityId: movie3Id, spaceId }, // 3rd place
26
29
  ],
27
30
  });
28
31
  console.log('=== Ordinal Rank Example ===');
@@ -1 +1 @@
1
- {"version":3,"file":"create-ordinal-rank.js","sourceRoot":"","sources":["../../../examples/ranks/create-ordinal-rank.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAErD,uFAAuF;AACvF,uFAAuF;AACvF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AAEpC,gFAAgF;AAChF,qDAAqD;AACrD,gFAAgF;AAChF,uFAAuF;AACvF,qFAAqF;AAErF,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC;IACxC,IAAI,EAAE,4BAA4B;IAClC,WAAW,EAAE,0CAA0C;IACvD,QAAQ,EAAE,SAAS;IACnB,KAAK,EAAE;QACL,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,YAAY;QACpC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,YAAY;QACpC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,YAAY;KACrC;CACF,CAAC,CAAC;AAEH,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAC5C,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC;AAC9C,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACnE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAE3D,wEAAwE;AACxE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACvC,KAAK,MAAM,EAAE,IAAI,iBAAiB,CAAC,GAAG,EAAE,CAAC;IACvC,IAAI,EAAE,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClC,CAAC;SAAM,IAAI,EAAE,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACpC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"create-ordinal-rank.js","sourceRoot":"","sources":["../../../examples/ranks/create-ordinal-rank.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAEpD,uFAAuF;AACvF,uFAAuF;AACvF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AAEpC,+EAA+E;AAC/E,4DAA4D;AAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AAEnC,gFAAgF;AAChF,qDAAqD;AACrD,gFAAgF;AAChF,uFAAuF;AACvF,qFAAqF;AAErF,MAAM,iBAAiB,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,4BAA4B;IAClC,WAAW,EAAE,0CAA0C;IACvD,QAAQ,EAAE,SAAS;IACnB,KAAK,EAAE;QACL,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,YAAY;QAC7C,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,YAAY;QAC7C,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,YAAY;KAC9C;CACF,CAAC,CAAC;AAEH,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAC5C,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC;AAC9C,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACnE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAE3D,wEAAwE;AACxE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACvC,KAAK,MAAM,EAAE,IAAI,iBAAiB,CAAC,GAAG,EAAE,CAAC;IACvC,IAAI,EAAE,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClC,CAAC;SAAM,IAAI,EAAE,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACpC,CAAC;AACH,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Example: Creating a Weighted Rank with grc-20-ts
3
3
  *
4
- * This example demonstrates how to use the `createRank` function to create
4
+ * This example demonstrates how to use `Ops.ranks.create` to create
5
5
  * a weighted (scored) rank in the Knowledge Graph.
6
6
  */
7
7
  export {};
@@ -1,28 +1,31 @@
1
1
  /**
2
2
  * Example: Creating a Weighted Rank with grc-20-ts
3
3
  *
4
- * This example demonstrates how to use the `createRank` function to create
4
+ * This example demonstrates how to use `Ops.ranks.create` to create
5
5
  * a weighted (scored) rank in the Knowledge Graph.
6
6
  */
7
- import { IdUtils, Rank } from '@geoprotocol/geo-sdk';
7
+ import { IdUtils, Ops } from '@geoprotocol/geo-sdk';
8
8
  // For this example, we'll generate some entity IDs to represent items we want to rank.
9
9
  // In a real application, these would be existing entity IDs from your Knowledge Graph.
10
10
  const restaurant1Id = IdUtils.generate();
11
11
  const restaurant2Id = IdUtils.generate();
12
12
  const restaurant3Id = IdUtils.generate();
13
+ // Each ranked entity is scoped to a space perspective via `spaceId`. In a real
14
+ // application this is the space the ranked entity lives in.
15
+ const spaceId = IdUtils.generate();
13
16
  // =============================================================================
14
17
  // Example 1: Creating a Weighted Rank (Scored List)
15
18
  // =============================================================================
16
19
  // Weighted ranks are used when you want to assign numeric scores to items.
17
20
  // Useful for ratings, reviews, or any scenario where magnitude matters.
18
- const weightedRankResult = Rank.createRank({
21
+ const weightedRankResult = Ops.ranks.create({
19
22
  name: 'Restaurant Ratings',
20
23
  description: 'My restaurant reviews',
21
24
  rankType: 'WEIGHTED',
22
25
  votes: [
23
- { entityId: restaurant1Id, value: 90 }, // Can use any number and scale as needed
24
- { entityId: restaurant2Id, value: 65 },
25
- { entityId: restaurant3Id, value: 50 },
26
+ { entityId: restaurant1Id, spaceId, value: 90 }, // Can use any number and scale as needed
27
+ { entityId: restaurant2Id, spaceId, value: 65 },
28
+ { entityId: restaurant3Id, spaceId, value: 50 },
26
29
  ],
27
30
  });
28
31
  console.log('\n=== Weighted Rank Example ===');
@@ -1 +1 @@
1
- {"version":3,"file":"create-weighted-rank.js","sourceRoot":"","sources":["../../../examples/ranks/create-weighted-rank.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAErD,uFAAuF;AACvF,uFAAuF;AACvF,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AACzC,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AACzC,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AAEzC,gFAAgF;AAChF,oDAAoD;AACpD,gFAAgF;AAChF,2EAA2E;AAC3E,wEAAwE;AAExE,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC;IACzC,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,uBAAuB;IACpC,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE;QACL,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,yCAAyC;QACjF,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE;QACtC,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE;KACvC;CACF,CAAC,CAAC;AAEH,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;AAC/C,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAC/C,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACpE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAE5D,wEAAwE;AACxE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACvC,KAAK,MAAM,EAAE,IAAI,kBAAkB,CAAC,GAAG,EAAE,CAAC;IACxC,IAAI,EAAE,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClC,CAAC;SAAM,IAAI,EAAE,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACpC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"create-weighted-rank.js","sourceRoot":"","sources":["../../../examples/ranks/create-weighted-rank.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAEpD,uFAAuF;AACvF,uFAAuF;AACvF,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AACzC,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AACzC,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AAEzC,+EAA+E;AAC/E,4DAA4D;AAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AAEnC,gFAAgF;AAChF,oDAAoD;AACpD,gFAAgF;AAChF,2EAA2E;AAC3E,wEAAwE;AAExE,MAAM,kBAAkB,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,uBAAuB;IACpC,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE;QACL,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,yCAAyC;QAC1F,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;QAC/C,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;KAChD;CACF,CAAC,CAAC;AAEH,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;AAC/C,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAC/C,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACpE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAE5D,wEAAwE;AACxE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACvC,KAAK,MAAM,EAAE,IAAI,kBAAkB,CAAC,GAAG,EAAE,CAAC;IACxC,IAAI,EAAE,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClC,CAAC;SAAM,IAAI,EAAE,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACpC,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dao-space-v2.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dao-space-v2.test.d.ts","sourceRoot":"","sources":["../../../src/abis/dao-space-v2.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,67 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { DaoSpaceAbi, DaoSpaceFactoryAbi, ProposalParametersV2Components, VotingSettingsV2Components, } from './index.js';
3
+ const VOTING_SETTINGS_FIELD_NAMES = [
4
+ 'partialPercentageSupportThreshold',
5
+ 'universalPercentageSupportThreshold',
6
+ 'flatSupportThreshold',
7
+ 'quorum',
8
+ 'duration',
9
+ 'disableFastPathAccessForNewMembers',
10
+ 'executionGracePeriod',
11
+ ];
12
+ const PROPOSAL_PARAMETERS_FIELD_NAMES = [
13
+ 'votingMode',
14
+ 'partialPercentageSupportThreshold',
15
+ 'universalPercentageSupportThreshold',
16
+ 'flatSupportThreshold',
17
+ 'quorum',
18
+ 'startDate',
19
+ 'lastDate',
20
+ 'executeBy',
21
+ ];
22
+ function functionAbi(abi, name) {
23
+ const item = abi.find(entry => entry.type === 'function' && entry.name === name);
24
+ if (!item) {
25
+ throw new Error(`Missing ABI function ${name}`);
26
+ }
27
+ return item;
28
+ }
29
+ function componentNames(components) {
30
+ return components.map(component => component.name);
31
+ }
32
+ describe('contracts v2 DAO ABI fragments', () => {
33
+ it('defines the v2 VotingSettings tuple components', () => {
34
+ expect(componentNames(VotingSettingsV2Components)).toEqual(VOTING_SETTINGS_FIELD_NAMES);
35
+ expect(VotingSettingsV2Components.at(5)?.type).toBe('bool');
36
+ });
37
+ it('defines the v2 ProposalParameters tuple components', () => {
38
+ expect(componentNames(ProposalParametersV2Components)).toEqual(PROPOSAL_PARAMETERS_FIELD_NAMES);
39
+ });
40
+ it('exposes createDAOSpaceProxy with six inputs and v2 voting settings', () => {
41
+ const createDao = functionAbi(DaoSpaceFactoryAbi, 'createDAOSpaceProxy');
42
+ expect(createDao.inputs?.map(input => input.name)).toEqual([
43
+ '_votingSettings',
44
+ '_initialEditors',
45
+ '_initialMembers',
46
+ '_initialEditsContentUri',
47
+ '_initialEditsMetadata',
48
+ '_initialTopicId',
49
+ ]);
50
+ expect(componentNames(createDao.inputs?.[0]?.components ?? [])).toEqual(VOTING_SETTINGS_FIELD_NAMES);
51
+ });
52
+ it('exposes DAO voting settings reads and writes with v2 settings', () => {
53
+ const updateVotingSettings = functionAbi(DaoSpaceAbi, 'updateVotingSettings');
54
+ const votingSettings = functionAbi(DaoSpaceAbi, 'votingSettings');
55
+ expect(componentNames(updateVotingSettings.inputs?.[0]?.components ?? [])).toEqual(VOTING_SETTINGS_FIELD_NAMES);
56
+ expect(componentNames(votingSettings.outputs?.[0]?.components ?? [])).toEqual(VOTING_SETTINGS_FIELD_NAMES);
57
+ });
58
+ it('exposes version-aware proposal reads with v2 proposal parameters', () => {
59
+ const getLatestProposalInformation = functionAbi(DaoSpaceAbi, 'getLatestProposalInformation');
60
+ const getProposalInformation = functionAbi(DaoSpaceAbi, 'getProposalInformation');
61
+ expect(componentNames(getLatestProposalInformation.outputs?.[2]?.components ?? [])).toEqual(PROPOSAL_PARAMETERS_FIELD_NAMES);
62
+ expect(componentNames(getProposalInformation.outputs?.[2]?.components ?? [])).toEqual(PROPOSAL_PARAMETERS_FIELD_NAMES);
63
+ expect(functionAbi(DaoSpaceAbi, 'latestProposalVersion')).toBeDefined();
64
+ expect(functionAbi(DaoSpaceAbi, 'MINIMUM_EXECUTION_GRACE_PERIOD')).toBeDefined();
65
+ });
66
+ });
67
+ //# sourceMappingURL=dao-space-v2.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dao-space-v2.test.js","sourceRoot":"","sources":["../../../src/abis/dao-space-v2.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,8BAA8B,EAC9B,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AAEpB,MAAM,2BAA2B,GAAG;IAClC,mCAAmC;IACnC,qCAAqC;IACrC,sBAAsB;IACtB,QAAQ;IACR,UAAU;IACV,oCAAoC;IACpC,sBAAsB;CACvB,CAAC;AAEF,MAAM,+BAA+B,GAAG;IACtC,YAAY;IACZ,mCAAmC;IACnC,qCAAqC;IACrC,sBAAsB;IACtB,QAAQ;IACR,WAAW;IACX,UAAU;IACV,WAAW;CACZ,CAAC;AAEF,SAAS,WAAW,CAAC,GAAuB,EAAE,IAAY;IACxD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CACnB,KAAK,CAAC,EAAE,CACL,KAA0C,CAAC,IAAI,KAAK,UAAU,IAAK,KAA2B,CAAC,IAAI,KAAK,IAAI,CAChH,CAAC;IACF,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,IAGN,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,UAAuC;IAC7D,OAAO,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QACxF,MAAM,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,CAAC,cAAc,CAAC,8BAA8B,CAAC,CAAC,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAClG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,SAAS,GAAG,WAAW,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAC;QAEzE,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;YACzD,iBAAiB;YACjB,iBAAiB;YACjB,iBAAiB;YACjB,yBAAyB;YACzB,uBAAuB;YACvB,iBAAiB;SAClB,CAAC,CAAC;QACH,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACvG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,oBAAoB,GAAG,WAAW,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;QAC9E,MAAM,cAAc,GAAG,WAAW,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAElE,MAAM,CAAC,cAAc,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QAChH,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC7G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,4BAA4B,GAAG,WAAW,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC;QAC9F,MAAM,sBAAsB,GAAG,WAAW,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;QAElF,MAAM,CAAC,cAAc,CAAC,4BAA4B,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CACzF,+BAA+B,CAChC,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CACnF,+BAA+B,CAChC,CAAC;QACF,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACxE,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,gCAAgC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACnF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=api-surface.e2e.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-surface.e2e.test.d.ts","sourceRoot":"","sources":["../../src/api-surface.e2e.test.ts"],"names":[],"mappings":""}