levr-sdk 0.0.2 → 0.1.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 +256 -235
- 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/balance.js +19 -1
- 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 -29
- package/dist/esm/client/hook/use-fee-receivers.js.map +1 -1
- package/dist/esm/client/hook/use-governance.js +19 -254
- 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 +24 -9
- 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 -195
- package/dist/esm/client/hook/use-stake.js.map +1 -1
- package/dist/esm/client/hook/use-swap.js +9 -13
- 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 +65 -107
- package/dist/esm/client/levr-provider.js.map +1 -1
- package/dist/esm/client/query-keys.js +9 -21
- package/dist/esm/client/query-keys.js.map +1 -1
- package/dist/esm/constants.js +1 -1
- package/dist/esm/fee-receivers.js +25 -13
- package/dist/esm/fee-receivers.js.map +1 -1
- package/dist/esm/governance.js +35 -414
- package/dist/esm/governance.js.map +1 -1
- package/dist/esm/index.js +4 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/pool.js +70 -0
- package/dist/esm/pool.js.map +1 -0
- package/dist/esm/project.js +389 -135
- 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 +2 -2
- package/dist/esm/quote/index.js.map +1 -1
- package/dist/esm/stake.js +34 -299
- 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/user.js +153 -0
- package/dist/esm/user.js.map +1 -0
- 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/balance.d.ts +15 -0
- package/dist/types/balance.d.ts.map +1 -1
- package/dist/types/client/hook/index.d.ts +11 -3
- 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 -98
- 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 +5 -0
- 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 -73
- package/dist/types/client/hook/use-stake.d.ts.map +1 -1
- package/dist/types/client/hook/use-swap.d.ts +3 -8
- 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 +30 -50
- package/dist/types/client/levr-provider.d.ts.map +1 -1
- package/dist/types/client/query-keys.d.ts +13 -25
- package/dist/types/client/query-keys.d.ts.map +1 -1
- package/dist/types/fee-receivers.d.ts +28 -0
- package/dist/types/fee-receivers.d.ts.map +1 -1
- package/dist/types/governance.d.ts +5 -92
- package/dist/types/governance.d.ts.map +1 -1
- package/dist/types/index.d.ts +4 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/pool.d.ts +590 -0
- package/dist/types/pool.d.ts.map +1 -0
- package/dist/types/project.d.ts +56 -1
- 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 +2 -2
- package/dist/types/quote/index.d.ts.map +1 -1
- package/dist/types/stake.d.ts +16 -41
- 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/user.d.ts +188 -0
- package/dist/types/user.d.ts.map +1 -0
- package/package.json +5 -2
- package/dist/esm/client/hook/use-balance.js +0 -57
- 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 -29
- package/dist/esm/client/hook/use-proposals.js.map +0 -1
- package/dist/esm/projects.js +0 -184
- 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/types/client/hook/use-balance.d.ts +0 -20
- 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
|
@@ -1,34 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { ExecuteProposalConfig,
|
|
3
|
-
import type { Project } from '../../project';
|
|
4
|
-
export type UseGovernanceQueriesParams = {
|
|
5
|
-
clankerToken: Address | null;
|
|
6
|
-
projectData: Project | null | undefined;
|
|
7
|
-
enabled?: boolean;
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* Internal: Creates global governance queries with all logic
|
|
11
|
-
* Used by LevrProvider
|
|
12
|
-
*/
|
|
13
|
-
export declare function useGovernanceQueries({ clankerToken, projectData, enabled: e, }: UseGovernanceQueriesParams): {
|
|
14
|
-
currentCycleId: import("@tanstack/react-query").UseQueryResult<bigint, Error>;
|
|
15
|
-
addresses: import("@tanstack/react-query").UseQueryResult<{
|
|
16
|
-
treasury: `0x${string}`;
|
|
17
|
-
factory: `0x${string}`;
|
|
18
|
-
stakedToken: `0x${string}`;
|
|
19
|
-
}, Error>;
|
|
20
|
-
airdropStatus: import("@tanstack/react-query").UseQueryResult<{
|
|
21
|
-
availableAmount: import("../..").BalanceResult;
|
|
22
|
-
allocatedAmount: import("../..").BalanceResult;
|
|
23
|
-
isAvailable: boolean;
|
|
24
|
-
error?: string;
|
|
25
|
-
}, Error>;
|
|
26
|
-
};
|
|
1
|
+
import type { TransactionReceipt } from 'viem';
|
|
2
|
+
import type { ExecuteProposalConfig, ProposeBoostConfig, ProposeTransferConfig } from '../../governance';
|
|
27
3
|
export type UseGovernanceParams = {
|
|
28
|
-
governorAddress: `0x${string}`;
|
|
29
|
-
clankerToken: `0x${string}`;
|
|
30
|
-
tokenDecimals?: number;
|
|
31
|
-
enabled?: boolean;
|
|
32
4
|
proposalId?: number | bigint;
|
|
33
5
|
cycleId?: number | bigint;
|
|
34
6
|
userAddress?: `0x${string}`;
|
|
@@ -45,9 +17,9 @@ export type UseGovernanceParams = {
|
|
|
45
17
|
};
|
|
46
18
|
/**
|
|
47
19
|
* Hook for managing governance operations
|
|
48
|
-
*
|
|
20
|
+
* All data comes from context (user, project)
|
|
49
21
|
*/
|
|
50
|
-
export declare function useGovernance({
|
|
22
|
+
export declare function useGovernance({ proposalId, cycleId, userAddress, onProposeTransferSuccess, onProposeTransferError, onProposeBoostSuccess, onProposeBoostError, onVoteSuccess, onVoteError, onExecuteProposalSuccess, onExecuteProposalError, onClaimAirdropSuccess, onClaimAirdropError, }?: UseGovernanceParams): {
|
|
51
23
|
proposeTransfer: import("@tanstack/react-query").UseMutationResult<{
|
|
52
24
|
receipt: TransactionReceipt;
|
|
53
25
|
proposalId: bigint;
|
|
@@ -62,71 +34,6 @@ export declare function useGovernance({ governorAddress, clankerToken: _clankerT
|
|
|
62
34
|
}, unknown>;
|
|
63
35
|
executeProposal: import("@tanstack/react-query").UseMutationResult<TransactionReceipt, unknown, ExecuteProposalConfig, unknown>;
|
|
64
36
|
claimAirdrop: import("@tanstack/react-query").UseMutationResult<TransactionReceipt, unknown, void, unknown>;
|
|
65
|
-
proposeAndExecuteTransfer: import("@tanstack/react-query").UseMutationResult<{
|
|
66
|
-
proposeReceipt: TransactionReceipt;
|
|
67
|
-
executeReceipt: TransactionReceipt;
|
|
68
|
-
proposalId: bigint;
|
|
69
|
-
}, Error, ProposeTransferConfig, unknown>;
|
|
70
|
-
proposeAndExecuteBoost: import("@tanstack/react-query").UseMutationResult<{
|
|
71
|
-
proposeReceipt: TransactionReceipt;
|
|
72
|
-
executeReceipt: TransactionReceipt;
|
|
73
|
-
proposalId: bigint;
|
|
74
|
-
}, Error, ProposeBoostConfig, unknown>;
|
|
75
|
-
proposal: import("@tanstack/react-query").UseQueryResult<FormattedProposalDetails, Error>;
|
|
76
|
-
currentCycleId: import("@tanstack/react-query").UseQueryResult<bigint>;
|
|
77
|
-
addresses: import("@tanstack/react-query").UseQueryResult<{
|
|
78
|
-
treasury: Address;
|
|
79
|
-
factory: Address;
|
|
80
|
-
stakedToken: Address;
|
|
81
|
-
}>;
|
|
82
|
-
airdropStatus: import("@tanstack/react-query").UseQueryResult<{
|
|
83
|
-
availableAmount: import("../..").BalanceResult;
|
|
84
|
-
allocatedAmount: import("../..").BalanceResult;
|
|
85
|
-
isAvailable: boolean;
|
|
86
|
-
error?: string;
|
|
87
|
-
} | null>;
|
|
88
|
-
proposalsForCycle: import("@tanstack/react-query").UseQueryResult<readonly bigint[], Error>;
|
|
89
|
-
winner: import("@tanstack/react-query").UseQueryResult<bigint, Error>;
|
|
90
|
-
voteReceipt: import("@tanstack/react-query").UseQueryResult<{
|
|
91
|
-
hasVoted: boolean;
|
|
92
|
-
support: boolean;
|
|
93
|
-
votes: bigint;
|
|
94
|
-
}, Error>;
|
|
95
|
-
votingPowerSnapshot: import("@tanstack/react-query").UseQueryResult<bigint, Error>;
|
|
96
|
-
meetsQuorum: import("@tanstack/react-query").UseQueryResult<boolean, Error>;
|
|
97
|
-
meetsApproval: import("@tanstack/react-query").UseQueryResult<boolean, Error>;
|
|
98
|
-
proposalState: import("@tanstack/react-query").UseQueryResult<number, Error>;
|
|
99
|
-
activeProposalCount: import("@tanstack/react-query").UseQueryResult<{
|
|
100
|
-
boost: bigint;
|
|
101
|
-
transfer: bigint;
|
|
102
|
-
}, Error>;
|
|
103
|
-
proposalData: FormattedProposalDetails | undefined;
|
|
104
|
-
proposalDescription: string | undefined;
|
|
105
|
-
currentCycleIdValue: bigint | undefined;
|
|
106
|
-
cycleProposals: readonly bigint[] | undefined;
|
|
107
|
-
winnerProposalId: bigint | undefined;
|
|
108
|
-
hasVoted: boolean;
|
|
109
|
-
voteSupport: boolean | undefined;
|
|
110
|
-
votesUsed: bigint | undefined;
|
|
111
|
-
userVotingPower: bigint | undefined;
|
|
112
|
-
proposalMeetsQuorum: boolean;
|
|
113
|
-
proposalMeetsApproval: boolean;
|
|
114
|
-
proposalStateValue: number | undefined;
|
|
115
|
-
activeBoostProposals: bigint | undefined;
|
|
116
|
-
activeTransferProposals: bigint | undefined;
|
|
117
|
-
treasuryAddress: `0x${string}` | undefined;
|
|
118
|
-
factoryAddress: `0x${string}` | undefined;
|
|
119
|
-
stakedTokenAddress: `0x${string}` | undefined;
|
|
120
|
-
airdropStatusData: {
|
|
121
|
-
availableAmount: import("../..").BalanceResult;
|
|
122
|
-
allocatedAmount: import("../..").BalanceResult;
|
|
123
|
-
isAvailable: boolean;
|
|
124
|
-
error?: string;
|
|
125
|
-
} | null | undefined;
|
|
126
|
-
availableAirdropAmount: import("../..").BalanceResult | undefined;
|
|
127
|
-
airdropAllocatedAmount: import("../..").BalanceResult | undefined;
|
|
128
|
-
isAirdropAvailable: boolean;
|
|
129
|
-
airdropError: string | undefined;
|
|
130
37
|
buildProposeTransferConfig: ({ recipient, amount, amountDecimals, description, }: {
|
|
131
38
|
recipient: `0x${string}`;
|
|
132
39
|
amount: number | string;
|
|
@@ -141,7 +48,6 @@ export declare function useGovernance({ governorAddress, clankerToken: _clankerT
|
|
|
141
48
|
proposalId: number | bigint;
|
|
142
49
|
}) => ExecuteProposalConfig;
|
|
143
50
|
isReady: boolean;
|
|
144
|
-
isLoading: boolean;
|
|
145
51
|
isProposing: boolean;
|
|
146
52
|
isVoting: boolean;
|
|
147
53
|
isExecuting: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-governance.d.ts","sourceRoot":"","sources":["../../../../src/client/hook/use-governance.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"use-governance.d.ts","sourceRoot":"","sources":["../../../../src/client/hook/use-governance.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AAI9C,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,kBAAkB,CAAA;AAQzB,MAAM,MAAM,mBAAmB,GAAG;IAEhC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE,KAAK,MAAM,EAAE,CAAA;IAG3B,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IACpF,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAEjD,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IACjF,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAE9C,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAA;IACrD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAEtC,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAA;IAChE,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAEjD,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAA;IAC7D,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CAC/C,CAAA;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAC5B,UAAU,EACV,OAAO,EACP,WAAW,EACX,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,GACpB,GAAE,mBAAwB;;;;;;;;;;oBAuBT,MAAM,GAAG,MAAM;iBAClB,OAAO;;;;sFAyFjB;QACD,SAAS,EAAE,KAAK,MAAM,EAAE,CAAA;QACxB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;QACvB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,WAAW,EAAE,MAAM,CAAA;KACpB,KAAG,qBAAqB;2DAUtB;QACD,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;QACvB,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB,KAAG,kBAAkB;kDAOnB;QACD,UAAU,EAAE,MAAM,GAAG,MAAM,CAAA;KAC5B,KAAG,qBAAqB;;;;;;EAwB1B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { PoolData } from '../../pool';
|
|
2
|
+
import type { Project } from '../../project';
|
|
3
|
+
export type UsePoolQueryParams = {
|
|
4
|
+
project: Project | null | undefined;
|
|
5
|
+
enabled?: boolean;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Internal: Creates pool query with pool-specific data
|
|
9
|
+
* Used by LevrProvider
|
|
10
|
+
*/
|
|
11
|
+
export declare function usePoolQuery({ project: projectData, enabled: e }: UsePoolQueryParams): import("@tanstack/react-query").UseQueryResult<PoolData | null, Error>;
|
|
12
|
+
//# sourceMappingURL=use-pool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-pool.d.ts","sourceRoot":"","sources":["../../../../src/client/hook/use-pool.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAG5C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;IACnC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAQ,EAAE,EAAE,kBAAkB,0EAiB3F"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export type UsePrepareParams = {
|
|
2
|
-
factoryAddress?: `0x${string}`;
|
|
3
2
|
onSuccess?: (params: {
|
|
4
3
|
hash: `0x${string}`;
|
|
5
4
|
treasury: `0x${string}` | undefined;
|
|
@@ -13,7 +12,7 @@ export type UsePrepareParams = {
|
|
|
13
12
|
* @param options - The options for the prepare mutation.
|
|
14
13
|
* @returns The hash of the transaction.
|
|
15
14
|
*/
|
|
16
|
-
export declare function usePrepare({
|
|
15
|
+
export declare function usePrepare({ onSuccess, onError }: UsePrepareParams): import("@tanstack/react-query").UseMutationResult<{
|
|
17
16
|
hash: `0x${string}`;
|
|
18
17
|
treasury: `0x${string}` | undefined;
|
|
19
18
|
staking: `0x${string}` | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-prepare.d.ts","sourceRoot":"","sources":["../../../../src/client/hook/use-prepare.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-prepare.d.ts","sourceRoot":"","sources":["../../../../src/client/hook/use-prepare.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,KAAK,MAAM,EAAE,CAAA;QACnB,QAAQ,EAAE,KAAK,MAAM,EAAE,GAAG,SAAS,CAAA;QACnC,OAAO,EAAE,KAAK,MAAM,EAAE,GAAG,SAAS,CAAA;KACnC,KAAK,IAAI,CAAA;IACV,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CACnC,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,gBAAgB;;;;2BAwClE"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Address } from 'viem';
|
|
2
|
+
import type { ProjectsParams, ProjectsResult } from '../..';
|
|
2
3
|
import type { PopPublicClient } from '../../types';
|
|
3
4
|
export type UseProjectQueryParams = {
|
|
4
5
|
clankerToken: Address | null;
|
|
@@ -10,4 +11,8 @@ export type UseProjectQueryParams = {
|
|
|
10
11
|
* Used by LevrProvider
|
|
11
12
|
*/
|
|
12
13
|
export declare function useProjectQuery({ clankerToken, oraclePublicClient, enabled: e, }: UseProjectQueryParams): import("@tanstack/react-query").UseQueryResult<import("../..").Project | null, Error>;
|
|
14
|
+
export type UseProjectsParams = {
|
|
15
|
+
enabled?: boolean;
|
|
16
|
+
} & Omit<ProjectsParams, 'publicClient'>;
|
|
17
|
+
export declare function useProjects({ enabled: e, offset, limit }?: UseProjectsParams): import("@tanstack/react-query").UseQueryResult<ProjectsResult, Error>;
|
|
13
18
|
//# sourceMappingURL=use-project.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-project.d.ts","sourceRoot":"","sources":["../../../../src/client/hook/use-project.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"use-project.d.ts","sourceRoot":"","sources":["../../../../src/client/hook/use-project.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAGnC,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAGlD,MAAM,MAAM,qBAAqB,GAAG;IAClC,YAAY,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,kBAAkB,EAAE,eAAe,CAAA;IACnC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAC9B,YAAY,EACZ,kBAAkB,EAClB,OAAO,EAAE,CAAQ,GAClB,EAAE,qBAAqB,yFAmBvB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,GAAG,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;AAExC,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,CAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAE,iBAAsB,yEAiBvF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Project } from '../..';
|
|
2
|
+
export type UseProposalsQueryParams = {
|
|
3
|
+
project: Project | null | undefined;
|
|
4
|
+
enabled?: boolean;
|
|
5
|
+
};
|
|
6
|
+
export type UseProposalParams = {
|
|
7
|
+
proposalId?: bigint;
|
|
8
|
+
enabled?: boolean;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Internal: Creates proposals query with all logic
|
|
12
|
+
* Used by LevrProvider
|
|
13
|
+
* Gets all proposals for current cycle with enriched data in single multicall
|
|
14
|
+
* Includes vote receipts if user is connected
|
|
15
|
+
*/
|
|
16
|
+
export declare function useProposalsQuery({ project, enabled: e }: UseProposalsQueryParams): import("@tanstack/react-query").UseQueryResult<import("../..").ProposalsResult, Error>;
|
|
17
|
+
export declare function useProposal({ proposalId, enabled: e }: UseProposalParams): import("@tanstack/react-query").UseQueryResult<import("../..").EnrichedProposalDetails, Error>;
|
|
18
|
+
//# sourceMappingURL=use-proposal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-proposal.d.ts","sourceRoot":"","sources":["../../../../src/client/hook/use-proposal.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAKpC,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;IACnC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAQ,EAAE,EAAE,uBAAuB,0FA0BxF;AAED,wBAAgB,WAAW,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAQ,EAAE,EAAE,iBAAiB,kGAwB/E"}
|
|
@@ -1,34 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { Project } from '../../project';
|
|
1
|
+
import type { TransactionReceipt } from 'viem';
|
|
3
2
|
import type { ClaimParams } from '../../stake';
|
|
4
|
-
import { Stake } from '../../stake';
|
|
5
|
-
export type UseStakingQueriesParams = {
|
|
6
|
-
clankerToken: Address | null;
|
|
7
|
-
projectData: Project | null | undefined;
|
|
8
|
-
enabled?: boolean;
|
|
9
|
-
};
|
|
10
|
-
/**
|
|
11
|
-
* Internal: Creates all staking queries with logic
|
|
12
|
-
* Used by LevrProvider
|
|
13
|
-
*/
|
|
14
|
-
export declare function useStakingQueries({ clankerToken, projectData, enabled: e, }: UseStakingQueriesParams): {
|
|
15
|
-
stakeService: Stake | null;
|
|
16
|
-
allowance: import("@tanstack/react-query").UseQueryResult<import("../..").BalanceResult, Error>;
|
|
17
|
-
poolData: import("@tanstack/react-query").UseQueryResult<import("../..").StakePoolData, Error>;
|
|
18
|
-
userData: import("@tanstack/react-query").UseQueryResult<import("../..").StakeUserData, Error>;
|
|
19
|
-
outstandingRewardsStaking: import("@tanstack/react-query").UseQueryResult<import("../..").StakeOutstandingRewards, Error>;
|
|
20
|
-
outstandingRewardsWeth: import("@tanstack/react-query").UseQueryResult<import("../..").StakeOutstandingRewards, Error>;
|
|
21
|
-
claimableRewardsStaking: import("@tanstack/react-query").UseQueryResult<import("../..").StakeClaimableRewards, Error>;
|
|
22
|
-
claimableRewardsWeth: import("@tanstack/react-query").UseQueryResult<import("../..").StakeClaimableRewards, Error>;
|
|
23
|
-
wethRewardRate: import("@tanstack/react-query").UseQueryResult<import("../..").BalanceResult, Error>;
|
|
24
|
-
aprBpsWeth: import("@tanstack/react-query").UseQueryResult<{
|
|
25
|
-
raw: bigint;
|
|
26
|
-
percentage: number;
|
|
27
|
-
}, Error>;
|
|
28
|
-
};
|
|
29
3
|
export type UseStakeParams = {
|
|
30
|
-
clankerToken?: `0x${string}`;
|
|
31
|
-
enabled?: boolean;
|
|
32
4
|
onApproveSuccess?: (receipt: TransactionReceipt) => void;
|
|
33
5
|
onApproveError?: (error: unknown) => void;
|
|
34
6
|
onStakeSuccess?: (receipt: TransactionReceipt) => void;
|
|
@@ -41,60 +13,29 @@ export type UseStakeParams = {
|
|
|
41
13
|
onAccrueError?: (error: unknown) => void;
|
|
42
14
|
};
|
|
43
15
|
/**
|
|
44
|
-
* Hook to access staking data and mutations
|
|
16
|
+
* Hook to access staking data and mutations
|
|
17
|
+
* All data comes from context.user, all mutations use context.stakeService
|
|
45
18
|
* @throws Error if used outside LevrProvider
|
|
46
19
|
*/
|
|
47
|
-
export declare function useStake({
|
|
20
|
+
export declare function useStake({ onApproveSuccess, onApproveError, onStakeSuccess, onStakeError, onUnstakeSuccess, onUnstakeError, onClaimSuccess, onClaimError, onAccrueSuccess, onAccrueError, }?: UseStakeParams): {
|
|
48
21
|
approve: import("@tanstack/react-query").UseMutationResult<TransactionReceipt, unknown, string | number | bigint, unknown>;
|
|
49
22
|
stake: import("@tanstack/react-query").UseMutationResult<TransactionReceipt, unknown, string | number | bigint, unknown>;
|
|
50
|
-
unstake: import("@tanstack/react-query").UseMutationResult<
|
|
23
|
+
unstake: import("@tanstack/react-query").UseMutationResult<{
|
|
24
|
+
receipt: TransactionReceipt;
|
|
25
|
+
newVotingPower: bigint;
|
|
26
|
+
}, unknown, {
|
|
51
27
|
amount: number | string | bigint;
|
|
52
28
|
to?: `0x${string}`;
|
|
53
29
|
}, unknown>;
|
|
54
30
|
claim: import("@tanstack/react-query").UseMutationResult<TransactionReceipt, unknown, void | ClaimParams, unknown>;
|
|
55
31
|
accrueRewards: import("@tanstack/react-query").UseMutationResult<TransactionReceipt, unknown, `0x${string}` | undefined, unknown>;
|
|
56
32
|
accrueAllRewards: import("@tanstack/react-query").UseMutationResult<TransactionReceipt, unknown, void, unknown>;
|
|
57
|
-
allowance: import("@tanstack/react-query").UseQueryResult<import("../..").BalanceResult>;
|
|
58
|
-
poolData: import("@tanstack/react-query").UseQueryResult<import("../..").StakePoolData | null>;
|
|
59
|
-
userData: import("@tanstack/react-query").UseQueryResult<import("../..").StakeUserData | null>;
|
|
60
|
-
outstandingRewardsStaking: import("@tanstack/react-query").UseQueryResult<import("../..").StakeOutstandingRewards>;
|
|
61
|
-
outstandingRewardsWeth: import("@tanstack/react-query").UseQueryResult<import("../..").StakeOutstandingRewards | null>;
|
|
62
|
-
claimableRewardsStaking: import("@tanstack/react-query").UseQueryResult<import("../..").StakeClaimableRewards | null>;
|
|
63
|
-
claimableRewardsWeth: import("@tanstack/react-query").UseQueryResult<import("../..").StakeClaimableRewards | null>;
|
|
64
|
-
wethRewardRate: import("@tanstack/react-query").UseQueryResult<import("../..").BalanceResult | null>;
|
|
65
|
-
aprBpsWeth: import("@tanstack/react-query").UseQueryResult<{
|
|
66
|
-
raw: bigint;
|
|
67
|
-
percentage: number;
|
|
68
|
-
} | null>;
|
|
69
|
-
balances: import("@tanstack/react-query").UseQueryResult<Record<string, import("../..").BalanceResult>>;
|
|
70
33
|
needsApproval: (amount: string | number) => boolean;
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
streamStart: bigint;
|
|
78
|
-
streamEnd: bigint;
|
|
79
|
-
isActive: boolean;
|
|
80
|
-
} | undefined;
|
|
81
|
-
rewardRatePerSecond: import("../..").BalanceResult | undefined;
|
|
82
|
-
aprBps: {
|
|
83
|
-
raw: bigint;
|
|
84
|
-
percentage: number;
|
|
85
|
-
} | undefined;
|
|
86
|
-
rewardsData: {
|
|
87
|
-
staking: import("../..").StakeOutstandingRewards;
|
|
88
|
-
weth: import("../..").StakeOutstandingRewards | null | undefined;
|
|
89
|
-
} | null;
|
|
90
|
-
claimableData: {
|
|
91
|
-
staking: import("../..").StakeClaimableRewards;
|
|
92
|
-
weth: import("../..").StakeClaimableRewards | null | undefined;
|
|
93
|
-
} | null;
|
|
94
|
-
isLoadingPoolData: boolean;
|
|
95
|
-
isLoadingUserData: boolean;
|
|
96
|
-
isLoadingOutstandingRewards: boolean;
|
|
97
|
-
isLoadingClaimableRewards: boolean;
|
|
98
|
-
isLoadingBalances: boolean;
|
|
34
|
+
isLoading: boolean;
|
|
35
|
+
isApproving: boolean;
|
|
36
|
+
isStaking: boolean;
|
|
37
|
+
isUnstaking: boolean;
|
|
38
|
+
isClaiming: boolean;
|
|
39
|
+
isAccruing: boolean;
|
|
99
40
|
};
|
|
100
41
|
//# sourceMappingURL=use-stake.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-stake.d.ts","sourceRoot":"","sources":["../../../../src/client/hook/use-stake.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"use-stake.d.ts","sourceRoot":"","sources":["../../../../src/client/hook/use-stake.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AAI9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAK9C,MAAM,MAAM,cAAc,GAAG;IAC3B,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAA;IACxD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAEzC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAA;IACtD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAEvC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAA;IACxD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAEzC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAA;IACtD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAEvC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAA;IACvD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CACzC,CAAA;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EACvB,gBAAgB,EAChB,cAAc,EAEd,cAAc,EACd,YAAY,EAEZ,gBAAgB,EAChB,cAAc,EAEd,cAAc,EACd,YAAY,EAEZ,eAAe,EACf,aAAa,GACd,GAAE,cAAmB;;;;;;;gBAqDR,MAAM,GAAG,MAAM,GAAG,MAAM;aAC3B,KAAK,MAAM,EAAE;;;;;4BA+DF,MAAM,GAAG,MAAM,KAAG,OAAO;;;;;;;EAyB9C"}
|
|
@@ -8,9 +8,6 @@ export type SwapConfig = {
|
|
|
8
8
|
hookData?: `0x${string}`;
|
|
9
9
|
};
|
|
10
10
|
export type UseSwapParams = {
|
|
11
|
-
enabled?: boolean;
|
|
12
|
-
tokenAddress?: `0x${string}`;
|
|
13
|
-
tokenDecimals?: number;
|
|
14
11
|
quoteParams?: {
|
|
15
12
|
zeroForOne: boolean;
|
|
16
13
|
amountIn: string;
|
|
@@ -31,9 +28,8 @@ export type UseSwapParams = {
|
|
|
31
28
|
* @param params - Hook parameters
|
|
32
29
|
* @returns Queries and mutations for swap operations
|
|
33
30
|
*/
|
|
34
|
-
export declare function useSwap({
|
|
31
|
+
export declare function useSwap({ quoteParams, onApproveERC20Success, onApproveERC20Error, onApprovePermit2Success, onApprovePermit2Error, onSwapSuccess, onSwapError, }?: UseSwapParams): {
|
|
35
32
|
swap: import("@tanstack/react-query").UseMutationResult<import("../..").SwapV4ReturnType, unknown, SwapConfig, unknown>;
|
|
36
|
-
balances: import("@tanstack/react-query").UseQueryResult<Record<string, import("../..").BalanceResult>>;
|
|
37
33
|
quote: import("@tanstack/react-query").UseQueryResult<{
|
|
38
34
|
amountOutFormatted: string;
|
|
39
35
|
amountOut: bigint;
|
|
@@ -47,14 +43,13 @@ export declare function useSwap({ enabled, tokenAddress: _tokenAddress, tokenDec
|
|
|
47
43
|
maxLpFee?: number;
|
|
48
44
|
};
|
|
49
45
|
}, Error>;
|
|
50
|
-
poolKey: PoolKey | undefined;
|
|
51
|
-
tokenBalance: import("../..").BalanceResult | undefined;
|
|
52
|
-
wethBalance: import("../..").BalanceResult | undefined;
|
|
53
46
|
buildSwapConfig: ({ zeroForOne, amountIn, amountInDecimals, minAmountOut, }: {
|
|
54
47
|
zeroForOne: boolean;
|
|
55
48
|
amountIn: number;
|
|
56
49
|
amountInDecimals?: number;
|
|
57
50
|
minAmountOut: string;
|
|
58
51
|
}) => SwapConfig | null;
|
|
52
|
+
isLoading: boolean;
|
|
53
|
+
isSwapping: boolean;
|
|
59
54
|
};
|
|
60
55
|
//# sourceMappingURL=use-swap.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-swap.d.ts","sourceRoot":"","sources":["../../../../src/client/hook/use-swap.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AAM9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAI1C,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,EAAE,KAAK,MAAM,EAAE,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;
|
|
1
|
+
{"version":3,"file":"use-swap.d.ts","sourceRoot":"","sources":["../../../../src/client/hook/use-swap.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AAM9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAI1C,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,EAAE,KAAK,MAAM,EAAE,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAG1B,WAAW,CAAC,EAAE;QACZ,UAAU,EAAE,OAAO,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;QAChB,gBAAgB,EAAE,MAAM,CAAA;QACxB,iBAAiB,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,EAAE,KAAK,MAAM,EAAE,CAAA;KACzB,CAAA;IAED,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAA;IAC7D,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAE9C,uBAAuB,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAA;IAC/D,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAEhD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAA;IACrD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CACvC,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,EACtB,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,aAAa,EACb,WAAW,GACZ,GAAE,aAAkB;;;;;;;;;sBAUnB,CAAF;qBAAsB,CAAC;mBACP,CAAC;oBACX,CAAH;;;iFAqFE;QACD,UAAU,EAAE,OAAO,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;QAChB,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,YAAY,EAAE,MAAM,CAAA;KACrB,KAAG,UAAU,GAAG,IAAI;;;EA0BtB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Project } from '../../project';
|
|
2
|
+
import type { User } from '../../user';
|
|
3
|
+
export type UseUserQueryParams = {
|
|
4
|
+
project: Project | null | undefined;
|
|
5
|
+
enabled?: boolean;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Internal: Creates user query with all user-specific data
|
|
9
|
+
* Used by LevrProvider
|
|
10
|
+
* Composes balances, staking, and governance in one efficient multicall
|
|
11
|
+
*/
|
|
12
|
+
export declare function useUserQuery({ project: projectData, enabled: e }: UseUserQueryParams): import("@tanstack/react-query").UseQueryResult<User, Error>;
|
|
13
|
+
//# sourceMappingURL=use-user.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-user.d.ts","sourceRoot":"","sources":["../../../../src/client/hook/use-user.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAItC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;IACnC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAQ,EAAE,EAAE,kBAAkB,+DAqB3F"}
|
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
import type { UseQueryResult } from '@tanstack/react-query';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import type { Address } from 'viem';
|
|
4
|
-
import type {
|
|
5
|
-
import type { ProposalsResult } from '../
|
|
6
|
-
import type {
|
|
7
|
-
import type { BalanceResult } from '../types';
|
|
4
|
+
import type { PoolData } from '../pool';
|
|
5
|
+
import type { ProposalsResult } from '../proposal';
|
|
6
|
+
import type { User } from '../user';
|
|
8
7
|
import { useProjectQuery } from './hook/use-project';
|
|
9
8
|
type Project = NonNullable<ReturnType<typeof useProjectQuery>['data']>;
|
|
10
9
|
/**
|
|
11
10
|
* Context value provided by LevrProvider
|
|
11
|
+
* Provides dual access: hierarchical (user.balances) + flat (balances)
|
|
12
12
|
*/
|
|
13
13
|
export type LevrContextValue = {
|
|
14
14
|
clankerToken: Address | null;
|
|
15
15
|
setClankerToken: (token: Address | null) => void;
|
|
16
16
|
chainId: number | undefined;
|
|
17
17
|
userAddress: Address | undefined;
|
|
18
|
+
user: UseQueryResult<User | null>;
|
|
18
19
|
project: UseQueryResult<Project | null>;
|
|
19
|
-
|
|
20
|
+
pool: UseQueryResult<PoolData | null>;
|
|
21
|
+
proposals: UseQueryResult<ProposalsResult | null>;
|
|
20
22
|
tokenData: UseQueryResult<{
|
|
21
23
|
originalAdmin: Address;
|
|
22
24
|
admin: Address;
|
|
@@ -24,49 +26,22 @@ export type LevrContextValue = {
|
|
|
24
26
|
metadata: string;
|
|
25
27
|
context: string;
|
|
26
28
|
} | null>;
|
|
27
|
-
staking: {
|
|
28
|
-
allowance: UseQueryResult<BalanceResult>;
|
|
29
|
-
poolData: UseQueryResult<StakePoolData | null>;
|
|
30
|
-
userData: UseQueryResult<StakeUserData | null>;
|
|
31
|
-
outstandingRewardsStaking: UseQueryResult<StakeOutstandingRewards>;
|
|
32
|
-
outstandingRewardsWeth: UseQueryResult<StakeOutstandingRewards | null>;
|
|
33
|
-
claimableRewardsStaking: UseQueryResult<StakeClaimableRewards | null>;
|
|
34
|
-
claimableRewardsWeth: UseQueryResult<StakeClaimableRewards | null>;
|
|
35
|
-
wethRewardRate: UseQueryResult<BalanceResult | null>;
|
|
36
|
-
aprBpsWeth: UseQueryResult<{
|
|
37
|
-
raw: bigint;
|
|
38
|
-
percentage: number;
|
|
39
|
-
} | null>;
|
|
40
|
-
};
|
|
41
|
-
governance: {
|
|
42
|
-
currentCycleId: UseQueryResult<bigint>;
|
|
43
|
-
addresses: UseQueryResult<{
|
|
44
|
-
treasury: Address;
|
|
45
|
-
factory: Address;
|
|
46
|
-
stakedToken: Address;
|
|
47
|
-
}>;
|
|
48
|
-
airdropStatus: UseQueryResult<{
|
|
49
|
-
availableAmount: BalanceResult;
|
|
50
|
-
allocatedAmount: BalanceResult;
|
|
51
|
-
isAvailable: boolean;
|
|
52
|
-
error?: string;
|
|
53
|
-
} | null>;
|
|
54
|
-
};
|
|
55
|
-
proposals: UseQueryResult<ProposalsResult | null>;
|
|
56
|
-
feeReceivers: UseQueryResult<FeeReceiverAdmin[] | undefined>;
|
|
57
29
|
refetch: {
|
|
58
30
|
all: () => Promise<void>;
|
|
31
|
+
user: () => Promise<void>;
|
|
59
32
|
project: () => Promise<void>;
|
|
60
|
-
|
|
61
|
-
governance: () => Promise<void>;
|
|
62
|
-
staking: () => Promise<void>;
|
|
33
|
+
pool: () => Promise<void>;
|
|
63
34
|
proposals: () => Promise<void>;
|
|
64
|
-
|
|
35
|
+
afterTrade: () => Promise<void>;
|
|
65
36
|
afterStake: () => Promise<void>;
|
|
66
|
-
|
|
67
|
-
|
|
37
|
+
afterUnstake: () => Promise<void>;
|
|
38
|
+
afterClaim: () => Promise<void>;
|
|
39
|
+
afterAccrue: () => Promise<void>;
|
|
40
|
+
afterVote: () => Promise<void>;
|
|
41
|
+
afterProposal: () => Promise<void>;
|
|
42
|
+
afterExecute: () => Promise<void>;
|
|
43
|
+
afterAirdrop: () => Promise<void>;
|
|
68
44
|
};
|
|
69
|
-
stakeService: Stake | null;
|
|
70
45
|
};
|
|
71
46
|
export type LevrProviderProps = {
|
|
72
47
|
children: React.ReactNode;
|
|
@@ -98,23 +73,28 @@ export declare function LevrProvider({ children, enabled, oracleChainId, oracleR
|
|
|
98
73
|
export declare function useLevrContext(): LevrContextValue;
|
|
99
74
|
/**
|
|
100
75
|
* Hook to set the current clanker token
|
|
101
|
-
*
|
|
76
|
+
* Automatically updates when the token address changes
|
|
77
|
+
* @param clankerToken - Token address to set (null to clear)
|
|
102
78
|
*/
|
|
103
|
-
export declare const useSetClankerToken: (
|
|
79
|
+
export declare const useSetClankerToken: (clankerToken?: Address | null) => void;
|
|
104
80
|
/**
|
|
105
81
|
* Hook to access refetch methods from LevrProvider
|
|
106
82
|
*/
|
|
107
83
|
export declare const useLevrRefetch: () => {
|
|
108
84
|
all: () => Promise<void>;
|
|
85
|
+
user: () => Promise<void>;
|
|
109
86
|
project: () => Promise<void>;
|
|
110
|
-
|
|
111
|
-
governance: () => Promise<void>;
|
|
112
|
-
staking: () => Promise<void>;
|
|
87
|
+
pool: () => Promise<void>;
|
|
113
88
|
proposals: () => Promise<void>;
|
|
114
|
-
|
|
89
|
+
afterTrade: () => Promise<void>;
|
|
115
90
|
afterStake: () => Promise<void>;
|
|
116
|
-
|
|
117
|
-
|
|
91
|
+
afterUnstake: () => Promise<void>;
|
|
92
|
+
afterClaim: () => Promise<void>;
|
|
93
|
+
afterAccrue: () => Promise<void>;
|
|
94
|
+
afterVote: () => Promise<void>;
|
|
95
|
+
afterProposal: () => Promise<void>;
|
|
96
|
+
afterExecute: () => Promise<void>;
|
|
97
|
+
afterAirdrop: () => Promise<void>;
|
|
118
98
|
};
|
|
119
99
|
export {};
|
|
120
100
|
//# sourceMappingURL=levr-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"levr-provider.d.ts","sourceRoot":"","sources":["../../../src/client/levr-provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,KAAwD,MAAM,OAAO,CAAA;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAInC,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"levr-provider.d.ts","sourceRoot":"","sources":["../../../src/client/levr-provider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,40 +9,32 @@ export declare const queryKeys: {
|
|
|
9
9
|
*/
|
|
10
10
|
readonly project: (token: Address, chainId: number) => readonly ["project", `0x${string}`, number];
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* User query keys (composable data group)
|
|
13
13
|
*/
|
|
14
|
-
readonly
|
|
14
|
+
readonly user: (userAddress: Address, token: Address, staking: Address, treasury: Address) => readonly ["user", `0x${string}`, `0x${string}`, `0x${string}`, `0x${string}`];
|
|
15
|
+
/**
|
|
16
|
+
* Pool query keys
|
|
17
|
+
*/
|
|
18
|
+
readonly pool: (poolKey?: unknown) => readonly ["pool", unknown];
|
|
15
19
|
/**
|
|
16
20
|
* Clanker SDK query keys
|
|
17
21
|
*/
|
|
18
22
|
readonly clanker: (chainId?: number, walletAddress?: Address) => readonly ["clanker", number | undefined, `0x${string}` | undefined];
|
|
19
23
|
readonly clankerToken: (tokenAddress?: Address) => readonly ["clanker-token", `0x${string}` | undefined];
|
|
20
24
|
/**
|
|
21
|
-
*
|
|
22
|
-
*/
|
|
23
|
-
readonly staking: {
|
|
24
|
-
readonly allowance: (stakingAddress?: Address, tokenAddress?: Address, userAddress?: Address) => readonly ["staking", "allowance", `0x${string}` | undefined, `0x${string}` | undefined, `0x${string}` | undefined];
|
|
25
|
-
readonly poolData: (stakingAddress?: Address, tokenAddress?: Address) => readonly ["staking", "poolData", `0x${string}` | undefined, `0x${string}` | undefined];
|
|
26
|
-
readonly userData: (stakingAddress?: Address, userAddress?: Address) => readonly ["staking", "userData", `0x${string}` | undefined, `0x${string}` | undefined];
|
|
27
|
-
readonly outstandingRewards: (stakingAddress?: Address, tokenAddress?: Address, userAddress?: Address) => readonly ["staking", "outstandingRewards", `0x${string}` | undefined, `0x${string}` | undefined, `0x${string}` | undefined];
|
|
28
|
-
readonly claimableRewards: (stakingAddress?: Address, tokenAddress?: Address, userAddress?: Address) => readonly ["staking", "claimableRewards", `0x${string}` | undefined, `0x${string}` | undefined, `0x${string}` | undefined];
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* Governance query keys
|
|
25
|
+
* Governance query keys (for dynamic per-component queries)
|
|
32
26
|
*/
|
|
33
27
|
readonly governance: {
|
|
34
|
-
readonly proposal: (governorAddress
|
|
35
|
-
readonly
|
|
36
|
-
readonly
|
|
37
|
-
readonly
|
|
38
|
-
readonly proposalsForCycle: (governorAddress: Address, cycleId?: string) => readonly ["governance", "proposalsForCycle", `0x${string}`, string | undefined];
|
|
39
|
-
readonly winner: (governorAddress: Address, cycleId?: string) => readonly ["governance", "winner", `0x${string}`, string | undefined];
|
|
40
|
-
readonly userVoteInCycle: (governorAddress: Address, cycleId?: string, userAddress?: Address) => readonly ["governance", "userVoteInCycle", `0x${string}`, string | undefined, `0x${string}` | undefined];
|
|
28
|
+
readonly proposal: (governorAddress?: Address, proposalId?: string) => readonly ["governance", "proposal", `0x${string}` | undefined, string | undefined];
|
|
29
|
+
readonly proposalsForCycle: (governorAddress?: Address, cycleId?: string) => readonly ["governance", "proposalsForCycle", `0x${string}` | undefined, string | undefined];
|
|
30
|
+
readonly winner: (governorAddress?: Address, cycleId?: string) => readonly ["governance", "winner", `0x${string}` | undefined, string | undefined];
|
|
31
|
+
readonly userVoteInCycle: (governorAddress?: Address, cycleId?: string, userAddress?: Address) => readonly ["governance", "userVoteInCycle", `0x${string}` | undefined, string | undefined, `0x${string}` | undefined];
|
|
41
32
|
};
|
|
42
33
|
/**
|
|
43
34
|
* Proposals query keys
|
|
44
35
|
*/
|
|
45
|
-
readonly proposals: (
|
|
36
|
+
readonly proposals: (chainId?: number, cycleId?: string, userAddress?: Address) => readonly ["proposals", number | undefined, string | undefined, `0x${string}` | undefined];
|
|
37
|
+
readonly proposal: (chainId?: number, cycleId?: string, proposalId?: string) => readonly ["proposal", number | undefined, string | undefined, string | undefined];
|
|
46
38
|
/**
|
|
47
39
|
* Projects query keys
|
|
48
40
|
*/
|
|
@@ -53,9 +45,5 @@ export declare const queryKeys: {
|
|
|
53
45
|
readonly swap: {
|
|
54
46
|
readonly quote: (chainId?: number, poolKey?: unknown, zeroForOne?: boolean, amountIn?: string, amountInDecimals?: number) => readonly ["swap", "quote", number | undefined, unknown, boolean | undefined, string | undefined, number | undefined];
|
|
55
47
|
};
|
|
56
|
-
/**
|
|
57
|
-
* Fee receivers query keys
|
|
58
|
-
*/
|
|
59
|
-
readonly feeReceivers: (clankerToken?: Address, userAddress?: Address, chainId?: number) => readonly ["fee-receivers", `0x${string}` | undefined, `0x${string}` | undefined, number | undefined];
|
|
60
48
|
};
|
|
61
49
|
//# sourceMappingURL=query-keys.d.ts.map
|