@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
@@ -4,6 +4,11 @@ import type { Networkish } from '../types.js';
4
4
  * Used when creating proposals via SpaceRegistry.enter()
5
5
  */
6
6
  export declare const PROPOSAL_CREATED_ACTION: `0x${string}`;
7
+ /**
8
+ * Action hash for GOVERNANCE.PROPOSAL_UPDATED
9
+ * Used when publishing a new version of an existing proposal.
10
+ */
11
+ export declare const PROPOSAL_UPDATED_ACTION: `0x${string}`;
7
12
  /**
8
13
  * Action hash for GOVERNANCE.PROPOSAL_VOTED
9
14
  * Used when voting on proposals via SpaceRegistry.enter()
@@ -19,6 +24,11 @@ export declare const MEMBERSHIP_REQUESTED_ACTION: `0x${string}`;
19
24
  * Used when executing a passed proposal via SpaceRegistry.enter()
20
25
  */
21
26
  export declare const PROPOSAL_EXECUTED_ACTION: `0x${string}`;
27
+ /**
28
+ * Action hash for GOVERNANCE.EDITS_PUBLISHED
29
+ * Used by DAO edit proposals through DAOSpace.ping().
30
+ */
31
+ export declare const EDITS_PUBLISHED_ACTION: `0x${string}`;
22
32
  /**
23
33
  * Maps VoteOption strings to their on-chain uint8 values (IDAOSpace.VoteOption enum).
24
34
  */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/dao-space/constants.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,uBAAuB,eAAkD,CAAC;AAEvF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,eAAgD,CAAC;AAEnF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,eAAsD,CAAC;AAE/F;;;GAGG;AACH,eAAO,MAAM,wBAAwB,eAAmD,CAAC;AAEzF;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,WAAW,EAAG,oEAA6E,CAAC;AAEzG;;GAEG;AACH,eAAO,MAAM,eAAe,EAAG,IAAa,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAwB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAwB,CAAC;AAEvD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAE3D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,MAAM,EAAE,GAAG,KAAK,MAAM,EAAE,CAI7D;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,KAAK,MAAM,EAAE,GAAG,KAAK,MAAM,EAAE,CAIpF;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,sBAAsB,EAAE,KAAK,MAAM,EAAE,CAAC;CACvC,CAAC;AAEF;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,UAAU,GAAG,yBAAyB,CAKjG"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/dao-space/constants.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,uBAAuB,eAAkD,CAAC;AAEvF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,eAAkD,CAAC;AAEvF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,eAAgD,CAAC;AAEnF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,eAAsD,CAAC;AAE/F;;;GAGG;AACH,eAAO,MAAM,wBAAwB,eAAmD,CAAC;AAEzF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,eAAiD,CAAC;AAErF;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,WAAW,EAAG,oEAA6E,CAAC;AAEzG;;GAEG;AACH,eAAO,MAAM,eAAe,EAAG,IAAa,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAwB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAwB,CAAC;AAEvD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAE3D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,MAAM,EAAE,GAAG,KAAK,MAAM,EAAE,CAI7D;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,KAAK,MAAM,EAAE,GAAG,KAAK,MAAM,EAAE,CAIpF;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,sBAAsB,EAAE,KAAK,MAAM,EAAE,CAAC;CACvC,CAAC;AAEF;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,UAAU,GAAG,yBAAyB,CAKjG"}
@@ -5,6 +5,11 @@ import { requireGeoContract, resolveGeoNetwork } from '../networks.js';
5
5
  * Used when creating proposals via SpaceRegistry.enter()
6
6
  */
7
7
  export const PROPOSAL_CREATED_ACTION = keccak256(toHex('GOVERNANCE.PROPOSAL_CREATED'));
8
+ /**
9
+ * Action hash for GOVERNANCE.PROPOSAL_UPDATED
10
+ * Used when publishing a new version of an existing proposal.
11
+ */
12
+ export const PROPOSAL_UPDATED_ACTION = keccak256(toHex('GOVERNANCE.PROPOSAL_UPDATED'));
8
13
  /**
9
14
  * Action hash for GOVERNANCE.PROPOSAL_VOTED
10
15
  * Used when voting on proposals via SpaceRegistry.enter()
@@ -20,6 +25,11 @@ export const MEMBERSHIP_REQUESTED_ACTION = keccak256(toHex('GOVERNANCE.MEMBERSHI
20
25
  * Used when executing a passed proposal via SpaceRegistry.enter()
21
26
  */
