levr-sdk 0.0.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/LICENSE.md +201 -0
- package/README.md +711 -0
- package/dist/esm/abis/IClankerAirdrop.js +443 -0
- package/dist/esm/abis/IClankerHookDynamicFee.js +198 -0
- package/dist/esm/abis/IClankerHookStaticFee.js +75 -0
- package/dist/esm/abis/IClankerLPLocker.js +402 -0
- package/dist/esm/abis/IClankerLpLockerMultiple.js +609 -0
- package/dist/esm/abis/IClankerToken.js +421 -0
- package/dist/esm/abis/LevrFactory_v1.js +608 -0
- package/dist/esm/abis/LevrForwarder_v1.js +622 -0
- package/dist/esm/abis/LevrGovernor_v1.js +726 -0
- package/dist/esm/abis/LevrStakedToken_v1.js +441 -0
- package/dist/esm/abis/LevrStaking_v1.js +607 -0
- package/dist/esm/abis/LevrTreasury_v1.js +219 -0
- package/dist/esm/abis/Permit2.js +29 -0
- package/dist/esm/abis/V4Quoter.js +466 -0
- package/dist/esm/abis/WETH9.js +153 -0
- package/dist/esm/abis/index.js +23 -0
- package/dist/esm/balance.js +72 -0
- package/dist/esm/balance.js.map +1 -0
- package/dist/esm/build-calldatas-v4.js +98 -0
- package/dist/esm/build-calldatas-v4.js.map +1 -0
- package/dist/esm/build-clanker-v4.js +128 -0
- package/dist/esm/build-clanker-v4.js.map +1 -0
- package/dist/esm/client/hook/index.js +36 -0
- package/dist/esm/client/hook/index.js.map +1 -0
- package/dist/esm/client/hook/use-balance.js +56 -0
- package/dist/esm/client/hook/use-balance.js.map +1 -0
- package/dist/esm/client/hook/use-clanker.js +57 -0
- package/dist/esm/client/hook/use-clanker.js.map +1 -0
- package/dist/esm/client/hook/use-deploy.js +16 -0
- package/dist/esm/client/hook/use-deploy.js.map +1 -0
- package/dist/esm/client/hook/use-fee-receivers.js +54 -0
- package/dist/esm/client/hook/use-fee-receivers.js.map +1 -0
- package/dist/esm/client/hook/use-governance.js +389 -0
- package/dist/esm/client/hook/use-governance.js.map +1 -0
- package/dist/esm/client/hook/use-prepare.js +47 -0
- package/dist/esm/client/hook/use-prepare.js.map +1 -0
- package/dist/esm/client/hook/use-project.js +29 -0
- package/dist/esm/client/hook/use-project.js.map +1 -0
- package/dist/esm/client/hook/use-projects.js +22 -0
- package/dist/esm/client/hook/use-projects.js.map +1 -0
- package/dist/esm/client/hook/use-proposals.js +31 -0
- package/dist/esm/client/hook/use-proposals.js.map +1 -0
- package/dist/esm/client/hook/use-register.js +101 -0
- package/dist/esm/client/hook/use-register.js.map +1 -0
- package/dist/esm/client/hook/use-stake.js +327 -0
- package/dist/esm/client/hook/use-stake.js.map +1 -0
- package/dist/esm/client/hook/use-swap.js +110 -0
- package/dist/esm/client/hook/use-swap.js.map +1 -0
- package/dist/esm/client/index.js +4 -0
- package/dist/esm/client/index.js.map +1 -0
- package/dist/esm/client/levr-provider.js +201 -0
- package/dist/esm/client/levr-provider.js.map +1 -0
- package/dist/esm/client/query-keys.js +61 -0
- package/dist/esm/client/query-keys.js.map +1 -0
- package/dist/esm/constants.js +182 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/deploy-v4.js +46 -0
- package/dist/esm/deploy-v4.js.map +1 -0
- package/dist/esm/fee-receivers.js +52 -0
- package/dist/esm/fee-receivers.js.map +1 -0
- package/dist/esm/governance.js +555 -0
- package/dist/esm/governance.js.map +1 -0
- package/dist/esm/index.js +18 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/project.js +146 -0
- package/dist/esm/project.js.map +1 -0
- package/dist/esm/projects.js +212 -0
- package/dist/esm/projects.js.map +1 -0
- package/dist/esm/proposals.js +98 -0
- package/dist/esm/proposals.js.map +1 -0
- package/dist/esm/quote-v4.js +169 -0
- package/dist/esm/quote-v4.js.map +1 -0
- package/dist/esm/schema/base.schema.js +11 -0
- package/dist/esm/schema/base.schema.js.map +1 -0
- package/dist/esm/schema/clanker.schema.js +191 -0
- package/dist/esm/schema/clanker.schema.js.map +1 -0
- package/dist/esm/schema/index.js +4 -0
- package/dist/esm/schema/index.js.map +1 -0
- package/dist/esm/schema/levr.schema.js +114 -0
- package/dist/esm/schema/levr.schema.js.map +1 -0
- package/dist/esm/stake.js +384 -0
- package/dist/esm/stake.js.map +1 -0
- package/dist/esm/swap-v4.js +281 -0
- package/dist/esm/swap-v4.js.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/util.js +19 -0
- package/dist/esm/util.js.map +1 -0
- package/dist/types/abis/IClankerAirdrop.d.ts +348 -0
- package/dist/types/abis/IClankerHookDynamicFee.d.ts +156 -0
- package/dist/types/abis/IClankerHookStaticFee.d.ts +58 -0
- package/dist/types/abis/IClankerLPLocker.d.ts +316 -0
- package/dist/types/abis/IClankerLpLockerMultiple.d.ts +481 -0
- package/dist/types/abis/IClankerToken.d.ts +326 -0
- package/dist/types/abis/LevrFactory_v1.d.ts +471 -0
- package/dist/types/abis/LevrForwarder_v1.d.ts +478 -0
- package/dist/types/abis/LevrGovernor_v1.d.ts +562 -0
- package/dist/types/abis/LevrStakedToken_v1.d.ts +338 -0
- package/dist/types/abis/LevrStaking_v1.d.ts +468 -0
- package/dist/types/abis/LevrTreasury_v1.d.ts +169 -0
- package/dist/types/abis/Permit2.d.ts +54 -0
- package/dist/types/abis/V4Quoter.d.ts +496 -0
- package/dist/types/abis/WETH9.d.ts +244 -0
- package/dist/types/abis/index.d.ts +15 -0
- package/dist/types/balance.d.ts +24 -0
- package/dist/types/balance.d.ts.map +1 -0
- package/dist/types/build-calldatas-v4.d.ts +20 -0
- package/dist/types/build-calldatas-v4.d.ts.map +1 -0
- package/dist/types/build-clanker-v4.d.ts +12 -0
- package/dist/types/build-clanker-v4.d.ts.map +1 -0
- package/dist/types/client/hook/index.d.ts +32 -0
- package/dist/types/client/hook/index.d.ts.map +1 -0
- package/dist/types/client/hook/use-balance.d.ts +18 -0
- package/dist/types/client/hook/use-balance.d.ts.map +1 -0
- package/dist/types/client/hook/use-clanker.d.ts +23 -0
- package/dist/types/client/hook/use-clanker.d.ts.map +1 -0
- package/dist/types/client/hook/use-deploy.d.ts +45 -0
- package/dist/types/client/hook/use-deploy.d.ts.map +1 -0
- package/dist/types/client/hook/use-fee-receivers.d.ts +26 -0
- package/dist/types/client/hook/use-fee-receivers.d.ts.map +1 -0
- package/dist/types/client/hook/use-governance.d.ts +145 -0
- package/dist/types/client/hook/use-governance.d.ts.map +1 -0
- package/dist/types/client/hook/use-prepare.d.ts +21 -0
- package/dist/types/client/hook/use-prepare.d.ts.map +1 -0
- package/dist/types/client/hook/use-project.d.ts +11 -0
- package/dist/types/client/hook/use-project.d.ts.map +1 -0
- package/dist/types/client/hook/use-projects.d.ts +6 -0
- package/dist/types/client/hook/use-projects.d.ts.map +1 -0
- package/dist/types/client/hook/use-proposals.d.ts +16 -0
- package/dist/types/client/hook/use-proposals.d.ts.map +1 -0
- package/dist/types/client/hook/use-register.d.ts +31 -0
- package/dist/types/client/hook/use-register.d.ts.map +1 -0
- package/dist/types/client/hook/use-stake.d.ts +195 -0
- package/dist/types/client/hook/use-stake.d.ts.map +1 -0
- package/dist/types/client/hook/use-swap.d.ts +59 -0
- package/dist/types/client/hook/use-swap.d.ts.map +1 -0
- package/dist/types/client/index.d.ts +4 -0
- package/dist/types/client/index.d.ts.map +1 -0
- package/dist/types/client/levr-provider.d.ts +127 -0
- package/dist/types/client/levr-provider.d.ts.map +1 -0
- package/dist/types/client/query-keys.d.ts +61 -0
- package/dist/types/client/query-keys.d.ts.map +1 -0
- package/dist/types/constants.d.ts +101 -0
- package/dist/types/constants.d.ts.map +1 -0
- package/dist/types/deploy-v4.d.ts +13 -0
- package/dist/types/deploy-v4.d.ts.map +1 -0
- package/dist/types/fee-receivers.d.ts +29 -0
- package/dist/types/fee-receivers.d.ts.map +1 -0
- package/dist/types/governance.d.ts +205 -0
- package/dist/types/governance.d.ts.map +1 -0
- package/dist/types/index.d.ts +18 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/project.d.ts +51 -0
- package/dist/types/project.d.ts.map +1 -0
- package/dist/types/projects.d.ts +20 -0
- package/dist/types/projects.d.ts.map +1 -0
- package/dist/types/proposals.d.ts +20 -0
- package/dist/types/proposals.d.ts.map +1 -0
- package/dist/types/quote-v4.d.ts +54 -0
- package/dist/types/quote-v4.d.ts.map +1 -0
- package/dist/types/schema/base.schema.d.ts +5 -0
- package/dist/types/schema/base.schema.d.ts.map +1 -0
- package/dist/types/schema/clanker.schema.d.ts +104 -0
- package/dist/types/schema/clanker.schema.d.ts.map +1 -0
- package/dist/types/schema/index.d.ts +4 -0
- package/dist/types/schema/index.d.ts.map +1 -0
- package/dist/types/schema/levr.schema.d.ts +34 -0
- package/dist/types/schema/levr.schema.d.ts.map +1 -0
- package/dist/types/stake.d.ts +137 -0
- package/dist/types/stake.d.ts.map +1 -0
- package/dist/types/swap-v4.d.ts +97 -0
- package/dist/types/swap-v4.d.ts.map +1 -0
- package/dist/types/types.d.ts +20 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/util.d.ts +5 -0
- package/dist/types/util.d.ts.map +1 -0
- package/package.json +100 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export type UsePrepareParams = {
|
|
2
|
+
factoryAddress?: `0x${string}`;
|
|
3
|
+
onSuccess?: (params: {
|
|
4
|
+
hash: `0x${string}`;
|
|
5
|
+
treasury: `0x${string}` | undefined;
|
|
6
|
+
staking: `0x${string}` | undefined;
|
|
7
|
+
}) => void;
|
|
8
|
+
onError?: (error: unknown) => void;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Prepares a project for the Levr factory registration.
|
|
12
|
+
* @param factoryAddress - The address of the Levr factory.
|
|
13
|
+
* @param options - The options for the prepare mutation.
|
|
14
|
+
* @returns The hash of the transaction.
|
|
15
|
+
*/
|
|
16
|
+
export declare function usePrepare({ factoryAddress, onSuccess, onError }: UsePrepareParams): import("@tanstack/react-query").UseMutationResult<{
|
|
17
|
+
hash: `0x${string}`;
|
|
18
|
+
treasury: `0x${string}` | undefined;
|
|
19
|
+
staking: `0x${string}` | undefined;
|
|
20
|
+
}, unknown, void, unknown>;
|
|
21
|
+
//# sourceMappingURL=use-prepare.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Address } from 'viem';
|
|
2
|
+
export type UseProjectQueryParams = {
|
|
3
|
+
clankerToken: Address | null;
|
|
4
|
+
enabled?: boolean;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Internal: Creates project query with all logic
|
|
8
|
+
* Used by LevrProvider
|
|
9
|
+
*/
|
|
10
|
+
export declare function useProjectQuery({ clankerToken, enabled: e }: UseProjectQueryParams): import("@tanstack/react-query").UseQueryResult<import("../..").Project | null, Error>;
|
|
11
|
+
//# sourceMappingURL=use-project.d.ts.map
|
|
@@ -0,0 +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;AAOnC,MAAM,MAAM,qBAAqB,GAAG;IAClC,YAAY,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,CAAQ,EAAE,EAAE,qBAAqB,yFAoBzF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ProjectsParams, ProjectsResult } from '../../projects';
|
|
2
|
+
export type UseProjectsParams = {
|
|
3
|
+
enabled?: boolean;
|
|
4
|
+
} & Omit<ProjectsParams, 'publicClient' | 'factoryAddress' | 'chainId'>;
|
|
5
|
+
export declare function useProjects({ enabled: e, ...params }?: UseProjectsParams): import("@tanstack/react-query").UseQueryResult<ProjectsResult, Error>;
|
|
6
|
+
//# sourceMappingURL=use-projects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-projects.d.ts","sourceRoot":"","sources":["../../../../src/client/hook/use-projects.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAGpE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,GAAG,IAAI,CAAC,cAAc,EAAE,cAAc,GAAG,gBAAgB,GAAG,SAAS,CAAC,CAAA;AAEvE,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,CAAQ,EAAE,GAAG,MAAM,EAAE,GAAE,iBAAsB,yEAmBnF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Address } from 'viem';
|
|
2
|
+
import type { ProposalsParams } from '../../proposals';
|
|
3
|
+
export type UseProposalsParams = Omit<ProposalsParams, 'publicClient'> & {
|
|
4
|
+
enabled?: boolean;
|
|
5
|
+
};
|
|
6
|
+
export type UseProposalsQueryParams = {
|
|
7
|
+
governorAddress?: Address;
|
|
8
|
+
tokenDecimals?: number;
|
|
9
|
+
enabled?: boolean;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Internal: Creates proposals query with all logic
|
|
13
|
+
* Used by LevrProvider
|
|
14
|
+
*/
|
|
15
|
+
export declare function useProposalsQuery({ governorAddress, tokenDecimals, enabled: e, }: UseProposalsQueryParams): import("@tanstack/react-query").UseQueryResult<import("../..").ProposalsResult | null, Error>;
|
|
16
|
+
//# sourceMappingURL=use-proposals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-proposals.d.ts","sourceRoot":"","sources":["../../../../src/client/hook/use-proposals.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAGnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAItD,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,GAAG;IACvE,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,eAAe,EACf,aAAkB,EAClB,OAAO,EAAE,CAAQ,GAClB,EAAE,uBAAuB,iGAqBzB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export type UseRegisterParams = {
|
|
2
|
+
onSuccess?: (params: RegisterResult) => void;
|
|
3
|
+
onError?: (error: unknown) => void;
|
|
4
|
+
};
|
|
5
|
+
export type RegisterResult = {
|
|
6
|
+
hash: `0x${string}`;
|
|
7
|
+
project: {
|
|
8
|
+
treasury: `0x${string}`;
|
|
9
|
+
governor: `0x${string}`;
|
|
10
|
+
staking: `0x${string}`;
|
|
11
|
+
stakedToken: `0x${string}`;
|
|
12
|
+
} | undefined;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Registers a project with the Levr factory.
|
|
16
|
+
* @param factoryAddress - The address of the Levr factory.
|
|
17
|
+
* @param options - The options for the register mutation.
|
|
18
|
+
* @returns The hash of the transaction.
|
|
19
|
+
*/
|
|
20
|
+
export declare function useRegister({ onSuccess, onError }: UseRegisterParams): import("@tanstack/react-query").UseMutationResult<{
|
|
21
|
+
hash: `0x${string}`;
|
|
22
|
+
project: {
|
|
23
|
+
treasury: `0x${string}`;
|
|
24
|
+
governor: `0x${string}`;
|
|
25
|
+
staking: `0x${string}`;
|
|
26
|
+
stakedToken: `0x${string}`;
|
|
27
|
+
} | undefined;
|
|
28
|
+
}, unknown, {
|
|
29
|
+
clankerToken: `0x${string}`;
|
|
30
|
+
}, unknown>;
|
|
31
|
+
//# sourceMappingURL=use-register.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-register.d.ts","sourceRoot":"","sources":["../../../../src/client/hook/use-register.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAA;IAC5C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,KAAK,MAAM,EAAE,CAAA;IACnB,OAAO,EACH;QACE,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAA;QACvB,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAA;QACvB,OAAO,EAAE,KAAK,MAAM,EAAE,CAAA;QACtB,WAAW,EAAE,KAAK,MAAM,EAAE,CAAA;KAC3B,GACD,SAAS,CAAA;CACd,CAAA;AACD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,iBAAiB;;;kBAbnD,KAAK,MAAM,EAAE;kBACb,KAAK,MAAM,EAAE;iBACd,KAAK,MAAM,EAAE;qBACT,KAAK,MAAM,EAAE;;;kBAiBa,KAAK,MAAM,EAAE;YAyF3D"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import type { Address, TransactionReceipt } from 'viem';
|
|
2
|
+
import type { ClaimParams } from '../../stake';
|
|
3
|
+
import { Stake } from '../../stake';
|
|
4
|
+
export type UseStakingQueriesParams = {
|
|
5
|
+
clankerToken: Address | null;
|
|
6
|
+
projectData: any;
|
|
7
|
+
enabled?: boolean;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Internal: Creates all staking queries with logic
|
|
11
|
+
* Used by LevrProvider
|
|
12
|
+
*/
|
|
13
|
+
export declare function useStakingQueries({ clankerToken, projectData, enabled: e, }: UseStakingQueriesParams): {
|
|
14
|
+
stakeService: Stake | null;
|
|
15
|
+
allowance: import("@tanstack/react-query").UseQueryResult<{
|
|
16
|
+
raw: bigint;
|
|
17
|
+
formatted: string;
|
|
18
|
+
}, Error>;
|
|
19
|
+
poolData: import("@tanstack/react-query").UseQueryResult<{
|
|
20
|
+
totalStaked: {
|
|
21
|
+
raw: bigint;
|
|
22
|
+
formatted: string;
|
|
23
|
+
};
|
|
24
|
+
escrowBalance: {
|
|
25
|
+
raw: bigint;
|
|
26
|
+
formatted: string;
|
|
27
|
+
};
|
|
28
|
+
streamParams: {
|
|
29
|
+
windowSeconds: number;
|
|
30
|
+
streamStart: bigint;
|
|
31
|
+
streamEnd: bigint;
|
|
32
|
+
isActive: boolean;
|
|
33
|
+
};
|
|
34
|
+
rewardRatePerSecond: {
|
|
35
|
+
raw: bigint;
|
|
36
|
+
formatted: string;
|
|
37
|
+
};
|
|
38
|
+
} | null, Error>;
|
|
39
|
+
userData: import("@tanstack/react-query").UseQueryResult<{
|
|
40
|
+
stakedBalance: {
|
|
41
|
+
raw: bigint;
|
|
42
|
+
formatted: string;
|
|
43
|
+
};
|
|
44
|
+
aprBps: {
|
|
45
|
+
raw: bigint;
|
|
46
|
+
percentage: number;
|
|
47
|
+
};
|
|
48
|
+
} | null, Error>;
|
|
49
|
+
outstandingRewardsStaking: import("@tanstack/react-query").UseQueryResult<{
|
|
50
|
+
available: {
|
|
51
|
+
raw: bigint;
|
|
52
|
+
formatted: string;
|
|
53
|
+
};
|
|
54
|
+
pending: {
|
|
55
|
+
raw: bigint;
|
|
56
|
+
formatted: string;
|
|
57
|
+
};
|
|
58
|
+
}, Error>;
|
|
59
|
+
outstandingRewardsWeth: import("@tanstack/react-query").UseQueryResult<{
|
|
60
|
+
available: {
|
|
61
|
+
raw: bigint;
|
|
62
|
+
formatted: string;
|
|
63
|
+
};
|
|
64
|
+
pending: {
|
|
65
|
+
raw: bigint;
|
|
66
|
+
formatted: string;
|
|
67
|
+
};
|
|
68
|
+
} | null, Error>;
|
|
69
|
+
claimableRewardsStaking: import("@tanstack/react-query").UseQueryResult<{
|
|
70
|
+
claimable: {
|
|
71
|
+
raw: bigint;
|
|
72
|
+
formatted: string;
|
|
73
|
+
};
|
|
74
|
+
} | null, Error>;
|
|
75
|
+
claimableRewardsWeth: import("@tanstack/react-query").UseQueryResult<{
|
|
76
|
+
claimable: {
|
|
77
|
+
raw: bigint;
|
|
78
|
+
formatted: string;
|
|
79
|
+
};
|
|
80
|
+
} | null, Error>;
|
|
81
|
+
wethRewardRate: import("@tanstack/react-query").UseQueryResult<{
|
|
82
|
+
raw: bigint;
|
|
83
|
+
formatted: string;
|
|
84
|
+
} | null, Error>;
|
|
85
|
+
aprBpsWeth: import("@tanstack/react-query").UseQueryResult<{
|
|
86
|
+
raw: bigint;
|
|
87
|
+
percentage: number;
|
|
88
|
+
} | null, Error>;
|
|
89
|
+
};
|
|
90
|
+
export type UseStakeParams = {
|
|
91
|
+
clankerToken?: `0x${string}`;
|
|
92
|
+
enabled?: boolean;
|
|
93
|
+
onApproveSuccess?: (receipt: TransactionReceipt) => void;
|
|
94
|
+
onApproveError?: (error: unknown) => void;
|
|
95
|
+
onStakeSuccess?: (receipt: TransactionReceipt) => void;
|
|
96
|
+
onStakeError?: (error: unknown) => void;
|
|
97
|
+
onUnstakeSuccess?: (receipt: TransactionReceipt) => void;
|
|
98
|
+
onUnstakeError?: (error: unknown) => void;
|
|
99
|
+
onClaimSuccess?: (receipt: TransactionReceipt) => void;
|
|
100
|
+
onClaimError?: (error: unknown) => void;
|
|
101
|
+
onAccrueSuccess?: (receipt: TransactionReceipt) => void;
|
|
102
|
+
onAccrueError?: (error: unknown) => void;
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* Hook to access staking data and mutations from LevrProvider
|
|
106
|
+
* @throws Error if used outside LevrProvider
|
|
107
|
+
*/
|
|
108
|
+
export declare function useStake({ clankerToken: _clankerToken, enabled: _enabled, onApproveSuccess, onApproveError, onStakeSuccess, onStakeError, onUnstakeSuccess, onUnstakeError, onClaimSuccess, onClaimError, onAccrueSuccess, onAccrueError, }?: UseStakeParams): {
|
|
109
|
+
approve: import("@tanstack/react-query").UseMutationResult<TransactionReceipt, unknown, string | number | bigint, unknown>;
|
|
110
|
+
stake: import("@tanstack/react-query").UseMutationResult<TransactionReceipt, unknown, string | number | bigint, unknown>;
|
|
111
|
+
unstake: import("@tanstack/react-query").UseMutationResult<TransactionReceipt, unknown, {
|
|
112
|
+
amount: number | string | bigint;
|
|
113
|
+
to?: `0x${string}`;
|
|
114
|
+
}, unknown>;
|
|
115
|
+
claim: import("@tanstack/react-query").UseMutationResult<TransactionReceipt, unknown, void | ClaimParams, unknown>;
|
|
116
|
+
accrueRewards: import("@tanstack/react-query").UseMutationResult<TransactionReceipt, unknown, `0x${string}` | undefined, unknown>;
|
|
117
|
+
accrueAllRewards: import("@tanstack/react-query").UseMutationResult<TransactionReceipt, unknown, void, unknown>;
|
|
118
|
+
allowance: import("@tanstack/react-query").UseQueryResult<{
|
|
119
|
+
raw: bigint;
|
|
120
|
+
formatted: string;
|
|
121
|
+
}>;
|
|
122
|
+
poolData: import("@tanstack/react-query").UseQueryResult<any>;
|
|
123
|
+
userData: import("@tanstack/react-query").UseQueryResult<any>;
|
|
124
|
+
outstandingRewardsStaking: import("@tanstack/react-query").UseQueryResult<{
|
|
125
|
+
available: {
|
|
126
|
+
raw: bigint;
|
|
127
|
+
formatted: string;
|
|
128
|
+
};
|
|
129
|
+
pending: {
|
|
130
|
+
raw: bigint;
|
|
131
|
+
formatted: string;
|
|
132
|
+
};
|
|
133
|
+
}>;
|
|
134
|
+
outstandingRewardsWeth: import("@tanstack/react-query").UseQueryResult<{
|
|
135
|
+
available: {
|
|
136
|
+
raw: bigint;
|
|
137
|
+
formatted: string;
|
|
138
|
+
};
|
|
139
|
+
pending: {
|
|
140
|
+
raw: bigint;
|
|
141
|
+
formatted: string;
|
|
142
|
+
};
|
|
143
|
+
} | null>;
|
|
144
|
+
claimableRewardsStaking: import("@tanstack/react-query").UseQueryResult<any>;
|
|
145
|
+
claimableRewardsWeth: import("@tanstack/react-query").UseQueryResult<any>;
|
|
146
|
+
wethRewardRate: import("@tanstack/react-query").UseQueryResult<{
|
|
147
|
+
raw: bigint;
|
|
148
|
+
formatted: string;
|
|
149
|
+
} | null>;
|
|
150
|
+
aprBpsWeth: import("@tanstack/react-query").UseQueryResult<{
|
|
151
|
+
raw: bigint;
|
|
152
|
+
percentage: number;
|
|
153
|
+
} | null>;
|
|
154
|
+
balances: import("@tanstack/react-query").UseQueryResult<Record<string, import("../..").BalanceResult>>;
|
|
155
|
+
needsApproval: (amount: string | number) => boolean;
|
|
156
|
+
tokenBalance: import("../..").BalanceResult | undefined;
|
|
157
|
+
stakedBalance: any;
|
|
158
|
+
totalStaked: any;
|
|
159
|
+
escrowBalance: any;
|
|
160
|
+
streamParams: any;
|
|
161
|
+
rewardRatePerSecond: any;
|
|
162
|
+
aprBps: any;
|
|
163
|
+
rewardsData: {
|
|
164
|
+
staking: {
|
|
165
|
+
available: {
|
|
166
|
+
raw: bigint;
|
|
167
|
+
formatted: string;
|
|
168
|
+
};
|
|
169
|
+
pending: {
|
|
170
|
+
raw: bigint;
|
|
171
|
+
formatted: string;
|
|
172
|
+
};
|
|
173
|
+
};
|
|
174
|
+
weth: {
|
|
175
|
+
available: {
|
|
176
|
+
raw: bigint;
|
|
177
|
+
formatted: string;
|
|
178
|
+
};
|
|
179
|
+
pending: {
|
|
180
|
+
raw: bigint;
|
|
181
|
+
formatted: string;
|
|
182
|
+
};
|
|
183
|
+
} | null | undefined;
|
|
184
|
+
} | null;
|
|
185
|
+
claimableData: {
|
|
186
|
+
staking: any;
|
|
187
|
+
weth: any;
|
|
188
|
+
} | null;
|
|
189
|
+
isLoadingPoolData: boolean;
|
|
190
|
+
isLoadingUserData: boolean;
|
|
191
|
+
isLoadingOutstandingRewards: boolean;
|
|
192
|
+
isLoadingClaimableRewards: boolean;
|
|
193
|
+
isLoadingBalances: boolean;
|
|
194
|
+
};
|
|
195
|
+
//# sourceMappingURL=use-stake.d.ts.map
|
|
@@ -0,0 +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,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,GAAG,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,YAAY,EACZ,WAAW,EACX,OAAO,EAAE,CAAQ,GAClB,EAAE,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqJzB;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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { TransactionReceipt } from 'viem';
|
|
2
|
+
import type { PoolKey } from '../../types';
|
|
3
|
+
export type SwapConfig = {
|
|
4
|
+
poolKey: PoolKey;
|
|
5
|
+
zeroForOne: boolean;
|
|
6
|
+
amountIn: string;
|
|
7
|
+
amountOutMinimum: string;
|
|
8
|
+
hookData?: `0x${string}`;
|
|
9
|
+
};
|
|
10
|
+
export type UseSwapParams = {
|
|
11
|
+
enabled?: boolean;
|
|
12
|
+
tokenAddress?: `0x${string}`;
|
|
13
|
+
tokenDecimals?: number;
|
|
14
|
+
quoteParams?: {
|
|
15
|
+
zeroForOne: boolean;
|
|
16
|
+
amountIn: string;
|
|
17
|
+
amountInDecimals: number;
|
|
18
|
+
amountOutDecimals: number;
|
|
19
|
+
hookData?: `0x${string}`;
|
|
20
|
+
};
|
|
21
|
+
onApproveERC20Success?: (receipt: TransactionReceipt) => void;
|
|
22
|
+
onApproveERC20Error?: (error: unknown) => void;
|
|
23
|
+
onApprovePermit2Success?: (receipt: TransactionReceipt) => void;
|
|
24
|
+
onApprovePermit2Error?: (error: unknown) => void;
|
|
25
|
+
onSwapSuccess?: (receipt: any) => void;
|
|
26
|
+
onSwapError?: (error: unknown) => void;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Hook for managing Uniswap v4 swaps
|
|
30
|
+
* Balances are fetched from LevrProvider
|
|
31
|
+
* @param params - Hook parameters
|
|
32
|
+
* @returns Queries and mutations for swap operations
|
|
33
|
+
*/
|
|
34
|
+
export declare function useSwap({ enabled, tokenAddress: _tokenAddress, tokenDecimals, quoteParams, onApproveERC20Success, onApproveERC20Error, onApprovePermit2Success, onApprovePermit2Error, onSwapSuccess, onSwapError, }?: UseSwapParams): {
|
|
35
|
+
swap: import("@tanstack/react-query").UseMutationResult<import("../..").SwapV4ReturnType, unknown, SwapConfig, unknown>;
|
|
36
|
+
balances: import("@tanstack/react-query").UseQueryResult<Record<string, import("../..").BalanceResult>>;
|
|
37
|
+
quote: import("@tanstack/react-query").UseQueryResult<{
|
|
38
|
+
amountOutFormatted: string;
|
|
39
|
+
amountOut: bigint;
|
|
40
|
+
gasEstimate: bigint;
|
|
41
|
+
hookFees?: {
|
|
42
|
+
type: "static" | "dynamic";
|
|
43
|
+
clankerFee?: number;
|
|
44
|
+
pairedFee?: number;
|
|
45
|
+
baseFee?: number;
|
|
46
|
+
maxLpFee?: number;
|
|
47
|
+
};
|
|
48
|
+
}, Error>;
|
|
49
|
+
poolKey: PoolKey | undefined;
|
|
50
|
+
tokenBalance: import("../..").BalanceResult | undefined;
|
|
51
|
+
wethBalance: import("../..").BalanceResult | undefined;
|
|
52
|
+
buildSwapConfig: ({ zeroForOne, amountIn, amountInDecimals, minAmountOut, }: {
|
|
53
|
+
zeroForOne: boolean;
|
|
54
|
+
amountIn: number;
|
|
55
|
+
amountInDecimals?: number;
|
|
56
|
+
minAmountOut: string;
|
|
57
|
+
}) => SwapConfig | null;
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=use-swap.d.ts.map
|
|
@@ -0,0 +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,GAAG,KAAK,IAAI,CAAA;IACtC,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;;;;;;;;;sBApCb,CAAC;qBAAsB,CAAC;mBAC3B,CAAC;oBACG,CAAC;;;;;;iFAyHL;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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import type { UseQueryResult } from '@tanstack/react-query';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import type { Address } from 'viem';
|
|
4
|
+
import type { BalanceResult } from '../balance';
|
|
5
|
+
import type { Stake } from '../stake';
|
|
6
|
+
import { useProjectQuery } from './hook/use-project';
|
|
7
|
+
type Project = NonNullable<ReturnType<typeof useProjectQuery>['data']>;
|
|
8
|
+
/**
|
|
9
|
+
* Context value provided by LevrProvider
|
|
10
|
+
*/
|
|
11
|
+
export type LevrContextValue = {
|
|
12
|
+
clankerToken: Address | null;
|
|
13
|
+
setClankerToken: (token: Address | null) => void;
|
|
14
|
+
chainId: number | undefined;
|
|
15
|
+
userAddress: Address | undefined;
|
|
16
|
+
project: UseQueryResult<Project | null>;
|
|
17
|
+
balances: UseQueryResult<Record<string, BalanceResult>>;
|
|
18
|
+
tokenData: UseQueryResult<{
|
|
19
|
+
originalAdmin: Address;
|
|
20
|
+
admin: Address;
|
|
21
|
+
image: string;
|
|
22
|
+
metadata: string;
|
|
23
|
+
context: string;
|
|
24
|
+
} | null>;
|
|
25
|
+
staking: {
|
|
26
|
+
allowance: UseQueryResult<{
|
|
27
|
+
raw: bigint;
|
|
28
|
+
formatted: string;
|
|
29
|
+
}>;
|
|
30
|
+
poolData: UseQueryResult<any>;
|
|
31
|
+
userData: UseQueryResult<any>;
|
|
32
|
+
outstandingRewardsStaking: UseQueryResult<{
|
|
33
|
+
available: {
|
|
34
|
+
raw: bigint;
|
|
35
|
+
formatted: string;
|
|
36
|
+
};
|
|
37
|
+
pending: {
|
|
38
|
+
raw: bigint;
|
|
39
|
+
formatted: string;
|
|
40
|
+
};
|
|
41
|
+
}>;
|
|
42
|
+
outstandingRewardsWeth: UseQueryResult<{
|
|
43
|
+
available: {
|
|
44
|
+
raw: bigint;
|
|
45
|
+
formatted: string;
|
|
46
|
+
};
|
|
47
|
+
pending: {
|
|
48
|
+
raw: bigint;
|
|
49
|
+
formatted: string;
|
|
50
|
+
};
|
|
51
|
+
} | null>;
|
|
52
|
+
claimableRewardsStaking: UseQueryResult<any>;
|
|
53
|
+
claimableRewardsWeth: UseQueryResult<any>;
|
|
54
|
+
wethRewardRate: UseQueryResult<{
|
|
55
|
+
raw: bigint;
|
|
56
|
+
formatted: string;
|
|
57
|
+
} | null>;
|
|
58
|
+
aprBpsWeth: UseQueryResult<{
|
|
59
|
+
raw: bigint;
|
|
60
|
+
percentage: number;
|
|
61
|
+
} | null>;
|
|
62
|
+
};
|
|
63
|
+
governance: {
|
|
64
|
+
currentCycleId: UseQueryResult<bigint>;
|
|
65
|
+
addresses: UseQueryResult<{
|
|
66
|
+
treasury: Address;
|
|
67
|
+
factory: Address;
|
|
68
|
+
stakedToken: Address;
|
|
69
|
+
}>;
|
|
70
|
+
airdropStatus: UseQueryResult<any>;
|
|
71
|
+
};
|
|
72
|
+
proposals: UseQueryResult<any>;
|
|
73
|
+
feeReceivers: UseQueryResult<any>;
|
|
74
|
+
refetch: {
|
|
75
|
+
all: () => Promise<void>;
|
|
76
|
+
project: () => Promise<void>;
|
|
77
|
+
balances: () => Promise<void>;
|
|
78
|
+
governance: () => Promise<void>;
|
|
79
|
+
staking: () => Promise<void>;
|
|
80
|
+
proposals: () => Promise<void>;
|
|
81
|
+
feeReceivers: () => Promise<void>;
|
|
82
|
+
afterStake: () => Promise<void>;
|
|
83
|
+
afterSwap: () => Promise<void>;
|
|
84
|
+
afterGovernance: () => Promise<void>;
|
|
85
|
+
};
|
|
86
|
+
stakeService: Stake | null;
|
|
87
|
+
};
|
|
88
|
+
export type LevrProviderProps = {
|
|
89
|
+
children: React.ReactNode;
|
|
90
|
+
/**
|
|
91
|
+
* Enable/disable all queries
|
|
92
|
+
* @default true
|
|
93
|
+
*/
|
|
94
|
+
enabled?: boolean;
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* Centralized provider for all Levr blockchain queries
|
|
98
|
+
* Eliminates query duplication and provides unified refetch management
|
|
99
|
+
*/
|
|
100
|
+
export declare function LevrProvider({ children, enabled }: LevrProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
101
|
+
/**
|
|
102
|
+
* Hook to access Levr context
|
|
103
|
+
* @throws Error if used outside LevrProvider
|
|
104
|
+
*/
|
|
105
|
+
export declare function useLevrContext(): LevrContextValue;
|
|
106
|
+
/**
|
|
107
|
+
* Hook to set the current clanker token
|
|
108
|
+
* This allows components to update the global token context
|
|
109
|
+
*/
|
|
110
|
+
export declare const useSetClankerToken: () => (token: Address | null) => void;
|
|
111
|
+
/**
|
|
112
|
+
* Hook to access refetch methods from LevrProvider
|
|
113
|
+
*/
|
|
114
|
+
export declare const useLevrRefetch: () => {
|
|
115
|
+
all: () => Promise<void>;
|
|
116
|
+
project: () => Promise<void>;
|
|
117
|
+
balances: () => Promise<void>;
|
|
118
|
+
governance: () => Promise<void>;
|
|
119
|
+
staking: () => Promise<void>;
|
|
120
|
+
proposals: () => Promise<void>;
|
|
121
|
+
feeReceivers: () => Promise<void>;
|
|
122
|
+
afterStake: () => Promise<void>;
|
|
123
|
+
afterSwap: () => Promise<void>;
|
|
124
|
+
afterGovernance: () => Promise<void>;
|
|
125
|
+
};
|
|
126
|
+
export {};
|
|
127
|
+
//# sourceMappingURL=levr-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"levr-provider.d.ts","sourceRoot":"","sources":["../../../src/client/levr-provider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { Address } from 'viem';
|
|
2
|
+
/**
|
|
3
|
+
* Centralized query key factory for all Levr queries
|
|
4
|
+
* Ensures consistent query keys across the application
|
|
5
|
+
*/
|
|
6
|
+
export declare const queryKeys: {
|
|
7
|
+
/**
|
|
8
|
+
* Project query key
|
|
9
|
+
*/
|
|
10
|
+
readonly project: (factory: Address, token: Address, chainId: number) => readonly ["project", `0x${string}`, `0x${string}`, number];
|
|
11
|
+
/**
|
|
12
|
+
* Balance query keys
|
|
13
|
+
*/
|
|
14
|
+
readonly balance: (tokens: string, userAddress: Address) => readonly ["balance", string, `0x${string}`];
|
|
15
|
+
/**
|
|
16
|
+
* Clanker SDK query keys
|
|
17
|
+
*/
|
|
18
|
+
readonly clanker: (chainId?: number, walletAddress?: Address) => readonly ["clanker", number | undefined, `0x${string}` | undefined];
|
|
19
|
+
readonly clankerToken: (tokenAddress?: Address) => readonly ["clanker-token", `0x${string}` | undefined];
|
|
20
|
+
/**
|
|
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
|
|
32
|
+
*/
|
|
33
|
+
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];
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Proposals query keys
|
|
44
|
+
*/
|
|
45
|
+
readonly proposals: (governorAddress: Address, tokenDecimals: number, fromBlock?: string, toBlock?: string, pageSize?: number) => readonly ["proposals", `0x${string}`, number, string | undefined, string | undefined, number | undefined];
|
|
46
|
+
/**
|
|
47
|
+
* Projects query keys
|
|
48
|
+
*/
|
|
49
|
+
readonly projects: (factoryAddress?: Address, chainId?: number) => readonly ["projects", `0x${string}` | undefined, number | undefined];
|
|
50
|
+
/**
|
|
51
|
+
* Swap query keys
|
|
52
|
+
*/
|
|
53
|
+
readonly swap: {
|
|
54
|
+
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
|
+
};
|
|
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
|
+
};
|
|
61
|
+
//# sourceMappingURL=query-keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-keys.d.ts","sourceRoot":"","sources":["../../../src/client/query-keys.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC;;;GAGG;AACH,eAAO,MAAM,SAAS;IACpB;;OAEG;gCACgB,OAAO,SAAS,OAAO,WAAW,MAAM;IAG3D;;OAEG;+BACe,MAAM,eAAe,OAAO;IAE9C;;OAEG;iCACiB,MAAM,kBAAkB,OAAO;2CAGrB,OAAO;IAErC;;OAEG;;8CAE4B,OAAO,iBAAiB,OAAO,gBAAgB,OAAO;6CAEvD,OAAO,iBAAiB,OAAO;6CAE/B,OAAO,gBAAgB,OAAO;uDAEpB,OAAO,iBAAiB,OAAO,gBAAgB,OAAO;qDAExD,OAAO,iBAAiB,OAAO,gBAAgB,OAAO;;IAI5F;;OAEG;;6CAE2B,OAAO,eAAe,MAAM;mDAEtB,OAAO;8CAEZ,OAAO;kDACH,OAAO,gBAAgB,OAAO;sDAE1B,OAAO,YAAY,MAAM;2CAEpC,OAAO,YAAY,MAAM;oDAEhB,OAAO,YAAY,MAAM,gBAAgB,OAAO;;IAIrF;;OAEG;0CAEgB,OAAO,iBACT,MAAM,cACT,MAAM,YACR,MAAM,aACL,MAAM;IAGnB;;OAEG;yCACyB,OAAO,YAAY,MAAM;IAGrD;;OAEG;;mCAGW,MAAM,YACN,OAAO,eACJ,OAAO,aACT,MAAM,qBACE,MAAM;;IAI7B;;OAEG;2CAC2B,OAAO,gBAAgB,OAAO,YAAY,MAAM;CAEtE,CAAA"}
|