@geoprotocol/geo-sdk 0.19.0 → 0.19.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 (176) hide show
  1. package/README.md +2 -2
  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.d.ts +98 -7
  11. package/dist/src/abis/dao-space.d.ts.map +1 -1
  12. package/dist/src/abis/dao-space.js +61 -99
  13. package/dist/src/abis/dao-space.js.map +1 -1
  14. package/dist/src/abis/index.d.ts +2 -2
  15. package/dist/src/abis/index.d.ts.map +1 -1
  16. package/dist/src/abis/index.js +2 -2
  17. package/dist/src/abis/index.js.map +1 -1
  18. package/dist/src/abis/space-registry.d.ts +26 -0
  19. package/dist/src/abis/space-registry.d.ts.map +1 -1
  20. package/dist/src/abis/space-registry.js +33 -0
  21. package/dist/src/abis/space-registry.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} +287 -102
  25. package/dist/src/api-surface.e2e.test.js.map +1 -0
  26. package/dist/src/client/dao-spaces.d.ts +93 -33
  27. package/dist/src/client/dao-spaces.d.ts.map +1 -1
  28. package/dist/src/client/dao-spaces.js +174 -42
  29. package/dist/src/client/dao-spaces.js.map +1 -1
  30. package/dist/src/client/dao-spaces.test.js +313 -79
  31. package/dist/src/client/dao-spaces.test.js.map +1 -1
  32. package/dist/src/client/personal-spaces.d.ts +74 -0
  33. package/dist/src/client/personal-spaces.d.ts.map +1 -1
  34. package/dist/src/client/personal-spaces.js +82 -2
  35. package/dist/src/client/personal-spaces.js.map +1 -1
  36. package/dist/src/client/spaces.test.js +27 -7
  37. package/dist/src/client/spaces.test.js.map +1 -1
  38. package/dist/src/client.d.ts +29 -16
  39. package/dist/src/client.d.ts.map +1 -1
  40. package/dist/src/client.js +101 -59
  41. package/dist/src/client.js.map +1 -1
  42. package/dist/src/client.test.js +8 -3
  43. package/dist/src/client.test.js.map +1 -1
  44. package/dist/src/dao-space/constants.d.ts +10 -0
  45. package/dist/src/dao-space/constants.d.ts.map +1 -1
  46. package/dist/src/dao-space/constants.js +10 -0
  47. package/dist/src/dao-space/constants.js.map +1 -1
  48. package/dist/src/dao-space/execute-proposal.d.ts +1 -1
  49. package/dist/src/dao-space/execute-proposal.js +2 -2
  50. package/dist/src/dao-space/execute-proposal.js.map +1 -1
  51. package/dist/src/dao-space/index.d.ts +2 -1
  52. package/dist/src/dao-space/index.d.ts.map +1 -1
  53. package/dist/src/dao-space/index.js +1 -0
  54. package/dist/src/dao-space/index.js.map +1 -1
  55. package/dist/src/dao-space/propose-add-editor.d.ts +1 -20
  56. package/dist/src/dao-space/propose-add-editor.d.ts.map +1 -1
  57. package/dist/src/dao-space/propose-add-editor.js +12 -87
  58. package/dist/src/dao-space/propose-add-editor.js.map +1 -1
  59. package/dist/src/dao-space/propose-add-editor.test.js +16 -4
  60. package/dist/src/dao-space/propose-add-editor.test.js.map +1 -1
  61. package/dist/src/dao-space/propose-add-member.d.ts +1 -20
  62. package/dist/src/dao-space/propose-add-member.d.ts.map +1 -1
  63. package/dist/src/dao-space/propose-add-member.js +12 -87
  64. package/dist/src/dao-space/propose-add-member.js.map +1 -1
  65. package/dist/src/dao-space/propose-add-member.test.js +13 -0
  66. package/dist/src/dao-space/propose-add-member.test.js.map +1 -1
  67. package/dist/src/dao-space/propose-edit.test.js +45 -0
  68. package/dist/src/dao-space/propose-edit.test.js.map +1 -1
  69. package/dist/src/dao-space/propose-remove-editor.d.ts +1 -22
  70. package/dist/src/dao-space/propose-remove-editor.d.ts.map +1 -1
  71. package/dist/src/dao-space/propose-remove-editor.js +12 -94
  72. package/dist/src/dao-space/propose-remove-editor.js.map +1 -1
  73. package/dist/src/dao-space/propose-remove-editor.test.js +22 -4
  74. package/dist/src/dao-space/propose-remove-editor.test.js.map +1 -1
  75. package/dist/src/dao-space/propose-remove-member.d.ts +1 -22
  76. package/dist/src/dao-space/propose-remove-member.d.ts.map +1 -1
  77. package/dist/src/dao-space/propose-remove-member.js +12 -94
  78. package/dist/src/dao-space/propose-remove-member.js.map +1 -1
  79. package/dist/src/dao-space/propose-remove-member.test.js +19 -0
  80. package/dist/src/dao-space/propose-remove-member.test.js.map +1 -1
  81. package/dist/src/dao-space/types.d.ts +72 -11
  82. package/dist/src/dao-space/types.d.ts.map +1 -1
  83. package/dist/src/dao-space/vote-proposal.d.ts +1 -1
  84. package/dist/src/dao-space/vote-proposal.js +2 -2
  85. package/dist/src/dao-space/vote-proposal.js.map +1 -1
  86. package/dist/src/dao-space/vote-proposal.test.js +54 -0
  87. package/dist/src/dao-space/vote-proposal.test.js.map +1 -1
  88. package/dist/src/e2e-test-environment.d.ts +26 -0
  89. package/dist/src/e2e-test-environment.d.ts.map +1 -0
  90. package/dist/src/e2e-test-environment.js +150 -0
  91. package/dist/src/e2e-test-environment.js.map +1 -0
  92. package/dist/src/encodings/get-create-dao-space-calldata.d.ts +32 -9
  93. package/dist/src/encodings/get-create-dao-space-calldata.d.ts.map +1 -1
  94. package/dist/src/encodings/get-create-dao-space-calldata.js +63 -16
  95. package/dist/src/encodings/get-create-dao-space-calldata.js.map +1 -1
  96. package/dist/src/encodings/get-create-dao-space-calldata.test.js +90 -23
  97. package/dist/src/encodings/get-create-dao-space-calldata.test.js.map +1 -1
  98. package/dist/src/full-flow-test.test.js +5 -2
  99. package/dist/src/full-flow-test.test.js.map +1 -1
  100. package/dist/src/legacy-api-surface.e2e.test.d.ts +2 -0
  101. package/dist/src/legacy-api-surface.e2e.test.d.ts.map +1 -0
  102. package/dist/src/{e2e-legacy-api-surface.test.js → legacy-api-surface.e2e.test.js} +91 -71
  103. package/dist/src/legacy-api-surface.e2e.test.js.map +1 -0
  104. package/dist/src/personal-space/constants.d.ts +1 -1
  105. package/dist/src/personal-space/constants.d.ts.map +1 -1
  106. package/dist/src/personal-space/constants.js +1 -1
  107. package/dist/src/personal-space/constants.js.map +1 -1
  108. package/dist/src/personal-space/create-space.d.ts +2 -2
  109. package/dist/src/personal-space/create-space.d.ts.map +1 -1
  110. package/dist/src/personal-space/create-space.js +4 -3
  111. package/dist/src/personal-space/create-space.js.map +1 -1
  112. package/dist/src/personal-space/types.d.ts +4 -1
  113. package/dist/src/personal-space/types.d.ts.map +1 -1
  114. package/package.json +1 -1
  115. package/dist/proto.d.ts +0 -5
  116. package/dist/proto.d.ts.map +0 -1
  117. package/dist/proto.js +0 -5
  118. package/dist/proto.js.map +0 -1
  119. package/dist/src/client/proposals.d.ts +0 -185
  120. package/dist/src/client/proposals.d.ts.map +0 -1
  121. package/dist/src/client/proposals.js +0 -294
  122. package/dist/src/client/proposals.js.map +0 -1
  123. package/dist/src/client/proposals.test.d.ts +0 -2
  124. package/dist/src/client/proposals.test.d.ts.map +0 -1
  125. package/dist/src/client/proposals.test.js +0 -243
  126. package/dist/src/client/proposals.test.js.map +0 -1
  127. package/dist/src/contracts-v2/abis.d.ts +0 -196
  128. package/dist/src/contracts-v2/abis.d.ts.map +0 -1
  129. package/dist/src/contracts-v2/abis.js +0 -110
  130. package/dist/src/contracts-v2/abis.js.map +0 -1
  131. package/dist/src/contracts-v2/actions.d.ts +0 -56
  132. package/dist/src/contracts-v2/actions.d.ts.map +0 -1
  133. package/dist/src/contracts-v2/actions.js +0 -83
  134. package/dist/src/contracts-v2/actions.js.map +0 -1
  135. package/dist/src/contracts-v2/encoding.d.ts +0 -80
  136. package/dist/src/contracts-v2/encoding.d.ts.map +0 -1
  137. package/dist/src/contracts-v2/encoding.js +0 -193
  138. package/dist/src/contracts-v2/encoding.js.map +0 -1
  139. package/dist/src/contracts-v2/encoding.test.d.ts +0 -2
  140. package/dist/src/contracts-v2/encoding.test.d.ts.map +0 -1
  141. package/dist/src/contracts-v2/encoding.test.js +0 -93
  142. package/dist/src/contracts-v2/encoding.test.js.map +0 -1
  143. package/dist/src/contracts-v2/voting-settings.d.ts +0 -48
  144. package/dist/src/contracts-v2/voting-settings.d.ts.map +0 -1
  145. package/dist/src/contracts-v2/voting-settings.js +0 -69
  146. package/dist/src/contracts-v2/voting-settings.js.map +0 -1
  147. package/dist/src/e2e/local-geobrowser.d.ts +0 -9
  148. package/dist/src/e2e/local-geobrowser.d.ts.map +0 -1
  149. package/dist/src/e2e/local-geobrowser.js +0 -35
  150. package/dist/src/e2e/local-geobrowser.js.map +0 -1
  151. package/dist/src/e2e/v2-contracts.test.d.ts +0 -2
  152. package/dist/src/e2e/v2-contracts.test.d.ts.map +0 -1
  153. package/dist/src/e2e/v2-contracts.test.js +0 -25
  154. package/dist/src/e2e/v2-contracts.test.js.map +0 -1
  155. package/dist/src/e2e-api-surface.test.d.ts +0 -2
  156. package/dist/src/e2e-api-surface.test.d.ts.map +0 -1
  157. package/dist/src/e2e-api-surface.test.js.map +0 -1
  158. package/dist/src/e2e-flows.test.d.ts +0 -2
  159. package/dist/src/e2e-flows.test.d.ts.map +0 -1
  160. package/dist/src/e2e-flows.test.js +0 -445
  161. package/dist/src/e2e-flows.test.js.map +0 -1
  162. package/dist/src/e2e-legacy-api-surface.test.d.ts +0 -2
  163. package/dist/src/e2e-legacy-api-surface.test.d.ts.map +0 -1
  164. package/dist/src/e2e-legacy-api-surface.test.js.map +0 -1
  165. package/dist/src/graph/create-space.d.ts +0 -37
  166. package/dist/src/graph/create-space.d.ts.map +0 -1
  167. package/dist/src/graph/create-space.js +0 -67
  168. package/dist/src/graph/create-space.js.map +0 -1
  169. package/dist/src/ops/images.d.ts +0 -37
  170. package/dist/src/ops/images.d.ts.map +0 -1
  171. package/dist/src/ops/images.js +0 -69
  172. package/dist/src/ops/images.js.map +0 -1
  173. package/dist/src/proto/index.d.ts +0 -7
  174. package/dist/src/proto/index.d.ts.map +0 -1
  175. package/dist/src/proto/index.js +0 -7
  176. package/dist/src/proto/index.js.map +0 -1
