@geoprotocol/geo-sdk 0.19.2 → 0.20.0-beta.1

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 (130) hide show
  1. package/README.md +98 -45
  2. package/dist/index.d.ts +1 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +1 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/src/abis/dao-space-factory.d.ts +43 -6
  7. package/dist/src/abis/dao-space-factory.d.ts.map +1 -1
  8. package/dist/src/abis/dao-space-factory.js +38 -27
  9. package/dist/src/abis/dao-space-factory.js.map +1 -1
  10. package/dist/src/abis/dao-space-v2.test.d.ts +2 -0
  11. package/dist/src/abis/dao-space-v2.test.d.ts.map +1 -0
  12. package/dist/src/abis/dao-space-v2.test.js +67 -0
  13. package/dist/src/abis/dao-space-v2.test.js.map +1 -0
  14. package/dist/src/abis/dao-space.d.ts +98 -7
  15. package/dist/src/abis/dao-space.d.ts.map +1 -1
  16. package/dist/src/abis/dao-space.js +61 -99
  17. package/dist/src/abis/dao-space.js.map +1 -1
  18. package/dist/src/abis/index.d.ts +2 -2
  19. package/dist/src/abis/index.d.ts.map +1 -1
  20. package/dist/src/abis/index.js +2 -2
  21. package/dist/src/abis/index.js.map +1 -1
  22. package/dist/src/api-surface.e2e.test.d.ts +2 -0
  23. package/dist/src/api-surface.e2e.test.d.ts.map +1 -0
  24. package/dist/src/{e2e-api-surface.test.js → api-surface.e2e.test.js} +86 -100
  25. package/dist/src/api-surface.e2e.test.js.map +1 -0
  26. package/dist/src/client/dao-spaces.d.ts +65 -33
  27. package/dist/src/client/dao-spaces.d.ts.map +1 -1
  28. package/dist/src/client/dao-spaces.js +133 -42
  29. package/dist/src/client/dao-spaces.js.map +1 -1
  30. package/dist/src/client/dao-spaces.test.js +277 -79
  31. package/dist/src/client/dao-spaces.test.js.map +1 -1
  32. package/dist/src/client/personal-spaces.js +2 -2
  33. package/dist/src/client/personal-spaces.js.map +1 -1
  34. package/dist/src/client/spaces.test.js +9 -7
  35. package/dist/src/client/spaces.test.js.map +1 -1
  36. package/dist/src/client.d.ts +14 -14
  37. package/dist/src/client.d.ts.map +1 -1
  38. package/dist/src/client.js +48 -59
  39. package/dist/src/client.js.map +1 -1
  40. package/dist/src/client.test.js +8 -3
  41. package/dist/src/client.test.js.map +1 -1
  42. package/dist/src/contracts-v2/local-geobrowser.e2e.test.d.ts +2 -0
  43. package/dist/src/contracts-v2/local-geobrowser.e2e.test.d.ts.map +1 -0
  44. package/dist/src/contracts-v2/local-geobrowser.e2e.test.js +239 -0
  45. package/dist/src/contracts-v2/local-geobrowser.e2e.test.js.map +1 -0
  46. package/dist/src/dao-space/constants.d.ts +10 -0
  47. package/dist/src/dao-space/constants.d.ts.map +1 -1
  48. package/dist/src/dao-space/constants.js +10 -0
  49. package/dist/src/dao-space/constants.js.map +1 -1
  50. package/dist/src/dao-space/execute-proposal.d.ts +1 -1
  51. package/dist/src/dao-space/execute-proposal.js +2 -2
  52. package/dist/src/dao-space/execute-proposal.js.map +1 -1
  53. package/dist/src/dao-space/index.d.ts +2 -1
  54. package/dist/src/dao-space/index.d.ts.map +1 -1
  55. package/dist/src/dao-space/index.js +1 -0
  56. package/dist/src/dao-space/index.js.map +1 -1
  57. package/dist/src/dao-space/propose-add-editor.d.ts +1 -20
  58. package/dist/src/dao-space/propose-add-editor.d.ts.map +1 -1
  59. package/dist/src/dao-space/propose-add-editor.js +12 -87
  60. package/dist/src/dao-space/propose-add-editor.js.map +1 -1
  61. package/dist/src/dao-space/propose-add-editor.test.js +16 -4
  62. package/dist/src/dao-space/propose-add-editor.test.js.map +1 -1
  63. package/dist/src/dao-space/propose-add-member.d.ts +1 -20
  64. package/dist/src/dao-space/propose-add-member.d.ts.map +1 -1
  65. package/dist/src/dao-space/propose-add-member.js +12 -87
  66. package/dist/src/dao-space/propose-add-member.js.map +1 -1
  67. package/dist/src/dao-space/propose-add-member.test.js +13 -0
  68. package/dist/src/dao-space/propose-add-member.test.js.map +1 -1
  69. package/dist/src/dao-space/propose-edit.test.js +45 -0
  70. package/dist/src/dao-space/propose-edit.test.js.map +1 -1
  71. package/dist/src/dao-space/propose-remove-editor.d.ts +1 -22
  72. package/dist/src/dao-space/propose-remove-editor.d.ts.map +1 -1
  73. package/dist/src/dao-space/propose-remove-editor.js +12 -94
  74. package/dist/src/dao-space/propose-remove-editor.js.map +1 -1
  75. package/dist/src/dao-space/propose-remove-editor.test.js +22 -4
  76. package/dist/src/dao-space/propose-remove-editor.test.js.map +1 -1
  77. package/dist/src/dao-space/propose-remove-member.d.ts +1 -22
  78. package/dist/src/dao-space/propose-remove-member.d.ts.map +1 -1
  79. package/dist/src/dao-space/propose-remove-member.js +12 -94
  80. package/dist/src/dao-space/propose-remove-member.js.map +1 -1
  81. package/dist/src/dao-space/propose-remove-member.test.js +19 -0
  82. package/dist/src/dao-space/propose-remove-member.test.js.map +1 -1
  83. package/dist/src/dao-space/propose-update-voting-settings.d.ts +8 -0
  84. package/dist/src/dao-space/propose-update-voting-settings.d.ts.map +1 -0
  85. package/dist/src/dao-space/propose-update-voting-settings.js +19 -0
  86. package/dist/src/dao-space/propose-update-voting-settings.js.map +1 -0
  87. package/dist/src/dao-space/propose-update-voting-settings.test.d.ts +2 -0
  88. package/dist/src/dao-space/propose-update-voting-settings.test.d.ts.map +1 -0
  89. package/dist/src/dao-space/propose-update-voting-settings.test.js +118 -0
  90. package/dist/src/dao-space/propose-update-voting-settings.test.js.map +1 -0
  91. package/dist/src/dao-space/types.d.ts +72 -11
  92. package/dist/src/dao-space/types.d.ts.map +1 -1
  93. package/dist/src/dao-space/vote-proposal.d.ts +1 -1
  94. package/dist/src/dao-space/vote-proposal.js +2 -2
  95. package/dist/src/dao-space/vote-proposal.js.map +1 -1
  96. package/dist/src/dao-space/vote-proposal.test.js +54 -0
  97. package/dist/src/dao-space/vote-proposal.test.js.map +1 -1
  98. package/dist/src/e2e-test-environment.d.ts +26 -0
  99. package/dist/src/e2e-test-environment.d.ts.map +1 -0
  100. package/dist/src/e2e-test-environment.js +150 -0
  101. package/dist/src/e2e-test-environment.js.map +1 -0
  102. package/dist/src/encodings/get-create-dao-space-calldata.d.ts +31 -8
  103. package/dist/src/encodings/get-create-dao-space-calldata.d.ts.map +1 -1
  104. package/dist/src/encodings/get-create-dao-space-calldata.js +66 -17
  105. package/dist/src/encodings/get-create-dao-space-calldata.js.map +1 -1
  106. package/dist/src/encodings/get-create-dao-space-calldata.test.js +117 -34
  107. package/dist/src/encodings/get-create-dao-space-calldata.test.js.map +1 -1
  108. package/dist/src/full-flow-test.test.js +5 -2
  109. package/dist/src/full-flow-test.test.js.map +1 -1
  110. package/dist/src/legacy-api-surface.e2e.test.d.ts +2 -0
  111. package/dist/src/legacy-api-surface.e2e.test.d.ts.map +1 -0
  112. package/dist/src/{e2e-legacy-api-surface.test.js → legacy-api-surface.e2e.test.js} +90 -70
  113. package/dist/src/legacy-api-surface.e2e.test.js.map +1 -0
  114. package/dist/src/personal-space/constants.d.ts +1 -1
  115. package/dist/src/personal-space/constants.d.ts.map +1 -1
  116. package/dist/src/personal-space/constants.js +1 -1
  117. package/dist/src/personal-space/constants.js.map +1 -1
  118. package/dist/src/personal-space/create-space.d.ts +2 -2
  119. package/dist/src/personal-space/create-space.d.ts.map +1 -1
  120. package/dist/src/personal-space/create-space.js +4 -3
  121. package/dist/src/personal-space/create-space.js.map +1 -1
  122. package/dist/src/personal-space/types.d.ts +4 -1
  123. package/dist/src/personal-space/types.d.ts.map +1 -1
  124. package/package.json +3 -2
  125. package/dist/src/e2e-api-surface.test.d.ts +0 -2
  126. package/dist/src/e2e-api-surface.test.d.ts.map +0 -1
  127. package/dist/src/e2e-api-surface.test.js.map +0 -1
  128. package/dist/src/e2e-legacy-api-surface.test.d.ts +0 -2
  129. package/dist/src/e2e-legacy-api-surface.test.d.ts.map +0 -1
  130. package/dist/src/e2e-legacy-api-surface.test.js.map +0 -1
