@geoprotocol/geo-sdk 0.18.3 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +995 -372
- package/dist/contracts.d.ts +0 -11
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +0 -11
- package/dist/contracts.js.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/lite.d.ts +2 -0
- package/dist/lite.d.ts.map +1 -1
- package/dist/lite.js +2 -0
- package/dist/lite.js.map +1 -1
- package/dist/src/abis/dao-space-v2.test.d.ts +2 -0
- package/dist/src/abis/dao-space-v2.test.d.ts.map +1 -0
- package/dist/src/abis/dao-space-v2.test.js +67 -0
- package/dist/src/abis/dao-space-v2.test.js.map +1 -0
- package/dist/src/client/api.d.ts +86 -0
- package/dist/src/client/api.d.ts.map +1 -0
- package/dist/src/client/api.js +169 -0
- package/dist/src/client/api.js.map +1 -0
- package/dist/src/client/comments.d.ts +59 -0
- package/dist/src/client/comments.d.ts.map +1 -0
- package/dist/src/client/comments.js +96 -0
- package/dist/src/client/comments.js.map +1 -0
- package/dist/src/client/context.d.ts +20 -0
- package/dist/src/client/context.d.ts.map +1 -0
- package/dist/src/client/context.js +20 -0
- package/dist/src/client/context.js.map +1 -0
- package/dist/src/client/dao-spaces.d.ts +348 -0
- package/dist/src/client/dao-spaces.d.ts.map +1 -0
- package/dist/src/client/dao-spaces.js +494 -0
- package/dist/src/client/dao-spaces.js.map +1 -0
- package/dist/src/client/dao-spaces.test.d.ts +2 -0
- package/dist/src/client/dao-spaces.test.d.ts.map +1 -0
- package/dist/src/client/dao-spaces.test.js +263 -0
- package/dist/src/client/dao-spaces.test.js.map +1 -0
- package/dist/src/client/edits.d.ts +100 -0
- package/dist/src/client/edits.d.ts.map +1 -0
- package/dist/src/client/edits.js +131 -0
- package/dist/src/client/edits.js.map +1 -0
- package/dist/src/client/edits.test.d.ts +2 -0
- package/dist/src/client/edits.test.d.ts.map +1 -0
- package/dist/src/client/edits.test.js +98 -0
- package/dist/src/client/edits.test.js.map +1 -0
- package/dist/src/client/entities.d.ts +23 -0
- package/dist/src/client/entities.d.ts.map +1 -0
- package/dist/src/client/entities.js +88 -0
- package/dist/src/client/entities.js.map +1 -0
- package/dist/src/client/entity-votes.d.ts +141 -0
- package/dist/src/client/entity-votes.d.ts.map +1 -0
- package/dist/src/client/entity-votes.js +168 -0
- package/dist/src/client/entity-votes.js.map +1 -0
- package/dist/src/client/entity-votes.test.d.ts +2 -0
- package/dist/src/client/entity-votes.test.d.ts.map +1 -0
- package/dist/src/client/entity-votes.test.js +93 -0
- package/dist/src/client/entity-votes.test.js.map +1 -0
- package/dist/src/client/graph-workflows.test.d.ts +2 -0
- package/dist/src/client/graph-workflows.test.d.ts.map +1 -0
- package/dist/src/client/graph-workflows.test.js +83 -0
- package/dist/src/client/graph-workflows.test.js.map +1 -0
- package/dist/src/client/images-storage.test.d.ts +2 -0
- package/dist/src/client/images-storage.test.d.ts.map +1 -0
- package/dist/src/client/images-storage.test.js +52 -0
- package/dist/src/client/images-storage.test.js.map +1 -0
- package/dist/src/client/images.d.ts +35 -0
- package/dist/src/client/images.d.ts.map +1 -0
- package/dist/src/client/images.js +90 -0
- package/dist/src/client/images.js.map +1 -0
- package/dist/src/client/personal-spaces.d.ts +155 -0
- package/dist/src/client/personal-spaces.d.ts.map +1 -0
- package/dist/src/client/personal-spaces.js +198 -0
- package/dist/src/client/personal-spaces.js.map +1 -0
- package/dist/src/client/proposals.d.ts +185 -0
- package/dist/src/client/proposals.d.ts.map +1 -0
- package/dist/src/client/proposals.js +294 -0
- package/dist/src/client/proposals.js.map +1 -0
- package/dist/src/client/proposals.test.d.ts +2 -0
- package/dist/src/client/proposals.test.d.ts.map +1 -0
- package/dist/src/client/proposals.test.js +243 -0
- package/dist/src/client/proposals.test.js.map +1 -0
- package/dist/src/client/spaces.test.d.ts +2 -0
- package/dist/src/client/spaces.test.d.ts.map +1 -0
- package/dist/src/client/spaces.test.js +155 -0
- package/dist/src/client/spaces.test.js.map +1 -0
- package/dist/src/client/storage.d.ts +52 -0
- package/dist/src/client/storage.d.ts.map +1 -0
- package/dist/src/client/storage.js +53 -0
- package/dist/src/client/storage.js.map +1 -0
- package/dist/src/client.d.ts +325 -0
- package/dist/src/client.d.ts.map +1 -0
- package/dist/src/client.js +452 -0
- package/dist/src/client.js.map +1 -0
- package/dist/src/client.test.d.ts +2 -0
- package/dist/src/client.test.d.ts.map +1 -0
- package/dist/src/client.test.js +120 -0
- package/dist/src/client.test.js.map +1 -0
- package/dist/src/contracts-v2/abis.d.ts +196 -0
- package/dist/src/contracts-v2/abis.d.ts.map +1 -0
- package/dist/src/contracts-v2/abis.js +110 -0
- package/dist/src/contracts-v2/abis.js.map +1 -0
- package/dist/src/contracts-v2/actions.d.ts +56 -0
- package/dist/src/contracts-v2/actions.d.ts.map +1 -0
- package/dist/src/contracts-v2/actions.js +83 -0
- package/dist/src/contracts-v2/actions.js.map +1 -0
- package/dist/src/contracts-v2/encoding.d.ts +80 -0
- package/dist/src/contracts-v2/encoding.d.ts.map +1 -0
- package/dist/src/contracts-v2/encoding.js +193 -0
- package/dist/src/contracts-v2/encoding.js.map +1 -0
- package/dist/src/contracts-v2/encoding.test.d.ts +2 -0
- package/dist/src/contracts-v2/encoding.test.d.ts.map +1 -0
- package/dist/src/contracts-v2/encoding.test.js +93 -0
- package/dist/src/contracts-v2/encoding.test.js.map +1 -0
- package/dist/src/contracts-v2/local-geobrowser.e2e.test.d.ts +2 -0
- package/dist/src/contracts-v2/local-geobrowser.e2e.test.d.ts.map +1 -0
- package/dist/src/contracts-v2/local-geobrowser.e2e.test.js +239 -0
- package/dist/src/contracts-v2/local-geobrowser.e2e.test.js.map +1 -0
- package/dist/src/contracts-v2/voting-settings.d.ts +48 -0
- package/dist/src/contracts-v2/voting-settings.d.ts.map +1 -0
- package/dist/src/contracts-v2/voting-settings.js +69 -0
- package/dist/src/contracts-v2/voting-settings.js.map +1 -0
- package/dist/src/dao-space/constants.d.ts +6 -3
- package/dist/src/dao-space/constants.d.ts.map +1 -1
- package/dist/src/dao-space/constants.js +6 -5
- package/dist/src/dao-space/constants.js.map +1 -1
- package/dist/src/dao-space/create-space.d.ts +1 -31
- package/dist/src/dao-space/create-space.d.ts.map +1 -1
- package/dist/src/dao-space/create-space.js +5 -70
- package/dist/src/dao-space/create-space.js.map +1 -1
- package/dist/src/dao-space/execute-proposal.d.ts +1 -22
- package/dist/src/dao-space/execute-proposal.d.ts.map +1 -1
- package/dist/src/dao-space/execute-proposal.js +12 -59
- package/dist/src/dao-space/execute-proposal.js.map +1 -1
- package/dist/src/dao-space/propose-add-editor.test.js +1 -1
- package/dist/src/dao-space/propose-add-editor.test.js.map +1 -1
- package/dist/src/dao-space/propose-edit.d.ts +1 -30
- package/dist/src/dao-space/propose-edit.d.ts.map +1 -1
- package/dist/src/dao-space/propose-edit.js +12 -108
- package/dist/src/dao-space/propose-edit.js.map +1 -1
- package/dist/src/dao-space/propose-edit.test.js +8 -1
- package/dist/src/dao-space/propose-edit.test.js.map +1 -1
- package/dist/src/dao-space/propose-remove-editor.d.ts.map +1 -1
- package/dist/src/dao-space/propose-remove-editor.js +5 -5
- package/dist/src/dao-space/propose-remove-editor.js.map +1 -1
- package/dist/src/dao-space/propose-remove-editor.test.js +3 -8
- package/dist/src/dao-space/propose-remove-editor.test.js.map +1 -1
- package/dist/src/dao-space/propose-remove-member.d.ts.map +1 -1
- package/dist/src/dao-space/propose-remove-member.js +5 -5
- package/dist/src/dao-space/propose-remove-member.js.map +1 -1
- package/dist/src/dao-space/propose-request-membership.d.ts.map +1 -1
- package/dist/src/dao-space/propose-request-membership.js +4 -4
- package/dist/src/dao-space/propose-request-membership.js.map +1 -1
- package/dist/src/dao-space/propose-update-voting-settings.d.ts +8 -0
- package/dist/src/dao-space/propose-update-voting-settings.d.ts.map +1 -0
- package/dist/src/dao-space/propose-update-voting-settings.js +19 -0
- package/dist/src/dao-space/propose-update-voting-settings.js.map +1 -0
- package/dist/src/dao-space/propose-update-voting-settings.test.d.ts +2 -0
- package/dist/src/dao-space/propose-update-voting-settings.test.d.ts.map +1 -0
- package/dist/src/dao-space/propose-update-voting-settings.test.js +118 -0
- package/dist/src/dao-space/propose-update-voting-settings.test.js.map +1 -0
- package/dist/src/dao-space/vote-proposal.d.ts +1 -24
- package/dist/src/dao-space/vote-proposal.d.ts.map +1 -1
- package/dist/src/dao-space/vote-proposal.js +12 -64
- package/dist/src/dao-space/vote-proposal.js.map +1 -1
- package/dist/src/e2e/local-geobrowser.d.ts +9 -0
- package/dist/src/e2e/local-geobrowser.d.ts.map +1 -0
- package/dist/src/e2e/local-geobrowser.js +35 -0
- package/dist/src/e2e/local-geobrowser.js.map +1 -0
- package/dist/src/e2e/v2-contracts.test.d.ts +2 -0
- package/dist/src/e2e/v2-contracts.test.d.ts.map +1 -0
- package/dist/src/e2e/v2-contracts.test.js +25 -0
- package/dist/src/e2e/v2-contracts.test.js.map +1 -0
- package/dist/src/e2e-api-surface.test.d.ts +2 -0
- package/dist/src/e2e-api-surface.test.d.ts.map +1 -0
- package/dist/src/e2e-api-surface.test.js +1021 -0
- package/dist/src/e2e-api-surface.test.js.map +1 -0
- package/dist/src/e2e-flows.test.d.ts +2 -0
- package/dist/src/e2e-flows.test.d.ts.map +1 -0
- package/dist/src/e2e-flows.test.js +445 -0
- package/dist/src/e2e-flows.test.js.map +1 -0
- package/dist/src/e2e-legacy-api-surface.test.d.ts +2 -0
- package/dist/src/e2e-legacy-api-surface.test.d.ts.map +1 -0
- package/dist/src/e2e-legacy-api-surface.test.js +840 -0
- package/dist/src/e2e-legacy-api-surface.test.js.map +1 -0
- package/dist/src/encoding.d.ts +3 -0
- package/dist/src/encoding.d.ts.map +1 -1
- package/dist/src/encoding.js +3 -0
- package/dist/src/encoding.js.map +1 -1
- package/dist/src/encodings/get-create-dao-space-calldata.d.ts +3 -89
- package/dist/src/encodings/get-create-dao-space-calldata.d.ts.map +1 -1
- package/dist/src/encodings/get-create-dao-space-calldata.js +5 -95
- package/dist/src/encodings/get-create-dao-space-calldata.js.map +1 -1
- package/dist/src/encodings/get-create-personal-space-calldata.d.ts +2 -0
- package/dist/src/encodings/get-create-personal-space-calldata.d.ts.map +1 -1
- package/dist/src/encodings/get-create-personal-space-calldata.js +2 -0
- package/dist/src/encodings/get-create-personal-space-calldata.js.map +1 -1
- package/dist/src/graph/comment-utils.d.ts +4 -0
- package/dist/src/graph/comment-utils.d.ts.map +1 -1
- package/dist/src/graph/comment-utils.js +4 -0
- package/dist/src/graph/comment-utils.js.map +1 -1
- package/dist/src/graph/constants.d.ts +12 -3
- package/dist/src/graph/constants.d.ts.map +1 -1
- package/dist/src/graph/constants.js +11 -5
- package/dist/src/graph/constants.js.map +1 -1
- package/dist/src/graph/create-comment.d.ts +3 -22
- package/dist/src/graph/create-comment.d.ts.map +1 -1
- package/dist/src/graph/create-comment.js +6 -136
- package/dist/src/graph/create-comment.js.map +1 -1
- package/dist/src/graph/create-comment.test.js +19 -8
- package/dist/src/graph/create-comment.test.js.map +1 -1
- package/dist/src/graph/create-entity.d.ts +2 -0
- package/dist/src/graph/create-entity.d.ts.map +1 -1
- package/dist/src/graph/create-entity.js +2 -0
- package/dist/src/graph/create-entity.js.map +1 -1
- package/dist/src/graph/create-image.d.ts +2 -21
- package/dist/src/graph/create-image.d.ts.map +1 -1
- package/dist/src/graph/create-image.js +7 -69
- package/dist/src/graph/create-image.js.map +1 -1
- package/dist/src/graph/create-property.d.ts +2 -0
- package/dist/src/graph/create-property.d.ts.map +1 -1
- package/dist/src/graph/create-property.js +2 -0
- package/dist/src/graph/create-property.js.map +1 -1
- package/dist/src/graph/create-proposal-review.d.ts +1 -27
- package/dist/src/graph/create-proposal-review.d.ts.map +1 -1
- package/dist/src/graph/create-proposal-review.js +4 -61
- package/dist/src/graph/create-proposal-review.js.map +1 -1
- package/dist/src/graph/create-relation.d.ts +2 -0
- package/dist/src/graph/create-relation.d.ts.map +1 -1
- package/dist/src/graph/create-relation.js +2 -0
- package/dist/src/graph/create-relation.js.map +1 -1
- package/dist/src/graph/create-type.d.ts +2 -0
- package/dist/src/graph/create-type.d.ts.map +1 -1
- package/dist/src/graph/create-type.js +2 -0
- package/dist/src/graph/create-type.js.map +1 -1
- package/dist/src/graph/delete-entity.d.ts +2 -14
- package/dist/src/graph/delete-entity.d.ts.map +1 -1
- package/dist/src/graph/delete-entity.js +5 -78
- package/dist/src/graph/delete-entity.js.map +1 -1
- package/dist/src/graph/delete-entity.test.js +7 -0
- package/dist/src/graph/delete-entity.test.js.map +1 -1
- package/dist/src/graph/delete-relation.d.ts +2 -0
- package/dist/src/graph/delete-relation.d.ts.map +1 -1
- package/dist/src/graph/delete-relation.js +2 -0
- package/dist/src/graph/delete-relation.js.map +1 -1
- package/dist/src/graph/entity-vote.d.ts +3 -3
- package/dist/src/graph/entity-vote.d.ts.map +1 -1
- package/dist/src/graph/entity-vote.js +21 -46
- package/dist/src/graph/entity-vote.js.map +1 -1
- package/dist/src/graph/update-comment.d.ts +3 -0
- package/dist/src/graph/update-comment.d.ts.map +1 -1
- package/dist/src/graph/update-comment.js +3 -0
- package/dist/src/graph/update-comment.js.map +1 -1
- package/dist/src/graph/update-entity.d.ts +2 -0
- package/dist/src/graph/update-entity.d.ts.map +1 -1
- package/dist/src/graph/update-entity.js +2 -0
- package/dist/src/graph/update-entity.js.map +1 -1
- package/dist/src/graph/update-proposal-review.d.ts +2 -27
- package/dist/src/graph/update-proposal-review.d.ts.map +1 -1
- package/dist/src/graph/update-proposal-review.js +4 -50
- package/dist/src/graph/update-proposal-review.js.map +1 -1
- package/dist/src/graph/update-relation.d.ts +2 -0
- package/dist/src/graph/update-relation.d.ts.map +1 -1
- package/dist/src/graph/update-relation.js +2 -0
- package/dist/src/graph/update-relation.js.map +1 -1
- package/dist/src/ipfs-core.d.ts +42 -0
- package/dist/src/ipfs-core.d.ts.map +1 -0
- package/dist/src/ipfs-core.js +165 -0
- package/dist/src/ipfs-core.js.map +1 -0
- package/dist/src/ipfs-core.test.d.ts +2 -0
- package/dist/src/ipfs-core.test.d.ts.map +1 -0
- package/dist/src/ipfs-core.test.js +56 -0
- package/dist/src/ipfs-core.test.js.map +1 -0
- package/dist/src/ipfs.d.ts +7 -52
- package/dist/src/ipfs.d.ts.map +1 -1
- package/dist/src/ipfs.js +27 -170
- package/dist/src/ipfs.js.map +1 -1
- package/dist/src/networks.d.ts +46 -0
- package/dist/src/networks.d.ts.map +1 -0
- package/dist/src/networks.js +90 -0
- package/dist/src/networks.js.map +1 -0
- package/dist/src/ops/comments.d.ts +80 -0
- package/dist/src/ops/comments.d.ts.map +1 -0
- package/dist/src/ops/comments.js +142 -0
- package/dist/src/ops/comments.js.map +1 -0
- package/dist/src/ops/entities.d.ts +50 -0
- package/dist/src/ops/entities.d.ts.map +1 -0
- package/dist/src/ops/entities.js +51 -0
- package/dist/src/ops/entities.js.map +1 -0
- package/dist/src/ops/images.d.ts +37 -0
- package/dist/src/ops/images.d.ts.map +1 -0
- package/dist/src/ops/images.js +69 -0
- package/dist/src/ops/images.js.map +1 -0
- package/dist/src/ops/index.d.ts +7 -0
- package/dist/src/ops/index.d.ts.map +1 -0
- package/dist/src/ops/index.js +7 -0
- package/dist/src/ops/index.js.map +1 -0
- package/dist/src/ops/index.test.d.ts +2 -0
- package/dist/src/ops/index.test.d.ts.map +1 -0
- package/dist/src/ops/index.test.js +115 -0
- package/dist/src/ops/index.test.js.map +1 -0
- package/dist/src/ops/properties.d.ts +20 -0
- package/dist/src/ops/properties.d.ts.map +1 -0
- package/dist/src/ops/properties.js +20 -0
- package/dist/src/ops/properties.js.map +1 -0
- package/dist/src/ops/proposal-reviews.d.ts +43 -0
- package/dist/src/ops/proposal-reviews.d.ts.map +1 -0
- package/dist/src/ops/proposal-reviews.js +103 -0
- package/dist/src/ops/proposal-reviews.js.map +1 -0
- package/dist/src/ops/relations.d.ts +57 -0
- package/dist/src/ops/relations.d.ts.map +1 -0
- package/dist/src/ops/relations.js +59 -0
- package/dist/src/ops/relations.js.map +1 -0
- package/dist/src/ops/types.d.ts +20 -0
- package/dist/src/ops/types.d.ts.map +1 -0
- package/dist/src/ops/types.js +20 -0
- package/dist/src/ops/types.js.map +1 -0
- package/dist/src/personal-space/constants.d.ts +1 -0
- package/dist/src/personal-space/constants.d.ts.map +1 -1
- package/dist/src/personal-space/constants.js +1 -0
- package/dist/src/personal-space/constants.js.map +1 -1
- package/dist/src/personal-space/create-space.d.ts +1 -18
- package/dist/src/personal-space/create-space.d.ts.map +1 -1
- package/dist/src/personal-space/create-space.js +1 -18
- package/dist/src/personal-space/create-space.js.map +1 -1
- package/dist/src/personal-space/has-space.d.ts +9 -2
- package/dist/src/personal-space/has-space.d.ts.map +1 -1
- package/dist/src/personal-space/has-space.js +9 -13
- package/dist/src/personal-space/has-space.js.map +1 -1
- package/dist/src/personal-space/has-space.test.d.ts +2 -0
- package/dist/src/personal-space/has-space.test.d.ts.map +1 -0
- package/dist/src/personal-space/has-space.test.js +30 -0
- package/dist/src/personal-space/has-space.test.js.map +1 -0
- package/dist/src/personal-space/publish-edit.d.ts +1 -22
- package/dist/src/personal-space/publish-edit.d.ts.map +1 -1
- package/dist/src/personal-space/publish-edit.js +10 -64
- package/dist/src/personal-space/publish-edit.js.map +1 -1
- package/dist/src/smart-wallet.d.ts +2 -4
- package/dist/src/smart-wallet.d.ts.map +1 -1
- package/dist/src/smart-wallet.js +6 -9
- package/dist/src/smart-wallet.js.map +1 -1
- package/dist/src/types.d.ts +25 -0
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/package.json +14 -1
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { REPLY_TO_PROPERTY } from '../core/ids/system.js';
|
|
2
|
+
import { assertValid } from '../id-utils.js';
|
|
3
|
+
import * as Ops from '../ops/index.js';
|
|
4
|
+
import { graphqlData } from './api.js';
|
|
5
|
+
async function fetchReplyToRelations(context, entityId) {
|
|
6
|
+
const query = `query entity {
|
|
7
|
+
entity(id: "${entityId}") {
|
|
8
|
+
relationsList(filter: { typeId: { in: ["${REPLY_TO_PROPERTY}"] } }) {
|
|
9
|
+
toEntity { id }
|
|
10
|
+
toSpace { id }
|
|
11
|
+
position
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}`;
|
|
15
|
+
const response = await graphqlData(context, query);
|
|
16
|
+
if (!response.entity) {
|
|
17
|
+
return [];
|
|
18
|
+
}
|
|
19
|
+
return response.entity.relationsList
|
|
20
|
+
.filter((r) => r.toSpace !== null)
|
|
21
|
+
.map(r => ({
|
|
22
|
+
entityId: r.toEntity.id,
|
|
23
|
+
spaceId: r.toSpace.id,
|
|
24
|
+
position: r.position,
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Creates comment ops using reply-chain context fetched from the configured Geo API.
|
|
29
|
+
*
|
|
30
|
+
* The direct `replyTo` target is always included first. If the target is itself
|
|
31
|
+
* a comment, existing reply-to relations are fetched and appended so reply
|
|
32
|
+
* chains preserve parent-to-root ordering.
|
|
33
|
+
*
|
|
34
|
+
* Use `Ops.comments.create(...)` when reply-chain context is already available.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts
|
|
38
|
+
* const comment = await geo.comments.create({
|
|
39
|
+
* content: 'This should be easier to find.',
|
|
40
|
+
* replyTo: {
|
|
41
|
+
* entityId,
|
|
42
|
+
* spaceId,
|
|
43
|
+
* },
|
|
44
|
+
* });
|
|
45
|
+
* ```
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* Replying to another comment preserves the full reply-to chain automatically.
|
|
49
|
+
*
|
|
50
|
+
* ```ts
|
|
51
|
+
* const reply = await geo.comments.create({
|
|
52
|
+
* content: 'Following up here.',
|
|
53
|
+
* replyTo: {
|
|
54
|
+
* entityId: comment.id,
|
|
55
|
+
* spaceId,
|
|
56
|
+
* },
|
|
57
|
+
* });
|
|
58
|
+
* ```
|
|
59
|
+
*
|
|
60
|
+
* @param context Client context containing API origin and fetch configuration.
|
|
61
|
+
* @param params Comment content, reply target, optional ID, and resolved state.
|
|
62
|
+
* @returns Comment entity ID and ops.
|
|
63
|
+
* @throws When IDs are invalid, fetch is unavailable, GraphQL fails, or the response is malformed.
|
|
64
|
+
*/
|
|
65
|
+
export async function create(context, { id, content, replyTo, resolved = false }) {
|
|
66
|
+
if (id)
|
|
67
|
+
assertValid(id, '`id` in `createComment`');
|
|
68
|
+
assertValid(replyTo.entityId, '`replyTo.entityId` in `createComment`');
|
|
69
|
+
assertValid(replyTo.spaceId, '`replyTo.spaceId` in `createComment`');
|
|
70
|
+
const replyToRelations = await fetchReplyToRelations(context, replyTo.entityId);
|
|
71
|
+
return Ops.comments.create({
|
|
72
|
+
id,
|
|
73
|
+
content,
|
|
74
|
+
replyTo,
|
|
75
|
+
resolved,
|
|
76
|
+
replyToRelations,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Builds update-comment ops.
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```ts
|
|
84
|
+
* const { ops } = geo.comments.update({
|
|
85
|
+
* id: commentId,
|
|
86
|
+
* content: 'Updated comment text.',
|
|
87
|
+
* resolved: true,
|
|
88
|
+
* });
|
|
89
|
+
* ```
|
|
90
|
+
*
|
|
91
|
+
* @param params Comment ID plus content and/or resolved state to update.
|
|
92
|
+
* @returns Comment entity ID and update ops.
|
|
93
|
+
* @throws When the comment ID is invalid.
|
|
94
|
+
*/
|
|
95
|
+
export const update = Ops.comments.update;
|
|
96
|
+
//# sourceMappingURL=comments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../../../src/client/comments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAavC,KAAK,UAAU,qBAAqB,CAAC,OAAyB,EAAE,QAAqB;IACnF,MAAM,KAAK,GAAG;kBACE,QAAQ;gDACsB,iBAAiB;;;;;;IAM7D,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAA0B,OAAO,EAAE,KAAK,CAAC,CAAC;IAE5E,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,CAAC,aAAa;SACjC,MAAM,CAAC,CAAC,CAAC,EAA+C,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;SAC9E,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACT,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE;QACvB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE;QACrB,QAAQ,EAAE,CAAC,CAAC,QAAQ;KACrB,CAAC,CAAC,CAAC;AACR,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,OAAyB,EACzB,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,GAAG,KAAK,EAAwC;IAEhF,IAAI,EAAE;QAAE,WAAW,CAAC,EAAE,EAAE,yBAAyB,CAAC,CAAC;IACnD,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,uCAAuC,CAAC,CAAC;IACvE,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,sCAAsC,CAAC,CAAC;IAErE,MAAM,gBAAgB,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChF,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;QACzB,EAAE;QACF,OAAO;QACP,OAAO;QACP,QAAQ;QACR,gBAAgB;KACjB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { GeoNetworkConfig } from '../types.js';
|
|
2
|
+
export type FetchLike = typeof fetch;
|
|
3
|
+
export type GeoClientContext = {
|
|
4
|
+
network: GeoNetworkConfig;
|
|
5
|
+
fetch?: FetchLike;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Returns the fetch implementation for an operation that requires network access.
|
|
9
|
+
*
|
|
10
|
+
* Sync calldata helpers should not call this. Async helpers that upload files,
|
|
11
|
+
* publish edits, or fetch graph context use it so missing fetch errors are
|
|
12
|
+
* raised only when network access is actually required.
|
|
13
|
+
*
|
|
14
|
+
* @param context Client context passed to the helper.
|
|
15
|
+
* @param operation Human-readable operation name used in the thrown error.
|
|
16
|
+
* @returns The configured fetch implementation.
|
|
17
|
+
* @throws When neither `context.fetch` nor `globalThis.fetch` is available.
|
|
18
|
+
*/
|
|
19
|
+
export declare function requireFetch(context: GeoClientContext, operation: string): FetchLike;
|
|
20
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/client/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC;AAErC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,CAOpF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the fetch implementation for an operation that requires network access.
|
|
3
|
+
*
|
|
4
|
+
* Sync calldata helpers should not call this. Async helpers that upload files,
|
|
5
|
+
* publish edits, or fetch graph context use it so missing fetch errors are
|
|
6
|
+
* raised only when network access is actually required.
|
|
7
|
+
*
|
|
8
|
+
* @param context Client context passed to the helper.
|
|
9
|
+
* @param operation Human-readable operation name used in the thrown error.
|
|
10
|
+
* @returns The configured fetch implementation.
|
|
11
|
+
* @throws When neither `context.fetch` nor `globalThis.fetch` is available.
|
|
12
|
+
*/
|
|
13
|
+
export function requireFetch(context, operation) {
|
|
14
|
+
const fetchFn = context.fetch ?? globalThis.fetch;
|
|
15
|
+
if (!fetchFn) {
|
|
16
|
+
throw new Error(`${operation} requires a fetch implementation`);
|
|
17
|
+
}
|
|
18
|
+
return fetchFn;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/client/context.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAAC,OAAyB,EAAE,SAAiB;IACvE,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;IAClD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,kCAAkC,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
import type { Op } from '@geoprotocol/grc-20';
|
|
2
|
+
import type { VoteOption, VotingMode } from '../dao-space/types.js';
|
|
3
|
+
import { type CreateDaoSpaceCalldataParams, type VotingSettingsInput } from '../encodings/get-create-dao-space-calldata.js';
|
|
4
|
+
import type { Id } from '../id.js';
|
|
5
|
+
import type { GeoClientContext } from './context.js';
|
|
6
|
+
export type CreateDaoSpaceParams = Omit<CreateDaoSpaceCalldataParams, 'initialEditsContentUri' | 'initialMemberSpaceIds'> & {
|
|
7
|
+
name: string;
|
|
8
|
+
author: Id | string;
|
|
9
|
+
initialMemberSpaceIds?: `0x${string}`[];
|
|
10
|
+
ops?: Op[];
|
|
11
|
+
};
|
|
12
|
+
export type ProposalAction = {
|
|
13
|
+
to: `0x${string}`;
|
|
14
|
+
value: bigint;
|
|
15
|
+
data: `0x${string}`;
|
|
16
|
+
};
|
|
17
|
+
export type CreateProposalParams = {
|
|
18
|
+
fromSpaceId: string;
|
|
19
|
+
daoSpaceId: string;
|
|
20
|
+
proposalId?: string;
|
|
21
|
+
votingMode?: VotingMode;
|
|
22
|
+
actions: ProposalAction[];
|
|
23
|
+
};
|
|
24
|
+
export type ProposeEditParams = {
|
|
25
|
+
name: string;
|
|
26
|
+
ops: Op[];
|
|
27
|
+
author: Id | string;
|
|
28
|
+
daoSpaceAddress: `0x${string}`;
|
|
29
|
+
callerSpaceId: string;
|
|
30
|
+
daoSpaceId: string;
|
|
31
|
+
votingMode?: VotingMode;
|
|
32
|
+
proposalId?: string;
|
|
33
|
+
};
|
|
34
|
+
export type VoteProposalParams = {
|
|
35
|
+
authorSpaceId: string;
|
|
36
|
+
spaceId: string;
|
|
37
|
+
proposalId: string;
|
|
38
|
+
vote: VoteOption;
|
|
39
|
+
};
|
|
40
|
+
export type ExecuteProposalParams = {
|
|
41
|
+
authorSpaceId: string;
|
|
42
|
+
spaceId: string;
|
|
43
|
+
proposalId: string;
|
|
44
|
+
};
|
|
45
|
+
type DaoSpaceRoleProposalBaseParams = {
|
|
46
|
+
authorSpaceId: string;
|
|
47
|
+
spaceId: string;
|
|
48
|
+
daoSpaceAddress: `0x${string}`;
|
|
49
|
+
votingMode?: VotingMode;
|
|
50
|
+
proposalId?: string;
|
|
51
|
+
};
|
|
52
|
+
type SlowDaoSpaceRoleProposalBaseParams = Omit<DaoSpaceRoleProposalBaseParams, 'votingMode'> & {
|
|
53
|
+
votingMode?: 'SLOW';
|
|
54
|
+
};
|
|
55
|
+
export type ProposeAddMemberParams = DaoSpaceRoleProposalBaseParams & {
|
|
56
|
+
newMemberSpaceId: string;
|
|
57
|
+
};
|
|
58
|
+
export type ProposeRemoveMemberParams = DaoSpaceRoleProposalBaseParams & {
|
|
59
|
+
memberToRemoveSpaceId: string;
|
|
60
|
+
};
|
|
61
|
+
export type ProposeAddEditorParams = SlowDaoSpaceRoleProposalBaseParams & {
|
|
62
|
+
newEditorSpaceId: string;
|
|
63
|
+
};
|
|
64
|
+
export type ProposeRemoveEditorParams = SlowDaoSpaceRoleProposalBaseParams & {
|
|
65
|
+
editorToRemoveSpaceId: string;
|
|
66
|
+
};
|
|
67
|
+
export type ProposeRequestMembershipParams = {
|
|
68
|
+
authorSpaceId: string;
|
|
69
|
+
spaceId: string;
|
|
70
|
+
proposalId?: string;
|
|
71
|
+
};
|
|
72
|
+
declare function encodePublishEditProposalAction(daoSpaceAddress: `0x${string}`, cid: string): ProposalAction;
|
|
73
|
+
declare function encodeUpdateVotingSettingsAction(daoSpaceAddress: `0x${string}`, votingSettings: VotingSettingsInput): ProposalAction;
|
|
74
|
+
/**
|
|
75
|
+
* Publishes the initial DAO edit and returns calldata for creating a DAO space.
|
|
76
|
+
*
|
|
77
|
+
* The helper first validates DAO voting settings and required contract
|
|
78
|
+
* addresses, then creates the space entity ops, publishes the initial edit, and
|
|
79
|
+
* encodes `createDAOSpaceProxy` calldata using the resulting CID. Unless
|
|
80
|
+
* `initialTopicId` is provided, the DAO topic is set to the generated space
|
|
81
|
+
* entity ID.
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* ```ts
|
|
85
|
+
* const tx = await geo.daoSpaces.create({
|
|
86
|
+
* name: 'Research DAO',
|
|
87
|
+
* author: authorSpaceId,
|
|
88
|
+
* initialEditorSpaceIds: [authorSpaceId],
|
|
89
|
+
* votingSettings: {
|
|
90
|
+
* slowPathPercentageThreshold: 50,
|
|
91
|
+
* fastPathFlatThreshold: 1,
|
|
92
|
+
* quorum: 1,
|
|
93
|
+
* durationInDays: 3,
|
|
94
|
+
* },
|
|
95
|
+
* });
|
|
96
|
+
*
|
|
97
|
+
* await walletClient.sendTransaction({
|
|
98
|
+
* to: tx.to,
|
|
99
|
+
* data: tx.calldata,
|
|
100
|
+
* });
|
|
101
|
+
* ```
|
|
102
|
+
*
|
|
103
|
+
* @param context Client context containing network, contract, API, and fetch configuration.
|
|
104
|
+
* @param params DAO name, author, voting settings, initial editors/members, and optional extra ops.
|
|
105
|
+
* @returns DAO factory address, calldata, generated space entity ID, and initial edit CID.
|
|
106
|
+
* @throws When DAO settings are invalid, required contracts are missing, IDs are invalid, or edit publishing fails.
|
|
107
|
+
*/
|
|
108
|
+
export declare function create(context: GeoClientContext, params: CreateDaoSpaceParams): Promise<{
|
|
109
|
+
to: `0x${string}`;
|
|
110
|
+
calldata: `0x${string}`;
|
|
111
|
+
spaceEntityId: Id;
|
|
112
|
+
cid: `ipfs://${string}`;
|
|
113
|
+
}>;
|
|
114
|
+
/**
|
|
115
|
+
* Builds calldata for creating a DAO proposal from prebuilt proposal actions.
|
|
116
|
+
*
|
|
117
|
+
* This uses the configured `SPACE_REGISTRY_ADDRESS` and encodes a
|
|
118
|
+
* `GOVERNANCE.PROPOSAL_CREATED` `SpaceRegistry.enter(...)` call.
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```ts
|
|
122
|
+
* const actions = [
|
|
123
|
+
* geo.daoSpaces.proposals.actions.addMember(daoSpaceAddress, memberSpaceId),
|
|
124
|
+
* geo.daoSpaces.proposals.actions.updateVotingSettings(daoSpaceAddress, {
|
|
125
|
+
* slowPathPercentageThreshold: 60,
|
|
126
|
+
* fastPathFlatThreshold: 2,
|
|
127
|
+
* quorum: 3,
|
|
128
|
+
* durationInDays: 5,
|
|
129
|
+
* }),
|
|
130
|
+
* ];
|
|
131
|
+
*
|
|
132
|
+
* const tx = geo.daoSpaces.proposals.create({
|
|
133
|
+
* fromSpaceId: authorSpaceId,
|
|
134
|
+
* daoSpaceId,
|
|
135
|
+
* votingMode: 'SLOW',
|
|
136
|
+
* actions,
|
|
137
|
+
* });
|
|
138
|
+
* ```
|
|
139
|
+
*
|
|
140
|
+
* @param context Client context containing the target network configuration.
|
|
141
|
+
* @param params Caller space, DAO space, voting mode, optional proposal ID, and actions.
|
|
142
|
+
* @returns Target registry address, calldata, and proposal ID.
|
|
143
|
+
* @throws When IDs are invalid or the configured network is missing `SPACE_REGISTRY_ADDRESS`.
|
|
144
|
+
*/
|
|
145
|
+
export declare function createProposal(context: GeoClientContext, params: CreateProposalParams): {
|
|
146
|
+
to: `0x${string}`;
|
|
147
|
+
calldata: `0x${string}`;
|
|
148
|
+
proposalId: `0x${string}`;
|
|
149
|
+
};
|
|
150
|
+
/**
|
|
151
|
+
* Publishes an edit and wraps it in a DAO-space proposal.
|
|
152
|
+
*
|
|
153
|
+
* This helper validates the proposal shape before upload, publishes the edit
|
|
154
|
+
* through the configured API, creates a DAO `publish(...)` action with the
|
|
155
|
+
* resulting CID, and returns calldata for proposal creation.
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* ```ts
|
|
159
|
+
* const proposal = await geo.daoSpaces.proposeEdit({
|
|
160
|
+
* name: 'Update entity',
|
|
161
|
+
* ops,
|
|
162
|
+
* author: authorSpaceId,
|
|
163
|
+
* daoSpaceAddress,
|
|
164
|
+
* callerSpaceId: authorSpaceId,
|
|
165
|
+
* daoSpaceId,
|
|
166
|
+
* });
|
|
167
|
+
* ```
|
|
168
|
+
*
|
|
169
|
+
* @param context Client context containing network, contract, API, and fetch configuration.
|
|
170
|
+
* @param params Edit publication params plus DAO proposal target details.
|
|
171
|
+
* @returns Edit ID, CID, target registry address, calldata, and proposal ID.
|
|
172
|
+
* @throws When IDs are invalid, required contracts are missing, or edit publishing fails.
|
|
173
|
+
*/
|
|
174
|
+
export declare function proposeEdit(context: GeoClientContext, params: ProposeEditParams): Promise<{
|
|
175
|
+
to: `0x${string}`;
|
|
176
|
+
calldata: `0x${string}`;
|
|
177
|
+
proposalId: `0x${string}`;
|
|
178
|
+
editId: Id;
|
|
179
|
+
cid: `ipfs://${string}`;
|
|
180
|
+
}>;
|
|
181
|
+
/**
|
|
182
|
+
* Builds calldata for a DAO proposal that adds a member space.
|
|
183
|
+
*
|
|
184
|
+
* `daoSpaceAddress` is required because the proposal action calls the DAO
|
|
185
|
+
* space contract directly.
|
|
186
|
+
*
|
|
187
|
+
* @example
|
|
188
|
+
* ```ts
|
|
189
|
+
* const tx = geo.daoSpaces.proposeAddMember({
|
|
190
|
+
* authorSpaceId,
|
|
191
|
+
* spaceId: daoSpaceId,
|
|
192
|
+
* daoSpaceAddress,
|
|
193
|
+
* newMemberSpaceId: memberSpaceId,
|
|
194
|
+
* });
|
|
195
|
+
* ```
|
|
196
|
+
*/
|
|
197
|
+
export declare function proposeAddMember(context: GeoClientContext, params: ProposeAddMemberParams): {
|
|
198
|
+
to: `0x${string}`;
|
|
199
|
+
calldata: `0x${string}`;
|
|
200
|
+
proposalId: `0x${string}`;
|
|
201
|
+
};
|
|
202
|
+
/**
|
|
203
|
+
* Builds calldata for a DAO proposal that removes a member space.
|
|
204
|
+
*
|
|
205
|
+
* @example
|
|
206
|
+
* ```ts
|
|
207
|
+
* const tx = geo.daoSpaces.proposeRemoveMember({
|
|
208
|
+
* authorSpaceId,
|
|
209
|
+
* spaceId: daoSpaceId,
|
|
210
|
+
* daoSpaceAddress,
|
|
211
|
+
* memberToRemoveSpaceId,
|
|
212
|
+
* });
|
|
213
|
+
* ```
|
|
214
|
+
*/
|
|
215
|
+
export declare function proposeRemoveMember(context: GeoClientContext, params: ProposeRemoveMemberParams): {
|
|
216
|
+
to: `0x${string}`;
|
|
217
|
+
calldata: `0x${string}`;
|
|
218
|
+
proposalId: `0x${string}`;
|
|
219
|
+
};
|
|
220
|
+
/**
|
|
221
|
+
* Builds calldata for a DAO proposal that adds an editor space.
|
|
222
|
+
*
|
|
223
|
+
* Editor changes only support SLOW voting.
|
|
224
|
+
*
|
|
225
|
+
* @example
|
|
226
|
+
* ```ts
|
|
227
|
+
* const tx = geo.daoSpaces.proposeAddEditor({
|
|
228
|
+
* authorSpaceId,
|
|
229
|
+
* spaceId: daoSpaceId,
|
|
230
|
+
* daoSpaceAddress,
|
|
231
|
+
* newEditorSpaceId: editorSpaceId,
|
|
232
|
+
* });
|
|
233
|
+
* ```
|
|
234
|
+
*/
|
|
235
|
+
export declare function proposeAddEditor(context: GeoClientContext, params: ProposeAddEditorParams): {
|
|
236
|
+
to: `0x${string}`;
|
|
237
|
+
calldata: `0x${string}`;
|
|
238
|
+
proposalId: `0x${string}`;
|
|
239
|
+
};
|
|
240
|
+
/**
|
|
241
|
+
* Builds calldata for a DAO proposal that removes an editor space.
|
|
242
|
+
*
|
|
243
|
+
* Editor changes only support SLOW voting.
|
|
244
|
+
*
|
|
245
|
+
* @example
|
|
246
|
+
* ```ts
|
|
247
|
+
* const tx = geo.daoSpaces.proposeRemoveEditor({
|
|
248
|
+
* authorSpaceId,
|
|
249
|
+
* spaceId: daoSpaceId,
|
|
250
|
+
* daoSpaceAddress,
|
|
251
|
+
* editorToRemoveSpaceId,
|
|
252
|
+
* });
|
|
253
|
+
* ```
|
|
254
|
+
*/
|
|
255
|
+
export declare function proposeRemoveEditor(context: GeoClientContext, params: ProposeRemoveEditorParams): {
|
|
256
|
+
to: `0x${string}`;
|
|
257
|
+
calldata: `0x${string}`;
|
|
258
|
+
proposalId: `0x${string}`;
|
|
259
|
+
};
|
|
260
|
+
/**
|
|
261
|
+
* Builds calldata for requesting membership in a DAO space.
|
|
262
|
+
*
|
|
263
|
+
* Unlike governance proposals, this emits `GOVERNANCE.MEMBERSHIP_REQUESTED`
|
|
264
|
+
* and can be submitted by a non-member space.
|
|
265
|
+
*
|
|
266
|
+
* @example
|
|
267
|
+
* ```ts
|
|
268
|
+
* const tx = geo.daoSpaces.proposeRequestMembership({
|
|
269
|
+
* authorSpaceId: requesterSpaceId,
|
|
270
|
+
* spaceId: daoSpaceId,
|
|
271
|
+
* });
|
|
272
|
+
* ```
|
|
273
|
+
*/
|
|
274
|
+
export declare function proposeRequestMembership(context: GeoClientContext, params: ProposeRequestMembershipParams): {
|
|
275
|
+
to: `0x${string}`;
|
|
276
|
+
calldata: `0x${string}`;
|
|
277
|
+
proposalId: `0x${string}`;
|
|
278
|
+
};
|
|
279
|
+
/**
|
|
280
|
+
* Builds calldata for voting on a DAO proposal.
|
|
281
|
+
*
|
|
282
|
+
* @example
|
|
283
|
+
* ```ts
|
|
284
|
+
* const tx = geo.daoSpaces.proposals.vote({
|
|
285
|
+
* authorSpaceId,
|
|
286
|
+
* spaceId: daoSpaceId,
|
|
287
|
+
* proposalId,
|
|
288
|
+
* vote: 'YES',
|
|
289
|
+
* });
|
|
290
|
+
* ```
|
|
291
|
+
*
|
|
292
|
+
* @param context Client context containing the target network configuration.
|
|
293
|
+
* @param params Author space, DAO space, proposal ID, and vote option.
|
|
294
|
+
* @returns Target registry address and calldata for `GOVERNANCE.PROPOSAL_VOTED`.
|
|
295
|
+
* @throws When IDs are invalid or the configured network is missing `SPACE_REGISTRY_ADDRESS`.
|
|
296
|
+
*/
|
|
297
|
+
export declare function voteProposal(context: GeoClientContext, params: VoteProposalParams): {
|
|
298
|
+
to: `0x${string}`;
|
|
299
|
+
calldata: `0x${string}`;
|
|
300
|
+
};
|
|
301
|
+
/**
|
|
302
|
+
* Builds calldata for executing a passed DAO proposal.
|
|
303
|
+
*
|
|
304
|
+
* @example
|
|
305
|
+
* ```ts
|
|
306
|
+
* const tx = geo.daoSpaces.proposals.execute({
|
|
307
|
+
* authorSpaceId,
|
|
308
|
+
* spaceId: daoSpaceId,
|
|
309
|
+
* proposalId,
|
|
310
|
+
* });
|
|
311
|
+
* ```
|
|
312
|
+
*
|
|
313
|
+
* @param context Client context containing the target network configuration.
|
|
314
|
+
* @param params Author space, DAO space, and proposal ID.
|
|
315
|
+
* @returns Target registry address and calldata for `GOVERNANCE.PROPOSAL_EXECUTED`.
|
|
316
|
+
* @throws When IDs are invalid or the configured network is missing `SPACE_REGISTRY_ADDRESS`.
|
|
317
|
+
*/
|
|
318
|
+
export declare function executeProposal(context: GeoClientContext, params: ExecuteProposalParams): {
|
|
319
|
+
to: `0x${string}`;
|
|
320
|
+
calldata: `0x${string}`;
|
|
321
|
+
};
|
|
322
|
+
/**
|
|
323
|
+
* Helpers for constructing DAO proposal actions.
|
|
324
|
+
*
|
|
325
|
+
* These helpers only encode DAO-space action payloads. Pass their results to
|
|
326
|
+
* `geo.daoSpaces.proposals.create(...)` when building a proposal from explicit actions.
|
|
327
|
+
*
|
|
328
|
+
* @example
|
|
329
|
+
* ```ts
|
|
330
|
+
* const action = geo.daoSpaces.proposals.actions.addEditor(daoSpaceAddress, editorSpaceId);
|
|
331
|
+
* const proposal = geo.daoSpaces.proposals.create({
|
|
332
|
+
* fromSpaceId: authorSpaceId,
|
|
333
|
+
* daoSpaceId,
|
|
334
|
+
* votingMode: 'SLOW',
|
|
335
|
+
* actions: [action],
|
|
336
|
+
* });
|
|
337
|
+
* ```
|
|
338
|
+
*/
|
|
339
|
+
export declare const actions: {
|
|
340
|
+
publishEdit: typeof encodePublishEditProposalAction;
|
|
341
|
+
addEditor: (daoSpaceAddress: `0x${string}`, spaceId: string) => ProposalAction;
|
|
342
|
+
removeEditor: (daoSpaceAddress: `0x${string}`, spaceId: string) => ProposalAction;
|
|
343
|
+
addMember: (daoSpaceAddress: `0x${string}`, spaceId: string) => ProposalAction;
|
|
344
|
+
removeMember: (daoSpaceAddress: `0x${string}`, spaceId: string) => ProposalAction;
|
|
345
|
+
updateVotingSettings: typeof encodeUpdateVotingSettingsAction;
|
|
346
|
+
};
|
|
347
|
+
export {};
|
|
348
|
+
//# sourceMappingURL=dao-spaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dao-spaces.d.ts","sourceRoot":"","sources":["../../../src/client/dao-spaces.ts"],"names":[],"mappings":"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"}
|