@@ -1,83 +0,0 @@
1
- import { keccak256, toHex } from 'viem';
2
- import { isValid } from '../id.js';
3
- import { toBytes } from '../id-utils.js';
4
- import { UUID_DASHLESS_REGEX } from '../internal/uuid.js';
5
- export const ZERO_BYTES16 = '0x00000000000000000000000000000000';
6
- export const ZERO_BYTES32 = '0x0000000000000000000000000000000000000000000000000000000000000000';
7
- export const EMPTY_SIGNATURE = '0x';
8
- export const GovernanceActions = {
9
- EDITS_PUBLISHED: keccak256(toHex('GOVERNANCE.EDITS_PUBLISHED')),
10
- MEMBERSHIP_REQUESTED: keccak256(toHex('GOVERNANCE.MEMBERSHIP_REQUESTED')),
11
- PROPOSAL_CREATED: keccak256(toHex('GOVERNANCE.PROPOSAL_CREATED')),
12
- PROPOSAL_UPDATED: keccak256(toHex('GOVERNANCE.PROPOSAL_UPDATED')),
13
- PROPOSAL_VOTED: keccak256(toHex('GOVERNANCE.PROPOSAL_VOTED')),
14
- PROPOSAL_EXECUTED: keccak256(toHex('GOVERNANCE.PROPOSAL_EXECUTED')),
15
- VOTING_SETTINGS_UPDATED: keccak256(toHex('GOVERNANCE.VOTING_SETTINGS_UPDATED')),
16
- TOPIC_SET: keccak256(toHex('GOVERNANCE.TOPIC_SET')),
17
- TOPIC_UNSET: keccak256(toHex('GOVERNANCE.TOPIC_UNSET')),
18
- SUBSPACE_TOPIC_SET: keccak256(toHex('GOVERNANCE.SUBSPACE_TOPIC_SET')),
19
- SUBSPACE_TOPIC_UNSET: keccak256(toHex('GOVERNANCE.SUBSPACE_TOPIC_UNSET')),
20
- FLAGGED: keccak256(toHex('GOVERNANCE.FLAGGED')),
21
- UNFLAGGED: keccak256(toHex('GOVERNANCE.UNFLAGGED')),
22
- SUBSPACE_VERIFIED: keccak256(toHex('GOVERNANCE.SUBSPACE_VERIFIED')),
23
- SUBSPACE_UNVERIFIED: keccak256(toHex('GOVERNANCE.SUBSPACE_UNVERIFIED')),
24
- SUBSPACE_RELATED: keccak256(toHex('GOVERNANCE.SUBSPACE_RELATED')),
25
- SUBSPACE_UNRELATED: keccak256(toHex('GOVERNANCE.SUBSPACE_UNRELATED')),
26
- };
27
- export const PermissionlessActions = {
28
- UPVOTED: keccak256(toHex('PERMISSIONLESS.UPVOTED')),
29
- DOWNVOTED: keccak256(toHex('PERMISSIONLESS.DOWNVOTED')),
30
- UNVOTED: keccak256(toHex('PERMISSIONLESS.UNVOTED')),
31
- };
32
- export const VotingMode = {
33
- Slow: 0,
34
- Fast: 1,
35
- };
36
- export const VoteOption = {
37
- None: 0,
38
- Yes: 1,
39
- No: 2,
40
- Abstain: 3,
41
- };
42
- export const VoteOptionValues = {
43
- YES: VoteOption.Yes,
44
- NO: VoteOption.No,
45
- ABSTAIN: VoteOption.Abstain,
46
- };
47
- export const VotingModeValues = {
48
- SLOW: VotingMode.Slow,
49
- FAST: VotingMode.Fast,
50
- };
51
- export const BYTES16_HEX_REGEX = /^0x[0-9a-fA-F]{32}$/;
52
- export const BYTES32_HEX_REGEX = /^0x[0-9a-fA-F]{64}$/;
53
- export function ensure0xPrefix(value) {
54
- return (value.startsWith('0x') ? value : `0x${value}`);
55
- }
56
- export function isBytes16Hex(value) {
57
- return BYTES16_HEX_REGEX.test(value);
58
- }
59
- export function toBytes16(value, sourceHint = 'bytes16 value') {
60
- const normalized = ensure0xPrefix(value);
61
- if (!isBytes16Hex(normalized)) {
62
- throw new Error(`${sourceHint} must be bytes16 hex (0x followed by 32 hex chars). Received: ${value}`);
63
- }
64
- return normalized.toLowerCase();
65
- }
66
- export function idToBytes16(id, sourceHint = 'id') {
67
- const raw = id.startsWith('0x') ? id.slice(2) : id.replaceAll('-', '');
68
- if (UUID_DASHLESS_REGEX.test(raw)) {
69
- return `0x${raw.toLowerCase()}`;
70
- }
71
- if (isValid(id)) {
72
- return toHex(toBytes(id));
73
- }
74
- throw new Error(`${sourceHint} must be a valid UUID or bytes16 hex value. Received: ${id}`);
75
- }
76
- export function bytes16ToBytes32LeftAligned(bytes16Hex) {
77
- const value = bytes16Hex.toLowerCase();
78
- if (!BYTES16_HEX_REGEX.test(value)) {
79
- throw new Error(`Invalid bytes16 hex: ${bytes16Hex}`);
80
- }
81
- return `0x${value.slice(2)}${'0'.repeat(32)}`;
82
- }
83
- //# sourceMappingURL=actions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/contracts-v2/actions.ts"],"names":[],"mappings":"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"}
@@ -1,80 +0,0 @@
1
- import type { Op } from '@geoprotocol/grc-20';
2
- import { type VoteOptionName, type VotingModeName } from './actions.js';
3
- import { type CompatibleVotingSettingsInput } from './voting-settings.js';
4
- export type TransactionRequest = {
5
- to: `0x${string}`;
6
- calldata: `0x${string}`;
7
- };
8
- export type ProposalAction = {
9
- to: `0x${string}`;
10
- value?: bigint;
11
- data: `0x${string}`;
12
- };
13
- export type CreateDaoSpaceCalldataParams = {
14
- votingSettings: CompatibleVotingSettingsInput;
15
- initialEditorSpaceIds: `0x${string}`[];
16
- initialMemberSpaceIds?: `0x${string}`[];
17
- initialEditsContentUri?: string;
18
- initialEditsMetadata?: string;
19
- initialTopicId?: string;
20
- };
21
- export type PublishEditCalldataParams = {
22
- spaceId: string;
23
- cid: string;
24
- metadata?: string;
25
- spaceRegistryAddress: `0x${string}`;
26
- };
27
- export type CreateProposalCalldataParams = {
28
- fromSpaceId: string;
29
- daoSpaceId: string;
30
- proposalId?: string;
31
- votingMode?: VotingModeName;
32
- actions: ProposalAction[];
33
- spaceRegistryAddress: `0x${string}`;
34
- };
35
- export type VoteProposalCalldataParams = {
36
- fromSpaceId: string;
37
- daoSpaceId: string;
38
- proposalId: string;
39
- proposalVersion?: number;
40
- vote: VoteOptionName;
41
- spaceRegistryAddress: `0x${string}`;
42
- };
43
- export type ExecuteProposalCalldataParams = {
44
- fromSpaceId: string;
45
- daoSpaceId: string;
46
- proposalId: string;
47
- spaceRegistryAddress: `0x${string}`;
48
- };
49
- export type EntityVoteCalldataParams = {
50
- authorSpaceId: string;
51
- spaceId: string;
52
- entityId: string;
53
- spaceRegistryAddress: `0x${string}`;
54
- };
55
- export declare function encodeCreatePersonalSpaceCalldata(): `0x${string}`;
56
- export declare function encodeEditPublishedData(contentUri: string, metadata?: string): `0x${string}`;
57
- export declare function encodePublishEditCalldata({ spaceId, cid, metadata, spaceRegistryAddress, }: PublishEditCalldataParams): TransactionRequest;
58
- export declare function encodeCreateDaoSpaceCalldata({ votingSettings, initialEditorSpaceIds, initialMemberSpaceIds, initialEditsContentUri, initialEditsMetadata, initialTopicId, }: CreateDaoSpaceCalldataParams): `0x${string}`;
59
- export declare function encodeProposalCreatedData(proposalId: `0x${string}`, votingMode: VotingModeName, actions: ProposalAction[]): `0x${string}`;
60
- export declare function encodeProposalVotedData(proposalId: `0x${string}`, proposalVersion: number, vote: VoteOptionName): `0x${string}`;
61
- export declare function encodeProposalExecutedData(proposalId: `0x${string}`): `0x${string}`;
62
- export declare function createProposalCalldata({ fromSpaceId, daoSpaceId, proposalId: proposalIdInput, votingMode, actions, spaceRegistryAddress, }: CreateProposalCalldataParams): TransactionRequest & {
63
- proposalId: `0x${string}`;
64
- };
65
- export declare function voteProposalCalldata({ fromSpaceId, daoSpaceId, proposalId, proposalVersion, vote, spaceRegistryAddress, }: VoteProposalCalldataParams): TransactionRequest;
66
- export declare function executeProposalCalldata({ fromSpaceId, daoSpaceId, proposalId, spaceRegistryAddress, }: ExecuteProposalCalldataParams): TransactionRequest;
67
- export declare function encodePublishEditProposalAction(daoSpaceAddress: `0x${string}`, cid: string): ProposalAction;
68
- export declare function encodeDaoRoleAction(daoSpaceAddress: `0x${string}`, action: 'addEditor' | 'removeEditor' | 'addMember' | 'removeMember', spaceId: string): ProposalAction;
69
- export declare function encodeUpdateVotingSettingsAction(daoSpaceAddress: `0x${string}`, votingSettings: CompatibleVotingSettingsInput): ProposalAction;
70
- export declare function encodeEntityVoteTopic(entityId: string): `0x${string}`;
71
- export declare function encodeEntityVoteData(authorSpaceId: `0x${string}`, spaceId: `0x${string}`): `0x${string}`;
72
- export declare function upvoteEntityCalldata(params: EntityVoteCalldataParams): TransactionRequest;
73
- export declare function downvoteEntityCalldata(params: EntityVoteCalldataParams): TransactionRequest;
74
- export declare function withdrawEntityVoteCalldata(params: EntityVoteCalldataParams): TransactionRequest;
75
- export type PublishEditWorkflowParams = {
76
- name: string;
77
- ops: Op[];
78
- author: string;
79
- };
80
- //# sourceMappingURL=encoding.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../../src/contracts-v2/encoding.ts"],"names":[],"mappings":"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"}
@@ -1,193 +0,0 @@
1
- import { v4 as uuidv4 } from 'uuid';
2
- import { encodeAbiParameters, encodeFunctionData, parseAbiParameters, toHex } from 'viem';
3
- import { DaoSpaceFactoryV2Abi, DaoSpaceV2Abi, SpaceRegistryV2Abi } from './abis.js';
4
- import { EMPTY_SIGNATURE, GovernanceActions, idToBytes16, PermissionlessActions, toBytes16, VoteOptionValues, VotingModeValues, ZERO_BYTES16, ZERO_BYTES32, } from './actions.js';
5
- import { toContractVotingSettings, validateVotingSettingsInput, } from './voting-settings.js';
6
- export function encodeCreatePersonalSpaceCalldata() {
7
- return encodeFunctionData({
8
- abi: SpaceRegistryV2Abi,
9
- functionName: 'registerSpaceId',
10
- args: [ZERO_BYTES32, '0x'],
11
- });
12
- }
13
- export function encodeEditPublishedData(contentUri, metadata = '') {
14
- return encodeAbiParameters(parseAbiParameters('bytes, bytes'), [toHex(contentUri), toHex(metadata)]);
15
- }
16
- export function encodePublishEditCalldata({ spaceId, cid, metadata, spaceRegistryAddress, }) {
17
- const spaceIdBytes16 = idToBytes16(spaceId, '`spaceId` in publish edit');
18
- const data = encodeEditPublishedData(cid, metadata);
19
- return {
20
- to: spaceRegistryAddress,
21
- calldata: encodeFunctionData({
22
- abi: SpaceRegistryV2Abi,
23
- functionName: 'enter',
24
- args: [spaceIdBytes16, spaceIdBytes16, GovernanceActions.EDITS_PUBLISHED, ZERO_BYTES32, data, EMPTY_SIGNATURE],
25
- }),
26
- };
27
- }
28
- export function encodeCreateDaoSpaceCalldata({ votingSettings, initialEditorSpaceIds, initialMemberSpaceIds = [], initialEditsContentUri, initialEditsMetadata = '', initialTopicId, }) {
29
- if (initialEditorSpaceIds.length === 0) {
30
- throw new Error('At least one initial editor space ID is required');
31
- }
32
- const validationError = validateVotingSettingsInput(votingSettings, initialEditorSpaceIds.length);
33
- if (validationError) {
34
- throw new Error(validationError);
35
- }
36
- const settings = toContractVotingSettings(votingSettings);
37
- const initialEditsContentUriData = initialEditsContentUri ? toHex(initialEditsContentUri) : '0x';
38
- const initialEditsMetadataData = initialEditsMetadata ? toHex(initialEditsMetadata) : '0x';
39
- const editors = initialEditorSpaceIds.map((spaceId, index) => toBytes16(spaceId, `initialEditorSpaceIds[${index}]`));
40
- const members = initialMemberSpaceIds.map((spaceId, index) => toBytes16(spaceId, `initialMemberSpaceIds[${index}]`));
41
- const topicId = initialTopicId ? idToBytes16(initialTopicId, '`initialTopicId`') : ZERO_BYTES16;
42
- return encodeFunctionData({
43
- abi: DaoSpaceFactoryV2Abi,
44
- functionName: 'createDAOSpaceProxy',
45
- args: [settings, editors, members, initialEditsContentUriData, initialEditsMetadataData, topicId],
46
- });
47
- }
48
- export function encodeProposalCreatedData(proposalId, votingMode, actions) {
49
- const normalizedActions = actions.map(action => ({
50
- to: action.to,
51
- value: action.value ?? 0n,
52
- data: action.data,
53
- }));
54
- return encodeAbiParameters(parseAbiParameters('bytes16, uint8, (address to, uint256 value, bytes data)[]'), [
55
- proposalId,
56
- VotingModeValues[votingMode],
57
- normalizedActions,
58
- ]);
59
- }
60
- export function encodeProposalVotedData(proposalId, proposalVersion, vote) {
61
- return encodeAbiParameters(parseAbiParameters('bytes16, uint8, uint8'), [
62
- proposalId,
63
- proposalVersion,
64
- VoteOptionValues[vote],
65
- ]);
66
- }
67
- export function encodeProposalExecutedData(proposalId) {
68
- return encodeAbiParameters(parseAbiParameters('bytes16'), [proposalId]);
69
- }
70
- export function createProposalCalldata({ fromSpaceId, daoSpaceId, proposalId: proposalIdInput, votingMode = 'FAST', actions, spaceRegistryAddress, }) {
71
- const proposalId = proposalIdInput
72
- ? idToBytes16(proposalIdInput, '`proposalId`')
73
- : `0x${uuidv4().replaceAll('-', '')}`;
74
- const data = encodeProposalCreatedData(proposalId, votingMode, actions);
75
- return {
76
- to: spaceRegistryAddress,
77
- calldata: encodeFunctionData({
78
- abi: SpaceRegistryV2Abi,
79
- functionName: 'enter',
80
- args: [
81
- idToBytes16(fromSpaceId, '`fromSpaceId`'),
82
- idToBytes16(daoSpaceId, '`daoSpaceId`'),
83
- GovernanceActions.PROPOSAL_CREATED,
84
- ZERO_BYTES32,
85
- data,
86
- EMPTY_SIGNATURE,
87
- ],
88
- }),
89
- proposalId,
90
- };
91
- }
92
- export function voteProposalCalldata({ fromSpaceId, daoSpaceId, proposalId, proposalVersion = 1, vote, spaceRegistryAddress, }) {
93
- const normalizedProposalId = idToBytes16(proposalId, '`proposalId`');
94
- const data = encodeProposalVotedData(normalizedProposalId, proposalVersion, vote);
95
- return {
96
- to: spaceRegistryAddress,
97
- calldata: encodeFunctionData({
98
- abi: SpaceRegistryV2Abi,
99
- functionName: 'enter',
100
- args: [
101
- idToBytes16(fromSpaceId, '`fromSpaceId`'),
102
- idToBytes16(daoSpaceId, '`daoSpaceId`'),
103
- GovernanceActions.PROPOSAL_VOTED,
104
- ZERO_BYTES32,
105
- data,
106
- EMPTY_SIGNATURE,
107
- ],
108
- }),
109
- };
110
- }
111
- export function executeProposalCalldata({ fromSpaceId, daoSpaceId, proposalId, spaceRegistryAddress, }) {
112
- const normalizedProposalId = idToBytes16(proposalId, '`proposalId`');
113
- const data = encodeProposalExecutedData(normalizedProposalId);
114
- return {
115
- to: spaceRegistryAddress,
116
- calldata: encodeFunctionData({
117
- abi: SpaceRegistryV2Abi,
118
- functionName: 'enter',
119
- args: [
120
- idToBytes16(fromSpaceId, '`fromSpaceId`'),
121
- idToBytes16(daoSpaceId, '`daoSpaceId`'),
122
- GovernanceActions.PROPOSAL_EXECUTED,
123
- ZERO_BYTES32,
124
- data,
125
- EMPTY_SIGNATURE,
126
- ],
127
- }),
128
- };
129
- }
130
- export function encodePublishEditProposalAction(daoSpaceAddress, cid) {
131
- return {
132
- to: daoSpaceAddress,
133
- value: 0n,
134
- data: encodeFunctionData({
135
- abi: DaoSpaceV2Abi,
136
- functionName: 'ping',
137
- args: [GovernanceActions.EDITS_PUBLISHED, ZERO_BYTES32, encodeEditPublishedData(cid)],
138
- }),
139
- };
140
- }
141
- export function encodeDaoRoleAction(daoSpaceAddress, action, spaceId) {
142
- return {
143
- to: daoSpaceAddress,
144
- value: 0n,
145
- data: encodeFunctionData({
146
- abi: DaoSpaceV2Abi,
147
- functionName: action,
148
- args: [idToBytes16(spaceId, '`spaceId` in DAO role action')],
149
- }),
150
- };
151
- }
152
- export function encodeUpdateVotingSettingsAction(daoSpaceAddress, votingSettings) {
153
- return {
154
- to: daoSpaceAddress,
155
- value: 0n,
156
- data: encodeFunctionData({
157
- abi: DaoSpaceV2Abi,
158
- functionName: 'updateVotingSettings',
159
- args: [toContractVotingSettings(votingSettings)],
160
- }),
161
- };
162
- }
163
- export function encodeEntityVoteTopic(entityId) {
164
- const normalizedEntityId = idToBytes16(entityId, '`entityId` in entity vote').slice(2);
165
- return `0x00000000${normalizedEntityId}${'0'.repeat(24)}`;
166
- }
167
- export function encodeEntityVoteData(authorSpaceId, spaceId) {
168
- return encodeAbiParameters([{ type: 'uint16' }, { type: 'bytes16' }, { type: 'bytes16' }], [0, authorSpaceId, spaceId]);
169
- }
170
- function createEntityVoteCalldata(params, action) {
171
- const authorSpaceId = idToBytes16(params.authorSpaceId, '`authorSpaceId` in entity vote');
172
- const spaceId = idToBytes16(params.spaceId, '`spaceId` in entity vote');
173
- const topic = encodeEntityVoteTopic(params.entityId);
174
- const data = encodeEntityVoteData(authorSpaceId, spaceId);
175
- return {
176
- to: params.spaceRegistryAddress,
177
- calldata: encodeFunctionData({
178
- abi: SpaceRegistryV2Abi,
179
- functionName: 'enter',
180
- args: [authorSpaceId, spaceId, action, topic, data, EMPTY_SIGNATURE],
181
- }),
182
- };
183
- }
184
- export function upvoteEntityCalldata(params) {
185
- return createEntityVoteCalldata(params, PermissionlessActions.UPVOTED);
186
- }
187
- export function downvoteEntityCalldata(params) {
188
- return createEntityVoteCalldata(params, PermissionlessActions.DOWNVOTED);
189
- }
190
- export function withdrawEntityVoteCalldata(params) {
191
- return createEntityVoteCalldata(params, PermissionlessActions.UNVOTED);
192
- }
193
- //# sourceMappingURL=encoding.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../../src/contracts-v2/encoding.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=encoding.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"encoding.test.d.ts","sourceRoot":"","sources":["../../../src/contracts-v2/encoding.test.ts"],"names":[],"mappings":""}
@@ -1,93 +0,0 @@
1
- import { decodeAbiParameters, decodeFunctionData, parseAbiParameters, toHex } from 'viem';
2
- import { describe, expect, it } from 'vitest';
3
- import { DaoSpaceFactoryV2Abi, SpaceRegistryV2Abi } from './abis.js';
4
- import { GovernanceActions, VoteOptionValues, ZERO_BYTES32 } from './actions.js';
5
- import { createProposalCalldata, encodeCreateDaoSpaceCalldata, encodeEditPublishedData, encodeProposalVotedData, voteProposalCalldata, } from './encoding.js';
6
- import { percentageToRatio } from './voting-settings.js';
7
- describe('contracts-v2 encoding', () => {
8
- it('encodes DAO creation with seven voting settings fields', () => {
9
- const initialEditsContentUri = 'ipfs://QmP6aJhM3SgoRSPUccBQK9VMHNqqezixG1Qvjy2xPWvPh5';
10
- const initialEditsMetadata = 'metadata';
11
- const calldata = encodeCreateDaoSpaceCalldata({
12
- votingSettings: {
13
- partialPercentageSupportThreshold: 50,
14
- universalPercentageSupportThreshold: 90,
15
- flatSupportThreshold: 1,
16
- quorum: 1,
17
- duration: 3600,
18
- executionGracePeriod: 86400,
19
- },
20
- initialEditorSpaceIds: ['0x11111111111111111111111111111111'],
21
- initialMemberSpaceIds: [],
22
- initialEditsContentUri,
23
- initialEditsMetadata,
24
- });
25
- const decoded = decodeFunctionData({
26
- abi: DaoSpaceFactoryV2Abi,
27
- data: calldata,
28
- });
29
- expect(decoded.functionName).toBe('createDAOSpaceProxy');
30
- expect(decoded.args[0]).toMatchObject({
31
- partialPercentageSupportThreshold: percentageToRatio(50),
32
- universalPercentageSupportThreshold: percentageToRatio(90),
33
- flatSupportThreshold: 1n,
34
- quorum: 1n,
35
- duration: 3600n,
36
- disableFastPathAccessForNewMembers: false,
37
- executionGracePeriod: 86400n,
38
- });
39
- expect(decoded.args).toHaveLength(6);
40
- expect(decoded.args[3]).toBe(toHex(initialEditsContentUri));
41
- expect(decoded.args[4]).toBe(toHex(initialEditsMetadata));
42
- });
43
- it('encodes edit publish data as bytes content URI and bytes metadata', () => {
44
- const data = encodeEditPublishedData('ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi');
45
- const [contentUri, metadata] = decodeAbiParameters(parseAbiParameters('bytes, bytes'), data);
46
- expect(contentUri).toBe('0x697066733a2f2f62616679626569676479727a74357366703775646d37687537367568377932366e6633656675796c71616266336f636c67747179353566627a6469');
47
- expect(metadata).toBe('0x');
48
- });
49
- it('encodes proposal creation through SpaceRegistry.enter', () => {
50
- const result = createProposalCalldata({
51
- fromSpaceId: '0x11111111111111111111111111111111',
52
- daoSpaceId: '0x22222222222222222222222222222222',
53
- proposalId: '0x33333333333333333333333333333333',
54
- votingMode: 'FAST',
55
- actions: [
56
- {
57
- to: '0x0000000000000000000000000000000000000001',
58
- data: '0x1234',
59
- },
60
- ],
61
- spaceRegistryAddress: '0x0000000000000000000000000000000000000002',
62
- });
63
- const decoded = decodeFunctionData({
64
- abi: SpaceRegistryV2Abi,
65
- data: result.calldata,
66
- });
67
- expect(decoded.args[2]).toBe(GovernanceActions.PROPOSAL_CREATED);
68
- expect(decoded.args[3]).toBe(ZERO_BYTES32);
69
- expect(result.proposalId).toBe('0x33333333333333333333333333333333');
70
- });
71
- it('encodes v2 proposal votes with proposal version', () => {
72
- const voteData = encodeProposalVotedData('0x33333333333333333333333333333333', 2, 'YES');
73
- const [proposalId, proposalVersion, vote] = decodeAbiParameters(parseAbiParameters('bytes16, uint8, uint8'), voteData);
74
- expect(proposalId).toBe('0x33333333333333333333333333333333');
75
- expect(proposalVersion).toBe(2);
76
- expect(vote).toBe(VoteOptionValues.YES);
77
- const result = voteProposalCalldata({
78
- fromSpaceId: '0x11111111111111111111111111111111',
79
- daoSpaceId: '0x22222222222222222222222222222222',
80
- proposalId: '0x33333333333333333333333333333333',
81
- proposalVersion: 2,
82
- vote: 'YES',
83
- spaceRegistryAddress: '0x0000000000000000000000000000000000000002',
84
- });
85
- const decoded = decodeFunctionData({
86
- abi: SpaceRegistryV2Abi,
87
- data: result.calldata,
88
- });
89
- expect(decoded.args[2]).toBe(GovernanceActions.PROPOSAL_VOTED);
90
- expect(decoded.args[3]).toBe(ZERO_BYTES32);
91
- });
92
- });
93
- //# sourceMappingURL=encoding.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"encoding.test.js","sourceRoot":"","sources":["../../../src/contracts-v2/encoding.test.ts"],"names":[],"mappings":"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"}
@@ -1,48 +0,0 @@
1
- export declare const RATIO_BASE: bigint;
2
- export declare const MINIMUM_VOTING_DURATION: bigint;
3
- export declare const MINIMUM_EXECUTION_GRACE_PERIOD: bigint;
4
- export declare const MINIMUM_VOTING_DURATION_DAYS: bigint;
5
- export type VotingSettingsV2 = {
6
- partialPercentageSupportThreshold: bigint;
7
- universalPercentageSupportThreshold: bigint;
8
- flatSupportThreshold: bigint;
9
- quorum: bigint;
10
- duration: bigint;
11
- disableFastPathAccessForNewMembers: boolean;
12
- executionGracePeriod: bigint;
13
- };
14
- export type VotingSettingsV2Input = {
15
- /** Percentage of yes/no votes needed for slow-path support after the full duration. */
16
- partialPercentageSupportThreshold: number;
17
- /** Percentage of total editors needed for slow-path early execution. */
18
- universalPercentageSupportThreshold: number;
19
- /** Number of yes votes needed for fast-path support. */
20
- flatSupportThreshold: number;
21
- /** Minimum number of votes needed for slow-path proposals. */
22
- quorum: number;
23
- /** Voting duration in seconds. */
24
- duration: number;
25
- /** Whether newly added non-editor members lose fast-path access by default. */
26
- disableFastPathAccessForNewMembers?: boolean;
27
- /** Execution grace period in seconds after the voting window closes. */
28
- executionGracePeriod?: number;
29
- };
30
- export type LegacyVotingSettingsInput = {
31
- /** @deprecated Use `partialPercentageSupportThreshold`. */
32
- slowPathPercentageThreshold: number;
33
- /** @deprecated Use `flatSupportThreshold`. */
34
- fastPathFlatThreshold: number;
35
- quorum: number;
36
- /** @deprecated Use `duration` in seconds. */
37
- durationInDays: number;
38
- universalPercentageSupportThreshold?: number;
39
- disableFastPathAccessForNewMembers?: boolean;
40
- executionGracePeriod?: number;
41
- executionGracePeriodInDays?: number;
42
- };
43
- export type CompatibleVotingSettingsInput = VotingSettingsV2Input | LegacyVotingSettingsInput;
44
- export declare function percentageToRatio(percentage: number): bigint;
45
- export declare function daysToSeconds(days: number): bigint;
46
- export declare function toContractVotingSettings(input: CompatibleVotingSettingsInput): VotingSettingsV2;
47
- export declare function validateVotingSettingsInput(settings: CompatibleVotingSettingsInput, totalEditors: number): string | null;
48
- //# sourceMappingURL=voting-settings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"voting-settings.d.ts","sourceRoot":"","sources":["../../../src/contracts-v2/voting-settings.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,QAAe,CAAC;AACvC,eAAO,MAAM,uBAAuB,QAAa,CAAC;AAClD,eAAO,MAAM,8BAA8B,QAAkB,CAAC;AAC9D,eAAO,MAAM,4BAA4B,QAAiD,CAAC;AAE3F,MAAM,MAAM,gBAAgB,GAAG;IAC7B,iCAAiC,EAAE,MAAM,CAAC;IAC1C,mCAAmC,EAAE,MAAM,CAAC;IAC5C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,kCAAkC,EAAE,OAAO,CAAC;IAC5C,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,uFAAuF;IACvF,iCAAiC,EAAE,MAAM,CAAC;IAC1C,wEAAwE;IACxE,mCAAmC,EAAE,MAAM,CAAC;IAC5C,wDAAwD;IACxD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C,wEAAwE;IACxE,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,2DAA2D;IAC3D,2BAA2B,EAAE,MAAM,CAAC;IACpC,8CAA8C;IAC9C,qBAAqB,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,mCAAmC,CAAC,EAAE,MAAM,CAAC;IAC7C,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,qBAAqB,GAAG,yBAAyB,CAAC;AAE9F,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,GAAG,gBAAgB,CA2B/F;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,6BAA6B,EACvC,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI,CAuCf"}
@@ -1,69 +0,0 @@
1
- export const RATIO_BASE = BigInt(10e6);
2
- export const MINIMUM_VOTING_DURATION = BigInt(60);
3
- export const MINIMUM_EXECUTION_GRACE_PERIOD = BigInt(60 * 60);
4
- export const MINIMUM_VOTING_DURATION_DAYS = MINIMUM_VOTING_DURATION / BigInt(24 * 60 * 60);
5
- export function percentageToRatio(percentage) {
6
- return BigInt(Math.floor((percentage * 10e6) / 100));
7
- }
8
- export function daysToSeconds(days) {
9
- return BigInt(Math.floor(days * 24 * 60 * 60));
10
- }
11
- export function toContractVotingSettings(input) {
12
- if ('slowPathPercentageThreshold' in input) {
13
- return {
14
- partialPercentageSupportThreshold: percentageToRatio(input.slowPathPercentageThreshold),
15
- universalPercentageSupportThreshold: percentageToRatio(input.universalPercentageSupportThreshold ?? input.slowPathPercentageThreshold),
16
- flatSupportThreshold: BigInt(input.fastPathFlatThreshold),
17
- quorum: BigInt(input.quorum),
18
- duration: daysToSeconds(input.durationInDays),
19
- disableFastPathAccessForNewMembers: input.disableFastPathAccessForNewMembers ?? false,
20
- executionGracePeriod: input.executionGracePeriod !== undefined
21
- ? BigInt(input.executionGracePeriod)
22
- : daysToSeconds(input.executionGracePeriodInDays ?? 1),
23
- };
24
- }
25
- return {
26
- partialPercentageSupportThreshold: percentageToRatio(input.partialPercentageSupportThreshold),
27
- universalPercentageSupportThreshold: percentageToRatio(input.universalPercentageSupportThreshold),
28
- flatSupportThreshold: BigInt(input.flatSupportThreshold),
29
- quorum: BigInt(input.quorum),
30
- duration: BigInt(input.duration),
31
- disableFastPathAccessForNewMembers: input.disableFastPathAccessForNewMembers ?? false,
32
- executionGracePeriod: BigInt(input.executionGracePeriod ?? 24 * 60 * 60),
33
- };
34
- }
35
- export function validateVotingSettingsInput(settings, totalEditors) {
36
- const partial = 'slowPathPercentageThreshold' in settings
37
- ? settings.slowPathPercentageThreshold
38
- : settings.partialPercentageSupportThreshold;
39
- const universal = 'slowPathPercentageThreshold' in settings
40
- ? (settings.universalPercentageSupportThreshold ?? settings.slowPathPercentageThreshold)
41
- : settings.universalPercentageSupportThreshold;
42
- const flat = 'slowPathPercentageThreshold' in settings ? settings.fastPathFlatThreshold : settings.flatSupportThreshold;
43
- const duration = 'slowPathPercentageThreshold' in settings ? daysToSeconds(settings.durationInDays) : BigInt(settings.duration);
44
- const executionGracePeriod = 'slowPathPercentageThreshold' in settings
45
- ? settings.executionGracePeriod !== undefined
46
- ? BigInt(settings.executionGracePeriod)
47
- : daysToSeconds(settings.executionGracePeriodInDays ?? 1)
48
- : BigInt(settings.executionGracePeriod ?? 24 * 60 * 60);
49
- if (partial < 0 || partial > 100) {
50
- return 'partialPercentageSupportThreshold must be between 0 and 100';
51
- }
52
- if (universal < 0 || universal > 100) {
53
- return 'universalPercentageSupportThreshold must be between 0 and 100';
54
- }
55
- if (flat < 0 || flat > totalEditors) {
56
- return `flatSupportThreshold must be between 0 and ${totalEditors} (number of initial editors)`;
57
- }
58
- if (settings.quorum < 0 || settings.quorum > totalEditors) {
59
- return `quorum must be between 0 and ${totalEditors} (number of initial editors)`;
60
- }
61
- if (duration < MINIMUM_VOTING_DURATION) {
62
- return `duration must be at least ${MINIMUM_VOTING_DURATION.toString()} seconds`;
63
- }
64
- if (executionGracePeriod < MINIMUM_EXECUTION_GRACE_PERIOD) {
65
- return `executionGracePeriod must be at least ${MINIMUM_EXECUTION_GRACE_PERIOD.toString()} seconds`;
66
- }
67
- return null;
68
- }
69
- //# sourceMappingURL=voting-settings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"voting-settings.js","sourceRoot":"","sources":["../../../src/contracts-v2/voting-settings.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- export type LocalGeobrowserDeployment = {
2
- spaceRegistryAddress?: `0x${string}`;
3
- daoSpaceFactoryAddress?: `0x${string}`;
4
- apiOrigin?: string;
5
- rpcUrl?: string;
6
- };
7
- export declare function readLocalGeobrowserDeployment(): LocalGeobrowserDeployment | null;
8
- export declare function createLocalGeobrowserNetwork(deployment: LocalGeobrowserDeployment): import("../types.js").GeoNetworkConfig;
9
- //# sourceMappingURL=local-geobrowser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"local-geobrowser.d.ts","sourceRoot":"","sources":["../../../src/e2e/local-geobrowser.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,yBAAyB,GAAG;IACtC,oBAAoB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACrC,sBAAsB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAIF,wBAAgB,6BAA6B,IAAI,yBAAyB,GAAG,IAAI,CAehF;AAED,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,yBAAyB,0CAejF"}