22
27
  export const PROPOSAL_EXECUTED_ACTION = keccak256(toHex('GOVERNANCE.PROPOSAL_EXECUTED'));
28
+ /**
29
+ * Action hash for GOVERNANCE.EDITS_PUBLISHED
30
+ * Used by DAO edit proposals through DAOSpace.ping().
31
+ */
32
+ export const EDITS_PUBLISHED_ACTION = keccak256(toHex('GOVERNANCE.EDITS_PUBLISHED'));
23
33
  /**
24
34
  * Maps VoteOption strings to their on-chain uint8 values (IDAOSpace.VoteOption enum).
25
35
  */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dao-space/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGvE;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;AAEvF;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,SAAS,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;AAEnF;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,SAAS,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;AAE/F;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;AAEzF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,GAAG,EAAE,CAAC;IACN,EAAE,EAAE,CAAC;IACL,OAAO,EAAE,CAAC;CACF,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,oEAA6E,CAAC;AAEzG;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAa,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEvD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEvD;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAkB,CAAC;AAC1E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,KAAoB;IAC5C,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;IAC3E,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAmB,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,UAAyB;IACnE,MAAM,CAAC,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC;IACtF,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAmB,CAAC;AAC7D,CAAC;AAMD;;GAEG;AACH,MAAM,UAAU,kCAAkC,CAAC,OAAmB;IACpE,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO;QACL,sBAAsB,EAAE,kBAAkB,CAAC,MAAM,EAAE,wBAAwB,CAAC;KAC7E,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dao-space/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGvE;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;AAEvF;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;AAEvF;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,SAAS,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;AAEnF;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,SAAS,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;AAE/F;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;AAEzF;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,SAAS,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;AAErF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,GAAG,EAAE,CAAC;IACN,EAAE,EAAE,CAAC;IACL,OAAO,EAAE,CAAC;CACF,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,oEAA6E,CAAC;AAEzG;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAa,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEvD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEvD;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAkB,CAAC;AAC1E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,KAAoB;IAC5C,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;IAC3E,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAmB,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,UAAyB;IACnE,MAAM,CAAC,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC;IACtF,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAmB,CAAC;AAC7D,CAAC;AAMD;;GAEG;AACH,MAAM,UAAU,kCAAkC,CAAC,OAAmB;IACpE,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO;QACL,sBAAsB,EAAE,kBAAkB,CAAC,MAAM,EAAE,wBAAwB,CAAC;KAC7E,CAAC;AACJ,CAAC"}
@@ -2,7 +2,7 @@ import type { ExecuteProposalParams, ExecuteProposalResult } from './types.js';
2
2
  /**
3
3
  * Creates an execute transaction for a passed DAO space proposal.
4
4
  *
5
- * @deprecated Use `createGeoClient({ network }).daoSpaces.proposals.execute(...)`.
5
+ * @deprecated Use `createGeoClient({ network }).daoSpaces.executeProposal(...)`.
6
6
  */
7
7
  export declare function executeProposal(params: ExecuteProposalParams): ExecuteProposalResult;
8
8
  //# sourceMappingURL=execute-proposal.d.ts.map
@@ -4,7 +4,7 @@ import { ensure0xPrefix, isBytes16Hex } from './constants.js';
4
4
  /**
5
5
  * Creates an execute transaction for a passed DAO space proposal.
6
6
  *
7
- * @deprecated Use `createGeoClient({ network }).daoSpaces.proposals.execute(...)`.
7
+ * @deprecated Use `createGeoClient({ network }).daoSpaces.executeProposal(...)`.
8
8
  */
