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.
Files changed (121) hide show
  1. package/README.md +256 -235
  2. package/dist/esm/abis/LevrFactory_v1.js +63 -0
  3. package/dist/esm/abis/LevrGovernor_v1.js +15 -24
  4. package/dist/esm/abis/LevrStaking_v1.js +7 -1
  5. package/dist/esm/balance.js +19 -1
  6. package/dist/esm/balance.js.map +1 -1
  7. package/dist/esm/client/hook/index.js +14 -3
  8. package/dist/esm/client/hook/index.js.map +1 -1
  9. package/dist/esm/client/hook/use-fee-receivers.js +11 -29
  10. package/dist/esm/client/hook/use-fee-receivers.js.map +1 -1
  11. package/dist/esm/client/hook/use-governance.js +19 -254
  12. package/dist/esm/client/hook/use-governance.js.map +1 -1
  13. package/dist/esm/client/hook/use-pool.js +26 -0
  14. package/dist/esm/client/hook/use-pool.js.map +1 -0
  15. package/dist/esm/client/hook/use-prepare.js +6 -3
  16. package/dist/esm/client/hook/use-prepare.js.map +1 -1
  17. package/dist/esm/client/hook/use-project.js +24 -9
  18. package/dist/esm/client/hook/use-project.js.map +1 -1
  19. package/dist/esm/client/hook/use-proposal.js +48 -0
  20. package/dist/esm/client/hook/use-proposal.js.map +1 -0
  21. package/dist/esm/client/hook/use-stake.js +29 -195
  22. package/dist/esm/client/hook/use-stake.js.map +1 -1
  23. package/dist/esm/client/hook/use-swap.js +9 -13
  24. package/dist/esm/client/hook/use-swap.js.map +1 -1
  25. package/dist/esm/client/hook/use-user.js +25 -0
  26. package/dist/esm/client/hook/use-user.js.map +1 -0
  27. package/dist/esm/client/levr-provider.js +65 -107
  28. package/dist/esm/client/levr-provider.js.map +1 -1
  29. package/dist/esm/client/query-keys.js +9 -21
  30. package/dist/esm/client/query-keys.js.map +1 -1
  31. package/dist/esm/constants.js +1 -1
  32. package/dist/esm/fee-receivers.js +25 -13
  33. package/dist/esm/fee-receivers.js.map +1 -1
  34. package/dist/esm/governance.js +35 -414
  35. package/dist/esm/governance.js.map +1 -1
  36. package/dist/esm/index.js +4 -2
  37. package/dist/esm/index.js.map +1 -1
  38. package/dist/esm/pool.js +70 -0
  39. package/dist/esm/pool.js.map +1 -0
  40. package/dist/esm/project.js +389 -135
  41. package/dist/esm/project.js.map +1 -1
  42. package/dist/esm/proposal.js +156 -0
  43. package/dist/esm/proposal.js.map +1 -0
  44. package/dist/esm/quote/index.js +2 -2
  45. package/dist/esm/quote/index.js.map +1 -1
  46. package/dist/esm/stake.js +34 -299
  47. package/dist/esm/stake.js.map +1 -1
  48. package/dist/esm/treasury.js +162 -0
  49. package/dist/esm/treasury.js.map +1 -0
  50. package/dist/esm/user.js +153 -0
  51. package/dist/esm/user.js.map +1 -0
  52. package/dist/types/abis/LevrFactory_v1.d.ts +48 -0
  53. package/dist/types/abis/LevrGovernor_v1.d.ts +12 -18
  54. package/dist/types/abis/LevrStaking_v1.d.ts +5 -1
  55. package/dist/types/balance.d.ts +15 -0
  56. package/dist/types/balance.d.ts.map +1 -1
  57. package/dist/types/client/hook/index.d.ts +11 -3
  58. package/dist/types/client/hook/index.d.ts.map +1 -1
  59. package/dist/types/client/hook/use-fee-receivers.d.ts +6 -16
  60. package/dist/types/client/hook/use-fee-receivers.d.ts.map +1 -1
  61. package/dist/types/client/hook/use-governance.d.ts +4 -98
  62. package/dist/types/client/hook/use-governance.d.ts.map +1 -1
  63. package/dist/types/client/hook/use-pool.d.ts +12 -0
  64. package/dist/types/client/hook/use-pool.d.ts.map +1 -0
  65. package/dist/types/client/hook/use-prepare.d.ts +1 -2
  66. package/dist/types/client/hook/use-prepare.d.ts.map +1 -1
  67. package/dist/types/client/hook/use-project.d.ts +5 -0
  68. package/dist/types/client/hook/use-project.d.ts.map +1 -1
  69. package/dist/types/client/hook/use-proposal.d.ts +18 -0
  70. package/dist/types/client/hook/use-proposal.d.ts.map +1 -0
  71. package/dist/types/client/hook/use-stake.d.ts +14 -73
  72. package/dist/types/client/hook/use-stake.d.ts.map +1 -1
  73. package/dist/types/client/hook/use-swap.d.ts +3 -8
  74. package/dist/types/client/hook/use-swap.d.ts.map +1 -1
  75. package/dist/types/client/hook/use-user.d.ts +13 -0
  76. package/dist/types/client/hook/use-user.d.ts.map +1 -0
  77. package/dist/types/client/levr-provider.d.ts +30 -50
  78. package/dist/types/client/levr-provider.d.ts.map +1 -1
  79. package/dist/types/client/query-keys.d.ts +13 -25
  80. package/dist/types/client/query-keys.d.ts.map +1 -1
  81. package/dist/types/fee-receivers.d.ts +28 -0
  82. package/dist/types/fee-receivers.d.ts.map +1 -1
  83. package/dist/types/governance.d.ts +5 -92
  84. package/dist/types/governance.d.ts.map +1 -1
  85. package/dist/types/index.d.ts +4 -2
  86. package/dist/types/index.d.ts.map +1 -1
  87. package/dist/types/pool.d.ts +590 -0
  88. package/dist/types/pool.d.ts.map +1 -0
  89. package/dist/types/project.d.ts +56 -1
  90. package/dist/types/project.d.ts.map +1 -1
  91. package/dist/types/proposal.d.ts +1161 -0
  92. package/dist/types/proposal.d.ts.map +1 -0
  93. package/dist/types/quote/index.d.ts +2 -2
  94. package/dist/types/quote/index.d.ts.map +1 -1
  95. package/dist/types/stake.d.ts +16 -41
  96. package/dist/types/stake.d.ts.map +1 -1
  97. package/dist/types/treasury.d.ts +16 -0
  98. package/dist/types/treasury.d.ts.map +1 -0
  99. package/dist/types/user.d.ts +188 -0
  100. package/dist/types/user.d.ts.map +1 -0
  101. package/package.json +5 -2
  102. package/dist/esm/client/hook/use-balance.js +0 -57
  103. package/dist/esm/client/hook/use-balance.js.map +0 -1
  104. package/dist/esm/client/hook/use-projects.js +0 -22
  105. package/dist/esm/client/hook/use-projects.js.map +0 -1
  106. package/dist/esm/client/hook/use-proposals.js +0 -29
  107. package/dist/esm/client/hook/use-proposals.js.map +0 -1
  108. package/dist/esm/projects.js +0 -184
  109. package/dist/esm/projects.js.map +0 -1
  110. package/dist/esm/proposals.js +0 -98
  111. package/dist/esm/proposals.js.map +0 -1
  112. package/dist/types/client/hook/use-balance.d.ts +0 -20
  113. package/dist/types/client/hook/use-balance.d.ts.map +0 -1
  114. package/dist/types/client/hook/use-projects.d.ts +0 -6
  115. package/dist/types/client/hook/use-projects.d.ts.map +0 -1
  116. package/dist/types/client/hook/use-proposals.d.ts +0 -16
  117. package/dist/types/client/hook/use-proposals.d.ts.map +0 -1
  118. package/dist/types/projects.d.ts +0 -20
  119. package/dist/types/projects.d.ts.map +0 -1
  120. package/dist/types/proposals.d.ts +0 -20
  121. package/dist/types/proposals.d.ts.map +0 -1
