@steerprotocol/sdk 1.3.0 → 1.5.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/README.md +54 -0
- package/dist/cjs/base/StakingClient.js +328 -10
- package/dist/cjs/base/StakingClient.js.map +1 -1
- package/dist/cjs/base/VaultClient.js +57 -118
- package/dist/cjs/base/VaultClient.js.map +1 -1
- package/dist/cjs/base/vault/deposit/index.js +484 -0
- package/dist/cjs/base/vault/deposit/index.js.map +1 -0
- package/dist/cjs/base/vault/deposit/types.js +3 -0
- package/dist/cjs/base/vault/deposit/types.js.map +1 -0
- package/dist/cjs/base/vault/utils.js +432 -0
- package/dist/cjs/base/vault/utils.js.map +1 -0
- package/dist/cjs/base/vault/withdraw/index.js +155 -0
- package/dist/cjs/base/vault/withdraw/index.js.map +1 -0
- package/dist/cjs/base/vault/withdraw/types.js +3 -0
- package/dist/cjs/base/vault/withdraw/types.js.map +1 -0
- package/dist/cjs/client.js +5 -0
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/const/chain.js +96 -0
- package/dist/cjs/const/chain.js.map +1 -0
- package/dist/cjs/const/network.js +801 -0
- package/dist/cjs/const/network.js.map +1 -0
- package/dist/cjs/const/protocol.js +84 -0
- package/dist/cjs/const/protocol.js.map +1 -0
- package/dist/esm/base/StakingClient.js +328 -10
- package/dist/esm/base/StakingClient.js.map +1 -1
- package/dist/esm/base/VaultClient.js +57 -118
- package/dist/esm/base/VaultClient.js.map +1 -1
- package/dist/esm/base/vault/deposit/index.js +480 -0
- package/dist/esm/base/vault/deposit/index.js.map +1 -0
- package/dist/esm/base/vault/deposit/types.js +2 -0
- package/dist/esm/base/vault/deposit/types.js.map +1 -0
- package/dist/esm/base/vault/utils.js +425 -0
- package/dist/esm/base/vault/utils.js.map +1 -0
- package/dist/esm/base/vault/withdraw/index.js +151 -0
- package/dist/esm/base/vault/withdraw/index.js.map +1 -0
- package/dist/esm/base/vault/withdraw/types.js +2 -0
- package/dist/esm/base/vault/withdraw/types.js.map +1 -0
- package/dist/esm/client.js +5 -0
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/const/chain.js +93 -0
- package/dist/esm/const/chain.js.map +1 -0
- package/dist/esm/const/network.js +797 -0
- package/dist/esm/const/network.js.map +1 -0
- package/dist/esm/const/protocol.js +74 -0
- package/dist/esm/const/protocol.js.map +1 -0
- package/dist/types/base/StakingClient.d.ts +170 -7
- package/dist/types/base/StakingClient.d.ts.map +1 -1
- package/dist/types/base/VaultClient.d.ts +81 -16
- package/dist/types/base/VaultClient.d.ts.map +1 -1
- package/dist/types/base/vault/deposit/index.d.ts +74 -0
- package/dist/types/base/vault/deposit/index.d.ts.map +1 -0
- package/dist/types/base/vault/deposit/types.d.ts +42 -0
- package/dist/types/base/vault/deposit/types.d.ts.map +1 -0
- package/dist/types/base/vault/utils.d.ts +26 -0
- package/dist/types/base/vault/utils.d.ts.map +1 -0
- package/dist/types/base/vault/withdraw/index.d.ts +45 -0
- package/dist/types/base/vault/withdraw/index.d.ts.map +1 -0
- package/dist/types/base/vault/withdraw/types.d.ts +13 -0
- package/dist/types/base/vault/withdraw/types.d.ts.map +1 -0
- package/dist/types/client.d.ts +3 -0
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/const/chain.d.ts +88 -0
- package/dist/types/const/chain.d.ts.map +1 -0
- package/dist/types/const/network.d.ts +26 -0
- package/dist/types/const/network.d.ts.map +1 -0
- package/dist/types/const/protocol.d.ts +26 -0
- package/dist/types/const/protocol.d.ts.map +1 -0
- package/dist/types/types.d.ts +101 -1
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +14 -13
package/README.md
CHANGED
|
@@ -36,6 +36,60 @@ const steerClient = new SteerClient({
|
|
|
36
36
|
const response = await steerClient.getData<YourDataType>('endpoint');
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
+
## Staking Client
|
|
40
|
+
|
|
41
|
+
The StakingClient provides functionality for interacting with Steer Finance staking pools. It supports both single and dual reward staking pools.
|
|
42
|
+
|
|
43
|
+
### Features
|
|
44
|
+
|
|
45
|
+
- Fetch available staking pools
|
|
46
|
+
- Stake and withdraw tokens
|
|
47
|
+
- Claim rewards
|
|
48
|
+
- Check earned rewards and balances
|
|
49
|
+
- Calculate APR for staking pools
|
|
50
|
+
- Support for both single and dual reward pools
|
|
51
|
+
|
|
52
|
+
### Example Usage
|
|
53
|
+
|
|
54
|
+
```typescript
|
|
55
|
+
// Initialize the staking client
|
|
56
|
+
const stakingClient = steerClient.staking;
|
|
57
|
+
|
|
58
|
+
// Get all staking pools
|
|
59
|
+
const pools = await stakingClient.getStakingPools();
|
|
60
|
+
|
|
61
|
+
// Get pools for a specific chain
|
|
62
|
+
const polygonPools = await stakingClient.getStakingPools(137); // Polygon chain ID
|
|
63
|
+
|
|
64
|
+
// Stake tokens
|
|
65
|
+
await stakingClient.stake({
|
|
66
|
+
stakingPool: '0x...', // staking pool address
|
|
67
|
+
amount: 1000000000000000000n // amount in wei
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
// Check earned rewards
|
|
71
|
+
const earned = await stakingClient.earned('0x...', '0x...'); // pool address, account address
|
|
72
|
+
console.log('Earned rewards:', earned.data);
|
|
73
|
+
|
|
74
|
+
// Calculate APR
|
|
75
|
+
const apr = stakingClient.calculateAPR(
|
|
76
|
+
pool,
|
|
77
|
+
rewardTokenPriceUSD,
|
|
78
|
+
totalStakedUSD
|
|
79
|
+
);
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Available Methods
|
|
83
|
+
|
|
84
|
+
- `getStakingPools(chainId?: number, protocol?: string)`: Fetch available staking pools
|
|
85
|
+
- `stake(params: StakeParams)`: Stake tokens in a pool
|
|
86
|
+
- `withdraw(params: WithdrawParams)`: Withdraw tokens from a pool
|
|
87
|
+
- `getReward(params: GetRewardParams)`: Claim rewards
|
|
88
|
+
- `earned(stakingPool: Address, account: Address)`: Get earned rewards
|
|
89
|
+
- `totalSupply(stakingPool: Address)`: Get total staked tokens
|
|
90
|
+
- `balanceOf(stakingPool: Address, account: Address)`: Get staked balance
|
|
91
|
+
- `calculateAPR(pool: StakingPool, rewardTokenPriceUSD: number, totalStakedUSD: number)`: Calculate current pool APR
|
|
92
|
+
|
|
39
93
|
## Requirements
|
|
40
94
|
|
|
41
95
|
- Node.js >= 18.0.0
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.StakingClient = void 0;
|
|
4
4
|
const SubgraphClient_1 = require("./SubgraphClient");
|
|
5
|
+
const withdraw_1 = require("./vault/withdraw");
|
|
6
|
+
const protocol_1 = require("../const/protocol");
|
|
7
|
+
const decimal_js_1 = require("decimal.js");
|
|
5
8
|
// ABIs for staking contracts
|
|
6
9
|
const SINGLE_REWARD_ABI = [
|
|
7
10
|
{
|
|
@@ -78,31 +81,44 @@ const DUAL_REWARD_ABI = [
|
|
|
78
81
|
"type": "function"
|
|
79
82
|
}
|
|
80
83
|
];
|
|
84
|
+
const ERC20_ABI = [
|
|
85
|
+
{
|
|
86
|
+
"inputs": [],
|
|
87
|
+
"name": "decimals",
|
|
88
|
+
"outputs": [{ "type": "uint8" }],
|
|
89
|
+
"stateMutability": "view",
|
|
90
|
+
"type": "function"
|
|
91
|
+
}
|
|
92
|
+
];
|
|
81
93
|
class StakingClient extends SubgraphClient_1.SubgraphClient {
|
|
82
94
|
constructor(client) {
|
|
83
95
|
super(client);
|
|
84
96
|
this.stakingPoolsEndpoint = 'https://9i52h964s3.execute-api.us-east-1.amazonaws.com/dev/staking-pools';
|
|
85
97
|
this.publicClient = client;
|
|
86
98
|
this.walletClient = client;
|
|
99
|
+
this.withdrawClient = new withdraw_1.VaultWithdrawClient(client, client);
|
|
87
100
|
}
|
|
88
101
|
/**
|
|
89
|
-
* Fetches staking
|
|
90
|
-
* @param
|
|
91
|
-
* @param protocol Optional protocol name to filter pools
|
|
102
|
+
* Fetches and filters staking pools based on provided criteria
|
|
103
|
+
* @param filter Optional filter object to filter the pools
|
|
92
104
|
*/
|
|
93
|
-
async getStakingPools(
|
|
105
|
+
async getStakingPools(filter) {
|
|
94
106
|
try {
|
|
95
107
|
const response = await fetch(this.stakingPoolsEndpoint);
|
|
96
108
|
if (!response.ok) {
|
|
97
109
|
throw new Error('Failed to fetch staking pools');
|
|
98
110
|
}
|
|
99
|
-
|
|
111
|
+
const rawPools = (await response.json()).pools;
|
|
112
|
+
// Convert and validate protocols in the response
|
|
113
|
+
let pools = rawPools
|
|
114
|
+
.filter((pool) => (0, protocol_1.isValidStakingProtocol)(pool.protocol))
|
|
115
|
+
.map((pool) => ({
|
|
116
|
+
...pool,
|
|
117
|
+
protocol: (0, protocol_1.normalizeProtocol)(pool.protocol)
|
|
118
|
+
}));
|
|
100
119
|
// Apply filters if provided
|
|
101
|
-
if (
|
|
102
|
-
pools =
|
|
103
|
-
}
|
|
104
|
-
if (protocol) {
|
|
105
|
-
pools = pools.filter(pool => pool.protocol === protocol);
|
|
120
|
+
if (filter) {
|
|
121
|
+
pools = this.filterPools(pools, filter);
|
|
106
122
|
}
|
|
107
123
|
return {
|
|
108
124
|
data: pools,
|
|
@@ -119,6 +135,86 @@ class StakingClient extends SubgraphClient_1.SubgraphClient {
|
|
|
119
135
|
};
|
|
120
136
|
}
|
|
121
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* Gets only currently active staking pools
|
|
140
|
+
* @param chainId Optional chain ID to filter pools
|
|
141
|
+
* @param protocol Optional protocol name to filter pools
|
|
142
|
+
*/
|
|
143
|
+
async getLiveStakingPools(chainId, protocol) {
|
|
144
|
+
return this.getStakingPools({
|
|
145
|
+
chainId,
|
|
146
|
+
protocol,
|
|
147
|
+
isLive: true,
|
|
148
|
+
includeExpired: false
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Gets all dual rewards staking pools
|
|
153
|
+
* @param chainId Optional chain ID to filter pools
|
|
154
|
+
* @param protocol Optional protocol name to filter pools
|
|
155
|
+
* @param isLive Optional flag to only get live pools
|
|
156
|
+
*/
|
|
157
|
+
async getDualRewardsStakingPools(chainId, protocol, isLive) {
|
|
158
|
+
return this.getStakingPools({
|
|
159
|
+
chainId,
|
|
160
|
+
protocol,
|
|
161
|
+
isLive,
|
|
162
|
+
isDualRewards: true
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Gets high yield staking pools based on minimum daily emissions
|
|
167
|
+
* @param minDailyEmissionA Minimum daily emission for reward A
|
|
168
|
+
* @param minDailyEmissionB Optional minimum daily emission for reward B
|
|
169
|
+
* @param chainId Optional chain ID to filter pools
|
|
170
|
+
*/
|
|
171
|
+
async getHighYieldStakingPools(minDailyEmissionA, minDailyEmissionB, chainId) {
|
|
172
|
+
return this.getStakingPools({
|
|
173
|
+
chainId,
|
|
174
|
+
minDailyEmissionA,
|
|
175
|
+
minDailyEmissionB,
|
|
176
|
+
isLive: true
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Internal helper to filter pools based on criteria
|
|
181
|
+
*/
|
|
182
|
+
filterPools(pools, filter) {
|
|
183
|
+
return pools.filter(pool => {
|
|
184
|
+
// Chain ID filter
|
|
185
|
+
if (filter.chainId !== undefined && pool.chainId !== filter.chainId) {
|
|
186
|
+
return false;
|
|
187
|
+
}
|
|
188
|
+
// Protocol filter
|
|
189
|
+
if (filter.protocol !== undefined && pool.protocol !== filter.protocol) {
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
// Dual rewards filter
|
|
193
|
+
if (filter.isDualRewards !== undefined && pool.isDualFactory !== filter.isDualRewards) {
|
|
194
|
+
return false;
|
|
195
|
+
}
|
|
196
|
+
// Daily emission filters
|
|
197
|
+
if (filter.minDailyEmissionA !== undefined && pool.dailyEmissionRewardA < filter.minDailyEmissionA) {
|
|
198
|
+
return false;
|
|
199
|
+
}
|
|
200
|
+
if (filter.minDailyEmissionB !== undefined && pool.dailyEmissionRewardB !== undefined && pool.dailyEmissionRewardB < filter.minDailyEmissionB) {
|
|
201
|
+
return false;
|
|
202
|
+
}
|
|
203
|
+
// Live/Expired filter
|
|
204
|
+
if (filter.isLive !== undefined) {
|
|
205
|
+
const now = Math.floor(Date.now() / 1000);
|
|
206
|
+
const periodFinish = parseInt(pool.periodFinish);
|
|
207
|
+
const isPoolLive = periodFinish > now;
|
|
208
|
+
if (filter.isLive && !isPoolLive) {
|
|
209
|
+
return false;
|
|
210
|
+
}
|
|
211
|
+
if (!filter.includeExpired && !isPoolLive) {
|
|
212
|
+
return false;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
return true;
|
|
216
|
+
});
|
|
217
|
+
}
|
|
122
218
|
/**
|
|
123
219
|
* Stakes tokens in a staking pool
|
|
124
220
|
* @param params The staking parameters
|
|
@@ -340,6 +436,228 @@ class StakingClient extends SubgraphClient_1.SubgraphClient {
|
|
|
340
436
|
}
|
|
341
437
|
return apr;
|
|
342
438
|
}
|
|
439
|
+
/**
|
|
440
|
+
* Calculates the USD value of tokens in a staking pool
|
|
441
|
+
* Handles both regular staking pools and Steer vaults
|
|
442
|
+
* @param params Parameters for token value calculation
|
|
443
|
+
*/
|
|
444
|
+
async getSteerLpTokenValue(params) {
|
|
445
|
+
try {
|
|
446
|
+
// First, get the staking pool details
|
|
447
|
+
const pool = params.stakingPool;
|
|
448
|
+
const chainId = await this.publicClient.getChainId();
|
|
449
|
+
if (chainId !== pool.chainId) {
|
|
450
|
+
throw new Error(`Chain ID mismatch| expected ${pool.chainId} but got ${chainId}`);
|
|
451
|
+
}
|
|
452
|
+
// Handle Steer vault staking pools
|
|
453
|
+
if (pool.isSteerVault && pool.staking) {
|
|
454
|
+
if (!pool.vaultTokens) {
|
|
455
|
+
throw new Error('Vault tokens information not found');
|
|
456
|
+
}
|
|
457
|
+
// Get underlying token amounts from LP token
|
|
458
|
+
const tokensResponse = await this.withdrawClient.getTokensFromLp(pool.staking.address, params.amount);
|
|
459
|
+
if (!tokensResponse.success || !tokensResponse.data) {
|
|
460
|
+
throw new Error('Failed to get token amounts from LP');
|
|
461
|
+
}
|
|
462
|
+
// Get decimals for both tokens
|
|
463
|
+
const [token0Decimals, token1Decimals] = await Promise.all([
|
|
464
|
+
this.publicClient.readContract({
|
|
465
|
+
address: pool.vaultTokens.token0.address,
|
|
466
|
+
abi: ERC20_ABI,
|
|
467
|
+
functionName: 'decimals'
|
|
468
|
+
}),
|
|
469
|
+
this.publicClient.readContract({
|
|
470
|
+
address: pool.vaultTokens.token1.address,
|
|
471
|
+
abi: ERC20_ABI,
|
|
472
|
+
functionName: 'decimals'
|
|
473
|
+
})
|
|
474
|
+
]);
|
|
475
|
+
// Use Decimal.js for precise calculations
|
|
476
|
+
const token0Amount = new decimal_js_1.Decimal(tokensResponse.data.token0Val.toString())
|
|
477
|
+
.div(new decimal_js_1.Decimal(10).pow(token0Decimals))
|
|
478
|
+
.mul(params.token0UsdPrice);
|
|
479
|
+
const token1Amount = new decimal_js_1.Decimal(tokensResponse.data.token1Val.toString())
|
|
480
|
+
.div(new decimal_js_1.Decimal(10).pow(token1Decimals))
|
|
481
|
+
.mul(params.token1UsdPrice);
|
|
482
|
+
const totalValueUsd = token0Amount.plus(token1Amount).toNumber();
|
|
483
|
+
const token0ValueUsd = token0Amount.toNumber();
|
|
484
|
+
const token1ValueUsd = token1Amount.toNumber();
|
|
485
|
+
return {
|
|
486
|
+
data: {
|
|
487
|
+
totalValueUsd,
|
|
488
|
+
token0Value: token0ValueUsd,
|
|
489
|
+
token1Value: token1ValueUsd
|
|
490
|
+
},
|
|
491
|
+
status: 200,
|
|
492
|
+
success: true
|
|
493
|
+
};
|
|
494
|
+
}
|
|
495
|
+
// Handle regular staking pools (non-Steer vault)
|
|
496
|
+
const stakingDecimals = await this.publicClient.readContract({
|
|
497
|
+
address: pool.staking.address,
|
|
498
|
+
abi: ERC20_ABI,
|
|
499
|
+
functionName: 'decimals'
|
|
500
|
+
});
|
|
501
|
+
const tokenValueUsd = new decimal_js_1.Decimal(params.amount.toString())
|
|
502
|
+
.div(new decimal_js_1.Decimal(10).pow(stakingDecimals))
|
|
503
|
+
.mul(params.token0UsdPrice)
|
|
504
|
+
.toNumber();
|
|
505
|
+
return {
|
|
506
|
+
data: {
|
|
507
|
+
totalValueUsd: tokenValueUsd,
|
|
508
|
+
tokenValue: tokenValueUsd
|
|
509
|
+
},
|
|
510
|
+
status: 200,
|
|
511
|
+
success: true
|
|
512
|
+
};
|
|
513
|
+
}
|
|
514
|
+
catch (error) {
|
|
515
|
+
return {
|
|
516
|
+
data: null,
|
|
517
|
+
status: 500,
|
|
518
|
+
success: false,
|
|
519
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred'
|
|
520
|
+
};
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
/**
|
|
524
|
+
* Gets the total staking amount in USD for a pool
|
|
525
|
+
* @param stakingPool The staking pool
|
|
526
|
+
* @param token0UsdPrice Price of token0 in USD
|
|
527
|
+
* @param token1UsdPrice Price of token1 in USD (required for Steer vaults)
|
|
528
|
+
*/
|
|
529
|
+
async getTotalStakingAmountInUsd(stakingPool, token0UsdPrice, token1UsdPrice) {
|
|
530
|
+
try {
|
|
531
|
+
// Get total supply
|
|
532
|
+
const totalSupplyResponse = await this.totalSupply(stakingPool.stakingPool);
|
|
533
|
+
if (!totalSupplyResponse.success || !totalSupplyResponse.data) {
|
|
534
|
+
throw new Error('Failed to get total supply');
|
|
535
|
+
}
|
|
536
|
+
// Get value using getSteerLpTokenValue
|
|
537
|
+
const valueResponse = await this.getSteerLpTokenValue({
|
|
538
|
+
stakingPool,
|
|
539
|
+
amount: totalSupplyResponse.data,
|
|
540
|
+
token0UsdPrice,
|
|
541
|
+
token1UsdPrice: token1UsdPrice || token0UsdPrice
|
|
542
|
+
});
|
|
543
|
+
if (!valueResponse.success || !valueResponse.data) {
|
|
544
|
+
throw new Error('Failed to calculate token value');
|
|
545
|
+
}
|
|
546
|
+
return {
|
|
547
|
+
data: valueResponse.data.totalValueUsd,
|
|
548
|
+
status: 200,
|
|
549
|
+
success: true
|
|
550
|
+
};
|
|
551
|
+
}
|
|
552
|
+
catch (error) {
|
|
553
|
+
return {
|
|
554
|
+
data: null,
|
|
555
|
+
status: 500,
|
|
556
|
+
success: false,
|
|
557
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred'
|
|
558
|
+
};
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
/**
|
|
562
|
+
* Prepares the transaction data for staking tokens without executing it
|
|
563
|
+
* @param params The staking parameters
|
|
564
|
+
*/
|
|
565
|
+
async prepareStakeTx(params) {
|
|
566
|
+
try {
|
|
567
|
+
return {
|
|
568
|
+
data: {
|
|
569
|
+
address: params.stakingPool,
|
|
570
|
+
abi: [{
|
|
571
|
+
type: 'function',
|
|
572
|
+
inputs: [
|
|
573
|
+
{ name: 'amount', internalType: 'uint256', type: 'uint256' }
|
|
574
|
+
],
|
|
575
|
+
name: 'stake',
|
|
576
|
+
outputs: [],
|
|
577
|
+
stateMutability: 'nonpayable'
|
|
578
|
+
}],
|
|
579
|
+
functionName: 'stake',
|
|
580
|
+
args: [params.amount]
|
|
581
|
+
},
|
|
582
|
+
status: 200,
|
|
583
|
+
success: true
|
|
584
|
+
};
|
|
585
|
+
}
|
|
586
|
+
catch (error) {
|
|
587
|
+
return {
|
|
588
|
+
data: null,
|
|
589
|
+
status: 500,
|
|
590
|
+
success: false,
|
|
591
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred'
|
|
592
|
+
};
|
|
593
|
+
}
|
|
594
|
+
}
|
|
595
|
+
/**
|
|
596
|
+
* Prepares the transaction data for withdrawing tokens without executing it
|
|
597
|
+
* @param params The withdrawal parameters
|
|
598
|
+
*/
|
|
599
|
+
async prepareWithdrawTx(params) {
|
|
600
|
+
try {
|
|
601
|
+
return {
|
|
602
|
+
data: {
|
|
603
|
+
address: params.stakingPool,
|
|
604
|
+
abi: [{
|
|
605
|
+
type: 'function',
|
|
606
|
+
inputs: [
|
|
607
|
+
{ name: 'amount', internalType: 'uint256', type: 'uint256' }
|
|
608
|
+
],
|
|
609
|
+
name: 'withdraw',
|
|
610
|
+
outputs: [],
|
|
611
|
+
stateMutability: 'nonpayable'
|
|
612
|
+
}],
|
|
613
|
+
functionName: 'withdraw',
|
|
614
|
+
args: [params.amount]
|
|
615
|
+
},
|
|
616
|
+
status: 200,
|
|
617
|
+
success: true
|
|
618
|
+
};
|
|
619
|
+
}
|
|
620
|
+
catch (error) {
|
|
621
|
+
return {
|
|
622
|
+
data: null,
|
|
623
|
+
status: 500,
|
|
624
|
+
success: false,
|
|
625
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred'
|
|
626
|
+
};
|
|
627
|
+
}
|
|
628
|
+
}
|
|
629
|
+
/**
|
|
630
|
+
* Prepares the transaction data for claiming rewards without executing it
|
|
631
|
+
* @param params The reward claim parameters
|
|
632
|
+
*/
|
|
633
|
+
async prepareGetRewardTx(params) {
|
|
634
|
+
try {
|
|
635
|
+
return {
|
|
636
|
+
data: {
|
|
637
|
+
address: params.stakingPool,
|
|
638
|
+
abi: [{
|
|
639
|
+
type: 'function',
|
|
640
|
+
inputs: [],
|
|
641
|
+
name: 'getReward',
|
|
642
|
+
outputs: [],
|
|
643
|
+
stateMutability: 'nonpayable'
|
|
644
|
+
}],
|
|
645
|
+
functionName: 'getReward',
|
|
646
|
+
args: []
|
|
647
|
+
},
|
|
648
|
+
status: 200,
|
|
649
|
+
success: true
|
|
650
|
+
};
|
|
651
|
+
}
|
|
652
|
+
catch (error) {
|
|
653
|
+
return {
|
|
654
|
+
data: null,
|
|
655
|
+
status: 500,
|
|
656
|
+
success: false,
|
|
657
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred'
|
|
658
|
+
};
|
|
659
|
+
}
|
|
660
|
+
}
|
|
343
661
|
}
|
|
344
662
|
exports.StakingClient = StakingClient;
|
|
345
663
|
//# sourceMappingURL=StakingClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StakingClient.js","sourceRoot":"","sources":["../../../src/base/StakingClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StakingClient.js","sourceRoot":"","sources":["../../../src/base/StakingClient.ts"],"names":[],"mappings":";;;AAEA,qDAAkD;AAClD,+CAAuD;AACvD,gDAA+F;AAC/F,2CAAqC;AAyIrC,6BAA6B;AAC7B,MAAM,iBAAiB,GAAG;IACxB;QACE,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,0BAA0B;QAClC,SAAS,EAAE,CAAC,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC;QAChC,iBAAiB,EAAE,MAAM;QACzB,MAAM,EAAE,UAAU;KACnB;IACD;QACE,QAAQ,EAAE,CAAC,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC;QAC/B,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,CAAC,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC;QAChC,iBAAiB,EAAE,MAAM;QACzB,MAAM,EAAE,UAAU;KACnB;IACD;QACE,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,CAAC,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC;QAChC,iBAAiB,EAAE,MAAM;QACzB,MAAM,EAAE,UAAU;KACnB;IACD;QACE,QAAQ,EAAE,CAAC,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC;QAC/B,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,CAAC,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC;QAChC,iBAAiB,EAAE,MAAM;QACzB,MAAM,EAAE,UAAU;KACnB;IACD;QACE,QAAQ,EAAE,CAAC,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC;QAC/B,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,EAAE;QACb,iBAAiB,EAAE,YAAY;QAC/B,MAAM,EAAE,UAAU;KACnB;IACD;QACE,QAAQ,EAAE,CAAC,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC;QAC/B,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,EAAE;QACb,iBAAiB,EAAE,YAAY;QAC/B,MAAM,EAAE,UAAU;KACnB;IACD;QACE,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,EAAE;QACb,iBAAiB,EAAE,YAAY;QAC/B,MAAM,EAAE,UAAU;KACnB;IACD;QACE,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,EAAE;QACb,iBAAiB,EAAE,YAAY;QAC/B,MAAM,EAAE,UAAU;KACnB;CACO,CAAC;AAEX,MAAM,eAAe,GAAG;IACtB,GAAG,iBAAiB;IACpB;QACE,QAAQ,EAAE,CAAC,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC;QAC/B,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,CAAC,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC;QAChC,iBAAiB,EAAE,MAAM;QACzB,MAAM,EAAE,UAAU;KACnB;IACD;QACE,QAAQ,EAAE,CAAC,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC;QAC/B,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,CAAC,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC;QAChC,iBAAiB,EAAE,MAAM;QACzB,MAAM,EAAE,UAAU;KACnB;CACO,CAAC;AAEX,MAAM,SAAS,GAAG;IAChB;QACE,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,CAAC,EAAC,MAAM,EAAE,OAAO,EAAC,CAAC;QAC9B,iBAAiB,EAAE,MAAM;QACzB,MAAM,EAAE,UAAU;KACnB;CACO,CAAC;AAEX,MAAa,aAAc,SAAQ,+BAAc;IAM/C,YAAY,MAAmC;QAC7C,KAAK,CAAC,MAAM,CAAC,CAAC;QAJC,yBAAoB,GAAG,0EAA0E,CAAC;QAKjH,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,8BAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,eAAe,CAC1B,MAA0B;QAE1B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,QAAQ,GAAqB,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;YAEjE,iDAAiD;YACjD,IAAI,KAAK,GAAkB,QAAQ;iBAChC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,iCAAsB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACvD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACd,GAAG,IAAI;gBACP,QAAQ,EAAE,IAAA,4BAAiB,EAAC,IAAI,CAAC,QAAQ,CAAC;aAC3C,CAAC,CAAC,CAAC;YAEN,4BAA4B;YAC5B,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1C,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;aACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,mBAAmB,CAAC,OAAgB,EAAE,QAA0B;QAC3E,OAAO,IAAI,CAAC,eAAe,CAAC;YAC1B,OAAO;YACP,QAAQ;YACR,MAAM,EAAE,IAAI;YACZ,cAAc,EAAE,KAAK;SACtB,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,0BAA0B,CACrC,OAAgB,EAChB,QAA0B,EAC1B,MAAgB;QAEhB,OAAO,IAAI,CAAC,eAAe,CAAC;YAC1B,OAAO;YACP,QAAQ;YACR,MAAM;YACN,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,wBAAwB,CACnC,iBAAyB,EACzB,iBAA0B,EAC1B,OAAgB;QAEhB,OAAO,IAAI,CAAC,eAAe,CAAC;YAC1B,OAAO;YACP,iBAAiB;YACjB,iBAAiB;YACjB,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,KAAoB,EAAE,MAAyB;QACjE,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACzB,kBAAkB;YAClB,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpE,OAAO,KAAK,CAAC;YACf,CAAC;YAED,kBAAkB;YAClB,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACvE,OAAO,KAAK,CAAC;YACf,CAAC;YAED,sBAAsB;YACtB,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,aAAa,EAAE,CAAC;gBACtF,OAAO,KAAK,CAAC;YACf,CAAC;YAED,yBAAyB;YACzB,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS,IAAI,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBACnG,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS,IAAI,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC9I,OAAO,KAAK,CAAC;YACf,CAAC;YAED,sBAAsB;YACtB,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;gBAC1C,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACjD,MAAM,UAAU,GAAG,YAAY,GAAG,GAAG,CAAC;gBAEtC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;oBACjC,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC1C,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,KAAK,CAAC,MAAmB;QACpC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;YACvD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAErD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;gBAC3D,OAAO,EAAE,MAAM,CAAC,WAAW;gBAC3B,GAAG,EAAE,iBAAiB;gBACtB,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;gBACrB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;aACpB,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5D,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;aACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,QAAQ,CAAC,MAAsB;QAC1C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;YACvD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAErD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;gBAC3D,OAAO,EAAE,MAAM,CAAC,WAAW;gBAC3B,GAAG,EAAE,iBAAiB;gBACtB,YAAY,EAAE,UAAU;gBACxB,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;gBACrB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;aACpB,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5D,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;aACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,SAAS,CAAC,MAAuB;QAC5C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;YACvD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAErD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;gBAC3D,OAAO,EAAE,MAAM,CAAC,WAAW;gBAC3B,GAAG,EAAE,iBAAiB;gBACtB,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;aACpB,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5D,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;aACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,MAAM,CAAC,WAAoB,EAAE,OAAgB;QACxD,IAAI,CAAC;YACH,qCAAqC;YACrC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;oBAClD,OAAO,EAAE,WAAW;oBACpB,GAAG,EAAE,iBAAiB;oBACtB,YAAY,EAAE,QAAQ;oBACtB,IAAI,EAAE,CAAC,OAAO,CAAC;iBAChB,CAAC,CAAC;gBAEH,OAAO;oBACL,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;oBACzB,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,2CAA2C;gBAC3C,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBAC3C,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;wBAC7B,OAAO,EAAE,WAAW;wBACpB,GAAG,EAAE,eAAe;wBACpB,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,CAAC,OAAO,CAAC;qBAChB,CAAC;oBACF,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;wBAC7B,OAAO,EAAE,WAAW;wBACpB,GAAG,EAAE,eAAe;wBACpB,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,CAAC,OAAO,CAAC;qBAChB,CAAC;iBACH,CAAC,CAAC;gBAEH,OAAO;oBACL,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;oBAC1B,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;aACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,WAAW,CAAC,WAAoB;QAC3C,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;gBACvD,OAAO,EAAE,WAAW;gBACpB,GAAG,EAAE,iBAAiB;gBACtB,YAAY,EAAE,aAAa;aAC5B,CAAC,CAAC;YAEH,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;aACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,SAAS,CAAC,WAAoB,EAAE,OAAgB;QAC3D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;gBACnD,OAAO,EAAE,WAAW;gBACpB,GAAG,EAAE,iBAAiB;gBACtB,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,CAAC,OAAO,CAAC;aAChB,CAAC,CAAC;YAEH,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;aACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,YAAY,CACjB,IAAiB,EACjB,mBAA2B,EAC3B,cAAsB;QAEtB,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;QACvE,IAAI,GAAG,GAAG,CAAC,cAAc,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC;QAExD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACpD,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;YACxE,GAAG,IAAI,CAAC,eAAe,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC;QACxD,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,oBAAoB,CAAC,MAAwB;QACxD,IAAI,CAAC;YACH,sCAAsC;YACtC,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;YAEhC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;YACrD,IAAI,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,OAAO,YAAY,OAAO,EAAE,CAAC,CAAC;YACpF,CAAC;YAED,mCAAmC;YACnC,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACtC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBACxD,CAAC;gBAED,6CAA6C;gBAC7C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAC9D,IAAI,CAAC,OAAO,CAAC,OAAO,EACpB,MAAM,CAAC,MAAM,CACd,CAAC;gBAEF,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;oBACpD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBACzD,CAAC;gBAED,+BAA+B;gBAC/B,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBACzD,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;wBAC7B,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO;wBACxC,GAAG,EAAE,SAAS;wBACd,YAAY,EAAE,UAAU;qBACzB,CAAC;oBACF,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;wBAC7B,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO;wBACxC,GAAG,EAAE,SAAS;wBACd,YAAY,EAAE,UAAU;qBACzB,CAAC;iBACH,CAAC,CAAC;gBAEH,0CAA0C;gBAC1C,MAAM,YAAY,GAAG,IAAI,oBAAO,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;qBACvE,GAAG,CAAC,IAAI,oBAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;qBACxC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAE9B,MAAM,YAAY,GAAG,IAAI,oBAAO,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;qBACvE,GAAG,CAAC,IAAI,oBAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;qBACxC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAE9B,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACjE,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAC/C,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAE/C,OAAO;oBACL,IAAI,EAAE;wBACJ,aAAa;wBACb,WAAW,EAAE,cAAc;wBAC3B,WAAW,EAAE,cAAc;qBAC5B;oBACD,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,iDAAiD;YACjD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;gBAC3D,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;gBAC7B,GAAG,EAAE,SAAS;gBACd,YAAY,EAAE,UAAU;aACzB,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,IAAI,oBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;iBACxD,GAAG,CAAC,IAAI,oBAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;iBACzC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC;iBAC1B,QAAQ,EAAE,CAAC;YAEd,OAAO;gBACL,IAAI,EAAE;oBACJ,aAAa,EAAE,aAAa;oBAC5B,UAAU,EAAE,aAAa;iBAC1B;gBACD,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI;aACd,CAAC;QAEJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;aACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,0BAA0B,CACrC,WAAwB,EACxB,cAAsB,EACtB,cAAuB;QAEvB,IAAI,CAAC;YACH,mBAAmB;YACnB,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,WAA4B,CAAC,CAAC;YAC7F,IAAI,CAAC,mBAAmB,CAAC,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;gBAC9D,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,CAAC;YAED,uCAAuC;YACvC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC;gBACpD,WAAW;gBACX,MAAM,EAAE,mBAAmB,CAAC,IAAI;gBAChC,cAAc;gBACd,cAAc,EAAE,cAAc,IAAI,cAAc;aACjD,CAAC,CAAC;YAEH,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;gBAClD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACrD,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,aAAa;gBACtC,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI;aACd,CAAC;QAEJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;aACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,cAAc,CAAC,MAAmB;QAgB7C,IAAI,CAAC;YAEH,OAAO;gBACL,IAAI,EAAE;oBACJ,OAAO,EAAE,MAAM,CAAC,WAAW;oBAC3B,GAAG,EAAE,CAAC;4BACJ,IAAI,EAAE,UAAU;4BAChB,MAAM,EAAE;gCACN,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;6BAC7D;4BACD,IAAI,EAAE,OAAO;4BACb,OAAO,EAAE,EAAE;4BACX,eAAe,EAAE,YAAY;yBAC9B,CAAC;oBACF,YAAY,EAAE,OAAO;oBACrB,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,CAAU;iBAC/B;gBACD,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;aACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,iBAAiB,CAAC,MAAsB;QAgBnD,IAAI,CAAC;YAEH,OAAO;gBACL,IAAI,EAAE;oBACJ,OAAO,EAAE,MAAM,CAAC,WAAW;oBAC3B,GAAG,EAAE,CAAC;4BACJ,IAAI,EAAE,UAAU;4BAChB,MAAM,EAAE;gCACN,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;6BAC7D;4BACD,IAAI,EAAE,UAAU;4BAChB,OAAO,EAAE,EAAE;4BACX,eAAe,EAAE,YAAY;yBAC9B,CAAC;oBACF,YAAY,EAAE,UAAU;oBACxB,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,CAAU;iBAC/B;gBACD,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;aACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,kBAAkB,CAAC,MAAuB;QAgBrD,IAAI,CAAC;YAEH,OAAO;gBACL,IAAI,EAAE;oBACJ,OAAO,EAAE,MAAM,CAAC,WAAW;oBAC3B,GAAG,EAAE,CAAC;4BACJ,IAAI,EAAE,UAAU;4BAChB,MAAM,EAAE,EAAE;4BACV,IAAI,EAAE,WAAW;4BACjB,OAAO,EAAE,EAAE;4BACX,eAAe,EAAE,YAAY;yBAC9B,CAAC;oBACF,YAAY,EAAE,WAAW;oBACzB,IAAI,EAAE,EAAW;iBAClB;gBACD,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;aACzE,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AA9qBD,sCA8qBC"}
|