stable-layer-sdk 0.0.3 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.test.d.ts +1 -0
- package/dist/client.test.js +146 -0
- package/dist/generated/stable_layer/deps/bucket_v2_framework/liability.d.ts +11 -0
- package/dist/generated/stable_layer/deps/bucket_v2_framework/liability.js +13 -0
- package/dist/generated/stable_layer/deps/bucket_v2_framework/sheet.d.ts +57 -0
- package/dist/generated/stable_layer/deps/bucket_v2_framework/sheet.js +16 -0
- package/dist/generated/stable_layer/deps/std/type_name.d.ts +17 -0
- package/dist/generated/stable_layer/deps/std/type_name.js +19 -0
- package/dist/generated/stable_layer/deps/sui/balance.d.ts +12 -0
- package/dist/generated/stable_layer/deps/sui/balance.js +14 -0
- package/dist/generated/stable_layer/deps/sui/coin.d.ts +16 -0
- package/dist/generated/stable_layer/deps/sui/coin.js +15 -0
- package/dist/generated/stable_layer/deps/sui/object.d.ts +8 -0
- package/dist/generated/stable_layer/deps/sui/object.js +10 -0
- package/dist/generated/stable_layer/deps/sui/vec_map.d.ts +36 -0
- package/dist/generated/stable_layer/deps/sui/vec_map.js +27 -0
- package/dist/generated/stable_layer/deps/sui/vec_set.d.ts +20 -0
- package/dist/generated/stable_layer/deps/sui/vec_set.js +19 -0
- package/dist/generated/stable_layer/stable_layer.d.ts +427 -0
- package/dist/generated/stable_layer/stable_layer.js +365 -0
- package/dist/generated/stable_vault_farm/deps/bucket_v2_framework/liability.d.ts +11 -0
- package/dist/generated/stable_vault_farm/deps/bucket_v2_framework/liability.js +13 -0
- package/dist/generated/stable_vault_farm/deps/bucket_v2_framework/sheet.d.ts +57 -0
- package/dist/generated/stable_vault_farm/deps/bucket_v2_framework/sheet.js +16 -0
- package/dist/generated/stable_vault_farm/deps/std/type_name.d.ts +17 -0
- package/dist/generated/stable_vault_farm/deps/std/type_name.js +19 -0
- package/dist/generated/stable_vault_farm/deps/sui/balance.d.ts +12 -0
- package/dist/generated/stable_vault_farm/deps/sui/balance.js +14 -0
- package/dist/generated/stable_vault_farm/deps/sui/object.d.ts +8 -0
- package/dist/generated/stable_vault_farm/deps/sui/object.js +10 -0
- package/dist/generated/stable_vault_farm/deps/sui/table.d.ts +31 -0
- package/dist/generated/stable_vault_farm/deps/sui/table.js +32 -0
- package/dist/generated/stable_vault_farm/deps/sui/vec_map.d.ts +36 -0
- package/dist/generated/stable_vault_farm/deps/sui/vec_map.js +27 -0
- package/dist/generated/stable_vault_farm/deps/sui/vec_set.d.ts +20 -0
- package/dist/generated/stable_vault_farm/deps/sui/vec_set.js +19 -0
- package/dist/generated/stable_vault_farm/stable_vault_farm.d.ts +242 -0
- package/dist/generated/stable_vault_farm/stable_vault_farm.js +163 -0
- package/dist/generated/utils/index.d.ts +11 -0
- package/dist/generated/utils/index.js +131 -0
- package/dist/generated/yield_usdb/buffer.d.ts +137 -0
- package/dist/generated/yield_usdb/buffer.js +157 -0
- package/dist/generated/yield_usdb/deps/bucket_v2_framework/account.d.ts +11 -0
- package/dist/generated/yield_usdb/deps/bucket_v2_framework/account.js +12 -0
- package/dist/generated/yield_usdb/deps/bucket_v2_framework/double.d.ts +8 -0
- package/dist/generated/yield_usdb/deps/bucket_v2_framework/double.js +10 -0
- package/dist/generated/yield_usdb/deps/sui/balance.d.ts +15 -0
- package/dist/generated/yield_usdb/deps/sui/balance.js +17 -0
- package/dist/generated/yield_usdb/deps/sui/coin.d.ts +16 -0
- package/dist/generated/yield_usdb/deps/sui/coin.js +15 -0
- package/dist/generated/yield_usdb/deps/sui/object.d.ts +8 -0
- package/dist/generated/yield_usdb/deps/sui/object.js +10 -0
- package/dist/generated/yield_usdb/deps/sui/vec_set.d.ts +20 -0
- package/dist/generated/yield_usdb/deps/sui/vec_set.js +19 -0
- package/dist/generated/yield_usdb/yield_usdb.d.ts +475 -0
- package/dist/generated/yield_usdb/yield_usdb.js +444 -0
- package/dist/index.d.ts +16 -19
- package/dist/index.js +235 -30
- package/dist/interface.d.ts +25 -0
- package/dist/interface.js +1 -0
- package/dist/libs/constants.d.ts +15 -0
- package/dist/libs/constants.js +18 -0
- package/package.json +19 -4
package/dist/index.js
CHANGED
|
@@ -1,33 +1,238 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
*
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
this.
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { coinWithBalance, } from "@mysten/sui/transactions";
|
|
11
|
+
import * as constants from "./libs/constants";
|
|
12
|
+
import { BucketClient } from "@bucket-protocol/sdk";
|
|
13
|
+
import { getFullnodeUrl, SuiClient } from "@mysten/sui/client";
|
|
14
|
+
import { release } from "./generated/yield_usdb/yield_usdb";
|
|
15
|
+
import { fulfillBurn, mint, requestBurn, } from "./generated/stable_layer/stable_layer";
|
|
16
|
+
import { claim, pay, receive, } from "./generated/stable_vault_farm/stable_vault_farm";
|
|
17
|
+
import { STABLE_REGISTRY } from "./libs/constants";
|
|
18
|
+
export class StableLayerSDK {
|
|
19
|
+
constructor(config) {
|
|
20
|
+
this.bucketClient = new BucketClient({ network: config.network });
|
|
21
|
+
this.suiClient = new SuiClient({ url: getFullnodeUrl(config.network) });
|
|
22
|
+
this.sender = config.sender;
|
|
22
23
|
}
|
|
23
|
-
|
|
24
|
-
return
|
|
24
|
+
buildMintTx(_a) {
|
|
25
|
+
return __awaiter(this, arguments, void 0, function* ({ tx, coinName, amount, sender, }) {
|
|
26
|
+
tx.setSender(sender !== null && sender !== void 0 ? sender : this.sender);
|
|
27
|
+
const usdcCoin = coinWithBalance({
|
|
28
|
+
balance: amount,
|
|
29
|
+
type: constants.USDC_TYPE,
|
|
30
|
+
});
|
|
31
|
+
if (!usdcCoin) {
|
|
32
|
+
throw new Error("No USDC found");
|
|
33
|
+
}
|
|
34
|
+
const [stableCoin, loan] = mint({
|
|
35
|
+
package: constants.STABLE_LAYER_PACKAGE_ID,
|
|
36
|
+
arguments: {
|
|
37
|
+
registry: constants.STABLE_REGISTRY,
|
|
38
|
+
uCoin: usdcCoin,
|
|
39
|
+
},
|
|
40
|
+
typeArguments: [
|
|
41
|
+
constants.STABLE_COIN_TYPES[coinName],
|
|
42
|
+
constants.USDC_TYPE,
|
|
43
|
+
constants.STABLE_VAULT_FARM_ENTITY_TYPE,
|
|
44
|
+
],
|
|
45
|
+
})(tx);
|
|
46
|
+
const [uPrice] = yield this.bucketClient.aggregatePrices(tx, {
|
|
47
|
+
coinTypes: [constants.USDC_TYPE],
|
|
48
|
+
});
|
|
49
|
+
const depositResponse = receive({
|
|
50
|
+
package: constants.STABLE_VAULT_FARM_PACKAGE_ID,
|
|
51
|
+
typeArguments: [
|
|
52
|
+
constants.STABLE_LP_TYPE,
|
|
53
|
+
constants.USDC_TYPE,
|
|
54
|
+
constants.STABLE_COIN_TYPES[coinName],
|
|
55
|
+
constants.YUSDB_TYPE,
|
|
56
|
+
constants.SAVING_TYPE,
|
|
57
|
+
],
|
|
58
|
+
arguments: {
|
|
59
|
+
farm: constants.STABLE_VAULT_FARM,
|
|
60
|
+
loan,
|
|
61
|
+
stableVault: constants.STABLE_VAULT,
|
|
62
|
+
usdbTreasury: this.bucketClient.treasury(tx),
|
|
63
|
+
psmPool: this.getBucketPSMPool(tx),
|
|
64
|
+
savingPool: this.getBucketSavingPool(tx),
|
|
65
|
+
yieldVault: constants.YIELD_VAULT,
|
|
66
|
+
uPrice,
|
|
67
|
+
},
|
|
68
|
+
})(tx);
|
|
69
|
+
this.checkResponse({ tx, response: depositResponse, type: "deposit" });
|
|
70
|
+
tx.transferObjects([stableCoin], sender !== null && sender !== void 0 ? sender : this.sender);
|
|
71
|
+
return tx;
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
buildBurnTx(_a) {
|
|
75
|
+
return __awaiter(this, arguments, void 0, function* ({ tx, coinName, amount, all, sender, }) {
|
|
76
|
+
tx.setSender(sender !== null && sender !== void 0 ? sender : this.sender);
|
|
77
|
+
if (!all && !amount) {
|
|
78
|
+
throw new Error("Amount or all must be provided");
|
|
79
|
+
}
|
|
80
|
+
const btcUsdCoin = coinWithBalance({
|
|
81
|
+
balance: all
|
|
82
|
+
? BigInt((yield this.suiClient.getBalance({
|
|
83
|
+
owner: sender !== null && sender !== void 0 ? sender : this.sender,
|
|
84
|
+
coinType: constants.STABLE_COIN_TYPES[coinName],
|
|
85
|
+
})).totalBalance)
|
|
86
|
+
: amount,
|
|
87
|
+
type: constants.STABLE_COIN_TYPES[coinName],
|
|
88
|
+
})(tx);
|
|
89
|
+
if (!btcUsdCoin) {
|
|
90
|
+
throw new Error("No BTCUSD coin found");
|
|
91
|
+
}
|
|
92
|
+
this.releaseRewards(tx);
|
|
93
|
+
const burnRequest = requestBurn({
|
|
94
|
+
package: constants.STABLE_LAYER_PACKAGE_ID,
|
|
95
|
+
arguments: {
|
|
96
|
+
registry: constants.STABLE_REGISTRY,
|
|
97
|
+
stableCoin: btcUsdCoin,
|
|
98
|
+
},
|
|
99
|
+
typeArguments: [
|
|
100
|
+
constants.STABLE_COIN_TYPES[coinName],
|
|
101
|
+
constants.USDC_TYPE,
|
|
102
|
+
],
|
|
103
|
+
})(tx);
|
|
104
|
+
const [uPrice] = yield this.bucketClient.aggregatePrices(tx, {
|
|
105
|
+
coinTypes: [constants.USDC_TYPE],
|
|
106
|
+
});
|
|
107
|
+
const withdrawResponse = pay({
|
|
108
|
+
package: constants.STABLE_VAULT_FARM_PACKAGE_ID,
|
|
109
|
+
arguments: {
|
|
110
|
+
farm: constants.STABLE_VAULT_FARM,
|
|
111
|
+
request: burnRequest,
|
|
112
|
+
stableVault: constants.STABLE_VAULT,
|
|
113
|
+
usdbTreasury: this.bucketClient.treasury(tx),
|
|
114
|
+
psmPool: this.getBucketPSMPool(tx),
|
|
115
|
+
savingPool: this.getBucketSavingPool(tx),
|
|
116
|
+
yieldVault: constants.YIELD_VAULT,
|
|
117
|
+
uPrice,
|
|
118
|
+
},
|
|
119
|
+
typeArguments: [
|
|
120
|
+
constants.STABLE_LP_TYPE,
|
|
121
|
+
constants.USDC_TYPE,
|
|
122
|
+
constants.STABLE_COIN_TYPES[coinName],
|
|
123
|
+
constants.YUSDB_TYPE,
|
|
124
|
+
constants.SAVING_TYPE,
|
|
125
|
+
],
|
|
126
|
+
})(tx);
|
|
127
|
+
this.checkResponse({ tx, response: withdrawResponse, type: "withdraw" });
|
|
128
|
+
const usdcCoin = fulfillBurn({
|
|
129
|
+
package: constants.STABLE_LAYER_PACKAGE_ID,
|
|
130
|
+
arguments: {
|
|
131
|
+
registry: constants.STABLE_REGISTRY,
|
|
132
|
+
burnRequest,
|
|
133
|
+
},
|
|
134
|
+
typeArguments: [
|
|
135
|
+
constants.STABLE_COIN_TYPES[coinName],
|
|
136
|
+
constants.USDC_TYPE,
|
|
137
|
+
],
|
|
138
|
+
})(tx);
|
|
139
|
+
tx.transferObjects([usdcCoin], sender !== null && sender !== void 0 ? sender : this.sender);
|
|
140
|
+
return tx;
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
buildClaimTx(_a) {
|
|
144
|
+
return __awaiter(this, arguments, void 0, function* ({ tx, coinName, sender, }) {
|
|
145
|
+
tx.setSender(sender !== null && sender !== void 0 ? sender : this.sender);
|
|
146
|
+
this.releaseRewards(tx);
|
|
147
|
+
const [rewardCoin, withdrawResponse] = claim({
|
|
148
|
+
package: constants.STABLE_VAULT_FARM_PACKAGE_ID,
|
|
149
|
+
arguments: {
|
|
150
|
+
stableRegistry: constants.STABLE_REGISTRY,
|
|
151
|
+
farm: constants.STABLE_VAULT_FARM,
|
|
152
|
+
stableVault: constants.STABLE_VAULT,
|
|
153
|
+
usdbTreasury: this.bucketClient.treasury(tx),
|
|
154
|
+
savingPool: this.getBucketSavingPool(tx),
|
|
155
|
+
yieldVault: constants.YIELD_VAULT,
|
|
156
|
+
},
|
|
157
|
+
typeArguments: [
|
|
158
|
+
constants.STABLE_LP_TYPE,
|
|
159
|
+
constants.USDC_TYPE,
|
|
160
|
+
constants.STABLE_COIN_TYPES[coinName],
|
|
161
|
+
constants.YUSDB_TYPE,
|
|
162
|
+
constants.SAVING_TYPE,
|
|
163
|
+
],
|
|
164
|
+
})(tx);
|
|
165
|
+
this.checkResponse({ tx, response: withdrawResponse, type: "withdraw" });
|
|
166
|
+
tx.transferObjects([rewardCoin], sender !== null && sender !== void 0 ? sender : this.sender);
|
|
167
|
+
return tx;
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
getTotalSupply() {
|
|
171
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
172
|
+
var _a, _b, _c;
|
|
173
|
+
const result = yield this.suiClient.getObject({
|
|
174
|
+
id: constants.STABLE_REGISTRY,
|
|
175
|
+
options: {
|
|
176
|
+
showContent: true,
|
|
177
|
+
},
|
|
178
|
+
});
|
|
179
|
+
const content = (_a = result.data) === null || _a === void 0 ? void 0 : _a.content;
|
|
180
|
+
return BigInt((_c = (_b = content === null || content === void 0 ? void 0 : content.fields) === null || _b === void 0 ? void 0 : _b.total_supply) !== null && _c !== void 0 ? _c : "0");
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
getTotalSupplyByCoinName(coinName) {
|
|
184
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
185
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
186
|
+
const result = yield this.suiClient.getDynamicFieldObject({
|
|
187
|
+
parentId: STABLE_REGISTRY,
|
|
188
|
+
name: {
|
|
189
|
+
type: "0x1::type_name::TypeName",
|
|
190
|
+
value: constants.STABLE_COIN_TYPES[coinName],
|
|
191
|
+
},
|
|
192
|
+
});
|
|
193
|
+
const content = (_a = result.data) === null || _a === void 0 ? void 0 : _a.content;
|
|
194
|
+
return BigInt((_g = (_f = (_e = (_d = (_c = (_b = content === null || content === void 0 ? void 0 : content.fields) === null || _b === void 0 ? void 0 : _b.treasury_cap) === null || _c === void 0 ? void 0 : _c.fields) === null || _d === void 0 ? void 0 : _d.total_supply) === null || _e === void 0 ? void 0 : _e.fields) === null || _f === void 0 ? void 0 : _f.value) !== null && _g !== void 0 ? _g : BigInt(0));
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
getBucketSavingPool(tx) {
|
|
198
|
+
return this.bucketClient.savingPoolObj(tx, {
|
|
199
|
+
lpType: constants.SAVING_TYPE,
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
getBucketPSMPool(tx) {
|
|
203
|
+
return this.bucketClient.psmPoolObj(tx, {
|
|
204
|
+
coinType: constants.USDC_TYPE,
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
checkResponse({ tx, response, type, }) {
|
|
208
|
+
if (type === "deposit") {
|
|
209
|
+
return this.bucketClient.checkDepositResponse(tx, {
|
|
210
|
+
lpType: constants.SAVING_TYPE,
|
|
211
|
+
depositResponse: response,
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
return this.bucketClient.checkWithdrawResponse(tx, {
|
|
216
|
+
lpType: constants.SAVING_TYPE,
|
|
217
|
+
withdrawResponse: response,
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
releaseRewards(tx) {
|
|
222
|
+
const depositResponse = release({
|
|
223
|
+
package: constants.YIELD_USDB_PACKAGE_ID,
|
|
224
|
+
arguments: {
|
|
225
|
+
vault: constants.YIELD_VAULT,
|
|
226
|
+
treasury: this.bucketClient.treasury(tx),
|
|
227
|
+
savingPool: this.bucketClient.savingPoolObj(tx, {
|
|
228
|
+
lpType: constants.SAVING_TYPE,
|
|
229
|
+
}),
|
|
230
|
+
},
|
|
231
|
+
typeArguments: [constants.YUSDB_TYPE, constants.SAVING_TYPE],
|
|
232
|
+
})(tx);
|
|
233
|
+
this.bucketClient.checkDepositResponse(tx, {
|
|
234
|
+
depositResponse,
|
|
235
|
+
lpType: constants.SAVING_TYPE,
|
|
236
|
+
});
|
|
25
237
|
}
|
|
26
|
-
}
|
|
27
|
-
exports.Greeter = Greeter;
|
|
28
|
-
/**
|
|
29
|
-
* Get the SDK version
|
|
30
|
-
*/
|
|
31
|
-
function getVersion() {
|
|
32
|
-
return '1.0.0';
|
|
33
238
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Transaction } from "@mysten/sui/transactions";
|
|
2
|
+
import { Network } from "@bucket-protocol/sdk";
|
|
3
|
+
export interface StableLayerConfig {
|
|
4
|
+
network: Network;
|
|
5
|
+
sender: string;
|
|
6
|
+
}
|
|
7
|
+
export interface MintTransactionParams {
|
|
8
|
+
tx: Transaction;
|
|
9
|
+
coinName: StableCoinType;
|
|
10
|
+
amount: bigint;
|
|
11
|
+
sender?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface BurnTransactionParams {
|
|
14
|
+
tx: Transaction;
|
|
15
|
+
coinName: StableCoinType;
|
|
16
|
+
amount?: bigint;
|
|
17
|
+
all?: boolean;
|
|
18
|
+
sender?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface ClaimTransactionParams {
|
|
21
|
+
tx: Transaction;
|
|
22
|
+
coinName: StableCoinType;
|
|
23
|
+
sender?: string;
|
|
24
|
+
}
|
|
25
|
+
export type StableCoinType = "BTC_USD";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const STABLE_VAULT = "0x65f38160110cd6859d05f338ff54b4f462883bb6f87c667a65c0fb0e537410a7";
|
|
2
|
+
export declare const USDC_TYPE = "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC";
|
|
3
|
+
export declare const STABLE_LP_TYPE = "0xb75744fadcbfc174627567ca29645d0af8f6e6fd01b6f57c75a08cd3fb97c567::lake_usdc::LakeUSDC";
|
|
4
|
+
export declare const YUSDB_TYPE = "0xac718b4b672d7f461fe7e86847166ff9c23cadba217397f0848a95bdea1f1051::yesusdb::YesUSDB";
|
|
5
|
+
export declare const STABLE_LAYER_PACKAGE_ID = "0x41e25d09e20cf3bc43fe321e51ef178fac419ae47b783a7161982158fc9f17d6";
|
|
6
|
+
export declare const STABLE_VAULT_FARM_PACKAGE_ID = "0xd5b9fb5a964fa9c274e07a788d7b6d36d8df1c73e2e6f795f8db852621470b70";
|
|
7
|
+
export declare const SAVING_TYPE = "0x38f61c75fa8407140294c84167dd57684580b55c3066883b48dedc344b1cde1e::susdb::SUSDB";
|
|
8
|
+
export declare const YIELD_VAULT = "0x0a7f6325253157cd437812fea0ceee9a6b96f2ec5eac410da6df39558ff3a4d1";
|
|
9
|
+
export declare const STABLE_REGISTRY = "0x213f4d584c0770f455bb98c94a4ee5ea9ddbc3d4ebb98a0ad6d093eb6da41642";
|
|
10
|
+
export declare const STABLE_VAULT_FARM_ENTITY_TYPE = "0xc1025fe014b03d33b207b5afb0ba04293be87fab438c1418a26a75c2fe05c223::stable_vault_farm::StableVaultFarmEntity<0xb75744fadcbfc174627567ca29645d0af8f6e6fd01b6f57c75a08cd3fb97c567::lake_usdc::LakeUSDC, 0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC>";
|
|
11
|
+
export declare const STABLE_VAULT_FARM = "0xe958b7d102b33bf3c09addb0e2cdff102ff2c93afe407ec5c2a541e8959a650c";
|
|
12
|
+
export declare const YIELD_USDB_PACKAGE_ID = "0x203eebc39442014a1b8180f3b8ed70143dac2c5d28ba5703fe34c21052728705";
|
|
13
|
+
export declare const BTC_USD_TYPE = "0x6d9fc33611f4881a3f5c0cd4899d95a862236ce52b3a38fef039077b0c5b5834::btc_usdc::BtcUSDC";
|
|
14
|
+
export type StableCoinType = "BTC_USD";
|
|
15
|
+
export declare const STABLE_COIN_TYPES: Record<StableCoinType, string>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export const STABLE_VAULT = "0x65f38160110cd6859d05f338ff54b4f462883bb6f87c667a65c0fb0e537410a7";
|
|
2
|
+
export const USDC_TYPE = "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC";
|
|
3
|
+
export const STABLE_LP_TYPE = "0xb75744fadcbfc174627567ca29645d0af8f6e6fd01b6f57c75a08cd3fb97c567::lake_usdc::LakeUSDC";
|
|
4
|
+
export const YUSDB_TYPE = "0xac718b4b672d7f461fe7e86847166ff9c23cadba217397f0848a95bdea1f1051::yesusdb::YesUSDB";
|
|
5
|
+
export const STABLE_LAYER_PACKAGE_ID = "0x41e25d09e20cf3bc43fe321e51ef178fac419ae47b783a7161982158fc9f17d6";
|
|
6
|
+
export const STABLE_VAULT_FARM_PACKAGE_ID = "0xd5b9fb5a964fa9c274e07a788d7b6d36d8df1c73e2e6f795f8db852621470b70";
|
|
7
|
+
// Bucket Protocol dependencies
|
|
8
|
+
export const SAVING_TYPE = "0x38f61c75fa8407140294c84167dd57684580b55c3066883b48dedc344b1cde1e::susdb::SUSDB";
|
|
9
|
+
export const YIELD_VAULT = "0x0a7f6325253157cd437812fea0ceee9a6b96f2ec5eac410da6df39558ff3a4d1";
|
|
10
|
+
export const STABLE_REGISTRY = "0x213f4d584c0770f455bb98c94a4ee5ea9ddbc3d4ebb98a0ad6d093eb6da41642";
|
|
11
|
+
export const STABLE_VAULT_FARM_ENTITY_TYPE = `0xc1025fe014b03d33b207b5afb0ba04293be87fab438c1418a26a75c2fe05c223::stable_vault_farm::StableVaultFarmEntity<${STABLE_LP_TYPE}, ${USDC_TYPE}>`;
|
|
12
|
+
export const STABLE_VAULT_FARM = "0xe958b7d102b33bf3c09addb0e2cdff102ff2c93afe407ec5c2a541e8959a650c";
|
|
13
|
+
export const YIELD_USDB_PACKAGE_ID = "0x203eebc39442014a1b8180f3b8ed70143dac2c5d28ba5703fe34c21052728705";
|
|
14
|
+
// Stable Coins
|
|
15
|
+
export const BTC_USD_TYPE = "0x6d9fc33611f4881a3f5c0cd4899d95a862236ce52b3a38fef039077b0c5b5834::btc_usdc::BtcUSDC";
|
|
16
|
+
export const STABLE_COIN_TYPES = {
|
|
17
|
+
BTC_USD: BTC_USD_TYPE,
|
|
18
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stable-layer-sdk",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "A TypeScript SDK for Stable Layer",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"scripts": {
|
|
16
16
|
"build": "tsc",
|
|
17
17
|
"dev": "tsc --watch",
|
|
18
|
-
"test": "
|
|
18
|
+
"test": "vitest",
|
|
19
19
|
"prepublishOnly": "npm run build"
|
|
20
20
|
},
|
|
21
21
|
"keywords": [
|
|
@@ -28,7 +28,22 @@
|
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@tsconfig/recommended": "^1.0.3",
|
|
30
30
|
"@types/node": "^20.0.0",
|
|
31
|
-
"typescript": "^5.0.0"
|
|
31
|
+
"typescript": "^5.0.0",
|
|
32
|
+
"vitest": "^4.0.7"
|
|
32
33
|
},
|
|
33
|
-
"dependencies": {
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"@bucket-protocol/sdk": "1.0.7",
|
|
36
|
+
"@mysten/bcs": "^1.9.2",
|
|
37
|
+
"@mysten/sui": "^1.44.0"
|
|
38
|
+
},
|
|
39
|
+
"peerDependencies": {
|
|
40
|
+
"@mysten/sui": "^1.44.0"
|
|
41
|
+
},
|
|
42
|
+
"resolutions": {
|
|
43
|
+
"@mysten/sui": "^1.44.0"
|
|
44
|
+
},
|
|
45
|
+
"publishConfig": {
|
|
46
|
+
"access": "public",
|
|
47
|
+
"provenance": true
|
|
48
|
+
}
|
|
34
49
|
}
|