@scallop-io/sui-scallop-sdk 1.4.19 → 1.4.21
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/constants/common.d.ts +4 -4
- package/dist/constants/enum.d.ts +2 -2
- package/dist/constants/poolAddress.d.ts +3 -1
- package/dist/constants/queryKeys.d.ts +2 -2
- package/dist/index.js +400 -115
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +398 -110
- package/dist/index.mjs.map +1 -1
- package/dist/models/scallopQuery.d.ts +13 -6
- package/dist/models/scallopUtils.d.ts +2 -2
- package/dist/queries/borrowIncentiveQuery.d.ts +2 -0
- package/dist/queries/poolAddressesQuery.d.ts +3 -1
- package/dist/queries/portfolioQuery.d.ts +4 -3
- package/dist/queries/priceQuery.d.ts +2 -0
- package/dist/queries/sCoinQuery.d.ts +1 -1
- package/dist/types/query/portfolio.d.ts +4 -0
- package/package.json +1 -1
- package/src/builders/borrowIncentiveBuilder.ts +29 -7
- package/src/builders/coreBuilder.ts +66 -10
- package/src/builders/oracle.ts +44 -4
- package/src/builders/referralBuilder.ts +20 -4
- package/src/builders/spoolBuilder.ts +38 -4
- package/src/builders/vescaBuilder.ts +25 -5
- package/src/constants/coinGecko.ts +1 -0
- package/src/constants/common.ts +2 -0
- package/src/constants/enum.ts +8 -0
- package/src/constants/poolAddress.ts +165 -58
- package/src/constants/pyth.ts +1 -0
- package/src/constants/queryKeys.ts +2 -2
- package/src/models/scallopUtils.ts +3 -0
- package/src/queries/poolAddressesQuery.ts +15 -3
- package/src/queries/portfolioQuery.ts +16 -5
- package/src/queries/vescaQuery.ts +18 -4
- package/src/types/query/portfolio.ts +4 -0
- package/dist/test.d.ts +0 -1
- package/src/test.ts +0 -17
|
@@ -99,7 +99,11 @@ const generateNormalVeScaMethod: GenerateVeScaNormalMethod = ({
|
|
|
99
99
|
veScaIds.treasury,
|
|
100
100
|
scaCoin,
|
|
101
101
|
unlockAtInSecondTimestamp,
|
|
102
|
-
|
|
102
|
+
txBlock.sharedObjectRef({
|
|
103
|
+
objectId: SUI_CLOCK_OBJECT_ID,
|
|
104
|
+
mutable: false,
|
|
105
|
+
initialSharedVersion: '1',
|
|
106
|
+
}),
|
|
103
107
|
],
|
|
104
108
|
[]
|
|
105
109
|
);
|
|
@@ -114,7 +118,11 @@ const generateNormalVeScaMethod: GenerateVeScaNormalMethod = ({
|
|
|
114
118
|
veScaIds.table,
|
|
115
119
|
veScaIds.treasury,
|
|
116
120
|
newUnlockAtInSecondTimestamp,
|
|
117
|
-
|
|
121
|
+
txBlock.sharedObjectRef({
|
|
122
|
+
objectId: SUI_CLOCK_OBJECT_ID,
|
|
123
|
+
mutable: false,
|
|
124
|
+
initialSharedVersion: '1',
|
|
125
|
+
}),
|
|
118
126
|
],
|
|
119
127
|
[]
|
|
120
128
|
);
|
|
@@ -129,7 +137,11 @@ const generateNormalVeScaMethod: GenerateVeScaNormalMethod = ({
|
|
|
129
137
|
veScaIds.table,
|
|
130
138
|
veScaIds.treasury,
|
|
131
139
|
scaCoin,
|
|
132
|
-
|
|
140
|
+
txBlock.sharedObjectRef({
|
|
141
|
+
objectId: SUI_CLOCK_OBJECT_ID,
|
|
142
|
+
mutable: false,
|
|
143
|
+
initialSharedVersion: '1',
|
|
144
|
+
}),
|
|
133
145
|
],
|
|
134
146
|
[]
|
|
135
147
|
);
|
|
@@ -145,7 +157,11 @@ const generateNormalVeScaMethod: GenerateVeScaNormalMethod = ({
|
|
|
145
157
|
veScaIds.treasury,
|
|
146
158
|
scaCoin,
|
|
147
159
|
newUnlockAtInSecondTimestamp,
|
|
148
|
-
|
|
160
|
+
txBlock.sharedObjectRef({
|
|
161
|
+
objectId: SUI_CLOCK_OBJECT_ID,
|
|
162
|
+
mutable: false,
|
|
163
|
+
initialSharedVersion: '1',
|
|
164
|
+
}),
|
|
149
165
|
],
|
|
150
166
|
[]
|
|
151
167
|
);
|
|
@@ -159,7 +175,11 @@ const generateNormalVeScaMethod: GenerateVeScaNormalMethod = ({
|
|
|
159
175
|
veScaKey,
|
|
160
176
|
veScaIds.table,
|
|
161
177
|
veScaIds.treasury,
|
|
162
|
-
|
|
178
|
+
txBlock.sharedObjectRef({
|
|
179
|
+
objectId: SUI_CLOCK_OBJECT_ID,
|
|
180
|
+
mutable: false,
|
|
181
|
+
initialSharedVersion: '1',
|
|
182
|
+
}),
|
|
163
183
|
],
|
|
164
184
|
[]
|
|
165
185
|
);
|
package/src/constants/common.ts
CHANGED
|
@@ -48,6 +48,7 @@ export const SUPPORT_POOLS = [
|
|
|
48
48
|
'fud',
|
|
49
49
|
'deep',
|
|
50
50
|
'fdusd',
|
|
51
|
+
'blub',
|
|
51
52
|
] as const;
|
|
52
53
|
|
|
53
54
|
export const SUPPORT_COLLATERALS = [
|
|
@@ -99,6 +100,7 @@ export const SUPPORT_SCOIN = [
|
|
|
99
100
|
'sdeep',
|
|
100
101
|
'sfud',
|
|
101
102
|
'sfdusd',
|
|
103
|
+
'sblub',
|
|
102
104
|
] as const;
|
|
103
105
|
|
|
104
106
|
export const SUPPORT_SUI_BRIDGE = ['sbeth', 'sbusdt'] as const;
|
package/src/constants/enum.ts
CHANGED
|
@@ -20,6 +20,7 @@ export const coinDecimals: types.SupportCoinDecimals = {
|
|
|
20
20
|
fdusd: 6,
|
|
21
21
|
deep: 6,
|
|
22
22
|
fud: 5,
|
|
23
|
+
blub: 2,
|
|
23
24
|
susdc: 6,
|
|
24
25
|
sweth: 8,
|
|
25
26
|
ssbeth: 8,
|
|
@@ -38,6 +39,7 @@ export const coinDecimals: types.SupportCoinDecimals = {
|
|
|
38
39
|
sfdusd: 6,
|
|
39
40
|
sdeep: 6,
|
|
40
41
|
sfud: 5,
|
|
42
|
+
sblub: 2,
|
|
41
43
|
};
|
|
42
44
|
|
|
43
45
|
export const assetCoins: types.AssetCoins = {
|
|
@@ -59,6 +61,7 @@ export const assetCoins: types.AssetCoins = {
|
|
|
59
61
|
fdusd: 'fdusd',
|
|
60
62
|
deep: 'deep',
|
|
61
63
|
fud: 'fud',
|
|
64
|
+
blub: 'blub',
|
|
62
65
|
};
|
|
63
66
|
|
|
64
67
|
export const marketCoins: types.MarketCoins = {
|
|
@@ -80,6 +83,7 @@ export const marketCoins: types.MarketCoins = {
|
|
|
80
83
|
sfdusd: 'sfdusd',
|
|
81
84
|
sdeep: 'sdeep',
|
|
82
85
|
sfud: 'sfud',
|
|
86
|
+
sblub: 'sblub',
|
|
83
87
|
};
|
|
84
88
|
|
|
85
89
|
export const sCoins: types.SCoins = {
|
|
@@ -100,6 +104,7 @@ export const sCoins: types.SCoins = {
|
|
|
100
104
|
sfdusd: 'sfdusd',
|
|
101
105
|
sfud: 'sfud',
|
|
102
106
|
sdeep: 'sdeep',
|
|
107
|
+
sblub: 'sblub',
|
|
103
108
|
};
|
|
104
109
|
|
|
105
110
|
export const stakeMarketCoins: types.StakeMarketCoins = {
|
|
@@ -154,6 +159,7 @@ export const coinIds: types.AssetCoinIds = {
|
|
|
154
159
|
// isolated assets
|
|
155
160
|
deep: '0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270',
|
|
156
161
|
fud: '0x76cb819b01abed502bee8a702b4c2d547532c12f25001c9dea795a5e631c26f1',
|
|
162
|
+
blub: '0xfa7ac3951fdca92c5200d468d31a365eb03b2be9936fde615e69f0c1274ad3a0',
|
|
157
163
|
// Sui bridge assets
|
|
158
164
|
sbeth: '0xd0e89b2af5e4910726fbcd8b8dd37bb79b29e5f83f7491bca830e94f7f226d29',
|
|
159
165
|
sbusdt: '0x375f70cf2ae4c00bf37117d0c85a2c71545e6ee05c4a5c7d282cd66a4504b068',
|
|
@@ -205,6 +211,8 @@ export const sCoinIds: types.SCoinIds = {
|
|
|
205
211
|
sdeep:
|
|
206
212
|
'0xeb7a05a3224837c5e5503575aed0be73c091d1ce5e43aa3c3e716e0ae614608f::scallop_deep::SCALLOP_DEEP',
|
|
207
213
|
sfud: '0xe56d5167f427cbe597da9e8150ef5c337839aaf46891d62468dcf80bdd8e10d1::scallop_fud::SCALLOP_FUD',
|
|
214
|
+
sblub:
|
|
215
|
+
'0xe72f65446eabfad2103037af2d49d24599106fb44bf4c046c1e7e9acf6844dd0::scallop_blub::SCALLOP_BLUB',
|
|
208
216
|
// Sui bridge assets
|
|
209
217
|
ssbeth:
|
|
210
218
|
'0xb14f82d8506d139eacef109688d1b71e7236bcce9b2c0ad526abcd6aa5be7de0::scallop_sb_eth::SCALLOP_SB_ETH',
|
|
@@ -12,6 +12,9 @@ export const POOL_ADDRESSES: OptionalKeys<
|
|
|
12
12
|
interestModel: string;
|
|
13
13
|
borrowFeeKey: string;
|
|
14
14
|
coinMetadataId: string;
|
|
15
|
+
decimals: number;
|
|
16
|
+
pythFeed: string;
|
|
17
|
+
pythFeedObjectId: string;
|
|
15
18
|
// optional keys
|
|
16
19
|
collateralPoolAddress?: string; // not all pool has collateral
|
|
17
20
|
riskModel?: string;
|
|
@@ -26,47 +29,9 @@ export const POOL_ADDRESSES: OptionalKeys<
|
|
|
26
29
|
spool?: string;
|
|
27
30
|
spoolReward?: string;
|
|
28
31
|
spoolName?: string;
|
|
29
|
-
decimals: number;
|
|
30
32
|
}
|
|
31
33
|
>
|
|
32
34
|
> = {
|
|
33
|
-
usdc: {
|
|
34
|
-
coinName: 'usdc',
|
|
35
|
-
symbol: 'USDC',
|
|
36
|
-
lendingPoolAddress:
|
|
37
|
-
'0xd3be98bf540f7603eeb550c0c0a19dbfc78822f25158b5fa84ebd9609def415f',
|
|
38
|
-
collateralPoolAddress:
|
|
39
|
-
'0x8f0d529ba179c5b3d508213003eab813aaae31f78226099639b9a69d1aec17af',
|
|
40
|
-
borrowDynamic:
|
|
41
|
-
'0x77837ecd4f26fac9a410fff594f2c0bd3288904a15492ca77cb8a52684dbb866',
|
|
42
|
-
interestModel:
|
|
43
|
-
'0xaae3f179d63009380cbdcb9acb12907afc9c3cb79cc3460be296a9c6d28f3ff3',
|
|
44
|
-
riskModel:
|
|
45
|
-
'0x198b24db213bfeb8b3c80ae63dde92e32fd24984d25da8233ff777b851edd574',
|
|
46
|
-
borrowFeeKey:
|
|
47
|
-
'0xd37c5316cfe0a5967d14264fa6b423f880518b294a1ee6581ccbb49ccc401fb8',
|
|
48
|
-
supplyLimitKey:
|
|
49
|
-
'0x4be9ae54ac4d320f4f9c14cae78cb85c8e0e67791dd9bdba6d2db20614a28a24',
|
|
50
|
-
borrowLimitKey:
|
|
51
|
-
'0x6b01093cba95b835181f00e3a2c31ed8dfc8d64fe3db0fb80933a09f66e1ccf1',
|
|
52
|
-
spool: '0x0b5f5f413bd3799e4052c37311966c77f3a4545eb125d2e93e67a68478021918',
|
|
53
|
-
spoolReward:
|
|
54
|
-
'0x85ed6ed72ea97c35dbf0cdc7ed6fbc48d8ec15de9b17c74bf4512df8a6d7f166',
|
|
55
|
-
sCoinTreasury:
|
|
56
|
-
'0xbe6b63021f3d82e0e7e977cdd718ed7c019cf2eba374b7b546220402452f938e',
|
|
57
|
-
sCoinType:
|
|
58
|
-
'0x854950aa624b1df59fe64e630b2ba7c550642e9342267a33061d59fb31582da5::scallop_usdc::SCALLOP_USDC',
|
|
59
|
-
sCoinName: 'susdc',
|
|
60
|
-
sCoinSymbol: 'sUSDC',
|
|
61
|
-
coinMetadataId:
|
|
62
|
-
'0x69b7a7c3c200439c1b5f3b19d7d495d5966d5f08de66c69276152f8db3992ec6',
|
|
63
|
-
coinType:
|
|
64
|
-
'0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC',
|
|
65
|
-
sCoinMetadataId:
|
|
66
|
-
'0x763a21eba338e00bc684aaad80491c89eea5f247b59c47df45b17610c9ad58f2',
|
|
67
|
-
spoolName: 'susdc',
|
|
68
|
-
decimals: 6,
|
|
69
|
-
},
|
|
70
35
|
sbeth: {
|
|
71
36
|
coinName: 'sbeth',
|
|
72
37
|
symbol: 'sbETH',
|
|
@@ -99,6 +64,10 @@ export const POOL_ADDRESSES: OptionalKeys<
|
|
|
99
64
|
sCoinMetadataId:
|
|
100
65
|
'0xdfdd14d53ed8c7ace7cac8a0eecdfa4c2345e15d9efcbd4e1828f81a107cbe2d',
|
|
101
66
|
decimals: 8,
|
|
67
|
+
pythFeed:
|
|
68
|
+
'ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace',
|
|
69
|
+
pythFeedObjectId:
|
|
70
|
+
'0x9193fd47f9a0ab99b6e365a464c8a9ae30e6150fc37ed2a89c1586631f6fc4ab',
|
|
102
71
|
},
|
|
103
72
|
sbusdt: {
|
|
104
73
|
coinName: 'sbusdt',
|
|
@@ -132,6 +101,51 @@ export const POOL_ADDRESSES: OptionalKeys<
|
|
|
132
101
|
sCoinMetadataId:
|
|
133
102
|
'0x1ce77b036043c8fdcc5cd050ed06433ae60296b194c2abf7ade8b7b7c8386d36',
|
|
134
103
|
decimals: 6,
|
|
104
|
+
pythFeed:
|
|
105
|
+
'2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b',
|
|
106
|
+
pythFeedObjectId:
|
|
107
|
+
'0x985e3db9f93f76ee8bace7c3dd5cc676a096accd5d9e09e9ae0fb6e492b14572',
|
|
108
|
+
},
|
|
109
|
+
usdc: {
|
|
110
|
+
coinName: 'usdc',
|
|
111
|
+
symbol: 'USDC',
|
|
112
|
+
lendingPoolAddress:
|
|
113
|
+
'0xd3be98bf540f7603eeb550c0c0a19dbfc78822f25158b5fa84ebd9609def415f',
|
|
114
|
+
collateralPoolAddress:
|
|
115
|
+
'0x8f0d529ba179c5b3d508213003eab813aaae31f78226099639b9a69d1aec17af',
|
|
116
|
+
borrowDynamic:
|
|
117
|
+
'0x77837ecd4f26fac9a410fff594f2c0bd3288904a15492ca77cb8a52684dbb866',
|
|
118
|
+
interestModel:
|
|
119
|
+
'0xaae3f179d63009380cbdcb9acb12907afc9c3cb79cc3460be296a9c6d28f3ff3',
|
|
120
|
+
riskModel:
|
|
121
|
+
'0x198b24db213bfeb8b3c80ae63dde92e32fd24984d25da8233ff777b851edd574',
|
|
122
|
+
borrowFeeKey:
|
|
123
|
+
'0xd37c5316cfe0a5967d14264fa6b423f880518b294a1ee6581ccbb49ccc401fb8',
|
|
124
|
+
supplyLimitKey:
|
|
125
|
+
'0x4be9ae54ac4d320f4f9c14cae78cb85c8e0e67791dd9bdba6d2db20614a28a24',
|
|
126
|
+
borrowLimitKey:
|
|
127
|
+
'0x6b01093cba95b835181f00e3a2c31ed8dfc8d64fe3db0fb80933a09f66e1ccf1',
|
|
128
|
+
spool: '0x0b5f5f413bd3799e4052c37311966c77f3a4545eb125d2e93e67a68478021918',
|
|
129
|
+
spoolReward:
|
|
130
|
+
'0x85ed6ed72ea97c35dbf0cdc7ed6fbc48d8ec15de9b17c74bf4512df8a6d7f166',
|
|
131
|
+
sCoinTreasury:
|
|
132
|
+
'0xbe6b63021f3d82e0e7e977cdd718ed7c019cf2eba374b7b546220402452f938e',
|
|
133
|
+
sCoinType:
|
|
134
|
+
'0x854950aa624b1df59fe64e630b2ba7c550642e9342267a33061d59fb31582da5::scallop_usdc::SCALLOP_USDC',
|
|
135
|
+
sCoinName: 'susdc',
|
|
136
|
+
sCoinSymbol: 'sUSDC',
|
|
137
|
+
coinMetadataId:
|
|
138
|
+
'0x69b7a7c3c200439c1b5f3b19d7d495d5966d5f08de66c69276152f8db3992ec6',
|
|
139
|
+
coinType:
|
|
140
|
+
'0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC',
|
|
141
|
+
sCoinMetadataId:
|
|
142
|
+
'0x763a21eba338e00bc684aaad80491c89eea5f247b59c47df45b17610c9ad58f2',
|
|
143
|
+
spoolName: 'susdc',
|
|
144
|
+
decimals: 6,
|
|
145
|
+
pythFeed:
|
|
146
|
+
'eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a',
|
|
147
|
+
pythFeedObjectId:
|
|
148
|
+
'0x5dec622733a204ca27f5a90d8c2fad453cc6665186fd5dff13a83d0b6c9027ab',
|
|
135
149
|
},
|
|
136
150
|
weth: {
|
|
137
151
|
coinName: 'weth',
|
|
@@ -169,6 +183,10 @@ export const POOL_ADDRESSES: OptionalKeys<
|
|
|
169
183
|
'0x077d0fd835b559e5b4bb52641f7627ddbf8b200f9b2cf4e28b3514da2a32a4dd',
|
|
170
184
|
spoolName: 'sweth',
|
|
171
185
|
decimals: 8,
|
|
186
|
+
pythFeed:
|
|
187
|
+
'ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace',
|
|
188
|
+
pythFeedObjectId:
|
|
189
|
+
'0x9193fd47f9a0ab99b6e365a464c8a9ae30e6150fc37ed2a89c1586631f6fc4ab',
|
|
172
190
|
},
|
|
173
191
|
wbtc: {
|
|
174
192
|
coinName: 'wbtc',
|
|
@@ -202,6 +220,10 @@ export const POOL_ADDRESSES: OptionalKeys<
|
|
|
202
220
|
sCoinMetadataId:
|
|
203
221
|
'0x1ba5904dae41699683da767c7a97785a55c51ec1253498c8fe1980169a96523d',
|
|
204
222
|
decimals: 8,
|
|
223
|
+
pythFeed:
|
|
224
|
+
'e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43',
|
|
225
|
+
pythFeedObjectId:
|
|
226
|
+
'0x9a62b4863bdeaabdc9500fce769cf7e72d5585eeb28a6d26e4cafadc13f76ab2',
|
|
205
227
|
},
|
|
206
228
|
wusdc: {
|
|
207
229
|
coinName: 'wusdc',
|
|
@@ -239,6 +261,10 @@ export const POOL_ADDRESSES: OptionalKeys<
|
|
|
239
261
|
'0xdc0595d068621d630f3c7c364dd257f7e3f8079e00c31c8d18755a033c15ae93',
|
|
240
262
|
spoolName: 'swusdc',
|
|
241
263
|
decimals: 6,
|
|
264
|
+
pythFeed:
|
|
265
|
+
'eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a',
|
|
266
|
+
pythFeedObjectId:
|
|
267
|
+
'0x5dec622733a204ca27f5a90d8c2fad453cc6665186fd5dff13a83d0b6c9027ab',
|
|
242
268
|
},
|
|
243
269
|
wusdt: {
|
|
244
270
|
coinName: 'wusdt',
|
|
@@ -276,6 +302,10 @@ export const POOL_ADDRESSES: OptionalKeys<
|
|
|
276
302
|
'0x171d0f1ca99d5fefb8b2e40b89899bacdc5417a783906ae119b9cb1c113d59ae',
|
|
277
303
|
spoolName: 'swusdt',
|
|
278
304
|
decimals: 6,
|
|
305
|
+
pythFeed:
|
|
306
|
+
'2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b',
|
|
307
|
+
pythFeedObjectId:
|
|
308
|
+
'0x985e3db9f93f76ee8bace7c3dd5cc676a096accd5d9e09e9ae0fb6e492b14572',
|
|
279
309
|
},
|
|
280
310
|
sui: {
|
|
281
311
|
coinName: 'sui',
|
|
@@ -313,6 +343,10 @@ export const POOL_ADDRESSES: OptionalKeys<
|
|
|
313
343
|
'0xac724644f481f4870ecdc29b9549aa8ea5180f10827c0d97b493f9f65a91455d',
|
|
314
344
|
spoolName: 'ssui',
|
|
315
345
|
decimals: 9,
|
|
346
|
+
pythFeed:
|
|
347
|
+
'23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744',
|
|
348
|
+
pythFeedObjectId:
|
|
349
|
+
'0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37',
|
|
316
350
|
},
|
|
317
351
|
wapt: {
|
|
318
352
|
coinName: 'wapt',
|
|
@@ -334,6 +368,10 @@ export const POOL_ADDRESSES: OptionalKeys<
|
|
|
334
368
|
coinType:
|
|
335
369
|
'0x3a5143bb1196e3bcdfab6203d1683ae29edd26294fc8bfeafe4aaa9d2704df37::coin::COIN',
|
|
336
370
|
decimals: 8,
|
|
371
|
+
pythFeed:
|
|
372
|
+
'03ae4db29ed4ae33d323568895aa00337e658e348b37509f5372ae51f0af00d5',
|
|
373
|
+
pythFeedObjectId:
|
|
374
|
+
'0x7c5b7837c44a69b469325463ac0673ac1aa8435ff44ddb4191c9ae380463647f',
|
|
337
375
|
},
|
|
338
376
|
wsol: {
|
|
339
377
|
coinName: 'wsol',
|
|
@@ -367,6 +405,10 @@ export const POOL_ADDRESSES: OptionalKeys<
|
|
|
367
405
|
sCoinMetadataId:
|
|
368
406
|
'0xee202d2013fc09453d695c640088ee08f14afc8f1ae26284b4ebbc4712ff1ba5',
|
|
369
407
|
decimals: 8,
|
|
408
|
+
pythFeed:
|
|
409
|
+
'ef0d8b6fda2ceba41da15d4095d1da392a0d2f8ed0c6c7bc0f4cfac8c280b56d',
|
|
410
|
+
pythFeedObjectId:
|
|
411
|
+
'0x9d0d275efbd37d8a8855f6f2c761fa5983293dd8ce202ee5196626de8fcd4469',
|
|
370
412
|
},
|
|
371
413
|
cetus: {
|
|
372
414
|
coinName: 'cetus',
|
|
@@ -404,6 +446,10 @@ export const POOL_ADDRESSES: OptionalKeys<
|
|
|
404
446
|
'0xf022d041455a038d762a091f7a9e9521211f20501bcf8b6913ef5493a023218f',
|
|
405
447
|
spoolName: 'scetus',
|
|
406
448
|
decimals: 9,
|
|
449
|
+
pythFeed:
|
|
450
|
+
'e5b274b2611143df055d6e7cd8d93fe1961716bcd4dca1cad87a83bc1e78c1ef',
|
|
451
|
+
pythFeedObjectId:
|
|
452
|
+
'0x24c0247fb22457a719efac7f670cdc79be321b521460bd6bd2ccfa9f80713b14',
|
|
407
453
|
},
|
|
408
454
|
afsui: {
|
|
409
455
|
coinName: 'afsui',
|
|
@@ -441,6 +487,10 @@ export const POOL_ADDRESSES: OptionalKeys<
|
|
|
441
487
|
'0xfd81c4d1b4d9d1b8c522e91121d22e94759386b29eafe1cc3888ca0ebe369b9e',
|
|
442
488
|
spoolName: 'safsui',
|
|
443
489
|
decimals: 9,
|
|
490
|
+
pythFeed:
|
|
491
|
+
'23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744',
|
|
492
|
+
pythFeedObjectId:
|
|
493
|
+
'0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37',
|
|
444
494
|
},
|
|
445
495
|
hasui: {
|
|
446
496
|
coinName: 'hasui',
|
|
@@ -478,6 +528,10 @@ export const POOL_ADDRESSES: OptionalKeys<
|
|
|
478
528
|
'0x0a2a4a25aac50ac79210d710f93cb22db58bc6ee22f213364dda9a709cab2189',
|
|
479
529
|
spoolName: 'shasui',
|
|
480
530
|
decimals: 9,
|
|
531
|
+
pythFeed:
|
|
532
|
+
'23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744',
|
|
533
|
+
pythFeedObjectId:
|
|
534
|
+
'0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37',
|
|
481
535
|
},
|
|
482
536
|
vsui: {
|
|
483
537
|
coinName: 'vsui',
|
|
@@ -515,6 +569,10 @@ export const POOL_ADDRESSES: OptionalKeys<
|
|
|
515
569
|
'0xa96cc21ddfb6486be4a96cda0c58734e4ddea2a8c04984f9e6121d8fae997ddf',
|
|
516
570
|
spoolName: 'svsui',
|
|
517
571
|
decimals: 9,
|
|
572
|
+
pythFeed:
|
|
573
|
+
'23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744',
|
|
574
|
+
pythFeedObjectId:
|
|
575
|
+
'0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37',
|
|
518
576
|
},
|
|
519
577
|
sca: {
|
|
520
578
|
coinName: 'sca',
|
|
@@ -548,6 +606,10 @@ export const POOL_ADDRESSES: OptionalKeys<
|
|
|
548
606
|
sCoinMetadataId:
|
|
549
607
|
'0x27e3877491b308dfac46fb3d9f7dfa6a1e8b7dc3c374e92ecda7976055746964',
|
|
550
608
|
decimals: 9,
|
|
609
|
+
pythFeed:
|
|
610
|
+
'7e17f0ac105abe9214deb9944c30264f5986bf292869c6bd8e8da3ccd92d79bc',
|
|
611
|
+
pythFeedObjectId:
|
|
612
|
+
'0xf6de1d3279a269a597d813cbaca59aa906543ab9a8c64e84a4722f1a20863985',
|
|
551
613
|
},
|
|
552
614
|
fud: {
|
|
553
615
|
coinName: 'fud',
|
|
@@ -579,37 +641,43 @@ export const POOL_ADDRESSES: OptionalKeys<
|
|
|
579
641
|
sCoinMetadataId:
|
|
580
642
|
'0x4e03390de36b8c84e0a8297d3d0d08a8a34bed93787e37fcb26bfc26df33226c',
|
|
581
643
|
decimals: 5,
|
|
644
|
+
pythFeed:
|
|
645
|
+
'6a4090703da959247727f2b490eb21aea95c8684ecfac675f432008830890c75',
|
|
646
|
+
pythFeedObjectId:
|
|
647
|
+
'0x4531c3ed0d22f21f5fce882905372006c9aafa30f01db03b789e95a6c50de7b2',
|
|
582
648
|
},
|
|
583
|
-
|
|
584
|
-
coinName: '
|
|
585
|
-
symbol: '
|
|
649
|
+
blub: {
|
|
650
|
+
coinName: 'blub',
|
|
651
|
+
symbol: 'BLUB',
|
|
586
652
|
lendingPoolAddress:
|
|
587
|
-
'
|
|
588
|
-
collateralPoolAddress:
|
|
589
|
-
'0x4f6647a9afcfdb62bb9b27e4d1cb7bd7130aca1b4f13fa7164453c869c1681ae',
|
|
653
|
+
'0x4dede1d8eda98647c3fc9838e94a890b73ca37a20764087eb78ba0473edea1a5',
|
|
590
654
|
borrowDynamic:
|
|
591
|
-
'
|
|
655
|
+
'0xb2e9df6917ff3cb93fc4361102504c2d225913b3860458ef40f83b370601bec2',
|
|
592
656
|
interestModel:
|
|
593
|
-
'
|
|
594
|
-
riskModel:
|
|
595
|
-
'0xd65fb21758dc1e6184940a1a27efb13228d7cf5e19f6dcca06cc2d996af4a6b9',
|
|
657
|
+
'0xec07bfcf93df52d1c0dabecc88b1ee66445a2fda6b98378c19d8e029022f2012',
|
|
596
658
|
borrowFeeKey:
|
|
597
|
-
'
|
|
659
|
+
'0x59b820845932c1f151793b1c6e605ad993535784ccfaa83e709207d6aed3ab99',
|
|
598
660
|
supplyLimitKey:
|
|
599
|
-
'
|
|
661
|
+
'0xc25e930484a10498a53562cfb87da47280e842564d455f25e5b80a913002d5a0',
|
|
662
|
+
borrowLimitKey:
|
|
663
|
+
'0xaf4560140b2c6906befd546cc556f7c459964e7c31e20a6e1ab992bbc6d12b7f',
|
|
664
|
+
isolatedAssetKey:
|
|
665
|
+
'0x30a8f1dbf9dc05dae26c25fac6dfa80fa2d886e05e61cefc697b94959dd75007',
|
|
600
666
|
sCoinTreasury:
|
|
601
|
-
'
|
|
667
|
+
'0x87d34361dfd0e2accc946684d10b176484f348892f6cc51a829418040c4700e1',
|
|
602
668
|
sCoinType:
|
|
603
|
-
'
|
|
604
|
-
sCoinName: 'sfdusd',
|
|
605
|
-
sCoinSymbol: 'sFDUSD',
|
|
669
|
+
'0xe72f65446eabfad2103037af2d49d24599106fb44bf4c046c1e7e9acf6844dd0::scallop_blub::SCALLOP_BLUB',
|
|
606
670
|
coinMetadataId:
|
|
607
|
-
'
|
|
671
|
+
'0xac32b519790cae96c3317457d903d61d04f1bc8f7710096d80fcba72c7a53703',
|
|
608
672
|
coinType:
|
|
609
|
-
'
|
|
673
|
+
'0xfa7ac3951fdca92c5200d468d31a365eb03b2be9936fde615e69f0c1274ad3a0::BLUB::BLUB',
|
|
610
674
|
sCoinMetadataId:
|
|
611
|
-
'
|
|
612
|
-
decimals:
|
|
675
|
+
'0xfa11263cb39de80b9e224d7e0391866a7e779d3d62451de82a91ba601bfb1ce3',
|
|
676
|
+
decimals: 2,
|
|
677
|
+
pythFeed:
|
|
678
|
+
'5fc11ffe4975b624be495be038da30e30bee2004d8ae6282b5364577ef4ca92c',
|
|
679
|
+
pythFeedObjectId:
|
|
680
|
+
'0x246658c3324f2477568c78cca622518fbc6969a004b841d81409d24a7ec39b18',
|
|
613
681
|
},
|
|
614
682
|
deep: {
|
|
615
683
|
coinName: 'deep',
|
|
@@ -641,5 +709,44 @@ export const POOL_ADDRESSES: OptionalKeys<
|
|
|
641
709
|
sCoinMetadataId:
|
|
642
710
|
'0x2443014594a500a9119e11c6c6a86e865834f496c4614280ce8cace33c0b072e',
|
|
643
711
|
decimals: 6,
|
|
712
|
+
pythFeed:
|
|
713
|
+
'29bdd5248234e33bd93d3b81100b5fa32eaa5997843847e2c2cb16d7c6d9f7ff',
|
|
714
|
+
pythFeedObjectId:
|
|
715
|
+
'0x8c7f3a322b94cc69db2a2ac575cbd94bf5766113324c3a3eceac91e3e88a51ed',
|
|
716
|
+
},
|
|
717
|
+
fdusd: {
|
|
718
|
+
coinName: 'fdusd',
|
|
719
|
+
symbol: 'FDUSD',
|
|
720
|
+
lendingPoolAddress:
|
|
721
|
+
'0x4f46051a01f05c3ad9aecf29a771aad5c884e1a1888e08d7709085e3a095bc9c',
|
|
722
|
+
collateralPoolAddress:
|
|
723
|
+
'0x4f6647a9afcfdb62bb9b27e4d1cb7bd7130aca1b4f13fa7164453c869c1681ae',
|
|
724
|
+
borrowDynamic:
|
|
725
|
+
'0x4ddcf19b6290a8b048ecb314b14ef7f52c1c5b9ddc9259a2a242cd91d681a085',
|
|
726
|
+
interestModel:
|
|
727
|
+
'0xb57a33706b29d2d253c74c1c0869e6e20da99036338d2b0b7235ab41621ee9dd',
|
|
728
|
+
riskModel:
|
|
729
|
+
'0xd65fb21758dc1e6184940a1a27efb13228d7cf5e19f6dcca06cc2d996af4a6b9',
|
|
730
|
+
borrowFeeKey:
|
|
731
|
+
'0xafe673a27747b063fa918d2dfe47794e44af553737ac562c2a63186539a07f45',
|
|
732
|
+
supplyLimitKey:
|
|
733
|
+
'0x730e0785ba056a7a95f4a6959371a598d7fe782e81c40785c79982ced4cf4e35',
|
|
734
|
+
sCoinTreasury:
|
|
735
|
+
'0xdad9bc6293e694f67a5274ea51b596e0bdabfafc585ae6d7e82888e65f1a03e0',
|
|
736
|
+
sCoinType:
|
|
737
|
+
'0x6711551c1e7652a270d9fbf0eee25d99594c157cde3cb5fbb49035eb59b1b001::scallop_fdusd::SCALLOP_FDUSD',
|
|
738
|
+
sCoinName: 'sfdusd',
|
|
739
|
+
sCoinSymbol: 'sFDUSD',
|
|
740
|
+
coinMetadataId:
|
|
741
|
+
'0xdebee5265a67c186ed87fe93303d33dfe1de53e3b4fd7d9329c2852860acd3e7',
|
|
742
|
+
coinType:
|
|
743
|
+
'0xf16e6b723f242ec745dfd7634ad072c42d5c1d9ac9d62a39c381303eaa57693a::fdusd::FDUSD',
|
|
744
|
+
sCoinMetadataId:
|
|
745
|
+
'0xb1529a3b5e5831d19a722493eec19785f613945d3dc984602d44a418f990d73f',
|
|
746
|
+
decimals: 6,
|
|
747
|
+
pythFeed:
|
|
748
|
+
'0xccdc1a08923e2e4f4b1e6ea89de6acbc5fe1948e9706f5604b8cb50bc1ed3979',
|
|
749
|
+
pythFeedObjectId:
|
|
750
|
+
'0x5f6583b2b0fe1ecf94aaffeaab8a838794693960cea48c0da282d5f4a24be027',
|
|
644
751
|
},
|
|
645
752
|
};
|
package/src/constants/pyth.ts
CHANGED
|
@@ -26,4 +26,5 @@ export const PYTH_FEED_IDS: Record<SupportPoolCoins, string> = {
|
|
|
26
26
|
fdusd: '0xccdc1a08923e2e4f4b1e6ea89de6acbc5fe1948e9706f5604b8cb50bc1ed3979',
|
|
27
27
|
deep: '29bdd5248234e33bd93d3b81100b5fa32eaa5997843847e2c2cb16d7c6d9f7ff',
|
|
28
28
|
fud: '6a4090703da959247727f2b490eb21aea95c8684ecfac675f432008830890c75',
|
|
29
|
+
blub: '5fc11ffe4975b624be495be038da30e30bee2004d8ae6282b5364577ef4ca92c',
|
|
29
30
|
};
|
|
@@ -5,7 +5,7 @@ import type {
|
|
|
5
5
|
SuiObjectData,
|
|
6
6
|
SuiObjectDataOptions,
|
|
7
7
|
} from '@mysten/sui/client';
|
|
8
|
-
import type { SuiObjectArg } from '@scallop-io/sui-kit';
|
|
8
|
+
import type { SuiObjectArg, SuiTxArg } from '@scallop-io/sui-kit';
|
|
9
9
|
|
|
10
10
|
export const queryKeys = {
|
|
11
11
|
api: {
|
|
@@ -76,7 +76,7 @@ export const queryKeys = {
|
|
|
76
76
|
],
|
|
77
77
|
getTotalVeScaTreasuryAmount: (
|
|
78
78
|
refreshArgs?: any[],
|
|
79
|
-
vescaAmountArgs?: (string | SuiObjectData)[]
|
|
79
|
+
vescaAmountArgs?: (string | SuiObjectData | SuiTxArg)[]
|
|
80
80
|
) => [
|
|
81
81
|
'rpc',
|
|
82
82
|
'getTotalVeScaTreasuryAmount',
|
|
@@ -170,6 +170,9 @@ export class ScallopUtils {
|
|
|
170
170
|
}
|
|
171
171
|
if (coinName === 'sui')
|
|
172
172
|
return normalizeStructTag(`${coinPackageId}::sui::SUI`);
|
|
173
|
+
if (coinName === 'blub')
|
|
174
|
+
return normalizeStructTag(`${coinPackageId}::BLUB::BLUB`);
|
|
175
|
+
|
|
173
176
|
const wormHolePackageIds = [
|
|
174
177
|
this.address.get('core.coins.wusdc.id') ?? wormholeCoinIds.wusdc,
|
|
175
178
|
this.address.get('core.coins.wusdt.id') ?? wormholeCoinIds.wusdt,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SUPPORT_POOLS } from 'src/constants';
|
|
1
|
+
import { PYTH_FEED_IDS, SUPPORT_POOLS } from 'src/constants';
|
|
2
2
|
import { ScallopQuery } from 'src/models';
|
|
3
3
|
import { OptionalKeys, SupportPoolCoins } from 'src/types';
|
|
4
4
|
|
|
@@ -30,6 +30,8 @@ export const getAllAddresses = async (query: ScallopQuery) => {
|
|
|
30
30
|
sCoinMetadataId?: string;
|
|
31
31
|
spoolName?: string;
|
|
32
32
|
decimals: number;
|
|
33
|
+
pythFeed?: string;
|
|
34
|
+
pythFeedObjectId?: string;
|
|
33
35
|
}
|
|
34
36
|
>
|
|
35
37
|
> = {};
|
|
@@ -49,6 +51,7 @@ export const getAllAddresses = async (query: ScallopQuery) => {
|
|
|
49
51
|
},
|
|
50
52
|
[] as [SupportPoolCoins, string][]
|
|
51
53
|
);
|
|
54
|
+
|
|
52
55
|
const balanceSheetParentId =
|
|
53
56
|
fields.vault.fields.balance_sheets.fields.table.fields.id.id;
|
|
54
57
|
|
|
@@ -121,8 +124,10 @@ export const getAllAddresses = async (query: ScallopQuery) => {
|
|
|
121
124
|
// @ts-ignore
|
|
122
125
|
`spool.pools.s${coinName}.rewardPoolId`
|
|
123
126
|
);
|
|
124
|
-
|
|
125
|
-
|
|
127
|
+
const sCoinType = query.address.get(
|
|
128
|
+
// @ts-ignore
|
|
129
|
+
`scoin.coins.s${coinName}.coinType`
|
|
130
|
+
);
|
|
126
131
|
const sCoinName = sCoinType
|
|
127
132
|
? query.utils.parseSCoinName(coinName)
|
|
128
133
|
: undefined;
|
|
@@ -141,6 +146,11 @@ export const getAllAddresses = async (query: ScallopQuery) => {
|
|
|
141
146
|
`scoin.coins.s${coinName}.metaData`
|
|
142
147
|
);
|
|
143
148
|
|
|
149
|
+
const pythFeed = PYTH_FEED_IDS[coinName];
|
|
150
|
+
const pythFeedObjectId = query.address.get(
|
|
151
|
+
//@ts-ignore
|
|
152
|
+
`core.coins.${coinName}.oracle.pyth.feedObject`
|
|
153
|
+
);
|
|
144
154
|
const decimals = query.utils.getCoinDecimal(coinName);
|
|
145
155
|
const spoolName = spool ? `s${coinName}` : undefined;
|
|
146
156
|
results[coinName as SupportPoolCoins] = {
|
|
@@ -166,6 +176,8 @@ export const getAllAddresses = async (query: ScallopQuery) => {
|
|
|
166
176
|
sCoinMetadataId,
|
|
167
177
|
spoolName,
|
|
168
178
|
decimals,
|
|
179
|
+
pythFeed,
|
|
180
|
+
pythFeedObjectId,
|
|
169
181
|
};
|
|
170
182
|
|
|
171
183
|
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
@@ -814,7 +814,8 @@ export const getTotalValueLocked = async (
|
|
|
814
814
|
) => {
|
|
815
815
|
const market = await query.getMarketPools(undefined, { indexer });
|
|
816
816
|
|
|
817
|
-
let
|
|
817
|
+
let supplyLendingValue = BigNumber(0);
|
|
818
|
+
let supplyCollateralValue = BigNumber(0);
|
|
818
819
|
let borrowValue = BigNumber(0);
|
|
819
820
|
|
|
820
821
|
if (indexer) {
|
|
@@ -826,12 +827,17 @@ export const getTotalValueLocked = async (
|
|
|
826
827
|
borrowValueChangeRatio: tvlIndexer.borrowValueChangeRatio,
|
|
827
828
|
totalValue: tvlIndexer.totalValue,
|
|
828
829
|
totalValueChangeRatio: tvlIndexer.totalValueChangeRatio,
|
|
830
|
+
supplyLendingValue: tvlIndexer.supplyLendingValue,
|
|
831
|
+
supplyLendingValueChangeRatio: tvlIndexer.supplyLendingValueChangeRatio,
|
|
832
|
+
supplyCollateralValue: tvlIndexer.supplyCollateralValue,
|
|
833
|
+
supplyCollateralValueChangeRatio:
|
|
834
|
+
tvlIndexer.supplyCollateralValueChangeRatio,
|
|
829
835
|
};
|
|
830
836
|
return tvl;
|
|
831
837
|
}
|
|
832
838
|
|
|
833
839
|
for (const pool of Object.values(market.pools)) {
|
|
834
|
-
|
|
840
|
+
supplyLendingValue = supplyLendingValue.plus(
|
|
835
841
|
BigNumber(pool.supplyCoin).multipliedBy(pool.coinPrice)
|
|
836
842
|
);
|
|
837
843
|
borrowValue = borrowValue.plus(
|
|
@@ -841,15 +847,20 @@ export const getTotalValueLocked = async (
|
|
|
841
847
|
|
|
842
848
|
// console.dir(market.collaterals, { depth: null });
|
|
843
849
|
for (const collateral of Object.values(market.collaterals)) {
|
|
844
|
-
|
|
850
|
+
supplyCollateralValue = supplyCollateralValue.plus(
|
|
845
851
|
BigNumber(collateral.depositCoin).multipliedBy(collateral.coinPrice)
|
|
846
852
|
);
|
|
847
853
|
}
|
|
848
854
|
|
|
849
855
|
const tvl: TotalValueLocked = {
|
|
850
|
-
supplyValue:
|
|
856
|
+
supplyValue: supplyLendingValue.plus(supplyCollateralValue).toNumber(),
|
|
857
|
+
supplyLendingValue: supplyLendingValue.toNumber(),
|
|
858
|
+
supplyCollateralValue: supplyCollateralValue.toNumber(),
|
|
851
859
|
borrowValue: borrowValue.toNumber(),
|
|
852
|
-
totalValue:
|
|
860
|
+
totalValue: supplyLendingValue
|
|
861
|
+
.plus(supplyCollateralValue)
|
|
862
|
+
.minus(borrowValue)
|
|
863
|
+
.toNumber(),
|
|
853
864
|
};
|
|
854
865
|
|
|
855
866
|
return tvl;
|
|
@@ -183,13 +183,29 @@ const getTotalVeScaTreasuryAmount = async (
|
|
|
183
183
|
const veScaConfig = utils.address.get('vesca.config');
|
|
184
184
|
veScaTreasury = veScaTreasury ?? utils.address.get('vesca.treasury');
|
|
185
185
|
|
|
186
|
+
const txb = new SuiTxBlock();
|
|
186
187
|
// refresh query
|
|
187
188
|
const refreshQueryTarget = `${veScaPkgId}::treasury::refresh`;
|
|
188
|
-
const refreshArgs = [
|
|
189
|
+
const refreshArgs = [
|
|
190
|
+
veScaConfig,
|
|
191
|
+
veScaTreasury,
|
|
192
|
+
txb.sharedObjectRef({
|
|
193
|
+
objectId: SUI_CLOCK_OBJECT_ID,
|
|
194
|
+
mutable: false,
|
|
195
|
+
initialSharedVersion: '1',
|
|
196
|
+
}),
|
|
197
|
+
];
|
|
189
198
|
|
|
190
199
|
// query total veSca amount
|
|
191
200
|
const veScaAmountQueryTarget = `${veScaPkgId}::treasury::total_ve_sca_amount`;
|
|
192
|
-
const veScaAmountArgs = [
|
|
201
|
+
const veScaAmountArgs = [
|
|
202
|
+
veScaTreasury,
|
|
203
|
+
txb.sharedObjectRef({
|
|
204
|
+
objectId: SUI_CLOCK_OBJECT_ID,
|
|
205
|
+
mutable: false,
|
|
206
|
+
initialSharedVersion: '1',
|
|
207
|
+
}),
|
|
208
|
+
];
|
|
193
209
|
|
|
194
210
|
// resolve each args
|
|
195
211
|
const resolvedRefreshArgs = await Promise.all(
|
|
@@ -210,8 +226,6 @@ const getTotalVeScaTreasuryAmount = async (
|
|
|
210
226
|
})
|
|
211
227
|
);
|
|
212
228
|
|
|
213
|
-
const txb = new SuiTxBlock();
|
|
214
|
-
|
|
215
229
|
// refresh first
|
|
216
230
|
txb.moveCall(refreshQueryTarget, resolvedRefreshArgs);
|
|
217
231
|
txb.moveCall(veScaAmountQueryTarget, resolvedVeScaAmountArgs);
|