stable-layer-sdk 2.0.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -24
- package/dist/cjs/index.cjs +669 -367
- package/dist/cjs/index.cjs.map +4 -4
- package/dist/esm/index.mjs +654 -369
- package/dist/esm/index.mjs.map +4 -4
- package/dist/types/index.d.ts +16 -2
- package/dist/types/interface.d.ts +29 -1
- package/dist/types/libs/constants.d.ts +31 -12
- package/dist/types/libs/constants.mainnet.d.ts +20 -0
- package/dist/types/libs/constants.testnet.d.ts +22 -0
- package/package.json +15 -8
package/dist/cjs/index.cjs
CHANGED
|
@@ -20,27 +20,29 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/index.ts
|
|
21
21
|
var index_exports = {};
|
|
22
22
|
__export(index_exports, {
|
|
23
|
-
|
|
23
|
+
SAVING_TYPE: () => SAVING_TYPE,
|
|
24
|
+
STABLE_LAYER_PACKAGE_ID: () => STABLE_LAYER_PACKAGE_ID,
|
|
25
|
+
STABLE_LAYER_PACKAGE_MAINNET_ALT: () => STABLE_LAYER_PACKAGE_MAINNET_ALT,
|
|
26
|
+
STABLE_LP_TYPE: () => STABLE_LP_TYPE,
|
|
27
|
+
STABLE_REGISTRY: () => STABLE_REGISTRY,
|
|
28
|
+
STABLE_REGISTRY_MAINNET_ALT: () => STABLE_REGISTRY_MAINNET_ALT,
|
|
29
|
+
STABLE_VAULT: () => STABLE_VAULT,
|
|
30
|
+
STABLE_VAULT_FARM: () => STABLE_VAULT_FARM,
|
|
31
|
+
STABLE_VAULT_FARM_ENTITY_TYPE: () => STABLE_VAULT_FARM_ENTITY_TYPE,
|
|
32
|
+
STABLE_VAULT_FARM_PACKAGE_ID: () => STABLE_VAULT_FARM_PACKAGE_ID,
|
|
33
|
+
StableLayerClient: () => StableLayerClient,
|
|
34
|
+
USDC_TYPE: () => USDC_TYPE,
|
|
35
|
+
YIELD_USDB_PACKAGE_ID: () => YIELD_USDB_PACKAGE_ID,
|
|
36
|
+
YIELD_VAULT: () => YIELD_VAULT,
|
|
37
|
+
YUSDB_TYPE: () => YUSDB_TYPE,
|
|
38
|
+
getConstants: () => getConstants
|
|
24
39
|
});
|
|
25
40
|
module.exports = __toCommonJS(index_exports);
|
|
41
|
+
var import_sdk = require("@bucket-protocol/sdk");
|
|
42
|
+
var import_bcs24 = require("@mysten/sui/bcs");
|
|
43
|
+
var import_grpc = require("@mysten/sui/grpc");
|
|
26
44
|
var import_transactions2 = require("@mysten/sui/transactions");
|
|
27
|
-
|
|
28
|
-
// src/libs/constants.ts
|
|
29
|
-
var STABLE_VAULT = "0x65f38160110cd6859d05f338ff54b4f462883bb6f87c667a65c0fb0e537410a7";
|
|
30
|
-
var USDC_TYPE = "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC";
|
|
31
|
-
var STABLE_LP_TYPE = "0xb75744fadcbfc174627567ca29645d0af8f6e6fd01b6f57c75a08cd3fb97c567::lake_usdc::LakeUSDC";
|
|
32
|
-
var YUSDB_TYPE = "0xac718b4b672d7f461fe7e86847166ff9c23cadba217397f0848a95bdea1f1051::yesusdb::YesUSDB";
|
|
33
|
-
var STABLE_LAYER_PACKAGE_ID = "0xa4a78d8d3d1df62fb81d10068142e79b0d30ad4e3f578060487e36ed9ea764da";
|
|
34
|
-
var STABLE_VAULT_FARM_PACKAGE_ID = "0x00d31ddaa73a56abcc3e2d885ac1e1d90f9ae0e38bbef2ba2923550c8250de4d";
|
|
35
|
-
var SAVING_TYPE = "0x38f61c75fa8407140294c84167dd57684580b55c3066883b48dedc344b1cde1e::susdb::SUSDB";
|
|
36
|
-
var YIELD_VAULT = "0x0a7f6325253157cd437812fea0ceee9a6b96f2ec5eac410da6df39558ff3a4d1";
|
|
37
|
-
var STABLE_REGISTRY = "0x213f4d584c0770f455bb98c94a4ee5ea9ddbc3d4ebb98a0ad6d093eb6da41642";
|
|
38
|
-
var STABLE_VAULT_FARM_ENTITY_TYPE = `0xc1025fe014b03d33b207b5afb0ba04293be87fab438c1418a26a75c2fe05c223::stable_vault_farm::StableVaultFarmEntity<${STABLE_LP_TYPE}, ${USDC_TYPE}>`;
|
|
39
|
-
var STABLE_VAULT_FARM = "0xe958b7d102b33bf3c09addb0e2cdff102ff2c93afe407ec5c2a541e8959a650c";
|
|
40
|
-
var YIELD_USDB_PACKAGE_ID = "0x3dcbf82f7e3b80ed65cee596612602a6c7e78c71fd40f6455b40ad033ed04786";
|
|
41
|
-
|
|
42
|
-
// src/index.ts
|
|
43
|
-
var import_client = require("@mysten/sui/client");
|
|
45
|
+
var import_utils28 = require("@mysten/sui/utils");
|
|
44
46
|
|
|
45
47
|
// src/generated/utils/index.ts
|
|
46
48
|
var import_bcs = require("@mysten/sui/bcs");
|
|
@@ -163,133 +165,13 @@ function stringify(val) {
|
|
|
163
165
|
return val;
|
|
164
166
|
}
|
|
165
167
|
|
|
166
|
-
// src/generated/yield_usdb/yield_usdb.ts
|
|
167
|
-
var import_bcs8 = require("@mysten/sui/bcs");
|
|
168
|
-
|
|
169
|
-
// src/generated/yield_usdb/deps/sui/object.ts
|
|
170
|
-
var import_bcs2 = require("@mysten/sui/bcs");
|
|
171
|
-
var $moduleName = "0x2::object";
|
|
172
|
-
var UID = new MoveStruct({ name: `${$moduleName}::UID`, fields: {
|
|
173
|
-
id: import_bcs2.bcs.Address
|
|
174
|
-
} });
|
|
175
|
-
|
|
176
|
-
// src/generated/yield_usdb/deps/sui/balance.ts
|
|
177
|
-
var import_bcs3 = require("@mysten/sui/bcs");
|
|
178
|
-
var $moduleName2 = "0x2::balance";
|
|
179
|
-
var Balance = new MoveStruct({ name: `${$moduleName2}::Balance`, fields: {
|
|
180
|
-
value: import_bcs3.bcs.u64()
|
|
181
|
-
} });
|
|
182
|
-
var Supply = new MoveStruct({ name: `${$moduleName2}::Supply`, fields: {
|
|
183
|
-
value: import_bcs3.bcs.u64()
|
|
184
|
-
} });
|
|
185
|
-
|
|
186
|
-
// src/generated/yield_usdb/deps/sui/coin.ts
|
|
187
|
-
var $moduleName3 = "0x2::coin";
|
|
188
|
-
var TreasuryCap = new MoveStruct({ name: `${$moduleName3}::TreasuryCap`, fields: {
|
|
189
|
-
id: UID,
|
|
190
|
-
total_supply: Supply
|
|
191
|
-
} });
|
|
192
|
-
|
|
193
|
-
// src/generated/yield_usdb/deps/bucket_v2_framework/account.ts
|
|
194
|
-
var import_bcs4 = require("@mysten/sui/bcs");
|
|
195
|
-
var $moduleName4 = "bucket_v2_framework::account";
|
|
196
|
-
var Account = new MoveStruct({ name: `${$moduleName4}::Account`, fields: {
|
|
197
|
-
id: UID,
|
|
198
|
-
alias: import_bcs4.bcs.option(import_bcs4.bcs.string())
|
|
199
|
-
} });
|
|
200
|
-
|
|
201
|
-
// src/generated/yield_usdb/buffer.ts
|
|
202
|
-
var import_bcs6 = require("@mysten/sui/bcs");
|
|
203
|
-
|
|
204
|
-
// src/generated/yield_usdb/deps/bucket_v2_framework/double.ts
|
|
205
|
-
var import_bcs5 = require("@mysten/sui/bcs");
|
|
206
|
-
var $moduleName5 = "bucket_v2_framework::double";
|
|
207
|
-
var Double = new MoveStruct({ name: `${$moduleName5}::Double`, fields: {
|
|
208
|
-
value: import_bcs5.bcs.u256()
|
|
209
|
-
} });
|
|
210
|
-
|
|
211
|
-
// src/generated/yield_usdb/buffer.ts
|
|
212
|
-
var $moduleName6 = "@local-pkg/yield_usdb.move::buffer";
|
|
213
|
-
var Buffer2 = new MoveStruct({ name: `${$moduleName6}::Buffer`, fields: {
|
|
214
|
-
balance: Balance,
|
|
215
|
-
flow_rate: Double,
|
|
216
|
-
timestamp: import_bcs6.bcs.u64()
|
|
217
|
-
} });
|
|
218
|
-
|
|
219
|
-
// src/generated/yield_usdb/deps/sui/vec_set.ts
|
|
220
|
-
var import_bcs7 = require("@mysten/sui/bcs");
|
|
221
|
-
var $moduleName7 = "0x2::vec_set";
|
|
222
|
-
function VecSet(...typeParameters) {
|
|
223
|
-
return new MoveStruct({ name: `${$moduleName7}::VecSet<${typeParameters[0].name}>`, fields: {
|
|
224
|
-
contents: import_bcs7.bcs.vector(typeParameters[0])
|
|
225
|
-
} });
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
// src/generated/yield_usdb/yield_usdb.ts
|
|
229
|
-
var $moduleName8 = "@local-pkg/yield_usdb.move::yield_usdb";
|
|
230
|
-
var Created = new MoveStruct({ name: `${$moduleName8}::Created`, fields: {
|
|
231
|
-
vault_id: import_bcs8.bcs.Address,
|
|
232
|
-
max_lp_supply: import_bcs8.bcs.u64(),
|
|
233
|
-
abstract_address: import_bcs8.bcs.Address
|
|
234
|
-
} });
|
|
235
|
-
var MaxSupplyUpdated = new MoveStruct({ name: `${$moduleName8}::MaxSupplyUpdated`, fields: {
|
|
236
|
-
vault_id: import_bcs8.bcs.Address,
|
|
237
|
-
previous_max_lp_supply: import_bcs8.bcs.u64(),
|
|
238
|
-
current_max_lp_supply: import_bcs8.bcs.u64()
|
|
239
|
-
} });
|
|
240
|
-
var Minted = new MoveStruct({ name: `${$moduleName8}::Minted`, fields: {
|
|
241
|
-
vault_id: import_bcs8.bcs.Address,
|
|
242
|
-
usdb_amount: import_bcs8.bcs.u64(),
|
|
243
|
-
lp_amount: import_bcs8.bcs.u64()
|
|
244
|
-
} });
|
|
245
|
-
var Burned = new MoveStruct({ name: `${$moduleName8}::Burned`, fields: {
|
|
246
|
-
vault_id: import_bcs8.bcs.Address,
|
|
247
|
-
lp_amount: import_bcs8.bcs.u64(),
|
|
248
|
-
usdb_amount: import_bcs8.bcs.u64()
|
|
249
|
-
} });
|
|
250
|
-
var Claimed = new MoveStruct({ name: `${$moduleName8}::Claimed`, fields: {
|
|
251
|
-
vault_id: import_bcs8.bcs.Address,
|
|
252
|
-
reward_type: import_bcs8.bcs.string(),
|
|
253
|
-
reward_amount: import_bcs8.bcs.u64()
|
|
254
|
-
} });
|
|
255
|
-
var Collected = new MoveStruct({ name: `${$moduleName8}::Collected`, fields: {
|
|
256
|
-
vault_id: import_bcs8.bcs.Address,
|
|
257
|
-
usdb_amount: import_bcs8.bcs.u64()
|
|
258
|
-
} });
|
|
259
|
-
var YieldVault = new MoveStruct({ name: `${$moduleName8}::YieldVault`, fields: {
|
|
260
|
-
id: UID,
|
|
261
|
-
max_lp_supply: import_bcs8.bcs.u64(),
|
|
262
|
-
lp_treasury_cap: TreasuryCap,
|
|
263
|
-
abstract_account: Account,
|
|
264
|
-
buffer: Buffer2,
|
|
265
|
-
managers: VecSet(import_bcs8.bcs.Address),
|
|
266
|
-
versions: VecSet(import_bcs8.bcs.u16())
|
|
267
|
-
} });
|
|
268
|
-
function release(options) {
|
|
269
|
-
const packageAddress = options.package ?? "@local-pkg/yield_usdb.move";
|
|
270
|
-
const argumentsTypes = [
|
|
271
|
-
`${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,
|
|
272
|
-
`${packageAddress}::usdb::Treasury`,
|
|
273
|
-
`${packageAddress}::saving::SavingPool<${options.typeArguments[1]}>`,
|
|
274
|
-
"0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock"
|
|
275
|
-
];
|
|
276
|
-
const parameterNames = ["vault", "treasury", "savingPool"];
|
|
277
|
-
return (tx) => tx.moveCall({
|
|
278
|
-
package: packageAddress,
|
|
279
|
-
module: "yield_usdb",
|
|
280
|
-
function: "release",
|
|
281
|
-
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
282
|
-
typeArguments: options.typeArguments
|
|
283
|
-
});
|
|
284
|
-
}
|
|
285
|
-
|
|
286
168
|
// src/generated/stable_layer/stable_layer.ts
|
|
287
|
-
var
|
|
169
|
+
var import_bcs8 = require("@mysten/sui/bcs");
|
|
288
170
|
|
|
289
171
|
// src/generated/stable_layer/deps/std/type_name.ts
|
|
290
|
-
var
|
|
291
|
-
var $
|
|
292
|
-
var TypeName = new MoveStruct({ name: `${$
|
|
172
|
+
var import_bcs2 = require("@mysten/sui/bcs");
|
|
173
|
+
var $moduleName = "std::type_name";
|
|
174
|
+
var TypeName = new MoveStruct({ name: `${$moduleName}::TypeName`, fields: {
|
|
293
175
|
/**
|
|
294
176
|
* String representation of the type. All types are represented using their source
|
|
295
177
|
* syntax: "u8", "u64", "bool", "address", "vector", and so on for primitive types.
|
|
@@ -299,116 +181,132 @@ var TypeName = new MoveStruct({ name: `${$moduleName9}::TypeName`, fields: {
|
|
|
299
181
|
* Addresses are hex-encoded lowercase values of length ADDRESS_LENGTH (16, 20, or
|
|
300
182
|
* 32 depending on the Move platform)
|
|
301
183
|
*/
|
|
302
|
-
name:
|
|
184
|
+
name: import_bcs2.bcs.string()
|
|
303
185
|
} });
|
|
304
186
|
|
|
305
187
|
// src/generated/stable_layer/deps/sui/vec_map.ts
|
|
306
|
-
var
|
|
307
|
-
var $
|
|
188
|
+
var import_bcs3 = require("@mysten/sui/bcs");
|
|
189
|
+
var $moduleName2 = "0x2::vec_map";
|
|
308
190
|
function Entry(...typeParameters) {
|
|
309
|
-
return new MoveStruct({ name: `${$
|
|
191
|
+
return new MoveStruct({ name: `${$moduleName2}::Entry<${typeParameters[0].name}, ${typeParameters[1].name}>`, fields: {
|
|
310
192
|
key: typeParameters[0],
|
|
311
193
|
value: typeParameters[1]
|
|
312
194
|
} });
|
|
313
195
|
}
|
|
314
196
|
function VecMap(...typeParameters) {
|
|
315
|
-
return new MoveStruct({ name: `${$
|
|
316
|
-
contents:
|
|
197
|
+
return new MoveStruct({ name: `${$moduleName2}::VecMap<${typeParameters[0].name}, ${typeParameters[1].name}>`, fields: {
|
|
198
|
+
contents: import_bcs3.bcs.vector(Entry(typeParameters[0], typeParameters[1]))
|
|
317
199
|
} });
|
|
318
200
|
}
|
|
319
201
|
|
|
320
202
|
// src/generated/stable_layer/deps/bucket_v2_framework/liability.ts
|
|
321
|
-
var
|
|
322
|
-
var $
|
|
323
|
-
var Credit = new MoveStruct({ name: `${$
|
|
324
|
-
value:
|
|
203
|
+
var import_bcs4 = require("@mysten/sui/bcs");
|
|
204
|
+
var $moduleName3 = "bucket_v2_framework::liability";
|
|
205
|
+
var Credit = new MoveStruct({ name: `${$moduleName3}::Credit`, fields: {
|
|
206
|
+
value: import_bcs4.bcs.u64()
|
|
325
207
|
} });
|
|
326
|
-
var Debt = new MoveStruct({ name: `${$
|
|
327
|
-
value:
|
|
208
|
+
var Debt = new MoveStruct({ name: `${$moduleName3}::Debt`, fields: {
|
|
209
|
+
value: import_bcs4.bcs.u64()
|
|
328
210
|
} });
|
|
329
211
|
|
|
330
212
|
// src/generated/stable_layer/deps/sui/vec_set.ts
|
|
331
|
-
var
|
|
332
|
-
var $
|
|
333
|
-
function
|
|
334
|
-
return new MoveStruct({ name: `${$
|
|
335
|
-
contents:
|
|
213
|
+
var import_bcs5 = require("@mysten/sui/bcs");
|
|
214
|
+
var $moduleName4 = "0x2::vec_set";
|
|
215
|
+
function VecSet(...typeParameters) {
|
|
216
|
+
return new MoveStruct({ name: `${$moduleName4}::VecSet<${typeParameters[0].name}>`, fields: {
|
|
217
|
+
contents: import_bcs5.bcs.vector(typeParameters[0])
|
|
336
218
|
} });
|
|
337
219
|
}
|
|
338
220
|
|
|
339
221
|
// src/generated/stable_layer/deps/bucket_v2_framework/sheet.ts
|
|
340
|
-
var $
|
|
341
|
-
var Entity = new MoveTuple({ name: `${$
|
|
342
|
-
var Sheet = new MoveStruct({ name: `${$
|
|
222
|
+
var $moduleName5 = "bucket_v2_framework::sheet";
|
|
223
|
+
var Entity = new MoveTuple({ name: `${$moduleName5}::Entity`, fields: [TypeName] });
|
|
224
|
+
var Sheet = new MoveStruct({ name: `${$moduleName5}::Sheet`, fields: {
|
|
343
225
|
credits: VecMap(Entity, Credit),
|
|
344
226
|
debts: VecMap(Entity, Debt),
|
|
345
|
-
blacklist:
|
|
227
|
+
blacklist: VecSet(Entity)
|
|
346
228
|
} });
|
|
347
229
|
|
|
348
230
|
// src/generated/stable_layer/deps/sui/object.ts
|
|
349
|
-
var
|
|
350
|
-
var $
|
|
351
|
-
var
|
|
352
|
-
id:
|
|
231
|
+
var import_bcs6 = require("@mysten/sui/bcs");
|
|
232
|
+
var $moduleName6 = "0x2::object";
|
|
233
|
+
var UID = new MoveStruct({ name: `${$moduleName6}::UID`, fields: {
|
|
234
|
+
id: import_bcs6.bcs.Address
|
|
353
235
|
} });
|
|
354
236
|
|
|
355
237
|
// src/generated/stable_layer/deps/sui/balance.ts
|
|
356
|
-
var
|
|
357
|
-
var $
|
|
358
|
-
var
|
|
359
|
-
value:
|
|
238
|
+
var import_bcs7 = require("@mysten/sui/bcs");
|
|
239
|
+
var $moduleName7 = "0x2::balance";
|
|
240
|
+
var Supply = new MoveStruct({ name: `${$moduleName7}::Supply`, fields: {
|
|
241
|
+
value: import_bcs7.bcs.u64()
|
|
360
242
|
} });
|
|
361
243
|
|
|
362
244
|
// src/generated/stable_layer/deps/sui/coin.ts
|
|
363
|
-
var $
|
|
364
|
-
var
|
|
365
|
-
id:
|
|
366
|
-
total_supply:
|
|
245
|
+
var $moduleName8 = "0x2::coin";
|
|
246
|
+
var TreasuryCap = new MoveStruct({ name: `${$moduleName8}::TreasuryCap`, fields: {
|
|
247
|
+
id: UID,
|
|
248
|
+
total_supply: Supply
|
|
367
249
|
} });
|
|
368
250
|
|
|
369
251
|
// src/generated/stable_layer/stable_layer.ts
|
|
370
|
-
var $
|
|
371
|
-
var NewStable = new MoveStruct({ name: `${$
|
|
372
|
-
u_type:
|
|
373
|
-
stable_type:
|
|
374
|
-
factory_id:
|
|
375
|
-
factory_cap_id:
|
|
376
|
-
} });
|
|
377
|
-
var Mint = new MoveStruct({ name: `${$moduleName17}::Mint`, fields: {
|
|
378
|
-
u_type: import_bcs15.bcs.string(),
|
|
379
|
-
stable_type: import_bcs15.bcs.string(),
|
|
380
|
-
mint_amount: import_bcs15.bcs.u64(),
|
|
381
|
-
farm_type: import_bcs15.bcs.string()
|
|
382
|
-
} });
|
|
383
|
-
var Burn = new MoveStruct({ name: `${$moduleName17}::Burn`, fields: {
|
|
384
|
-
u_type: import_bcs15.bcs.string(),
|
|
385
|
-
stable_type: import_bcs15.bcs.string(),
|
|
386
|
-
burn_amount: import_bcs15.bcs.u64(),
|
|
387
|
-
farm_types: import_bcs15.bcs.vector(Entity),
|
|
388
|
-
repayment_amounts: import_bcs15.bcs.vector(import_bcs15.bcs.u64())
|
|
389
|
-
} });
|
|
390
|
-
var StableFactoryEntity = new MoveStruct({ name: `${$moduleName17}::StableFactoryEntity`, fields: {
|
|
391
|
-
dummy_field: import_bcs15.bcs.bool()
|
|
392
|
-
} });
|
|
393
|
-
var StableRegistry = new MoveStruct({ name: `${$moduleName17}::StableRegistry`, fields: {
|
|
394
|
-
id: UID2,
|
|
395
|
-
versions: VecSet2(import_bcs15.bcs.u16()),
|
|
396
|
-
total_supply: import_bcs15.bcs.u64()
|
|
252
|
+
var $moduleName9 = "@local-pkg/stable_factory.move::stable_layer";
|
|
253
|
+
var NewStable = new MoveStruct({ name: `${$moduleName9}::NewStable`, fields: {
|
|
254
|
+
u_type: import_bcs8.bcs.string(),
|
|
255
|
+
stable_type: import_bcs8.bcs.string(),
|
|
256
|
+
factory_id: import_bcs8.bcs.Address,
|
|
257
|
+
factory_cap_id: import_bcs8.bcs.Address
|
|
397
258
|
} });
|
|
398
|
-
var
|
|
399
|
-
|
|
259
|
+
var Mint = new MoveStruct({ name: `${$moduleName9}::Mint`, fields: {
|
|
260
|
+
u_type: import_bcs8.bcs.string(),
|
|
261
|
+
stable_type: import_bcs8.bcs.string(),
|
|
262
|
+
mint_amount: import_bcs8.bcs.u64(),
|
|
263
|
+
farm_type: import_bcs8.bcs.string()
|
|
400
264
|
} });
|
|
401
|
-
var
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
265
|
+
var Burn = new MoveStruct({ name: `${$moduleName9}::Burn`, fields: {
|
|
266
|
+
u_type: import_bcs8.bcs.string(),
|
|
267
|
+
stable_type: import_bcs8.bcs.string(),
|
|
268
|
+
burn_amount: import_bcs8.bcs.u64(),
|
|
269
|
+
farm_types: import_bcs8.bcs.vector(Entity),
|
|
270
|
+
repayment_amounts: import_bcs8.bcs.vector(import_bcs8.bcs.u64())
|
|
271
|
+
} });
|
|
272
|
+
var StableFactoryEntity = new MoveStruct({ name: `${$moduleName9}::StableFactoryEntity`, fields: {
|
|
273
|
+
dummy_field: import_bcs8.bcs.bool()
|
|
274
|
+
} });
|
|
275
|
+
var StableRegistry = new MoveStruct({ name: `${$moduleName9}::StableRegistry`, fields: {
|
|
276
|
+
id: UID,
|
|
277
|
+
versions: VecSet(import_bcs8.bcs.u16()),
|
|
278
|
+
total_supply: import_bcs8.bcs.u64()
|
|
279
|
+
} });
|
|
280
|
+
var AdminCap = new MoveStruct({ name: `${$moduleName9}::AdminCap`, fields: {
|
|
281
|
+
id: UID
|
|
282
|
+
} });
|
|
283
|
+
var StableFactory = new MoveStruct({ name: `${$moduleName9}::StableFactory`, fields: {
|
|
284
|
+
id: UID,
|
|
285
|
+
treasury_cap: TreasuryCap,
|
|
286
|
+
max_supply: import_bcs8.bcs.u64(),
|
|
405
287
|
sheet: Sheet,
|
|
406
|
-
managers:
|
|
288
|
+
managers: VecSet(import_bcs8.bcs.Address)
|
|
407
289
|
} });
|
|
408
|
-
var FactoryCap = new MoveStruct({ name: `${$
|
|
409
|
-
id:
|
|
410
|
-
factory_id:
|
|
290
|
+
var FactoryCap = new MoveStruct({ name: `${$moduleName9}::FactoryCap`, fields: {
|
|
291
|
+
id: UID,
|
|
292
|
+
factory_id: import_bcs8.bcs.Address
|
|
411
293
|
} });
|
|
294
|
+
function setMaxSupply(options) {
|
|
295
|
+
const packageAddress = options.package ?? "@local-pkg/stable_factory.move";
|
|
296
|
+
const argumentsTypes = [
|
|
297
|
+
`${packageAddress}::stable_layer::StableRegistry`,
|
|
298
|
+
`${packageAddress}::stable_layer::FactoryCap<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,
|
|
299
|
+
"u64"
|
|
300
|
+
];
|
|
301
|
+
const parameterNames = ["registry", "FactoryCap", "maxSupply"];
|
|
302
|
+
return (tx) => tx.moveCall({
|
|
303
|
+
package: packageAddress,
|
|
304
|
+
module: "stable_layer",
|
|
305
|
+
function: "set_max_supply",
|
|
306
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
307
|
+
typeArguments: options.typeArguments
|
|
308
|
+
});
|
|
309
|
+
}
|
|
412
310
|
function mint(options) {
|
|
413
311
|
const packageAddress = options.package ?? "@local-pkg/stable_factory.move";
|
|
414
312
|
const argumentsTypes = [
|
|
@@ -456,19 +354,19 @@ function fulfillBurn(options) {
|
|
|
456
354
|
}
|
|
457
355
|
|
|
458
356
|
// src/generated/stable_vault_farm/stable_vault_farm.ts
|
|
459
|
-
var
|
|
357
|
+
var import_bcs16 = require("@mysten/sui/bcs");
|
|
460
358
|
|
|
461
359
|
// src/generated/stable_vault_farm/deps/sui/object.ts
|
|
462
|
-
var
|
|
463
|
-
var $
|
|
464
|
-
var
|
|
465
|
-
id:
|
|
360
|
+
var import_bcs9 = require("@mysten/sui/bcs");
|
|
361
|
+
var $moduleName10 = "0x2::object";
|
|
362
|
+
var UID2 = new MoveStruct({ name: `${$moduleName10}::UID`, fields: {
|
|
363
|
+
id: import_bcs9.bcs.Address
|
|
466
364
|
} });
|
|
467
365
|
|
|
468
366
|
// src/generated/stable_vault_farm/deps/std/type_name.ts
|
|
469
|
-
var
|
|
470
|
-
var $
|
|
471
|
-
var TypeName2 = new MoveStruct({ name: `${$
|
|
367
|
+
var import_bcs10 = require("@mysten/sui/bcs");
|
|
368
|
+
var $moduleName11 = "std::type_name";
|
|
369
|
+
var TypeName2 = new MoveStruct({ name: `${$moduleName11}::TypeName`, fields: {
|
|
472
370
|
/**
|
|
473
371
|
* String representation of the type. All types are represented using their source
|
|
474
372
|
* syntax: "u8", "u64", "bool", "address", "vector", and so on for primitive types.
|
|
@@ -478,90 +376,90 @@ var TypeName2 = new MoveStruct({ name: `${$moduleName19}::TypeName`, fields: {
|
|
|
478
376
|
* Addresses are hex-encoded lowercase values of length ADDRESS_LENGTH (16, 20, or
|
|
479
377
|
* 32 depending on the Move platform)
|
|
480
378
|
*/
|
|
481
|
-
name:
|
|
379
|
+
name: import_bcs10.bcs.string()
|
|
482
380
|
} });
|
|
483
381
|
|
|
484
382
|
// src/generated/stable_vault_farm/deps/sui/vec_map.ts
|
|
485
|
-
var
|
|
486
|
-
var $
|
|
383
|
+
var import_bcs11 = require("@mysten/sui/bcs");
|
|
384
|
+
var $moduleName12 = "0x2::vec_map";
|
|
487
385
|
function Entry2(...typeParameters) {
|
|
488
|
-
return new MoveStruct({ name: `${$
|
|
386
|
+
return new MoveStruct({ name: `${$moduleName12}::Entry<${typeParameters[0].name}, ${typeParameters[1].name}>`, fields: {
|
|
489
387
|
key: typeParameters[0],
|
|
490
388
|
value: typeParameters[1]
|
|
491
389
|
} });
|
|
492
390
|
}
|
|
493
391
|
function VecMap2(...typeParameters) {
|
|
494
|
-
return new MoveStruct({ name: `${$
|
|
495
|
-
contents:
|
|
392
|
+
return new MoveStruct({ name: `${$moduleName12}::VecMap<${typeParameters[0].name}, ${typeParameters[1].name}>`, fields: {
|
|
393
|
+
contents: import_bcs11.bcs.vector(Entry2(typeParameters[0], typeParameters[1]))
|
|
496
394
|
} });
|
|
497
395
|
}
|
|
498
396
|
|
|
499
397
|
// src/generated/stable_vault_farm/deps/bucket_v2_framework/liability.ts
|
|
500
|
-
var
|
|
501
|
-
var $
|
|
502
|
-
var Credit2 = new MoveStruct({ name: `${$
|
|
503
|
-
value:
|
|
398
|
+
var import_bcs12 = require("@mysten/sui/bcs");
|
|
399
|
+
var $moduleName13 = "bucket_v2_framework::liability";
|
|
400
|
+
var Credit2 = new MoveStruct({ name: `${$moduleName13}::Credit`, fields: {
|
|
401
|
+
value: import_bcs12.bcs.u64()
|
|
504
402
|
} });
|
|
505
|
-
var Debt2 = new MoveStruct({ name: `${$
|
|
506
|
-
value:
|
|
403
|
+
var Debt2 = new MoveStruct({ name: `${$moduleName13}::Debt`, fields: {
|
|
404
|
+
value: import_bcs12.bcs.u64()
|
|
507
405
|
} });
|
|
508
406
|
|
|
509
407
|
// src/generated/stable_vault_farm/deps/sui/vec_set.ts
|
|
510
|
-
var
|
|
511
|
-
var $
|
|
512
|
-
function
|
|
513
|
-
return new MoveStruct({ name: `${$
|
|
514
|
-
contents:
|
|
408
|
+
var import_bcs13 = require("@mysten/sui/bcs");
|
|
409
|
+
var $moduleName14 = "0x2::vec_set";
|
|
410
|
+
function VecSet2(...typeParameters) {
|
|
411
|
+
return new MoveStruct({ name: `${$moduleName14}::VecSet<${typeParameters[0].name}>`, fields: {
|
|
412
|
+
contents: import_bcs13.bcs.vector(typeParameters[0])
|
|
515
413
|
} });
|
|
516
414
|
}
|
|
517
415
|
|
|
518
416
|
// src/generated/stable_vault_farm/deps/bucket_v2_framework/sheet.ts
|
|
519
|
-
var $
|
|
520
|
-
var Entity2 = new MoveTuple({ name: `${$
|
|
521
|
-
var Sheet2 = new MoveStruct({ name: `${$
|
|
417
|
+
var $moduleName15 = "bucket_v2_framework::sheet";
|
|
418
|
+
var Entity2 = new MoveTuple({ name: `${$moduleName15}::Entity`, fields: [TypeName2] });
|
|
419
|
+
var Sheet2 = new MoveStruct({ name: `${$moduleName15}::Sheet`, fields: {
|
|
522
420
|
credits: VecMap2(Entity2, Credit2),
|
|
523
421
|
debts: VecMap2(Entity2, Debt2),
|
|
524
|
-
blacklist:
|
|
422
|
+
blacklist: VecSet2(Entity2)
|
|
525
423
|
} });
|
|
526
424
|
|
|
527
425
|
// src/generated/stable_vault_farm/deps/sui/table.ts
|
|
528
|
-
var
|
|
529
|
-
var $
|
|
530
|
-
var Table = new MoveStruct({ name: `${$
|
|
426
|
+
var import_bcs14 = require("@mysten/sui/bcs");
|
|
427
|
+
var $moduleName16 = "0x2::table";
|
|
428
|
+
var Table = new MoveStruct({ name: `${$moduleName16}::Table`, fields: {
|
|
531
429
|
/** the ID of this table */
|
|
532
|
-
id:
|
|
430
|
+
id: UID2,
|
|
533
431
|
/** the number of key-value pairs in the table */
|
|
534
|
-
size:
|
|
432
|
+
size: import_bcs14.bcs.u64()
|
|
535
433
|
} });
|
|
536
434
|
|
|
537
435
|
// src/generated/stable_vault_farm/deps/sui/balance.ts
|
|
538
|
-
var
|
|
539
|
-
var $
|
|
540
|
-
var
|
|
541
|
-
value:
|
|
436
|
+
var import_bcs15 = require("@mysten/sui/bcs");
|
|
437
|
+
var $moduleName17 = "0x2::balance";
|
|
438
|
+
var Balance = new MoveStruct({ name: `${$moduleName17}::Balance`, fields: {
|
|
439
|
+
value: import_bcs15.bcs.u64()
|
|
542
440
|
} });
|
|
543
441
|
|
|
544
442
|
// src/generated/stable_vault_farm/stable_vault_farm.ts
|
|
545
|
-
var $
|
|
546
|
-
var Claim = new MoveStruct({ name: `${$
|
|
547
|
-
reward_type:
|
|
548
|
-
amount:
|
|
549
|
-
claimer:
|
|
443
|
+
var $moduleName18 = "@local-pkg/stable_vault_farm.move::stable_vault_farm";
|
|
444
|
+
var Claim = new MoveStruct({ name: `${$moduleName18}::Claim`, fields: {
|
|
445
|
+
reward_type: import_bcs16.bcs.string(),
|
|
446
|
+
amount: import_bcs16.bcs.u64(),
|
|
447
|
+
claimer: import_bcs16.bcs.Address
|
|
550
448
|
} });
|
|
551
|
-
var StableVaultFarmEntity = new MoveStruct({ name: `${$
|
|
552
|
-
dummy_field:
|
|
449
|
+
var StableVaultFarmEntity = new MoveStruct({ name: `${$moduleName18}::StableVaultFarmEntity`, fields: {
|
|
450
|
+
dummy_field: import_bcs16.bcs.bool()
|
|
553
451
|
} });
|
|
554
|
-
var StableVaultFarmWitness = new MoveStruct({ name: `${$
|
|
555
|
-
dummy_field:
|
|
452
|
+
var StableVaultFarmWitness = new MoveStruct({ name: `${$moduleName18}::StableVaultFarmWitness`, fields: {
|
|
453
|
+
dummy_field: import_bcs16.bcs.bool()
|
|
556
454
|
} });
|
|
557
|
-
var StableVaultFarm = new MoveStruct({ name: `${$
|
|
558
|
-
id:
|
|
455
|
+
var StableVaultFarm = new MoveStruct({ name: `${$moduleName18}::StableVaultFarm`, fields: {
|
|
456
|
+
id: UID2,
|
|
559
457
|
sheet: Sheet2,
|
|
560
458
|
yield_table: Table,
|
|
561
|
-
u_surplus:
|
|
459
|
+
u_surplus: Balance
|
|
562
460
|
} });
|
|
563
|
-
var AdminCap2 = new MoveStruct({ name: `${$
|
|
564
|
-
id:
|
|
461
|
+
var AdminCap2 = new MoveStruct({ name: `${$moduleName18}::AdminCap`, fields: {
|
|
462
|
+
id: UID2
|
|
565
463
|
} });
|
|
566
464
|
function receive(options) {
|
|
567
465
|
const packageAddress = options.package ?? "@local-pkg/stable_vault_farm.move";
|
|
@@ -628,13 +526,248 @@ function claim(options) {
|
|
|
628
526
|
});
|
|
629
527
|
}
|
|
630
528
|
|
|
529
|
+
// src/generated/yield_usdb/yield_usdb.ts
|
|
530
|
+
var import_bcs23 = require("@mysten/sui/bcs");
|
|
531
|
+
|
|
532
|
+
// src/generated/yield_usdb/deps/sui/object.ts
|
|
533
|
+
var import_bcs17 = require("@mysten/sui/bcs");
|
|
534
|
+
var $moduleName19 = "0x2::object";
|
|
535
|
+
var UID3 = new MoveStruct({ name: `${$moduleName19}::UID`, fields: {
|
|
536
|
+
id: import_bcs17.bcs.Address
|
|
537
|
+
} });
|
|
538
|
+
|
|
539
|
+
// src/generated/yield_usdb/deps/sui/balance.ts
|
|
540
|
+
var import_bcs18 = require("@mysten/sui/bcs");
|
|
541
|
+
var $moduleName20 = "0x2::balance";
|
|
542
|
+
var Balance2 = new MoveStruct({ name: `${$moduleName20}::Balance`, fields: {
|
|
543
|
+
value: import_bcs18.bcs.u64()
|
|
544
|
+
} });
|
|
545
|
+
var Supply2 = new MoveStruct({ name: `${$moduleName20}::Supply`, fields: {
|
|
546
|
+
value: import_bcs18.bcs.u64()
|
|
547
|
+
} });
|
|
548
|
+
|
|
549
|
+
// src/generated/yield_usdb/deps/sui/coin.ts
|
|
550
|
+
var $moduleName21 = "0x2::coin";
|
|
551
|
+
var TreasuryCap2 = new MoveStruct({ name: `${$moduleName21}::TreasuryCap`, fields: {
|
|
552
|
+
id: UID3,
|
|
553
|
+
total_supply: Supply2
|
|
554
|
+
} });
|
|
555
|
+
|
|
556
|
+
// src/generated/yield_usdb/deps/bucket_v2_framework/account.ts
|
|
557
|
+
var import_bcs19 = require("@mysten/sui/bcs");
|
|
558
|
+
var $moduleName22 = "bucket_v2_framework::account";
|
|
559
|
+
var Account = new MoveStruct({ name: `${$moduleName22}::Account`, fields: {
|
|
560
|
+
id: UID3,
|
|
561
|
+
alias: import_bcs19.bcs.option(import_bcs19.bcs.string())
|
|
562
|
+
} });
|
|
563
|
+
|
|
564
|
+
// src/generated/yield_usdb/buffer.ts
|
|
565
|
+
var import_bcs21 = require("@mysten/sui/bcs");
|
|
566
|
+
|
|
567
|
+
// src/generated/yield_usdb/deps/bucket_v2_framework/double.ts
|
|
568
|
+
var import_bcs20 = require("@mysten/sui/bcs");
|
|
569
|
+
var $moduleName23 = "bucket_v2_framework::double";
|
|
570
|
+
var Double = new MoveStruct({ name: `${$moduleName23}::Double`, fields: {
|
|
571
|
+
value: import_bcs20.bcs.u256()
|
|
572
|
+
} });
|
|
573
|
+
|
|
574
|
+
// src/generated/yield_usdb/buffer.ts
|
|
575
|
+
var $moduleName24 = "@local-pkg/yield_usdb.move::buffer";
|
|
576
|
+
var Buffer2 = new MoveStruct({ name: `${$moduleName24}::Buffer`, fields: {
|
|
577
|
+
balance: Balance2,
|
|
578
|
+
flow_rate: Double,
|
|
579
|
+
timestamp: import_bcs21.bcs.u64()
|
|
580
|
+
} });
|
|
581
|
+
|
|
582
|
+
// src/generated/yield_usdb/deps/sui/vec_set.ts
|
|
583
|
+
var import_bcs22 = require("@mysten/sui/bcs");
|
|
584
|
+
var $moduleName25 = "0x2::vec_set";
|
|
585
|
+
function VecSet3(...typeParameters) {
|
|
586
|
+
return new MoveStruct({ name: `${$moduleName25}::VecSet<${typeParameters[0].name}>`, fields: {
|
|
587
|
+
contents: import_bcs22.bcs.vector(typeParameters[0])
|
|
588
|
+
} });
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
// src/generated/yield_usdb/yield_usdb.ts
|
|
592
|
+
var $moduleName26 = "@local-pkg/yield_usdb.move::yield_usdb";
|
|
593
|
+
var Created = new MoveStruct({ name: `${$moduleName26}::Created`, fields: {
|
|
594
|
+
vault_id: import_bcs23.bcs.Address,
|
|
595
|
+
max_lp_supply: import_bcs23.bcs.u64(),
|
|
596
|
+
abstract_address: import_bcs23.bcs.Address
|
|
597
|
+
} });
|
|
598
|
+
var MaxSupplyUpdated = new MoveStruct({ name: `${$moduleName26}::MaxSupplyUpdated`, fields: {
|
|
599
|
+
vault_id: import_bcs23.bcs.Address,
|
|
600
|
+
previous_max_lp_supply: import_bcs23.bcs.u64(),
|
|
601
|
+
current_max_lp_supply: import_bcs23.bcs.u64()
|
|
602
|
+
} });
|
|
603
|
+
var Minted = new MoveStruct({ name: `${$moduleName26}::Minted`, fields: {
|
|
604
|
+
vault_id: import_bcs23.bcs.Address,
|
|
605
|
+
usdb_amount: import_bcs23.bcs.u64(),
|
|
606
|
+
lp_amount: import_bcs23.bcs.u64()
|
|
607
|
+
} });
|
|
608
|
+
var Burned = new MoveStruct({ name: `${$moduleName26}::Burned`, fields: {
|
|
609
|
+
vault_id: import_bcs23.bcs.Address,
|
|
610
|
+
lp_amount: import_bcs23.bcs.u64(),
|
|
611
|
+
usdb_amount: import_bcs23.bcs.u64()
|
|
612
|
+
} });
|
|
613
|
+
var Claimed = new MoveStruct({ name: `${$moduleName26}::Claimed`, fields: {
|
|
614
|
+
vault_id: import_bcs23.bcs.Address,
|
|
615
|
+
reward_type: import_bcs23.bcs.string(),
|
|
616
|
+
reward_amount: import_bcs23.bcs.u64()
|
|
617
|
+
} });
|
|
618
|
+
var Collected = new MoveStruct({ name: `${$moduleName26}::Collected`, fields: {
|
|
619
|
+
vault_id: import_bcs23.bcs.Address,
|
|
620
|
+
usdb_amount: import_bcs23.bcs.u64()
|
|
621
|
+
} });
|
|
622
|
+
var YieldVault = new MoveStruct({ name: `${$moduleName26}::YieldVault`, fields: {
|
|
623
|
+
id: UID3,
|
|
624
|
+
max_lp_supply: import_bcs23.bcs.u64(),
|
|
625
|
+
lp_treasury_cap: TreasuryCap2,
|
|
626
|
+
abstract_account: Account,
|
|
627
|
+
buffer: Buffer2,
|
|
628
|
+
managers: VecSet3(import_bcs23.bcs.Address),
|
|
629
|
+
versions: VecSet3(import_bcs23.bcs.u16())
|
|
630
|
+
} });
|
|
631
|
+
function release(options) {
|
|
632
|
+
const packageAddress = options.package ?? "@local-pkg/yield_usdb.move";
|
|
633
|
+
const argumentsTypes = [
|
|
634
|
+
`${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,
|
|
635
|
+
`${packageAddress}::usdb::Treasury`,
|
|
636
|
+
`${packageAddress}::saving::SavingPool<${options.typeArguments[1]}>`,
|
|
637
|
+
"0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock"
|
|
638
|
+
];
|
|
639
|
+
const parameterNames = ["vault", "treasury", "savingPool"];
|
|
640
|
+
return (tx) => tx.moveCall({
|
|
641
|
+
package: packageAddress,
|
|
642
|
+
module: "yield_usdb",
|
|
643
|
+
function: "release",
|
|
644
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
645
|
+
typeArguments: options.typeArguments
|
|
646
|
+
});
|
|
647
|
+
}
|
|
648
|
+
|
|
649
|
+
// src/libs/constants.mainnet.ts
|
|
650
|
+
var STABLE_REGISTRY_MAINNET_ALT = "0x213f4d584c0770f455bb98c94a4ee5ea9ddbc3d4ebb98a0ad6d093eb6da41642";
|
|
651
|
+
var STABLE_LAYER_PACKAGE_MAINNET_ALT = "0x41e25d09e20cf3bc43fe321e51ef178fac419ae47b783a7161982158fc9f17d6";
|
|
652
|
+
var MAINNET = {
|
|
653
|
+
STABLE_VAULT: "0x65f38160110cd6859d05f338ff54b4f462883bb6f87c667a65c0fb0e537410a7",
|
|
654
|
+
USDC_TYPE: "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC",
|
|
655
|
+
STABLE_LP_TYPE: "0xb75744fadcbfc174627567ca29645d0af8f6e6fd01b6f57c75a08cd3fb97c567::lake_usdc::LakeUSDC",
|
|
656
|
+
YUSDB_TYPE: "0xac718b4b672d7f461fe7e86847166ff9c23cadba217397f0848a95bdea1f1051::yesusdb::YesUSDB",
|
|
657
|
+
STABLE_LAYER_PACKAGE_ID: "0xa4a78d8d3d1df62fb81d10068142e79b0d30ad4e3f578060487e36ed9ea764da",
|
|
658
|
+
STABLE_REGISTRY_MAINNET_ALT,
|
|
659
|
+
STABLE_LAYER_PACKAGE_MAINNET_ALT,
|
|
660
|
+
STABLE_VAULT_FARM_PACKAGE_ID: "0x00d31ddaa73a56abcc3e2d885ac1e1d90f9ae0e38bbef2ba2923550c8250de4d",
|
|
661
|
+
SAVING_TYPE: "0x38f61c75fa8407140294c84167dd57684580b55c3066883b48dedc344b1cde1e::susdb::SUSDB",
|
|
662
|
+
YIELD_VAULT: "0x0a7f6325253157cd437812fea0ceee9a6b96f2ec5eac410da6df39558ff3a4d1",
|
|
663
|
+
STABLE_REGISTRY: "0x213f4d584c0770f455bb98c94a4ee5ea9ddbc3d4ebb98a0ad6d093eb6da41642",
|
|
664
|
+
STABLE_VAULT_FARM: "0xe958b7d102b33bf3c09addb0e2cdff102ff2c93afe407ec5c2a541e8959a650c",
|
|
665
|
+
YIELD_USDB_PACKAGE_ID: "0x3dcbf82f7e3b80ed65cee596612602a6c7e78c71fd40f6455b40ad033ed04786"
|
|
666
|
+
};
|
|
667
|
+
var STABLE_VAULT_FARM_ENTITY_TYPE_MAINNET = `0xc1025fe014b03d33b207b5afb0ba04293be87fab438c1418a26a75c2fe05c223::stable_vault_farm::StableVaultFarmEntity<${MAINNET.STABLE_LP_TYPE}, ${MAINNET.USDC_TYPE}>`;
|
|
668
|
+
|
|
669
|
+
// src/libs/constants.testnet.ts
|
|
670
|
+
var TESTNET_USDC = "0xa1ec7fc00a6f40db9693ad1415d0c193ad3906494428cf252621037bd7117e29::usdc::USDC";
|
|
671
|
+
var MOCK_FARM_PACKAGE_ID_TESTNET = "0x3a55ec8fabe5f3e982908ed3a7c3065f26e83ab226eb8d3450177dbaac25878b";
|
|
672
|
+
var MOCK_FARM_ORIGINAL_PACKAGE_ID_TESTNET = "0x673d4118c17de717b0b90c326f8f52f87b5fff8678f513edd2ae575a55175954";
|
|
673
|
+
var MOCK_FARM_REGISTRY_TESTNET = "0xc3e8d2e33e36f6a4b5c199fe2dde3ba6dc29e7af8dd045c86e62d7c21f374d02";
|
|
674
|
+
var MOCK_USDB_TYPE_TESTNET = `${MOCK_FARM_ORIGINAL_PACKAGE_ID_TESTNET}::usdb::USDB`;
|
|
675
|
+
var TESTNET = {
|
|
676
|
+
STABLE_LAYER_PACKAGE_ID: "0x9c248c80c3a757167780f17e0c00a4d293280be7276f1b81a153f6e47d2567c9",
|
|
677
|
+
STABLE_REGISTRY: "0xfa0fd96e0fbc07dc6bdc23cc1ac5b4c0056f4b469b9db0a70b6ea01c14a4c7b5",
|
|
678
|
+
USDC_TYPE: TESTNET_USDC,
|
|
679
|
+
STABLE_VAULT_FARM_ENTITY_TYPE: `${MOCK_FARM_ORIGINAL_PACKAGE_ID_TESTNET}::farm::MockFarmEntity`,
|
|
680
|
+
MOCK_FARM_PACKAGE_ID: MOCK_FARM_PACKAGE_ID_TESTNET,
|
|
681
|
+
MOCK_FARM_REGISTRY: MOCK_FARM_REGISTRY_TESTNET,
|
|
682
|
+
MOCK_USDB_TYPE: MOCK_USDB_TYPE_TESTNET,
|
|
683
|
+
STABLE_VAULT: "",
|
|
684
|
+
STABLE_LP_TYPE: "",
|
|
685
|
+
YUSDB_TYPE: "",
|
|
686
|
+
STABLE_VAULT_FARM_PACKAGE_ID: "",
|
|
687
|
+
SAVING_TYPE: "",
|
|
688
|
+
YIELD_VAULT: "",
|
|
689
|
+
STABLE_VAULT_FARM: "",
|
|
690
|
+
YIELD_USDB_PACKAGE_ID: ""
|
|
691
|
+
};
|
|
692
|
+
var STABLE_VAULT_FARM_ENTITY_TYPE_TESTNET = TESTNET.STABLE_VAULT_FARM_ENTITY_TYPE;
|
|
693
|
+
|
|
694
|
+
// src/libs/constants.ts
|
|
695
|
+
function getMainnetConstants() {
|
|
696
|
+
return {
|
|
697
|
+
...MAINNET,
|
|
698
|
+
STABLE_VAULT_FARM_ENTITY_TYPE: STABLE_VAULT_FARM_ENTITY_TYPE_MAINNET,
|
|
699
|
+
MOCK_FARM_PACKAGE_ID: "",
|
|
700
|
+
MOCK_FARM_REGISTRY: "",
|
|
701
|
+
MOCK_USDB_TYPE: ""
|
|
702
|
+
};
|
|
703
|
+
}
|
|
704
|
+
function getTestnetConstants() {
|
|
705
|
+
return {
|
|
706
|
+
...TESTNET,
|
|
707
|
+
STABLE_VAULT_FARM_ENTITY_TYPE: STABLE_VAULT_FARM_ENTITY_TYPE_TESTNET
|
|
708
|
+
};
|
|
709
|
+
}
|
|
710
|
+
function getConstants(network) {
|
|
711
|
+
return network === "testnet" ? getTestnetConstants() : getMainnetConstants();
|
|
712
|
+
}
|
|
713
|
+
var STABLE_VAULT = MAINNET.STABLE_VAULT;
|
|
714
|
+
var USDC_TYPE = MAINNET.USDC_TYPE;
|
|
715
|
+
var STABLE_LP_TYPE = MAINNET.STABLE_LP_TYPE;
|
|
716
|
+
var YUSDB_TYPE = MAINNET.YUSDB_TYPE;
|
|
717
|
+
var STABLE_LAYER_PACKAGE_ID = MAINNET.STABLE_LAYER_PACKAGE_ID;
|
|
718
|
+
var STABLE_VAULT_FARM_PACKAGE_ID = MAINNET.STABLE_VAULT_FARM_PACKAGE_ID;
|
|
719
|
+
var SAVING_TYPE = MAINNET.SAVING_TYPE;
|
|
720
|
+
var YIELD_VAULT = MAINNET.YIELD_VAULT;
|
|
721
|
+
var STABLE_REGISTRY = MAINNET.STABLE_REGISTRY;
|
|
722
|
+
var STABLE_VAULT_FARM = MAINNET.STABLE_VAULT_FARM;
|
|
723
|
+
var YIELD_USDB_PACKAGE_ID = MAINNET.YIELD_USDB_PACKAGE_ID;
|
|
724
|
+
var STABLE_VAULT_FARM_ENTITY_TYPE = STABLE_VAULT_FARM_ENTITY_TYPE_MAINNET;
|
|
725
|
+
|
|
631
726
|
// src/index.ts
|
|
632
|
-
var
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
727
|
+
var StableLayerClient = class _StableLayerClient {
|
|
728
|
+
static getConstants(network) {
|
|
729
|
+
return getConstants(network);
|
|
730
|
+
}
|
|
731
|
+
getConstants() {
|
|
732
|
+
return getConstants(this.network);
|
|
733
|
+
}
|
|
734
|
+
static async initialize(config) {
|
|
735
|
+
const defaultBaseUrl = `https://fullnode.${config.network}.sui.io:443`;
|
|
736
|
+
const baseUrl = config.baseUrl ?? process.env.SUI_GRPC_URL ?? defaultBaseUrl;
|
|
737
|
+
const suiClient = config.suiClient ?? new import_grpc.SuiGrpcClient({
|
|
738
|
+
network: config.network,
|
|
739
|
+
baseUrl
|
|
740
|
+
});
|
|
741
|
+
const bucketClient = await import_sdk.BucketClient.initialize({
|
|
742
|
+
network: config.network,
|
|
743
|
+
suiClient,
|
|
744
|
+
configObjectId: config.configObjectId,
|
|
745
|
+
configOverrides: config.configOverrides
|
|
746
|
+
});
|
|
747
|
+
return new _StableLayerClient(config, bucketClient, suiClient);
|
|
748
|
+
}
|
|
749
|
+
constructor(config, bucketClient, suiClient) {
|
|
750
|
+
this.bucketClient = bucketClient;
|
|
751
|
+
this.suiClient = suiClient;
|
|
637
752
|
this.sender = config.sender;
|
|
753
|
+
this.network = config.network;
|
|
754
|
+
this.mockFarmRegistryId = config.mockFarmRegistryId;
|
|
755
|
+
this.mockFarmPackageId = config.mockFarmPackageId;
|
|
756
|
+
this.mockUsdbCoinType = config.mockUsdbCoinType;
|
|
757
|
+
}
|
|
758
|
+
getMockFarmPackageId() {
|
|
759
|
+
const c = this.getConstants();
|
|
760
|
+
const id = (this.mockFarmPackageId ?? c.MOCK_FARM_PACKAGE_ID)?.trim();
|
|
761
|
+
if (!id) {
|
|
762
|
+
throw new Error(
|
|
763
|
+
"StableLayerClient: missing mock farm package (set mockFarmPackageId or MOCK_FARM_PACKAGE_ID in testnet constants)."
|
|
764
|
+
);
|
|
765
|
+
}
|
|
766
|
+
return id;
|
|
767
|
+
}
|
|
768
|
+
getMockFarmEntityType() {
|
|
769
|
+
const c = this.getConstants();
|
|
770
|
+
return c.STABLE_VAULT_FARM_ENTITY_TYPE || `${this.getMockFarmPackageId()}::farm::MockFarmEntity`;
|
|
638
771
|
}
|
|
639
772
|
async buildMintTx({
|
|
640
773
|
tx,
|
|
@@ -644,42 +777,69 @@ var StableLayerClient = class {
|
|
|
644
777
|
autoTransfer = true
|
|
645
778
|
}) {
|
|
646
779
|
tx.setSender(sender ?? this.sender);
|
|
780
|
+
const constants = this.getConstants();
|
|
781
|
+
if (this.network === "testnet") {
|
|
782
|
+
const farmRegistry = this.mockFarmRegistryId ?? constants.MOCK_FARM_REGISTRY;
|
|
783
|
+
const pkg = this.getMockFarmPackageId();
|
|
784
|
+
if (!farmRegistry) {
|
|
785
|
+
throw new Error(
|
|
786
|
+
"buildMintTx (testnet): missing mock farm registry (mockFarmRegistryId or MOCK_FARM_REGISTRY)."
|
|
787
|
+
);
|
|
788
|
+
}
|
|
789
|
+
const stableTag = (0, import_utils28.normalizeStructTag)(stableCoinType);
|
|
790
|
+
const usdTag = (0, import_utils28.normalizeStructTag)(constants.USDC_TYPE);
|
|
791
|
+
const farmEntityTag = (0, import_utils28.normalizeStructTag)(this.getMockFarmEntityType());
|
|
792
|
+
const [stableCoin2, loan2] = mint({
|
|
793
|
+
package: constants.STABLE_LAYER_PACKAGE_ID,
|
|
794
|
+
arguments: {
|
|
795
|
+
registry: constants.STABLE_REGISTRY,
|
|
796
|
+
uCoin: usdcCoin
|
|
797
|
+
},
|
|
798
|
+
typeArguments: [stableTag, usdTag, farmEntityTag]
|
|
799
|
+
})(tx);
|
|
800
|
+
tx.moveCall({
|
|
801
|
+
target: `${pkg}::farm::receive`,
|
|
802
|
+
typeArguments: [stableTag, usdTag],
|
|
803
|
+
arguments: [tx.object(farmRegistry), loan2, tx.object(import_utils28.SUI_CLOCK_OBJECT_ID)]
|
|
804
|
+
});
|
|
805
|
+
if (autoTransfer) {
|
|
806
|
+
tx.transferObjects([stableCoin2], sender ?? this.sender);
|
|
807
|
+
return;
|
|
808
|
+
}
|
|
809
|
+
return stableCoin2;
|
|
810
|
+
}
|
|
647
811
|
const [stableCoin, loan] = mint({
|
|
648
|
-
package: STABLE_LAYER_PACKAGE_ID,
|
|
812
|
+
package: constants.STABLE_LAYER_PACKAGE_ID,
|
|
649
813
|
arguments: {
|
|
650
|
-
registry: STABLE_REGISTRY,
|
|
814
|
+
registry: constants.STABLE_REGISTRY,
|
|
651
815
|
uCoin: usdcCoin
|
|
652
816
|
},
|
|
653
|
-
typeArguments: [
|
|
654
|
-
stableCoinType,
|
|
655
|
-
USDC_TYPE,
|
|
656
|
-
STABLE_VAULT_FARM_ENTITY_TYPE
|
|
657
|
-
]
|
|
817
|
+
typeArguments: [stableCoinType, constants.USDC_TYPE, constants.STABLE_VAULT_FARM_ENTITY_TYPE]
|
|
658
818
|
})(tx);
|
|
659
819
|
const [uPrice] = await this.bucketClient.aggregatePrices(tx, {
|
|
660
|
-
coinTypes: [USDC_TYPE]
|
|
820
|
+
coinTypes: [constants.USDC_TYPE]
|
|
661
821
|
});
|
|
662
822
|
const depositResponse = receive({
|
|
663
|
-
package: STABLE_VAULT_FARM_PACKAGE_ID,
|
|
823
|
+
package: constants.STABLE_VAULT_FARM_PACKAGE_ID,
|
|
664
824
|
typeArguments: [
|
|
665
|
-
STABLE_LP_TYPE,
|
|
666
|
-
USDC_TYPE,
|
|
825
|
+
constants.STABLE_LP_TYPE,
|
|
826
|
+
constants.USDC_TYPE,
|
|
667
827
|
stableCoinType,
|
|
668
|
-
YUSDB_TYPE,
|
|
669
|
-
SAVING_TYPE
|
|
828
|
+
constants.YUSDB_TYPE,
|
|
829
|
+
constants.SAVING_TYPE
|
|
670
830
|
],
|
|
671
831
|
arguments: {
|
|
672
|
-
farm: STABLE_VAULT_FARM,
|
|
832
|
+
farm: constants.STABLE_VAULT_FARM,
|
|
673
833
|
loan,
|
|
674
|
-
stableVault: STABLE_VAULT,
|
|
675
|
-
usdbTreasury: this.bucketClient.treasury(tx),
|
|
676
|
-
psmPool: this.getBucketPSMPool(tx),
|
|
677
|
-
savingPool: this.getBucketSavingPool(tx),
|
|
678
|
-
yieldVault: YIELD_VAULT,
|
|
834
|
+
stableVault: constants.STABLE_VAULT,
|
|
835
|
+
usdbTreasury: await Promise.resolve(this.bucketClient.treasury(tx)),
|
|
836
|
+
psmPool: await this.getBucketPSMPool(tx),
|
|
837
|
+
savingPool: await this.getBucketSavingPool(tx),
|
|
838
|
+
yieldVault: constants.YIELD_VAULT,
|
|
679
839
|
uPrice
|
|
680
840
|
}
|
|
681
841
|
})(tx);
|
|
682
|
-
this.checkResponse({ tx, response: depositResponse, type: "deposit" });
|
|
842
|
+
await this.checkResponse({ tx, response: depositResponse, type: "deposit" });
|
|
683
843
|
if (autoTransfer) {
|
|
684
844
|
tx.transferObjects([stableCoin], sender ?? this.sender);
|
|
685
845
|
return;
|
|
@@ -704,50 +864,88 @@ var StableLayerClient = class {
|
|
|
704
864
|
(await this.suiClient.getBalance({
|
|
705
865
|
owner: sender ?? this.sender,
|
|
706
866
|
coinType: stableCoinType
|
|
707
|
-
})).
|
|
867
|
+
})).balance.balance
|
|
708
868
|
) : amount,
|
|
709
869
|
type: stableCoinType
|
|
710
870
|
});
|
|
711
|
-
this.
|
|
871
|
+
const constants = this.getConstants();
|
|
872
|
+
if (this.network === "testnet") {
|
|
873
|
+
const farmRegistry = this.mockFarmRegistryId ?? constants.MOCK_FARM_REGISTRY;
|
|
874
|
+
const pkg = this.getMockFarmPackageId();
|
|
875
|
+
if (!farmRegistry) {
|
|
876
|
+
throw new Error(
|
|
877
|
+
"buildBurnTx (testnet): missing mock farm registry (mockFarmRegistryId or MOCK_FARM_REGISTRY)."
|
|
878
|
+
);
|
|
879
|
+
}
|
|
880
|
+
const stableTag = (0, import_utils28.normalizeStructTag)(stableCoinType);
|
|
881
|
+
const usdTag = (0, import_utils28.normalizeStructTag)(constants.USDC_TYPE);
|
|
882
|
+
const burnRequest2 = requestBurn({
|
|
883
|
+
package: constants.STABLE_LAYER_PACKAGE_ID,
|
|
884
|
+
arguments: {
|
|
885
|
+
registry: constants.STABLE_REGISTRY,
|
|
886
|
+
stableCoin: btcUsdCoin
|
|
887
|
+
},
|
|
888
|
+
typeArguments: [stableTag, usdTag]
|
|
889
|
+
})(tx);
|
|
890
|
+
tx.moveCall({
|
|
891
|
+
target: `${pkg}::farm::pay`,
|
|
892
|
+
typeArguments: [stableTag, usdTag],
|
|
893
|
+
arguments: [tx.object(farmRegistry), tx.object(import_utils28.SUI_CLOCK_OBJECT_ID), burnRequest2]
|
|
894
|
+
});
|
|
895
|
+
const usdcCoin2 = fulfillBurn({
|
|
896
|
+
package: constants.STABLE_LAYER_PACKAGE_ID,
|
|
897
|
+
arguments: {
|
|
898
|
+
registry: constants.STABLE_REGISTRY,
|
|
899
|
+
burnRequest: burnRequest2
|
|
900
|
+
},
|
|
901
|
+
typeArguments: [stableTag, usdTag]
|
|
902
|
+
})(tx);
|
|
903
|
+
if (autoTransfer) {
|
|
904
|
+
tx.transferObjects([usdcCoin2], sender ?? this.sender);
|
|
905
|
+
return;
|
|
906
|
+
}
|
|
907
|
+
return usdcCoin2;
|
|
908
|
+
}
|
|
909
|
+
await this.releaseRewards(tx);
|
|
712
910
|
const burnRequest = requestBurn({
|
|
713
|
-
package: STABLE_LAYER_PACKAGE_ID,
|
|
911
|
+
package: constants.STABLE_LAYER_PACKAGE_ID,
|
|
714
912
|
arguments: {
|
|
715
|
-
registry: STABLE_REGISTRY,
|
|
913
|
+
registry: constants.STABLE_REGISTRY,
|
|
716
914
|
stableCoin: btcUsdCoin
|
|
717
915
|
},
|
|
718
|
-
typeArguments: [stableCoinType, USDC_TYPE]
|
|
916
|
+
typeArguments: [stableCoinType, constants.USDC_TYPE]
|
|
719
917
|
})(tx);
|
|
720
918
|
const [uPrice] = await this.bucketClient.aggregatePrices(tx, {
|
|
721
|
-
coinTypes: [USDC_TYPE]
|
|
919
|
+
coinTypes: [constants.USDC_TYPE]
|
|
722
920
|
});
|
|
723
921
|
const withdrawResponse = pay({
|
|
724
|
-
package: STABLE_VAULT_FARM_PACKAGE_ID,
|
|
922
|
+
package: constants.STABLE_VAULT_FARM_PACKAGE_ID,
|
|
725
923
|
arguments: {
|
|
726
|
-
farm: STABLE_VAULT_FARM,
|
|
924
|
+
farm: constants.STABLE_VAULT_FARM,
|
|
727
925
|
request: burnRequest,
|
|
728
|
-
stableVault: STABLE_VAULT,
|
|
729
|
-
usdbTreasury: this.bucketClient.treasury(tx),
|
|
730
|
-
psmPool: this.getBucketPSMPool(tx),
|
|
731
|
-
savingPool: this.getBucketSavingPool(tx),
|
|
732
|
-
yieldVault: YIELD_VAULT,
|
|
926
|
+
stableVault: constants.STABLE_VAULT,
|
|
927
|
+
usdbTreasury: await Promise.resolve(this.bucketClient.treasury(tx)),
|
|
928
|
+
psmPool: await this.getBucketPSMPool(tx),
|
|
929
|
+
savingPool: await this.getBucketSavingPool(tx),
|
|
930
|
+
yieldVault: constants.YIELD_VAULT,
|
|
733
931
|
uPrice
|
|
734
932
|
},
|
|
735
933
|
typeArguments: [
|
|
736
|
-
STABLE_LP_TYPE,
|
|
737
|
-
USDC_TYPE,
|
|
934
|
+
constants.STABLE_LP_TYPE,
|
|
935
|
+
constants.USDC_TYPE,
|
|
738
936
|
stableCoinType,
|
|
739
|
-
YUSDB_TYPE,
|
|
740
|
-
SAVING_TYPE
|
|
937
|
+
constants.YUSDB_TYPE,
|
|
938
|
+
constants.SAVING_TYPE
|
|
741
939
|
]
|
|
742
940
|
})(tx);
|
|
743
|
-
this.checkResponse({ tx, response: withdrawResponse, type: "withdraw" });
|
|
941
|
+
await this.checkResponse({ tx, response: withdrawResponse, type: "withdraw" });
|
|
744
942
|
const usdcCoin = fulfillBurn({
|
|
745
|
-
package: STABLE_LAYER_PACKAGE_ID,
|
|
943
|
+
package: constants.STABLE_LAYER_PACKAGE_ID,
|
|
746
944
|
arguments: {
|
|
747
|
-
registry: STABLE_REGISTRY,
|
|
945
|
+
registry: constants.STABLE_REGISTRY,
|
|
748
946
|
burnRequest
|
|
749
947
|
},
|
|
750
|
-
typeArguments: [stableCoinType, USDC_TYPE]
|
|
948
|
+
typeArguments: [stableCoinType, constants.USDC_TYPE]
|
|
751
949
|
})(tx);
|
|
752
950
|
if (autoTransfer) {
|
|
753
951
|
tx.transferObjects([usdcCoin], sender ?? this.sender);
|
|
@@ -763,26 +961,53 @@ var StableLayerClient = class {
|
|
|
763
961
|
autoTransfer = true
|
|
764
962
|
}) {
|
|
765
963
|
tx.setSender(sender ?? this.sender);
|
|
766
|
-
this.
|
|
964
|
+
if (this.network === "testnet") {
|
|
965
|
+
const constants2 = this.getConstants();
|
|
966
|
+
const farmRegistry = this.mockFarmRegistryId ?? constants2.MOCK_FARM_REGISTRY;
|
|
967
|
+
const pkg = this.getMockFarmPackageId();
|
|
968
|
+
if (!farmRegistry) {
|
|
969
|
+
throw new Error(
|
|
970
|
+
"buildClaimTx (testnet): missing mock farm registry (mockFarmRegistryId or MOCK_FARM_REGISTRY)."
|
|
971
|
+
);
|
|
972
|
+
}
|
|
973
|
+
const stableTag = (0, import_utils28.normalizeStructTag)(stableCoinType);
|
|
974
|
+
const usdTag = (0, import_utils28.normalizeStructTag)(constants2.USDC_TYPE);
|
|
975
|
+
const rewardCoin2 = tx.moveCall({
|
|
976
|
+
target: `${pkg}::farm::claim`,
|
|
977
|
+
typeArguments: [stableTag, usdTag],
|
|
978
|
+
arguments: [
|
|
979
|
+
tx.object(farmRegistry),
|
|
980
|
+
tx.object(constants2.STABLE_REGISTRY),
|
|
981
|
+
tx.object(import_utils28.SUI_CLOCK_OBJECT_ID)
|
|
982
|
+
]
|
|
983
|
+
});
|
|
984
|
+
if (autoTransfer) {
|
|
985
|
+
tx.transferObjects([rewardCoin2], sender ?? this.sender);
|
|
986
|
+
return;
|
|
987
|
+
}
|
|
988
|
+
return rewardCoin2;
|
|
989
|
+
}
|
|
990
|
+
await this.releaseRewards(tx);
|
|
991
|
+
const constants = this.getConstants();
|
|
767
992
|
const [rewardCoin, withdrawResponse] = claim({
|
|
768
|
-
package: STABLE_VAULT_FARM_PACKAGE_ID,
|
|
993
|
+
package: constants.STABLE_VAULT_FARM_PACKAGE_ID,
|
|
769
994
|
arguments: {
|
|
770
|
-
stableRegistry: STABLE_REGISTRY,
|
|
771
|
-
farm: STABLE_VAULT_FARM,
|
|
772
|
-
stableVault: STABLE_VAULT,
|
|
773
|
-
usdbTreasury: this.bucketClient.treasury(tx),
|
|
774
|
-
savingPool: this.getBucketSavingPool(tx),
|
|
775
|
-
yieldVault: YIELD_VAULT
|
|
995
|
+
stableRegistry: constants.STABLE_REGISTRY,
|
|
996
|
+
farm: constants.STABLE_VAULT_FARM,
|
|
997
|
+
stableVault: constants.STABLE_VAULT,
|
|
998
|
+
usdbTreasury: await Promise.resolve(this.bucketClient.treasury(tx)),
|
|
999
|
+
savingPool: await this.getBucketSavingPool(tx),
|
|
1000
|
+
yieldVault: constants.YIELD_VAULT
|
|
776
1001
|
},
|
|
777
1002
|
typeArguments: [
|
|
778
|
-
STABLE_LP_TYPE,
|
|
779
|
-
USDC_TYPE,
|
|
1003
|
+
constants.STABLE_LP_TYPE,
|
|
1004
|
+
constants.USDC_TYPE,
|
|
780
1005
|
stableCoinType,
|
|
781
|
-
YUSDB_TYPE,
|
|
782
|
-
SAVING_TYPE
|
|
1006
|
+
constants.YUSDB_TYPE,
|
|
1007
|
+
constants.SAVING_TYPE
|
|
783
1008
|
]
|
|
784
1009
|
})(tx);
|
|
785
|
-
this.checkResponse({ tx, response: withdrawResponse, type: "withdraw" });
|
|
1010
|
+
await this.checkResponse({ tx, response: withdrawResponse, type: "withdraw" });
|
|
786
1011
|
if (autoTransfer) {
|
|
787
1012
|
tx.transferObjects([rewardCoin], sender ?? this.sender);
|
|
788
1013
|
return;
|
|
@@ -790,76 +1015,153 @@ var StableLayerClient = class {
|
|
|
790
1015
|
return rewardCoin;
|
|
791
1016
|
}
|
|
792
1017
|
}
|
|
1018
|
+
async getClaimRewardUsdbAmount({
|
|
1019
|
+
stableCoinType,
|
|
1020
|
+
sender
|
|
1021
|
+
}) {
|
|
1022
|
+
const tx = new import_transactions2.Transaction();
|
|
1023
|
+
await this.buildClaimTx({
|
|
1024
|
+
tx,
|
|
1025
|
+
stableCoinType,
|
|
1026
|
+
sender,
|
|
1027
|
+
autoTransfer: true
|
|
1028
|
+
});
|
|
1029
|
+
const usdbType = this.network === "testnet" ? (0, import_utils28.normalizeStructTag)(this.mockUsdbCoinType ?? (this.getConstants().MOCK_USDB_TYPE || `${this.getMockFarmPackageId()}::usdb::USDB`)) : (0, import_utils28.normalizeStructTag)(await this.bucketClient.getUsdbCoinType());
|
|
1030
|
+
const res = await this.suiClient.simulateTransaction({
|
|
1031
|
+
transaction: tx,
|
|
1032
|
+
include: { balanceChanges: true }
|
|
1033
|
+
});
|
|
1034
|
+
if (res.$kind !== "Transaction") {
|
|
1035
|
+
throw new Error(
|
|
1036
|
+
"StableLayerClient.getClaimRewardUsdbAmount: dry-run did not succeed; cannot infer claimable USDB."
|
|
1037
|
+
);
|
|
1038
|
+
}
|
|
1039
|
+
const changes = res.Transaction?.balanceChanges ?? [];
|
|
1040
|
+
const addr = sender.toLowerCase();
|
|
1041
|
+
let sum = 0n;
|
|
1042
|
+
for (const bc of changes) {
|
|
1043
|
+
if (bc.address.toLowerCase() !== addr) continue;
|
|
1044
|
+
if ((0, import_utils28.normalizeStructTag)(bc.coinType) !== usdbType) continue;
|
|
1045
|
+
const amt = BigInt(bc.amount);
|
|
1046
|
+
if (amt > 0n) sum += amt;
|
|
1047
|
+
}
|
|
1048
|
+
return sum;
|
|
1049
|
+
}
|
|
1050
|
+
buildSetMaxSupplyTx({
|
|
1051
|
+
tx,
|
|
1052
|
+
registry,
|
|
1053
|
+
factoryCapId,
|
|
1054
|
+
maxSupply,
|
|
1055
|
+
stableCoinType,
|
|
1056
|
+
usdCoinType,
|
|
1057
|
+
sender
|
|
1058
|
+
}) {
|
|
1059
|
+
tx.setSender(sender ?? this.sender);
|
|
1060
|
+
const constants = this.getConstants();
|
|
1061
|
+
setMaxSupply({
|
|
1062
|
+
package: constants.STABLE_LAYER_PACKAGE_ID,
|
|
1063
|
+
arguments: {
|
|
1064
|
+
registry,
|
|
1065
|
+
FactoryCap: factoryCapId,
|
|
1066
|
+
maxSupply
|
|
1067
|
+
},
|
|
1068
|
+
typeArguments: [stableCoinType, usdCoinType]
|
|
1069
|
+
})(tx);
|
|
1070
|
+
}
|
|
793
1071
|
async getTotalSupply() {
|
|
1072
|
+
const constants = this.getConstants();
|
|
794
1073
|
const result = await this.suiClient.getObject({
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
showContent: true
|
|
798
|
-
}
|
|
1074
|
+
objectId: constants.STABLE_REGISTRY,
|
|
1075
|
+
include: { json: true }
|
|
799
1076
|
});
|
|
800
|
-
const
|
|
801
|
-
return
|
|
1077
|
+
const json = result.object?.json;
|
|
1078
|
+
return json?.total_supply ?? void 0;
|
|
802
1079
|
}
|
|
803
1080
|
async getTotalSupplyByCoinType(stableCoinType) {
|
|
804
|
-
const
|
|
805
|
-
|
|
1081
|
+
const TypeName3 = import_bcs24.bcs.struct("TypeName", { name: import_bcs24.bcs.string() });
|
|
1082
|
+
const nameBcs = TypeName3.serialize({ name: stableCoinType.slice(2) }).toBytes();
|
|
1083
|
+
const constants = this.getConstants();
|
|
1084
|
+
const result = await this.suiClient.core.getDynamicObjectField({
|
|
1085
|
+
parentId: constants.STABLE_REGISTRY,
|
|
806
1086
|
name: {
|
|
807
1087
|
type: "0x1::type_name::TypeName",
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
}
|
|
1088
|
+
bcs: nameBcs
|
|
1089
|
+
},
|
|
1090
|
+
include: { json: true }
|
|
812
1091
|
});
|
|
813
|
-
const
|
|
814
|
-
return
|
|
1092
|
+
const json = result.object?.json;
|
|
1093
|
+
return json?.treasury_cap?.total_supply?.value ?? void 0;
|
|
815
1094
|
}
|
|
816
|
-
getBucketSavingPool(tx) {
|
|
817
|
-
return
|
|
818
|
-
lpType: SAVING_TYPE
|
|
819
|
-
|
|
1095
|
+
async getBucketSavingPool(tx) {
|
|
1096
|
+
return Promise.resolve(
|
|
1097
|
+
this.bucketClient.savingPoolObj(tx, { lpType: this.getConstants().SAVING_TYPE })
|
|
1098
|
+
);
|
|
820
1099
|
}
|
|
821
|
-
getBucketPSMPool(tx) {
|
|
822
|
-
return
|
|
823
|
-
coinType: USDC_TYPE
|
|
824
|
-
|
|
1100
|
+
async getBucketPSMPool(tx) {
|
|
1101
|
+
return Promise.resolve(
|
|
1102
|
+
this.bucketClient.psmPoolObj(tx, { coinType: this.getConstants().USDC_TYPE })
|
|
1103
|
+
);
|
|
825
1104
|
}
|
|
826
|
-
checkResponse({
|
|
1105
|
+
async checkResponse({
|
|
827
1106
|
tx,
|
|
828
1107
|
response,
|
|
829
1108
|
type
|
|
830
1109
|
}) {
|
|
1110
|
+
const lpType = this.getConstants().SAVING_TYPE;
|
|
831
1111
|
if (type === "deposit") {
|
|
832
|
-
return
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
1112
|
+
return Promise.resolve(
|
|
1113
|
+
this.bucketClient.checkDepositResponse(tx, {
|
|
1114
|
+
lpType,
|
|
1115
|
+
depositResponse: response
|
|
1116
|
+
})
|
|
1117
|
+
);
|
|
836
1118
|
} else {
|
|
837
|
-
return
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
1119
|
+
return Promise.resolve(
|
|
1120
|
+
this.bucketClient.checkWithdrawResponse(tx, {
|
|
1121
|
+
lpType,
|
|
1122
|
+
withdrawResponse: response
|
|
1123
|
+
})
|
|
1124
|
+
);
|
|
841
1125
|
}
|
|
842
1126
|
}
|
|
843
|
-
releaseRewards(tx) {
|
|
1127
|
+
async releaseRewards(tx) {
|
|
1128
|
+
const constants = this.getConstants();
|
|
844
1129
|
const depositResponse = release({
|
|
845
|
-
package: YIELD_USDB_PACKAGE_ID,
|
|
1130
|
+
package: constants.YIELD_USDB_PACKAGE_ID,
|
|
846
1131
|
arguments: {
|
|
847
|
-
vault: YIELD_VAULT,
|
|
848
|
-
treasury: this.bucketClient.treasury(tx),
|
|
849
|
-
savingPool:
|
|
850
|
-
lpType: SAVING_TYPE
|
|
851
|
-
|
|
1132
|
+
vault: constants.YIELD_VAULT,
|
|
1133
|
+
treasury: await Promise.resolve(this.bucketClient.treasury(tx)),
|
|
1134
|
+
savingPool: await Promise.resolve(
|
|
1135
|
+
this.bucketClient.savingPoolObj(tx, { lpType: constants.SAVING_TYPE })
|
|
1136
|
+
)
|
|
852
1137
|
},
|
|
853
|
-
typeArguments: [YUSDB_TYPE, SAVING_TYPE]
|
|
1138
|
+
typeArguments: [constants.YUSDB_TYPE, constants.SAVING_TYPE]
|
|
854
1139
|
})(tx);
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
1140
|
+
await Promise.resolve(
|
|
1141
|
+
this.bucketClient.checkDepositResponse(tx, {
|
|
1142
|
+
depositResponse,
|
|
1143
|
+
lpType: constants.SAVING_TYPE
|
|
1144
|
+
})
|
|
1145
|
+
);
|
|
859
1146
|
}
|
|
860
1147
|
};
|
|
861
1148
|
// Annotate the CommonJS export names for ESM import in node:
|
|
862
1149
|
0 && (module.exports = {
|
|
863
|
-
|
|
1150
|
+
SAVING_TYPE,
|
|
1151
|
+
STABLE_LAYER_PACKAGE_ID,
|
|
1152
|
+
STABLE_LAYER_PACKAGE_MAINNET_ALT,
|
|
1153
|
+
STABLE_LP_TYPE,
|
|
1154
|
+
STABLE_REGISTRY,
|
|
1155
|
+
STABLE_REGISTRY_MAINNET_ALT,
|
|
1156
|
+
STABLE_VAULT,
|
|
1157
|
+
STABLE_VAULT_FARM,
|
|
1158
|
+
STABLE_VAULT_FARM_ENTITY_TYPE,
|
|
1159
|
+
STABLE_VAULT_FARM_PACKAGE_ID,
|
|
1160
|
+
StableLayerClient,
|
|
1161
|
+
USDC_TYPE,
|
|
1162
|
+
YIELD_USDB_PACKAGE_ID,
|
|
1163
|
+
YIELD_VAULT,
|
|
1164
|
+
YUSDB_TYPE,
|
|
1165
|
+
getConstants
|
|
864
1166
|
});
|
|
865
1167
|
//# sourceMappingURL=index.cjs.map
|