@suilend/sdk 12.7.0 → 13.0.0-next.g122801a

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 (86) hide show
  1. package/_generated/_dependencies/pyth-2/price-identifier/structs.d.ts +46 -0
  2. package/_generated/_dependencies/{source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e → pyth-2}/price-identifier/structs.js +45 -25
  3. package/_generated/_dependencies/std/ascii/structs.d.ts +100 -0
  4. package/_generated/_dependencies/{source/0x1 → std}/ascii/structs.js +153 -103
  5. package/_generated/_dependencies/{source/0x1 → std}/option/structs.d.ts +29 -21
  6. package/_generated/_dependencies/std/option/structs.js +155 -0
  7. package/_generated/_dependencies/std/type-name/structs.d.ts +65 -0
  8. package/_generated/_dependencies/{source/0x1 → std}/type-name/structs.js +49 -22
  9. package/_generated/_dependencies/sui/bag/structs.d.ts +75 -0
  10. package/_generated/_dependencies/sui/bag/structs.js +154 -0
  11. package/_generated/_dependencies/{source/0x2 → sui}/balance/structs.d.ts +80 -60
  12. package/_generated/_dependencies/sui/balance/structs.js +306 -0
  13. package/_generated/_dependencies/sui/object/structs.d.ts +104 -0
  14. package/_generated/_dependencies/{source/0x2 → sui}/object/structs.js +98 -46
  15. package/_generated/_dependencies/{source/0x2 → sui}/object-table/structs.d.ts +37 -30
  16. package/_generated/_dependencies/sui/object-table/structs.js +164 -0
  17. package/_generated/_envs/index.d.ts +3 -0
  18. package/_generated/_envs/index.js +18 -0
  19. package/_generated/_envs/mainnet.d.ts +2 -0
  20. package/_generated/_envs/mainnet.js +490 -0
  21. package/_generated/_framework/env.d.ts +137 -0
  22. package/_generated/_framework/env.js +261 -0
  23. package/_generated/_framework/reified.d.ts +68 -36
  24. package/_generated/_framework/reified.js +110 -98
  25. package/_generated/_framework/util.d.ts +4 -4
  26. package/_generated/_framework/util.js +82 -79
  27. package/_generated/_framework/vector.d.ts +11 -9
  28. package/_generated/_framework/vector.js +10 -10
  29. package/_generated/suilend/cell/structs.d.ts +24 -22
  30. package/_generated/suilend/cell/structs.js +68 -24
  31. package/_generated/suilend/decimal/structs.d.ts +28 -24
  32. package/_generated/suilend/decimal/structs.js +45 -24
  33. package/_generated/suilend/index.d.ts +5 -6
  34. package/_generated/suilend/index.js +10 -19
  35. package/_generated/suilend/lending-market/functions.d.ts +1123 -149
  36. package/_generated/suilend/lending-market/functions.js +1121 -207
  37. package/_generated/suilend/lending-market/structs.d.ts +985 -1290
  38. package/_generated/suilend/lending-market/structs.js +2482 -1282
  39. package/_generated/suilend/lending-market-registry/functions.d.ts +32 -3
  40. package/_generated/suilend/lending-market-registry/functions.js +30 -6
  41. package/_generated/suilend/liquidity-mining/structs.d.ts +200 -333
  42. package/_generated/suilend/liquidity-mining/structs.js +449 -319
  43. package/_generated/suilend/obligation/structs.d.ts +406 -918
  44. package/_generated/suilend/obligation/structs.js +786 -596
  45. package/_generated/suilend/rate-limiter/functions.d.ts +134 -15
  46. package/_generated/suilend/rate-limiter/functions.js +139 -21
  47. package/_generated/suilend/rate-limiter/structs.d.ts +72 -80
  48. package/_generated/suilend/rate-limiter/structs.js +98 -48
  49. package/_generated/suilend/reserve/structs.d.ts +611 -904
  50. package/_generated/suilend/reserve/structs.js +1528 -736
  51. package/_generated/suilend/reserve-config/functions.d.ts +718 -96
  52. package/_generated/suilend/reserve-config/functions.js +751 -157
  53. package/_generated/suilend/reserve-config/structs.d.ts +148 -163
  54. package/_generated/suilend/reserve-config/structs.js +260 -94
  55. package/client.d.ts +2 -2
  56. package/client.js +22 -39
  57. package/lib/initialize.d.ts +617 -83
  58. package/lib/initialize.js +151 -48
  59. package/lib/proCompatible.js +5 -5
  60. package/package.json +1 -1
  61. package/parsers/lendingMarket.d.ts +9 -9
  62. package/parsers/obligation.d.ts +14 -14
  63. package/parsers/obligation.js +4 -4
  64. package/parsers/rateLimiter.d.ts +1 -1
  65. package/parsers/reserve.d.ts +12 -12
  66. package/parsers/reserve.js +2 -2
  67. package/strategies.d.ts +14 -14
  68. package/utils/obligation.d.ts +3 -0
  69. package/utils/obligation.js +10 -0
  70. package/utils/simulate.d.ts +1 -1
  71. package/utils/simulate.js +5 -5
  72. package/_generated/_dependencies/source/0x1/ascii/structs.d.ts +0 -84
  73. package/_generated/_dependencies/source/0x1/index.d.ts +0 -3
  74. package/_generated/_dependencies/source/0x1/index.js +0 -3
  75. package/_generated/_dependencies/source/0x1/option/structs.js +0 -110
  76. package/_generated/_dependencies/source/0x1/type-name/structs.d.ts +0 -47
  77. package/_generated/_dependencies/source/0x2/bag/structs.d.ts +0 -52
  78. package/_generated/_dependencies/source/0x2/bag/structs.js +0 -113
  79. package/_generated/_dependencies/source/0x2/balance/structs.js +0 -210
  80. package/_generated/_dependencies/source/0x2/index.d.ts +0 -3
  81. package/_generated/_dependencies/source/0x2/index.js +0 -3
  82. package/_generated/_dependencies/source/0x2/object/structs.d.ts +0 -82
  83. package/_generated/_dependencies/source/0x2/object-table/structs.js +0 -115
  84. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.d.ts +0 -4
  85. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.js +0 -4
  86. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.d.ts +0 -46