package/README.md CHANGED
@@ -136,6 +136,25 @@ const geo = createGeoClient({
136
136
  });
137
137
  ```
138
138
 
139
+ ### Local Contracts V2 Validation
140
+
141
+ When working against the local-geobrowser contracts checkout, deploy that stack
142
+ first so it writes `.deployments.json`, then point the SDK opt-in test at it:
143
+
144
+ ```sh
145
+ cd /path/to/local-geobrowser
146
+ just init-infra
147
+ just init-contract
148
+
149
+ cd /path/to/geo-sdk
150
+ GEO_LOCAL_GEOBROWSER_DEPLOYMENTS=/path/to/local-geobrowser/.deployments.json \
151
+ pnpm exec vitest run src/contracts-v2/local-geobrowser.e2e.test.ts
152
+ ```
153
+
154
+ The test builds a custom `defineGeoNetworkConfig(...)` from the deployment file
155
+ and decodes DAO creation, update-voting-settings proposal, and versioned vote
156
+ calldata against the contracts v2 ABIs.
157
+
139
158
  ## Ops API
140
159
 
141
160
  Ops functions build operation arrays that can be combined before publishing.
@@ -597,6 +616,23 @@ The `author` field is the author's personal space ID, not a wallet address.
597
616
 
598
617
  ### `geo.daoSpaces`
599
618
 
619
+ DAO helpers target the contracts v2 surface. Voting settings use percentages
620
+ and second-level voting durations on the SDK side; the SDK maps percentages to
621
+ ratio-base integers for the contract. Use a network config whose DAO contract
622
+ addresses point at a contracts v2 deployment.
623
+
624
+ ```ts
625
+ const votingSettings = {
626
+ partialPercentageSupportThreshold: 50,
627
+ universalPercentageSupportThreshold: 90,
628
+ flatSupportThreshold: 1,
629
+ quorum: 1,
630
+ durationInSeconds: 2 * 24 * 60 * 60,
631
+ disableFastPathAccessForNewMembers: true,
632
+ executionGracePeriodInDays: 14,
633
+ };
634
+ ```
635
+
600
636
  Create a DAO space:
601
637
 
602
638
  ```ts