9
9
  export function executeProposal(params) {
10
10
  const { network = 'TESTNET', ...args } = params;
@@ -17,6 +17,6 @@ export function executeProposal(params) {
17
17
  if (!isBytes16Hex(ensure0xPrefix(args.proposalId))) {
18
18
  throw new Error(`proposalId must be bytes16 hex (32 hex chars). Received: ${args.proposalId}`);
19
19
  }
20
- return createGeoClient({ network: resolveGeoNetwork(network) }).daoSpaces.proposals.execute(args);
20
+ return createGeoClient({ network: resolveGeoNetwork(network) }).daoSpaces.executeProposal(args);
21
21
  }
22
22
  //# sourceMappingURL=execute-proposal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"execute-proposal.js","sourceRoot":"","sources":["../../../src/dao-space/execute-proposal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9D;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAA6B;IAC3D,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAChD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,+DAA+D,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,yDAAyD,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,4DAA4D,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,OAAO,eAAe,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACpG,CAAC"}
1
+ {"version":3,"file":"execute-proposal.js","sourceRoot":"","sources":["../../../src/dao-space/execute-proposal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9D;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAA6B;IAC3D,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAChD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,+DAA+D,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,yDAAyD,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,4DAA4D,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,OAAO,eAAe,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAClG,CAAC"}
@@ -6,6 +6,7 @@ export { proposeEdit } from './propose-edit.js';
6
6
  export { proposeRemoveEditor } from './propose-remove-editor.js';
7
7
  export { proposeRemoveMember } from './propose-remove-member.js';
8
8
  export { proposeRequestMembership } from './propose-request-membership.js';
9
- export type { CreateSpaceParams, CreateSpaceResult, ExecuteProposalParams, ExecuteProposalResult, ProposeAddEditorParams, ProposeAddEditorResult, ProposeAddMemberParams, ProposeAddMemberResult, ProposeEditParams, ProposeEditResult, ProposeRemoveEditorParams, ProposeRemoveEditorResult, ProposeRemoveMemberParams, ProposeRemoveMemberResult, ProposeRequestMembershipParams, ProposeRequestMembershipResult, VoteOption, VoteProposalParams, VoteProposalResult, VotingMode, } from './types.js';
9
+ export { proposeUpdateVotingSettings } from './propose-update-voting-settings.js';
10
+ export type { CreateSpaceParams, CreateSpaceResult, ExecuteProposalParams, ExecuteProposalResult, ProposeAddEditorParams, ProposeAddEditorResult, ProposeAddMemberParams, ProposeAddMemberResult, ProposeEditParams, ProposeEditResult, ProposeRemoveEditorParams, ProposeRemoveEditorResult, ProposeRemoveMemberParams, ProposeRemoveMemberResult, ProposeRequestMembershipParams, ProposeRequestMembershipResult, ProposeUpdateVotingSettingsParams, ProposeUpdateVotingSettingsResult, VoteOption, VoteProposalParams, VoteProposalResult, VotingMode, } from './types.js';
10
11
  export { voteProposal } from './vote-proposal.js';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dao-space/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,8BAA8B,EAC9B,8BAA8B,EAC9B,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dao-space/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,8BAA8B,EAC9B,8BAA8B,EAC9B,iCAAiC,EACjC,iCAAiC,EACjC,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
@@ -6,5 +6,6 @@ export { proposeEdit } from './propose-edit.js';
6
6
  export { proposeRemoveEditor } from './propose-remove-editor.js';
7
7
  export { proposeRemoveMember } from './propose-remove-member.js';
8
8
  export { proposeRequestMembership } from './propose-request-membership.js';
9
+ export { proposeUpdateVotingSettings } from './propose-update-voting-settings.js';
9
10
  export { voteProposal } from './vote-proposal.js';
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dao-space/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAuB3E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dao-space/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAyBlF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
@@ -2,26 +2,7 @@ import type { ProposeAddEditorParams, ProposeAddEditorResult } from './types.js'
2
2
  /**
3
3
  * Creates a proposal to add an editor to a DAO space.
4
4
  *
5
- * This function encodes a proposal that, when executed, will call the DAO
6
- * space's `addEditor()` function to add the given editor space ID.
7
- * The proposal is submitted via SpaceRegistry's `enter()` function.
8
- *
9
- * @param params - The parameters for creating the proposal
10
- * @returns Object containing `to` (Space Registry address), `calldata`, and `proposalId`
11
- *
12
- * @example
13
- * ```ts
14
- * import { daoSpace } from '@geoprotocol/geo-sdk';
15
- *
16
- * const { to, calldata, proposalId } = daoSpace.proposeAddEditor({
17
- * authorSpaceId: '0xProposerBytes16SpaceId...',
18
- * spaceId: '0xDAOBytes16SpaceId...',
19
- * newEditorSpaceId: '0xNewEditorBytes16SpaceId...',
20
- * });
21
- *
22
- * // Submit the transaction using viem or another client
23
- * await walletClient.sendTransaction({ to, data: calldata });
24
- * ```
5
+ * @deprecated Use `createGeoClient({ network }).daoSpaces.proposeAddEditor(...)`.
25
6
  */
26
7
  export declare function proposeAddEditor(params: ProposeAddEditorParams): ProposeAddEditorResult;
27
8
  //# sourceMappingURL=propose-add-editor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"propose-add-editor.d.ts","sourceRoot":"","sources":["../../../src/dao-space/propose-add-editor.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,sBAAsB,CAyFvF"}
1
+ {"version":3,"file":"propose-add-editor.d.ts","sourceRoot":"","sources":["../../../src/dao-space/propose-add-editor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEjF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,sBAAsB,CAavF"}
@@ -1,97 +1,22 @@
1
- import { v4 as uuidv4 } from 'uuid';
2
- import { encodeAbiParameters, encodeFunctionData } from 'viem';
3
- import { DaoSpaceAbi, SpaceRegistryAbi } from '../abis/index.js';
4
- import { bytes16ToBytes32LeftAligned, EMPTY_SIGNATURE, ensure0xPrefix, getContractAddressesBasedOnNetwork, isBytes16Hex, PROPOSAL_CREATED_ACTION, } from './constants.js';
1
+ import { createGeoClient } from '../client.js';
2
+ import { resolveGeoNetwork } from '../networks.js';
3
+ import { ensure0xPrefix, isBytes16Hex } from './constants.js';
5
4
  /**
6
5
  * Creates a proposal to add an editor to a DAO space.
7
6
  *
8
- * This function encodes a proposal that, when executed, will call the DAO
9
- * space's `addEditor()` function to add the given editor space ID.
10
- * The proposal is submitted via SpaceRegistry's `enter()` function.
11
- *
12
- * @param params - The parameters for creating the proposal
13
- * @returns Object containing `to` (Space Registry address), `calldata`, and `proposalId`
14
- *
15
- * @example
16
- * ```ts
17
- * import { daoSpace } from '@geoprotocol/geo-sdk';
18
- *
19
- * const { to, calldata, proposalId } = daoSpace.proposeAddEditor({
20
- * authorSpaceId: '0xProposerBytes16SpaceId...',
21
- * spaceId: '0xDAOBytes16SpaceId...',
22
- * newEditorSpaceId: '0xNewEditorBytes16SpaceId...',
23
- * });
24
- *
25
- * // Submit the transaction using viem or another client
26
- * await walletClient.sendTransaction({ to, data: calldata });
27
- * ```
7
+ * @deprecated Use `createGeoClient({ network }).daoSpaces.proposeAddEditor(...)`.
28
8
  */
29
9
  export function proposeAddEditor(params) {
30
- const { authorSpaceId: rawAuthorSpaceId, spaceId: rawSpaceId, newEditorSpaceId: rawNewEditorSpaceId, votingMode = 'SLOW', proposalId: rawProposalId, network = 'TESTNET', } = params;
31
- // Validate inputs
32
- const authorSpaceId = ensure0xPrefix(rawAuthorSpaceId);
33
- const newEditorSpaceId = ensure0xPrefix(rawNewEditorSpaceId);
34
- const spaceId = ensure0xPrefix(rawSpaceId);
35
- if (!isBytes16Hex(authorSpaceId)) {
36
- throw new Error(`authorSpaceId must be bytes16 hex (0x followed by 32 hex chars). Received: ${authorSpaceId}`);
10
+ const { network = 'TESTNET', ...args } = params;
11
+ if (!isBytes16Hex(ensure0xPrefix(args.authorSpaceId))) {
12
+ throw new Error(`authorSpaceId must be bytes16 hex (32 hex chars). Received: ${args.authorSpaceId}`);
37
13
  }
38
- if (!isBytes16Hex(spaceId)) {
39
- throw new Error(`spaceId must be bytes16 hex (0x followed by 32 hex chars). Received: ${spaceId}`);
14
+ if (!isBytes16Hex(ensure0xPrefix(args.spaceId))) {
15
+ throw new Error(`spaceId must be bytes16 hex (32 hex chars). Received: ${args.spaceId}`);
40
16
  }
41
- if (!isBytes16Hex(newEditorSpaceId)) {
42
- throw new Error(`newEditorSpaceId must be bytes16 hex (0x followed by 32 hex chars). Received: ${newEditorSpaceId}`);
17
+ if (!isBytes16Hex(ensure0xPrefix(args.newEditorSpaceId))) {
18
+ throw new Error(`newEditorSpaceId must be bytes16 hex (32 hex chars). Received: ${args.newEditorSpaceId}`);
43
19
  }
44
- const proposalId = rawProposalId
45
- ? ensure0xPrefix(rawProposalId)
46
- : `0x${uuidv4().replaceAll('-', '')}`;
47
- // Encode the addEditor function call: addEditor(bytes16 _newEditorSpaceId)
48
- const proposalActionCalldata = encodeFunctionData({
49
- abi: DaoSpaceAbi,
50
- functionName: 'addEditor',
51
- args: [newEditorSpaceId],
52
- });
53
- const contracts = getContractAddressesBasedOnNetwork(network);
54
- // Create the proposal action (calling addEditor on the DAO space)
55
- const proposalActions = [
56
- {
57
- to: contracts.SPACE_REGISTRY_ADDRESS,
58
- value: 0n,
59
- data: proposalActionCalldata,
60
- },
61
- ];
62
- // Encode the proposal data: abi.encode(bytes16 proposalId, VotingMode votingMode, Action[] actions)
63
- const data = encodeAbiParameters([
64
- { type: 'bytes16', name: 'proposalId' },
65
- { type: 'uint8', name: 'votingMode' },
66
- {
67
- type: 'tuple[]',
68
- name: 'actions',
69
- components: [
70
- { type: 'address', name: 'to' },
71
- { type: 'uint256', name: 'value' },
72
- { type: 'bytes', name: 'data' },
73
- ],
74
- },
75
- ], [proposalId, votingMode === 'FAST' ? 1 : 0, proposalActions]);
76
- // Convert proposalId to bytes32 for the topic (left-aligned)
77
- const topic = bytes16ToBytes32LeftAligned(proposalId);
78
- // Encode the SpaceRegistry.enter() call
79
- const calldata = encodeFunctionData({
80
- abi: SpaceRegistryAbi,
81
- functionName: 'enter',
82
- args: [
83
- authorSpaceId, // fromSpaceId
84
- spaceId, // toSpaceId
85
- PROPOSAL_CREATED_ACTION, // action
86
- topic, // topic (proposalId left-aligned to bytes32)
87
- data, // data (encoded proposal)
88
- EMPTY_SIGNATURE, // signature (unused when msg.sender == fromSpace)
89
- ],
90
- });
91
- return {
92
- to: contracts.SPACE_REGISTRY_ADDRESS,
93
- calldata,
94
- proposalId,
95
- };
20
+ return createGeoClient({ network: resolveGeoNetwork(network) }).daoSpaces.proposeAddEditor(args);
96
21
  }
97
22
  //# sourceMappingURL=propose-add-editor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"propose-add-editor.js","sourceRoot":"","sources":["../../../src/dao-space/propose-add-editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"propose-add-editor.js","sourceRoot":"","sources":["../../../src/dao-space/propose-add-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9D;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAA8B;IAC7D,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAChD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,+DAA+D,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,yDAAyD,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,kEAAkE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC7G,CAAC;IAED,OAAO,eAAe,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACnG,CAAC"}
@@ -4,11 +4,13 @@ import { proposeAddEditor } from './propose-add-editor.js';
4
4
  describe('proposeAddEditor', () => {
5
5
  const validAuthorSpaceId = '0x0eed5491b917cf58b33ac81255fe7ae9';
6
6
  const validSpaceId = '0xabcdef12345678901234567890abcdef';
7
+ const validDaoSpaceAddress = '0x1234567890123456789012345678901234567890';
7
8
  const validNewEditorSpaceId = '0x11111111111111111111111111111111';
8
9
  it('should return correct structure', () => {
9
10
  const result = proposeAddEditor({
10
11
  authorSpaceId: validAuthorSpaceId,
11
12
  spaceId: validSpaceId,
13
+ daoSpaceAddress: validDaoSpaceAddress,
12
14
  newEditorSpaceId: validNewEditorSpaceId,
13
15
  });
14
16
  expect(result).toHaveProperty('to');
@@ -19,6 +21,7 @@ describe('proposeAddEditor', () => {
19
21
  const { to } = proposeAddEditor({
20
22
  authorSpaceId: validAuthorSpaceId,
21
23
  spaceId: validSpaceId,
24
+ daoSpaceAddress: validDaoSpaceAddress,
22
25
  newEditorSpaceId: validNewEditorSpaceId,
23
26
  });
24
27
  expect(to).toBe(TESTNET.SPACE_REGISTRY_ADDRESS);
@@ -27,6 +30,7 @@ describe('proposeAddEditor', () => {
27
30
  const { calldata } = proposeAddEditor({
28
31
  authorSpaceId: validAuthorSpaceId,
29
32
  spaceId: validSpaceId,
33
+ daoSpaceAddress: validDaoSpaceAddress,
30
34
  newEditorSpaceId: validNewEditorSpaceId,
31
35
  });
32
36
  expect(calldata).toBeTypeOf('string');
@@ -36,6 +40,7 @@ describe('proposeAddEditor', () => {
36
40
  const { proposalId } = proposeAddEditor({
37
41
  authorSpaceId: validAuthorSpaceId,
38
42
  spaceId: validSpaceId,
43
+ daoSpaceAddress: validDaoSpaceAddress,
39
44
  newEditorSpaceId: validNewEditorSpaceId,
40
45
  });
41
46
  expect(proposalId).toMatch(/^0x[0-9a-fA-F]{32}$/);
@@ -45,6 +50,7 @@ describe('proposeAddEditor', () => {
45
50
  const { proposalId } = proposeAddEditor({
46
51
  authorSpaceId: validAuthorSpaceId,
47
52
  spaceId: validSpaceId,
53
+ daoSpaceAddress: validDaoSpaceAddress,
48
54
  newEditorSpaceId: validNewEditorSpaceId,
49
55
  proposalId: customProposalId,
50
56
  });
@@ -54,28 +60,31 @@ describe('proposeAddEditor', () => {
54
60
  const result = proposeAddEditor({
55
61
  authorSpaceId: validAuthorSpaceId,
56
62
  spaceId: validSpaceId,
63
+ daoSpaceAddress: validDaoSpaceAddress,
57
64
  newEditorSpaceId: validNewEditorSpaceId,
58
65
  });
59
66
  expect(result.calldata).toBeTruthy();
60
67
  });
61
- it('should preserve legacy FAST voting mode support', () => {
62
- const result = proposeAddEditor({
68
+ it('should reject FAST voting mode', () => {
69
+ expect(() => proposeAddEditor({
63
70
  authorSpaceId: validAuthorSpaceId,
64
71
  spaceId: validSpaceId,
72
+ daoSpaceAddress: validDaoSpaceAddress,
65
73
  newEditorSpaceId: validNewEditorSpaceId,
66
74
  votingMode: 'FAST',
67
- });
68
- expect(result.calldata).toBeTruthy();
75
+ })).toThrow('proposeAddEditor only supports SLOW voting mode');
69
76
  });
70
77
  it('should generate unique proposalIds for the same input', () => {
71
78
  const result1 = proposeAddEditor({
72
79
  authorSpaceId: validAuthorSpaceId,
73
80
  spaceId: validSpaceId,
81
+ daoSpaceAddress: validDaoSpaceAddress,
74
82
  newEditorSpaceId: validNewEditorSpaceId,
75
83
  });
76
84
  const result2 = proposeAddEditor({
77
85
  authorSpaceId: validAuthorSpaceId,
78
86
  spaceId: validSpaceId,
87
+ daoSpaceAddress: validDaoSpaceAddress,
79
88
  newEditorSpaceId: validNewEditorSpaceId,
80
89
  });
81
90
  expect(result1.proposalId).not.toBe(result2.proposalId);
@@ -84,6 +93,7 @@ describe('proposeAddEditor', () => {
84
93
  expect(() => proposeAddEditor({
85
94
  authorSpaceId: '0xinvalid',
86
95
  spaceId: validSpaceId,
96
+ daoSpaceAddress: validDaoSpaceAddress,
87
97
  newEditorSpaceId: validNewEditorSpaceId,
88
98
  })).toThrow('authorSpaceId must be bytes16 hex');
89
99
  });
@@ -91,6 +101,7 @@ describe('proposeAddEditor', () => {
91
101
  expect(() => proposeAddEditor({
92
102
  authorSpaceId: validAuthorSpaceId,
93
103
  spaceId: '0xtooshort',
104
+ daoSpaceAddress: validDaoSpaceAddress,
94
105
  newEditorSpaceId: validNewEditorSpaceId,
95
106
  })).toThrow('spaceId must be bytes16 hex');
96
107
  });
@@ -98,6 +109,7 @@ describe('proposeAddEditor', () => {
98
109
  expect(() => proposeAddEditor({
99
110
  authorSpaceId: validAuthorSpaceId,
100
111
  spaceId: validSpaceId,
112
+ daoSpaceAddress: validDaoSpaceAddress,
101
113
  newEditorSpaceId: '0xinvalid',
102
114
  })).toThrow('newEditorSpaceId must be bytes16 hex');
103
115
  });
@@ -1 +1 @@
1
- {"version":3,"file":"propose-add-editor.test.js","sourceRoot":"","sources":["../../../src/dao-space/propose-add-editor.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"propose-add-editor.test.js","sourceRoot":"","sources":["../../../src/dao-space/propose-add-editor.test.ts"],"names":[],"mappings":"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"}
@@ -2,26 +2,7 @@ import type { ProposeAddMemberParams, ProposeAddMemberResult } from './types.js'
2
2
  /**
3
3
  * Creates a proposal to add a member to a DAO space.
4
4
  *
5
- * This function encodes a proposal that, when executed, will call the DAO
6
- * space's `addMember()` function to add the given member space ID.
7
- * The proposal is submitted via SpaceRegistry's `enter()` function.
8
- *
9
- * @param params - The parameters for creating the proposal
10
- * @returns Object containing `to` (Space Registry address), `calldata`, and `proposalId`
11
- *
12
- * @example
13
- * ```ts
14
- * import { daoSpace } from '@geoprotocol/geo-sdk';
15
- *
16
- * const { to, calldata, proposalId } = daoSpace.proposeAddMember({
17
- * authorSpaceId: '0xProposerBytes16SpaceId...',
18
- * spaceId: '0xDAOBytes16SpaceId...',
19
- * newMemberSpaceId: '0xNewMemberBytes16SpaceId...',
20
- * });
21
- *
22
- * // Submit the transaction using viem or another client
23
- * await walletClient.sendTransaction({ to, data: calldata });
24
- * ```
5
+ * @deprecated Use `createGeoClient({ network }).daoSpaces.proposeAddMember(...)`.
25
6
  */
26
7
  export declare function proposeAddMember(params: ProposeAddMemberParams): ProposeAddMemberResult;
27
8
  //# sourceMappingURL=propose-add-member.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"propose-add-member.d.ts","sourceRoot":"","sources":["../../../src/dao-space/propose-add-member.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,sBAAsB,CAyFvF"}
1
+ {"version":3,"file":"propose-add-member.d.ts","sourceRoot":"","sources":["../../../src/dao-space/propose-add-member.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEjF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,sBAAsB,CAavF"}
@@ -1,97 +1,22 @@
1
- import { v4 as uuidv4 } from 'uuid';
2
- import { encodeAbiParameters, encodeFunctionData } from 'viem';
3
- import { DaoSpaceAbi, SpaceRegistryAbi } from '../abis/index.js';
4
- import { bytes16ToBytes32LeftAligned, EMPTY_SIGNATURE, ensure0xPrefix, getContractAddressesBasedOnNetwork, isBytes16Hex, PROPOSAL_CREATED_ACTION, } from './constants.js';
1
+ import { createGeoClient } from '../client.js';
2
+ import { resolveGeoNetwork } from '../networks.js';
3
+ import { ensure0xPrefix, isBytes16Hex } from './constants.js';
5
4
  /**
6
5
  * Creates a proposal to add a member to a DAO space.
7
6
  *
8
- * This function encodes a proposal that, when executed, will call the DAO
9
- * space's `addMember()` function to add the given member space ID.
10
- * The proposal is submitted via SpaceRegistry's `enter()` function.
11
- *
12
- * @param params - The parameters for creating the proposal
13
- * @returns Object containing `to` (Space Registry address), `calldata`, and `proposalId`
14
- *
15
- * @example
16
- * ```ts
17
- * import { daoSpace } from '@geoprotocol/geo-sdk';
18
- *
19
- * const { to, calldata, proposalId } = daoSpace.proposeAddMember({
20
- * authorSpaceId: '0xProposerBytes16SpaceId...',
21
- * spaceId: '0xDAOBytes16SpaceId...',
22
- * newMemberSpaceId: '0xNewMemberBytes16SpaceId...',
23
- * });
24
- *
25
- * // Submit the transaction using viem or another client
26
- * await walletClient.sendTransaction({ to, data: calldata });
27
- * ```
7
+ * @deprecated Use `createGeoClient({ network }).daoSpaces.proposeAddMember(...)`.
28
8
  */
29
9
  export function proposeAddMember(params) {
30
- const { authorSpaceId: rawAuthorSpaceId, spaceId: rawSpaceId, newMemberSpaceId: rawNewMemberSpaceId, votingMode = 'SLOW', proposalId: rawProposalId, network = 'TESTNET', } = params;
31
- // Validate inputs
32
- const authorSpaceId = ensure0xPrefix(rawAuthorSpaceId);
33
- const newMemberSpaceId = ensure0xPrefix(rawNewMemberSpaceId);
34
- const spaceId = ensure0xPrefix(rawSpaceId);
35
- if (!isBytes16Hex(authorSpaceId)) {
36
- throw new Error(`authorSpaceId must be bytes16 hex (0x followed by 32 hex chars). Received: ${authorSpaceId}`);
10
+ const { network = 'TESTNET', ...args } = params;
11
+ if (!isBytes16Hex(ensure0xPrefix(args.authorSpaceId))) {
12
+ throw new Error(`authorSpaceId must be bytes16 hex (32 hex chars). Received: ${args.authorSpaceId}`);
37
13
  }
38
- if (!isBytes16Hex(spaceId)) {
39
- throw new Error(`spaceId must be bytes16 hex (0x followed by 32 hex chars). Received: ${spaceId}`);
14
+ if (!isBytes16Hex(ensure0xPrefix(args.spaceId))) {
15
+ throw new Error(`spaceId must be bytes16 hex (32 hex chars). Received: ${args.spaceId}`);
40
16
  }
41
- if (!isBytes16Hex(newMemberSpaceId)) {
42
- throw new Error(`newMemberSpaceId must be bytes16 hex (0x followed by 32 hex chars). Received: ${newMemberSpaceId}`);
17
+ if (!isBytes16Hex(ensure0xPrefix(args.newMemberSpaceId))) {
18
+ throw new Error(`newMemberSpaceId must be bytes16 hex (32 hex chars). Received: ${args.newMemberSpaceId}`);
43
19
  }
44
- const proposalId = rawProposalId
45
- ? ensure0xPrefix(rawProposalId)
46
- : `0x${uuidv4().replaceAll('-', '')}`;
47
- // Encode the addMember function call: addMember(bytes16 _newMemberSpaceId)
48
- const proposalActionCalldata = encodeFunctionData({
49
- abi: DaoSpaceAbi,
50
- functionName: 'addMember',
51
- args: [newMemberSpaceId],
52
- });
53
- const contracts = getContractAddressesBasedOnNetwork(network);
54
- // Create the proposal action (calling addMember on the DAO space)
55
- const proposalActions = [
56
- {
57
- to: contracts.SPACE_REGISTRY_ADDRESS,
58
- value: 0n,
59
- data: proposalActionCalldata,
60
- },
61
- ];
62
- // Encode the proposal data: abi.encode(bytes16 proposalId, VotingMode votingMode, Action[] actions)
63
- const data = encodeAbiParameters([
64
- { type: 'bytes16', name: 'proposalId' },
65
- { type: 'uint8', name: 'votingMode' },
66
- {
67
- type: 'tuple[]',
68
- name: 'actions',
69
- components: [
70
- { type: 'address', name: 'to' },
71
- { type: 'uint256', name: 'value' },
72
- { type: 'bytes', name: 'data' },
73
- ],
74
- },
75
- ], [proposalId, votingMode === 'FAST' ? 1 : 0, proposalActions]);
76
- // Convert proposalId to bytes32 for the topic (left-aligned)
77
- const topic = bytes16ToBytes32LeftAligned(proposalId);
78
- // Encode the SpaceRegistry.enter() call
79
- const calldata = encodeFunctionData({
80
- abi: SpaceRegistryAbi,
81
- functionName: 'enter',
82
- args: [
83
- authorSpaceId, // fromSpaceId
84
- spaceId, // toSpaceId
85
- PROPOSAL_CREATED_ACTION, // action
86
- topic, // topic (proposalId left-aligned to bytes32)
87
- data, // data (encoded proposal)
88
- EMPTY_SIGNATURE, // signature (unused when msg.sender == fromSpace)
89
- ],
90
- });
91
- return {
92
- to: contracts.SPACE_REGISTRY_ADDRESS,
93
- calldata,
94
- proposalId,
95
- };
20
+ return createGeoClient({ network: resolveGeoNetwork(network) }).daoSpaces.proposeAddMember(args);
96
21
  }
97
22
  //# sourceMappingURL=propose-add-member.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"propose-add-member.js","sourceRoot":"","sources":["../../../src/dao-space/propose-add-member.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"propose-add-member.js","sourceRoot":"","sources":["../../../src/dao-space/propose-add-member.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9D;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAA8B;IAC7D,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAChD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,+DAA+D,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,yDAAyD,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,kEAAkE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC7G,CAAC;IAED,OAAO,eAAe,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACnG,CAAC"}