@suilend/sdk 1.0.4 → 1.0.6
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/core/parsers/lendingMarket.d.ts +11 -8
- package/core/parsers/lendingMarket.js +12 -0
- package/core/parsers/obligation.d.ts +10 -10
- package/core/parsers/obligation.js +3 -2
- package/core/parsers/reserve.d.ts +9 -9
- package/core/parsers/reserve.js +3 -3
- package/mainnet/_generated/_dependencies/source/0x2/borrow/structs.js +6 -2
- package/mainnet/_generated/_dependencies/source/0x2/init.js +5 -4
- package/mainnet/_generated/_dependencies/source/0x2/kiosk/structs.js +3 -1
- package/mainnet/_generated/_dependencies/source/0x2/object/structs.js +3 -1
- package/mainnet/_generated/_dependencies/source/0x2/random/structs.d.ts +54 -0
- package/mainnet/_generated/_dependencies/source/0x2/random/structs.js +122 -1
- package/mainnet/_generated/_dependencies/source/0x2/token/structs.js +6 -2
- package/mainnet/_generated/_dependencies/source/0x2/tx-context/structs.js +3 -1
- package/mainnet/_generated/_dependencies/source/0x2/zklogin-verified-id/structs.js +3 -1
- package/mainnet/_generated/_dependencies/source/0x2/zklogin-verified-issuer/structs.js +3 -1
- package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/transfer-fee/structs.js +3 -1
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-fee-recipient/structs.js +3 -1
- package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/state/structs.js +3 -1
- package/mainnet/_generated/_framework/util.js +12 -13
- package/mainnet/_generated/suilend/index.d.ts +1 -1
- package/mainnet/_generated/suilend/index.js +1 -1
- package/mainnet/_generated/suilend/lending-market/structs.js +84 -28
- package/mainnet/_generated/suilend/obligation/structs.js +6 -2
- package/mainnet/_generated/suilend/reserve/structs.js +12 -4
- package/mainnet/parsers/lendingMarket.d.ts +11 -5
- package/mainnet/parsers/reserve.d.ts +9 -9
- package/package.json +1 -1
|
@@ -3,6 +3,8 @@ import BigNumber from "bignumber.js";
|
|
|
3
3
|
import { Deps } from "./deps";
|
|
4
4
|
export type ParsedLendingMarket = ReturnType<typeof parseLendingMarket>;
|
|
5
5
|
export declare const parseLendingMarket: ({ LendingMarket, Reserve, PoolRewardManager, PoolReward, simulate, RateLimiter, }: Pick<Deps, "LendingMarket" | "Reserve" | "PoolRewardManager" | "PoolReward" | "simulate" | "RateLimiter">, lendingMarket: any, reserves: any[], coinMetadataMap: Record<string, CoinMetadata>, currentTime: number) => {
|
|
6
|
+
id: any;
|
|
7
|
+
version: any;
|
|
6
8
|
reserves: {
|
|
7
9
|
config: {
|
|
8
10
|
$typeName: any;
|
|
@@ -30,7 +32,7 @@ export declare const parseLendingMarket: ({ LendingMarket, Reserve, PoolRewardMa
|
|
|
30
32
|
};
|
|
31
33
|
$typeName: any;
|
|
32
34
|
id: any;
|
|
33
|
-
arrayIndex:
|
|
35
|
+
arrayIndex: bigint;
|
|
34
36
|
coinType: string;
|
|
35
37
|
mintDecimals: any;
|
|
36
38
|
priceIdentifier: string;
|
|
@@ -53,7 +55,6 @@ export declare const parseLendingMarket: ({ LendingMarket, Reserve, PoolRewardMa
|
|
|
53
55
|
poolRewards: {
|
|
54
56
|
$typeName: any;
|
|
55
57
|
id: any;
|
|
56
|
-
rewardIndex: number;
|
|
57
58
|
poolRewardManagerId: any;
|
|
58
59
|
coinType: string;
|
|
59
60
|
startTimeMs: number;
|
|
@@ -62,8 +63,9 @@ export declare const parseLendingMarket: ({ LendingMarket, Reserve, PoolRewardMa
|
|
|
62
63
|
allocatedRewards: BigNumber;
|
|
63
64
|
cumulativeRewardsPerShare: BigNumber;
|
|
64
65
|
numUserRewardManagers: any;
|
|
65
|
-
|
|
66
|
+
rewardIndex: number;
|
|
66
67
|
symbol: string;
|
|
68
|
+
mintDecimals: number;
|
|
67
69
|
}[];
|
|
68
70
|
lastUpdateTimeMs: any;
|
|
69
71
|
};
|
|
@@ -74,7 +76,6 @@ export declare const parseLendingMarket: ({ LendingMarket, Reserve, PoolRewardMa
|
|
|
74
76
|
poolRewards: {
|
|
75
77
|
$typeName: any;
|
|
76
78
|
id: any;
|
|
77
|
-
rewardIndex: number;
|
|
78
79
|
poolRewardManagerId: any;
|
|
79
80
|
coinType: string;
|
|
80
81
|
startTimeMs: number;
|
|
@@ -83,8 +84,9 @@ export declare const parseLendingMarket: ({ LendingMarket, Reserve, PoolRewardMa
|
|
|
83
84
|
allocatedRewards: BigNumber;
|
|
84
85
|
cumulativeRewardsPerShare: BigNumber;
|
|
85
86
|
numUserRewardManagers: any;
|
|
86
|
-
|
|
87
|
+
rewardIndex: number;
|
|
87
88
|
symbol: string;
|
|
89
|
+
mintDecimals: number;
|
|
88
90
|
}[];
|
|
89
91
|
lastUpdateTimeMs: any;
|
|
90
92
|
};
|
|
@@ -102,12 +104,10 @@ export declare const parseLendingMarket: ({ LendingMarket, Reserve, PoolRewardMa
|
|
|
102
104
|
description: string;
|
|
103
105
|
totalDeposits: BigNumber;
|
|
104
106
|
}[];
|
|
107
|
+
obligations: any;
|
|
105
108
|
rateLimiter: {
|
|
106
109
|
config: {
|
|
107
110
|
windowDuration: any;
|
|
108
|
-
/**
|
|
109
|
-
* @deprecated since version 1.0.3. Use `depositedAmountUsd` instead.
|
|
110
|
-
*/
|
|
111
111
|
maxOutflow: any;
|
|
112
112
|
};
|
|
113
113
|
$typeName: any;
|
|
@@ -116,6 +116,9 @@ export declare const parseLendingMarket: ({ LendingMarket, Reserve, PoolRewardMa
|
|
|
116
116
|
curQty: any;
|
|
117
117
|
remainingOutflow: BigNumber;
|
|
118
118
|
};
|
|
119
|
+
feeReceiver: any;
|
|
120
|
+
badDebtUsd: BigNumber;
|
|
121
|
+
badDebtLimitUsd: BigNumber;
|
|
119
122
|
depositedAmountUsd: BigNumber;
|
|
120
123
|
borrowedAmountUsd: BigNumber;
|
|
121
124
|
tvlUsd: BigNumber;
|
|
@@ -8,8 +8,14 @@ const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
|
8
8
|
const rateLimiter_1 = require("./rateLimiter");
|
|
9
9
|
const reserve_1 = require("./reserve");
|
|
10
10
|
const parseLendingMarket = ({ LendingMarket, Reserve, PoolRewardManager, PoolReward, simulate, RateLimiter, }, lendingMarket, reserves, coinMetadataMap, currentTime) => {
|
|
11
|
+
const id = lendingMarket.id;
|
|
12
|
+
const version = lendingMarket.version;
|
|
11
13
|
const parsedReserves = reserves.map((reserve) => (0, reserve_1.parseReserve)({ Reserve, PoolRewardManager, PoolReward, simulate }, reserve, coinMetadataMap));
|
|
14
|
+
const obligations = lendingMarket.obligations;
|
|
12
15
|
const parsedRateLimiter = (0, rateLimiter_1.parseRateLimiter)({ RateLimiter }, lendingMarket.rateLimiter, currentTime);
|
|
16
|
+
const feeReceiver = lendingMarket.feeReceiver;
|
|
17
|
+
const badDebtUsd = new bignumber_js_1.default(lendingMarket.badDebtUsd.value.toString());
|
|
18
|
+
const badDebtLimitUsd = new bignumber_js_1.default(lendingMarket.badDebtLimitUsd.value.toString());
|
|
13
19
|
// Custom
|
|
14
20
|
let depositedAmountUsd = new bignumber_js_1.default(0);
|
|
15
21
|
let borrowedAmountUsd = new bignumber_js_1.default(0);
|
|
@@ -20,8 +26,14 @@ const parseLendingMarket = ({ LendingMarket, Reserve, PoolRewardManager, PoolRew
|
|
|
20
26
|
tvlUsd = tvlUsd.plus(parsedReserve.availableAmountUsd);
|
|
21
27
|
});
|
|
22
28
|
return {
|
|
29
|
+
id,
|
|
30
|
+
version,
|
|
23
31
|
reserves: parsedReserves,
|
|
32
|
+
obligations,
|
|
24
33
|
rateLimiter: parsedRateLimiter,
|
|
34
|
+
feeReceiver,
|
|
35
|
+
badDebtUsd,
|
|
36
|
+
badDebtLimitUsd,
|
|
25
37
|
depositedAmountUsd,
|
|
26
38
|
borrowedAmountUsd,
|
|
27
39
|
tvlUsd,
|
|
@@ -50,7 +50,7 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
|
|
|
50
50
|
};
|
|
51
51
|
$typeName: any;
|
|
52
52
|
id: any;
|
|
53
|
-
arrayIndex:
|
|
53
|
+
arrayIndex: bigint;
|
|
54
54
|
coinType: string;
|
|
55
55
|
mintDecimals: any;
|
|
56
56
|
priceIdentifier: string;
|
|
@@ -73,7 +73,6 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
|
|
|
73
73
|
poolRewards: {
|
|
74
74
|
$typeName: any;
|
|
75
75
|
id: any;
|
|
76
|
-
rewardIndex: number;
|
|
77
76
|
poolRewardManagerId: any;
|
|
78
77
|
coinType: string;
|
|
79
78
|
startTimeMs: number;
|
|
@@ -82,8 +81,9 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
|
|
|
82
81
|
allocatedRewards: BigNumber;
|
|
83
82
|
cumulativeRewardsPerShare: BigNumber;
|
|
84
83
|
numUserRewardManagers: any;
|
|
85
|
-
|
|
84
|
+
rewardIndex: number;
|
|
86
85
|
symbol: string;
|
|
86
|
+
mintDecimals: number;
|
|
87
87
|
}[];
|
|
88
88
|
lastUpdateTimeMs: any;
|
|
89
89
|
};
|
|
@@ -94,7 +94,6 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
|
|
|
94
94
|
poolRewards: {
|
|
95
95
|
$typeName: any;
|
|
96
96
|
id: any;
|
|
97
|
-
rewardIndex: number;
|
|
98
97
|
poolRewardManagerId: any;
|
|
99
98
|
coinType: string;
|
|
100
99
|
startTimeMs: number;
|
|
@@ -103,8 +102,9 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
|
|
|
103
102
|
allocatedRewards: BigNumber;
|
|
104
103
|
cumulativeRewardsPerShare: BigNumber;
|
|
105
104
|
numUserRewardManagers: any;
|
|
106
|
-
|
|
105
|
+
rewardIndex: number;
|
|
107
106
|
symbol: string;
|
|
107
|
+
mintDecimals: number;
|
|
108
108
|
}[];
|
|
109
109
|
lastUpdateTimeMs: any;
|
|
110
110
|
};
|
|
@@ -158,7 +158,7 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
|
|
|
158
158
|
};
|
|
159
159
|
$typeName: any;
|
|
160
160
|
id: any;
|
|
161
|
-
arrayIndex:
|
|
161
|
+
arrayIndex: bigint;
|
|
162
162
|
coinType: string;
|
|
163
163
|
mintDecimals: any;
|
|
164
164
|
priceIdentifier: string;
|
|
@@ -181,7 +181,6 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
|
|
|
181
181
|
poolRewards: {
|
|
182
182
|
$typeName: any;
|
|
183
183
|
id: any;
|
|
184
|
-
rewardIndex: number;
|
|
185
184
|
poolRewardManagerId: any;
|
|
186
185
|
coinType: string;
|
|
187
186
|
startTimeMs: number;
|
|
@@ -190,8 +189,9 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
|
|
|
190
189
|
allocatedRewards: BigNumber;
|
|
191
190
|
cumulativeRewardsPerShare: BigNumber;
|
|
192
191
|
numUserRewardManagers: any;
|
|
193
|
-
|
|
192
|
+
rewardIndex: number;
|
|
194
193
|
symbol: string;
|
|
194
|
+
mintDecimals: number;
|
|
195
195
|
}[];
|
|
196
196
|
lastUpdateTimeMs: any;
|
|
197
197
|
};
|
|
@@ -202,7 +202,6 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
|
|
|
202
202
|
poolRewards: {
|
|
203
203
|
$typeName: any;
|
|
204
204
|
id: any;
|
|
205
|
-
rewardIndex: number;
|
|
206
205
|
poolRewardManagerId: any;
|
|
207
206
|
coinType: string;
|
|
208
207
|
startTimeMs: number;
|
|
@@ -211,8 +210,9 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
|
|
|
211
210
|
allocatedRewards: BigNumber;
|
|
212
211
|
cumulativeRewardsPerShare: BigNumber;
|
|
213
212
|
numUserRewardManagers: any;
|
|
214
|
-
|
|
213
|
+
rewardIndex: number;
|
|
215
214
|
symbol: string;
|
|
215
|
+
mintDecimals: number;
|
|
216
216
|
}[];
|
|
217
217
|
lastUpdateTimeMs: any;
|
|
218
218
|
};
|
|
@@ -15,13 +15,13 @@ const parseObligation = ({ Obligation }, obligation, parsedReserveMap) => {
|
|
|
15
15
|
let borrowLimitUsd = new bignumber_js_1.default(0);
|
|
16
16
|
let minPriceBorrowLimitUsd = new bignumber_js_1.default(0);
|
|
17
17
|
let unhealthyBorrowValueUsd = new bignumber_js_1.default(0);
|
|
18
|
-
|
|
19
|
-
obligation.borrows.filter((borrow) => new bignumber_js_1.default(borrow.borrowedAmount.value.toString()).gt(0)).length;
|
|
18
|
+
let positionCount = 0;
|
|
20
19
|
const deposits = obligation.deposits.map((deposit) => {
|
|
21
20
|
const coinType = (0, utils_1.normalizeStructTag)(deposit.coinType.name);
|
|
22
21
|
const reserve = parsedReserveMap[coinType];
|
|
23
22
|
if (!reserve)
|
|
24
23
|
throw new Error(`Reserve with coinType ${deposit.coinType.name} not found`);
|
|
24
|
+
positionCount++;
|
|
25
25
|
const depositedCtokenAmount = new bignumber_js_1.default(deposit.depositedCtokenAmount.toString()).div(10 ** reserve.mintDecimals);
|
|
26
26
|
const depositedAmount = depositedCtokenAmount.times(reserve.cTokenExchangeRate);
|
|
27
27
|
const depositedAmountUsd = depositedAmount.times(reserve.price);
|
|
@@ -50,6 +50,7 @@ const parseObligation = ({ Obligation }, obligation, parsedReserveMap) => {
|
|
|
50
50
|
const reserve = parsedReserveMap[coinType];
|
|
51
51
|
if (!reserve)
|
|
52
52
|
throw new Error(`Reserve with coinType ${borrow.coinType.name} not found`);
|
|
53
|
+
positionCount++;
|
|
53
54
|
const cumulativeBorrowRate = new bignumber_js_1.default(borrow.cumulativeBorrowRate.value.toString()).div(constants_1.WAD.toString());
|
|
54
55
|
const borrowedAmountInitial = new bignumber_js_1.default(borrow.borrowedAmount.value.toString())
|
|
55
56
|
.div(constants_1.WAD.toString())
|
|
@@ -32,7 +32,7 @@ export declare const parseReserve: ({ Reserve, PoolRewardManager, PoolReward, si
|
|
|
32
32
|
};
|
|
33
33
|
$typeName: any;
|
|
34
34
|
id: any;
|
|
35
|
-
arrayIndex:
|
|
35
|
+
arrayIndex: bigint;
|
|
36
36
|
coinType: string;
|
|
37
37
|
mintDecimals: any;
|
|
38
38
|
priceIdentifier: string;
|
|
@@ -55,7 +55,6 @@ export declare const parseReserve: ({ Reserve, PoolRewardManager, PoolReward, si
|
|
|
55
55
|
poolRewards: {
|
|
56
56
|
$typeName: any;
|
|
57
57
|
id: any;
|
|
58
|
-
rewardIndex: number;
|
|
59
58
|
poolRewardManagerId: any;
|
|
60
59
|
coinType: string;
|
|
61
60
|
startTimeMs: number;
|
|
@@ -64,8 +63,9 @@ export declare const parseReserve: ({ Reserve, PoolRewardManager, PoolReward, si
|
|
|
64
63
|
allocatedRewards: BigNumber;
|
|
65
64
|
cumulativeRewardsPerShare: BigNumber;
|
|
66
65
|
numUserRewardManagers: any;
|
|
67
|
-
|
|
66
|
+
rewardIndex: number;
|
|
68
67
|
symbol: string;
|
|
68
|
+
mintDecimals: number;
|
|
69
69
|
}[];
|
|
70
70
|
lastUpdateTimeMs: any;
|
|
71
71
|
};
|
|
@@ -76,7 +76,6 @@ export declare const parseReserve: ({ Reserve, PoolRewardManager, PoolReward, si
|
|
|
76
76
|
poolRewards: {
|
|
77
77
|
$typeName: any;
|
|
78
78
|
id: any;
|
|
79
|
-
rewardIndex: number;
|
|
80
79
|
poolRewardManagerId: any;
|
|
81
80
|
coinType: string;
|
|
82
81
|
startTimeMs: number;
|
|
@@ -85,8 +84,9 @@ export declare const parseReserve: ({ Reserve, PoolRewardManager, PoolReward, si
|
|
|
85
84
|
allocatedRewards: BigNumber;
|
|
86
85
|
cumulativeRewardsPerShare: BigNumber;
|
|
87
86
|
numUserRewardManagers: any;
|
|
88
|
-
|
|
87
|
+
rewardIndex: number;
|
|
89
88
|
symbol: string;
|
|
89
|
+
mintDecimals: number;
|
|
90
90
|
}[];
|
|
91
91
|
lastUpdateTimeMs: any;
|
|
92
92
|
};
|
|
@@ -138,7 +138,6 @@ export declare const parsePoolRewardManager: ({ PoolRewardManager, PoolReward, }
|
|
|
138
138
|
poolRewards: {
|
|
139
139
|
$typeName: any;
|
|
140
140
|
id: any;
|
|
141
|
-
rewardIndex: number;
|
|
142
141
|
poolRewardManagerId: any;
|
|
143
142
|
coinType: string;
|
|
144
143
|
startTimeMs: number;
|
|
@@ -147,15 +146,15 @@ export declare const parsePoolRewardManager: ({ PoolRewardManager, PoolReward, }
|
|
|
147
146
|
allocatedRewards: BigNumber;
|
|
148
147
|
cumulativeRewardsPerShare: BigNumber;
|
|
149
148
|
numUserRewardManagers: any;
|
|
150
|
-
|
|
149
|
+
rewardIndex: number;
|
|
151
150
|
symbol: string;
|
|
151
|
+
mintDecimals: number;
|
|
152
152
|
}[];
|
|
153
153
|
lastUpdateTimeMs: any;
|
|
154
154
|
};
|
|
155
155
|
export declare const parsePoolReward: ({ PoolReward }: Pick<Deps, "PoolReward">, poolReward: any, rewardIndex: number, coinMetadataMap: Record<string, CoinMetadata>) => {
|
|
156
156
|
$typeName: any;
|
|
157
157
|
id: any;
|
|
158
|
-
rewardIndex: number;
|
|
159
158
|
poolRewardManagerId: any;
|
|
160
159
|
coinType: string;
|
|
161
160
|
startTimeMs: number;
|
|
@@ -164,6 +163,7 @@ export declare const parsePoolReward: ({ PoolReward }: Pick<Deps, "PoolReward">,
|
|
|
164
163
|
allocatedRewards: BigNumber;
|
|
165
164
|
cumulativeRewardsPerShare: BigNumber;
|
|
166
165
|
numUserRewardManagers: any;
|
|
167
|
-
|
|
166
|
+
rewardIndex: number;
|
|
168
167
|
symbol: string;
|
|
168
|
+
mintDecimals: number;
|
|
169
169
|
} | null;
|
package/core/parsers/reserve.js
CHANGED
|
@@ -13,7 +13,7 @@ const parseReserve = ({ Reserve, PoolRewardManager, PoolReward, simulate, }, res
|
|
|
13
13
|
const config = (0, exports.parseReserveConfig)({ Reserve }, reserve);
|
|
14
14
|
const $typeName = reserve.$typeName;
|
|
15
15
|
const id = reserve.id;
|
|
16
|
-
const arrayIndex = reserve.arrayIndex;
|
|
16
|
+
const arrayIndex = BigInt(reserve.arrayIndex);
|
|
17
17
|
const coinType = (0, utils_1.normalizeStructTag)(reserve.coinType.name);
|
|
18
18
|
const coinMetadata = coinMetadataMap[coinType];
|
|
19
19
|
const mintDecimals = reserve.mintDecimals;
|
|
@@ -188,7 +188,6 @@ const parsePoolReward = ({ PoolReward }, poolReward, rewardIndex, coinMetadataMa
|
|
|
188
188
|
return {
|
|
189
189
|
$typeName,
|
|
190
190
|
id,
|
|
191
|
-
rewardIndex,
|
|
192
191
|
poolRewardManagerId,
|
|
193
192
|
coinType,
|
|
194
193
|
startTimeMs,
|
|
@@ -197,8 +196,9 @@ const parsePoolReward = ({ PoolReward }, poolReward, rewardIndex, coinMetadataMa
|
|
|
197
196
|
allocatedRewards,
|
|
198
197
|
cumulativeRewardsPerShare,
|
|
199
198
|
numUserRewardManagers,
|
|
200
|
-
|
|
199
|
+
rewardIndex,
|
|
201
200
|
symbol,
|
|
201
|
+
mintDecimals,
|
|
202
202
|
};
|
|
203
203
|
};
|
|
204
204
|
exports.parsePoolReward = parsePoolReward;
|
|
@@ -60,7 +60,9 @@ class Borrow {
|
|
|
60
60
|
}
|
|
61
61
|
static get bcs() {
|
|
62
62
|
return bcs_1.bcs.struct("Borrow", {
|
|
63
|
-
ref: bcs_1.bcs
|
|
63
|
+
ref: bcs_1.bcs
|
|
64
|
+
.bytes(32)
|
|
65
|
+
.transform({
|
|
64
66
|
input: (val) => (0, bcs_1.fromHEX)(val),
|
|
65
67
|
output: (val) => (0, bcs_1.toHEX)(val),
|
|
66
68
|
}),
|
|
@@ -178,7 +180,9 @@ class Referent {
|
|
|
178
180
|
}
|
|
179
181
|
static get bcs() {
|
|
180
182
|
return (T) => bcs_1.bcs.struct(`Referent<${T.name}>`, {
|
|
181
|
-
id: bcs_1.bcs
|
|
183
|
+
id: bcs_1.bcs
|
|
184
|
+
.bytes(32)
|
|
185
|
+
.transform({
|
|
182
186
|
input: (val) => (0, bcs_1.fromHEX)(val),
|
|
183
187
|
output: (val) => (0, bcs_1.toHEX)(val),
|
|
184
188
|
}),
|
|
@@ -61,6 +61,10 @@ const versioned = __importStar(require("./versioned/structs"));
|
|
|
61
61
|
const zkloginVerifiedId = __importStar(require("./zklogin-verified-id/structs"));
|
|
62
62
|
const zkloginVerifiedIssuer = __importStar(require("./zklogin-verified-issuer/structs"));
|
|
63
63
|
function registerClasses(loader) {
|
|
64
|
+
loader.register(groth16.Curve);
|
|
65
|
+
loader.register(groth16.PreparedVerifyingKey);
|
|
66
|
+
loader.register(groth16.ProofPoints);
|
|
67
|
+
loader.register(groth16.PublicProofInputs);
|
|
64
68
|
loader.register(txContext.TxContext);
|
|
65
69
|
loader.register(object.ID);
|
|
66
70
|
loader.register(object.UID);
|
|
@@ -104,10 +108,6 @@ function registerClasses(loader) {
|
|
|
104
108
|
loader.register(display.DisplayCreated);
|
|
105
109
|
loader.register(display.VersionUpdated);
|
|
106
110
|
loader.register(dynamicObjectField.Wrapper);
|
|
107
|
-
loader.register(groth16.Curve);
|
|
108
|
-
loader.register(groth16.PreparedVerifyingKey);
|
|
109
|
-
loader.register(groth16.ProofPoints);
|
|
110
|
-
loader.register(groth16.PublicProofInputs);
|
|
111
111
|
loader.register(sui.SUI);
|
|
112
112
|
loader.register(transferPolicy.RuleKey);
|
|
113
113
|
loader.register(transferPolicy.TransferPolicy);
|
|
@@ -136,6 +136,7 @@ function registerClasses(loader) {
|
|
|
136
136
|
loader.register(versioned.VersionChangeCap);
|
|
137
137
|
loader.register(versioned.Versioned);
|
|
138
138
|
loader.register(random.Random);
|
|
139
|
+
loader.register(random.RandomGenerator);
|
|
139
140
|
loader.register(random.RandomInner);
|
|
140
141
|
loader.register(tableVec.TableVec);
|
|
141
142
|
loader.register(token.RuleKey);
|
|
@@ -677,7 +677,9 @@ class Kiosk {
|
|
|
677
677
|
return bcs_1.bcs.struct("Kiosk", {
|
|
678
678
|
id: structs_2.UID.bcs,
|
|
679
679
|
profits: structs_1.Balance.bcs,
|
|
680
|
-
owner: bcs_1.bcs
|
|
680
|
+
owner: bcs_1.bcs
|
|
681
|
+
.bytes(32)
|
|
682
|
+
.transform({
|
|
681
683
|
input: (val) => (0, bcs_1.fromHEX)(val),
|
|
682
684
|
output: (val) => (0, bcs_1.toHEX)(val),
|
|
683
685
|
}),
|
|
@@ -57,7 +57,9 @@ class ID {
|
|
|
57
57
|
}
|
|
58
58
|
static get bcs() {
|
|
59
59
|
return bcs_1.bcs.struct("ID", {
|
|
60
|
-
bytes: bcs_1.bcs
|
|
60
|
+
bytes: bcs_1.bcs
|
|
61
|
+
.bytes(32)
|
|
62
|
+
.transform({
|
|
61
63
|
input: (val) => (0, bcs_1.fromHEX)(val),
|
|
62
64
|
output: (val) => (0, bcs_1.toHEX)(val),
|
|
63
65
|
}),
|
|
@@ -76,6 +76,60 @@ export declare class Random implements StructClass {
|
|
|
76
76
|
static fromSuiParsedData(content: SuiParsedData): Random;
|
|
77
77
|
static fetch(client: SuiClient, id: string): Promise<Random>;
|
|
78
78
|
}
|
|
79
|
+
export declare function isRandomGenerator(type: string): boolean;
|
|
80
|
+
export interface RandomGeneratorFields {
|
|
81
|
+
seed: ToField<Vector<"u8">>;
|
|
82
|
+
counter: ToField<"u16">;
|
|
83
|
+
buffer: ToField<Vector<"u8">>;
|
|
84
|
+
}
|
|
85
|
+
export type RandomGeneratorReified = Reified<RandomGenerator, RandomGeneratorFields>;
|
|
86
|
+
export declare class RandomGenerator implements StructClass {
|
|
87
|
+
static readonly $typeName = "0x2::random::RandomGenerator";
|
|
88
|
+
static readonly $numTypeParams = 0;
|
|
89
|
+
readonly $typeName = "0x2::random::RandomGenerator";
|
|
90
|
+
readonly $fullTypeName: "0x2::random::RandomGenerator";
|
|
91
|
+
readonly $typeArgs: [];
|
|
92
|
+
readonly seed: ToField<Vector<"u8">>;
|
|
93
|
+
readonly counter: ToField<"u16">;
|
|
94
|
+
readonly buffer: ToField<Vector<"u8">>;
|
|
95
|
+
private constructor();
|
|
96
|
+
static reified(): RandomGeneratorReified;
|
|
97
|
+
static get r(): reified.StructClassReified<RandomGenerator, RandomGeneratorFields>;
|
|
98
|
+
static phantom(): PhantomReified<ToTypeStr<RandomGenerator>>;
|
|
99
|
+
static get p(): reified.PhantomReified<"0x2::random::RandomGenerator">;
|
|
100
|
+
static get bcs(): import("@mysten/bcs").BcsType<{
|
|
101
|
+
seed: number[];
|
|
102
|
+
counter: number;
|
|
103
|
+
buffer: number[];
|
|
104
|
+
}, {
|
|
105
|
+
seed: Iterable<number> & {
|
|
106
|
+
length: number;
|
|
107
|
+
};
|
|
108
|
+
counter: number;
|
|
109
|
+
buffer: Iterable<number> & {
|
|
110
|
+
length: number;
|
|
111
|
+
};
|
|
112
|
+
}>;
|
|
113
|
+
static fromFields(fields: Record<string, any>): RandomGenerator;
|
|
114
|
+
static fromFieldsWithTypes(item: FieldsWithTypes): RandomGenerator;
|
|
115
|
+
static fromBcs(data: Uint8Array): RandomGenerator;
|
|
116
|
+
toJSONField(): {
|
|
117
|
+
seed: number[];
|
|
118
|
+
counter: number;
|
|
119
|
+
buffer: number[];
|
|
120
|
+
};
|
|
121
|
+
toJSON(): {
|
|
122
|
+
seed: number[];
|
|
123
|
+
counter: number;
|
|
124
|
+
buffer: number[];
|
|
125
|
+
$typeName: string;
|
|
126
|
+
$typeArgs: [];
|
|
127
|
+
};
|
|
128
|
+
static fromJSONField(field: any): RandomGenerator;
|
|
129
|
+
static fromJSON(json: Record<string, any>): RandomGenerator;
|
|
130
|
+
static fromSuiParsedData(content: SuiParsedData): RandomGenerator;
|
|
131
|
+
static fetch(client: SuiClient, id: string): Promise<RandomGenerator>;
|
|
132
|
+
}
|
|
79
133
|
export declare function isRandomInner(type: string): boolean;
|
|
80
134
|
export interface RandomInnerFields {
|
|
81
135
|
version: ToField<"u64">;
|
|
@@ -32,7 +32,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
32
32
|
});
|
|
33
33
|
};
|
|
34
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
-
exports.RandomInner = exports.isRandomInner = exports.Random = exports.isRandom = void 0;
|
|
35
|
+
exports.RandomInner = exports.isRandomInner = exports.RandomGenerator = exports.isRandomGenerator = exports.Random = exports.isRandom = void 0;
|
|
36
36
|
const reified = __importStar(require("../../../../_framework/reified"));
|
|
37
37
|
const reified_1 = require("../../../../_framework/reified");
|
|
38
38
|
const util_1 = require("../../../../_framework/util");
|
|
@@ -154,6 +154,127 @@ class Random {
|
|
|
154
154
|
exports.Random = Random;
|
|
155
155
|
Random.$typeName = "0x2::random::Random";
|
|
156
156
|
Random.$numTypeParams = 0;
|
|
157
|
+
/* ============================== RandomGenerator =============================== */
|
|
158
|
+
function isRandomGenerator(type) {
|
|
159
|
+
type = (0, util_1.compressSuiType)(type);
|
|
160
|
+
return type === "0x2::random::RandomGenerator";
|
|
161
|
+
}
|
|
162
|
+
exports.isRandomGenerator = isRandomGenerator;
|
|
163
|
+
class RandomGenerator {
|
|
164
|
+
constructor(typeArgs, fields) {
|
|
165
|
+
this.$typeName = RandomGenerator.$typeName;
|
|
166
|
+
this.$fullTypeName = (0, util_1.composeSuiType)(RandomGenerator.$typeName, ...typeArgs);
|
|
167
|
+
this.$typeArgs = typeArgs;
|
|
168
|
+
this.seed = fields.seed;
|
|
169
|
+
this.counter = fields.counter;
|
|
170
|
+
this.buffer = fields.buffer;
|
|
171
|
+
}
|
|
172
|
+
static reified() {
|
|
173
|
+
return {
|
|
174
|
+
typeName: RandomGenerator.$typeName,
|
|
175
|
+
fullTypeName: (0, util_1.composeSuiType)(RandomGenerator.$typeName, ...[]),
|
|
176
|
+
typeArgs: [],
|
|
177
|
+
reifiedTypeArgs: [],
|
|
178
|
+
fromFields: (fields) => RandomGenerator.fromFields(fields),
|
|
179
|
+
fromFieldsWithTypes: (item) => RandomGenerator.fromFieldsWithTypes(item),
|
|
180
|
+
fromBcs: (data) => RandomGenerator.fromBcs(data),
|
|
181
|
+
bcs: RandomGenerator.bcs,
|
|
182
|
+
fromJSONField: (field) => RandomGenerator.fromJSONField(field),
|
|
183
|
+
fromJSON: (json) => RandomGenerator.fromJSON(json),
|
|
184
|
+
fromSuiParsedData: (content) => RandomGenerator.fromSuiParsedData(content),
|
|
185
|
+
fetch: (client, id) => __awaiter(this, void 0, void 0, function* () { return RandomGenerator.fetch(client, id); }),
|
|
186
|
+
new: (fields) => {
|
|
187
|
+
return new RandomGenerator([], fields);
|
|
188
|
+
},
|
|
189
|
+
kind: "StructClassReified",
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
static get r() {
|
|
193
|
+
return RandomGenerator.reified();
|
|
194
|
+
}
|
|
195
|
+
static phantom() {
|
|
196
|
+
return (0, reified_1.phantom)(RandomGenerator.reified());
|
|
197
|
+
}
|
|
198
|
+
static get p() {
|
|
199
|
+
return RandomGenerator.phantom();
|
|
200
|
+
}
|
|
201
|
+
static get bcs() {
|
|
202
|
+
return bcs_1.bcs.struct("RandomGenerator", {
|
|
203
|
+
seed: bcs_1.bcs.vector(bcs_1.bcs.u8()),
|
|
204
|
+
counter: bcs_1.bcs.u16(),
|
|
205
|
+
buffer: bcs_1.bcs.vector(bcs_1.bcs.u8()),
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
static fromFields(fields) {
|
|
209
|
+
return RandomGenerator.reified().new({
|
|
210
|
+
seed: (0, reified_1.decodeFromFields)(reified.vector("u8"), fields.seed),
|
|
211
|
+
counter: (0, reified_1.decodeFromFields)("u16", fields.counter),
|
|
212
|
+
buffer: (0, reified_1.decodeFromFields)(reified.vector("u8"), fields.buffer),
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
static fromFieldsWithTypes(item) {
|
|
216
|
+
if (!isRandomGenerator(item.type)) {
|
|
217
|
+
throw new Error("not a RandomGenerator type");
|
|
218
|
+
}
|
|
219
|
+
return RandomGenerator.reified().new({
|
|
220
|
+
seed: (0, reified_1.decodeFromFieldsWithTypes)(reified.vector("u8"), item.fields.seed),
|
|
221
|
+
counter: (0, reified_1.decodeFromFieldsWithTypes)("u16", item.fields.counter),
|
|
222
|
+
buffer: (0, reified_1.decodeFromFieldsWithTypes)(reified.vector("u8"), item.fields.buffer),
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
static fromBcs(data) {
|
|
226
|
+
return RandomGenerator.fromFields(RandomGenerator.bcs.parse(data));
|
|
227
|
+
}
|
|
228
|
+
toJSONField() {
|
|
229
|
+
return {
|
|
230
|
+
seed: (0, reified_1.fieldToJSON)(`vector<u8>`, this.seed),
|
|
231
|
+
counter: this.counter,
|
|
232
|
+
buffer: (0, reified_1.fieldToJSON)(`vector<u8>`, this.buffer),
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
toJSON() {
|
|
236
|
+
return Object.assign({ $typeName: this.$typeName, $typeArgs: this.$typeArgs }, this.toJSONField());
|
|
237
|
+
}
|
|
238
|
+
static fromJSONField(field) {
|
|
239
|
+
return RandomGenerator.reified().new({
|
|
240
|
+
seed: (0, reified_1.decodeFromJSONField)(reified.vector("u8"), field.seed),
|
|
241
|
+
counter: (0, reified_1.decodeFromJSONField)("u16", field.counter),
|
|
242
|
+
buffer: (0, reified_1.decodeFromJSONField)(reified.vector("u8"), field.buffer),
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
static fromJSON(json) {
|
|
246
|
+
if (json.$typeName !== RandomGenerator.$typeName) {
|
|
247
|
+
throw new Error("not a WithTwoGenerics json object");
|
|
248
|
+
}
|
|
249
|
+
return RandomGenerator.fromJSONField(json);
|
|
250
|
+
}
|
|
251
|
+
static fromSuiParsedData(content) {
|
|
252
|
+
if (content.dataType !== "moveObject") {
|
|
253
|
+
throw new Error("not an object");
|
|
254
|
+
}
|
|
255
|
+
if (!isRandomGenerator(content.type)) {
|
|
256
|
+
throw new Error(`object at ${content.fields.id} is not a RandomGenerator object`);
|
|
257
|
+
}
|
|
258
|
+
return RandomGenerator.fromFieldsWithTypes(content);
|
|
259
|
+
}
|
|
260
|
+
static fetch(client, id) {
|
|
261
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
262
|
+
var _a, _b;
|
|
263
|
+
const res = yield client.getObject({ id, options: { showBcs: true } });
|
|
264
|
+
if (res.error) {
|
|
265
|
+
throw new Error(`error fetching RandomGenerator object at id ${id}: ${res.error.code}`);
|
|
266
|
+
}
|
|
267
|
+
if (((_b = (_a = res.data) === null || _a === void 0 ? void 0 : _a.bcs) === null || _b === void 0 ? void 0 : _b.dataType) !== "moveObject" ||
|
|
268
|
+
!isRandomGenerator(res.data.bcs.type)) {
|
|
269
|
+
throw new Error(`object at id ${id} is not a RandomGenerator object`);
|
|
270
|
+
}
|
|
271
|
+
return RandomGenerator.fromBcs((0, bcs_1.fromB64)(res.data.bcs.bcsBytes));
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
exports.RandomGenerator = RandomGenerator;
|
|
276
|
+
RandomGenerator.$typeName = "0x2::random::RandomGenerator";
|
|
277
|
+
RandomGenerator.$numTypeParams = 0;
|
|
157
278
|
/* ============================== RandomInner =============================== */
|
|
158
279
|
function isRandomInner(type) {
|
|
159
280
|
type = (0, util_1.compressSuiType)(type);
|
|
@@ -182,11 +182,15 @@ class ActionRequest {
|
|
|
182
182
|
return bcs_1.bcs.struct("ActionRequest", {
|
|
183
183
|
name: structs_2.String.bcs,
|
|
184
184
|
amount: bcs_1.bcs.u64(),
|
|
185
|
-
sender: bcs_1.bcs
|
|
185
|
+
sender: bcs_1.bcs
|
|
186
|
+
.bytes(32)
|
|
187
|
+
.transform({
|
|
186
188
|
input: (val) => (0, bcs_1.fromHEX)(val),
|
|
187
189
|
output: (val) => (0, bcs_1.toHEX)(val),
|
|
188
190
|
}),
|
|
189
|
-
recipient: structs_1.Option.bcs(bcs_1.bcs
|
|
191
|
+
recipient: structs_1.Option.bcs(bcs_1.bcs
|
|
192
|
+
.bytes(32)
|
|
193
|
+
.transform({
|
|
190
194
|
input: (val) => (0, bcs_1.fromHEX)(val),
|
|
191
195
|
output: (val) => (0, bcs_1.toHEX)(val),
|
|
192
196
|
})),
|
|
@@ -85,7 +85,9 @@ class TxContext {
|
|
|
85
85
|
}
|
|
86
86
|
static get bcs() {
|
|
87
87
|
return bcs_1.bcs.struct("TxContext", {
|
|
88
|
-
sender: bcs_1.bcs
|
|
88
|
+
sender: bcs_1.bcs
|
|
89
|
+
.bytes(32)
|
|
90
|
+
.transform({
|
|
89
91
|
input: (val) => (0, bcs_1.fromHEX)(val),
|
|
90
92
|
output: (val) => (0, bcs_1.toHEX)(val),
|
|
91
93
|
}),
|
|
@@ -65,7 +65,9 @@ class VerifiedID {
|
|
|
65
65
|
static get bcs() {
|
|
66
66
|
return bcs_1.bcs.struct("VerifiedID", {
|
|
67
67
|
id: structs_2.UID.bcs,
|
|
68
|
-
owner: bcs_1.bcs
|
|
68
|
+
owner: bcs_1.bcs
|
|
69
|
+
.bytes(32)
|
|
70
|
+
.transform({
|
|
69
71
|
input: (val) => (0, bcs_1.fromHEX)(val),
|
|
70
72
|
output: (val) => (0, bcs_1.toHEX)(val),
|
|
71
73
|
}),
|
|
@@ -62,7 +62,9 @@ class VerifiedIssuer {
|
|
|
62
62
|
static get bcs() {
|
|
63
63
|
return bcs_1.bcs.struct("VerifiedIssuer", {
|
|
64
64
|
id: structs_2.UID.bcs,
|
|
65
|
-
owner: bcs_1.bcs
|
|
65
|
+
owner: bcs_1.bcs
|
|
66
|
+
.bytes(32)
|
|
67
|
+
.transform({
|
|
66
68
|
input: (val) => (0, bcs_1.fromHEX)(val),
|
|
67
69
|
output: (val) => (0, bcs_1.toHEX)(val),
|
|
68
70
|
}),
|