@@ -605,12 +641,7 @@ const tx = await geo.daoSpaces.create({
605
641
  author: authorSpaceId,
606
642
  initialEditorSpaceIds: [authorSpaceId],
607
643
  initialMemberSpaceIds: [authorSpaceId],
608
- votingSettings: {
609
- slowPathPercentageThreshold: 50,
610
- fastPathFlatThreshold: 1,
611
- quorum: 1,
612
- durationInSeconds: 3 * 24 * 60 * 60,
613
- },
644
+ votingSettings,
614
645
  });
615
646
 
616
647
  await walletClient.sendTransaction({
@@ -659,6 +690,27 @@ await walletClient.sendTransaction({
659
690
  });
660
691
  ```
661
692
 
693
+ Create a new version of an existing edit proposal:
694
+
695
+ ```ts
696
+ const updatedProposal = await geo.daoSpaces.proposeEdit({
697
+ name: "Update entity name, revision 2",
698
+ ops,
699
+ author: authorSpaceId,
700
+ daoSpaceAddress,
701
+ callerSpaceId: authorSpaceId,
702
+ daoSpaceId,
703
+ proposalId,
704
+ updateProposal: true,
705
+ versionId: 2,
706
+ });
707
+ ```
708
+
709
+ If `updateProposal: true` is set and `versionId` is omitted, the SDK reads
710
+ `latestProposalVersion(...)` from the configured network RPC before uploading
711
+ the edit. Pass `versionId` when you already know the next version or when your
712
+ custom network config has no RPC URL.
713
+
662
714
  Manage DAO members and editors:
663
715
 
664
716
  ```ts
@@ -694,6 +746,27 @@ const removeEditor = geo.daoSpaces.proposeRemoveEditor({
694
746
 
695
747
  Editor changes only support `SLOW` voting. Member changes can use the default or an explicit `votingMode`.
696
748
 
749
+ Propose voting-settings changes:
750
+
751
+ ```ts
752
+ const updateVoting = geo.daoSpaces.proposeUpdateVotingSettings({
753
+ authorSpaceId,
754
+ spaceId: daoSpaceId,
755
+ daoSpaceAddress,
756
+ votingSettings: {
757
+ partialPercentageSupportThreshold: 60,
758
+ universalPercentageSupportThreshold: 95,
759
+ flatSupportThreshold: 2,
760
+ quorum: 2,
761
+ durationInSeconds: 5 * 24 * 60 * 60,
762
+ disableFastPathAccessForNewMembers: true,
763
+ executionGracePeriodInDays: 14,
764
+ },
765
+ });
766
+ ```
767
+
768
+ Updating voting settings only supports `SLOW` voting.
769
+
697
770
  Request membership in a DAO space:
698
771
 
699
772
  ```ts
@@ -710,50 +783,14 @@ await walletClient.sendTransaction({
710
783
 
711
784
  DAO proposal IDs and DAO space IDs are bytes16 hex strings, usually `0x` plus 32 hex characters.
712
785
 
713
- ### `geo.daoSpaces.proposals`
714
-
715
- Use low-level proposal helpers when you want to assemble proposal actions yourself.
716
-
717
- ```ts
718
- const actions = [
719
- geo.daoSpaces.proposals.actions.addMember(daoSpaceAddress, memberSpaceId),
720
- geo.daoSpaces.proposals.actions.updateVotingSettings(daoSpaceAddress, {
721
- slowPathPercentageThreshold: 60,
722
- fastPathFlatThreshold: 2,
723
- quorum: 3,
724
- durationInSeconds: 5 * 24 * 60 * 60,
725
- }),
726
- ];
727
-
728
- const proposal = geo.daoSpaces.proposals.create({
729
- fromSpaceId: authorSpaceId,
730
- daoSpaceId,
731
- votingMode: "SLOW",
732
- actions,
733
- });
734
- ```
735
-
736
- Available proposal actions:
737
-
738
- ```ts
739
- geo.daoSpaces.proposals.actions.publishEdit(daoSpaceAddress, cid);
740
- geo.daoSpaces.proposals.actions.addMember(daoSpaceAddress, memberSpaceId);
741
- geo.daoSpaces.proposals.actions.removeMember(daoSpaceAddress, memberSpaceId);
742
- geo.daoSpaces.proposals.actions.addEditor(daoSpaceAddress, editorSpaceId);
743
- geo.daoSpaces.proposals.actions.removeEditor(daoSpaceAddress, editorSpaceId);
744
- geo.daoSpaces.proposals.actions.updateVotingSettings(
745
- daoSpaceAddress,
746
- votingSettings,
747
- );
748
- ```
749
-
750
786
  Vote on a proposal:
751
787
 
752
788
  ```ts
753
- const vote = geo.daoSpaces.proposals.vote({
789
+ const vote = geo.daoSpaces.voteProposal({
754
790
  authorSpaceId,
755
791
  spaceId: daoSpaceId,
756
792
  proposalId,
793
+ versionId: 1,
757
794
  vote: "YES",
758
795
  });
759
796
 
@@ -763,10 +800,13 @@ await walletClient.sendTransaction({
763
800
  });
764
801
  ```
765
802
 
803
+ `versionId` defaults to `1`. Pass it explicitly when voting on a later proposal
804
+ version.
805
+
766
806
  Execute a passed proposal:
767
807
 
768
808
  ```ts
769
- const execute = geo.daoSpaces.proposals.execute({
809
+ const execute = geo.daoSpaces.executeProposal({
770
810
  authorSpaceId,
771
811
  spaceId: daoSpaceId,
772
812
  proposalId,
@@ -1181,6 +1221,7 @@ const vote = daoSpace.voteProposal({
1181
1221
  authorSpaceId,
1182
1222
  spaceId: daoSpaceId,
1183
1223
  proposalId,
1224
+ versionId: 1,
1184
1225
  vote: "YES",
1185
1226
  network: "TESTNET",
1186
1227
  });
@@ -1199,6 +1240,7 @@ Legacy DAO membership helpers:
1199
1240
  daoSpace.proposeAddMember({
1200
1241
  authorSpaceId,
1201
1242
  spaceId: daoSpaceId,
1243
+ daoSpaceAddress,
1202
1244
  newMemberSpaceId,
1203
1245
  network: "TESTNET",
1204
1246
  });
@@ -1206,6 +1248,7 @@ daoSpace.proposeAddMember({
1206
1248
  daoSpace.proposeRemoveMember({
1207
1249
  authorSpaceId,
1208
1250
  spaceId: daoSpaceId,
1251
+ daoSpaceAddress,
1209
1252
  memberToRemoveSpaceId,
1210
1253
  network: "TESTNET",
1211
1254
  });
@@ -1213,6 +1256,7 @@ daoSpace.proposeRemoveMember({
1213
1256
  daoSpace.proposeAddEditor({
1214
1257
  authorSpaceId,
1215
1258
  spaceId: daoSpaceId,
1259
+ daoSpaceAddress,
1216
1260
  newEditorSpaceId,
1217
1261
  network: "TESTNET",
1218
1262
  });
@@ -1220,10 +1264,19 @@ daoSpace.proposeAddEditor({
1220
1264
  daoSpace.proposeRemoveEditor({
1221
1265
  authorSpaceId,
1222
1266
  spaceId: daoSpaceId,
1267
+ daoSpaceAddress,
1223
1268
  editorToRemoveSpaceId,
1224
1269
  network: "TESTNET",
1225
1270
  });
1226
1271
 
1272
+ daoSpace.proposeUpdateVotingSettings({
1273
+ authorSpaceId,
1274
+ spaceId: daoSpaceId,
1275
+ daoSpaceAddress,
1276
+ votingSettings,
1277
+ network: "TESTNET",
1278
+ });
1279
+
1227
1280
  daoSpace.proposeRequestMembership({
1228
1281
  authorSpaceId: requesterSpaceId,
1229
1282
  spaceId: daoSpaceId,
package/dist/index.d.ts CHANGED
@@ -18,7 +18,7 @@ export { getChecksumAddress } from './src/core/get-checksum-address.js';
18
18
  */
19
19
  export * as daoSpace from './src/dao-space/index.js';
20
20
  export * as Encoding from './src/encoding.js';
21
- export { getAcceptEditorArguments, getAcceptSubspaceArguments, getCalldataForSpaceGovernanceType, getCreateDaoSpaceCalldata, getCreatePersonalSpaceCalldata, getProcessGeoProposalArguments, getRemoveEditorArguments, getRemoveSubspaceArguments, validateIpfsUri, } from './src/encodings/index.js';
21
+ export { DEFAULT_VOTING_SETTINGS, daysToSeconds, getAcceptEditorArguments, getAcceptSubspaceArguments, getCalldataForSpaceGovernanceType, getCreateDaoSpaceCalldata, getCreatePersonalSpaceCalldata, getProcessGeoProposalArguments, getRemoveEditorArguments, getRemoveSubspaceArguments, MINIMUM_EXECUTION_GRACE_PERIOD, MINIMUM_EXECUTION_GRACE_PERIOD_DAYS, MINIMUM_VOTING_DURATION, MINIMUM_VOTING_DURATION_DAYS, percentageToRatio, toContractVotingSettings, validateIpfsUri, validateVotingSettingsInput, } from './src/encodings/index.js';
22
22
  /**
23
23
  * @deprecated Use `Ops` for pure operation builders and `createGeoClient({ network })`
24
24
  * for API, storage, image, comment, entity-delete, and transaction workflows.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD;;;GAGG;AACH,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,iCAAiC,EACjC,yBAAyB,EACzB,8BAA8B,EAC9B,8BAA8B,EAC9B,wBAAwB,EACxB,0BAA0B,EAC1B,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC;;;GAGG;AACH,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAC;AAC7C;;;;;GAKG;AACH,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C;;;;GAIG;AACH,OAAO,KAAK,aAAa,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C;;;GAGG;AACH,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAE7C;;;;GAIG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACxE,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD;;;GAGG;AACH,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACL,uBAAuB,EACvB,aAAa,EACb,wBAAwB,EACxB,0BAA0B,EAC1B,iCAAiC,EACjC,yBAAyB,EACzB,8BAA8B,EAC9B,8BAA8B,EAC9B,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,mCAAmC,EACnC,uBAAuB,EACvB,4BAA4B,EAC5B,iBAAiB,EACjB,wBAAwB,EACxB,eAAe,EACf,2BAA2B,GAC5B,MAAM,0BAA0B,CAAC;AAClC;;;GAGG;AACH,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAC;AAC7C;;;;;GAKG;AACH,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C;;;;GAIG;AACH,OAAO,KAAK,aAAa,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C;;;GAGG;AACH,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAE7C;;;;GAIG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACxE,cAAc,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -18,7 +18,7 @@ export { getChecksumAddress } from './src/core/get-checksum-address.js';
18
18
  */
19
19
  export * as daoSpace from './src/dao-space/index.js';
20
20
  export * as Encoding from './src/encoding.js';
21
- export { getAcceptEditorArguments, getAcceptSubspaceArguments, getCalldataForSpaceGovernanceType, getCreateDaoSpaceCalldata, getCreatePersonalSpaceCalldata, getProcessGeoProposalArguments, getRemoveEditorArguments, getRemoveSubspaceArguments, validateIpfsUri, } from './src/encodings/index.js';
21
+ export { DEFAULT_VOTING_SETTINGS, daysToSeconds, getAcceptEditorArguments, getAcceptSubspaceArguments, getCalldataForSpaceGovernanceType, getCreateDaoSpaceCalldata, getCreatePersonalSpaceCalldata, getProcessGeoProposalArguments, getRemoveEditorArguments, getRemoveSubspaceArguments, MINIMUM_EXECUTION_GRACE_PERIOD, MINIMUM_EXECUTION_GRACE_PERIOD_DAYS, MINIMUM_VOTING_DURATION, MINIMUM_VOTING_DURATION_DAYS, percentageToRatio, toContractVotingSettings, validateIpfsUri, validateVotingSettingsInput, } from './src/encodings/index.js';
22
22
  /**
23
23
  * @deprecated Use `Ops` for pure operation builders and `createGeoClient({ network })`
24
24
  * for API, storage, image, comment, entity-delete, and transaction workflows.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD;;;GAGG;AACH,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,iCAAiC,EACjC,yBAAyB,EACzB,8BAA8B,EAC9B,8BAA8B,EAC9B,wBAAwB,EACxB,0BAA0B,EAC1B,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC;;;GAGG;AACH,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAC;AAC7C;;;;;GAKG;AACH,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C;;;;GAIG;AACH,OAAO,KAAK,aAAa,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C;;;GAGG;AACH,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAE7C;;;;GAIG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACxE,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD;;;GAGG;AACH,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACL,uBAAuB,EACvB,aAAa,EACb,wBAAwB,EACxB,0BAA0B,EAC1B,iCAAiC,EACjC,yBAAyB,EACzB,8BAA8B,EAC9B,8BAA8B,EAC9B,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,mCAAmC,EACnC,uBAAuB,EACvB,4BAA4B,EAC5B,iBAAiB,EACjB,wBAAwB,EACxB,eAAe,EACf,2BAA2B,GAC5B,MAAM,0BAA0B,CAAC;AAClC;;;GAGG;AACH,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAC;AAC7C;;;;;GAKG;AACH,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C;;;;GAIG;AACH,OAAO,KAAK,aAAa,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C;;;GAGG;AACH,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAE7C;;;;GAIG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACxE,cAAc,gBAAgB,CAAC"}
@@ -1,3 +1,32 @@
1
+ export declare const VotingSettingsV2Components: readonly [{
2
+ readonly internalType: "uint256";
3
+ readonly name: "partialPercentageSupportThreshold";
4
+ readonly type: "uint256";
5
+ }, {
6
+ readonly internalType: "uint256";
7
+ readonly name: "universalPercentageSupportThreshold";
8
+ readonly type: "uint256";
9
+ }, {
10
+ readonly internalType: "uint256";
11
+ readonly name: "flatSupportThreshold";
12
+ readonly type: "uint256";
13
+ }, {
14
+ readonly internalType: "uint256";
15
+ readonly name: "quorum";
16
+ readonly type: "uint256";
17
+ }, {
18
+ readonly internalType: "uint256";
19
+ readonly name: "duration";
20
+ readonly type: "uint256";
21
+ }, {
22
+ readonly internalType: "bool";
23
+ readonly name: "disableFastPathAccessForNewMembers";
24
+ readonly type: "bool";
25
+ }, {
26
+ readonly internalType: "uint256";
27
+ readonly name: "executionGracePeriod";
28
+ readonly type: "uint256";
29
+ }];
1
30
  export declare const abi: readonly [{
2
31
  readonly inputs: readonly [];
3
32
  readonly stateMutability: "nonpayable";
@@ -111,11 +140,15 @@ export declare const abi: readonly [{
111
140
  readonly inputs: readonly [{
112
141
  readonly components: readonly [{
113
142
  readonly internalType: "uint256";
114
- readonly name: "slowPathPercentageThreshold";
143
+ readonly name: "partialPercentageSupportThreshold";
115
144
  readonly type: "uint256";
116
145
  }, {
117
146
  readonly internalType: "uint256";
118
- readonly name: "fastPathFlatThreshold";
147
+ readonly name: "universalPercentageSupportThreshold";
148
+ readonly type: "uint256";
149
+ }, {
150
+ readonly internalType: "uint256";
151
+ readonly name: "flatSupportThreshold";
119
152
  readonly type: "uint256";
120
153
  }, {
121
154
  readonly internalType: "uint256";
@@ -125,6 +158,14 @@ export declare const abi: readonly [{
125
158
  readonly internalType: "uint256";
126
159
  readonly name: "duration";
127
160
  readonly type: "uint256";
161
+ }, {
162
+ readonly internalType: "bool";
163
+ readonly name: "disableFastPathAccessForNewMembers";
164
+ readonly type: "bool";
165
+ }, {
166
+ readonly internalType: "uint256";
167
+ readonly name: "executionGracePeriod";
168
+ readonly type: "uint256";
128
169
  }];
129
170
  readonly internalType: "struct IDAOSpace.VotingSettings";
130
171
  readonly name: "_votingSettings";
@@ -149,10 +190,6 @@ export declare const abi: readonly [{
149
190
  readonly internalType: "bytes16";
150
191
  readonly name: "_initialTopicId";
151
192
  readonly type: "bytes16";
152
- }, {
153
- readonly internalType: "bytes";
154
- readonly name: "_initialTopicData";
155
- readonly type: "bytes";
156
193
  }];
157
194
  readonly name: "createDAOSpaceProxy";
158
195
  readonly outputs: readonly [{
@@ -1 +1 @@
1
- {"version":3,"file":"dao-space-factory.d.ts","sourceRoot":"","sources":["../../../src/abis/dao-space-factory.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqWN,CAAC"}
1
+ {"version":3,"file":"dao-space-factory.d.ts","sourceRoot":"","sources":["../../../src/abis/dao-space-factory.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoC7B,CAAC;AAEX,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2UN,CAAC"}
@@ -1,3 +1,40 @@
1
+ export const VotingSettingsV2Components = [
2
+ {
3
+ internalType: 'uint256',
4
+ name: 'partialPercentageSupportThreshold',
5
+ type: 'uint256',
6
+ },
7
+ {
8
+ internalType: 'uint256',
9
+ name: 'universalPercentageSupportThreshold',
10
+ type: 'uint256',
11
+ },
12
+ {
13
+ internalType: 'uint256',
14
+ name: 'flatSupportThreshold',
15
+ type: 'uint256',
16
+ },
17
+ {
18
+ internalType: 'uint256',
19
+ name: 'quorum',
20
+ type: 'uint256',
21
+ },
22
+ {
23
+ internalType: 'uint256',
24
+ name: 'duration',
25
+ type: 'uint256',
26
+ },
27
+ {
28
+ internalType: 'bool',
29
+ name: 'disableFastPathAccessForNewMembers',
30
+ type: 'bool',
31
+ },
32
+ {
33
+ internalType: 'uint256',
34
+ name: 'executionGracePeriod',
35
+ type: 'uint256',
36
+ },
37
+ ];
1
38
  export const abi = [
2
39
  {
3
40
  inputs: [],
@@ -145,28 +182,7 @@ export const abi = [
145
182
  {
146
183
  inputs: [
147
184
  {
148
- components: [
149
- {
150
- internalType: 'uint256',
151
- name: 'slowPathPercentageThreshold',
152
- type: 'uint256',
153
- },
154
- {
155
- internalType: 'uint256',
156
- name: 'fastPathFlatThreshold',
157
- type: 'uint256',
158
- },
159
- {
160
- internalType: 'uint256',
161
- name: 'quorum',
162
- type: 'uint256',
163
- },
164
- {
165
- internalType: 'uint256',
166
- name: 'duration',
167
- type: 'uint256',
168
- },
169
- ],
185
+ components: VotingSettingsV2Components,
170
186
  internalType: 'struct IDAOSpace.VotingSettings',
171
187
  name: '_votingSettings',
172
188
  type: 'tuple',
@@ -196,11 +212,6 @@ export const abi = [
196
212
  name: '_initialTopicId',
197
213
  type: 'bytes16',
198
214
  },
199
- {
200
- internalType: 'bytes',
201
- name: '_initialTopicData',
202
- type: 'bytes',
203
- },
204
215
  ],
205
216
  name: 'createDAOSpaceProxy',
206
217
  outputs: [
@@ -1 +1 @@
1
- {"version":3,"file":"dao-space-factory.js","sourceRoot":"","sources":["../../../src/abis/dao-space-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dao-space-factory.js","sourceRoot":"","sources":["../../../src/abis/dao-space-factory.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}