@sonarwatch/portfolio-plugins 0.14.11 → 0.14.12
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/CHANGELOG.md +1636 -1632
- package/README.md +3 -3
- package/package.json +1 -1
- package/src/plugins/balancer/helpers/pools.js +21 -21
- package/src/plugins/cetus/types.d.ts +109 -0
- package/src/plugins/jupiter/exchange/constants.js +1 -1
- package/src/plugins/kriya/clmmsFetcher.d.ts +3 -0
- package/src/plugins/kriya/clmmsFetcher.js +81 -0
- package/src/plugins/kriya/clmmsFetcher.js.map +1 -0
- package/src/plugins/kriya/constants.d.ts +9 -4
- package/src/plugins/kriya/constants.js +48 -5
- package/src/plugins/kriya/constants.js.map +1 -1
- package/src/plugins/kriya/farmsFetcher.js.map +1 -1
- package/src/plugins/kriya/index.js +4 -0
- package/src/plugins/kriya/index.js.map +1 -1
- package/src/plugins/kriya/lpFetcher.d.ts +3 -0
- package/src/plugins/kriya/lpFetcher.js +80 -0
- package/src/plugins/kriya/lpFetcher.js.map +1 -0
- package/src/plugins/kriya/types/common.d.ts +46 -0
- package/src/plugins/kriya/types/common.js +9 -0
- package/src/plugins/kriya/types/common.js.map +1 -0
- package/src/plugins/kriya/types/farms.d.ts +55 -0
- package/src/plugins/kriya/{types.js → types/farms.js} +2 -1
- package/src/plugins/kriya/types/farms.js.map +1 -0
- package/src/plugins/kriya/types/pools.d.ts +131 -0
- package/src/plugins/kriya/types/pools.js +3 -0
- package/src/plugins/kriya/types/pools.js.map +1 -0
- package/src/plugins/kriya/{types.d.ts → types/vaults.d.ts} +104 -86
- package/src/plugins/kriya/types/vaults.js +3 -0
- package/src/plugins/kriya/types/vaults.js.map +1 -0
- package/src/plugins/kriya/vaultsFetcher.js +67 -59
- package/src/plugins/kriya/vaultsFetcher.js.map +1 -1
- package/src/plugins/kriya/vaultsJob.js +52 -16
- package/src/plugins/kriya/vaultsJob.js.map +1 -1
- package/src/plugins/native-stake/solana/solanaValidatorsJob.js +4 -0
- package/src/plugins/native-stake/solana/solanaValidatorsJob.js.map +1 -1
- package/src/plugins/native-stake/solana/types.d.ts +8 -0
- package/src/plugins/parcl/stakingFetcher.js +10 -24
- package/src/plugins/parcl/stakingFetcher.js.map +1 -1
- package/src/plugins/sushiswap/helpers.js +24 -24
- package/src/plugins/uniswap-v2/helpers.js +22 -22
- package/src/plugins/zeta/airdropFetcher.js +14 -14
- package/src/utils/elementbuilder/LiquidityBuilder.js +1 -1
- package/src/utils/elementbuilder/LiquidityBuilder.js.map +1 -1
- package/src/utils/sei/constants.js +8 -8
- package/src/utils/sei/getQueryBalanceByOwner.js +4 -4
- package/src/plugins/kriya/types.js.map +0 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
// Farm
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.PoolSource = exports.FarmSource = void 0;
|
|
4
5
|
var FarmSource;
|
|
@@ -13,4 +14,4 @@ var PoolSource;
|
|
|
13
14
|
PoolSource["DeepbookV2"] = "deepbook_v2";
|
|
14
15
|
PoolSource["Kriya"] = "kriya";
|
|
15
16
|
})(PoolSource || (exports.PoolSource = PoolSource = {}));
|
|
16
|
-
//# sourceMappingURL=
|
|
17
|
+
//# sourceMappingURL=farms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"farms.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/kriya/types/farms.ts"],"names":[],"mappings":";AAAA,OAAO;;;AA8BP,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,wBAAU,CAAA;IACV,6BAAe,CAAA;AACjB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAED,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,mCAAqB,CAAA;IACrB,wCAA0B,CAAA;IAC1B,6BAAe,CAAA;AACjB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { ID } from '../../../utils/sui/structs/id';
|
|
2
|
+
import { TickIndex, Type } from './common';
|
|
3
|
+
export type Pool = {
|
|
4
|
+
id: ID;
|
|
5
|
+
is_deposit_enabled: boolean;
|
|
6
|
+
is_stable: boolean;
|
|
7
|
+
is_swap_enabled: boolean;
|
|
8
|
+
is_withdraw_enabled: boolean;
|
|
9
|
+
lp_fee_percent: string;
|
|
10
|
+
lsp_locked: string;
|
|
11
|
+
lsp_supply: LspSupply;
|
|
12
|
+
protocol_fee_percent: string;
|
|
13
|
+
protocol_fee_x: string;
|
|
14
|
+
protocol_fee_y: string;
|
|
15
|
+
scaleX: string;
|
|
16
|
+
scaleY: string;
|
|
17
|
+
token_x: string;
|
|
18
|
+
token_y: string;
|
|
19
|
+
};
|
|
20
|
+
export type ExtendedPool = Pool & {
|
|
21
|
+
token_x_mint: string;
|
|
22
|
+
token_y_mint: string;
|
|
23
|
+
};
|
|
24
|
+
export type LspSupply = {
|
|
25
|
+
fields: Fields;
|
|
26
|
+
type: string;
|
|
27
|
+
};
|
|
28
|
+
export type Fields = {
|
|
29
|
+
value: string;
|
|
30
|
+
};
|
|
31
|
+
export type LpTokenV2 = {
|
|
32
|
+
id: ID;
|
|
33
|
+
lsp: Lsp;
|
|
34
|
+
pool_id: string;
|
|
35
|
+
};
|
|
36
|
+
export type Lsp = {
|
|
37
|
+
fields: BalanceFields;
|
|
38
|
+
type: string;
|
|
39
|
+
};
|
|
40
|
+
export type BalanceFields = {
|
|
41
|
+
balance: string;
|
|
42
|
+
id: ID;
|
|
43
|
+
};
|
|
44
|
+
export type ClmmPosition = {
|
|
45
|
+
fee_growth_inside_x_last: string;
|
|
46
|
+
fee_growth_inside_y_last: string;
|
|
47
|
+
fee_rate: string;
|
|
48
|
+
id: ID;
|
|
49
|
+
liquidity: string;
|
|
50
|
+
owed_coin_x: string;
|
|
51
|
+
owed_coin_y: string;
|
|
52
|
+
pool_id: string;
|
|
53
|
+
reward_infos: PositionRewardInfo[];
|
|
54
|
+
tick_lower_index: TickIndex;
|
|
55
|
+
tick_upper_index: TickIndex;
|
|
56
|
+
type_x: Type;
|
|
57
|
+
type_y: Type;
|
|
58
|
+
};
|
|
59
|
+
export type PositionRewardInfo = {
|
|
60
|
+
fields: PositionRewardInfoFields;
|
|
61
|
+
type: string;
|
|
62
|
+
};
|
|
63
|
+
export type PositionRewardInfoFields = {
|
|
64
|
+
coins_owed_reward: string;
|
|
65
|
+
reward_growth_inside_last: string;
|
|
66
|
+
};
|
|
67
|
+
export type ClmmPool = {
|
|
68
|
+
fee_growth_global_x: string;
|
|
69
|
+
fee_growth_global_y: string;
|
|
70
|
+
flash_loan_fee_rate: string;
|
|
71
|
+
id: ID;
|
|
72
|
+
liquidity: string;
|
|
73
|
+
max_liquidity_per_tick: string;
|
|
74
|
+
observation_cardinality: string;
|
|
75
|
+
observation_cardinality_next: string;
|
|
76
|
+
observation_index: string;
|
|
77
|
+
observations: Observation[];
|
|
78
|
+
protocol_fee_share: string;
|
|
79
|
+
protocol_fee_x: string;
|
|
80
|
+
protocol_fee_y: string;
|
|
81
|
+
protocol_flash_loan_fee_share: string;
|
|
82
|
+
reserve_x: string;
|
|
83
|
+
reserve_y: string;
|
|
84
|
+
reward_infos: RewardInfo[];
|
|
85
|
+
sqrt_price: string;
|
|
86
|
+
swap_fee_rate: string;
|
|
87
|
+
tick_bitmap: Tick;
|
|
88
|
+
tick_index: TickIndex;
|
|
89
|
+
tick_spacing: number;
|
|
90
|
+
ticks: Tick;
|
|
91
|
+
type_x: Type;
|
|
92
|
+
type_y: Type;
|
|
93
|
+
};
|
|
94
|
+
export type RewardInfo = {
|
|
95
|
+
fields: RewardInfoFields;
|
|
96
|
+
type: string;
|
|
97
|
+
};
|
|
98
|
+
export type RewardInfoFields = {
|
|
99
|
+
ended_at_seconds: string;
|
|
100
|
+
last_update_time: string;
|
|
101
|
+
reward_coin_type: Type;
|
|
102
|
+
reward_growth_global: string;
|
|
103
|
+
reward_per_seconds: string;
|
|
104
|
+
total_reward: string;
|
|
105
|
+
total_reward_allocated: string;
|
|
106
|
+
};
|
|
107
|
+
export type Observation = {
|
|
108
|
+
fields: ObservationFields;
|
|
109
|
+
type: string;
|
|
110
|
+
};
|
|
111
|
+
export type ObservationFields = {
|
|
112
|
+
initialized: boolean;
|
|
113
|
+
seconds_per_liquidity_cumulative: string;
|
|
114
|
+
tick_cumulative: TickCumulative;
|
|
115
|
+
timestamp_s: string;
|
|
116
|
+
};
|
|
117
|
+
export type TickCumulative = {
|
|
118
|
+
fields: TickCumulativeFields;
|
|
119
|
+
type: string;
|
|
120
|
+
};
|
|
121
|
+
export type TickCumulativeFields = {
|
|
122
|
+
bits: string;
|
|
123
|
+
};
|
|
124
|
+
export type Tick = {
|
|
125
|
+
fields: TickBitmapFields;
|
|
126
|
+
type: string;
|
|
127
|
+
};
|
|
128
|
+
export type TickBitmapFields = {
|
|
129
|
+
id: ID;
|
|
130
|
+
size: string;
|
|
131
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pools.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/kriya/types/pools.ts"],"names":[],"mappings":""}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import { ID } from '
|
|
2
|
-
|
|
3
|
-
id: string;
|
|
4
|
-
underlyingPool: string;
|
|
5
|
-
tokenType: string;
|
|
6
|
-
};
|
|
1
|
+
import { ID } from '../../../utils/sui/structs/id';
|
|
2
|
+
import { RewardInfo, TickIndex, Type } from './common';
|
|
7
3
|
export type Vault = {
|
|
8
4
|
clmm_pool_id: string;
|
|
9
5
|
fee_a: string;
|
|
@@ -54,23 +50,16 @@ export type TotalSupply = {
|
|
|
54
50
|
export type TotalSupplyFields = {
|
|
55
51
|
value: string;
|
|
56
52
|
};
|
|
57
|
-
export type
|
|
58
|
-
id: string;
|
|
59
|
-
lowerTick: number;
|
|
60
|
-
upperTick: number;
|
|
61
|
-
liquidity: string;
|
|
62
|
-
totalSupply: string;
|
|
63
|
-
};
|
|
64
|
-
export type VaultPosition = {
|
|
53
|
+
export type VaultPositionCetus = {
|
|
65
54
|
id: ID;
|
|
66
55
|
name: number[];
|
|
67
|
-
value:
|
|
56
|
+
value: ValueCetus;
|
|
68
57
|
};
|
|
69
|
-
export type
|
|
70
|
-
fields:
|
|
58
|
+
export type ValueCetus = {
|
|
59
|
+
fields: PositionFieldsCetus;
|
|
71
60
|
type: string;
|
|
72
61
|
};
|
|
73
|
-
export type
|
|
62
|
+
export type PositionFieldsCetus = {
|
|
74
63
|
coin_type_a: CoinType;
|
|
75
64
|
coin_type_b: CoinType;
|
|
76
65
|
description: string;
|
|
@@ -79,8 +68,8 @@ export type ValueFields = {
|
|
|
79
68
|
liquidity: string;
|
|
80
69
|
name: string;
|
|
81
70
|
pool: string;
|
|
82
|
-
tick_lower_index:
|
|
83
|
-
tick_upper_index:
|
|
71
|
+
tick_lower_index: TickIndex;
|
|
72
|
+
tick_upper_index: TickIndex;
|
|
84
73
|
url: string;
|
|
85
74
|
};
|
|
86
75
|
export type CoinType = {
|
|
@@ -90,66 +79,65 @@ export type CoinType = {
|
|
|
90
79
|
export type CoinTypeAFields = {
|
|
91
80
|
name: string;
|
|
92
81
|
};
|
|
93
|
-
export type
|
|
94
|
-
|
|
82
|
+
export type VaultPositionKriya = {
|
|
83
|
+
id: ID;
|
|
84
|
+
name: number[];
|
|
85
|
+
value: ValueKriya;
|
|
86
|
+
};
|
|
87
|
+
export type ValueKriya = {
|
|
88
|
+
fields: PositionFieldsKriya;
|
|
95
89
|
type: string;
|
|
96
90
|
};
|
|
97
|
-
export type
|
|
98
|
-
|
|
91
|
+
export type PositionFieldsKriya = {
|
|
92
|
+
fee_growth_inside_x_last: string;
|
|
93
|
+
fee_growth_inside_y_last: string;
|
|
94
|
+
fee_rate: string;
|
|
95
|
+
id: ID;
|
|
96
|
+
liquidity: string;
|
|
97
|
+
owed_coin_x: string;
|
|
98
|
+
owed_coin_y: string;
|
|
99
|
+
pool_id: string;
|
|
100
|
+
reward_infos: RewardInfo[];
|
|
101
|
+
tick_lower_index: TickIndex;
|
|
102
|
+
tick_upper_index: TickIndex;
|
|
103
|
+
type_x: Type;
|
|
104
|
+
type_y: Type;
|
|
99
105
|
};
|
|
100
|
-
export type
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
106
|
+
export type LeverageVaultInfo = {
|
|
107
|
+
depositedA: string;
|
|
108
|
+
apr: string;
|
|
109
|
+
borrowedBUsd: string;
|
|
110
|
+
farmStakeReceiptType: string;
|
|
111
|
+
decimalA: string;
|
|
112
|
+
createdAt: string;
|
|
113
|
+
farmSource: string;
|
|
114
|
+
coinB: string;
|
|
115
|
+
decimalB: string;
|
|
116
|
+
tvl: string;
|
|
117
|
+
borrowedB: string;
|
|
118
|
+
targetLeverage: string;
|
|
119
|
+
vaultName: string;
|
|
120
|
+
depositedAUsd: string;
|
|
121
|
+
lpSupply: string;
|
|
122
|
+
vaultSource: string;
|
|
108
123
|
farmId: string;
|
|
124
|
+
fees: string;
|
|
125
|
+
coinA: string;
|
|
126
|
+
updatedAt: string;
|
|
127
|
+
id: string;
|
|
128
|
+
};
|
|
129
|
+
export type DynFieldPositionVault = {
|
|
130
|
+
name: Name;
|
|
131
|
+
bcsName: string;
|
|
132
|
+
type: string;
|
|
133
|
+
objectType: string;
|
|
109
134
|
objectId: string;
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
lpFeesPercent: string;
|
|
113
|
-
tokenYType: string;
|
|
114
|
-
data: string;
|
|
115
|
-
updatedAt: Date;
|
|
116
|
-
isStable: boolean;
|
|
117
|
-
tokenXType: string;
|
|
118
|
-
tokenYReserve: string;
|
|
119
|
-
tokenX: Token;
|
|
120
|
-
tokenY: Token;
|
|
121
|
-
tvl: number;
|
|
122
|
-
apy: number;
|
|
123
|
-
feeApy: number;
|
|
124
|
-
};
|
|
125
|
-
export declare enum FarmSource {
|
|
126
|
-
Buck = "buck",
|
|
127
|
-
Empty = "",
|
|
128
|
-
Kriya = "kriya"
|
|
129
|
-
}
|
|
130
|
-
export declare enum PoolSource {
|
|
131
|
-
Deepbook = "deepbook",
|
|
132
|
-
DeepbookV2 = "deepbook_v2",
|
|
133
|
-
Kriya = "kriya"
|
|
134
|
-
}
|
|
135
|
-
export type Token = {
|
|
136
|
-
coinType: string;
|
|
137
|
-
ticker: string;
|
|
138
|
-
tokenName: string;
|
|
139
|
-
updatedAt: Date;
|
|
140
|
-
createdAt: Date;
|
|
141
|
-
decimals: number;
|
|
142
|
-
iconUrl: string;
|
|
143
|
-
description: string;
|
|
144
|
-
price: string;
|
|
135
|
+
version: number;
|
|
136
|
+
digest: string;
|
|
145
137
|
};
|
|
146
|
-
export type
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
lock_until: string;
|
|
150
|
-
stake_amount: string;
|
|
151
|
-
stake_weight: string;
|
|
152
|
-
start_unit: string;
|
|
138
|
+
export type Name = {
|
|
139
|
+
type: string;
|
|
140
|
+
value: number[];
|
|
153
141
|
};
|
|
154
142
|
export type StakeReceiptWithPoints = {
|
|
155
143
|
farm_id: string;
|
|
@@ -178,26 +166,56 @@ export type StakeReceiptWithPoints = {
|
|
|
178
166
|
type: string;
|
|
179
167
|
};
|
|
180
168
|
};
|
|
181
|
-
export type
|
|
182
|
-
|
|
169
|
+
export type VaultReceipt = {
|
|
170
|
+
farm_id: string;
|
|
171
|
+
id: ID;
|
|
172
|
+
reward_infos: RewardInfos;
|
|
173
|
+
shares: string;
|
|
174
|
+
user_points_info: UserPointsInfo;
|
|
175
|
+
};
|
|
176
|
+
export type RewardInfos = {
|
|
177
|
+
fields: RewardInfosFields;
|
|
178
|
+
type: string;
|
|
179
|
+
};
|
|
180
|
+
export type RewardInfosFields = {
|
|
181
|
+
id: ID;
|
|
182
|
+
size: string;
|
|
183
|
+
};
|
|
184
|
+
export type UserPointsInfo = {
|
|
185
|
+
fields: UserPointsInfoFields;
|
|
186
|
+
type: string;
|
|
187
|
+
};
|
|
188
|
+
export type UserPointsInfoFields = {
|
|
189
|
+
claimed_points: string;
|
|
190
|
+
index: string;
|
|
191
|
+
updated_at: string;
|
|
192
|
+
};
|
|
193
|
+
export type VaultData = {
|
|
194
|
+
lpPriceHigh: string;
|
|
183
195
|
apr: string;
|
|
184
|
-
|
|
185
|
-
farmStakeReceiptType: string;
|
|
186
|
-
decimalA: string;
|
|
187
|
-
createdAt: string;
|
|
188
|
-
farmSource: string;
|
|
196
|
+
createdAt: Date;
|
|
189
197
|
coinB: string;
|
|
190
|
-
decimalB: string;
|
|
191
198
|
tvl: string;
|
|
192
|
-
borrowedB: string;
|
|
193
|
-
targetLeverage: string;
|
|
194
199
|
vaultName: string;
|
|
195
|
-
|
|
200
|
+
lastRebalance: string;
|
|
196
201
|
lpSupply: string;
|
|
197
202
|
vaultSource: string;
|
|
198
203
|
farmId: string;
|
|
199
204
|
fees: string;
|
|
200
205
|
coinA: string;
|
|
201
|
-
|
|
206
|
+
lpPriceLow: string;
|
|
207
|
+
updatedAt: Date;
|
|
208
|
+
currentLpPrice: string;
|
|
202
209
|
id: string;
|
|
210
|
+
rebalanceCap: string;
|
|
211
|
+
pool: Pool;
|
|
212
|
+
};
|
|
213
|
+
export type Pool = {
|
|
214
|
+
tokenYDecimals: number;
|
|
215
|
+
vaultCoinType: string;
|
|
216
|
+
vaultType: string;
|
|
217
|
+
tokenXType: string;
|
|
218
|
+
tokenYType: string;
|
|
219
|
+
poolId: string;
|
|
220
|
+
tokenXDecimals: number;
|
|
203
221
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vaults.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/kriya/types/vaults.ts"],"names":[],"mappings":""}
|
|
@@ -17,77 +17,85 @@ const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
|
17
17
|
const constants_1 = require("./constants");
|
|
18
18
|
const clients_1 = require("../../utils/clients");
|
|
19
19
|
const mulitpleGetBalances_1 = require("../../utils/sui/mulitpleGetBalances");
|
|
20
|
-
const constants_2 = require("../cetus/constants");
|
|
21
20
|
const tokenAmountFromLiquidity_1 = require("../../utils/clmm/tokenAmountFromLiquidity");
|
|
22
|
-
const
|
|
21
|
+
const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
|
|
22
|
+
const getOwnedObjects_1 = require("../../utils/sui/getOwnedObjects");
|
|
23
|
+
const MemoizedCache_1 = require("../../utils/misc/MemoizedCache");
|
|
24
|
+
const vaultsPositionInfoMemo = new MemoizedCache_1.MemoizedCache(constants_1.vaultsInfoKey, {
|
|
25
|
+
prefix: constants_1.platformId,
|
|
26
|
+
networkId: portfolio_core_1.NetworkId.sui,
|
|
27
|
+
});
|
|
23
28
|
const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
|
|
29
|
+
var _a, _b;
|
|
24
30
|
const client = (0, clients_1.getClientSui)();
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
});
|
|
31
|
+
const [vaultsOldBalances, vaultBalances, vaultsPositionInfo] = yield Promise.all([
|
|
32
|
+
(0, mulitpleGetBalances_1.getMultipleBalances)(client, owner, constants_1.vaultsInfo.map((vault) => vault.tokenType)),
|
|
33
|
+
(0, getOwnedObjects_1.getOwnedObjects)(client, owner, {
|
|
34
|
+
filter: { StructType: constants_1.vaultStakeReceipt },
|
|
35
|
+
}),
|
|
36
|
+
vaultsPositionInfoMemo.getItem(cache),
|
|
37
|
+
]);
|
|
33
38
|
if (!vaultsPositionInfo)
|
|
34
39
|
return [];
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
40
|
+
const vaultsByCoinType = new Map();
|
|
41
|
+
vaultsPositionInfo.forEach((vault) => vaultsByCoinType.set(vault.coinType, vault));
|
|
42
|
+
const vaultsByFarmId = new Map();
|
|
43
|
+
vaultsPositionInfo.forEach((vault) => vaultsByFarmId.set(vault.farmId, vault));
|
|
44
|
+
const registry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.sui, constants_1.platformId);
|
|
45
|
+
const liquidities = registry.addElementLiquidity({
|
|
46
|
+
name: 'Vaults',
|
|
47
|
+
label: 'LiquidityPool',
|
|
48
|
+
});
|
|
49
|
+
for (let i = 0; i < vaultsOldBalances.length; i++) {
|
|
50
|
+
const liquidity = liquidities.addLiquidity();
|
|
51
|
+
const balance = vaultsOldBalances[i];
|
|
52
|
+
if (balance.totalBalance === '0')
|
|
53
|
+
continue;
|
|
54
|
+
const vault = vaultsByCoinType.get(balance.coinType);
|
|
55
|
+
if (!vault)
|
|
45
56
|
continue;
|
|
46
57
|
const totalSupply = new bignumber_js_1.default(vault.totalSupply);
|
|
47
|
-
const { tokenAmountA, tokenAmountB } = (0, tokenAmountFromLiquidity_1.getTokenAmountsFromLiquidity)(new bignumber_js_1.default(vault.liquidity),
|
|
58
|
+
const { tokenAmountA, tokenAmountB } = (0, tokenAmountFromLiquidity_1.getTokenAmountsFromLiquidity)(new bignumber_js_1.default(vault.liquidity), vault.currentTickIndex, vault.lowerTick, vault.upperTick, false);
|
|
48
59
|
const shares = new bignumber_js_1.default(balance.totalBalance).dividedBy(totalSupply);
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
60
|
+
const amountA = tokenAmountA.times(shares);
|
|
61
|
+
const amountB = tokenAmountB.times(shares);
|
|
62
|
+
liquidity.addAsset({
|
|
63
|
+
address: vault.mintA,
|
|
64
|
+
amount: amountA,
|
|
65
|
+
});
|
|
66
|
+
liquidity.addAsset({
|
|
67
|
+
address: vault.mintB,
|
|
68
|
+
amount: amountB,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
for (let i = 0; i < vaultBalances.length; i++) {
|
|
72
|
+
const liquidity = liquidities.addLiquidity();
|
|
73
|
+
const stakeReceipt = (_b = (_a = vaultBalances[i].data) === null || _a === void 0 ? void 0 : _a.content) === null || _b === void 0 ? void 0 : _b.fields;
|
|
74
|
+
if (!stakeReceipt || stakeReceipt.shares === '0')
|
|
54
75
|
continue;
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
.dividedBy(Math.pow(10, tokenPriceA.decimals));
|
|
58
|
-
const amountB = tokenAmountB
|
|
59
|
-
.times(shares)
|
|
60
|
-
.dividedBy(Math.pow(10, tokenPriceB.decimals));
|
|
61
|
-
if (amountA.isZero() && amountB.isZero())
|
|
76
|
+
const vault = vaultsByFarmId.get(stakeReceipt.farm_id);
|
|
77
|
+
if (!vault)
|
|
62
78
|
continue;
|
|
63
|
-
const
|
|
64
|
-
const
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
79
|
+
const totalSupply = new bignumber_js_1.default(vault.totalSupply);
|
|
80
|
+
const { tokenAmountA, tokenAmountB } = (0, tokenAmountFromLiquidity_1.getTokenAmountsFromLiquidity)(new bignumber_js_1.default(vault.liquidity), 600, vault.lowerTick, vault.upperTick, false);
|
|
81
|
+
const useApiData = tokenAmountA.isLessThan(0) || tokenAmountB.isLessThan(0);
|
|
82
|
+
const shares = new bignumber_js_1.default(stakeReceipt.shares).dividedBy(totalSupply);
|
|
83
|
+
const amountA = useApiData
|
|
84
|
+
? new bignumber_js_1.default(vault.amountA).times(shares)
|
|
85
|
+
: tokenAmountA.times(shares);
|
|
86
|
+
const amountB = useApiData
|
|
87
|
+
? new bignumber_js_1.default(vault.amountB).times(shares)
|
|
88
|
+
: tokenAmountB.times(shares);
|
|
89
|
+
liquidity.addAsset({
|
|
90
|
+
address: vault.mintA,
|
|
91
|
+
amount: amountA,
|
|
92
|
+
});
|
|
93
|
+
liquidity.addAsset({
|
|
94
|
+
address: vault.mintB,
|
|
95
|
+
amount: amountB,
|
|
74
96
|
});
|
|
75
97
|
}
|
|
76
|
-
|
|
77
|
-
return [];
|
|
78
|
-
return [
|
|
79
|
-
{
|
|
80
|
-
type: 'liquidity',
|
|
81
|
-
data: {
|
|
82
|
-
liquidities,
|
|
83
|
-
},
|
|
84
|
-
label: 'LiquidityPool',
|
|
85
|
-
networkId: portfolio_core_1.NetworkId.sui,
|
|
86
|
-
platformId: constants_1.platformId,
|
|
87
|
-
value: totalValue,
|
|
88
|
-
name: 'Vaults',
|
|
89
|
-
},
|
|
90
|
-
];
|
|
98
|
+
return registry.getElements(cache);
|
|
91
99
|
});
|
|
92
100
|
const fetcher = {
|
|
93
101
|
id: `${constants_1.platformId}-vaults`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vaultsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/kriya/vaultsFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+
|
|
1
|
+
{"version":3,"file":"vaultsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/kriya/vaultsFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAAuD;AACvD,gEAAqC;AAGrC,2CAKqB;AACrB,iDAAmD;AACnD,6EAA0E;AAE1E,wFAAyF;AACzF,gFAA6E;AAC7E,qEAAkE;AAClE,kEAA+D;AAG/D,MAAM,sBAAsB,GAAG,IAAI,6BAAa,CAC9C,yBAAa,EACb;IACE,MAAM,EAAE,sBAAU;IAClB,SAAS,EAAE,0BAAS,CAAC,GAAG;CACzB,CACF,CAAC;AAEF,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;;IACtE,MAAM,MAAM,GAAG,IAAA,sBAAY,GAAE,CAAC;IAE9B,MAAM,CAAC,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,CAAC,GAC1D,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,IAAA,yCAAmB,EACjB,MAAM,EACN,KAAK,EACL,sBAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAC3C;QACD,IAAA,iCAAe,EAAe,MAAM,EAAE,KAAK,EAAE;YAC3C,MAAM,EAAE,EAAE,UAAU,EAAE,6BAAiB,EAAE;SAC1C,CAAC;QACF,sBAAsB,CAAC,OAAO,CAAC,KAAK,CAAC;KACtC,CAAC,CAAC;IAEL,IAAI,CAAC,kBAAkB;QAAE,OAAO,EAAE,CAAC;IAEnC,MAAM,gBAAgB,GAAmC,IAAI,GAAG,EAAE,CAAC;IACnE,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACnC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAC5C,CAAC;IAEF,MAAM,cAAc,GAAmC,IAAI,GAAG,EAAE,CAAC;IACjE,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACnC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CACxC,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAI,iCAAe,CAAC,0BAAS,CAAC,GAAG,EAAE,sBAAU,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,QAAQ,CAAC,mBAAmB,CAAC;QAC/C,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,eAAe;KACvB,CAAC,CAAC;IACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,OAAO,CAAC,YAAY,KAAK,GAAG;YAAE,SAAS;QAE3C,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,MAAM,WAAW,GAAG,IAAI,sBAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAErD,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,IAAA,uDAA4B,EACjE,IAAI,sBAAS,CAAC,KAAK,CAAC,SAAS,CAAC,EAC9B,KAAK,CAAC,gBAAgB,EACtB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,SAAS,EACf,KAAK,CACN,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,sBAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAE1E,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE3C,SAAS,CAAC,QAAQ,CAAC;YACjB,OAAO,EAAE,KAAK,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO;SAChB,CAAC,CAAC;QACH,SAAS,CAAC,QAAQ,CAAC;YACjB,OAAO,EAAE,KAAK,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO;SAChB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,MAAA,MAAA,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,0CAAE,OAAO,0CAAE,MAAM,CAAC;QAC5D,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,GAAG;YAAE,SAAS;QAE3D,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,MAAM,WAAW,GAAG,IAAI,sBAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAErD,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,IAAA,uDAA4B,EACjE,IAAI,sBAAS,CAAC,KAAK,CAAC,SAAS,CAAC,EAC9B,GAAG,EACH,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,SAAS,EACf,KAAK,CACN,CAAC;QACF,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAE5E,MAAM,MAAM,GAAG,IAAI,sBAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAEzE,MAAM,OAAO,GAAG,UAAU;YACxB,CAAC,CAAC,IAAI,sBAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YAC5C,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,UAAU;YACxB,CAAC,CAAC,IAAI,sBAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YAC5C,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE/B,SAAS,CAAC,QAAQ,CAAC;YACjB,OAAO,EAAE,KAAK,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO;SAChB,CAAC,CAAC;QACH,SAAS,CAAC,QAAQ,CAAC;YACjB,OAAO,EAAE,KAAK,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO;SAChB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,SAAS;IAC1B,SAAS,EAAE,0BAAS,CAAC,GAAG;IACxB,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
|