levr-sdk 0.0.2 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proposal.d.ts","sourceRoot":"","sources":["../../src/proposal.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,8 +53,8 @@
|
|
|
53
53
|
* // Use v4Bytecode.address and v4Bytecode.data in multicall
|
|
54
54
|
* ```
|
|
55
55
|
*/
|
|
56
|
-
export type { QuoteV3Params, QuoteV3ReadReturnType
|
|
57
|
-
export type { QuoteV4Params, QuoteV4ReadReturnType
|
|
56
|
+
export type { QuoteV3BytecodeReturnType, QuoteV3Params, QuoteV3ReadReturnType } from './v3';
|
|
57
|
+
export type { QuoteV4BytecodeReturnType, QuoteV4Params, QuoteV4ReadReturnType } from './v4';
|
|
58
58
|
/**
|
|
59
59
|
* @description Unified quote API for Uniswap V3 and V4
|
|
60
60
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/quote/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAGH,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/quote/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAGH,YAAY,EAAE,yBAAyB,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,MAAM,CAAA;AAC3F,YAAY,EAAE,yBAAyB,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,MAAM,CAAA;AAM3F;;GAEG;AACH,eAAO,MAAM,KAAK;IAChB;;OAEG;;QAED;;;;WAIG;;QAEH;;;;WAIG;;;IAGL;;OAEG;;QAED;;;;WAIG;;QAEH;;;;WAIG;;;CAGN,CAAA"}
|
package/dist/types/stake.d.ts
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import type { TransactionReceipt } from 'viem';
|
|
2
|
-
import type {
|
|
2
|
+
import type { Project } from '.';
|
|
3
|
+
import type { BalanceResult, PopPublicClient, PopWalletClient } from './types';
|
|
3
4
|
export type StakeConfig = {
|
|
4
5
|
wallet: PopWalletClient;
|
|
5
6
|
publicClient: PopPublicClient;
|
|
6
|
-
|
|
7
|
-
tokenAddress: `0x${string}`;
|
|
8
|
-
tokenDecimals: number;
|
|
9
|
-
trustedForwarder?: `0x${string}`;
|
|
10
|
-
pricing?: PricingResult;
|
|
7
|
+
project: Project;
|
|
11
8
|
};
|
|
12
9
|
export type UnstakeParams = {
|
|
13
10
|
amount: number | string | bigint;
|
|
@@ -42,6 +39,10 @@ export type StakeOutstandingRewards = {
|
|
|
42
39
|
export type StakeClaimableRewards = {
|
|
43
40
|
claimable: BalanceResult;
|
|
44
41
|
};
|
|
42
|
+
export type VotingPowerResult = {
|
|
43
|
+
tokenDays: bigint;
|
|
44
|
+
formatted: string;
|
|
45
|
+
};
|
|
45
46
|
export declare class Stake {
|
|
46
47
|
private wallet;
|
|
47
48
|
private publicClient;
|
|
@@ -51,7 +52,6 @@ export declare class Stake {
|
|
|
51
52
|
private chainId;
|
|
52
53
|
private userAddress;
|
|
53
54
|
private trustedForwarder?;
|
|
54
|
-
private pricing?;
|
|
55
55
|
constructor(config: StakeConfig);
|
|
56
56
|
/**
|
|
57
57
|
* Approve ERC20 tokens for spending by the staking contract
|
|
@@ -63,36 +63,16 @@ export declare class Stake {
|
|
|
63
63
|
stake(amount: number | string | bigint): Promise<TransactionReceipt>;
|
|
64
64
|
/**
|
|
65
65
|
* Unstake tokens from the staking contract
|
|
66
|
+
* @returns Transaction receipt with the new voting power after unstake
|
|
66
67
|
*/
|
|
67
|
-
unstake({ amount, to }: UnstakeParams): Promise<
|
|
68
|
+
unstake({ amount, to }: UnstakeParams): Promise<{
|
|
69
|
+
receipt: TransactionReceipt;
|
|
70
|
+
newVotingPower: bigint;
|
|
71
|
+
}>;
|
|
68
72
|
/**
|
|
69
73
|
* Claim rewards from the staking contract
|
|
70
74
|
*/
|
|
71
75
|
claimRewards(params: ClaimParams | void): Promise<TransactionReceipt>;
|
|
72
|
-
/**
|
|
73
|
-
* Get allowance for a token and spender
|
|
74
|
-
*/
|
|
75
|
-
getAllowance(): Promise<BalanceResult>;
|
|
76
|
-
/**
|
|
77
|
-
* Get pool data from staking contract
|
|
78
|
-
*/
|
|
79
|
-
getPoolData(): Promise<StakePoolData>;
|
|
80
|
-
/**
|
|
81
|
-
* Get user data from staking contract
|
|
82
|
-
*/
|
|
83
|
-
getUserData(): Promise<StakeUserData>;
|
|
84
|
-
/**
|
|
85
|
-
* Get outstanding rewards for the token (for accrual purposes)
|
|
86
|
-
*/
|
|
87
|
-
getOutstandingRewards(tokenAddress?: `0x${string}`): Promise<StakeOutstandingRewards>;
|
|
88
|
-
/**
|
|
89
|
-
* Get claimable rewards for the current user and token
|
|
90
|
-
*/
|
|
91
|
-
getClaimableRewards(tokenAddress?: `0x${string}`): Promise<StakeClaimableRewards>;
|
|
92
|
-
/**
|
|
93
|
-
* Get reward rate per second for a specific token
|
|
94
|
-
*/
|
|
95
|
-
getRewardRatePerSecond(tokenAddress?: `0x${string}`): Promise<BalanceResult>;
|
|
96
76
|
/**
|
|
97
77
|
* Accrue rewards by triggering automatic collection from LP locker and claiming from ClankerFeeLocker
|
|
98
78
|
*/
|
|
@@ -102,15 +82,10 @@ export declare class Stake {
|
|
|
102
82
|
*/
|
|
103
83
|
accrueAllRewards(tokenAddresses: `0x${string}`[]): Promise<TransactionReceipt>;
|
|
104
84
|
/**
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
*
|
|
108
|
-
*
|
|
109
|
-
* @returns WETH APR in basis points and percentage
|
|
85
|
+
* Simulate voting power after an unstake (without executing the transaction)
|
|
86
|
+
* @param amount Amount to unstake
|
|
87
|
+
* @returns Predicted voting power in token-days after the unstake
|
|
110
88
|
*/
|
|
111
|
-
|
|
112
|
-
raw: bigint;
|
|
113
|
-
percentage: number;
|
|
114
|
-
}>;
|
|
89
|
+
votingPowerOnUnstake(amount: number | string | bigint, userAddress?: `0x${string}`): Promise<VotingPowerResult>;
|
|
115
90
|
}
|
|
116
91
|
//# sourceMappingURL=stake.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stake.d.ts","sourceRoot":"","sources":["../../src/stake.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stake.d.ts","sourceRoot":"","sources":["../../src/stake.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { BalanceResult, PopPublicClient } from './types';
|
|
2
|
+
export type AirdropStatus = {
|
|
3
|
+
availableAmount: BalanceResult;
|
|
4
|
+
allocatedAmount: BalanceResult;
|
|
5
|
+
isAvailable: boolean;
|
|
6
|
+
error?: string;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Get treasury airdrop status
|
|
10
|
+
*/
|
|
11
|
+
export declare function getTreasuryAirdropStatus(publicClient: PopPublicClient, clankerToken: `0x${string}`, treasury: `0x${string}`, tokenDecimals: number, tokenUsdPrice: number | null): Promise<AirdropStatus | null>;
|
|
12
|
+
/**
|
|
13
|
+
* Get available airdrop amount for treasury
|
|
14
|
+
*/
|
|
15
|
+
export declare function getTreasuryAirdropAvailable(publicClient: PopPublicClient, clankerToken: `0x${string}`, treasury: `0x${string}`): Promise<bigint>;
|
|
16
|
+
//# sourceMappingURL=treasury.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"treasury.d.ts","sourceRoot":"","sources":["../../src/treasury.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE7D,MAAM,MAAM,aAAa,GAAG;IAC1B,eAAe,EAAE,aAAa,CAAA;IAC9B,eAAe,EAAE,aAAa,CAAA;IAC9B,WAAW,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AA8JD;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,YAAY,EAAE,eAAe,EAC7B,YAAY,EAAE,KAAK,MAAM,EAAE,EAC3B,QAAQ,EAAE,KAAK,MAAM,EAAE,EACvB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GAAG,IAAI,GAC3B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CA8B/B;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,YAAY,EAAE,eAAe,EAC7B,YAAY,EAAE,KAAK,MAAM,EAAE,EAC3B,QAAQ,EAAE,KAAK,MAAM,EAAE,GACtB,OAAO,CAAC,MAAM,CAAC,CAGjB"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import type { Project } from './project';
|
|
2
|
+
import type { BalanceResult, PopPublicClient } from './types';
|
|
3
|
+
export type UserParams = {
|
|
4
|
+
publicClient: PopPublicClient;
|
|
5
|
+
userAddress: `0x${string}`;
|
|
6
|
+
project: Project;
|
|
7
|
+
};
|
|
8
|
+
export type UserBalances = {
|
|
9
|
+
token: BalanceResult;
|
|
10
|
+
weth: BalanceResult;
|
|
11
|
+
eth: BalanceResult;
|
|
12
|
+
};
|
|
13
|
+
export type UserStaking = {
|
|
14
|
+
stakedBalance: BalanceResult;
|
|
15
|
+
allowance: BalanceResult;
|
|
16
|
+
claimableRewards: {
|
|
17
|
+
staking: BalanceResult;
|
|
18
|
+
weth: BalanceResult | null;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export type User = {
|
|
22
|
+
balances: UserBalances;
|
|
23
|
+
staking: UserStaking;
|
|
24
|
+
votingPower: BalanceResult;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Helper: Get balance contracts for multicall composition
|
|
28
|
+
*/
|
|
29
|
+
export declare function balanceContracts(params: {
|
|
30
|
+
userAddress: `0x${string}`;
|
|
31
|
+
clankerToken: `0x${string}`;
|
|
32
|
+
wethAddress?: `0x${string}`;
|
|
33
|
+
}): {
|
|
34
|
+
address: `0x${string}`;
|
|
35
|
+
abi: readonly [{
|
|
36
|
+
readonly type: "event";
|
|
37
|
+
readonly name: "Approval";
|
|
38
|
+
readonly inputs: readonly [{
|
|
39
|
+
readonly indexed: true;
|
|
40
|
+
readonly name: "owner";
|
|
41
|
+
readonly type: "address";
|
|
42
|
+
}, {
|
|
43
|
+
readonly indexed: true;
|
|
44
|
+
readonly name: "spender";
|
|
45
|
+
readonly type: "address";
|
|
46
|
+
}, {
|
|
47
|
+
readonly indexed: false;
|
|
48
|
+
readonly name: "value";
|
|
49
|
+
readonly type: "uint256";
|
|
50
|
+
}];
|
|
51
|
+
}, {
|
|
52
|
+
readonly type: "event";
|
|
53
|
+
readonly name: "Transfer";
|
|
54
|
+
readonly inputs: readonly [{
|
|
55
|
+
readonly indexed: true;
|
|
56
|
+
readonly name: "from";
|
|
57
|
+
readonly type: "address";
|
|
58
|
+
}, {
|
|
59
|
+
readonly indexed: true;
|
|
60
|
+
readonly name: "to";
|
|
61
|
+
readonly type: "address";
|
|
62
|
+
}, {
|
|
63
|
+
readonly indexed: false;
|
|
64
|
+
readonly name: "value";
|
|
65
|
+
readonly type: "uint256";
|
|
66
|
+
}];
|
|
67
|
+
}, {
|
|
68
|
+
readonly type: "function";
|
|
69
|
+
readonly name: "allowance";
|
|
70
|
+
readonly stateMutability: "view";
|
|
71
|
+
readonly inputs: readonly [{
|
|
72
|
+
readonly name: "owner";
|
|
73
|
+
readonly type: "address";
|
|
74
|
+
}, {
|
|
75
|
+
readonly name: "spender";
|
|
76
|
+
readonly type: "address";
|
|
77
|
+
}];
|
|
78
|
+
readonly outputs: readonly [{
|
|
79
|
+
readonly type: "uint256";
|
|
80
|
+
}];
|
|
81
|
+
}, {
|
|
82
|
+
readonly type: "function";
|
|
83
|
+
readonly name: "approve";
|
|
84
|
+
readonly stateMutability: "nonpayable";
|
|
85
|
+
readonly inputs: readonly [{
|
|
86
|
+
readonly name: "spender";
|
|
87
|
+
readonly type: "address";
|
|
88
|
+
}, {
|
|
89
|
+
readonly name: "amount";
|
|
90
|
+
readonly type: "uint256";
|
|
91
|
+
}];
|
|
92
|
+
readonly outputs: readonly [{
|
|
93
|
+
readonly type: "bool";
|
|
94
|
+
}];
|
|
95
|
+
}, {
|
|
96
|
+
readonly type: "function";
|
|
97
|
+
readonly name: "balanceOf";
|
|
98
|
+
readonly stateMutability: "view";
|
|
99
|
+
readonly inputs: readonly [{
|
|
100
|
+
readonly name: "account";
|
|
101
|
+
readonly type: "address";
|
|
102
|
+
}];
|
|
103
|
+
readonly outputs: readonly [{
|
|
104
|
+
readonly type: "uint256";
|
|
105
|
+
}];
|
|
106
|
+
}, {
|
|
107
|
+
readonly type: "function";
|
|
108
|
+
readonly name: "decimals";
|
|
109
|
+
readonly stateMutability: "view";
|
|
110
|
+
readonly inputs: readonly [];
|
|
111
|
+
readonly outputs: readonly [{
|
|
112
|
+
readonly type: "uint8";
|
|
113
|
+
}];
|
|
114
|
+
}, {
|
|
115
|
+
readonly type: "function";
|
|
116
|
+
readonly name: "name";
|
|
117
|
+
readonly stateMutability: "view";
|
|
118
|
+
readonly inputs: readonly [];
|
|
119
|
+
readonly outputs: readonly [{
|
|
120
|
+
readonly type: "string";
|
|
121
|
+
}];
|
|
122
|
+
}, {
|
|
123
|
+
readonly type: "function";
|
|
124
|
+
readonly name: "symbol";
|
|
125
|
+
readonly stateMutability: "view";
|
|
126
|
+
readonly inputs: readonly [];
|
|
127
|
+
readonly outputs: readonly [{
|
|
128
|
+
readonly type: "string";
|
|
129
|
+
}];
|
|
130
|
+
}, {
|
|
131
|
+
readonly type: "function";
|
|
132
|
+
readonly name: "totalSupply";
|
|
133
|
+
readonly stateMutability: "view";
|
|
134
|
+
readonly inputs: readonly [];
|
|
135
|
+
readonly outputs: readonly [{
|
|
136
|
+
readonly type: "uint256";
|
|
137
|
+
}];
|
|
138
|
+
}, {
|
|
139
|
+
readonly type: "function";
|
|
140
|
+
readonly name: "transfer";
|
|
141
|
+
readonly stateMutability: "nonpayable";
|
|
142
|
+
readonly inputs: readonly [{
|
|
143
|
+
readonly name: "recipient";
|
|
144
|
+
readonly type: "address";
|
|
145
|
+
}, {
|
|
146
|
+
readonly name: "amount";
|
|
147
|
+
readonly type: "uint256";
|
|
148
|
+
}];
|
|
149
|
+
readonly outputs: readonly [{
|
|
150
|
+
readonly type: "bool";
|
|
151
|
+
}];
|
|
152
|
+
}, {
|
|
153
|
+
readonly type: "function";
|
|
154
|
+
readonly name: "transferFrom";
|
|
155
|
+
readonly stateMutability: "nonpayable";
|
|
156
|
+
readonly inputs: readonly [{
|
|
157
|
+
readonly name: "sender";
|
|
158
|
+
readonly type: "address";
|
|
159
|
+
}, {
|
|
160
|
+
readonly name: "recipient";
|
|
161
|
+
readonly type: "address";
|
|
162
|
+
}, {
|
|
163
|
+
readonly name: "amount";
|
|
164
|
+
readonly type: "uint256";
|
|
165
|
+
}];
|
|
166
|
+
readonly outputs: readonly [{
|
|
167
|
+
readonly type: "bool";
|
|
168
|
+
}];
|
|
169
|
+
}];
|
|
170
|
+
functionName: "balanceOf";
|
|
171
|
+
args: `0x${string}`[];
|
|
172
|
+
}[];
|
|
173
|
+
/**
|
|
174
|
+
* Helper: Get user-specific staking contracts for multicall composition
|
|
175
|
+
* Pool-level stats (totalStaked, apr, outstandingRewards) now in project.ts
|
|
176
|
+
*/
|
|
177
|
+
export declare function stakingContracts(params: {
|
|
178
|
+
userAddress: `0x${string}`;
|
|
179
|
+
stakingAddress: `0x${string}`;
|
|
180
|
+
clankerToken: `0x${string}`;
|
|
181
|
+
wethAddress?: `0x${string}`;
|
|
182
|
+
}): any[];
|
|
183
|
+
/**
|
|
184
|
+
* Get all user-related data in a single efficient multicall
|
|
185
|
+
* Composes balances, staking, and governance data with USD values
|
|
186
|
+
*/
|
|
187
|
+
export declare function getUser({ publicClient, userAddress, project }: UserParams): Promise<User>;
|
|
188
|
+
//# sourceMappingURL=user.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/user.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE7D,MAAM,MAAM,UAAU,GAAG;IACvB,YAAY,EAAE,eAAe,CAAA;IAC7B,WAAW,EAAE,KAAK,MAAM,EAAE,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,aAAa,CAAA;IACpB,IAAI,EAAE,aAAa,CAAA;IACnB,GAAG,EAAE,aAAa,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,aAAa,EAAE,aAAa,CAAA;IAC5B,SAAS,EAAE,aAAa,CAAA;IACxB,gBAAgB,EAAE;QAChB,OAAO,EAAE,aAAa,CAAA;QACtB,IAAI,EAAE,aAAa,GAAG,IAAI,CAAA;KAC3B,CAAA;CACF,CAAA;AAED,MAAM,MAAM,IAAI,GAAG;IACjB,QAAQ,EAAE,YAAY,CAAA;IACtB,OAAO,EAAE,WAAW,CAAA;IACpB,WAAW,EAAE,aAAa,CAAA;CAC3B,CAAA;AAMD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAA;IAC1B,YAAY,EAAE,KAAK,MAAM,EAAE,CAAA;IAC3B,WAAW,CAAC,EAAE,KAAK,MAAM,EAAE,CAAA;CAC5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoBA;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAA;IAC1B,cAAc,EAAE,KAAK,MAAM,EAAE,CAAA;IAC7B,YAAY,EAAE,KAAK,MAAM,EAAE,CAAA;IAC3B,WAAW,CAAC,EAAE,KAAK,MAAM,EAAE,CAAA;CAC5B,SAsCA;AAMD;;;GAGG;AACH,wBAAsB,OAAO,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAuF/F"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "levr-sdk",
|
|
3
3
|
"description": "Leverage your Clanker launch with DAO capabilities",
|
|
4
|
-
"version": "0.0
|
|
4
|
+
"version": "0.1.0",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"exports": {
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"update-abis": "bun run script/update-abis.ts && prettier --write src/abis/**/*.ts",
|
|
24
24
|
"watch": "bun run script/tsgo-watch.ts",
|
|
25
25
|
"type-check": "tsgo --noEmit --pretty",
|
|
26
|
-
"format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,md}\"",
|
|
26
|
+
"format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,md}\" && eslint --fix --quiet",
|
|
27
27
|
"lint": "eslint",
|
|
28
28
|
"fill-placeholders": "sh ./script/fill-placeholders.sh",
|
|
29
29
|
"warp": "bun -e \"import { warpAnvil } from './test/util.ts'; await warpAnvil(120)\"",
|
|
@@ -69,10 +69,13 @@
|
|
|
69
69
|
"devDependencies": {
|
|
70
70
|
"@commitlint/cli": "^19.8.1",
|
|
71
71
|
"@commitlint/config-conventional": "^19.8.1",
|
|
72
|
+
"@happy-dom/global-registrator": "^20.0.0",
|
|
73
|
+
"@testing-library/react": "^16.3.0",
|
|
72
74
|
"@types/bun": "^1.2.22",
|
|
73
75
|
"@types/debug": "^4.1.12",
|
|
74
76
|
"eslint-plugin-prettier": "^5.5.4",
|
|
75
77
|
"eslint-plugin-simple-import-sort": "^12.1.1",
|
|
78
|
+
"happy-dom": "^20.0.0",
|
|
76
79
|
"husky": "^9.1.7",
|
|
77
80
|
"lint-staged": "^15.5.2",
|
|
78
81
|
"pinst": "^3.0.0",
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { useQuery } from "@tanstack/react-query";
|
|
3
|
-
import { useMemo } from "react";
|
|
4
|
-
import { zeroAddress } from "viem";
|
|
5
|
-
import { useAccount, useChainId, usePublicClient } from "wagmi";
|
|
6
|
-
import { balance } from "../../balance.js";
|
|
7
|
-
import { WETH } from "../../constants.js";
|
|
8
|
-
import { queryKeys } from "../query-keys.js";
|
|
9
|
-
/**
|
|
10
|
-
* Internal: Creates balance query with all logic
|
|
11
|
-
* Used by LevrProvider
|
|
12
|
-
*/
|
|
13
|
-
export function useBalanceQuery({ clankerToken, projectTokenDecimals = 18, pricing, enabled: e = true, }) {
|
|
14
|
-
const publicClient = usePublicClient();
|
|
15
|
-
const chainId = useChainId();
|
|
16
|
-
const { address: userAddress } = useAccount();
|
|
17
|
-
const wethAddress = WETH(chainId)?.address;
|
|
18
|
-
const tokenAddresses = useMemo(() => {
|
|
19
|
-
const addresses = [];
|
|
20
|
-
if (clankerToken) {
|
|
21
|
-
addresses.push({
|
|
22
|
-
address: clankerToken,
|
|
23
|
-
decimals: projectTokenDecimals,
|
|
24
|
-
key: "token",
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
if (wethAddress) {
|
|
28
|
-
addresses.push({
|
|
29
|
-
address: wethAddress,
|
|
30
|
-
decimals: 18,
|
|
31
|
-
key: "weth",
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
// Add native ETH balance
|
|
35
|
-
addresses.push({
|
|
36
|
-
address: zeroAddress,
|
|
37
|
-
decimals: 18,
|
|
38
|
-
key: "eth",
|
|
39
|
-
});
|
|
40
|
-
return addresses;
|
|
41
|
-
}, [clankerToken, projectTokenDecimals, wethAddress]);
|
|
42
|
-
return useQuery({
|
|
43
|
-
queryKey: queryKeys.balance(tokenAddresses.map((t) => t.address).join(","), userAddress),
|
|
44
|
-
queryFn: async () => {
|
|
45
|
-
if (!userAddress || tokenAddresses.length === 0)
|
|
46
|
-
return {};
|
|
47
|
-
return balance({
|
|
48
|
-
publicClient: publicClient,
|
|
49
|
-
address: userAddress,
|
|
50
|
-
tokens: tokenAddresses,
|
|
51
|
-
pricing,
|
|
52
|
-
});
|
|
53
|
-
},
|
|
54
|
-
enabled: e && !!publicClient && !!userAddress && tokenAddresses.length > 0,
|
|
55
|
-
refetchInterval: 10000,
|
|
56
|
-
});
|
|
57
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-balance.js","sourceRoot":"","sources":["../../../../src/client/hook/use-balance.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AAI/D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAezC;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,YAAY,EACZ,oBAAoB,GAAG,EAAE,EACzB,OAAO,EACP,OAAO,EAAE,CAAC,GAAG,IAAI,GACK;IACtB,MAAM,YAAY,GAAG,eAAe,EAAE,CAAA;IACtC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAC5B,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,EAAE,CAAA;IAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAE1C,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE;QAClC,MAAM,SAAS,GAA+D,EAAE,CAAA;QAEhF,IAAI,YAAY,EAAE,CAAC;YACjB,SAAS,CAAC,IAAI,CAAC;gBACb,OAAO,EAAE,YAAY;gBACrB,QAAQ,EAAE,oBAAoB;gBAC9B,GAAG,EAAE,OAAO;aACb,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,SAAS,CAAC,IAAI,CAAC;gBACb,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,EAAE;gBACZ,GAAG,EAAE,MAAM;aACZ,CAAC,CAAA;QACJ,CAAC;QAED,yBAAyB;QACzB,SAAS,CAAC,IAAI,CAAC;YACb,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE,EAAE;YACZ,GAAG,EAAE,KAAK;SACX,CAAC,CAAA;QAEF,OAAO,SAAS,CAAA;IAClB,CAAC,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,WAAW,CAAC,CAAC,CAAA;IAErD,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,WAAY,CAAC;QACzF,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC,WAAW,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAA;YAE1D,OAAO,OAAO,CAAC;gBACb,YAAY,EAAE,YAAa;gBAC3B,OAAO,EAAE,WAAW;gBACpB,MAAM,EAAE,cAAc;gBACtB,OAAO;aACR,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,WAAW,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;QAC1E,eAAe,EAAE,MAAM;KACxB,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { useQuery } from "@tanstack/react-query";
|
|
3
|
-
import { useAccount, usePublicClient } from "wagmi";
|
|
4
|
-
import { GET_FACTORY_ADDRESS } from "../../constants.js";
|
|
5
|
-
import { projects } from "../../projects.js";
|
|
6
|
-
export function useProjects({ enabled: e = true, ...params } = {}) {
|
|
7
|
-
const { chainId } = useAccount();
|
|
8
|
-
const publicClient = usePublicClient();
|
|
9
|
-
const factoryAddress = GET_FACTORY_ADDRESS(chainId);
|
|
10
|
-
const enabled = !!publicClient && !!factoryAddress && e;
|
|
11
|
-
return useQuery({
|
|
12
|
-
queryKey: ["projects", factoryAddress, chainId, params],
|
|
13
|
-
enabled,
|
|
14
|
-
queryFn: () => projects({
|
|
15
|
-
publicClient: publicClient,
|
|
16
|
-
factoryAddress: factoryAddress,
|
|
17
|
-
chainId: chainId,
|
|
18
|
-
...params,
|
|
19
|
-
}),
|
|
20
|
-
staleTime: 30000,
|
|
21
|
-
});
|
|
22
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-projects.js","sourceRoot":"","sources":["../../../../src/client/hook/use-projects.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AAEnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAMzC,MAAM,UAAU,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,MAAM,KAAwB,EAAE;IAClF,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAA;IAChC,MAAM,YAAY,GAAG,eAAe,EAAE,CAAA;IACtC,MAAM,cAAc,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAEnD,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,CAAA;IAEvD,OAAO,QAAQ,CAAiB;QAC9B,QAAQ,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC;QACvD,OAAO;QACP,OAAO,EAAE,GAAG,EAAE,CACZ,QAAQ,CAAC;YACP,YAAY,EAAE,YAAa;YAC3B,cAAc,EAAE,cAAe;YAC/B,OAAO,EAAE,OAAQ;YACjB,GAAG,MAAM;SACV,CAAC;QACJ,SAAS,EAAE,MAAM;KAClB,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { useQuery } from "@tanstack/react-query";
|
|
3
|
-
import { usePublicClient } from "wagmi";
|
|
4
|
-
import { proposals as proposalsListQuery } from "../../proposals.js";
|
|
5
|
-
import { queryKeys } from "../query-keys.js";
|
|
6
|
-
/**
|
|
7
|
-
* Internal: Creates proposals query with all logic
|
|
8
|
-
* Used by LevrProvider
|
|
9
|
-
*/
|
|
10
|
-
export function useProposalsQuery({ governorAddress, tokenDecimals = 18, enabled: e = true, }) {
|
|
11
|
-
const publicClient = usePublicClient();
|
|
12
|
-
return useQuery({
|
|
13
|
-
queryKey: queryKeys.proposals(governorAddress, tokenDecimals, undefined, "latest", 50),
|
|
14
|
-
queryFn: async () => {
|
|
15
|
-
return proposalsListQuery({
|
|
16
|
-
publicClient: publicClient,
|
|
17
|
-
governorAddress: governorAddress,
|
|
18
|
-
tokenDecimals,
|
|
19
|
-
fromBlock: undefined,
|
|
20
|
-
toBlock: "latest",
|
|
21
|
-
pageSize: 50,
|
|
22
|
-
});
|
|
23
|
-
},
|
|
24
|
-
enabled: e && !!publicClient && !!governorAddress,
|
|
25
|
-
retry: 1,
|
|
26
|
-
staleTime: 5000,
|
|
27
|
-
refetchInterval: 30000,
|
|
28
|
-
});
|
|
29
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-proposals.js","sourceRoot":"","sources":["../../../../src/client/hook/use-proposals.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AAGvC,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAYzC;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAChC,eAAe,EACf,aAAa,GAAG,EAAE,EAClB,OAAO,EAAE,CAAC,GAAG,IAAI,GACO;IACxB,MAAM,YAAY,GAAG,eAAe,EAAE,CAAA;IAEtC,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,eAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC;QACvF,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO,kBAAkB,CAAC;gBACxB,YAAY,EAAE,YAAa;gBAC3B,eAAe,EAAE,eAAgB;gBACjC,aAAa;gBACb,SAAS,EAAE,SAAS;gBACpB,OAAO,EAAE,QAAQ;gBACjB,QAAQ,EAAE,EAAE;aACb,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,eAAe;QACjD,KAAK,EAAE,CAAC;QACR,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,KAAK;KACvB,CAAC,CAAA;AACJ,CAAC"}
|