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