@geoprotocol/geo-sdk 0.19.1 → 0.19.2
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/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/src/abis/dao-space-factory.d.ts +6 -43
- package/dist/src/abis/dao-space-factory.d.ts.map +1 -1
- package/dist/src/abis/dao-space-factory.js +27 -38
- package/dist/src/abis/dao-space-factory.js.map +1 -1
- package/dist/src/abis/dao-space.d.ts +7 -98
- package/dist/src/abis/dao-space.d.ts.map +1 -1
- package/dist/src/abis/dao-space.js +99 -61
- package/dist/src/abis/dao-space.js.map +1 -1
- package/dist/src/abis/index.d.ts +2 -2
- package/dist/src/abis/index.d.ts.map +1 -1
- package/dist/src/abis/index.js +2 -2
- package/dist/src/abis/index.js.map +1 -1
- package/dist/src/abis/space-registry.d.ts +0 -26
- package/dist/src/abis/space-registry.d.ts.map +1 -1
- package/dist/src/abis/space-registry.js +0 -33
- package/dist/src/abis/space-registry.js.map +1 -1
- package/dist/src/client/dao-spaces.d.ts +33 -93
- package/dist/src/client/dao-spaces.d.ts.map +1 -1
- package/dist/src/client/dao-spaces.js +42 -174
- package/dist/src/client/dao-spaces.js.map +1 -1
- package/dist/src/client/dao-spaces.test.js +79 -313
- package/dist/src/client/dao-spaces.test.js.map +1 -1
- package/dist/src/client/personal-spaces.d.ts +0 -74
- package/dist/src/client/personal-spaces.d.ts.map +1 -1
- package/dist/src/client/personal-spaces.js +2 -82
- package/dist/src/client/personal-spaces.js.map +1 -1
- package/dist/src/client/spaces.test.js +7 -27
- package/dist/src/client/spaces.test.js.map +1 -1
- package/dist/src/client.d.ts +16 -33
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/client.js +60 -102
- package/dist/src/client.js.map +1 -1
- package/dist/src/client.test.js +3 -8
- package/dist/src/client.test.js.map +1 -1
- package/dist/src/dao-space/constants.d.ts +0 -10
- package/dist/src/dao-space/constants.d.ts.map +1 -1
- package/dist/src/dao-space/constants.js +0 -10
- package/dist/src/dao-space/constants.js.map +1 -1
- package/dist/src/dao-space/execute-proposal.d.ts +1 -1
- package/dist/src/dao-space/execute-proposal.js +2 -2
- package/dist/src/dao-space/execute-proposal.js.map +1 -1
- package/dist/src/dao-space/index.d.ts +1 -2
- package/dist/src/dao-space/index.d.ts.map +1 -1
- package/dist/src/dao-space/index.js +0 -1
- package/dist/src/dao-space/index.js.map +1 -1
- package/dist/src/dao-space/propose-add-editor.d.ts +20 -1
- package/dist/src/dao-space/propose-add-editor.d.ts.map +1 -1
- package/dist/src/dao-space/propose-add-editor.js +87 -12
- package/dist/src/dao-space/propose-add-editor.js.map +1 -1
- package/dist/src/dao-space/propose-add-editor.test.js +4 -16
- package/dist/src/dao-space/propose-add-editor.test.js.map +1 -1
- package/dist/src/dao-space/propose-add-member.d.ts +20 -1
- package/dist/src/dao-space/propose-add-member.d.ts.map +1 -1
- package/dist/src/dao-space/propose-add-member.js +87 -12
- package/dist/src/dao-space/propose-add-member.js.map +1 -1
- package/dist/src/dao-space/propose-add-member.test.js +0 -13
- package/dist/src/dao-space/propose-add-member.test.js.map +1 -1
- package/dist/src/dao-space/propose-edit.test.js +0 -45
- package/dist/src/dao-space/propose-edit.test.js.map +1 -1
- package/dist/src/dao-space/propose-remove-editor.d.ts +22 -1
- package/dist/src/dao-space/propose-remove-editor.d.ts.map +1 -1
- package/dist/src/dao-space/propose-remove-editor.js +94 -12
- package/dist/src/dao-space/propose-remove-editor.js.map +1 -1
- package/dist/src/dao-space/propose-remove-editor.test.js +4 -22
- package/dist/src/dao-space/propose-remove-editor.test.js.map +1 -1
- package/dist/src/dao-space/propose-remove-member.d.ts +22 -1
- package/dist/src/dao-space/propose-remove-member.d.ts.map +1 -1
- package/dist/src/dao-space/propose-remove-member.js +94 -12
- package/dist/src/dao-space/propose-remove-member.js.map +1 -1
- package/dist/src/dao-space/propose-remove-member.test.js +0 -19
- package/dist/src/dao-space/propose-remove-member.test.js.map +1 -1
- package/dist/src/dao-space/types.d.ts +11 -72
- package/dist/src/dao-space/types.d.ts.map +1 -1
- package/dist/src/dao-space/vote-proposal.d.ts +1 -1
- package/dist/src/dao-space/vote-proposal.js +2 -2
- package/dist/src/dao-space/vote-proposal.js.map +1 -1
- package/dist/src/dao-space/vote-proposal.test.js +0 -54
- package/dist/src/dao-space/vote-proposal.test.js.map +1 -1
- 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/{api-surface.e2e.test.js → e2e-api-surface.test.js} +101 -286
- package/dist/src/e2e-api-surface.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/{legacy-api-surface.e2e.test.js → e2e-legacy-api-surface.test.js} +70 -90
- package/dist/src/e2e-legacy-api-surface.test.js.map +1 -0
- package/dist/src/encodings/get-create-dao-space-calldata.d.ts +21 -34
- package/dist/src/encodings/get-create-dao-space-calldata.d.ts.map +1 -1
- package/dist/src/encodings/get-create-dao-space-calldata.js +35 -64
- package/dist/src/encodings/get-create-dao-space-calldata.js.map +1 -1
- package/dist/src/encodings/get-create-dao-space-calldata.test.js +64 -94
- package/dist/src/encodings/get-create-dao-space-calldata.test.js.map +1 -1
- package/dist/src/full-flow-test.test.js +2 -5
- package/dist/src/full-flow-test.test.js.map +1 -1
- package/dist/src/personal-space/constants.d.ts +1 -1
- package/dist/src/personal-space/constants.d.ts.map +1 -1
- package/dist/src/personal-space/constants.js +1 -1
- package/dist/src/personal-space/constants.js.map +1 -1
- package/dist/src/personal-space/create-space.d.ts +2 -2
- package/dist/src/personal-space/create-space.d.ts.map +1 -1
- package/dist/src/personal-space/create-space.js +3 -4
- package/dist/src/personal-space/create-space.js.map +1 -1
- package/dist/src/personal-space/types.d.ts +1 -4
- package/dist/src/personal-space/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/src/abis/dao-space-v2.test.d.ts +0 -2
- package/dist/src/abis/dao-space-v2.test.d.ts.map +0 -1
- package/dist/src/abis/dao-space-v2.test.js +0 -67
- package/dist/src/abis/dao-space-v2.test.js.map +0 -1
- package/dist/src/api-surface.e2e.test.d.ts +0 -2
- package/dist/src/api-surface.e2e.test.d.ts.map +0 -1
- package/dist/src/api-surface.e2e.test.js.map +0 -1
- package/dist/src/contracts-v2/local-geobrowser.e2e.test.d.ts +0 -2
- package/dist/src/contracts-v2/local-geobrowser.e2e.test.d.ts.map +0 -1
- package/dist/src/contracts-v2/local-geobrowser.e2e.test.js +0 -239
- package/dist/src/contracts-v2/local-geobrowser.e2e.test.js.map +0 -1
- package/dist/src/dao-space/propose-update-voting-settings.d.ts +0 -8
- package/dist/src/dao-space/propose-update-voting-settings.d.ts.map +0 -1
- package/dist/src/dao-space/propose-update-voting-settings.js +0 -19
- package/dist/src/dao-space/propose-update-voting-settings.js.map +0 -1
- package/dist/src/dao-space/propose-update-voting-settings.test.d.ts +0 -2
- package/dist/src/dao-space/propose-update-voting-settings.test.d.ts.map +0 -1
- package/dist/src/dao-space/propose-update-voting-settings.test.js +0 -118
- package/dist/src/dao-space/propose-update-voting-settings.test.js.map +0 -1
- package/dist/src/e2e-test-environment.d.ts +0 -26
- package/dist/src/e2e-test-environment.d.ts.map +0 -1
- package/dist/src/e2e-test-environment.js +0 -150
- package/dist/src/e2e-test-environment.js.map +0 -1
- package/dist/src/legacy-api-surface.e2e.test.d.ts +0 -2
- package/dist/src/legacy-api-surface.e2e.test.d.ts.map +0 -1
- package/dist/src/legacy-api-surface.e2e.test.js.map +0 -1
|
@@ -1,22 +1,104 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
2
|
+
import { encodeAbiParameters, encodeFunctionData } from 'viem';
|
|
3
|
+
import { DaoSpaceAbi, SpaceRegistryAbi } from '../abis/index.js';
|
|
4
|
+
import { bytes16ToBytes32LeftAligned, EMPTY_SIGNATURE, ensure0xPrefix, getContractAddressesBasedOnNetwork, isBytes16Hex, PROPOSAL_CREATED_ACTION, } from './constants.js';
|
|
4
5
|
/**
|
|
5
6
|
* Creates a proposal to remove a member from a DAO space.
|
|
6
7
|
*
|
|
7
|
-
*
|
|
8
|
+
* This function:
|
|
9
|
+
* 1. Validates the author, DAO space, and member IDs
|
|
10
|
+
* 2. Encodes the `removeMember()` call as the proposal action
|
|
11
|
+
* 3. Encodes the SpaceRegistry's `enter()` call with the `PROPOSAL_CREATED` action
|
|
12
|
+
*
|
|
13
|
+
* @param params - The parameters for proposing member removal
|
|
14
|
+
* @returns Object containing `to` (Space Registry address), `calldata`, and `proposalId`
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* import { daoSpace } from '@geoprotocol/geo-sdk';
|
|
19
|
+
*
|
|
20
|
+
* const { to, calldata, proposalId } = daoSpace.proposeRemoveMember({
|
|
21
|
+
* authorSpaceId: '0xAuthorBytes16SpaceId...',
|
|
22
|
+
* spaceId: '0xDAOBytes16SpaceId...',
|
|
23
|
+
* memberToRemoveSpaceId: '0xMemberBytes16SpaceId...',
|
|
24
|
+
* network: 'TESTNET',
|
|
25
|
+
* });
|
|
26
|
+
*
|
|
27
|
+
* // Submit the transaction using viem or another client
|
|
28
|
+
* await walletClient.sendTransaction({ to, data: calldata });
|
|
29
|
+
* ```
|
|
8
30
|
*/
|
|
9
31
|
export function proposeRemoveMember(params) {
|
|
10
|
-
const { network = 'TESTNET',
|
|
11
|
-
|
|
12
|
-
|
|
32
|
+
const { authorSpaceId: rawAuthorSpaceId, spaceId: rawSpaceId, memberToRemoveSpaceId: rawMemberToRemoveSpaceId, votingMode = 'SLOW', proposalId: rawProposalId, network = 'TESTNET', } = params;
|
|
33
|
+
// Ensure 0x prefix on all IDs
|
|
34
|
+
const authorSpaceId = ensure0xPrefix(rawAuthorSpaceId);
|
|
35
|
+
const spaceId = ensure0xPrefix(rawSpaceId);
|
|
36
|
+
const memberToRemoveSpaceId = ensure0xPrefix(rawMemberToRemoveSpaceId);
|
|
37
|
+
// Validate inputs
|
|
38
|
+
if (!isBytes16Hex(authorSpaceId)) {
|
|
39
|
+
throw new Error(`authorSpaceId must be bytes16 hex (32 hex chars). Received: ${rawAuthorSpaceId}`);
|
|
40
|
+
}
|
|
41
|
+
if (!isBytes16Hex(spaceId)) {
|
|
42
|
+
throw new Error(`spaceId must be bytes16 hex (32 hex chars). Received: ${rawSpaceId}`);
|
|
13
43
|
}
|
|
14
|
-
if (!isBytes16Hex(
|
|
15
|
-
throw new Error(`
|
|
44
|
+
if (!isBytes16Hex(memberToRemoveSpaceId)) {
|
|
45
|
+
throw new Error(`memberToRemoveSpaceId must be bytes16 hex (32 hex chars). Received: ${rawMemberToRemoveSpaceId}`);
|
|
16
46
|
}
|
|
17
|
-
|
|
18
|
-
|
|
47
|
+
// Generate or use provided proposal ID (UUID v4 as bytes16 hex)
|
|
48
|
+
const proposalId = rawProposalId
|
|
49
|
+
? ensure0xPrefix(rawProposalId)
|
|
50
|
+
: `0x${uuidv4().replaceAll('-', '')}`;
|
|
51
|
+
if (!isBytes16Hex(proposalId)) {
|
|
52
|
+
throw new Error(`proposalId must be bytes16 hex (32 hex chars). Received: ${rawProposalId}`);
|
|
19
53
|
}
|
|
20
|
-
|
|
54
|
+
// Encode the removeMember function call: removeMember(bytes16 _oldMemberSpaceId)
|
|
55
|
+
const proposalActionCalldata = encodeFunctionData({
|
|
56
|
+
abi: DaoSpaceAbi,
|
|
57
|
+
functionName: 'removeMember',
|
|
58
|
+
args: [memberToRemoveSpaceId],
|
|
59
|
+
});
|
|
60
|
+
const contracts = getContractAddressesBasedOnNetwork(network);
|
|
61
|
+
// Create the proposal action (calling removeMember on the Space Registry)
|
|
62
|
+
const proposalActions = [
|
|
63
|
+
{
|
|
64
|
+
to: contracts.SPACE_REGISTRY_ADDRESS,
|
|
65
|
+
value: 0n,
|
|
66
|
+
data: proposalActionCalldata,
|
|
67
|
+
},
|
|
68
|
+
];
|
|
69
|
+
// Encode the proposal data: abi.encode(bytes16 proposalId, VotingMode votingMode, Action[] actions)
|
|
70
|
+
const data = encodeAbiParameters([
|
|
71
|
+
{ type: 'bytes16', name: 'proposalId' },
|
|
72
|
+
{ type: 'uint8', name: 'votingMode' },
|
|
73
|
+
{
|
|
74
|
+
type: 'tuple[]',
|
|
75
|
+
name: 'actions',
|
|
76
|
+
components: [
|
|
77
|
+
{ type: 'address', name: 'to' },
|
|
78
|
+
{ type: 'uint256', name: 'value' },
|
|
79
|
+
{ type: 'bytes', name: 'data' },
|
|
80
|
+
],
|
|
81
|
+
},
|
|
82
|
+
], [proposalId, votingMode === 'FAST' ? 1 : 0, proposalActions]);
|
|
83
|
+
// Convert proposalId to bytes32 for the topic (left-aligned)
|
|
84
|
+
const topic = bytes16ToBytes32LeftAligned(proposalId);
|
|
85
|
+
// Encode the SpaceRegistry.enter() call
|
|
86
|
+
const calldata = encodeFunctionData({
|
|
87
|
+
abi: SpaceRegistryAbi,
|
|
88
|
+
functionName: 'enter',
|
|
89
|
+
args: [
|
|
90
|
+
authorSpaceId, // fromSpaceId
|
|
91
|
+
spaceId, // toSpaceId
|
|
92
|
+
PROPOSAL_CREATED_ACTION, // action
|
|
93
|
+
topic, // topic (proposalId left-aligned to bytes32)
|
|
94
|
+
data, // data (encoded proposal)
|
|
95
|
+
EMPTY_SIGNATURE, // signature (unused when msg.sender == fromSpace)
|
|
96
|
+
],
|
|
97
|
+
});
|
|
98
|
+
return {
|
|
99
|
+
to: contracts.SPACE_REGISTRY_ADDRESS,
|
|
100
|
+
calldata,
|
|
101
|
+
proposalId,
|
|
102
|
+
};
|
|
21
103
|
}
|
|
22
104
|
//# sourceMappingURL=propose-remove-member.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propose-remove-member.js","sourceRoot":"","sources":["../../../src/dao-space/propose-remove-member.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"propose-remove-member.js","sourceRoot":"","sources":["../../../src/dao-space/propose-remove-member.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,cAAc,EACd,kCAAkC,EAClC,YAAY,EACZ,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AAGxB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAiC;IACnE,MAAM,EACJ,aAAa,EAAE,gBAAgB,EAC/B,OAAO,EAAE,UAAU,EACnB,qBAAqB,EAAE,wBAAwB,EAC/C,UAAU,GAAG,MAAM,EACnB,UAAU,EAAE,aAAa,EACzB,OAAO,GAAG,SAAS,GACpB,GAAG,MAAM,CAAC;IAEX,8BAA8B;IAC9B,MAAM,aAAa,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,qBAAqB,GAAG,cAAc,CAAC,wBAAwB,CAAC,CAAC;IAEvE,kBAAkB;IAClB,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,+DAA+D,gBAAgB,EAAE,CAAC,CAAC;IACrG,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,yDAAyD,UAAU,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,uEAAuE,wBAAwB,EAAE,CAAC,CAAC;IACrH,CAAC;IAED,gEAAgE;IAChE,MAAM,UAAU,GAAG,aAAa;QAC9B,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC;QAC/B,CAAC,CAAE,KAAK,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,EAAoB,CAAC;IAE3D,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,4DAA4D,aAAa,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,iFAAiF;IACjF,MAAM,sBAAsB,GAAG,kBAAkB,CAAC;QAChD,GAAG,EAAE,WAAW;QAChB,YAAY,EAAE,cAAc;QAC5B,IAAI,EAAE,CAAC,qBAAqB,CAAC;KAC9B,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,kCAAkC,CAAC,OAAO,CAAC,CAAC;IAE9D,0EAA0E;IAC1E,MAAM,eAAe,GAAG;QACtB;YACE,EAAE,EAAE,SAAS,CAAC,sBAAsB;YACpC,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,sBAAsB;SAC7B;KACO,CAAC;IAEX,oGAAoG;IACpG,MAAM,IAAI,GAAG,mBAAmB,CAC9B;QACE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE;QACvC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE;QACrC;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC/B,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;gBAClC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;aAChC;SACF;KACF,EACD,CAAC,UAAU,EAAE,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAC7D,CAAC;IAEF,6DAA6D;IAC7D,MAAM,KAAK,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;IAEtD,wCAAwC;IACxC,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,GAAG,EAAE,gBAAgB;QACrB,YAAY,EAAE,OAAO;QACrB,IAAI,EAAE;YACJ,aAAa,EAAE,cAAc;YAC7B,OAAO,EAAE,YAAY;YACrB,uBAAuB,EAAE,SAAS;YAClC,KAAK,EAAE,6CAA6C;YACpD,IAAI,EAAE,0BAA0B;YAChC,eAAe,EAAE,kDAAkD;SACpE;KACF,CAAC,CAAC;IAEH,OAAO;QACL,EAAE,EAAE,SAAS,CAAC,sBAAsB;QACpC,QAAQ;QACR,UAAU;KACX,CAAC;AACJ,CAAC"}
|
|
@@ -6,13 +6,11 @@ describe('proposeRemoveMember', () => {
|
|
|
6
6
|
// Valid test values
|
|
7
7
|
const validAuthorSpaceId = '0x0eed5491b917cf58b33ac81255fe7ae9';
|
|
8
8
|
const validSpaceId = '0xabcdef12345678901234567890abcdef';
|
|
9
|
-
const validDaoSpaceAddress = '0x1234567890123456789012345678901234567890';
|
|
10
9
|
const validMemberToRemove = '0x11111111111111111111111111111111';
|
|
11
10
|
it('should return correct structure', () => {
|
|
12
11
|
const result = proposeRemoveMember({
|
|
13
12
|
authorSpaceId: validAuthorSpaceId,
|
|
14
13
|
spaceId: validSpaceId,
|
|
15
|
-
daoSpaceAddress: validDaoSpaceAddress,
|
|
16
14
|
memberToRemoveSpaceId: validMemberToRemove,
|
|
17
15
|
});
|
|
18
16
|
expect(result).toHaveProperty('to');
|
|
@@ -23,7 +21,6 @@ describe('proposeRemoveMember', () => {
|
|
|
23
21
|
const { to } = proposeRemoveMember({
|
|
24
22
|
authorSpaceId: validAuthorSpaceId,
|
|
25
23
|
spaceId: validSpaceId,
|
|
26
|
-
daoSpaceAddress: validDaoSpaceAddress,
|
|
27
24
|
memberToRemoveSpaceId: validMemberToRemove,
|
|
28
25
|
});
|
|
29
26
|
expect(to).toBe(TESTNET.SPACE_REGISTRY_ADDRESS);
|
|
@@ -32,7 +29,6 @@ describe('proposeRemoveMember', () => {
|
|
|
32
29
|
const { calldata } = proposeRemoveMember({
|
|
33
30
|
authorSpaceId: validAuthorSpaceId,
|
|
34
31
|
spaceId: validSpaceId,
|
|
35
|
-
daoSpaceAddress: validDaoSpaceAddress,
|
|
36
32
|
memberToRemoveSpaceId: validMemberToRemove,
|
|
37
33
|
});
|
|
38
34
|
expect(calldata).toBeTypeOf('string');
|
|
@@ -42,7 +38,6 @@ describe('proposeRemoveMember', () => {
|
|
|
42
38
|
const { proposalId } = proposeRemoveMember({
|
|
43
39
|
authorSpaceId: validAuthorSpaceId,
|
|
44
40
|
spaceId: validSpaceId,
|
|
45
|
-
daoSpaceAddress: validDaoSpaceAddress,
|
|
46
41
|
memberToRemoveSpaceId: validMemberToRemove,
|
|
47
42
|
});
|
|
48
43
|
expect(proposalId).toMatch(BYTES16_HEX_REGEX);
|
|
@@ -52,7 +47,6 @@ describe('proposeRemoveMember', () => {
|
|
|
52
47
|
const { proposalId } = proposeRemoveMember({
|
|
53
48
|
authorSpaceId: validAuthorSpaceId,
|
|
54
49
|
spaceId: validSpaceId,
|
|
55
|
-
daoSpaceAddress: validDaoSpaceAddress,
|
|
56
50
|
memberToRemoveSpaceId: validMemberToRemove,
|
|
57
51
|
proposalId: customProposalId,
|
|
58
52
|
});
|
|
@@ -62,7 +56,6 @@ describe('proposeRemoveMember', () => {
|
|
|
62
56
|
const result = proposeRemoveMember({
|
|
63
57
|
authorSpaceId: validAuthorSpaceId,
|
|
64
58
|
spaceId: validSpaceId,
|
|
65
|
-
daoSpaceAddress: validDaoSpaceAddress,
|
|
66
59
|
memberToRemoveSpaceId: validMemberToRemove,
|
|
67
60
|
});
|
|
68
61
|
expect(result.calldata).toBeTruthy();
|
|
@@ -71,7 +64,6 @@ describe('proposeRemoveMember', () => {
|
|
|
71
64
|
const result = proposeRemoveMember({
|
|
72
65
|
authorSpaceId: validAuthorSpaceId,
|
|
73
66
|
spaceId: validSpaceId,
|
|
74
|
-
daoSpaceAddress: validDaoSpaceAddress,
|
|
75
67
|
memberToRemoveSpaceId: validMemberToRemove,
|
|
76
68
|
votingMode: 'FAST',
|
|
77
69
|
});
|
|
@@ -81,7 +73,6 @@ describe('proposeRemoveMember', () => {
|
|
|
81
73
|
const params = {
|
|
82
74
|
authorSpaceId: validAuthorSpaceId,
|
|
83
75
|
spaceId: validSpaceId,
|
|
84
|
-
daoSpaceAddress: validDaoSpaceAddress,
|
|
85
76
|
memberToRemoveSpaceId: validMemberToRemove,
|
|
86
77
|
};
|
|
87
78
|
const slowResult = proposeRemoveMember({ ...params, votingMode: 'SLOW' });
|
|
@@ -98,14 +89,12 @@ describe('proposeRemoveMember', () => {
|
|
|
98
89
|
const result1 = proposeRemoveMember({
|
|
99
90
|
authorSpaceId: validAuthorSpaceId,
|
|
100
91
|
spaceId: validSpaceId,
|
|
101
|
-
daoSpaceAddress: validDaoSpaceAddress,
|
|
102
92
|
memberToRemoveSpaceId: validMemberToRemove,
|
|
103
93
|
proposalId: sharedProposalId,
|
|
104
94
|
});
|
|
105
95
|
const result2 = proposeRemoveMember({
|
|
106
96
|
authorSpaceId: validAuthorSpaceId,
|
|
107
97
|
spaceId: validSpaceId,
|
|
108
|
-
daoSpaceAddress: validDaoSpaceAddress,
|
|
109
98
|
memberToRemoveSpaceId: otherMember,
|
|
110
99
|
proposalId: sharedProposalId,
|
|
111
100
|
});
|
|
@@ -115,7 +104,6 @@ describe('proposeRemoveMember', () => {
|
|
|
115
104
|
const result = proposeRemoveMember({
|
|
116
105
|
authorSpaceId: '0eed5491b917cf58b33ac81255fe7ae9',
|
|
117
106
|
spaceId: 'abcdef12345678901234567890abcdef',
|
|
118
|
-
daoSpaceAddress: validDaoSpaceAddress,
|
|
119
107
|
memberToRemoveSpaceId: '11111111111111111111111111111111',
|
|
120
108
|
});
|
|
121
109
|
expect(result.calldata).toBeTruthy();
|
|
@@ -125,14 +113,12 @@ describe('proposeRemoveMember', () => {
|
|
|
125
113
|
const withPrefix = proposeRemoveMember({
|
|
126
114
|
authorSpaceId: '0x0eed5491b917cf58b33ac81255fe7ae9',
|
|
127
115
|
spaceId: '0xabcdef12345678901234567890abcdef',
|
|
128
|
-
daoSpaceAddress: validDaoSpaceAddress,
|
|
129
116
|
memberToRemoveSpaceId: '0x11111111111111111111111111111111',
|
|
130
117
|
proposalId,
|
|
131
118
|
});
|
|
132
119
|
const withoutPrefix = proposeRemoveMember({
|
|
133
120
|
authorSpaceId: '0eed5491b917cf58b33ac81255fe7ae9',
|
|
134
121
|
spaceId: 'abcdef12345678901234567890abcdef',
|
|
135
|
-
daoSpaceAddress: validDaoSpaceAddress,
|
|
136
122
|
memberToRemoveSpaceId: '11111111111111111111111111111111',
|
|
137
123
|
proposalId,
|
|
138
124
|
});
|
|
@@ -142,7 +128,6 @@ describe('proposeRemoveMember', () => {
|
|
|
142
128
|
const params = {
|
|
143
129
|
authorSpaceId: validAuthorSpaceId,
|
|
144
130
|
spaceId: validSpaceId,
|
|
145
|
-
daoSpaceAddress: validDaoSpaceAddress,
|
|
146
131
|
memberToRemoveSpaceId: validMemberToRemove,
|
|
147
132
|
};
|
|
148
133
|
const result1 = proposeRemoveMember(params);
|
|
@@ -153,7 +138,6 @@ describe('proposeRemoveMember', () => {
|
|
|
153
138
|
expect(() => proposeRemoveMember({
|
|
154
139
|
authorSpaceId: 'invalid',
|
|
155
140
|
spaceId: validSpaceId,
|
|
156
|
-
daoSpaceAddress: validDaoSpaceAddress,
|
|
157
141
|
memberToRemoveSpaceId: validMemberToRemove,
|
|
158
142
|
})).toThrow('authorSpaceId must be bytes16 hex');
|
|
159
143
|
});
|
|
@@ -161,7 +145,6 @@ describe('proposeRemoveMember', () => {
|
|
|
161
145
|
expect(() => proposeRemoveMember({
|
|
162
146
|
authorSpaceId: validAuthorSpaceId,
|
|
163
147
|
spaceId: 'tooshort',
|
|
164
|
-
daoSpaceAddress: validDaoSpaceAddress,
|
|
165
148
|
memberToRemoveSpaceId: validMemberToRemove,
|
|
166
149
|
})).toThrow('spaceId must be bytes16 hex');
|
|
167
150
|
});
|
|
@@ -169,7 +152,6 @@ describe('proposeRemoveMember', () => {
|
|
|
169
152
|
expect(() => proposeRemoveMember({
|
|
170
153
|
authorSpaceId: validAuthorSpaceId,
|
|
171
154
|
spaceId: validSpaceId,
|
|
172
|
-
daoSpaceAddress: validDaoSpaceAddress,
|
|
173
155
|
memberToRemoveSpaceId: 'badid',
|
|
174
156
|
})).toThrow('memberToRemoveSpaceId must be bytes16 hex');
|
|
175
157
|
});
|
|
@@ -177,7 +159,6 @@ describe('proposeRemoveMember', () => {
|
|
|
177
159
|
expect(() => proposeRemoveMember({
|
|
178
160
|
authorSpaceId: validAuthorSpaceId,
|
|
179
161
|
spaceId: validSpaceId,
|
|
180
|
-
daoSpaceAddress: validDaoSpaceAddress,
|
|
181
162
|
memberToRemoveSpaceId: validMemberToRemove,
|
|
182
163
|
proposalId: 'badproposalid',
|
|
183
164
|
})).toThrow('proposalId must be bytes16 hex');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propose-remove-member.test.js","sourceRoot":"","sources":["../../../src/dao-space/propose-remove-member.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,oBAAoB;IACpB,MAAM,kBAAkB,GAAG,oCAA6C,CAAC;IACzE,MAAM,YAAY,GAAG,oCAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"propose-remove-member.test.js","sourceRoot":"","sources":["../../../src/dao-space/propose-remove-member.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,7 +43,7 @@ export type ProposeEditParams = {
|
|
|
43
43
|
author: Id | string;
|
|
44
44
|
/**
|
|
45
45
|
* The DAO space contract address.
|
|
46
|
-
* This is the target of the
|
|
46
|
+
* This is the target of the publish() call in the proposal.
|
|
47
47
|
*/
|
|
48
48
|
daoSpaceAddress: `0x${string}`;
|
|
49
49
|
/**
|
|
@@ -58,7 +58,7 @@ export type ProposeEditParams = {
|
|
|
58
58
|
daoSpaceId: `0x${string}`;
|
|
59
59
|
/**
|
|
60
60
|
* Voting mode for the proposal.
|
|
61
|
-
* Defaults to 'FAST' since
|
|
61
|
+
* Defaults to 'FAST' since publish() is a valid fast-path action.
|
|
62
62
|
*/
|
|
63
63
|
votingMode?: VotingMode;
|
|
64
64
|
/**
|
|
@@ -66,16 +66,6 @@ export type ProposeEditParams = {
|
|
|
66
66
|
* If omitted, a unique id is generated.
|
|
67
67
|
*/
|
|
68
68
|
proposalId?: `0x${string}`;
|
|
69
|
-
/**
|
|
70
|
-
* Set to true when publishing a new version of an existing proposal.
|
|
71
|
-
*/
|
|
72
|
-
updateProposal?: boolean;
|
|
73
|
-
/**
|
|
74
|
-
* Proposal version to create. Only valid for update flows. Required for
|
|
75
|
-
* update flows unless the client can resolve the next version from the
|
|
76
|
-
* configured network RPC.
|
|
77
|
-
*/
|
|
78
|
-
versionId?: number;
|
|
79
69
|
/** Network to use (defaults to TESTNET) */
|
|
80
70
|
network?: Network;
|
|
81
71
|
};
|
|
@@ -90,8 +80,6 @@ export type ProposeEditResult = {
|
|
|
90
80
|
calldata: `0x${string}`;
|
|
91
81
|
/** The proposal ID (bytes16 hex) */
|
|
92
82
|
proposalId: `0x${string}`;
|
|
93
|
-
/** The proposal version ID */
|
|
94
|
-
versionId: number;
|
|
95
83
|
};
|
|
96
84
|
/**
|
|
97
85
|
* Vote option for a DAO proposal.
|
|
@@ -116,10 +104,6 @@ export type VoteProposalParams = {
|
|
|
116
104
|
* The proposal to vote on (bytes16 hex, with or without 0x prefix).
|
|
117
105
|
*/
|
|
118
106
|
proposalId: string;
|
|
119
|
-
/**
|
|
120
|
-
* The proposal version to vote on. Defaults to 1 for first-version proposals.
|
|
121
|
-
*/
|
|
122
|
-
versionId?: number;
|
|
123
107
|
/**
|
|
124
108
|
* The vote option: 'YES', 'NO', or 'ABSTAIN'.
|
|
125
109
|
*/
|
|
@@ -195,10 +179,6 @@ export type ProposeRemoveMemberParams = {
|
|
|
195
179
|
* This is the toSpaceId in the enter() call.
|
|
196
180
|
*/
|
|
197
181
|
spaceId: string;
|
|
198
|
-
/**
|
|
199
|
-
* The DAO space contract address. This is the target of the role action.
|
|
200
|
-
*/
|
|
201
|
-
daoSpaceAddress: `0x${string}`;
|
|
202
182
|
/**
|
|
203
183
|
* The space ID of the member to remove (bytes16 hex, with or without 0x prefix).
|
|
204
184
|
*/
|
|
@@ -235,10 +215,6 @@ export type ProposeAddMemberParams = {
|
|
|
235
215
|
* This is the toSpaceId in the enter() call.
|
|
236
216
|
*/
|
|
237
217
|
spaceId: string;
|
|
238
|
-
/**
|
|
239
|
-
* The DAO space contract address. This is the target of the role action.
|
|
240
|
-
*/
|
|
241
|
-
daoSpaceAddress: `0x${string}`;
|
|
242
218
|
/**
|
|
243
219
|
* The space ID of the new member to add (bytes16 hex).
|
|
244
220
|
*/
|
|
@@ -275,16 +251,15 @@ export type ProposeRemoveEditorParams = {
|
|
|
275
251
|
* This is the toSpaceId in the enter() call.
|
|
276
252
|
*/
|
|
277
253
|
spaceId: string;
|
|
278
|
-
/**
|
|
279
|
-
* The DAO space contract address. This is the target of the role action.
|
|
280
|
-
*/
|
|
281
|
-
daoSpaceAddress: `0x${string}`;
|
|
282
254
|
/**
|
|
283
255
|
* The space ID of the editor to remove (bytes16 hex, with or without 0x prefix).
|
|
284
256
|
*/
|
|
285
257
|
editorToRemoveSpaceId: string;
|
|
286
|
-
/**
|
|
287
|
-
|
|
258
|
+
/**
|
|
259
|
+
* Voting mode for the proposal.
|
|
260
|
+
* Defaults to 'SLOW' since removeEditor is not a fast-path action.
|
|
261
|
+
*/
|
|
262
|
+
votingMode?: VotingMode;
|
|
288
263
|
/**
|
|
289
264
|
* Optional bytes16 proposalId (0x + 32 hex chars, with or without 0x prefix).
|
|
290
265
|
* If omitted, a unique id is generated.
|
|
@@ -312,51 +287,15 @@ export type ProposeAddEditorParams = {
|
|
|
312
287
|
* This is the toSpaceId in the enter() call.
|
|
313
288
|
*/
|
|
314
289
|
spaceId: string;
|
|
315
|
-
/**
|
|
316
|
-
* The DAO space contract address. This is the target of the role action.
|
|
317
|
-
*/
|
|
318
|
-
daoSpaceAddress: `0x${string}`;
|
|
319
290
|
/**
|
|
320
291
|
* The space ID of the new editor to add (bytes16 hex).
|
|
321
292
|
*/
|
|
322
293
|
newEditorSpaceId: string;
|
|
323
|
-
/** Editor changes only support SLOW voting. */
|
|
324
|
-
votingMode?: 'SLOW';
|
|
325
294
|
/**
|
|
326
|
-
*
|
|
327
|
-
*
|
|
328
|
-
*/
|
|
329
|
-
proposalId?: string;
|
|
330
|
-
/** Network to use (defaults to TESTNET) */
|
|
331
|
-
network?: Network;
|
|
332
|
-
};
|
|
333
|
-
export type ProposeAddEditorResult = {
|
|
334
|
-
/** The contract address to send the transaction to (Space Registry) */
|
|
335
|
-
to: `0x${string}`;
|
|
336
|
-
/** The calldata for the enter() function call */
|
|
337
|
-
calldata: `0x${string}`;
|
|
338
|
-
/** The proposal ID (bytes16 hex) */
|
|
339
|
-
proposalId: `0x${string}`;
|
|
340
|
-
};
|
|
341
|
-
export type ProposeUpdateVotingSettingsParams = {
|
|
342
|
-
/**
|
|
343
|
-
* The proposer's space ID (bytes16 hex).
|
|
344
|
-
* This is the fromSpaceId in the enter() call.
|
|
345
|
-
*/
|
|
346
|
-
authorSpaceId: string;
|
|
347
|
-
/**
|
|
348
|
-
* The DAO space ID (bytes16 hex).
|
|
349
|
-
* This is the toSpaceId in the enter() call.
|
|
350
|
-
*/
|
|
351
|
-
spaceId: string;
|
|
352
|
-
/**
|
|
353
|
-
* The DAO space contract address. This is the target of the updateVotingSettings action.
|
|
295
|
+
* Voting mode for the proposal.
|
|
296
|
+
* Defaults to 'SLOW' since addEditor() is a governance action.
|
|
354
297
|
*/
|
|
355
|
-
|
|
356
|
-
/** New voting settings for the DAO space. */
|
|
357
|
-
votingSettings: VotingSettingsInput;
|
|
358
|
-
/** Updating voting settings only supports SLOW voting. */
|
|
359
|
-
votingMode?: 'SLOW';
|
|
298
|
+
votingMode?: VotingMode;
|
|
360
299
|
/**
|
|
361
300
|
* Optional bytes16 proposalId (0x + 32 hex chars).
|
|
362
301
|
* If omitted, a unique id is generated.
|
|
@@ -365,7 +304,7 @@ export type ProposeUpdateVotingSettingsParams = {
|
|
|
365
304
|
/** Network to use (defaults to TESTNET) */
|
|
366
305
|
network?: Network;
|
|
367
306
|
};
|
|
368
|
-
export type
|
|
307
|
+
export type ProposeAddEditorResult = {
|
|
369
308
|
/** The contract address to send the transaction to (Space Registry) */
|
|
370
309
|
to: `0x${string}`;
|
|
371
310
|
/** The calldata for the enter() function call */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/dao-space/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,cAAc,EAAE,mBAAmB,CAAC;IACpC,yFAAyF;IACzF,qBAAqB,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;IACvC,gFAAgF;IAChF,qBAAqB,CAAC,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;IACxC,sCAAsC;IACtC,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC;IACpB,+DAA+D;IAC/D,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC;IACX,6FAA6F;IAC7F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;IACxB,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,GAAG,EAAE,EAAE,EAAE,CAAC;IACV,sCAAsC;IACtC,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC;IACpB;;;OAGG;IACH,eAAe,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B;;;OAGG;IACH,aAAa,EAAE,KAAK,MAAM,EAAE,CAAC;IAC7B;;;OAGG;IACH,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC;IAC1B;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC3B
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/dao-space/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import type { VoteProposalParams, VoteProposalResult } from './types.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* Creates a vote transaction for a DAO space proposal.
|
|
4
4
|
*
|
|
5
|
-
* @deprecated Use `createGeoClient({ network }).daoSpaces.
|
|
5
|
+
* @deprecated Use `createGeoClient({ network }).daoSpaces.proposals.vote(...)`.
|
|
6
6
|
*/
|
|
7
7
|
export declare function voteProposal(params: VoteProposalParams): VoteProposalResult;
|
|
8
8
|
//# sourceMappingURL=vote-proposal.d.ts.map
|
|
@@ -4,7 +4,7 @@ import { ensure0xPrefix, isBytes16Hex } from './constants.js';
|
|
|
4
4
|
/**
|
|
5
5
|
* Creates a vote transaction for a DAO space proposal.
|
|
6
6
|
*
|
|
7
|
-
* @deprecated Use `createGeoClient({ network }).daoSpaces.
|
|
7
|
+
* @deprecated Use `createGeoClient({ network }).daoSpaces.proposals.vote(...)`.
|
|
8
8
|
*/
|
|
9
9
|
export function voteProposal(params) {
|
|
10
10
|
const { network = 'TESTNET', ...args } = params;
|
|
@@ -17,6 +17,6 @@ export function voteProposal(params) {
|
|
|
17
17
|
if (!isBytes16Hex(ensure0xPrefix(args.proposalId))) {
|
|
18
18
|
throw new Error(`proposalId must be bytes16 hex (32 hex chars). Received: ${args.proposalId}`);
|
|
19
19
|
}
|
|
20
|
-
return createGeoClient({ network: resolveGeoNetwork(network) }).daoSpaces.
|
|
20
|
+
return createGeoClient({ network: resolveGeoNetwork(network) }).daoSpaces.proposals.vote(args);
|
|
21
21
|
}
|
|
22
22
|
//# sourceMappingURL=vote-proposal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vote-proposal.js","sourceRoot":"","sources":["../../../src/dao-space/vote-proposal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9D;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,MAA0B;IACrD,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAChD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,+DAA+D,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,yDAAyD,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,4DAA4D,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,OAAO,eAAe,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"vote-proposal.js","sourceRoot":"","sources":["../../../src/dao-space/vote-proposal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9D;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,MAA0B;IACrD,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAChD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,+DAA+D,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,yDAAyD,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,4DAA4D,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,OAAO,eAAe,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjG,CAAC"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import { decodeAbiParameters, decodeFunctionData } from 'viem';
|
|
2
1
|
import { describe, expect, it } from 'vitest';
|
|
3
2
|
import { TESTNET } from '../../contracts.js';
|
|
4
|
-
import { SpaceRegistryAbi } from '../abis/index.js';
|
|
5
|
-
import { PROPOSAL_VOTED_ACTION, VOTE_OPTION_VALUES } from './constants.js';
|
|
6
3
|
import { voteProposal } from './vote-proposal.js';
|
|
7
4
|
describe('voteProposal', () => {
|
|
8
5
|
// Valid test values
|
|
@@ -47,57 +44,6 @@ describe('voteProposal', () => {
|
|
|
47
44
|
});
|
|
48
45
|
expect(result.calldata).toBeTruthy();
|
|
49
46
|
});
|
|
50
|
-
it('should encode the proposal version and vote option', () => {
|
|
51
|
-
const result = voteProposal({
|
|
52
|
-
authorSpaceId: validAuthorSpaceId,
|
|
53
|
-
spaceId: validDaoSpaceId,
|
|
54
|
-
proposalId: validProposalId,
|
|
55
|
-
versionId: 3,
|
|
56
|
-
vote: 'ABSTAIN',
|
|
57
|
-
});
|
|
58
|
-
const decoded = decodeFunctionData({
|
|
59
|
-
abi: SpaceRegistryAbi,
|
|
60
|
-
data: result.calldata,
|
|
61
|
-
});
|
|
62
|
-
const [, , action, , data] = decoded.args;
|
|
63
|
-
const [proposalId, versionId, voteOption] = decodeAbiParameters([
|
|
64
|
-
{ type: 'bytes16', name: 'proposalId' },
|
|
65
|
-
{ type: 'uint8', name: 'versionId' },
|
|
66
|
-
{ type: 'uint8', name: 'voteOption' },
|
|
67
|
-
], data);
|
|
68
|
-
expect(action).toBe(PROPOSAL_VOTED_ACTION);
|
|
69
|
-
expect(proposalId).toBe(validProposalId);
|
|
70
|
-
expect(versionId).toBe(3);
|
|
71
|
-
expect(voteOption).toBe(VOTE_OPTION_VALUES.ABSTAIN);
|
|
72
|
-
});
|
|
73
|
-
it('should default to proposal version 1', () => {
|
|
74
|
-
const result = voteProposal({
|
|
75
|
-
authorSpaceId: validAuthorSpaceId,
|
|
76
|
-
spaceId: validDaoSpaceId,
|
|
77
|
-
proposalId: validProposalId,
|
|
78
|
-
vote: 'YES',
|
|
79
|
-
});
|
|
80
|
-
const decoded = decodeFunctionData({
|
|
81
|
-
abi: SpaceRegistryAbi,
|
|
82
|
-
data: result.calldata,
|
|
83
|
-
});
|
|
84
|
-
const [, , , , data] = decoded.args;
|
|
85
|
-
const [, versionId] = decodeAbiParameters([
|
|
86
|
-
{ type: 'bytes16', name: 'proposalId' },
|
|
87
|
-
{ type: 'uint8', name: 'versionId' },
|
|
88
|
-
{ type: 'uint8', name: 'voteOption' },
|
|
89
|
-
], data);
|
|
90
|
-
expect(versionId).toBe(1);
|
|
91
|
-
});
|
|
92
|
-
it('should reject invalid proposal versions', () => {
|
|
93
|
-
expect(() => voteProposal({
|
|
94
|
-
authorSpaceId: validAuthorSpaceId,
|
|
95
|
-
spaceId: validDaoSpaceId,
|
|
96
|
-
proposalId: validProposalId,
|
|
97
|
-
versionId: 0,
|
|
98
|
-
vote: 'YES',
|
|
99
|
-
})).toThrow('versionId must be an integer between 1 and 255');
|
|
100
|
-
});
|
|
101
47
|
it('should accept NO vote', () => {
|
|
102
48
|
const result = voteProposal({
|
|
103
49
|
authorSpaceId: validAuthorSpaceId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vote-proposal.test.js","sourceRoot":"","sources":["../../../src/dao-space/vote-proposal.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"vote-proposal.test.js","sourceRoot":"","sources":["../../../src/dao-space/vote-proposal.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,oBAAoB;IACpB,MAAM,kBAAkB,GAAG,oCAA6C,CAAC;IACzE,MAAM,eAAe,GAAG,oCAA6C,CAAC;IACtE,MAAM,eAAe,GAAG,oCAA6C,CAAC;IAEtE,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,MAAM,GAAG,YAAY,CAAC;YAC1B,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,eAAe;YAC3B,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,CAAC;YAC1B,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,eAAe;YAC3B,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC;YAChC,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,eAAe;YAC3B,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QAEH,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,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,MAAM,GAAG,YAAY,CAAC;YAC1B,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,eAAe;YAC3B,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,MAAM,GAAG,YAAY,CAAC;YAC1B,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,eAAe;YAC3B,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,MAAM,GAAG,YAAY,CAAC;YAC1B,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,eAAe;YAC3B,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,MAAM,GAAG;YACb,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,eAAe;SACnB,CAAC;QAEX,MAAM,SAAS,GAAG,YAAY,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,YAAY,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,YAAY,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAEnE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC5D,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,eAAe,GAAG,oCAA6C,CAAC;QAEtE,MAAM,OAAO,GAAG,YAAY,CAAC;YAC3B,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,eAAe;YAC3B,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,YAAY,CAAC;YAC3B,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,eAAe;YAC3B,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,MAAM,GAAG,YAAY,CAAC;YAC1B,aAAa,EAAE,kCAAkC;YACjD,OAAO,EAAE,kCAAkC;YAC3C,UAAU,EAAE,kCAAkC;YAC9C,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,UAAU,GAAG,YAAY,CAAC;YAC9B,aAAa,EAAE,oCAAoC;YACnD,OAAO,EAAE,oCAAoC;YAC7C,UAAU,EAAE,oCAAoC;YAChD,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,YAAY,CAAC;YACjC,aAAa,EAAE,kCAAkC;YACjD,OAAO,EAAE,kCAAkC;YAC3C,UAAU,EAAE,kCAAkC;YAC9C,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QAEH,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,CAAC,GAAG,EAAE,CACV,YAAY,CAAC;YACX,aAAa,EAAE,SAAS;YACxB,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,eAAe;YAC3B,IAAI,EAAE,KAAK;SACZ,CAAC,CACH,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,GAAG,EAAE,CACV,YAAY,CAAC;YACX,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,UAAU;YACnB,UAAU,EAAE,eAAe;YAC3B,IAAI,EAAE,KAAK;SACZ,CAAC,CACH,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,GAAG,EAAE,CACV,YAAY,CAAC;YACX,aAAa,EAAE,kBAAkB;YACjC,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,OAAO;YACnB,IAAI,EAAE,KAAK;SACZ,CAAC,CACH,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"e2e-api-surface.test.d.ts","sourceRoot":"","sources":["../../src/e2e-api-surface.test.ts"],"names":[],"mappings":""}
|