levr-sdk 0.2.2 → 0.3.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/dist/esm/abis/ClankerAirdropV2.js +289 -0
- package/dist/esm/abis/ClankerVault.js +215 -0
- package/dist/esm/abis/LevrFactory_v1.js +23 -0
- package/dist/esm/abis/LevrFeeSplitterFactory_v1.js +197 -0
- package/dist/esm/abis/LevrFeeSplitter_v1.js +544 -0
- package/dist/esm/abis/LevrGovernor_v1.js +10 -0
- package/dist/esm/abis/index.js +4 -0
- package/dist/esm/airdrop.js +160 -0
- package/dist/esm/airdrop.js.map +1 -0
- package/dist/esm/build-calldatas-v4.js +3 -1
- package/dist/esm/build-calldatas-v4.js.map +1 -1
- package/dist/esm/build-clanker-v4.js +75 -25
- package/dist/esm/build-clanker-v4.js.map +1 -1
- package/dist/esm/client/hook/index.js +10 -0
- package/dist/esm/client/hook/index.js.map +1 -1
- package/dist/esm/client/hook/use-airdrop.js +8 -4
- package/dist/esm/client/hook/use-airdrop.js.map +1 -1
- package/dist/esm/client/hook/use-configure-splits.js +43 -0
- package/dist/esm/client/hook/use-configure-splits.js.map +1 -0
- package/dist/esm/client/hook/use-deploy.js +3 -3
- package/dist/esm/client/hook/use-deploy.js.map +1 -1
- package/dist/esm/client/hook/use-factory.js +33 -0
- package/dist/esm/client/hook/use-factory.js.map +1 -0
- package/dist/esm/client/hook/use-fee-receivers.js +3 -2
- package/dist/esm/client/hook/use-fee-receivers.js.map +1 -1
- package/dist/esm/client/hook/use-governance.js +18 -3
- package/dist/esm/client/hook/use-governance.js.map +1 -1
- package/dist/esm/client/hook/use-project.js +7 -3
- package/dist/esm/client/hook/use-project.js.map +1 -1
- package/dist/esm/client/hook/use-proposal.js +11 -5
- package/dist/esm/client/hook/use-proposal.js.map +1 -1
- package/dist/esm/client/hook/use-stake.js +1 -1
- package/dist/esm/client/hook/use-stake.js.map +1 -1
- package/dist/esm/client/hook/use-vault.js +67 -0
- package/dist/esm/client/hook/use-vault.js.map +1 -0
- package/dist/esm/client/levr-provider.js +18 -2
- package/dist/esm/client/levr-provider.js.map +1 -1
- package/dist/esm/client/query-keys.js +13 -1
- package/dist/esm/client/query-keys.js.map +1 -1
- package/dist/esm/constants.js +83 -6
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/deploy-v4.js +56 -3
- package/dist/esm/deploy-v4.js.map +1 -1
- package/dist/esm/factory.js +94 -0
- package/dist/esm/factory.js.map +1 -0
- package/dist/esm/fee-receivers.js +265 -4
- package/dist/esm/fee-receivers.js.map +1 -1
- package/dist/esm/fee-splitter.js +68 -0
- package/dist/esm/fee-splitter.js.map +1 -0
- package/dist/esm/governance.js +86 -9
- package/dist/esm/governance.js.map +1 -1
- package/dist/esm/index.js +5 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/ipfs-merkle-tree.js +130 -0
- package/dist/esm/ipfs-merkle-tree.js.map +1 -0
- package/dist/esm/project.js +114 -26
- package/dist/esm/project.js.map +1 -1
- package/dist/esm/schema/levr.schema.js +94 -33
- package/dist/esm/schema/levr.schema.js.map +1 -1
- package/dist/esm/stake.js +157 -19
- package/dist/esm/stake.js.map +1 -1
- package/dist/esm/vault.js +136 -0
- package/dist/esm/vault.js.map +1 -0
- package/dist/types/abis/ClankerAirdropV2.d.ts +573 -0
- package/dist/types/abis/ClankerVault.d.ts +407 -0
- package/dist/types/abis/LevrFactory_v1.d.ts +18 -0
- package/dist/types/abis/LevrFeeSplitterFactory_v1.d.ts +149 -0
- package/dist/types/abis/LevrFeeSplitter_v1.d.ts +422 -0
- package/dist/types/abis/LevrGovernor_v1.d.ts +8 -0
- package/dist/types/abis/index.d.ts +4 -0
- package/dist/types/airdrop.d.ts +18 -0
- package/dist/types/airdrop.d.ts.map +1 -0
- package/dist/types/build-calldatas-v4.d.ts +3 -0
- package/dist/types/build-calldatas-v4.d.ts.map +1 -1
- package/dist/types/build-clanker-v4.d.ts +6 -1
- package/dist/types/build-clanker-v4.d.ts.map +1 -1
- package/dist/types/client/hook/index.d.ts +10 -0
- package/dist/types/client/hook/index.d.ts.map +1 -1
- package/dist/types/client/hook/use-airdrop.d.ts +3 -1
- package/dist/types/client/hook/use-airdrop.d.ts.map +1 -1
- package/dist/types/client/hook/use-configure-splits.d.ts +17 -0
- package/dist/types/client/hook/use-configure-splits.d.ts.map +1 -0
- package/dist/types/client/hook/use-deploy.d.ts +21 -14
- package/dist/types/client/hook/use-deploy.d.ts.map +1 -1
- package/dist/types/client/hook/use-factory.d.ts +34 -0
- package/dist/types/client/hook/use-factory.d.ts.map +1 -0
- package/dist/types/client/hook/use-fee-receivers.d.ts +1 -1
- package/dist/types/client/hook/use-fee-receivers.d.ts.map +1 -1
- package/dist/types/client/hook/use-governance.d.ts +18 -2
- package/dist/types/client/hook/use-governance.d.ts.map +1 -1
- package/dist/types/client/hook/use-project.d.ts +169 -1
- package/dist/types/client/hook/use-project.d.ts.map +1 -1
- package/dist/types/client/hook/use-proposal.d.ts +3 -2
- package/dist/types/client/hook/use-proposal.d.ts.map +1 -1
- package/dist/types/client/hook/use-vault.d.ts +13 -0
- package/dist/types/client/hook/use-vault.d.ts.map +1 -0
- package/dist/types/client/levr-provider.d.ts +15 -1
- package/dist/types/client/levr-provider.d.ts.map +1 -1
- package/dist/types/client/query-keys.d.ts +13 -1
- package/dist/types/client/query-keys.d.ts.map +1 -1
- package/dist/types/constants.d.ts +59 -1
- package/dist/types/constants.d.ts.map +1 -1
- package/dist/types/deploy-v4.d.ts +3 -1
- package/dist/types/deploy-v4.d.ts.map +1 -1
- package/dist/types/factory.d.ts +21 -0
- package/dist/types/factory.d.ts.map +1 -0
- package/dist/types/fee-receivers.d.ts +1822 -1
- package/dist/types/fee-receivers.d.ts.map +1 -1
- package/dist/types/fee-splitter.d.ts +23 -0
- package/dist/types/fee-splitter.d.ts.map +1 -0
- package/dist/types/governance.d.ts +18 -2
- package/dist/types/governance.d.ts.map +1 -1
- package/dist/types/index.d.ts +5 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/ipfs-merkle-tree.d.ts +72 -0
- package/dist/types/ipfs-merkle-tree.d.ts.map +1 -0
- package/dist/types/project.d.ts +10 -2
- package/dist/types/project.d.ts.map +1 -1
- package/dist/types/proposal.d.ts +16 -0
- package/dist/types/proposal.d.ts.map +1 -1
- package/dist/types/schema/levr.schema.d.ts +16 -4
- package/dist/types/schema/levr.schema.d.ts.map +1 -1
- package/dist/types/stake.d.ts +33 -2
- package/dist/types/stake.d.ts.map +1 -1
- package/dist/types/vault.d.ts +70 -0
- package/dist/types/vault.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/esm/treasury.js +0 -90
- package/dist/esm/treasury.js.map +0 -1
- package/dist/types/treasury.d.ts +0 -11
- package/dist/types/treasury.d.ts.map +0 -1
package/dist/esm/project.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/project.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/project.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Schema } from "effect";
|
|
2
|
-
import { STAKING_REWARDS, STATIC_FEE_TIERS, TREASURY_AIRDROP_AMOUNTS } from "../constants.js";
|
|
2
|
+
import { LEVR_TEAM_LP_FEE_PERCENTAGE, STAKING_REWARDS, STATIC_FEE_TIERS, TREASURY_AIRDROP_AMOUNTS, VAULT_LOCKUP_PERIODS, VAULT_PERCENTAGES, VAULT_VESTING_PERIODS, } from "../constants.js";
|
|
3
3
|
import { EthereumAddress, NonEmptyString } from "./base.schema.js";
|
|
4
4
|
import { ClankerDeploymentSchema } from "./clanker.schema.js";
|
|
5
5
|
const LevrMetadata = Schema.Struct({
|
|
@@ -22,19 +22,19 @@ const LevrMetadata = Schema.Struct({
|
|
|
22
22
|
description: "Clanker token metadata",
|
|
23
23
|
});
|
|
24
24
|
const TreasuryFunding = Schema.Literal(...Object.keys(TREASURY_AIRDROP_AMOUNTS)).annotations({
|
|
25
|
-
description: "
|
|
25
|
+
description: "Percentage of total token supply (100B tokens) allocated to the treasury at deployment. Combined with custom airdrops, maximum 90% can be allocated (minimum 10% reserved for liquidity). Any remaining tokens are sent to liquidity.",
|
|
26
26
|
});
|
|
27
27
|
const LevrAirdrop = Schema.Array(Schema.Struct({
|
|
28
|
-
|
|
29
|
-
description: "
|
|
28
|
+
percentage: Schema.Number.annotations({
|
|
29
|
+
description: "Percentage of total token supply allocated to this recipient (0-100, e.g., 5 for 5%)",
|
|
30
30
|
}),
|
|
31
31
|
account: EthereumAddress.annotations({
|
|
32
|
-
description: "Account address",
|
|
32
|
+
description: "Account address to receive airdrop",
|
|
33
33
|
}),
|
|
34
34
|
})).annotations({
|
|
35
|
-
description: "
|
|
35
|
+
description: "Custom token airdrops at deployment. Each recipient receives a percentage of the total 100B supply. Combined with treasury funding, total cannot exceed 90% of supply (minimum 10% reserved for liquidity).",
|
|
36
36
|
});
|
|
37
|
-
const LevrDevBuy = Schema.Literal("0.1 ETH", "0.5 ETH", "1 ETH").annotations({
|
|
37
|
+
const LevrDevBuy = Schema.Literal("0.1 ETH", "0.5 ETH", "1 ETH", "1.5 ETH").annotations({
|
|
38
38
|
description: "Amount to buy during deployment",
|
|
39
39
|
});
|
|
40
40
|
const LevrStaticFeeTier = Schema.Literal(...Object.keys(STATIC_FEE_TIERS)).annotations({
|
|
@@ -56,31 +56,61 @@ const LevrFees = Schema.Union(LevrStaticFee, LevrDynamicFee).annotations({
|
|
|
56
56
|
});
|
|
57
57
|
const LevrRewardRecipients = Schema.Array(Schema.Struct({
|
|
58
58
|
admin: EthereumAddress.annotations({
|
|
59
|
-
description: "Admin address
|
|
59
|
+
description: "Admin address who can manage this reward recipient configuration",
|
|
60
60
|
}),
|
|
61
61
|
recipient: EthereumAddress.annotations({
|
|
62
|
-
description: "
|
|
62
|
+
description: "Address that will receive the allocated reward tokens",
|
|
63
63
|
}),
|
|
64
64
|
percentage: Schema.Number.annotations({
|
|
65
|
-
description: "Percentage of rewards to recipient",
|
|
65
|
+
description: "Percentage of total rewards allocated to this recipient (0-100, e.g., 5 for 5%)",
|
|
66
66
|
}),
|
|
67
67
|
token: Schema.Literal("Both", "Paired", "Clanker").annotations({
|
|
68
|
-
description: "
|
|
68
|
+
description: "Type of tokens to distribute: Both (paired token + clanker token), Paired (only paired token), or Clanker (only clanker token)",
|
|
69
69
|
}),
|
|
70
70
|
})).annotations({
|
|
71
|
-
description: "
|
|
71
|
+
description: "Custom reward recipients who receive a portion of the trading fees. Combined with staking rewards, total must equal 100%.",
|
|
72
72
|
});
|
|
73
73
|
const LevrStakingReward = Schema.Literal(...Object.keys(STAKING_REWARDS)).annotations({
|
|
74
|
-
description:
|
|
74
|
+
description: `Percentage of trading fees distributed to token stakers as rewards. Note: ${LEVR_TEAM_LP_FEE_PERCENTAGE}% is automatically allocated to Levr Protocol (deducted from this amount). Combined with custom reward recipients, total must equal 100%.`,
|
|
75
75
|
});
|
|
76
76
|
/**
|
|
77
|
-
* Maximum allowed sum of
|
|
77
|
+
* Maximum allowed sum of staking reward and rewards recipients (as percentages 0-100)
|
|
78
|
+
*/
|
|
79
|
+
const MAX_TOTAL_REWARDS_PERCENTAGE = 100;
|
|
80
|
+
/**
|
|
81
|
+
* Vault lockup period schema
|
|
78
82
|
*/
|
|
79
|
-
const
|
|
83
|
+
const VaultLockupPeriod = Schema.Literal(...Object.keys(VAULT_LOCKUP_PERIODS)).annotations({
|
|
84
|
+
description: "Lockup period for vaulted tokens. Tokens cannot be claimed during this period.",
|
|
85
|
+
});
|
|
86
|
+
/**
|
|
87
|
+
* Vault vesting period schema
|
|
88
|
+
*/
|
|
89
|
+
const VaultVestingPeriod = Schema.Literal(...Object.keys(VAULT_VESTING_PERIODS)).annotations({
|
|
90
|
+
description: "Vesting period after lockup ends. \"instant\" makes tokens available immediately after lockup. Linear vesting occurs between end of lockup and end of vesting period.",
|
|
91
|
+
});
|
|
80
92
|
/**
|
|
81
|
-
*
|
|
93
|
+
* Vault percentage schema
|
|
82
94
|
*/
|
|
83
|
-
const
|
|
95
|
+
const VaultPercentage = Schema.Literal(...Object.keys(VAULT_PERCENTAGES)).annotations({
|
|
96
|
+
description: "Percentage of total token supply (100B tokens) allocated to vault.",
|
|
97
|
+
});
|
|
98
|
+
/**
|
|
99
|
+
* Vault configuration schema
|
|
100
|
+
*/
|
|
101
|
+
const LevrVault = Schema.Struct({
|
|
102
|
+
lockupPeriod: VaultLockupPeriod.annotations({
|
|
103
|
+
description: "How long tokens are locked before vesting begins",
|
|
104
|
+
}),
|
|
105
|
+
vestingPeriod: VaultVestingPeriod.annotations({
|
|
106
|
+
description: "Vesting duration after lockup. \"instant\" = no vesting period",
|
|
107
|
+
}),
|
|
108
|
+
percentage: VaultPercentage.annotations({
|
|
109
|
+
description: "Percentage of total supply to allocate to vault",
|
|
110
|
+
}),
|
|
111
|
+
}).annotations({
|
|
112
|
+
description: "Vault configuration with lockup and linear vesting schedule",
|
|
113
|
+
});
|
|
84
114
|
export const LevrClankerDeploymentSchema = Schema.Struct({
|
|
85
115
|
...ClankerDeploymentSchema.pick("name", "symbol").fields,
|
|
86
116
|
image: NonEmptyString("Image is required").annotations({
|
|
@@ -89,29 +119,60 @@ export const LevrClankerDeploymentSchema = Schema.Struct({
|
|
|
89
119
|
metadata: Schema.optional(LevrMetadata),
|
|
90
120
|
devBuy: Schema.optional(LevrDevBuy),
|
|
91
121
|
airdrop: Schema.optional(LevrAirdrop),
|
|
122
|
+
vault: Schema.optional(LevrVault),
|
|
92
123
|
treasuryFunding: TreasuryFunding,
|
|
93
124
|
fees: LevrFees,
|
|
94
|
-
stakingReward:
|
|
125
|
+
stakingReward: LevrStakingReward,
|
|
95
126
|
rewards: Schema.optional(LevrRewardRecipients),
|
|
96
127
|
}).pipe(Schema.filter((data) => {
|
|
97
|
-
// Calculate total airdrop
|
|
98
|
-
const airdropTotal = data.airdrop?.reduce((sum, entry) => sum + entry.
|
|
99
|
-
// Get treasury
|
|
100
|
-
const
|
|
101
|
-
//
|
|
102
|
-
const
|
|
103
|
-
|
|
128
|
+
// Calculate total airdrop percentage
|
|
129
|
+
const airdropTotal = data.airdrop?.reduce((sum, entry) => sum + entry.percentage, 0) ?? 0;
|
|
130
|
+
// Get treasury percentage (e.g., "30%" -> 30)
|
|
131
|
+
const treasuryPercentage = parseFloat(data.treasuryFunding ?? "30%");
|
|
132
|
+
// Get vault percentage (e.g., "5%" -> 5)
|
|
133
|
+
const vaultPercentage = data.vault ? parseFloat(data.vault.percentage) : 0;
|
|
134
|
+
// Check if total allocation exceeds 90% (must leave minimum 10% for liquidity)
|
|
135
|
+
const totalAllocated = airdropTotal + treasuryPercentage + vaultPercentage;
|
|
136
|
+
return totalAllocated <= 90;
|
|
104
137
|
}, {
|
|
105
|
-
message: () => `Total allocation (airdrop + treasury funding) cannot exceed
|
|
138
|
+
message: () => `Total allocation (airdrop + vault + treasury funding) cannot exceed 90% (minimum 10% must be reserved for liquidity)`,
|
|
106
139
|
}), Schema.filter((data) => {
|
|
107
|
-
//
|
|
108
|
-
const
|
|
109
|
-
|
|
140
|
+
// Convert staking reward from percentage string (e.g., "100%") to number (e.g., 100)
|
|
141
|
+
const stakingRewardPercentageStr = data.stakingReward; // e.g., "100%"
|
|
142
|
+
const stakingRewardPercentage = parseFloat(stakingRewardPercentageStr); // e.g., 100
|
|
143
|
+
// Calculate total rewards recipients percentage (already in 0-100 format)
|
|
110
144
|
const rewardRecipientsTotal = data.rewards?.reduce((sum, entry) => sum + entry.percentage, 0) ?? 0;
|
|
111
|
-
// Check if the sum
|
|
112
|
-
|
|
113
|
-
|
|
145
|
+
// Check if the sum equals 100%
|
|
146
|
+
// Note: Team fee is deducted automatically from staking rewards on the backend
|
|
147
|
+
const totalRewards = stakingRewardPercentage + rewardRecipientsTotal;
|
|
148
|
+
return totalRewards === MAX_TOTAL_REWARDS_PERCENTAGE;
|
|
149
|
+
}, {
|
|
150
|
+
message: () => `Total rewards (staking reward + reward recipients) must equal 100%. Note: ${LEVR_TEAM_LP_FEE_PERCENTAGE}% Levr Protocol fee is automatically deducted from staking rewards.`,
|
|
151
|
+
}));
|
|
152
|
+
// ---
|
|
153
|
+
// Fee Splitter Configuration Schema
|
|
154
|
+
const LevrSplitConfig = Schema.Struct({
|
|
155
|
+
receiver: EthereumAddress.annotations({
|
|
156
|
+
description: "Receiver address for this split",
|
|
157
|
+
}),
|
|
158
|
+
percentage: Schema.Number.annotations({
|
|
159
|
+
description: "Percentage of fees (must total 100%)",
|
|
160
|
+
}),
|
|
161
|
+
}).annotations({
|
|
162
|
+
description: "Fee split configuration",
|
|
163
|
+
});
|
|
164
|
+
export const LevrFeeSplitterConfigSchema = Schema.Struct({
|
|
165
|
+
splits: Schema.Array(LevrSplitConfig).annotations({
|
|
166
|
+
description: "Fee split recipients and percentages. By default, the first receiver is the staking allocation.",
|
|
167
|
+
}),
|
|
168
|
+
}).pipe(Schema.filter((data) => {
|
|
169
|
+
const total = data.splits.reduce((sum, split) => sum + split.percentage, 0);
|
|
170
|
+
return total === 100;
|
|
171
|
+
}, {
|
|
172
|
+
message: () => "Total split percentages must equal 100%",
|
|
173
|
+
}), Schema.filter((data) => {
|
|
174
|
+
return data.splits.length > 0 && data.splits.length <= 10;
|
|
114
175
|
}, {
|
|
115
|
-
message: () =>
|
|
176
|
+
message: () => "Must have 1-10 fee receivers",
|
|
116
177
|
}));
|
|
117
178
|
//# sourceMappingURL=levr.schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"levr.schema.js","sourceRoot":"","sources":["../../../src/schema/levr.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,
|
|
1
|
+
{"version":3,"file":"levr.schema.js","sourceRoot":"","sources":["../../../src/schema/levr.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAE1D,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC;QACtD,WAAW,EAAE,2BAA2B;KACzC,CAAC;IACF,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC;QACvD,WAAW,EAAE,+BAA+B;KAC7C,CAAC;IACF,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC;QACtD,WAAW,EAAE,8BAA8B;KAC5C,CAAC;IACF,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC;QAChD,WAAW,EAAE,wBAAwB;KACtC,CAAC;IACF,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC;QACxD,WAAW,EAAE,gCAAgC;KAC9C,CAAC;CACH,CAAC,CAAC,WAAW,CAAC;IACb,WAAW,EAAE,wBAAwB;CACtC,CAAC,CAAA;AAEF,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CACpC,GAAI,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAA6C,CACtF,CAAC,WAAW,CAAC;IACZ,WAAW,EACT,uOAAuO;CAC1O,CAAC,CAAA;AAEF,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAC9B,MAAM,CAAC,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;QACpC,WAAW,EACT,sFAAsF;KACzF,CAAC;IACF,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC;QACnC,WAAW,EAAE,oCAAoC;KAClD,CAAC;CACH,CAAC,CACH,CAAC,WAAW,CAAC;IACZ,WAAW,EACT,6MAA6M;CAChN,CAAC,CAAA;AAEF,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,WAAW,CAAC;IACtF,WAAW,EAAE,iCAAiC;CAC/C,CAAC,CAAA;AAEF,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CACtC,GAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAqC,CACtE,CAAC,WAAW,CAAC;IACZ,WAAW,EAAE,6BAA6B;CAC3C,CAAC,CAAA;AAEF,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC9B,OAAO,EAAE,iBAAiB;CAC3B,CAAC,CAAC,WAAW,CAAC;IACb,WAAW,EAAE,sBAAsB;CACpC,CAAC,CAAA;AAEF,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;CACnC,CAAC,CAAC,WAAW,CAAC;IACb,WAAW,EAAE,2CAA2C;CACzD,CAAC,CAAA;AAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,WAAW,CAAC;IACvE,WAAW,EAAE,4BAA4B;CAC1C,CAAC,CAAA;AAEF,MAAM,oBAAoB,GAAG,MAAM,CAAC,KAAK,CACvC,MAAM,CAAC,MAAM,CAAC;IACZ,KAAK,EAAE,eAAe,CAAC,WAAW,CAAC;QACjC,WAAW,EAAE,kEAAkE;KAChF,CAAC;IACF,SAAS,EAAE,eAAe,CAAC,WAAW,CAAC;QACrC,WAAW,EAAE,uDAAuD;KACrE,CAAC;IACF,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;QACpC,WAAW,EACT,iFAAiF;KACpF,CAAC;IACF,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,WAAW,CAAC;QAC7D,WAAW,EACT,gIAAgI;KACnI,CAAC;CACH,CAAC,CACH,CAAC,WAAW,CAAC;IACZ,WAAW,EACT,2HAA2H;CAC9H,CAAC,CAAA;AAEF,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CACtC,GAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAoC,CACpE,CAAC,WAAW,CAAC;IACZ,WAAW,EAAE,6EAA6E,2BAA2B,2IAA2I;CACjQ,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,4BAA4B,GAAG,GAAG,CAAA;AAExC;;GAEG;AACH,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CACtC,GAAI,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAyC,CAC9E,CAAC,WAAW,CAAC;IACZ,WAAW,EAAE,gFAAgF;CAC9F,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,CACvC,GAAI,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAA0C,CAChF,CAAC,WAAW,CAAC;IACZ,WAAW,EACT,qKAAqK;CACxK,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CACpC,GAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAsC,CACxE,CAAC,WAAW,CAAC;IACZ,WAAW,EAAE,oEAAoE;CAClF,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9B,YAAY,EAAE,iBAAiB,CAAC,WAAW,CAAC;QAC1C,WAAW,EAAE,kDAAkD;KAChE,CAAC;IACF,aAAa,EAAE,kBAAkB,CAAC,WAAW,CAAC;QAC5C,WAAW,EAAE,8DAA8D;KAC5E,CAAC;IACF,UAAU,EAAE,eAAe,CAAC,WAAW,CAAC;QACtC,WAAW,EAAE,iDAAiD;KAC/D,CAAC;CACH,CAAC,CAAC,WAAW,CAAC;IACb,WAAW,EAAE,6DAA6D;CAC3E,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC,MAAM,CAAC;IACvD,GAAG,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM;IACxD,KAAK,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC;QACrD,WAAW,EAAE,gCAAgC;KAC9C,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;IACjC,eAAe,EAAE,eAAe;IAChC,IAAI,EAAE,QAAQ;IACd,aAAa,EAAE,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC;CAC/C,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,MAAM,CACX,CAAC,IAAI,EAAE,EAAE;IACP,qCAAqC;IACrC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;IAEzF,8CAA8C;IAC9C,MAAM,kBAAkB,GAAG,UAAU,CAAC,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,CAAA;IAEpE,yCAAyC;IACzC,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAE1E,+EAA+E;IAC/E,MAAM,cAAc,GAAG,YAAY,GAAG,kBAAkB,GAAG,eAAe,CAAA;IAE1E,OAAO,cAAc,IAAI,EAAE,CAAA;AAC7B,CAAC,EACD;IACE,OAAO,EAAE,GAAG,EAAE,CACZ,sHAAsH;CACzH,CACF,EACD,MAAM,CAAC,MAAM,CACX,CAAC,IAAI,EAAE,EAAE;IACP,qFAAqF;IACrF,MAAM,0BAA0B,GAAG,IAAI,CAAC,aAAa,CAAA,CAAC,eAAe;IACrE,MAAM,uBAAuB,GAAG,UAAU,CAAC,0BAA0B,CAAC,CAAA,CAAC,YAAY;IAEnF,0EAA0E;IAC1E,MAAM,qBAAqB,GACzB,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;IAEtE,+BAA+B;IAC/B,+EAA+E;IAC/E,MAAM,YAAY,GAAG,uBAAuB,GAAG,qBAAqB,CAAA;IAEpE,OAAO,YAAY,KAAK,4BAA4B,CAAA;AACtD,CAAC,EACD;IACE,OAAO,EAAE,GAAG,EAAE,CACZ,6EAA6E,2BAA2B,qEAAqE;CAChL,CACF,CACF,CAAA;AAID,MAAM;AACN,oCAAoC;AAEpC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,QAAQ,EAAE,eAAe,CAAC,WAAW,CAAC;QACpC,WAAW,EAAE,iCAAiC;KAC/C,CAAC;IACF,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;QACpC,WAAW,EAAE,sCAAsC;KACpD,CAAC;CACH,CAAC,CAAC,WAAW,CAAC;IACb,WAAW,EAAE,yBAAyB;CACvC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC,MAAM,CAAC;IACvD,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC;QAChD,WAAW,EACT,iGAAiG;KACpG,CAAC;CACH,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,MAAM,CACX,CAAC,IAAI,EAAE,EAAE;IACP,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;IAC3E,OAAO,KAAK,KAAK,GAAG,CAAA;AACtB,CAAC,EACD;IACE,OAAO,EAAE,GAAG,EAAE,CAAC,yCAAyC;CACzD,CACF,EACD,MAAM,CAAC,MAAM,CACX,CAAC,IAAI,EAAE,EAAE;IACP,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAA;AAC3D,CAAC,EACD;IACE,OAAO,EAAE,GAAG,EAAE,CAAC,8BAA8B;CAC9C,CACF,CACF,CAAA"}
|
package/dist/esm/stake.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { omit } from "lodash";
|
|
2
2
|
import { encodeFunctionData, erc20Abi, parseUnits } from "viem";
|
|
3
|
-
import { LevrForwarder_v1, LevrStaking_v1 } from "./abis/index.js";
|
|
3
|
+
import { LevrFeeSplitter_v1, LevrForwarder_v1, LevrStaking_v1 } from "./abis/index.js";
|
|
4
4
|
import { WETH } from "./constants.js";
|
|
5
5
|
export class Stake {
|
|
6
6
|
wallet;
|
|
@@ -11,6 +11,7 @@ export class Stake {
|
|
|
11
11
|
chainId;
|
|
12
12
|
userAddress;
|
|
13
13
|
trustedForwarder;
|
|
14
|
+
isFeeSplitterActive;
|
|
14
15
|
constructor(config) {
|
|
15
16
|
// Validate required fields only (not optional fields like trustedForwarder, pricing)
|
|
16
17
|
if (Object.values(omit(config, ["pricing"])).some((value) => !value))
|
|
@@ -23,6 +24,7 @@ export class Stake {
|
|
|
23
24
|
this.chainId = config.publicClient.chain?.id ?? 1; // Get chainId from publicClient
|
|
24
25
|
this.userAddress = config.wallet.account.address;
|
|
25
26
|
this.trustedForwarder = config.project.forwarder;
|
|
27
|
+
this.isFeeSplitterActive = config.project.feeSplitter?.isActive ?? false;
|
|
26
28
|
}
|
|
27
29
|
/**
|
|
28
30
|
* Approve ERC20 tokens for spending by the staking contract
|
|
@@ -65,16 +67,48 @@ export class Stake {
|
|
|
65
67
|
* @returns Transaction receipt with the new voting power after unstake
|
|
66
68
|
*/
|
|
67
69
|
async unstake({ amount, to }) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
+
let parsedAmount;
|
|
71
|
+
if (typeof amount === "bigint") {
|
|
72
|
+
parsedAmount = amount;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
// Parse the amount
|
|
76
|
+
parsedAmount = parseUnits(amount.toString(), this.tokenDecimals);
|
|
77
|
+
}
|
|
78
|
+
// Get current staked balance to prevent rounding errors on 100% unstake
|
|
79
|
+
const currentStakedBalance = await this.publicClient.readContract({
|
|
80
|
+
address: this.stakingAddress,
|
|
81
|
+
abi: LevrStaking_v1,
|
|
82
|
+
functionName: "stakedBalanceOf",
|
|
83
|
+
args: [this.userAddress],
|
|
84
|
+
});
|
|
85
|
+
// If trying to unstake an amount very close to the total (within 0.01%), use exact balance
|
|
86
|
+
// This prevents "InsufficientStake" errors from floating-point rounding
|
|
87
|
+
const diff = parsedAmount > currentStakedBalance
|
|
88
|
+
? parsedAmount - currentStakedBalance
|
|
89
|
+
: currentStakedBalance - parsedAmount;
|
|
90
|
+
const tolerance = currentStakedBalance / 10000n; // 0.01% tolerance
|
|
91
|
+
if (diff <= tolerance && parsedAmount >= (currentStakedBalance * 99n) / 100n) {
|
|
92
|
+
// User is trying to unstake ~100%, use exact balance to avoid rounding errors
|
|
93
|
+
parsedAmount = currentStakedBalance;
|
|
94
|
+
}
|
|
95
|
+
const simulateParams = {
|
|
70
96
|
address: this.stakingAddress,
|
|
71
97
|
abi: LevrStaking_v1,
|
|
72
98
|
functionName: "unstake",
|
|
73
99
|
args: [parsedAmount, to ?? this.userAddress],
|
|
100
|
+
account: this.userAddress,
|
|
74
101
|
chain: this.wallet.chain,
|
|
75
102
|
};
|
|
76
|
-
const { result: newVotingPower } = await this.publicClient.simulateContract(
|
|
77
|
-
|
|
103
|
+
const { result: newVotingPower } = await this.publicClient.simulateContract(simulateParams);
|
|
104
|
+
// writeContract doesn't accept 'account' - it uses wallet.account automatically
|
|
105
|
+
const hash = await this.wallet.writeContract({
|
|
106
|
+
address: this.stakingAddress,
|
|
107
|
+
abi: LevrStaking_v1,
|
|
108
|
+
functionName: "unstake",
|
|
109
|
+
args: [parsedAmount, to ?? this.userAddress],
|
|
110
|
+
chain: this.wallet.chain,
|
|
111
|
+
});
|
|
78
112
|
const receipt = await this.publicClient.waitForTransactionReceipt({ hash });
|
|
79
113
|
if (receipt.status === "reverted") {
|
|
80
114
|
throw new Error("Unstake transaction reverted");
|
|
@@ -89,7 +123,7 @@ export class Stake {
|
|
|
89
123
|
*/
|
|
90
124
|
async claimRewards(params) {
|
|
91
125
|
// Default to claiming both staking token and WETH
|
|
92
|
-
|
|
126
|
+
const defaultTokens = [this.tokenAddress];
|
|
93
127
|
const wethAddress = WETH(this.chainId)?.address;
|
|
94
128
|
if (wethAddress) {
|
|
95
129
|
defaultTokens.push(wethAddress);
|
|
@@ -108,7 +142,10 @@ export class Stake {
|
|
|
108
142
|
return receipt;
|
|
109
143
|
}
|
|
110
144
|
/**
|
|
111
|
-
* Accrue rewards by triggering
|
|
145
|
+
* Accrue rewards by triggering manual accrual from balance delta detection
|
|
146
|
+
*
|
|
147
|
+
* NOTE: If fee splitter is configured, call distributeFromFeeSplitter() FIRST.
|
|
148
|
+
* The fee splitter transfers tokens to staking, then accrueRewards() detects the balance increase.
|
|
112
149
|
*/
|
|
113
150
|
async accrueRewards(tokenAddress) {
|
|
114
151
|
const hash = await this.wallet.writeContract({
|
|
@@ -124,24 +161,118 @@ export class Stake {
|
|
|
124
161
|
}
|
|
125
162
|
return receipt;
|
|
126
163
|
}
|
|
164
|
+
/**
|
|
165
|
+
* Distribute fees from the fee splitter to all configured receivers (including staking)
|
|
166
|
+
*
|
|
167
|
+
* This should be called BEFORE accrueRewards() when fee splitter is configured.
|
|
168
|
+
* The fee splitter claims fees from LP locker and distributes them according to configured splits.
|
|
169
|
+
*/
|
|
170
|
+
async distributeFromFeeSplitter(params) {
|
|
171
|
+
// Get the deployed fee splitter for THIS specific token
|
|
172
|
+
const { getFeeSplitter } = await import("./fee-splitter.js");
|
|
173
|
+
const feeSplitterAddress = await getFeeSplitter({
|
|
174
|
+
publicClient: this.publicClient,
|
|
175
|
+
clankerToken: this.tokenAddress,
|
|
176
|
+
chainId: this.chainId,
|
|
177
|
+
});
|
|
178
|
+
if (!feeSplitterAddress) {
|
|
179
|
+
throw new Error("Fee splitter not deployed for this token. Deploy it first.");
|
|
180
|
+
}
|
|
181
|
+
// Default to clanker token + WETH if tokens not provided
|
|
182
|
+
const wethAddress = WETH(this.chainId)?.address;
|
|
183
|
+
const defaultTokens = wethAddress ? [this.tokenAddress, wethAddress] : [this.tokenAddress];
|
|
184
|
+
const tokens = params?.tokens ?? defaultTokens;
|
|
185
|
+
const hash = await this.wallet.writeContract({
|
|
186
|
+
address: feeSplitterAddress, // Per-project splitter, not deployer!
|
|
187
|
+
abi: LevrFeeSplitter_v1,
|
|
188
|
+
functionName: "distributeBatch",
|
|
189
|
+
args: [tokens],
|
|
190
|
+
chain: this.wallet.chain,
|
|
191
|
+
});
|
|
192
|
+
const receipt = await this.publicClient.waitForTransactionReceipt({ hash });
|
|
193
|
+
if (receipt.status === "reverted") {
|
|
194
|
+
throw new Error("Distribute from fee splitter transaction reverted");
|
|
195
|
+
}
|
|
196
|
+
return receipt;
|
|
197
|
+
}
|
|
127
198
|
/**
|
|
128
199
|
* Accrue rewards for multiple tokens in a single transaction using forwarder multicall
|
|
200
|
+
*
|
|
201
|
+
* If fee splitter is configured and active, this will:
|
|
202
|
+
* 1. Call distribute() on fee splitter for each token
|
|
203
|
+
* 2. Fee splitter automatically calls accrueRewards() after distribution
|
|
204
|
+
*
|
|
205
|
+
* If fee splitter is NOT configured, this will:
|
|
206
|
+
* 1. Directly call accrueRewards() for each token on staking contract
|
|
207
|
+
*
|
|
208
|
+
* @param params.tokens - Array of token addresses to accrue (defaults to [clankerToken, WETH])
|
|
209
|
+
* @param params.useFeeSplitter - If true, uses fee splitter distribute (auto-detected if not provided)
|
|
129
210
|
*/
|
|
130
|
-
async accrueAllRewards(
|
|
211
|
+
async accrueAllRewards(params) {
|
|
131
212
|
if (!this.trustedForwarder) {
|
|
132
213
|
throw new Error("Trusted forwarder is required for multicall operations");
|
|
133
214
|
}
|
|
134
|
-
//
|
|
135
|
-
const
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
215
|
+
// Default tokens: clankerToken + WETH (if available)
|
|
216
|
+
const defaultTokens = [this.tokenAddress];
|
|
217
|
+
const wethAddress = WETH(this.chainId)?.address;
|
|
218
|
+
if (wethAddress) {
|
|
219
|
+
defaultTokens.push(wethAddress);
|
|
220
|
+
}
|
|
221
|
+
const tokenAddresses = params?.tokens ?? defaultTokens;
|
|
222
|
+
// Detect if fee splitter should be used (can be overridden)
|
|
223
|
+
const useFeeSplitter = params?.useFeeSplitter ?? this._shouldUseFeeSplitter();
|
|
224
|
+
let calls;
|
|
225
|
+
if (useFeeSplitter) {
|
|
226
|
+
// Fee splitter mode: Get the deployed splitter for this token, then call distribute()
|
|
227
|
+
// The fee splitter will automatically call accrueRewards() after distributing
|
|
228
|
+
const { getFeeSplitter } = await import("./fee-splitter.js");
|
|
229
|
+
const feeSplitterAddress = await getFeeSplitter({
|
|
230
|
+
publicClient: this.publicClient,
|
|
231
|
+
clankerToken: this.tokenAddress,
|
|
232
|
+
chainId: this.chainId,
|
|
233
|
+
});
|
|
234
|
+
if (!feeSplitterAddress) {
|
|
235
|
+
throw new Error("Fee splitter not deployed for this token. Deploy it first or use useFeeSplitter: false");
|
|
236
|
+
}
|
|
237
|
+
// Call distribute() for each token (fee splitter's portion + auto-accrue)
|
|
238
|
+
const distributeCalls = tokenAddresses.map((tokenAddress) => ({
|
|
239
|
+
target: feeSplitterAddress, // Per-project splitter, not deployer!
|
|
240
|
+
allowFailure: false,
|
|
241
|
+
value: 0n,
|
|
242
|
+
callData: encodeFunctionData({
|
|
243
|
+
abi: LevrFeeSplitter_v1,
|
|
244
|
+
functionName: "distribute",
|
|
245
|
+
args: [tokenAddress],
|
|
246
|
+
}),
|
|
247
|
+
}));
|
|
248
|
+
// ALSO call accrueRewards() for each token (staking's direct portion from ClankerFeeLocker)
|
|
249
|
+
// This handles hybrid setups where staking receives fees both via splitter AND directly
|
|
250
|
+
const accrueCalls = tokenAddresses.map((tokenAddress) => ({
|
|
251
|
+
target: this.stakingAddress,
|
|
252
|
+
allowFailure: false,
|
|
253
|
+
value: 0n,
|
|
254
|
+
callData: encodeFunctionData({
|
|
255
|
+
abi: LevrStaking_v1,
|
|
256
|
+
functionName: "accrueRewards",
|
|
257
|
+
args: [tokenAddress],
|
|
258
|
+
}),
|
|
259
|
+
}));
|
|
260
|
+
// Execute both sets of calls in a single multicall transaction
|
|
261
|
+
calls = [...distributeCalls, ...accrueCalls];
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
// Direct mode: Call accrueRewards() on staking contract
|
|
265
|
+
calls = tokenAddresses.map((tokenAddress) => ({
|
|
266
|
+
target: this.stakingAddress,
|
|
267
|
+
allowFailure: false,
|
|
268
|
+
value: 0n,
|
|
269
|
+
callData: encodeFunctionData({
|
|
270
|
+
abi: LevrStaking_v1,
|
|
271
|
+
functionName: "accrueRewards",
|
|
272
|
+
args: [tokenAddress],
|
|
273
|
+
}),
|
|
274
|
+
}));
|
|
275
|
+
}
|
|
145
276
|
const hash = await this.wallet.writeContract({
|
|
146
277
|
address: this.trustedForwarder,
|
|
147
278
|
abi: LevrForwarder_v1,
|
|
@@ -155,6 +286,13 @@ export class Stake {
|
|
|
155
286
|
}
|
|
156
287
|
return receipt;
|
|
157
288
|
}
|
|
289
|
+
/**
|
|
290
|
+
* Helper to detect if fee splitter should be used
|
|
291
|
+
* Returns true if fee splitter is configured and active for this project
|
|
292
|
+
*/
|
|
293
|
+
_shouldUseFeeSplitter() {
|
|
294
|
+
return this.isFeeSplitterActive;
|
|
295
|
+
}
|
|
158
296
|
/**
|
|
159
297
|
* Simulate voting power after an unstake (without executing the transaction)
|
|
160
298
|
* @param amount Amount to unstake
|
package/dist/esm/stake.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stake.js","sourceRoot":"","sources":["../../src/stake.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAG/D,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"stake.js","sourceRoot":"","sources":["../../src/stake.ts"],"names":[],"mappings":"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"}
|