levr-sdk 0.0.1 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +109 -13
- package/dist/esm/abis/LevrFactory_v1.js +63 -0
- package/dist/esm/abis/LevrGovernor_v1.js +15 -24
- package/dist/esm/abis/LevrStaking_v1.js +7 -1
- package/dist/esm/abis/StateView.js +149 -0
- package/dist/esm/abis/V3QuoterV2.js +26 -0
- package/dist/esm/abis/index.js +4 -0
- package/dist/esm/balance.js +48 -4
- package/dist/esm/balance.js.map +1 -1
- package/dist/esm/client/hook/index.js +14 -3
- package/dist/esm/client/hook/index.js.map +1 -1
- package/dist/esm/client/hook/use-fee-receivers.js +11 -30
- package/dist/esm/client/hook/use-fee-receivers.js.map +1 -1
- package/dist/esm/client/hook/use-governance.js +20 -274
- package/dist/esm/client/hook/use-governance.js.map +1 -1
- package/dist/esm/client/hook/use-pool.js +26 -0
- package/dist/esm/client/hook/use-pool.js.map +1 -0
- package/dist/esm/client/hook/use-prepare.js +6 -3
- package/dist/esm/client/hook/use-prepare.js.map +1 -1
- package/dist/esm/client/hook/use-project.js +28 -16
- package/dist/esm/client/hook/use-project.js.map +1 -1
- package/dist/esm/client/hook/use-proposal.js +48 -0
- package/dist/esm/client/hook/use-proposal.js.map +1 -0
- package/dist/esm/client/hook/use-stake.js +29 -215
- package/dist/esm/client/hook/use-stake.js.map +1 -1
- package/dist/esm/client/hook/use-swap.js +23 -19
- package/dist/esm/client/hook/use-swap.js.map +1 -1
- package/dist/esm/client/hook/use-user.js +25 -0
- package/dist/esm/client/hook/use-user.js.map +1 -0
- package/dist/esm/client/levr-provider.js +73 -108
- package/dist/esm/client/levr-provider.js.map +1 -1
- package/dist/esm/client/query-keys.js +10 -22
- package/dist/esm/client/query-keys.js.map +1 -1
- package/dist/esm/constants.js +42 -1
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/fee-receivers.js +28 -13
- package/dist/esm/fee-receivers.js.map +1 -1
- package/dist/esm/governance.js +35 -399
- package/dist/esm/governance.js.map +1 -1
- package/dist/esm/index.js +7 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/pool-key.js +152 -0
- package/dist/esm/pool-key.js.map +1 -0
- package/dist/esm/pool.js +70 -0
- package/dist/esm/pool.js.map +1 -0
- package/dist/esm/project.js +415 -118
- package/dist/esm/project.js.map +1 -1
- package/dist/esm/proposal.js +156 -0
- package/dist/esm/proposal.js.map +1 -0
- package/dist/esm/quote/index.js +98 -0
- package/dist/esm/quote/index.js.map +1 -0
- package/dist/esm/quote/v3.js +62 -0
- package/dist/esm/quote/v3.js.map +1 -0
- package/dist/esm/quote/v4.js +228 -0
- package/dist/esm/quote/v4.js.map +1 -0
- package/dist/esm/stake.js +34 -237
- package/dist/esm/stake.js.map +1 -1
- package/dist/esm/treasury.js +162 -0
- package/dist/esm/treasury.js.map +1 -0
- package/dist/esm/usd-price.js +149 -0
- package/dist/esm/usd-price.js.map +1 -0
- package/dist/esm/user.js +153 -0
- package/dist/esm/user.js.map +1 -0
- package/dist/esm/util.js +45 -1
- package/dist/esm/util.js.map +1 -1
- package/dist/types/abis/LevrFactory_v1.d.ts +48 -0
- package/dist/types/abis/LevrGovernor_v1.d.ts +12 -18
- package/dist/types/abis/LevrStaking_v1.d.ts +5 -1
- package/dist/types/abis/StateView.d.ts +278 -0
- package/dist/types/abis/V3QuoterV2.d.ts +39 -0
- package/dist/types/abis/index.d.ts +2 -0
- package/dist/types/balance.d.ts +19 -6
- package/dist/types/balance.d.ts.map +1 -1
- package/dist/types/client/hook/index.d.ts +12 -4
- package/dist/types/client/hook/index.d.ts.map +1 -1
- package/dist/types/client/hook/use-fee-receivers.d.ts +6 -16
- package/dist/types/client/hook/use-fee-receivers.d.ts.map +1 -1
- package/dist/types/client/hook/use-governance.d.ts +4 -93
- package/dist/types/client/hook/use-governance.d.ts.map +1 -1
- package/dist/types/client/hook/use-pool.d.ts +12 -0
- package/dist/types/client/hook/use-pool.d.ts.map +1 -0
- package/dist/types/client/hook/use-prepare.d.ts +1 -2
- package/dist/types/client/hook/use-prepare.d.ts.map +1 -1
- package/dist/types/client/hook/use-project.d.ts +8 -1
- package/dist/types/client/hook/use-project.d.ts.map +1 -1
- package/dist/types/client/hook/use-proposal.d.ts +18 -0
- package/dist/types/client/hook/use-proposal.d.ts.map +1 -0
- package/dist/types/client/hook/use-stake.d.ts +14 -168
- package/dist/types/client/hook/use-stake.d.ts.map +1 -1
- package/dist/types/client/hook/use-swap.d.ts +5 -9
- package/dist/types/client/hook/use-swap.d.ts.map +1 -1
- package/dist/types/client/hook/use-user.d.ts +13 -0
- package/dist/types/client/hook/use-user.d.ts.map +1 -0
- package/dist/types/client/levr-provider.d.ts +41 -68
- package/dist/types/client/levr-provider.d.ts.map +1 -1
- package/dist/types/client/query-keys.d.ts +14 -26
- package/dist/types/client/query-keys.d.ts.map +1 -1
- package/dist/types/constants.d.ts +18 -0
- package/dist/types/constants.d.ts.map +1 -1
- package/dist/types/fee-receivers.d.ts +29 -2
- package/dist/types/fee-receivers.d.ts.map +1 -1
- package/dist/types/governance.d.ts +8 -108
- package/dist/types/governance.d.ts.map +1 -1
- package/dist/types/index.d.ts +7 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/pool-key.d.ts +121 -0
- package/dist/types/pool-key.d.ts.map +1 -0
- package/dist/types/pool.d.ts +590 -0
- package/dist/types/pool.d.ts.map +1 -0
- package/dist/types/project.d.ts +61 -11
- package/dist/types/project.d.ts.map +1 -1
- package/dist/types/proposal.d.ts +1161 -0
- package/dist/types/proposal.d.ts.map +1 -0
- package/dist/types/quote/index.d.ts +97 -0
- package/dist/types/quote/index.d.ts.map +1 -0
- package/dist/types/quote/v3.d.ts +78 -0
- package/dist/types/quote/v3.d.ts.map +1 -0
- package/dist/types/quote/v4.d.ts +95 -0
- package/dist/types/quote/v4.d.ts.map +1 -0
- package/dist/types/stake.d.ts +41 -87
- package/dist/types/stake.d.ts.map +1 -1
- package/dist/types/treasury.d.ts +16 -0
- package/dist/types/treasury.d.ts.map +1 -0
- package/dist/types/types.d.ts +15 -0
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/usd-price.d.ts +141 -0
- package/dist/types/usd-price.d.ts.map +1 -0
- package/dist/types/user.d.ts +188 -0
- package/dist/types/user.d.ts.map +1 -0
- package/dist/types/util.d.ts +17 -0
- package/dist/types/util.d.ts.map +1 -1
- package/package.json +5 -2
- package/dist/esm/client/hook/use-balance.js +0 -56
- package/dist/esm/client/hook/use-balance.js.map +0 -1
- package/dist/esm/client/hook/use-projects.js +0 -22
- package/dist/esm/client/hook/use-projects.js.map +0 -1
- package/dist/esm/client/hook/use-proposals.js +0 -31
- package/dist/esm/client/hook/use-proposals.js.map +0 -1
- package/dist/esm/projects.js +0 -212
- package/dist/esm/projects.js.map +0 -1
- package/dist/esm/proposals.js +0 -98
- package/dist/esm/proposals.js.map +0 -1
- package/dist/esm/quote-v4.js +0 -169
- package/dist/esm/quote-v4.js.map +0 -1
- package/dist/types/client/hook/use-balance.d.ts +0 -18
- package/dist/types/client/hook/use-balance.d.ts.map +0 -1
- package/dist/types/client/hook/use-projects.d.ts +0 -6
- package/dist/types/client/hook/use-projects.d.ts.map +0 -1
- package/dist/types/client/hook/use-proposals.d.ts +0 -16
- package/dist/types/client/hook/use-proposals.d.ts.map +0 -1
- package/dist/types/projects.d.ts +0 -20
- package/dist/types/projects.d.ts.map +0 -1
- package/dist/types/proposals.d.ts +0 -20
- package/dist/types/proposals.d.ts.map +0 -1
- package/dist/types/quote-v4.d.ts +0 -54
- package/dist/types/quote-v4.d.ts.map +0 -1
|
@@ -2,14 +2,18 @@ import { useLevrContext } from "../levr-provider.js";
|
|
|
2
2
|
// ========================================
|
|
3
3
|
// SIMPLE CONTEXT ACCESSORS (one-liner exports)
|
|
4
4
|
// ========================================
|
|
5
|
+
/**
|
|
6
|
+
* Hook to access user data from LevrProvider (hierarchical)
|
|
7
|
+
*/
|
|
8
|
+
export const useUser = () => useLevrContext().user;
|
|
5
9
|
/**
|
|
6
10
|
* Hook to access project data from LevrProvider
|
|
7
11
|
*/
|
|
8
12
|
export const useProject = () => useLevrContext().project;
|
|
9
13
|
/**
|
|
10
|
-
* Hook to access
|
|
14
|
+
* Hook to access pool data from LevrProvider
|
|
11
15
|
*/
|
|
12
|
-
export const
|
|
16
|
+
export const usePool = () => useLevrContext().pool;
|
|
13
17
|
/**
|
|
14
18
|
* Hook to access proposals from LevrProvider
|
|
15
19
|
*/
|
|
@@ -27,10 +31,17 @@ export * from "./use-governance.js";
|
|
|
27
31
|
export * from "./use-stake.js";
|
|
28
32
|
export * from "./use-swap.js";
|
|
29
33
|
// ========================================
|
|
34
|
+
// INTERNAL HOOKS (used by LevrProvider)
|
|
35
|
+
// ========================================
|
|
36
|
+
export { usePoolQuery } from "./use-pool.js";
|
|
37
|
+
export { useProposalsQuery } from "./use-proposal.js";
|
|
38
|
+
export { useUserQuery } from "./use-user.js";
|
|
39
|
+
// ========================================
|
|
30
40
|
// OTHER HOOKS (not part of Levr context)
|
|
31
41
|
// ========================================
|
|
32
42
|
export * from "./use-deploy.js";
|
|
33
43
|
export * from "./use-prepare.js";
|
|
34
|
-
export * from "./use-
|
|
44
|
+
export * from "./use-project.js";
|
|
45
|
+
export { useProposal } from "./use-proposal.js";
|
|
35
46
|
export * from "./use-register.js";
|
|
36
47
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/client/hook/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,2CAA2C;AAC3C,+CAA+C;AAC/C,2CAA2C;AAE3C;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,OAAO,CAAA;AAExD;;GAEG;AACH,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/client/hook/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,2CAA2C;AAC3C,+CAA+C;AAC/C,2CAA2C;AAE3C;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,IAAI,CAAA;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,OAAO,CAAA;AAExD;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,IAAI,CAAA;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,SAAS,CAAA;AAE5D;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,SAAS,CAAA;AAE/D,2CAA2C;AAC3C,2CAA2C;AAC3C,2CAA2C;AAE3C,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAE1B,2CAA2C;AAC3C,wCAAwC;AACxC,2CAA2C;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,2CAA2C;AAC3C,yCAAyC;AACzC,2CAA2C;AAE3C,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,cAAc,gBAAgB,CAAA"}
|
|
@@ -1,35 +1,14 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { useMutation
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { useMutation } from "@tanstack/react-query";
|
|
3
|
+
import { usePublicClient, useWalletClient } from "wagmi";
|
|
4
|
+
import { updateFeeReceiver } from "../../fee-receivers.js";
|
|
5
5
|
import { useLevrContext } from "../levr-provider.js";
|
|
6
|
-
import { queryKeys } from "../query-keys.js";
|
|
7
6
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* Hook to access fee receivers and update mutations
|
|
8
|
+
* Fee receivers come from project.feeReceivers (with areYouAnAdmin already calculated)
|
|
10
9
|
*/
|
|
11
|
-
export function
|
|
12
|
-
const
|
|
13
|
-
const chainId = useChainId();
|
|
14
|
-
const { address: userAddress } = useAccount();
|
|
15
|
-
return useQuery({
|
|
16
|
-
queryKey: queryKeys.feeReceivers(clankerToken, userAddress, chainId),
|
|
17
|
-
queryFn: () => feeReceivers({
|
|
18
|
-
publicClient: publicClient,
|
|
19
|
-
clankerToken: clankerToken,
|
|
20
|
-
chainId: chainId,
|
|
21
|
-
userAddress,
|
|
22
|
-
}),
|
|
23
|
-
enabled: e && !!publicClient && !!chainId && !!clankerToken,
|
|
24
|
-
staleTime: 15000,
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Hook to access fee receivers query and mutations
|
|
29
|
-
* Returns both query data and mutation function
|
|
30
|
-
*/
|
|
31
|
-
export function useFeeReceivers({ clankerToken: _clankerToken, enabled: _e = true, onSuccess, onError, } = {}) {
|
|
32
|
-
const { feeReceivers: query, refetch } = useLevrContext();
|
|
10
|
+
export function useFeeReceivers({ onSuccess, onError } = {}) {
|
|
11
|
+
const { project, refetch } = useLevrContext();
|
|
33
12
|
const publicClient = usePublicClient();
|
|
34
13
|
const wallet = useWalletClient();
|
|
35
14
|
const chainId = publicClient?.chain?.id;
|
|
@@ -42,13 +21,15 @@ export function useFeeReceivers({ clankerToken: _clankerToken, enabled: _e = tru
|
|
|
42
21
|
newRecipient: params.newRecipient,
|
|
43
22
|
}),
|
|
44
23
|
onSuccess: async (hash) => {
|
|
45
|
-
await refetch.
|
|
24
|
+
await refetch.project(); // Refetch project to update fee receivers
|
|
46
25
|
onSuccess?.(hash);
|
|
47
26
|
},
|
|
48
27
|
onError: onError,
|
|
49
28
|
});
|
|
50
29
|
return {
|
|
51
|
-
|
|
30
|
+
data: project.data?.feeReceivers, // Already has areYouAnAdmin calculated!
|
|
31
|
+
isLoading: project.isLoading,
|
|
32
|
+
error: project.error,
|
|
52
33
|
mutate,
|
|
53
34
|
};
|
|
54
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-fee-receivers.js","sourceRoot":"","sources":["../../../../src/client/hook/use-fee-receivers.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"use-fee-receivers.js","sourceRoot":"","sources":["../../../../src/client/hook/use-fee-receivers.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AAGxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAcjD;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,EAAE,SAAS,EAAE,OAAO,KAA4B,EAAE;IAChF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAA;IAC7C,MAAM,YAAY,GAAG,eAAe,EAAE,CAAA;IACtC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;IAChC,MAAM,OAAO,GAAG,YAAY,EAAE,KAAK,EAAE,EAAE,CAAA;IAEvC,MAAM,MAAM,GAAG,WAAW,CAAC;QACzB,UAAU,EAAE,CAAC,MAAiE,EAAE,EAAE,CAChF,iBAAiB,CAAC;YAChB,YAAY,EAAE,MAAM,CAAC,IAAK;YAC1B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,OAAO,EAAE,OAAQ;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC;QACJ,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA,CAAC,0CAA0C;YAClE,SAAS,EAAE,CAAC,IAAI,CAAC,CAAA;QACnB,CAAC;QACD,OAAO,EAAE,OAAO;KACjB,CAAC,CAAA;IAEF,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,wCAAwC;QAC1E,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM;KACP,CAAA;AACH,CAAC"}
|
|
@@ -1,202 +1,29 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { useMutation
|
|
2
|
+
import { useMutation } from "@tanstack/react-query";
|
|
3
3
|
import { useMemo } from "react";
|
|
4
4
|
import { parseUnits } from "viem";
|
|
5
5
|
import { usePublicClient, useWalletClient } from "wagmi";
|
|
6
6
|
import { Governance } from "../../governance.js";
|
|
7
7
|
import { useLevrContext } from "../levr-provider.js";
|
|
8
|
-
import { queryKeys } from "../query-keys.js";
|
|
9
8
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* Hook for managing governance operations
|
|
10
|
+
* All data comes from context (user, project)
|
|
12
11
|
*/
|
|
13
|
-
export function
|
|
12
|
+
export function useGovernance({ proposalId, cycleId, userAddress, onProposeTransferSuccess, onProposeTransferError, onProposeBoostSuccess, onProposeBoostError, onVoteSuccess, onVoteError, onExecuteProposalSuccess, onExecuteProposalError, onClaimAirdropSuccess, onClaimAirdropError, } = {}) {
|
|
13
|
+
const { project, refetch } = useLevrContext();
|
|
14
14
|
const wallet = useWalletClient();
|
|
15
15
|
const publicClient = usePublicClient();
|
|
16
|
-
// Create Governance instance
|
|
16
|
+
// Create Governance instance (all params from project context)
|
|
17
17
|
const governance = useMemo(() => {
|
|
18
|
-
if (!wallet.data || !publicClient || !
|
|
18
|
+
if (!wallet.data || !publicClient || !project.data) {
|
|
19
19
|
return null;
|
|
20
20
|
}
|
|
21
21
|
return new Governance({
|
|
22
22
|
wallet: wallet.data,
|
|
23
23
|
publicClient,
|
|
24
|
-
|
|
25
|
-
tokenDecimals: projectData.token.decimals,
|
|
26
|
-
clankerToken,
|
|
24
|
+
project: project.data,
|
|
27
25
|
});
|
|
28
|
-
}, [wallet.data, publicClient,
|
|
29
|
-
const currentCycleId = useQuery({
|
|
30
|
-
queryKey: queryKeys.governance.currentCycleId(projectData?.governor),
|
|
31
|
-
queryFn: async () => {
|
|
32
|
-
if (!governance)
|
|
33
|
-
throw new Error("Governance not initialized");
|
|
34
|
-
return await governance.getCurrentCycleId();
|
|
35
|
-
},
|
|
36
|
-
enabled: e && !!governance && !!projectData,
|
|
37
|
-
retry: 1,
|
|
38
|
-
});
|
|
39
|
-
const addresses = useQuery({
|
|
40
|
-
queryKey: queryKeys.governance.addresses(projectData?.governor),
|
|
41
|
-
queryFn: async () => {
|
|
42
|
-
if (!governance)
|
|
43
|
-
throw new Error("Governance not initialized");
|
|
44
|
-
const [treasury, factory, stakedToken] = await Promise.all([
|
|
45
|
-
governance.getTreasury(),
|
|
46
|
-
governance.getFactory(),
|
|
47
|
-
governance.getStakedToken(),
|
|
48
|
-
]);
|
|
49
|
-
return { treasury, factory, stakedToken };
|
|
50
|
-
},
|
|
51
|
-
enabled: e && !!governance && !!projectData,
|
|
52
|
-
retry: 1,
|
|
53
|
-
});
|
|
54
|
-
const airdropStatus = useQuery({
|
|
55
|
-
queryKey: queryKeys.governance.airdropStatus(projectData?.governor, clankerToken),
|
|
56
|
-
queryFn: async () => {
|
|
57
|
-
if (!governance)
|
|
58
|
-
throw new Error("Governance not initialized");
|
|
59
|
-
return await governance.getAirdropStatus();
|
|
60
|
-
},
|
|
61
|
-
enabled: e && !!governance && !!projectData && !!clankerToken,
|
|
62
|
-
retry: 1,
|
|
63
|
-
refetchInterval: 30000,
|
|
64
|
-
});
|
|
65
|
-
return {
|
|
66
|
-
currentCycleId,
|
|
67
|
-
addresses,
|
|
68
|
-
airdropStatus,
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Hook for managing governance operations
|
|
73
|
-
* Global queries from LevrProvider, dynamic queries created per-component
|
|
74
|
-
*/
|
|
75
|
-
export function useGovernance({ governorAddress, clankerToken: _clankerToken, tokenDecimals = 18, enabled = true, proposalId, cycleId, userAddress, onProposeTransferSuccess, onProposeTransferError, onProposeBoostSuccess, onProposeBoostError, onVoteSuccess, onVoteError, onExecuteProposalSuccess, onExecuteProposalError, onClaimAirdropSuccess, onClaimAirdropError, }) {
|
|
76
|
-
const { governance: governanceQueries, refetch, clankerToken } = useLevrContext();
|
|
77
|
-
const wallet = useWalletClient();
|
|
78
|
-
const publicClient = usePublicClient();
|
|
79
|
-
// Create governance instance for mutations
|
|
80
|
-
const governance = wallet.data && publicClient && clankerToken
|
|
81
|
-
? new Governance({
|
|
82
|
-
wallet: wallet.data,
|
|
83
|
-
publicClient,
|
|
84
|
-
governorAddress,
|
|
85
|
-
tokenDecimals,
|
|
86
|
-
clankerToken,
|
|
87
|
-
})
|
|
88
|
-
: null;
|
|
89
|
-
// Global queries from context
|
|
90
|
-
const currentCycleId = governanceQueries.currentCycleId;
|
|
91
|
-
const addresses = governanceQueries.addresses;
|
|
92
|
-
const airdropStatus = governanceQueries.airdropStatus;
|
|
93
|
-
// Dynamic queries (component-specific)
|
|
94
|
-
const proposal = useQuery({
|
|
95
|
-
queryKey: queryKeys.governance.proposal(governorAddress, proposalId?.toString()),
|
|
96
|
-
queryFn: async () => {
|
|
97
|
-
if (!governance || !proposalId)
|
|
98
|
-
throw new Error("Governance not initialized or no proposal ID");
|
|
99
|
-
return await governance.getProposal(proposalId);
|
|
100
|
-
},
|
|
101
|
-
enabled: enabled && !!governance && proposalId !== undefined,
|
|
102
|
-
retry: 1,
|
|
103
|
-
});
|
|
104
|
-
const proposalsForCycle = useQuery({
|
|
105
|
-
queryKey: queryKeys.governance.proposalsForCycle(governorAddress, cycleId?.toString()),
|
|
106
|
-
queryFn: async () => {
|
|
107
|
-
if (!governance || cycleId === undefined)
|
|
108
|
-
throw new Error("Governance not initialized or no cycle ID");
|
|
109
|
-
return await governance.getProposalsForCycle(cycleId);
|
|
110
|
-
},
|
|
111
|
-
enabled: enabled && !!governance && cycleId !== undefined,
|
|
112
|
-
retry: 1,
|
|
113
|
-
});
|
|
114
|
-
const winner = useQuery({
|
|
115
|
-
queryKey: queryKeys.governance.winner(governorAddress, cycleId?.toString()),
|
|
116
|
-
queryFn: async () => {
|
|
117
|
-
if (!governance || cycleId === undefined)
|
|
118
|
-
throw new Error("Governance not initialized or no cycle ID");
|
|
119
|
-
return await governance.getWinner(cycleId);
|
|
120
|
-
},
|
|
121
|
-
enabled: enabled && !!governance && cycleId !== undefined,
|
|
122
|
-
retry: 1,
|
|
123
|
-
});
|
|
124
|
-
const voteReceipt = useQuery({
|
|
125
|
-
queryKey: [
|
|
126
|
-
"governance",
|
|
127
|
-
"voteReceipt",
|
|
128
|
-
governorAddress,
|
|
129
|
-
proposalId?.toString(),
|
|
130
|
-
userAddress || wallet.data?.account.address,
|
|
131
|
-
],
|
|
132
|
-
queryFn: async () => {
|
|
133
|
-
if (!governance || !proposalId)
|
|
134
|
-
throw new Error("Governance not initialized or no proposal ID");
|
|
135
|
-
return await governance.getVoteReceipt(proposalId, userAddress);
|
|
136
|
-
},
|
|
137
|
-
enabled: enabled && !!governance && proposalId !== undefined,
|
|
138
|
-
retry: 1,
|
|
139
|
-
});
|
|
140
|
-
const votingPowerSnapshot = useQuery({
|
|
141
|
-
queryKey: [
|
|
142
|
-
"governance",
|
|
143
|
-
"votingPowerSnapshot",
|
|
144
|
-
governorAddress,
|
|
145
|
-
proposalId?.toString(),
|
|
146
|
-
userAddress || wallet.data?.account.address,
|
|
147
|
-
],
|
|
148
|
-
queryFn: async () => {
|
|
149
|
-
if (!governance || !proposalId)
|
|
150
|
-
throw new Error("Governance not initialized or no proposal ID");
|
|
151
|
-
return await governance.getVotingPowerSnapshot(proposalId, userAddress);
|
|
152
|
-
},
|
|
153
|
-
enabled: enabled && !!governance && proposalId !== undefined,
|
|
154
|
-
retry: 1,
|
|
155
|
-
});
|
|
156
|
-
const meetsQuorum = useQuery({
|
|
157
|
-
queryKey: ["governance", "meetsQuorum", governorAddress, proposalId?.toString()],
|
|
158
|
-
queryFn: async () => {
|
|
159
|
-
if (!governance || !proposalId)
|
|
160
|
-
throw new Error("Governance not initialized or no proposal ID");
|
|
161
|
-
return await governance.meetsQuorum(proposalId);
|
|
162
|
-
},
|
|
163
|
-
enabled: enabled && !!governance && proposalId !== undefined,
|
|
164
|
-
retry: 1,
|
|
165
|
-
});
|
|
166
|
-
const meetsApproval = useQuery({
|
|
167
|
-
queryKey: ["governance", "meetsApproval", governorAddress, proposalId?.toString()],
|
|
168
|
-
queryFn: async () => {
|
|
169
|
-
if (!governance || !proposalId)
|
|
170
|
-
throw new Error("Governance not initialized or no proposal ID");
|
|
171
|
-
return await governance.meetsApproval(proposalId);
|
|
172
|
-
},
|
|
173
|
-
enabled: enabled && !!governance && proposalId !== undefined,
|
|
174
|
-
retry: 1,
|
|
175
|
-
});
|
|
176
|
-
const proposalState = useQuery({
|
|
177
|
-
queryKey: ["governance", "proposalState", governorAddress, proposalId?.toString()],
|
|
178
|
-
queryFn: async () => {
|
|
179
|
-
if (!governance || !proposalId)
|
|
180
|
-
throw new Error("Governance not initialized or no proposal ID");
|
|
181
|
-
return await governance.getProposalState(proposalId);
|
|
182
|
-
},
|
|
183
|
-
enabled: enabled && !!governance && proposalId !== undefined,
|
|
184
|
-
retry: 1,
|
|
185
|
-
});
|
|
186
|
-
const activeProposalCount = useQuery({
|
|
187
|
-
queryKey: ["governance", "activeProposalCount", governorAddress],
|
|
188
|
-
queryFn: async () => {
|
|
189
|
-
if (!governance)
|
|
190
|
-
throw new Error("Governance not initialized");
|
|
191
|
-
const [boostCount, transferCount] = await Promise.all([
|
|
192
|
-
governance.getActiveProposalCount(0),
|
|
193
|
-
governance.getActiveProposalCount(1),
|
|
194
|
-
]);
|
|
195
|
-
return { boost: boostCount, transfer: transferCount };
|
|
196
|
-
},
|
|
197
|
-
enabled: enabled && !!governance,
|
|
198
|
-
retry: 1,
|
|
199
|
-
});
|
|
26
|
+
}, [wallet.data, publicClient, project.data]);
|
|
200
27
|
// Mutations
|
|
201
28
|
const vote = useMutation({
|
|
202
29
|
mutationFn: async ({ proposalId, support, }) => {
|
|
@@ -207,7 +34,7 @@ export function useGovernance({ governorAddress, clankerToken: _clankerToken, to
|
|
|
207
34
|
return await governance.vote(proposalId, support);
|
|
208
35
|
},
|
|
209
36
|
onSuccess: async (receipt) => {
|
|
210
|
-
await refetch.
|
|
37
|
+
await refetch.afterVote();
|
|
211
38
|
onVoteSuccess?.(receipt);
|
|
212
39
|
},
|
|
213
40
|
onError: onVoteError,
|
|
@@ -223,7 +50,7 @@ export function useGovernance({ governorAddress, clankerToken: _clankerToken, to
|
|
|
223
50
|
return result;
|
|
224
51
|
},
|
|
225
52
|
onSuccess: async (result) => {
|
|
226
|
-
await refetch.
|
|
53
|
+
await refetch.afterProposal();
|
|
227
54
|
onProposeTransferSuccess?.(result.receipt, result.proposalId);
|
|
228
55
|
},
|
|
229
56
|
onError: onProposeTransferError,
|
|
@@ -239,7 +66,7 @@ export function useGovernance({ governorAddress, clankerToken: _clankerToken, to
|
|
|
239
66
|
return result;
|
|
240
67
|
},
|
|
241
68
|
onSuccess: async (result) => {
|
|
242
|
-
await refetch.
|
|
69
|
+
await refetch.afterProposal();
|
|
243
70
|
onProposeBoostSuccess?.(result.receipt, result.proposalId);
|
|
244
71
|
},
|
|
245
72
|
onError: onProposeBoostError,
|
|
@@ -254,7 +81,7 @@ export function useGovernance({ governorAddress, clankerToken: _clankerToken, to
|
|
|
254
81
|
return receipt;
|
|
255
82
|
},
|
|
256
83
|
onSuccess: async (receipt) => {
|
|
257
|
-
await refetch.
|
|
84
|
+
await refetch.afterExecute();
|
|
258
85
|
onExecuteProposalSuccess?.(receipt);
|
|
259
86
|
},
|
|
260
87
|
onError: onExecuteProposalError,
|
|
@@ -268,119 +95,38 @@ export function useGovernance({ governorAddress, clankerToken: _clankerToken, to
|
|
|
268
95
|
return await governance.claimAirdrop();
|
|
269
96
|
},
|
|
270
97
|
onSuccess: async (receipt) => {
|
|
271
|
-
await refetch.
|
|
98
|
+
await refetch.afterAirdrop();
|
|
272
99
|
onClaimAirdropSuccess?.(receipt);
|
|
273
100
|
},
|
|
274
101
|
onError: onClaimAirdropError,
|
|
275
102
|
});
|
|
276
|
-
const proposeAndExecuteTransfer = useMutation({
|
|
277
|
-
mutationFn: async (config) => {
|
|
278
|
-
if (!governance)
|
|
279
|
-
throw new Error("Governance not initialized");
|
|
280
|
-
const amountBigInt = parseUnits(config.amount, config.amountDecimals);
|
|
281
|
-
const result = await governance.proposeAndExecuteTransfer(config.recipient, amountBigInt, config.description);
|
|
282
|
-
return result;
|
|
283
|
-
},
|
|
284
|
-
onSuccess: async () => {
|
|
285
|
-
await refetch.afterGovernance();
|
|
286
|
-
},
|
|
287
|
-
});
|
|
288
|
-
const proposeAndExecuteBoost = useMutation({
|
|
289
|
-
mutationFn: async (config) => {
|
|
290
|
-
if (!governance)
|
|
291
|
-
throw new Error("Governance not initialized");
|
|
292
|
-
const amountBigInt = parseUnits(config.amount, config.amountDecimals);
|
|
293
|
-
const result = await governance.proposeAndExecuteBoost(amountBigInt);
|
|
294
|
-
return result;
|
|
295
|
-
},
|
|
296
|
-
onSuccess: async () => {
|
|
297
|
-
await refetch.afterGovernance();
|
|
298
|
-
},
|
|
299
|
-
});
|
|
300
103
|
// Helpers
|
|
301
|
-
const buildProposeTransferConfig = ({ recipient, amount, amountDecimals
|
|
104
|
+
const buildProposeTransferConfig = ({ recipient, amount, amountDecimals, description, }) => ({
|
|
302
105
|
recipient,
|
|
303
106
|
amount: amount.toString(),
|
|
304
|
-
amountDecimals,
|
|
107
|
+
amountDecimals: amountDecimals ?? project.data?.token.decimals ?? 18,
|
|
305
108
|
description,
|
|
306
109
|
});
|
|
307
|
-
const buildProposeBoostConfig = ({ amount, amountDecimals
|
|
110
|
+
const buildProposeBoostConfig = ({ amount, amountDecimals, }) => ({
|
|
308
111
|
amount: amount.toString(),
|
|
309
|
-
amountDecimals,
|
|
112
|
+
amountDecimals: amountDecimals ?? project.data?.token.decimals ?? 18,
|
|
310
113
|
});
|
|
311
114
|
const buildExecuteProposalConfig = ({ proposalId, }) => ({
|
|
312
115
|
proposalId,
|
|
313
116
|
});
|
|
314
117
|
return {
|
|
315
|
-
//
|
|
118
|
+
// Mutations
|
|
316
119
|
proposeTransfer,
|
|
317
120
|
proposeBoost,
|
|
318
121
|
vote,
|
|
319
122
|
executeProposal,
|
|
320
123
|
claimAirdrop,
|
|
321
|
-
// Convenience mutations
|
|
322
|
-
proposeAndExecuteTransfer,
|
|
323
|
-
proposeAndExecuteBoost,
|
|
324
|
-
// Queries
|
|
325
|
-
proposal,
|
|
326
|
-
currentCycleId,
|
|
327
|
-
addresses,
|
|
328
|
-
airdropStatus,
|
|
329
|
-
proposalsForCycle,
|
|
330
|
-
winner,
|
|
331
|
-
voteReceipt,
|
|
332
|
-
votingPowerSnapshot,
|
|
333
|
-
meetsQuorum,
|
|
334
|
-
meetsApproval,
|
|
335
|
-
proposalState,
|
|
336
|
-
activeProposalCount,
|
|
337
|
-
// Convenience accessors - proposal data
|
|
338
|
-
proposalData: proposal.data,
|
|
339
|
-
proposalDescription: proposal.data?.description,
|
|
340
|
-
// Convenience accessors - cycle data
|
|
341
|
-
currentCycleIdValue: currentCycleId.data,
|
|
342
|
-
cycleProposals: proposalsForCycle.data,
|
|
343
|
-
winnerProposalId: winner.data,
|
|
344
|
-
// Convenience accessors - vote data
|
|
345
|
-
hasVoted: voteReceipt.data?.hasVoted ?? false,
|
|
346
|
-
voteSupport: voteReceipt.data?.support,
|
|
347
|
-
votesUsed: voteReceipt.data?.votes,
|
|
348
|
-
userVotingPower: votingPowerSnapshot.data,
|
|
349
|
-
// Convenience accessors - proposal status
|
|
350
|
-
proposalMeetsQuorum: meetsQuorum.data ?? false,
|
|
351
|
-
proposalMeetsApproval: meetsApproval.data ?? false,
|
|
352
|
-
proposalStateValue: proposalState.data,
|
|
353
|
-
// Convenience accessors - active counts
|
|
354
|
-
activeBoostProposals: activeProposalCount.data?.boost,
|
|
355
|
-
activeTransferProposals: activeProposalCount.data?.transfer,
|
|
356
|
-
// Convenience accessors - addresses
|
|
357
|
-
treasuryAddress: addresses.data?.treasury,
|
|
358
|
-
factoryAddress: addresses.data?.factory,
|
|
359
|
-
stakedTokenAddress: addresses.data?.stakedToken,
|
|
360
|
-
// Convenience accessors - airdrop
|
|
361
|
-
airdropStatusData: airdropStatus.data,
|
|
362
|
-
availableAirdropAmount: airdropStatus.data?.availableAmount,
|
|
363
|
-
airdropAllocatedAmount: airdropStatus.data?.allocatedAmount,
|
|
364
|
-
isAirdropAvailable: airdropStatus.data?.isAvailable ?? false,
|
|
365
|
-
airdropError: airdropStatus.data?.error,
|
|
366
124
|
// Helpers
|
|
367
125
|
buildProposeTransferConfig,
|
|
368
126
|
buildProposeBoostConfig,
|
|
369
127
|
buildExecuteProposalConfig,
|
|
370
|
-
//
|
|
128
|
+
// Loading states
|
|
371
129
|
isReady: !!governance && !!wallet.data,
|
|
372
|
-
isLoading: proposal.isLoading ||
|
|
373
|
-
currentCycleId.isLoading ||
|
|
374
|
-
addresses.isLoading ||
|
|
375
|
-
airdropStatus.isLoading ||
|
|
376
|
-
proposalsForCycle.isLoading ||
|
|
377
|
-
winner.isLoading ||
|
|
378
|
-
voteReceipt.isLoading ||
|
|
379
|
-
votingPowerSnapshot.isLoading ||
|
|
380
|
-
meetsQuorum.isLoading ||
|
|
381
|
-
meetsApproval.isLoading ||
|
|
382
|
-
proposalState.isLoading ||
|
|
383
|
-
activeProposalCount.isLoading,
|
|
384
130
|
isProposing: proposeTransfer.isPending || proposeBoost.isPending,
|
|
385
131
|
isVoting: vote.isPending,
|
|
386
132
|
isExecuting: executeProposal.isPending,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-governance.js","sourceRoot":"","sources":["../../../../src/client/hook/use-governance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-governance.js","sourceRoot":"","sources":["../../../../src/client/hook/use-governance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useQuery } from "@tanstack/react-query";
|
|
3
|
+
import { usePublicClient } from "wagmi";
|
|
4
|
+
import { pool } from "../../pool.js";
|
|
5
|
+
import { queryKeys } from "../query-keys.js";
|
|
6
|
+
/**
|
|
7
|
+
* Internal: Creates pool query with pool-specific data
|
|
8
|
+
* Used by LevrProvider
|
|
9
|
+
*/
|
|
10
|
+
export function usePoolQuery({ project: projectData, enabled: e = true }) {
|
|
11
|
+
const publicClient = usePublicClient();
|
|
12
|
+
return useQuery({
|
|
13
|
+
queryKey: queryKeys.pool(projectData?.pool?.poolKey),
|
|
14
|
+
queryFn: async () => {
|
|
15
|
+
if (!projectData)
|
|
16
|
+
return null;
|
|
17
|
+
return pool({
|
|
18
|
+
publicClient: publicClient,
|
|
19
|
+
project: projectData,
|
|
20
|
+
});
|
|
21
|
+
},
|
|
22
|
+
enabled: e && !!publicClient && !!projectData?.pool?.poolKey,
|
|
23
|
+
staleTime: 30000, // Pool data changes less frequently
|
|
24
|
+
refetchInterval: 30000,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-pool.js","sourceRoot":"","sources":["../../../../src/client/hook/use-pool.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AAGvC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAOzC;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAsB;IAC1F,MAAM,YAAY,GAAG,eAAe,EAAE,CAAA;IAEtC,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC;QACpD,OAAO,EAAE,KAAK,IAA8B,EAAE;YAC5C,IAAI,CAAC,WAAW;gBAAE,OAAO,IAAI,CAAA;YAE7B,OAAO,IAAI,CAAC;gBACV,YAAY,EAAE,YAAa;gBAC3B,OAAO,EAAE,WAAW;aACrB,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO;QAC5D,SAAS,EAAE,MAAM,EAAE,oCAAoC;QACvD,eAAe,EAAE,MAAM;KACxB,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { useMutation } from "@tanstack/react-query";
|
|
3
3
|
import { decodeFunctionResult } from "viem";
|
|
4
4
|
import { usePublicClient, useWalletClient } from "wagmi";
|
|
5
|
+
import { GET_FACTORY_ADDRESS } from "../../index.js";
|
|
5
6
|
import { LevrFactory_v1 } from "../../abis/index.js";
|
|
6
7
|
/**
|
|
7
8
|
* Prepares a project for the Levr factory registration.
|
|
@@ -9,15 +10,17 @@ import { LevrFactory_v1 } from "../../abis/index.js";
|
|
|
9
10
|
* @param options - The options for the prepare mutation.
|
|
10
11
|
* @returns The hash of the transaction.
|
|
11
12
|
*/
|
|
12
|
-
export function usePrepare({
|
|
13
|
+
export function usePrepare({ onSuccess, onError }) {
|
|
13
14
|
const wallet = useWalletClient();
|
|
14
15
|
const publicClient = usePublicClient();
|
|
16
|
+
const chainId = publicClient?.chain?.id;
|
|
15
17
|
return useMutation({
|
|
16
18
|
mutationFn: async () => {
|
|
19
|
+
const factoryAddress = GET_FACTORY_ADDRESS(chainId);
|
|
20
|
+
if (!factoryAddress)
|
|
21
|
+
throw new Error("Factory address is not found");
|
|
17
22
|
if (!wallet.data)
|
|
18
23
|
throw new Error("Wallet is not connected");
|
|
19
|
-
if (!factoryAddress)
|
|
20
|
-
throw new Error("Factory address is required");
|
|
21
24
|
const hash = await wallet.data.writeContract({
|
|
22
25
|
address: factoryAddress,
|
|
23
26
|
abi: LevrFactory_v1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-prepare.js","sourceRoot":"","sources":["../../../../src/client/hook/use-prepare.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,MAAM,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"use-prepare.js","sourceRoot":"","sources":["../../../../src/client/hook/use-prepare.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,MAAM,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAW3C;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,EAAE,SAAS,EAAE,OAAO,EAAoB;IACjE,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;IAChC,MAAM,YAAY,GAAG,eAAe,EAAE,CAAA;IACtC,MAAM,OAAO,GAAG,YAAY,EAAE,KAAK,EAAE,EAAE,CAAA;IAEvC,OAAO,WAAW,CAAC;QACjB,UAAU,EAAE,KAAK,IAAI,EAAE;YACrB,MAAM,cAAc,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;YACnD,IAAI,CAAC,cAAc;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;YACpE,IAAI,CAAC,MAAM,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;YAE5D,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;gBAC3C,OAAO,EAAE,cAAc;gBACvB,GAAG,EAAE,cAAc;gBACnB,YAAY,EAAE,sBAAsB;aACrC,CAAC,CAAA;YAEF,MAAM,OAAO,GAAG,MAAM,YAAY,EAAE,yBAAyB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;YACvE,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAElC,IAAI,QAAmC,CAAA;YACvC,IAAI,OAAkC,CAAA;YAEtC,IAAI,IAAI,EAAE,CAAC;gBACT,CAAC;gBAAA,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,oBAAoB,CAAC;oBAC1C,GAAG,EAAE,cAAc;oBACnB,YAAY,EAAE,sBAAsB;oBACpC,IAAI;iBACL,CAAC,CAAA;YACJ,CAAC;YAED,OAAO;gBACL,IAAI;gBACJ,QAAQ;gBACR,OAAO;aACR,CAAA;QACH,CAAC;QACD,SAAS;QACT,OAAO;KACR,CAAC,CAAA;AACJ,CAAC"}
|