@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.
Files changed (28) hide show
  1. package/core/parsers/lendingMarket.d.ts +11 -8
  2. package/core/parsers/lendingMarket.js +12 -0
  3. package/core/parsers/obligation.d.ts +10 -10
  4. package/core/parsers/obligation.js +3 -2
  5. package/core/parsers/reserve.d.ts +9 -9
  6. package/core/parsers/reserve.js +3 -3
  7. package/mainnet/_generated/_dependencies/source/0x2/borrow/structs.js +6 -2
  8. package/mainnet/_generated/_dependencies/source/0x2/init.js +5 -4
  9. package/mainnet/_generated/_dependencies/source/0x2/kiosk/structs.js +3 -1
  10. package/mainnet/_generated/_dependencies/source/0x2/object/structs.js +3 -1
  11. package/mainnet/_generated/_dependencies/source/0x2/random/structs.d.ts +54 -0
  12. package/mainnet/_generated/_dependencies/source/0x2/random/structs.js +122 -1
  13. package/mainnet/_generated/_dependencies/source/0x2/token/structs.js +6 -2
  14. package/mainnet/_generated/_dependencies/source/0x2/tx-context/structs.js +3 -1
  15. package/mainnet/_generated/_dependencies/source/0x2/zklogin-verified-id/structs.js +3 -1
  16. package/mainnet/_generated/_dependencies/source/0x2/zklogin-verified-issuer/structs.js +3 -1
  17. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/transfer-fee/structs.js +3 -1
  18. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-fee-recipient/structs.js +3 -1
  19. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/state/structs.js +3 -1
  20. package/mainnet/_generated/_framework/util.js +12 -13
  21. package/mainnet/_generated/suilend/index.d.ts +1 -1
  22. package/mainnet/_generated/suilend/index.js +1 -1
  23. package/mainnet/_generated/suilend/lending-market/structs.js +84 -28
  24. package/mainnet/_generated/suilend/obligation/structs.js +6 -2
  25. package/mainnet/_generated/suilend/reserve/structs.js +12 -4
  26. package/mainnet/parsers/lendingMarket.d.ts +11 -5
  27. package/mainnet/parsers/reserve.d.ts +9 -9
  28. 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: any;
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
- mintDecimals: number;
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
- mintDecimals: number;
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: any;
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
- mintDecimals: number;
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
- mintDecimals: number;
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: any;
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
- mintDecimals: number;
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
- mintDecimals: number;
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
- const positionCount = obligation.deposits.filter((deposit) => new bignumber_js_1.default(deposit.depositedCtokenAmount.toString()).gt(0)).length +
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: any;
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
- mintDecimals: number;
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
- mintDecimals: number;
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
- mintDecimals: number;
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
- mintDecimals: number;
166
+ rewardIndex: number;
168
167
  symbol: string;
168
+ mintDecimals: number;
169
169
  } | null;
@@ -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
- mintDecimals,
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.bytes(32).transform({
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.bytes(32).transform({
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.bytes(32).transform({
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.bytes(32).transform({
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.bytes(32).transform({
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.bytes(32).transform({
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.bytes(32).transform({
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.bytes(32).transform({
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.bytes(32).transform({
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
  }),