@graphprotocol/grc-20 0.25.7 → 0.27.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.
Files changed (89) hide show
  1. package/README.md +2 -2
  2. package/dist/contracts.d.ts +2 -0
  3. package/dist/contracts.d.ts.map +1 -1
  4. package/dist/contracts.js +2 -0
  5. package/dist/contracts.js.map +1 -1
  6. package/dist/src/abis/dao-space-factory.d.ts +250 -0
  7. package/dist/src/abis/dao-space-factory.d.ts.map +1 -0
  8. package/dist/src/abis/dao-space-factory.js +326 -0
  9. package/dist/src/abis/dao-space-factory.js.map +1 -0
  10. package/dist/src/abis/index.d.ts +2 -0
  11. package/dist/src/abis/index.d.ts.map +1 -1
  12. package/dist/src/abis/index.js +2 -0
  13. package/dist/src/abis/index.js.map +1 -1
  14. package/dist/src/abis/space-registry.d.ts +367 -0
  15. package/dist/src/abis/space-registry.d.ts.map +1 -0
  16. package/dist/src/abis/space-registry.js +192 -0
  17. package/dist/src/abis/space-registry.js.map +1 -0
  18. package/dist/src/core/blocks/data.test.js +4 -4
  19. package/dist/src/core/blocks/data.test.js.map +1 -1
  20. package/dist/src/core/blocks/text.test.js +2 -2
  21. package/dist/src/core/blocks/text.test.js.map +1 -1
  22. package/dist/src/core/ids/content.d.ts.map +1 -1
  23. package/dist/src/core/ids/content.js +55 -55
  24. package/dist/src/core/ids/content.js.map +1 -1
  25. package/dist/src/core/ids/network.d.ts.map +1 -1
  26. package/dist/src/core/ids/network.js +3 -3
  27. package/dist/src/core/ids/network.js.map +1 -1
  28. package/dist/src/core/ids/system.d.ts.map +1 -1
  29. package/dist/src/core/ids/system.js +140 -140
  30. package/dist/src/core/ids/system.js.map +1 -1
  31. package/dist/src/encodings/get-create-dao-space-calldata.d.ts +146 -0
  32. package/dist/src/encodings/get-create-dao-space-calldata.d.ts.map +1 -0
  33. package/dist/src/encodings/get-create-dao-space-calldata.js +169 -0
  34. package/dist/src/encodings/get-create-dao-space-calldata.js.map +1 -0
  35. package/dist/src/encodings/get-create-dao-space-calldata.test.d.ts +2 -0
  36. package/dist/src/encodings/get-create-dao-space-calldata.test.d.ts.map +1 -0
  37. package/dist/src/encodings/get-create-dao-space-calldata.test.js +124 -0
  38. package/dist/src/encodings/get-create-dao-space-calldata.test.js.map +1 -0
  39. package/dist/src/encodings/get-register-space-calldata.d.ts +32 -0
  40. package/dist/src/encodings/get-register-space-calldata.d.ts.map +1 -0
  41. package/dist/src/encodings/get-register-space-calldata.js +39 -0
  42. package/dist/src/encodings/get-register-space-calldata.js.map +1 -0
  43. package/dist/src/encodings/get-register-space-calldata.test.d.ts +2 -0
  44. package/dist/src/encodings/get-register-space-calldata.test.d.ts.map +1 -0
  45. package/dist/src/encodings/get-register-space-calldata.test.js +15 -0
  46. package/dist/src/encodings/get-register-space-calldata.test.js.map +1 -0
  47. package/dist/src/encodings/index.d.ts +2 -0
  48. package/dist/src/encodings/index.d.ts.map +1 -1
  49. package/dist/src/encodings/index.js +2 -0
  50. package/dist/src/encodings/index.js.map +1 -1
  51. package/dist/src/graph/create-entity.test.js +25 -25
  52. package/dist/src/graph/create-entity.test.js.map +1 -1
  53. package/dist/src/graph/create-image.test.js +2 -2
  54. package/dist/src/graph/create-image.test.js.map +1 -1
  55. package/dist/src/graph/create-property.test.js +2 -2
  56. package/dist/src/graph/create-property.test.js.map +1 -1
  57. package/dist/src/graph/create-relation.test.js +11 -11
  58. package/dist/src/graph/create-relation.test.js.map +1 -1
  59. package/dist/src/graph/create-type.test.js +2 -2
  60. package/dist/src/graph/create-type.test.js.map +1 -1
  61. package/dist/src/graph/delete-relation.test.js +1 -1
  62. package/dist/src/graph/delete-relation.test.js.map +1 -1
  63. package/dist/src/graph/unset-entity-values.test.js +3 -3
  64. package/dist/src/graph/unset-entity-values.test.js.map +1 -1
  65. package/dist/src/graph/unset-relation-fields.test.js +2 -2
  66. package/dist/src/graph/unset-relation-fields.test.js.map +1 -1
  67. package/dist/src/graph/update-entity.test.js +3 -3
  68. package/dist/src/graph/update-entity.test.js.map +1 -1
  69. package/dist/src/graph/update-relation.test.js +5 -5
  70. package/dist/src/graph/update-relation.test.js.map +1 -1
  71. package/dist/src/id-utils.d.ts +2 -2
  72. package/dist/src/id-utils.d.ts.map +1 -1
  73. package/dist/src/id-utils.js +5 -4
  74. package/dist/src/id-utils.js.map +1 -1
  75. package/dist/src/id-utils.test.js +19 -3
  76. package/dist/src/id-utils.test.js.map +1 -1
  77. package/dist/src/id.d.ts +6 -0
  78. package/dist/src/id.d.ts.map +1 -1
  79. package/dist/src/id.js +7 -1
  80. package/dist/src/id.js.map +1 -1
  81. package/dist/src/id.test.js +1 -0
  82. package/dist/src/id.test.js.map +1 -1
  83. package/dist/src/internal/uuid.d.ts +11 -0
  84. package/dist/src/internal/uuid.d.ts.map +1 -0
  85. package/dist/src/internal/uuid.js +18 -0
  86. package/dist/src/internal/uuid.js.map +1 -0
  87. package/dist/src/proto/edit.test.js +38 -41
  88. package/dist/src/proto/edit.test.js.map +1 -1
  89. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"system.js","sourceRoot":"","sources":["../../../../src/core/ids/system.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system.js","sourceRoot":"","sources":["../../../../src/core/ids/system.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,146 @@
1
+ /**
2
+ * The base value for percentage ratios in the contract.
3
+ * 100% = 10e6 (10,000,000), so 50% = 5e6 (5,000,000)
4
+ */
5
+ export declare const RATIO_BASE: bigint;
6
+ /** Minimum voting duration in seconds (2 days) */
7
+ export declare const MINIMUM_VOTING_DURATION: bigint;
8
+ /** Minimum voting duration in days */
9
+ export declare const MINIMUM_VOTING_DURATION_DAYS = 2;
10
+ /**
11
+ * User-friendly voting settings input (using percentages and days)
12
+ */
13
+ export interface VotingSettingsInput {
14
+ /** Percentage threshold for slow path (0-100) */
15
+ slowPathPercentageThreshold: number;
16
+ /** Number of editors required for fast path approval */
17
+ fastPathFlatThreshold: number;
18
+ /** Minimum number of editors required to vote */
19
+ quorum: number;
20
+ /** Voting duration in days (minimum 2 days) */
21
+ durationInDays: number;
22
+ }
23
+ /**
24
+ * Contract-level voting settings (using raw values)
25
+ */
26
+ export interface VotingSettings {
27
+ slowPathPercentageThreshold: bigint;
28
+ fastPathFlatThreshold: bigint;
29
+ quorum: bigint;
30
+ duration: bigint;
31
+ }
32
+ /**
33
+ * Convert a percentage (0-100) to the contract's ratio format.
34
+ *
35
+ * @param percentage - A number between 0 and 100
36
+ * @returns The ratio value used by the contract (where 10e6 = 100%)
37
+ *
38
+ * @example
39
+ * ```ts
40
+ * percentageToRatio(100) // 10000000n (100%)
41
+ * percentageToRatio(50) // 5000000n (50%)
42
+ * percentageToRatio(0) // 0n (0%)
43
+ * ```
44
+ */
45
+ export declare function percentageToRatio(percentage: number): bigint;
46
+ /**
47
+ * Convert days to seconds.
48
+ *
49
+ * @param days - Number of days
50
+ * @returns The equivalent duration in seconds as a bigint
51
+ *
52
+ * @example
53
+ * ```ts
54
+ * daysToSeconds(1) // 86400n
55
+ * daysToSeconds(7) // 604800n
56
+ * ```
57
+ */
58
+ export declare function daysToSeconds(days: number): bigint;
59
+ /**
60
+ * Convert user-friendly voting settings to contract format.
61
+ *
62
+ * @param input - User-friendly voting settings with percentages and days
63
+ * @returns Contract-level voting settings with bigint values
64
+ *
65
+ * @example
66
+ * ```ts
67
+ * const contractSettings = toContractVotingSettings({
68
+ * slowPathPercentageThreshold: 50, // 50%
69
+ * fastPathFlatThreshold: 3, // 3 editors
70
+ * quorum: 2, // 2 editors minimum
71
+ * durationInDays: 7, // 7 days
72
+ * });
73
+ * // Returns: { slowPathPercentageThreshold: 5000000n, fastPathFlatThreshold: 3n, quorum: 2n, duration: 604800n }
74
+ * ```
75
+ */
76
+ export declare function toContractVotingSettings(input: VotingSettingsInput): VotingSettings;
77
+ /**
78
+ * Validate voting settings input.
79
+ *
80
+ * @param settings - The voting settings to validate
81
+ * @param totalEditors - The total number of initial editors
82
+ * @returns Error message if invalid, null if valid
83
+ *
84
+ * @example
85
+ * ```ts
86
+ * const error = validateVotingSettingsInput(
87
+ * { slowPathPercentageThreshold: 50, fastPathFlatThreshold: 3, quorum: 2, durationInDays: 7 },
88
+ * 5 // total editors
89
+ * );
90
+ * if (error) {
91
+ * console.error(error);
92
+ * }
93
+ * ```
94
+ */
95
+ export declare function validateVotingSettingsInput(settings: VotingSettingsInput, totalEditors: number): string | null;
96
+ type CreateDaoSpaceCalldataParams = {
97
+ /** Voting settings for the DAO space */
98
+ votingSettings: VotingSettingsInput;
99
+ /** Addresses of initial editors (at least one required) */
100
+ initialEditors: string[];
101
+ /** Addresses of initial members (can be empty) */
102
+ initialMembers: string[];
103
+ };
104
+ /**
105
+ * Get the calldata for creating a DAO space proxy.
106
+ *
107
+ * This function encodes the `createDAOSpaceProxy` function call for the DAO Space Factory contract.
108
+ * The returned calldata can be used with viem or wagmi to send a transaction.
109
+ *
110
+ * @param args - The parameters for creating the DAO space
111
+ * @returns Encoded calldata for the transaction
112
+ * @throws Error if validation fails (e.g., no editors, invalid voting settings)
113
+ *
114
+ * @example
115
+ * ```ts
116
+ * import { getCreateDaoSpaceCalldata, TESTNET } from '@graphprotocol/grc-20';
117
+ * import { createWalletClient, http } from 'viem';
118
+ *
119
+ * const calldata = getCreateDaoSpaceCalldata({
120
+ * votingSettings: {
121
+ * slowPathPercentageThreshold: 50, // 50% approval needed
122
+ * fastPathFlatThreshold: 3, // 3 editors for fast path
123
+ * quorum: 2, // minimum 2 editors must vote
124
+ * durationInDays: 7, // 7 day voting period
125
+ * },
126
+ * initialEditors: ['0x1234...', '0x5678...'],
127
+ * initialMembers: ['0xabcd...'],
128
+ * });
129
+ *
130
+ * // Using viem
131
+ * const hash = await walletClient.sendTransaction({
132
+ * to: TESTNET.DAO_SPACE_FACTORY_ADDRESS,
133
+ * data: calldata,
134
+ * });
135
+ *
136
+ * // Using wagmi
137
+ * const { sendTransaction } = useSendTransaction();
138
+ * sendTransaction({
139
+ * to: TESTNET.DAO_SPACE_FACTORY_ADDRESS,
140
+ * data: calldata,
141
+ * });
142
+ * ```
143
+ */
144
+ export declare function getCreateDaoSpaceCalldata(args: CreateDaoSpaceCalldataParams): `0x${string}`;
145
+ export {};
146
+ //# sourceMappingURL=get-create-dao-space-calldata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-create-dao-space-calldata.d.ts","sourceRoot":"","sources":["../../../src/encodings/get-create-dao-space-calldata.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,eAAO,MAAM,UAAU,QAAe,CAAC;AAEvC,kDAAkD;AAClD,eAAO,MAAM,uBAAuB,QAA2B,CAAC;AAEhE,sCAAsC;AACtC,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,iDAAiD;IACjD,2BAA2B,EAAE,MAAM,CAAC;IACpC,wDAAwD;IACxD,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,2BAA2B,EAAE,MAAM,CAAC;IACpC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,mBAAmB,GAAG,cAAc,CAOnF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAc9G;AAED,KAAK,4BAA4B,GAAG;IAClC,wCAAwC;IACxC,cAAc,EAAE,mBAAmB,CAAC;IACpC,2DAA2D;IAC3D,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,kDAAkD;IAClD,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,4BAA4B,GAAG,KAAK,MAAM,EAAE,CA6B3F"}
@@ -0,0 +1,169 @@
1
+ import { encodeFunctionData } from 'viem';
2
+ import { DaoSpaceFactoryAbi } from '../abis/index.js';
3
+ import { getChecksumAddress } from '../core/get-checksum-address.js';
4
+ // Contract constants from DAOSpace.sol
5
+ /**
6
+ * The base value for percentage ratios in the contract.
7
+ * 100% = 10e6 (10,000,000), so 50% = 5e6 (5,000,000)
8
+ */
9
+ export const RATIO_BASE = BigInt(10e6);
10
+ /** Minimum voting duration in seconds (2 days) */
11
+ export const MINIMUM_VOTING_DURATION = BigInt(2 * 24 * 60 * 60);
12
+ /** Minimum voting duration in days */
13
+ export const MINIMUM_VOTING_DURATION_DAYS = 2;
14
+ /**
15
+ * Convert a percentage (0-100) to the contract's ratio format.
16
+ *
17
+ * @param percentage - A number between 0 and 100
18
+ * @returns The ratio value used by the contract (where 10e6 = 100%)
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * percentageToRatio(100) // 10000000n (100%)
23
+ * percentageToRatio(50) // 5000000n (50%)
24
+ * percentageToRatio(0) // 0n (0%)
25
+ * ```
26
+ */
27
+ export function percentageToRatio(percentage) {
28
+ return BigInt(Math.floor((percentage * 10e6) / 100));
29
+ }
30
+ /**
31
+ * Convert days to seconds.
32
+ *
33
+ * @param days - Number of days
34
+ * @returns The equivalent duration in seconds as a bigint
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * daysToSeconds(1) // 86400n
39
+ * daysToSeconds(7) // 604800n
40
+ * ```
41
+ */
42
+ export function daysToSeconds(days) {
43
+ return BigInt(Math.floor(days * 24 * 60 * 60));
44
+ }
45
+ /**
46
+ * Convert user-friendly voting settings to contract format.
47
+ *
48
+ * @param input - User-friendly voting settings with percentages and days
49
+ * @returns Contract-level voting settings with bigint values
50
+ *
51
+ * @example
52
+ * ```ts
53
+ * const contractSettings = toContractVotingSettings({
54
+ * slowPathPercentageThreshold: 50, // 50%
55
+ * fastPathFlatThreshold: 3, // 3 editors
56
+ * quorum: 2, // 2 editors minimum
57
+ * durationInDays: 7, // 7 days
58
+ * });
59
+ * // Returns: { slowPathPercentageThreshold: 5000000n, fastPathFlatThreshold: 3n, quorum: 2n, duration: 604800n }
60
+ * ```
61
+ */
62
+ export function toContractVotingSettings(input) {
63
+ return {
64
+ slowPathPercentageThreshold: percentageToRatio(input.slowPathPercentageThreshold),
65
+ fastPathFlatThreshold: BigInt(input.fastPathFlatThreshold),
66
+ quorum: BigInt(input.quorum),
67
+ duration: daysToSeconds(input.durationInDays),
68
+ };
69
+ }
70
+ /**
71
+ * Validate voting settings input.
72
+ *
73
+ * @param settings - The voting settings to validate
74
+ * @param totalEditors - The total number of initial editors
75
+ * @returns Error message if invalid, null if valid
76
+ *
77
+ * @example
78
+ * ```ts
79
+ * const error = validateVotingSettingsInput(
80
+ * { slowPathPercentageThreshold: 50, fastPathFlatThreshold: 3, quorum: 2, durationInDays: 7 },
81
+ * 5 // total editors
82
+ * );
83
+ * if (error) {
84
+ * console.error(error);
85
+ * }
86
+ * ```
87
+ */
88
+ export function validateVotingSettingsInput(settings, totalEditors) {
89
+ if (settings.slowPathPercentageThreshold < 0 || settings.slowPathPercentageThreshold > 100) {
90
+ return 'slowPathPercentageThreshold must be between 0 and 100';
91
+ }
92
+ if (settings.fastPathFlatThreshold < 0 || settings.fastPathFlatThreshold > totalEditors) {
93
+ return `fastPathFlatThreshold must be between 0 and ${totalEditors} (number of initial editors)`;
94
+ }
95
+ if (settings.quorum < 0 || settings.quorum > totalEditors) {
96
+ return `quorum must be between 0 and ${totalEditors} (number of initial editors)`;
97
+ }
98
+ if (settings.durationInDays < MINIMUM_VOTING_DURATION_DAYS) {
99
+ return `durationInDays must be at least ${MINIMUM_VOTING_DURATION_DAYS} days`;
100
+ }
101
+ return null;
102
+ }
103
+ /**
104
+ * Get the calldata for creating a DAO space proxy.
105
+ *
106
+ * This function encodes the `createDAOSpaceProxy` function call for the DAO Space Factory contract.
107
+ * The returned calldata can be used with viem or wagmi to send a transaction.
108
+ *
109
+ * @param args - The parameters for creating the DAO space
110
+ * @returns Encoded calldata for the transaction
111
+ * @throws Error if validation fails (e.g., no editors, invalid voting settings)
112
+ *
113
+ * @example
114
+ * ```ts
115
+ * import { getCreateDaoSpaceCalldata, TESTNET } from '@graphprotocol/grc-20';
116
+ * import { createWalletClient, http } from 'viem';
117
+ *
118
+ * const calldata = getCreateDaoSpaceCalldata({
119
+ * votingSettings: {
120
+ * slowPathPercentageThreshold: 50, // 50% approval needed
121
+ * fastPathFlatThreshold: 3, // 3 editors for fast path
122
+ * quorum: 2, // minimum 2 editors must vote
123
+ * durationInDays: 7, // 7 day voting period
124
+ * },
125
+ * initialEditors: ['0x1234...', '0x5678...'],
126
+ * initialMembers: ['0xabcd...'],
127
+ * });
128
+ *
129
+ * // Using viem
130
+ * const hash = await walletClient.sendTransaction({
131
+ * to: TESTNET.DAO_SPACE_FACTORY_ADDRESS,
132
+ * data: calldata,
133
+ * });
134
+ *
135
+ * // Using wagmi
136
+ * const { sendTransaction } = useSendTransaction();
137
+ * sendTransaction({
138
+ * to: TESTNET.DAO_SPACE_FACTORY_ADDRESS,
139
+ * data: calldata,
140
+ * });
141
+ * ```
142
+ */
143
+ export function getCreateDaoSpaceCalldata(args) {
144
+ const initialEditors = args.initialEditors.map(getChecksumAddress);
145
+ const initialMembers = args.initialMembers.map(getChecksumAddress);
146
+ if (initialEditors.length === 0) {
147
+ throw new Error('At least one initial editor is required');
148
+ }
149
+ const validationError = validateVotingSettingsInput(args.votingSettings, initialEditors.length);
150
+ if (validationError) {
151
+ throw new Error(validationError);
152
+ }
153
+ const contractVotingSettings = toContractVotingSettings(args.votingSettings);
154
+ return encodeFunctionData({
155
+ abi: DaoSpaceFactoryAbi,
156
+ functionName: 'createDAOSpaceProxy',
157
+ args: [
158
+ {
159
+ slowPathPercentageThreshold: contractVotingSettings.slowPathPercentageThreshold,
160
+ fastPathFlatThreshold: contractVotingSettings.fastPathFlatThreshold,
161
+ quorum: contractVotingSettings.quorum,
162
+ duration: contractVotingSettings.duration,
163
+ },
164
+ initialEditors,
165
+ initialMembers,
166
+ ],
167
+ });
168
+ }
169
+ //# sourceMappingURL=get-create-dao-space-calldata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-create-dao-space-calldata.js","sourceRoot":"","sources":["../../../src/encodings/get-create-dao-space-calldata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=get-create-dao-space-calldata.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-create-dao-space-calldata.test.d.ts","sourceRoot":"","sources":["../../../src/encodings/get-create-dao-space-calldata.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,124 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { daysToSeconds, getCreateDaoSpaceCalldata, MINIMUM_VOTING_DURATION, MINIMUM_VOTING_DURATION_DAYS, percentageToRatio, RATIO_BASE, toContractVotingSettings, validateVotingSettingsInput, } from './get-create-dao-space-calldata.js';
3
+ describe('percentageToRatio', () => {
4
+ it('should convert 100% to RATIO_BASE', () => {
5
+ expect(percentageToRatio(100)).toBe(RATIO_BASE);
6
+ });
7
+ it('should convert 50% to half of RATIO_BASE', () => {
8
+ expect(percentageToRatio(50)).toBe(RATIO_BASE / BigInt(2));
9
+ });
10
+ it('should convert 0% to 0', () => {
11
+ expect(percentageToRatio(0)).toBe(BigInt(0));
12
+ });
13
+ it('should handle decimal percentages', () => {
14
+ expect(percentageToRatio(33.33)).toBe(BigInt(3333000));
15
+ });
16
+ });
17
+ describe('daysToSeconds', () => {
18
+ it('should convert 1 day to 86400 seconds', () => {
19
+ expect(daysToSeconds(1)).toBe(BigInt(86400));
20
+ });
21
+ it('should convert 2 days to 172800 seconds', () => {
22
+ expect(daysToSeconds(2)).toBe(MINIMUM_VOTING_DURATION);
23
+ });
24
+ it('should handle fractional days', () => {
25
+ expect(daysToSeconds(0.5)).toBe(BigInt(43200));
26
+ });
27
+ });
28
+ describe('toContractVotingSettings', () => {
29
+ it('should convert user-friendly settings to contract format', () => {
30
+ const input = {
31
+ slowPathPercentageThreshold: 50,
32
+ fastPathFlatThreshold: 3,
33
+ quorum: 2,
34
+ durationInDays: 7,
35
+ };
36
+ const result = toContractVotingSettings(input);
37
+ expect(result.slowPathPercentageThreshold).toBe(percentageToRatio(50));
38
+ expect(result.fastPathFlatThreshold).toBe(BigInt(3));
39
+ expect(result.quorum).toBe(BigInt(2));
40
+ expect(result.duration).toBe(daysToSeconds(7));
41
+ });
42
+ });
43
+ describe('validateVotingSettingsInput', () => {
44
+ const validSettings = {
45
+ slowPathPercentageThreshold: 50,
46
+ fastPathFlatThreshold: 3,
47
+ quorum: 2,
48
+ durationInDays: 7,
49
+ };
50
+ it('should return null for valid settings', () => {
51
+ expect(validateVotingSettingsInput(validSettings, 5)).toBeNull();
52
+ });
53
+ it('should reject slowPathPercentageThreshold below 0', () => {
54
+ const settings = { ...validSettings, slowPathPercentageThreshold: -1 };
55
+ expect(validateVotingSettingsInput(settings, 5)).toBe('slowPathPercentageThreshold must be between 0 and 100');
56
+ });
57
+ it('should reject slowPathPercentageThreshold above 100', () => {
58
+ const settings = { ...validSettings, slowPathPercentageThreshold: 101 };
59
+ expect(validateVotingSettingsInput(settings, 5)).toBe('slowPathPercentageThreshold must be between 0 and 100');
60
+ });
61
+ it('should reject fastPathFlatThreshold above total editors', () => {
62
+ const settings = { ...validSettings, fastPathFlatThreshold: 10 };
63
+ expect(validateVotingSettingsInput(settings, 5)).toBe('fastPathFlatThreshold must be between 0 and 5 (number of initial editors)');
64
+ });
65
+ it('should reject quorum above total editors', () => {
66
+ const settings = { ...validSettings, quorum: 10 };
67
+ expect(validateVotingSettingsInput(settings, 5)).toBe('quorum must be between 0 and 5 (number of initial editors)');
68
+ });
69
+ it('should reject durationInDays below minimum', () => {
70
+ const settings = { ...validSettings, durationInDays: 1 };
71
+ expect(validateVotingSettingsInput(settings, 5)).toBe(`durationInDays must be at least ${MINIMUM_VOTING_DURATION_DAYS} days`);
72
+ });
73
+ });
74
+ describe('getCreateDaoSpaceCalldata', () => {
75
+ const validArgs = {
76
+ votingSettings: {
77
+ slowPathPercentageThreshold: 50,
78
+ fastPathFlatThreshold: 2,
79
+ quorum: 1,
80
+ durationInDays: 7,
81
+ },
82
+ initialEditors: [
83
+ '0x1234567890123456789012345678901234567890',
84
+ '0x2234567890123456789012345678901234567890',
85
+ '0x3234567890123456789012345678901234567890',
86
+ ],
87
+ initialMembers: ['0xabcdefabcdefabcdefabcdefabcdefabcdefabcd'],
88
+ };
89
+ it('should generate valid calldata', () => {
90
+ const calldata = getCreateDaoSpaceCalldata(validArgs);
91
+ expect(calldata).toBeTypeOf('string');
92
+ expect(calldata.startsWith('0x')).toBe(true);
93
+ });
94
+ it('should throw if no initial editors provided', () => {
95
+ const args = { ...validArgs, initialEditors: [] };
96
+ expect(() => getCreateDaoSpaceCalldata(args)).toThrow('At least one initial editor is required');
97
+ });
98
+ it('should throw if voting settings are invalid', () => {
99
+ const args = {
100
+ ...validArgs,
101
+ votingSettings: { ...validArgs.votingSettings, slowPathPercentageThreshold: 150 },
102
+ };
103
+ expect(() => getCreateDaoSpaceCalldata(args)).toThrow('slowPathPercentageThreshold must be between 0 and 100');
104
+ });
105
+ it('should throw if duration is below minimum', () => {
106
+ const args = {
107
+ ...validArgs,
108
+ votingSettings: { ...validArgs.votingSettings, durationInDays: 1 },
109
+ };
110
+ expect(() => getCreateDaoSpaceCalldata(args)).toThrow(`durationInDays must be at least ${MINIMUM_VOTING_DURATION_DAYS} days`);
111
+ });
112
+ it('should accept empty initial members', () => {
113
+ const args = { ...validArgs, initialMembers: [] };
114
+ const calldata = getCreateDaoSpaceCalldata(args);
115
+ expect(calldata).toBeTypeOf('string');
116
+ expect(calldata.startsWith('0x')).toBe(true);
117
+ });
118
+ it('should checksum addresses', () => {
119
+ // Should not throw with lowercase addresses - uses validArgs which has 3 editors
120
+ const calldata = getCreateDaoSpaceCalldata(validArgs);
121
+ expect(calldata).toBeTypeOf('string');
122
+ });
123
+ });
124
+ //# sourceMappingURL=get-create-dao-space-calldata.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-create-dao-space-calldata.test.js","sourceRoot":"","sources":["../../../src/encodings/get-create-dao-space-calldata.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EACL,aAAa,EACb,yBAAyB,EACzB,uBAAuB,EACvB,4BAA4B,EAC5B,iBAAiB,EACjB,UAAU,EACV,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,oCAAoC,CAAC;AAE5C,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,KAAK,GAAG;YACZ,2BAA2B,EAAE,EAAE;YAC/B,qBAAqB,EAAE,CAAC;YACxB,MAAM,EAAE,CAAC;YACT,cAAc,EAAE,CAAC;SAClB,CAAC;QAEF,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAE/C,MAAM,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;QACvE,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,MAAM,aAAa,GAAG;QACpB,2BAA2B,EAAE,EAAE;QAC/B,qBAAqB,EAAE,CAAC;QACxB,MAAM,EAAE,CAAC;QACT,cAAc,EAAE,CAAC;KAClB,CAAC;IAEF,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,2BAA2B,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,QAAQ,GAAG,EAAE,GAAG,aAAa,EAAE,2BAA2B,EAAE,CAAC,CAAC,EAAE,CAAC;QACvE,MAAM,CAAC,2BAA2B,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;IACjH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,QAAQ,GAAG,EAAE,GAAG,aAAa,EAAE,2BAA2B,EAAE,GAAG,EAAE,CAAC;QACxE,MAAM,CAAC,2BAA2B,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;IACjH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,QAAQ,GAAG,EAAE,GAAG,aAAa,EAAE,qBAAqB,EAAE,EAAE,EAAE,CAAC;QACjE,MAAM,CAAC,2BAA2B,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CACnD,2EAA2E,CAC5E,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,QAAQ,GAAG,EAAE,GAAG,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAClD,MAAM,CAAC,2BAA2B,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;IACtH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,QAAQ,GAAG,EAAE,GAAG,aAAa,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;QACzD,MAAM,CAAC,2BAA2B,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CACnD,mCAAmC,4BAA4B,OAAO,CACvE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,MAAM,SAAS,GAAG;QAChB,cAAc,EAAE;YACd,2BAA2B,EAAE,EAAE;YAC/B,qBAAqB,EAAE,CAAC;YACxB,MAAM,EAAE,CAAC;YACT,cAAc,EAAE,CAAC;SAClB;QACD,cAAc,EAAE;YACd,4CAA4C;YAC5C,4CAA4C;YAC5C,4CAA4C;SAC7C;QACD,cAAc,EAAE,CAAC,4CAA4C,CAAC;KAC/D,CAAC;IAEF,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,QAAQ,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,IAAI,GAAG,EAAE,GAAG,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;QAClD,MAAM,CAAC,GAAG,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,IAAI,GAAG;YACX,GAAG,SAAS;YACZ,cAAc,EAAE,EAAE,GAAG,SAAS,CAAC,cAAc,EAAE,2BAA2B,EAAE,GAAG,EAAE;SAClF,CAAC;QACF,MAAM,CAAC,GAAG,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC;IACjH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,IAAI,GAAG;YACX,GAAG,SAAS;YACZ,cAAc,EAAE,EAAE,GAAG,SAAS,CAAC,cAAc,EAAE,cAAc,EAAE,CAAC,EAAE;SACnE,CAAC;QACF,MAAM,CAAC,GAAG,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CACnD,mCAAmC,4BAA4B,OAAO,CACvE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,IAAI,GAAG,EAAE,GAAG,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,iFAAiF;QACjF,MAAM,QAAQ,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Get the calldata for registering a space ID.
3
+ *
4
+ * This function encodes the `registerSpaceId` function call for the Space Registry contract.
5
+ * It is called by a space contract to register itself with the Space Registry.
6
+ * The space ID is deterministically derived from the caller's address and nonce.
7
+ *
8
+ * @returns Encoded calldata for the transaction
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import { getRegisterSpaceCalldata, TESTNET } from '@graphprotocol/grc-20';
13
+ * import { createWalletClient, http } from 'viem';
14
+ *
15
+ * const calldata = getRegisterSpaceCalldata();
16
+ *
17
+ * // Using viem
18
+ * const hash = await walletClient.sendTransaction({
19
+ * to: TESTNET.SPACE_REGISTRY_ADDRESS,
20
+ * data: calldata,
21
+ * });
22
+ *
23
+ * // Using wagmi
24
+ * const { sendTransaction } = useSendTransaction();
25
+ * sendTransaction({
26
+ * to: TESTNET.SPACE_REGISTRY_ADDRESS,
27
+ * data: calldata,
28
+ * });
29
+ * ```
30
+ */
31
+ export declare function getRegisterSpaceCalldata(): `0x${string}`;
32
+ //# sourceMappingURL=get-register-space-calldata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-register-space-calldata.d.ts","sourceRoot":"","sources":["../../../src/encodings/get-register-space-calldata.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,wBAAwB,IAAI,KAAK,MAAM,EAAE,CAKxD"}
@@ -0,0 +1,39 @@
1
+ import { encodeFunctionData } from 'viem';
2
+ import { SpaceRegistryAbi } from '../abis/index.js';
3
+ /**
4
+ * Get the calldata for registering a space ID.
5
+ *
6
+ * This function encodes the `registerSpaceId` function call for the Space Registry contract.
7
+ * It is called by a space contract to register itself with the Space Registry.
8
+ * The space ID is deterministically derived from the caller's address and nonce.
9
+ *
10
+ * @returns Encoded calldata for the transaction
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * import { getRegisterSpaceCalldata, TESTNET } from '@graphprotocol/grc-20';
15
+ * import { createWalletClient, http } from 'viem';
16
+ *
17
+ * const calldata = getRegisterSpaceCalldata();
18
+ *
19
+ * // Using viem
20
+ * const hash = await walletClient.sendTransaction({
21
+ * to: TESTNET.SPACE_REGISTRY_ADDRESS,
22
+ * data: calldata,
23
+ * });
24
+ *
25
+ * // Using wagmi
26
+ * const { sendTransaction } = useSendTransaction();
27
+ * sendTransaction({
28
+ * to: TESTNET.SPACE_REGISTRY_ADDRESS,
29
+ * data: calldata,
30
+ * });
31
+ * ```
32
+ */
33
+ export function getRegisterSpaceCalldata() {
34
+ return encodeFunctionData({
35
+ abi: SpaceRegistryAbi,
36
+ functionName: 'registerSpaceId',
37
+ });
38
+ }
39
+ //# sourceMappingURL=get-register-space-calldata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-register-space-calldata.js","sourceRoot":"","sources":["../../../src/encodings/get-register-space-calldata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO,kBAAkB,CAAC;QACxB,GAAG,EAAE,gBAAgB;QACrB,YAAY,EAAE,iBAAiB;KAChC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=get-register-space-calldata.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-register-space-calldata.test.d.ts","sourceRoot":"","sources":["../../../src/encodings/get-register-space-calldata.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { getRegisterSpaceCalldata } from './get-register-space-calldata.js';
3
+ describe('getRegisterSpaceCalldata', () => {
4
+ it('should generate valid calldata', () => {
5
+ const calldata = getRegisterSpaceCalldata();
6
+ expect(calldata).toBeTypeOf('string');
7
+ expect(calldata.startsWith('0x')).toBe(true);
8
+ });
9
+ it('should return consistent calldata', () => {
10
+ const calldata1 = getRegisterSpaceCalldata();
11
+ const calldata2 = getRegisterSpaceCalldata();
12
+ expect(calldata1).toBe(calldata2);
13
+ });
14
+ });
15
+ //# sourceMappingURL=get-register-space-calldata.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-register-space-calldata.test.js","sourceRoot":"","sources":["../../../src/encodings/get-register-space-calldata.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,QAAQ,GAAG,wBAAwB,EAAE,CAAC;QAC5C,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,SAAS,GAAG,wBAAwB,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,wBAAwB,EAAE,CAAC;QAC7C,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,7 +1,9 @@
1
1
  export * from './get-accept-editor-arguments.js';
2
2
  export * from './get-accept-subspace-arguments.js';
3
3
  export * from './get-calldata-for-space-governance-type.js';
4
+ export * from './get-create-dao-space-calldata.js';
4
5
  export * from './get-process-geo-proposal-arguments.js';
6
+ export * from './get-register-space-calldata.js';
5
7
  export * from './get-remove-editor-arguments.js';
6
8
  export * from './get-remove-subspace-arguments.js';
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/encodings/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,yCAAyC,CAAC;AACxD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/encodings/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,oCAAoC,CAAC;AACnD,cAAc,yCAAyC,CAAC;AACxD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC"}