@@ -1,34 +1,6 @@
1
- import type { Address, TransactionReceipt } from 'viem';
2
- import type { ExecuteProposalConfig, FormattedProposalDetails, ProposeBoostConfig, ProposeTransferConfig } from '../../governance';
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
- * Global queries from LevrProvider, dynamic queries created per-component
20
+ * All data comes from context (user, project)
49
21
  */
50
- export declare function useGovernance({ governorAddress, clankerToken: _clankerToken, tokenDecimals, enabled, proposalId, cycleId, userAddress, onProposeTransferSuccess, onProposeTransferError, onProposeBoostSuccess, onProposeBoostError, onVoteSuccess, onVoteError, onExecuteProposalSuccess, onExecuteProposalError, onClaimAirdropSuccess, onClaimAirdropError, }: UseGovernanceParams): {
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":"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"}
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({ factoryAddress, onSuccess, onError }: UsePrepareParams): import("@tanstack/react-query").UseMutationResult<{
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":"AAQA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,CAAC,EAAE,KAAK,MAAM,EAAE,CAAA;IAC9B,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,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,gBAAgB;;;;2BAsClF"}
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;AAInC,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,yFAkBvB"}
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 { Address, TransactionReceipt } from 'viem';
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 from LevrProvider
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({ clankerToken: _clankerToken, enabled: _enabled, onApproveSuccess, onApproveError, onStakeSuccess, onStakeError, onUnstakeSuccess, onUnstakeError, onClaimSuccess, onClaimError, onAccrueSuccess, onAccrueError, }?: UseStakeParams): {
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<TransactionReceipt, unknown, {
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
- tokenBalance: import("../..").BalanceResult | undefined;
72
- stakedBalance: import("../..").BalanceResult | undefined;
73
- totalStaked: import("../..").BalanceResult | undefined;
74
- escrowBalance: import("../..").BalanceResult | undefined;
75
- streamParams: {
76
- windowSeconds: number;
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,OAAO,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AAIvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAKnC,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,WAAW,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;IACvC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,YAAY,EACZ,WAAW,EACX,OAAO,EAAE,CAAQ,GAClB,EAAE,uBAAuB;;;;;;;;;;;;;;EAyIzB;AAMD,MAAM,MAAM,cAAc,GAAG;IAC3B,YAAY,CAAC,EAAE,KAAK,MAAM,EAAE,CAAA;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB,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;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EACvB,YAAY,EAAE,aAAa,EAC3B,OAAO,EAAE,QAAe,EAExB,gBAAgB,EAChB,cAAc,EAEd,cAAc,EACd,YAAY,EAEZ,gBAAgB,EAChB,cAAc,EAEd,cAAc,EACd,YAAY,EAEZ,eAAe,EACf,aAAa,GACd,GAAE,cAAmB;;;;gBAuCR,MAAM,GAAG,MAAM,GAAG,MAAM;aAC3B,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;4BA6GF,MAAM,GAAG,MAAM,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiD9C"}
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({ enabled, tokenAddress: _tokenAddress, tokenDecimals, quoteParams, onApproveERC20Success, onApproveERC20Error, onApprovePermit2Success, onApprovePermit2Error, onSwapSuccess, onSwapError, }?: UseSwapParams): {
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;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,YAAY,CAAC,EAAE,KAAK,MAAM,EAAE,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;IAItB,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,OAAc,EACd,YAAY,EAAE,aAAa,EAC3B,aAAkB,EAClB,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,aAAa,EACb,WAAW,GACZ,GAAE,aAAkB;;;;;;;;;;sBAIgB,CAAC;qBAEpB,CAAA;mBAChB,CAAF;oBAAqB,CAAC;;;;;;iFA2FjB;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;EA8BtB"}
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 { FeeReceiverAdmin } from '../fee-receivers';
5
- import type { ProposalsResult } from '../proposals';
6
- import type { Stake, StakeClaimableRewards, StakeOutstandingRewards, StakePoolData, StakeUserData } from '../stake';
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
- balances: UseQueryResult<Record<string, BalanceResult>>;
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
- balances: () => Promise<void>;
61
- governance: () => Promise<void>;
62
- staking: () => Promise<void>;
33
+ pool: () => Promise<void>;
63
34
  proposals: () => Promise<void>;
64
- feeReceivers: () => Promise<void>;
35
+ afterTrade: () => Promise<void>;
65
36
  afterStake: () => Promise<void>;
66
- afterSwap: () => Promise<void>;
67
- afterGovernance: () => Promise<void>;
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
- * This allows components to update the global token context
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: () => (token: Address | null) => void;
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
- balances: () => Promise<void>;
111
- governance: () => Promise<void>;
112
- staking: () => Promise<void>;
87
+ pool: () => Promise<void>;
113
88
  proposals: () => Promise<void>;
114
- feeReceivers: () => Promise<void>;
89
+ afterTrade: () => Promise<void>;
115
90
  afterStake: () => Promise<void>;
116
- afterSwap: () => Promise<void>;
117
- afterGovernance: () => Promise<void>;
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":"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"}
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
- * Balance query keys
12
+ * User query keys (composable data group)
13
13
  */
14
- readonly balance: (tokens: string, userAddress: Address) => readonly ["balance", string, `0x${string}`];
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
- * Staking query keys
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: Address, proposalId?: string) => readonly ["governance", "proposal", `0x${string}`, string | undefined];
35
- readonly currentCycleId: (governorAddress: Address) => readonly ["governance", "currentCycleId", `0x${string}`];
36
- readonly addresses: (governorAddress: Address) => readonly ["governance", "addresses", `0x${string}`];
37
- readonly airdropStatus: (governorAddress: Address, clankerToken: Address) => readonly ["governance", "airdropStatus", `0x${string}`, `0x${string}`];
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: (governorAddress: Address, tokenDecimals: number, fromBlock?: string, toBlock?: string, pageSize?: number) => readonly ["proposals", `0x${string}`, number, string | undefined, string | undefined, number | undefined];
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