@@ -8,7 +8,7 @@ export type ParsedPoolRewardManager = ReturnType<typeof parsePoolRewardManager>;
8
8
  export type ParsedPoolReward = NonNullable<ReturnType<typeof parsePoolReward>>;
9
9
  export declare const parseReserve: (reserve: Reserve<string>, coinMetadataMap: Record<string, SuiClientTypes.CoinMetadata>) => {
10
10
  config: {
11
- $typeName: string;
11
+ $typeName: `${string}::reserve_config::ReserveConfig`;
12
12
  openLtvPct: number;
13
13
  closeLtvPct: number;
14
14
  maxCloseLtvPct: number;
@@ -25,14 +25,14 @@ export declare const parseReserve: (reserve: Reserve<string>, coinMetadataMap: R
25
25
  isolated: boolean;
26
26
  openAttributedBorrowLimitUsd: number;
27
27
  closeAttributedBorrowLimitUsd: number;
28
- additionalFields: import("../_generated/_dependencies/source/0x2/bag/structs").Bag;
28
+ additionalFields: import("../_generated/_dependencies/sui/bag/structs").Bag;
29
29
  interestRate: {
30
30
  id: string;
31
31
  utilPercent: BigNumber;
32
32
  aprPercent: BigNumber;
33
33
  }[];
34
34
  };
35
- $typeName: string;
35
+ $typeName: `${string}::reserve::Reserve`;
36
36
  id: string;
37
37
  arrayIndex: bigint;
38
38
  coinType: string;
@@ -51,11 +51,11 @@ export declare const parseReserve: (reserve: Reserve<string>, coinMetadataMap: R
51
51
  unclaimedSpreadFees: BigNumber;
52
52
  attributedBorrowValue: BigNumber;
53
53
  depositsPoolRewardManager: {
54
- $typeName: string;
54
+ $typeName: `${string}::liquidity_mining::PoolRewardManager`;
55
55
  id: string;
56
56
  totalShares: bigint;
57
57
  poolRewards: {
58
- $typeName: string;
58
+ $typeName: `${string}::liquidity_mining::PoolReward`;
59
59
  id: string;
60
60
  poolRewardManagerId: string;
61
61
  coinType: string;
@@ -72,11 +72,11 @@ export declare const parseReserve: (reserve: Reserve<string>, coinMetadataMap: R
72
72
  lastUpdateTimeMs: bigint;
73
73
  };
74
74
  borrowsPoolRewardManager: {
75
- $typeName: string;
75
+ $typeName: `${string}::liquidity_mining::PoolRewardManager`;
76
76
  id: string;
77
77
  totalShares: bigint;
78
78
  poolRewards: {
79
- $typeName: string;
79
+ $typeName: `${string}::liquidity_mining::PoolReward`;
80
80
  id: string;
81
81
  poolRewardManagerId: string;
82
82
  coinType: string;
@@ -131,7 +131,7 @@ export declare const parseReserve: (reserve: Reserve<string>, coinMetadataMap: R
131
131
  totalDeposits: BigNumber;
132
132
  };
133
133
  export declare const parseReserveConfig: (reserve: Reserve<string>) => {
134
- $typeName: string;
134
+ $typeName: `${string}::reserve_config::ReserveConfig`;
135
135
  openLtvPct: number;
136
136
  closeLtvPct: number;
137
137
  maxCloseLtvPct: number;
@@ -148,7 +148,7 @@ export declare const parseReserveConfig: (reserve: Reserve<string>) => {
148
148
  isolated: boolean;
149
149
  openAttributedBorrowLimitUsd: number;
150
150
  closeAttributedBorrowLimitUsd: number;
151
- additionalFields: import("../_generated/_dependencies/source/0x2/bag/structs").Bag;
151
+ additionalFields: import("../_generated/_dependencies/sui/bag/structs").Bag;
152
152
  interestRate: {
153
153
  id: string;
154
154
  utilPercent: BigNumber;
@@ -156,11 +156,11 @@ export declare const parseReserveConfig: (reserve: Reserve<string>) => {
156
156
  }[];
157
157
  };
158
158
  export declare const parsePoolRewardManager: (poolRewardManager: PoolRewardManager, coinMetadataMap: Record<string, SuiClientTypes.CoinMetadata>) => {
159
- $typeName: string;
159
+ $typeName: `${string}::liquidity_mining::PoolRewardManager`;
160
160
  id: string;
161
161
  totalShares: bigint;
162
162
  poolRewards: {
163
- $typeName: string;
163
+ $typeName: `${string}::liquidity_mining::PoolReward`;
164
164
  id: string;
165
165
  poolRewardManagerId: string;
166
166
  coinType: string;
@@ -177,7 +177,7 @@ export declare const parsePoolRewardManager: (poolRewardManager: PoolRewardManag
177
177
  lastUpdateTimeMs: bigint;
178
178
  };
179
179
  export declare const parsePoolReward: (poolReward: PoolReward | null, rewardIndex: number, coinMetadataMap: Record<string, SuiClientTypes.CoinMetadata>) => {
180
- $typeName: string;
180
+ $typeName: `${string}::liquidity_mining::PoolReward`;
181
181
  id: string;
182
182
  poolRewardManagerId: string;
183
183
  coinType: string;
@@ -9,7 +9,7 @@ export const parseReserve = (reserve, coinMetadataMap) => {
9
9
  const $typeName = reserve.$typeName;
10
10
  const id = reserve.id;
11
11
  const arrayIndex = BigInt(reserve.arrayIndex);
12
- const coinType = normalizeStructTag(reserve.coinType.name);
12
+ const coinType = normalizeStructTag(reserve.coinType);
13
13
  const coinMetadata = coinMetadataMap[coinType];
14
14
  const mintDecimals = reserve.mintDecimals;
15
15
  const priceIdentifier = `0x${toHexString(reserve.priceIdentifier.bytes)}`;
@@ -174,7 +174,7 @@ export const parsePoolReward = (poolReward, rewardIndex, coinMetadataMap) => {
174
174
  const $typeName = poolReward.$typeName;
175
175
  const id = poolReward.id;
176
176
  const poolRewardManagerId = poolReward.poolRewardManagerId;
177
- const coinType = normalizeStructTag(poolReward.coinType.name);
177
+ const coinType = normalizeStructTag(poolReward.coinType);
178
178
  const coinMetadata = coinMetadataMap[coinType];
179
179
  const mintDecimals = coinMetadata.decimals;
180
180
  const startTimeMs = Number(poolReward.startTimeMs);
package/strategies.d.ts CHANGED
@@ -57,7 +57,7 @@ export declare const addOrInsertStrategyDeposit: (_deposits: StrategyDeposit[],
57
57
  export declare const hasStrategyPosition: (obligation: ParsedObligation) => boolean;
58
58
  export declare const getStrategySuiReserve: (reserveMap: Record<string, ParsedReserve>) => {
59
59
  config: {
60
- $typeName: string;
60
+ $typeName: `${string}::reserve_config::ReserveConfig`;
61
61
  openLtvPct: number;
62
62
  closeLtvPct: number;
63
63
  maxCloseLtvPct: number;
@@ -74,14 +74,14 @@ export declare const getStrategySuiReserve: (reserveMap: Record<string, ParsedRe
74
74
  isolated: boolean;
75
75
  openAttributedBorrowLimitUsd: number;
76
76
  closeAttributedBorrowLimitUsd: number;
77
- additionalFields: import("./_generated/_dependencies/source/0x2/bag/structs").Bag;
77
+ additionalFields: import("./_generated/_dependencies/sui/bag/structs").Bag;
78
78
  interestRate: {
79
79
  id: string;
80
80
  utilPercent: BigNumber;
81
81
  aprPercent: BigNumber;
82
82
  }[];
83
83
  };
84
- $typeName: string;
84
+ $typeName: `${string}::reserve::Reserve`;
85
85
  id: string;
86
86
  arrayIndex: bigint;
87
87
  coinType: string;
@@ -100,11 +100,11 @@ export declare const getStrategySuiReserve: (reserveMap: Record<string, ParsedRe
100
100
  unclaimedSpreadFees: BigNumber;
101
101
  attributedBorrowValue: BigNumber;
102
102
  depositsPoolRewardManager: {
103
- $typeName: string;
103
+ $typeName: `${string}::liquidity_mining::PoolRewardManager`;
104
104
  id: string;
105
105
  totalShares: bigint;
106
106
  poolRewards: {
107
- $typeName: string;
107
+ $typeName: `${string}::liquidity_mining::PoolReward`;
108
108
  id: string;
109
109
  poolRewardManagerId: string;
110
110
  coinType: string;
@@ -121,11 +121,11 @@ export declare const getStrategySuiReserve: (reserveMap: Record<string, ParsedRe
121
121
  lastUpdateTimeMs: bigint;
122
122
  };
123
123
  borrowsPoolRewardManager: {
124
- $typeName: string;
124
+ $typeName: `${string}::liquidity_mining::PoolRewardManager`;
125
125
  id: string;
126
126
  totalShares: bigint;
127
127
  poolRewards: {
128
- $typeName: string;
128
+ $typeName: `${string}::liquidity_mining::PoolReward`;
129
129
  id: string;
130
130
  poolRewardManagerId: string;
131
131
  coinType: string;
@@ -187,7 +187,7 @@ export declare const getStrategyDepositReserves: (reserveMap: Record<string, Par
187
187
  export declare const getStrategyBorrowReserve: (reserveMap: Record<string, ParsedReserve>, strategyType: StrategyType) => ParsedReserve;
188
188
  export declare const getStrategyDefaultCurrencyReserve: (reserveMap: Record<string, ParsedReserve>, strategyType: StrategyType) => {
189
189
  config: {
190
- $typeName: string;
190
+ $typeName: `${string}::reserve_config::ReserveConfig`;
191
191
  openLtvPct: number;
192
192
  closeLtvPct: number;
193
193
  maxCloseLtvPct: number;
@@ -204,14 +204,14 @@ export declare const getStrategyDefaultCurrencyReserve: (reserveMap: Record<stri
204
204
  isolated: boolean;
205
205
  openAttributedBorrowLimitUsd: number;
206
206
  closeAttributedBorrowLimitUsd: number;
207
- additionalFields: import("./_generated/_dependencies/source/0x2/bag/structs").Bag;
207
+ additionalFields: import("./_generated/_dependencies/sui/bag/structs").Bag;
208
208
  interestRate: {
209
209
  id: string;
210
210
  utilPercent: BigNumber;
211
211
  aprPercent: BigNumber;
212
212
  }[];
213
213
  };
214
- $typeName: string;
214
+ $typeName: `${string}::reserve::Reserve`;
215
215
  id: string;
216
216
  arrayIndex: bigint;
217
217
  coinType: string;
@@ -230,11 +230,11 @@ export declare const getStrategyDefaultCurrencyReserve: (reserveMap: Record<stri
230
230
  unclaimedSpreadFees: BigNumber;
231
231
  attributedBorrowValue: BigNumber;
232
232
  depositsPoolRewardManager: {
233
- $typeName: string;
233
+ $typeName: `${string}::liquidity_mining::PoolRewardManager`;
234
234
  id: string;
235
235
  totalShares: bigint;
236
236
  poolRewards: {
237
- $typeName: string;
237
+ $typeName: `${string}::liquidity_mining::PoolReward`;
238
238
  id: string;
239
239
  poolRewardManagerId: string;
240
240
  coinType: string;
@@ -251,11 +251,11 @@ export declare const getStrategyDefaultCurrencyReserve: (reserveMap: Record<stri
251
251
  lastUpdateTimeMs: bigint;
252
252
  };
253
253
  borrowsPoolRewardManager: {
254
- $typeName: string;
254
+ $typeName: `${string}::liquidity_mining::PoolRewardManager`;
255
255
  id: string;
256
256
  totalShares: bigint;
257
257
  poolRewards: {
258
- $typeName: string;
258
+ $typeName: `${string}::liquidity_mining::PoolReward`;
259
259
  id: string;
260
260
  poolRewardManagerId: string;
261
261
  coinType: string;
@@ -9,6 +9,9 @@ export declare function fetchAllObligationsForMarket(suiGrpcClient: SuiGrpcClien
9
9
  export declare function chunkedMultiGet(suiGrpcClient: SuiGrpcClient, objectIds: string[]): Promise<(Error | SuiClientTypes.Object<{
10
10
  content: true;
11
11
  }>)[]>;
12
+ export declare function chunkedMultiGetSettled(suiGrpcClient: SuiGrpcClient, objectIds: string[]): Promise<(Error | SuiClientTypes.Object<{
13
+ content: true;
14
+ }>)[]>;
12
15
  export type FormattedObligationHistory = NonLiquidationHistoryEvent | LiquidationHistoryEvent;
13
16
  export type NonLiquidationHistoryEvent = {
14
17
  reserveId: string;
@@ -84,6 +84,16 @@ export async function chunkedMultiGet(suiGrpcClient, objectIds) {
84
84
  }
85
85
  return results;
86
86
  }
87
+ export async function chunkedMultiGetSettled(suiGrpcClient, objectIds) {
88
+ const limit = pLimit(30);
89
+ const results = await Promise.all(splitIntoChunks(objectIds, 50).map((chunk) => limit(() => suiGrpcClient.getObjects({
90
+ objectIds: chunk,
91
+ include: { content: true },
92
+ })).then(({ objects }) => objects.length === chunk.length
93
+ ? objects
94
+ : chunk.map(() => new Error(`getObjects returned ${objects.length} objects for ${chunk.length} ids`)), (error) => chunk.map(() => error instanceof Error ? error : new Error(String(error))))));
95
+ return results.flat();
96
+ }
87
97
  function splitIntoChunks(arr, chunkSize) {
88
98
  const result = [];
89
99
  for (let i = 0; i < arr.length; i += chunkSize) {
@@ -164,7 +164,7 @@ export declare const compoundBorrowedAmount: (snapshotAmount: BigNumber, current
164
164
  */
165
165
  export declare const compoundDebt: (borrow: Borrow, reserve: Reserve<string>) => Borrow;
166
166
  export type ObligationHealthDepositInput = {
167
- /** Matches `reserve.coinType.name` (unprefixed struct tag) — same field `refreshObligation` compares deposits against. */
167
+ /** Matches `reserve.coinType` (unprefixed struct tag) — same field `refreshObligation` compares deposits against. */
168
168
  coinType: string;
169
169
  /** Raw ctoken unit count, i.e. `deposit.depositedCtokenAmount` as stored (Positions.quantity for a deposit row). */
170
170
  depositedCtokenAmount: BigNumber;
package/utils/simulate.js CHANGED
@@ -173,7 +173,7 @@ export const applyReservePriceFeeds = (reserves, priceFeeds) => {
173
173
  return reserves.map((reserve) => {
174
174
  const priceFeed = byId.get(reserveFeedId(reserve));
175
175
  if (!priceFeed)
176
- throw new Error(`Price feed not found for reserve ${reserve.coinType.name}`);
176
+ throw new Error(`Price feed not found for reserve ${reserve.coinType}`);
177
177
  return withFeedPrice(reserve, priceFeed);
178
178
  });
179
179
  };
@@ -260,7 +260,7 @@ export const applyReservePriceFeedsTolerant = (reserves, priceFeeds) => {
260
260
  // normalizeStructTag'd). The raw on-chain form never compares equal to
261
261
  // one of those keys — it lacks the `0x` prefix — so reporting it raw made
262
262
  // the cross-reference this field exists for silently never match.
263
- unpricedCoinTypes.push(normalizeStructTag(reserve.coinType.name));
263
+ unpricedCoinTypes.push(normalizeStructTag(reserve.coinType));
264
264
  return reserve;
265
265
  }
266
266
  return withFeedPrice(reserve, priceFeed);
@@ -320,7 +320,7 @@ export const updateUserRewardManager = (poolManager, userRewardManager, nowMs) =
320
320
  return updatedUserRewardManager;
321
321
  };
322
322
  export const findReserveOrThrow = (reserves, coinType) => {
323
- const reserve = reserves.find((r) => r.coinType.name === coinType);
323
+ const reserve = reserves.find((r) => r.coinType === coinType);
324
324
  if (!reserve) {
325
325
  throw new Error(`Unable to find reserve for coin type ${coinType}`);
326
326
  }
@@ -348,7 +348,7 @@ export function computeObligationRefresh(obligation, refreshedReserves, nowMs) {
348
348
  let unhealthyBorrowValueUsd = new BigNumber(0);
349
349
  const deposits = obligation.deposits.map((unrefreshedDeposit) => {
350
350
  const deposit = { ...unrefreshedDeposit };
351
- const reserve = findReserveOrThrow(refreshedReserves, deposit.coinType.name);
351
+ const reserve = findReserveOrThrow(refreshedReserves, deposit.coinType);
352
352
  const config = reserve.config.element;
353
353
  userRewardManagers[Number(deposit.userRewardManagerIndex)] =
354
354
  updateUserRewardManager(reserve.depositsPoolRewardManager, userRewardManagers[Number(deposit.userRewardManagerIndex)], nowMs);
@@ -364,7 +364,7 @@ export function computeObligationRefresh(obligation, refreshedReserves, nowMs) {
364
364
  let weightedBorrowedValueUsd = new BigNumber(0);
365
365
  let weightedBorrowedValueUpperBoundUsd = new BigNumber(0);
366
366
  const borrows = obligation.borrows.map((unrefreshedBorrow) => {
367
- const reserve = findReserveOrThrow(refreshedReserves, unrefreshedBorrow.coinType.name);
367
+ const reserve = findReserveOrThrow(refreshedReserves, unrefreshedBorrow.coinType);
368
368
  const config = reserve.config.element;
369
369
  // Exact BigNumber-compounded amount, computed once and reused below for
370
370
  // `borrow.borrowedAmount` and both market values. `compoundDebt` would
@@ -1,84 +0,0 @@
1
- import * as reified from "../../../../_framework/reified";
2
- import { PhantomReified, Reified, StructClass, ToField, ToTypeStr } from "../../../../_framework/reified";
3
- import { FieldsWithTypes } from "../../../../_framework/util";
4
- import { Vector } from "../../../../_framework/vector";
5
- import { PKG_V13 } from "../index";
6
- import { SuiGrpcClient } from "@mysten/sui/grpc";
7
- export declare function isChar(type: string): boolean;
8
- export interface CharFields {
9
- byte: ToField<"u8">;
10
- }
11
- export type CharReified = Reified<Char, CharFields>;
12
- export declare class Char implements StructClass {
13
- __StructClass: true;
14
- static readonly $typeName = "0x1::ascii::Char";
15
- static readonly $numTypeParams = 0;
16
- static readonly $isPhantom: readonly [];
17
- readonly $typeName = "0x1::ascii::Char";
18
- readonly $fullTypeName: `${typeof PKG_V13}::ascii::Char`;
19
- readonly $typeArgs: [];
20
- readonly $isPhantom: readonly [];
21
- readonly byte: ToField<"u8">;
22
- private constructor();
23
- static reified(): CharReified;
24
- static get r(): reified.StructClassReified<Char, CharFields>;
25
- static phantom(): PhantomReified<ToTypeStr<Char>>;
26
- static get p(): reified.PhantomReified<"0x1::ascii::Char">;
27
- static get bcs(): import("@mysten/bcs").BcsStruct<{
28
- byte: import("@mysten/bcs").BcsType<number, number, "u8">;
29
- }, string>;
30
- static fromFields(fields: Record<string, any>): Char;
31
- static fromFieldsWithTypes(item: FieldsWithTypes): Char;
32
- static fromBcs(data: Uint8Array): Char;
33
- toJSONField(): {
34
- byte: number;
35
- };
36
- toJSON(): {
37
- byte: number;
38
- $typeName: string;
39
- $typeArgs: [];
40
- };
41
- static fromJSONField(field: any): Char;
42
- static fromJSON(json: Record<string, any>): Char;
43
- static fetch(client: SuiGrpcClient, id: string): Promise<Char>;
44
- }
45
- export declare function isString(type: string): boolean;
46
- export interface StringFields {
47
- bytes: ToField<Vector<"u8">>;
48
- }
49
- export type StringReified = Reified<String, StringFields>;
50
- export declare class String implements StructClass {
51
- __StructClass: true;
52
- static readonly $typeName = "0x1::ascii::String";
53
- static readonly $numTypeParams = 0;
54
- static readonly $isPhantom: readonly [];
55
- readonly $typeName = "0x1::ascii::String";
56
- readonly $fullTypeName: `${typeof PKG_V13}::ascii::String`;
57
- readonly $typeArgs: [];
58
- readonly $isPhantom: readonly [];
59
- readonly bytes: ToField<Vector<"u8">>;
60
- private constructor();
61
- static reified(): StringReified;
62
- static get r(): reified.StructClassReified<String, StringFields>;
63
- static phantom(): PhantomReified<ToTypeStr<String>>;
64
- static get p(): reified.PhantomReified<"0x1::ascii::String">;
65
- static get bcs(): import("@mysten/bcs").BcsStruct<{
66
- bytes: import("@mysten/bcs").BcsType<number[], Iterable<number> & {
67
- length: number;
68
- }, string>;
69
- }, string>;
70
- static fromFields(fields: Record<string, any>): String;
71
- static fromFieldsWithTypes(item: FieldsWithTypes): String;
72
- static fromBcs(data: Uint8Array): String;
73
- toJSONField(): {
74
- bytes: number[];
75
- };
76
- toJSON(): {
77
- bytes: number[];
78
- $typeName: string;
79
- $typeArgs: [];
80
- };
81
- static fromJSONField(field: any): String;
82
- static fromJSON(json: Record<string, any>): String;
83
- static fetch(client: SuiGrpcClient, id: string): Promise<String>;
84
- }
@@ -1,3 +0,0 @@
1
- export declare const PACKAGE_ID = "0x1";
2
- export declare const PUBLISHED_AT = "0x1";
3
- export declare const PKG_V13 = "0x1";
@@ -1,3 +0,0 @@
1
- export const PACKAGE_ID = "0x1";
2
- export const PUBLISHED_AT = "0x1";
3
- export const PKG_V13 = "0x1";
@@ -1,110 +0,0 @@
1
- import * as reified from "../../../../_framework/reified.js";
2
- import { assertFieldsWithTypesArgsMatch, assertReifiedTypeArgsMatch, decodeFromFields, decodeFromFieldsWithTypes, decodeFromJSONField, extractType, fieldToJSON, phantom, toBcs, } from "../../../../_framework/reified.js";
3
- import { composeSuiType, compressSuiType, } from "../../../../_framework/util.js";
4
- import { PKG_V13 } from "../index.js";
5
- import { bcs } from "@mysten/sui/bcs";
6
- /* ============================== Option =============================== */
7
- export function isOption(type) {
8
- type = compressSuiType(type);
9
- return type.startsWith(`${PKG_V13}::option::Option` + "<");
10
- }
11
- export class Option {
12
- __StructClass = true;
13
- static $typeName = `${PKG_V13}::option::Option`;
14
- static $numTypeParams = 1;
15
- static $isPhantom = [false];
16
- __inner = null; // for type checking in reified.ts
17
- $typeName = Option.$typeName;
18
- $fullTypeName;
19
- $typeArgs;
20
- $isPhantom = Option.$isPhantom;
21
- vec;
22
- constructor(typeArgs, fields) {
23
- this.$fullTypeName = composeSuiType(Option.$typeName, ...typeArgs);
24
- this.$typeArgs = typeArgs;
25
- this.vec = fields.vec;
26
- }
27
- static reified(Element) {
28
- return {
29
- typeName: Option.$typeName,
30
- fullTypeName: composeSuiType(Option.$typeName, ...[extractType(Element)]),
31
- typeArgs: [extractType(Element)],
32
- isPhantom: Option.$isPhantom,
33
- reifiedTypeArgs: [Element],
34
- fromFields: (fields) => Option.fromFields(Element, fields),
35
- fromFieldsWithTypes: (item) => Option.fromFieldsWithTypes(Element, item),
36
- fromBcs: (data) => Option.fromBcs(Element, data),
37
- bcs: Option.bcs(toBcs(Element)),
38
- fromJSONField: (field) => Option.fromJSONField(Element, field),
39
- fromJSON: (json) => Option.fromJSON(Element, json),
40
- fetch: async (client, id) => Option.fetch(client, Element, id),
41
- new: (fields) => {
42
- return new Option([extractType(Element)], fields);
43
- },
44
- kind: "StructClassReified",
45
- };
46
- }
47
- static get r() {
48
- return Option.reified;
49
- }
50
- static phantom(Element) {
51
- return phantom(Option.reified(Element));
52
- }
53
- static get p() {
54
- return Option.phantom;
55
- }
56
- static get bcs() {
57
- return (Element) => bcs.struct(`Option<${Element.name}>`, {
58
- vec: bcs.vector(Element),
59
- });
60
- }
61
- static fromFields(typeArg, fields) {
62
- return Option.reified(typeArg).new({
63
- vec: decodeFromFields(reified.vector(typeArg), fields.vec),
64
- });
65
- }
66
- static fromFieldsWithTypes(typeArg, item) {
67
- if (!isOption(item.type)) {
68
- throw new Error("not a Option type");
69
- }
70
- assertFieldsWithTypesArgsMatch(item, [typeArg]);
71
- return Option.reified(typeArg).new({
72
- vec: decodeFromFieldsWithTypes(reified.vector(typeArg), item.fields.vec),
73
- });
74
- }
75
- static fromBcs(typeArg, data) {
76
- const typeArgs = [typeArg];
77
- return Option.fromFields(typeArg, Option.bcs(toBcs(typeArgs[0])).parse(data));
78
- }
79
- toJSONField() {
80
- return {
81
- vec: fieldToJSON(`vector<${this.$typeArgs[0]}>`, this.vec),
82
- };
83
- }
84
- toJSON() {
85
- return {
86
- $typeName: this.$typeName,
87
- $typeArgs: this.$typeArgs,
88
- ...this.toJSONField(),
89
- };
90
- }
91
- static fromJSONField(typeArg, field) {
92
- return Option.reified(typeArg).new({
93
- vec: decodeFromJSONField(reified.vector(typeArg), field.vec),
94
- });
95
- }
96
- static fromJSON(typeArg, json) {
97
- if (json.$typeName !== Option.$typeName) {
98
- throw new Error("not a WithTwoGenerics json object");
99
- }
100
- assertReifiedTypeArgsMatch(composeSuiType(Option.$typeName, extractType(typeArg)), json.$typeArgs, [typeArg]);
101
- return Option.fromJSONField(typeArg, json);
102
- }
103
- static async fetch(client, typeArg, id) {
104
- const { object } = await client.getObject({ objectId: id, include: { content: true } });
105
- if (!isOption(object.type)) {
106
- throw new Error(`object at id ${id} is not a Option object`);
107
- }
108
- return Option.fromBcs(typeArg, object.content);
109
- }
110
- }
@@ -1,47 +0,0 @@
1
- import { PhantomReified, Reified, StructClass, ToField, ToTypeStr } from "../../../../_framework/reified";
2
- import { FieldsWithTypes } from "../../../../_framework/util";
3
- import { String } from "../ascii/structs";
4
- import { PKG_V13 } from "../index";
5
- import { SuiGrpcClient } from "@mysten/sui/grpc";
6
- export declare function isTypeName(type: string): boolean;
7
- export interface TypeNameFields {
8
- name: ToField<String>;
9
- }
10
- export type TypeNameReified = Reified<TypeName, TypeNameFields>;
11
- export declare class TypeName implements StructClass {
12
- __StructClass: true;
13
- static readonly $typeName = "0x1::type_name::TypeName";
14
- static readonly $numTypeParams = 0;
15
- static readonly $isPhantom: readonly [];
16
- readonly $typeName = "0x1::type_name::TypeName";
17
- readonly $fullTypeName: `${typeof PKG_V13}::type_name::TypeName`;
18
- readonly $typeArgs: [];
19
- readonly $isPhantom: readonly [];
20
- readonly name: ToField<String>;
21
- private constructor();
22
- static reified(): TypeNameReified;
23
- static get r(): import("../../../../_framework/reified").StructClassReified<TypeName, TypeNameFields>;
24
- static phantom(): PhantomReified<ToTypeStr<TypeName>>;
25
- static get p(): PhantomReified<"0x1::type_name::TypeName">;
26
- static get bcs(): import("@mysten/bcs").BcsStruct<{
27
- name: import("@mysten/bcs").BcsStruct<{
28
- bytes: import("@mysten/bcs").BcsType<number[], Iterable<number> & {
29
- length: number;
30
- }, string>;
31
- }, string>;
32
- }, string>;
33
- static fromFields(fields: Record<string, any>): TypeName;
34
- static fromFieldsWithTypes(item: FieldsWithTypes): TypeName;
35
- static fromBcs(data: Uint8Array): TypeName;
36
- toJSONField(): {
37
- name: string;
38
- };
39
- toJSON(): {
40
- name: string;
41
- $typeName: string;
42
- $typeArgs: [];
43
- };
44
- static fromJSONField(field: any): TypeName;
45
- static fromJSON(json: Record<string, any>): TypeName;
46
- static fetch(client: SuiGrpcClient, id: string): Promise<TypeName>;
47
- }
@@ -1,52 +0,0 @@
1
- import { PhantomReified, Reified, StructClass, ToField, ToTypeStr } from "../../../../_framework/reified";
2
- import { FieldsWithTypes } from "../../../../_framework/util";
3
- import { PKG_V30 } from "../index";
4
- import { UID } from "../object/structs";
5
- import { SuiGrpcClient } from "@mysten/sui/grpc";
6
- export declare function isBag(type: string): boolean;
7
- export interface BagFields {
8
- id: ToField<UID>;
9
- size: ToField<"u64">;
10
- }
11
- export type BagReified = Reified<Bag, BagFields>;
12
- export declare class Bag implements StructClass {
13
- __StructClass: true;
14
- static readonly $typeName = "0x2::bag::Bag";
15
- static readonly $numTypeParams = 0;
16
- static readonly $isPhantom: readonly [];
17
- readonly $typeName = "0x2::bag::Bag";
18
- readonly $fullTypeName: `${typeof PKG_V30}::bag::Bag`;
19
- readonly $typeArgs: [];
20
- readonly $isPhantom: readonly [];
21
- readonly id: ToField<UID>;
22
- readonly size: ToField<"u64">;
23
- private constructor();
24
- static reified(): BagReified;
25
- static get r(): import("../../../../_framework/reified").StructClassReified<Bag, BagFields>;
26
- static phantom(): PhantomReified<ToTypeStr<Bag>>;
27
- static get p(): PhantomReified<"0x2::bag::Bag">;
28
- static get bcs(): import("@mysten/bcs").BcsStruct<{
29
- id: import("@mysten/bcs").BcsStruct<{
30
- id: import("@mysten/bcs").BcsStruct<{
31
- bytes: import("@mysten/bcs").BcsType<string, string, string>;
32
- }, string>;
33
- }, string>;
34
- size: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
35
- }, string>;
36
- static fromFields(fields: Record<string, any>): Bag;
37
- static fromFieldsWithTypes(item: FieldsWithTypes): Bag;
38
- static fromBcs(data: Uint8Array): Bag;
39
- toJSONField(): {
40
- id: string;
41
- size: string;
42
- };
43
- toJSON(): {
44
- id: string;
45
- size: string;
46
- $typeName: string;
47
- $typeArgs: [];
48
- };
49
- static fromJSONField(field: any): Bag;
50
- static fromJSON(json: Record<string, any>): Bag;
51
- static fetch(client: SuiGrpcClient, id: string): Promise<Bag>;
52
- }