@suilend/sdk 12.7.0 → 13.0.0-next.g803bba0

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 (84) 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 +76 -76
  58. package/lib/initialize.js +10 -10
  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/simulate.d.ts +1 -1
  69. package/utils/simulate.js +5 -5
  70. package/_generated/_dependencies/source/0x1/ascii/structs.d.ts +0 -84
  71. package/_generated/_dependencies/source/0x1/index.d.ts +0 -3
  72. package/_generated/_dependencies/source/0x1/index.js +0 -3
  73. package/_generated/_dependencies/source/0x1/option/structs.js +0 -110
  74. package/_generated/_dependencies/source/0x1/type-name/structs.d.ts +0 -47
  75. package/_generated/_dependencies/source/0x2/bag/structs.d.ts +0 -52
  76. package/_generated/_dependencies/source/0x2/bag/structs.js +0 -113
  77. package/_generated/_dependencies/source/0x2/balance/structs.js +0 -210
  78. package/_generated/_dependencies/source/0x2/index.d.ts +0 -3
  79. package/_generated/_dependencies/source/0x2/index.js +0 -3
  80. package/_generated/_dependencies/source/0x2/object/structs.d.ts +0 -82
  81. package/_generated/_dependencies/source/0x2/object-table/structs.js +0 -115
  82. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.d.ts +0 -4
  83. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.js +0 -4
  84. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.d.ts +0 -46
@@ -1,21 +1,168 @@
1
- import * as reified from "../../_framework/reified.js";
2
- import { Option } from "../../_dependencies/source/0x1/option/structs.js";
3
- import { TypeName } from "../../_dependencies/source/0x1/type-name/structs.js";
4
- import { Bag } from "../../_dependencies/source/0x2/bag/structs.js";
5
- import { ID, UID } from "../../_dependencies/source/0x2/object/structs.js";
6
- import { assertFieldsWithTypesArgsMatch, assertReifiedTypeArgsMatch, decodeFromFields, decodeFromFieldsWithTypes, decodeFromJSONField, extractType, fieldToJSON, phantom, } from "../../_framework/reified.js";
7
- import { composeSuiType, compressSuiType, } from "../../_framework/util.js";
8
- import { Decimal } from "../decimal/structs.js";
9
- import { PKG_V1 } from "../index.js";
10
- import { bcs } from "@mysten/sui/bcs";
1
+ /** A user_reward_manager farms pool_rewards to receive rewards proportional to their stake in the pool. */
2
+ import { bcs } from '@mysten/sui/bcs';
3
+ import { Option } from '../../_dependencies/std/option/structs.js';
4
+ import { TypeName } from '../../_dependencies/std/type-name/structs.js';
5
+ import { Bag } from '../../_dependencies/sui/bag/structs.js';
6
+ import { ID, UID } from '../../_dependencies/sui/object/structs.js';
7
+ import { getTypeOrigin } from '../../_envs/index.js';
8
+ import { assertFieldsWithTypesArgsMatch, assertReifiedTypeArgsMatch, decodeFromFields, decodeFromFieldsWithTypes, decodeFromJSONField, extractType, fieldToJSON, phantom, vector, } from '../../_framework/reified.js';
9
+ import { composeSuiType, compressSuiType, parseTypeName, } from '../../_framework/util.js';
10
+ import { Decimal } from '../decimal/structs.js';
11
+ /* ============================== PoolRewardManager =============================== */
12
+ export function isPoolRewardManager(type) {
13
+ type = compressSuiType(type);
14
+ return type
15
+ === `${getTypeOrigin('suilend', 'liquidity_mining::PoolRewardManager')}::liquidity_mining::PoolRewardManager`;
16
+ }
17
+ /** This struct manages all pool_rewards for a given stake pool. */
18
+ export class PoolRewardManager {
19
+ __StructClass = true;
20
+ static get $typeName() {
21
+ return `${getTypeOrigin('suilend', 'liquidity_mining::PoolRewardManager')}::liquidity_mining::PoolRewardManager`;
22
+ }
23
+ static $numTypeParams = 0;
24
+ static $isPhantom = [];
25
+ $typeName = PoolRewardManager.$typeName;
26
+ $fullTypeName;
27
+ $typeArgs;
28
+ $isPhantom = PoolRewardManager.$isPhantom;
29
+ id;
30
+ totalShares;
31
+ poolRewards;
32
+ lastUpdateTimeMs;
33
+ constructor(typeArgs, fields) {
34
+ this.$fullTypeName = composeSuiType(PoolRewardManager.$typeName, ...typeArgs);
35
+ this.$typeArgs = typeArgs;
36
+ this.id = fields.id;
37
+ this.totalShares = fields.totalShares;
38
+ this.poolRewards = fields.poolRewards;
39
+ this.lastUpdateTimeMs = fields.lastUpdateTimeMs;
40
+ }
41
+ static reified() {
42
+ const reifiedBcs = PoolRewardManager.bcs;
43
+ return {
44
+ get typeName() {
45
+ return PoolRewardManager.$typeName;
46
+ },
47
+ get fullTypeName() {
48
+ return composeSuiType(PoolRewardManager.$typeName, ...[]);
49
+ },
50
+ typeArgs: [],
51
+ isPhantom: PoolRewardManager.$isPhantom,
52
+ reifiedTypeArgs: [],
53
+ fromFields: (fields) => PoolRewardManager.fromFields(fields),
54
+ fromFieldsWithTypes: (item) => PoolRewardManager.fromFieldsWithTypes(item),
55
+ fromBcs: (data) => PoolRewardManager.fromFields(reifiedBcs.parse(data)),
56
+ bcs: reifiedBcs,
57
+ fromJSONField: (field) => PoolRewardManager.fromJSONField(field),
58
+ fromJSON: (json) => PoolRewardManager.fromJSON(json),
59
+ fromCoreObject: (obj) => PoolRewardManager.fromCoreObject(obj),
60
+ fetch: async (client, id) => PoolRewardManager.fetch(client, id),
61
+ new: (fields) => {
62
+ return new PoolRewardManager([], fields);
63
+ },
64
+ kind: 'StructClassReified',
65
+ };
66
+ }
67
+ static get r() {
68
+ return PoolRewardManager.reified();
69
+ }
70
+ static phantom() {
71
+ return phantom(PoolRewardManager.reified());
72
+ }
73
+ static get p() {
74
+ return PoolRewardManager.phantom();
75
+ }
76
+ static instantiateBcs() {
77
+ return bcs.struct('PoolRewardManager', {
78
+ id: UID.bcs,
79
+ total_shares: bcs.u64(),
80
+ pool_rewards: bcs.vector(Option.bcs(PoolReward.bcs)),
81
+ last_update_time_ms: bcs.u64(),
82
+ });
83
+ }
84
+ static cachedBcs = null;
85
+ static get bcs() {
86
+ if (!PoolRewardManager.cachedBcs) {
87
+ PoolRewardManager.cachedBcs = PoolRewardManager.instantiateBcs();
88
+ }
89
+ return PoolRewardManager.cachedBcs;
90
+ }
91
+ static fromFields(fields) {
92
+ return PoolRewardManager.reified().new({
93
+ id: decodeFromFields(UID.reified(), fields.id),
94
+ totalShares: decodeFromFields('u64', fields.total_shares),
95
+ poolRewards: decodeFromFields(vector(Option.reified(PoolReward.reified())), fields.pool_rewards),
96
+ lastUpdateTimeMs: decodeFromFields('u64', fields.last_update_time_ms),
97
+ });
98
+ }
99
+ static fromFieldsWithTypes(item) {
100
+ if (!isPoolRewardManager(item.type)) {
101
+ throw new Error('not a PoolRewardManager type');
102
+ }
103
+ return PoolRewardManager.reified().new({
104
+ id: decodeFromFieldsWithTypes(UID.reified(), item.fields.id),
105
+ totalShares: decodeFromFieldsWithTypes('u64', item.fields.total_shares),
106
+ poolRewards: decodeFromFieldsWithTypes(vector(Option.reified(PoolReward.reified())), item.fields.pool_rewards),
107
+ lastUpdateTimeMs: decodeFromFieldsWithTypes('u64', item.fields.last_update_time_ms),
108
+ });
109
+ }
110
+ static fromBcs(data) {
111
+ return PoolRewardManager.fromFields(PoolRewardManager.bcs.parse(data));
112
+ }
113
+ toJSONField() {
114
+ return {
115
+ id: this.id,
116
+ totalShares: this.totalShares.toString(),
117
+ poolRewards: fieldToJSON(`vector<${Option.$typeName}<${PoolReward.$typeName}>>`, this.poolRewards),
118
+ lastUpdateTimeMs: this.lastUpdateTimeMs.toString(),
119
+ };
120
+ }
121
+ toJSON() {
122
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
123
+ }
124
+ static fromJSONField(field) {
125
+ return PoolRewardManager.reified().new({
126
+ id: decodeFromJSONField(UID.reified(), field.id),
127
+ totalShares: decodeFromJSONField('u64', field.totalShares),
128
+ poolRewards: decodeFromJSONField(vector(Option.reified(PoolReward.reified())), field.poolRewards),
129
+ lastUpdateTimeMs: decodeFromJSONField('u64', field.lastUpdateTimeMs),
130
+ });
131
+ }
132
+ static fromJSON(json) {
133
+ if (json.$typeName !== PoolRewardManager.$typeName) {
134
+ throw new Error(`not a PoolRewardManager json object: expected '${PoolRewardManager.$typeName}' but got '${json.$typeName}'`);
135
+ }
136
+ return PoolRewardManager.fromJSONField(json);
137
+ }
138
+ static fromCoreObject(obj) {
139
+ if (!isPoolRewardManager(obj.type)) {
140
+ throw new Error(`object at ${obj.objectId} is not a PoolRewardManager object`);
141
+ }
142
+ return PoolRewardManager.fromBcs(obj.content);
143
+ }
144
+ static async fetch(client, id) {
145
+ const { object } = await client.core.getObject({
146
+ objectId: id,
147
+ include: { content: true },
148
+ });
149
+ if (!isPoolRewardManager(object.type)) {
150
+ throw new Error(`object at id ${id} is not a PoolRewardManager object`);
151
+ }
152
+ return PoolRewardManager.fromBcs(object.content);
153
+ }
154
+ }
11
155
  /* ============================== PoolReward =============================== */
12
156
  export function isPoolReward(type) {
13
157
  type = compressSuiType(type);
14
- return type === `${PKG_V1}::liquidity_mining::PoolReward`;
158
+ return type
159
+ === `${getTypeOrigin('suilend', 'liquidity_mining::PoolReward')}::liquidity_mining::PoolReward`;
15
160
  }
16
161
  export class PoolReward {
17
162
  __StructClass = true;
18
- static $typeName = `${PKG_V1}::liquidity_mining::PoolReward`;
163
+ static get $typeName() {
164
+ return `${getTypeOrigin('suilend', 'liquidity_mining::PoolReward')}::liquidity_mining::PoolReward`;
165
+ }
19
166
  static $numTypeParams = 0;
20
167
  static $isPhantom = [];
21
168
  $typeName = PoolReward.$typeName;
@@ -28,6 +175,7 @@ export class PoolReward {
28
175
  startTimeMs;
29
176
  endTimeMs;
30
177
  totalRewards;
178
+ /** amount of rewards that have been earned by users */
31
179
  allocatedRewards;
32
180
  cumulativeRewardsPerShare;
33
181
  numUserRewardManagers;
@@ -47,23 +195,29 @@ export class PoolReward {
47
195
  this.additionalFields = fields.additionalFields;
48
196
  }
49
197
  static reified() {
198
+ const reifiedBcs = PoolReward.bcs;
50
199
  return {
51
- typeName: PoolReward.$typeName,
52
- fullTypeName: composeSuiType(PoolReward.$typeName, ...[]),
200
+ get typeName() {
201
+ return PoolReward.$typeName;
202
+ },
203
+ get fullTypeName() {
204
+ return composeSuiType(PoolReward.$typeName, ...[]);
205
+ },
53
206
  typeArgs: [],
54
207
  isPhantom: PoolReward.$isPhantom,
55
208
  reifiedTypeArgs: [],
56
209
  fromFields: (fields) => PoolReward.fromFields(fields),
57
210
  fromFieldsWithTypes: (item) => PoolReward.fromFieldsWithTypes(item),
58
- fromBcs: (data) => PoolReward.fromBcs(data),
59
- bcs: PoolReward.bcs,
211
+ fromBcs: (data) => PoolReward.fromFields(reifiedBcs.parse(data)),
212
+ bcs: reifiedBcs,
60
213
  fromJSONField: (field) => PoolReward.fromJSONField(field),
61
214
  fromJSON: (json) => PoolReward.fromJSON(json),
215
+ fromCoreObject: (obj) => PoolReward.fromCoreObject(obj),
62
216
  fetch: async (client, id) => PoolReward.fetch(client, id),
63
217
  new: (fields) => {
64
218
  return new PoolReward([], fields);
65
219
  },
66
- kind: "StructClassReified",
220
+ kind: 'StructClassReified',
67
221
  };
68
222
  }
69
223
  static get r() {
@@ -75,8 +229,8 @@ export class PoolReward {
75
229
  static get p() {
76
230
  return PoolReward.phantom();
77
231
  }
78
- static get bcs() {
79
- return bcs.struct("PoolReward", {
232
+ static instantiateBcs() {
233
+ return bcs.struct('PoolReward', {
80
234
  id: UID.bcs,
81
235
  pool_reward_manager_id: ID.bcs,
82
236
  coin_type: TypeName.bcs,
@@ -89,34 +243,41 @@ export class PoolReward {
89
243
  additional_fields: Bag.bcs,
90
244
  });
91
245
  }
246
+ static cachedBcs = null;
247
+ static get bcs() {
248
+ if (!PoolReward.cachedBcs) {
249
+ PoolReward.cachedBcs = PoolReward.instantiateBcs();
250
+ }
251
+ return PoolReward.cachedBcs;
252
+ }
92
253
  static fromFields(fields) {
93
254
  return PoolReward.reified().new({
94
255
  id: decodeFromFields(UID.reified(), fields.id),
95
256
  poolRewardManagerId: decodeFromFields(ID.reified(), fields.pool_reward_manager_id),
96
257
  coinType: decodeFromFields(TypeName.reified(), fields.coin_type),
97
- startTimeMs: decodeFromFields("u64", fields.start_time_ms),
98
- endTimeMs: decodeFromFields("u64", fields.end_time_ms),
99
- totalRewards: decodeFromFields("u64", fields.total_rewards),
258
+ startTimeMs: decodeFromFields('u64', fields.start_time_ms),
259
+ endTimeMs: decodeFromFields('u64', fields.end_time_ms),
260
+ totalRewards: decodeFromFields('u64', fields.total_rewards),
100
261
  allocatedRewards: decodeFromFields(Decimal.reified(), fields.allocated_rewards),
101
262
  cumulativeRewardsPerShare: decodeFromFields(Decimal.reified(), fields.cumulative_rewards_per_share),
102
- numUserRewardManagers: decodeFromFields("u64", fields.num_user_reward_managers),
263
+ numUserRewardManagers: decodeFromFields('u64', fields.num_user_reward_managers),
103
264
  additionalFields: decodeFromFields(Bag.reified(), fields.additional_fields),
104
265
  });
105
266
  }
106
267
  static fromFieldsWithTypes(item) {
107
268
  if (!isPoolReward(item.type)) {
108
- throw new Error("not a PoolReward type");
269
+ throw new Error('not a PoolReward type');
109
270
  }
110
271
  return PoolReward.reified().new({
111
272
  id: decodeFromFieldsWithTypes(UID.reified(), item.fields.id),
112
273
  poolRewardManagerId: decodeFromFieldsWithTypes(ID.reified(), item.fields.pool_reward_manager_id),
113
274
  coinType: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.coin_type),
114
- startTimeMs: decodeFromFieldsWithTypes("u64", item.fields.start_time_ms),
115
- endTimeMs: decodeFromFieldsWithTypes("u64", item.fields.end_time_ms),
116
- totalRewards: decodeFromFieldsWithTypes("u64", item.fields.total_rewards),
275
+ startTimeMs: decodeFromFieldsWithTypes('u64', item.fields.start_time_ms),
276
+ endTimeMs: decodeFromFieldsWithTypes('u64', item.fields.end_time_ms),
277
+ totalRewards: decodeFromFieldsWithTypes('u64', item.fields.total_rewards),
117
278
  allocatedRewards: decodeFromFieldsWithTypes(Decimal.reified(), item.fields.allocated_rewards),
118
279
  cumulativeRewardsPerShare: decodeFromFieldsWithTypes(Decimal.reified(), item.fields.cumulative_rewards_per_share),
119
- numUserRewardManagers: decodeFromFieldsWithTypes("u64", item.fields.num_user_reward_managers),
280
+ numUserRewardManagers: decodeFromFieldsWithTypes('u64', item.fields.num_user_reward_managers),
120
281
  additionalFields: decodeFromFieldsWithTypes(Bag.reified(), item.fields.additional_fields),
121
282
  });
122
283
  }
@@ -127,7 +288,7 @@ export class PoolReward {
127
288
  return {
128
289
  id: this.id,
129
290
  poolRewardManagerId: this.poolRewardManagerId,
130
- coinType: this.coinType.toJSONField(),
291
+ coinType: this.coinType,
131
292
  startTimeMs: this.startTimeMs.toString(),
132
293
  endTimeMs: this.endTimeMs.toString(),
133
294
  totalRewards: this.totalRewards.toString(),
@@ -138,170 +299,55 @@ export class PoolReward {
138
299
  };
139
300
  }
140
301
  toJSON() {
141
- return {
142
- $typeName: this.$typeName,
143
- $typeArgs: this.$typeArgs,
144
- ...this.toJSONField(),
145
- };
302
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
146
303
  }
147
304
  static fromJSONField(field) {
148
305
  return PoolReward.reified().new({
149
306
  id: decodeFromJSONField(UID.reified(), field.id),
150
307
  poolRewardManagerId: decodeFromJSONField(ID.reified(), field.poolRewardManagerId),
151
308
  coinType: decodeFromJSONField(TypeName.reified(), field.coinType),
152
- startTimeMs: decodeFromJSONField("u64", field.startTimeMs),
153
- endTimeMs: decodeFromJSONField("u64", field.endTimeMs),
154
- totalRewards: decodeFromJSONField("u64", field.totalRewards),
309
+ startTimeMs: decodeFromJSONField('u64', field.startTimeMs),
310
+ endTimeMs: decodeFromJSONField('u64', field.endTimeMs),
311
+ totalRewards: decodeFromJSONField('u64', field.totalRewards),
155
312
  allocatedRewards: decodeFromJSONField(Decimal.reified(), field.allocatedRewards),
156
313
  cumulativeRewardsPerShare: decodeFromJSONField(Decimal.reified(), field.cumulativeRewardsPerShare),
157
- numUserRewardManagers: decodeFromJSONField("u64", field.numUserRewardManagers),
314
+ numUserRewardManagers: decodeFromJSONField('u64', field.numUserRewardManagers),
158
315
  additionalFields: decodeFromJSONField(Bag.reified(), field.additionalFields),
159
316
  });
160
317
  }
161
318
  static fromJSON(json) {
162
319
  if (json.$typeName !== PoolReward.$typeName) {
163
- throw new Error("not a WithTwoGenerics json object");
320
+ throw new Error(`not a PoolReward json object: expected '${PoolReward.$typeName}' but got '${json.$typeName}'`);
164
321
  }
165
322
  return PoolReward.fromJSONField(json);
166
323
  }
324
+ static fromCoreObject(obj) {
325
+ if (!isPoolReward(obj.type)) {
326
+ throw new Error(`object at ${obj.objectId} is not a PoolReward object`);
327
+ }
328
+ return PoolReward.fromBcs(obj.content);
329
+ }
167
330
  static async fetch(client, id) {
168
- const { object } = await client.getObject({ objectId: id, include: { content: true } });
331
+ const { object } = await client.core.getObject({
332
+ objectId: id,
333
+ include: { content: true },
334
+ });
169
335
  if (!isPoolReward(object.type)) {
170
336
  throw new Error(`object at id ${id} is not a PoolReward object`);
171
337
  }
172
338
  return PoolReward.fromBcs(object.content);
173
339
  }
174
340
  }
175
- /* ============================== PoolRewardManager =============================== */
176
- export function isPoolRewardManager(type) {
177
- type = compressSuiType(type);
178
- return type === `${PKG_V1}::liquidity_mining::PoolRewardManager`;
179
- }
180
- export class PoolRewardManager {
181
- __StructClass = true;
182
- static $typeName = `${PKG_V1}::liquidity_mining::PoolRewardManager`;
183
- static $numTypeParams = 0;
184
- static $isPhantom = [];
185
- $typeName = PoolRewardManager.$typeName;
186
- $fullTypeName;
187
- $typeArgs;
188
- $isPhantom = PoolRewardManager.$isPhantom;
189
- id;
190
- totalShares;
191
- poolRewards;
192
- lastUpdateTimeMs;
193
- constructor(typeArgs, fields) {
194
- this.$fullTypeName = composeSuiType(PoolRewardManager.$typeName, ...typeArgs);
195
- this.$typeArgs = typeArgs;
196
- this.id = fields.id;
197
- this.totalShares = fields.totalShares;
198
- this.poolRewards = fields.poolRewards;
199
- this.lastUpdateTimeMs = fields.lastUpdateTimeMs;
200
- }
201
- static reified() {
202
- return {
203
- typeName: PoolRewardManager.$typeName,
204
- fullTypeName: composeSuiType(PoolRewardManager.$typeName, ...[]),
205
- typeArgs: [],
206
- isPhantom: PoolRewardManager.$isPhantom,
207
- reifiedTypeArgs: [],
208
- fromFields: (fields) => PoolRewardManager.fromFields(fields),
209
- fromFieldsWithTypes: (item) => PoolRewardManager.fromFieldsWithTypes(item),
210
- fromBcs: (data) => PoolRewardManager.fromBcs(data),
211
- bcs: PoolRewardManager.bcs,
212
- fromJSONField: (field) => PoolRewardManager.fromJSONField(field),
213
- fromJSON: (json) => PoolRewardManager.fromJSON(json),
214
- fetch: async (client, id) => PoolRewardManager.fetch(client, id),
215
- new: (fields) => {
216
- return new PoolRewardManager([], fields);
217
- },
218
- kind: "StructClassReified",
219
- };
220
- }
221
- static get r() {
222
- return PoolRewardManager.reified();
223
- }
224
- static phantom() {
225
- return phantom(PoolRewardManager.reified());
226
- }
227
- static get p() {
228
- return PoolRewardManager.phantom();
229
- }
230
- static get bcs() {
231
- return bcs.struct("PoolRewardManager", {
232
- id: UID.bcs,
233
- total_shares: bcs.u64(),
234
- pool_rewards: bcs.vector(Option.bcs(PoolReward.bcs)),
235
- last_update_time_ms: bcs.u64(),
236
- });
237
- }
238
- static fromFields(fields) {
239
- return PoolRewardManager.reified().new({
240
- id: decodeFromFields(UID.reified(), fields.id),
241
- totalShares: decodeFromFields("u64", fields.total_shares),
242
- poolRewards: decodeFromFields(reified.vector(Option.reified(PoolReward.reified())), fields.pool_rewards),
243
- lastUpdateTimeMs: decodeFromFields("u64", fields.last_update_time_ms),
244
- });
245
- }
246
- static fromFieldsWithTypes(item) {
247
- if (!isPoolRewardManager(item.type)) {
248
- throw new Error("not a PoolRewardManager type");
249
- }
250
- return PoolRewardManager.reified().new({
251
- id: decodeFromFieldsWithTypes(UID.reified(), item.fields.id),
252
- totalShares: decodeFromFieldsWithTypes("u64", item.fields.total_shares),
253
- poolRewards: decodeFromFieldsWithTypes(reified.vector(Option.reified(PoolReward.reified())), item.fields.pool_rewards),
254
- lastUpdateTimeMs: decodeFromFieldsWithTypes("u64", item.fields.last_update_time_ms),
255
- });
256
- }
257
- static fromBcs(data) {
258
- return PoolRewardManager.fromFields(PoolRewardManager.bcs.parse(data));
259
- }
260
- toJSONField() {
261
- return {
262
- id: this.id,
263
- totalShares: this.totalShares.toString(),
264
- poolRewards: fieldToJSON(`vector<${Option.$typeName}<${PoolReward.$typeName}>>`, this.poolRewards),
265
- lastUpdateTimeMs: this.lastUpdateTimeMs.toString(),
266
- };
267
- }
268
- toJSON() {
269
- return {
270
- $typeName: this.$typeName,
271
- $typeArgs: this.$typeArgs,
272
- ...this.toJSONField(),
273
- };
274
- }
275
- static fromJSONField(field) {
276
- return PoolRewardManager.reified().new({
277
- id: decodeFromJSONField(UID.reified(), field.id),
278
- totalShares: decodeFromJSONField("u64", field.totalShares),
279
- poolRewards: decodeFromJSONField(reified.vector(Option.reified(PoolReward.reified())), field.poolRewards),
280
- lastUpdateTimeMs: decodeFromJSONField("u64", field.lastUpdateTimeMs),
281
- });
282
- }
283
- static fromJSON(json) {
284
- if (json.$typeName !== PoolRewardManager.$typeName) {
285
- throw new Error("not a WithTwoGenerics json object");
286
- }
287
- return PoolRewardManager.fromJSONField(json);
288
- }
289
- static async fetch(client, id) {
290
- const { object } = await client.getObject({ objectId: id, include: { content: true } });
291
- if (!isPoolRewardManager(object.type)) {
292
- throw new Error(`object at id ${id} is not a PoolRewardManager object`);
293
- }
294
- return PoolRewardManager.fromBcs(object.content);
295
- }
296
- }
297
341
  /* ============================== RewardBalance =============================== */
298
342
  export function isRewardBalance(type) {
299
343
  type = compressSuiType(type);
300
- return type.startsWith(`${PKG_V1}::liquidity_mining::RewardBalance` + "<");
344
+ return type.startsWith(`${getTypeOrigin('suilend', 'liquidity_mining::RewardBalance')}::liquidity_mining::RewardBalance` + '<');
301
345
  }
302
346
  export class RewardBalance {
303
347
  __StructClass = true;
304
- static $typeName = `${PKG_V1}::liquidity_mining::RewardBalance`;
348
+ static get $typeName() {
349
+ return `${getTypeOrigin('suilend', 'liquidity_mining::RewardBalance')}::liquidity_mining::RewardBalance`;
350
+ }
305
351
  static $numTypeParams = 1;
306
352
  static $isPhantom = [true];
307
353
  $typeName = RewardBalance.$typeName;
@@ -315,23 +361,31 @@ export class RewardBalance {
315
361
  this.dummyField = fields.dummyField;
316
362
  }
317
363
  static reified(T) {
364
+ const reifiedBcs = RewardBalance.bcs;
318
365
  return {
319
- typeName: RewardBalance.$typeName,
320
- fullTypeName: composeSuiType(RewardBalance.$typeName, ...[extractType(T)]),
321
- typeArgs: [extractType(T)],
366
+ get typeName() {
367
+ return RewardBalance.$typeName;
368
+ },
369
+ get fullTypeName() {
370
+ return composeSuiType(RewardBalance.$typeName, ...[extractType(T)]);
371
+ },
372
+ get typeArgs() {
373
+ return [extractType(T)];
374
+ },
322
375
  isPhantom: RewardBalance.$isPhantom,
323
376
  reifiedTypeArgs: [T],
324
377
  fromFields: (fields) => RewardBalance.fromFields(T, fields),
325
378
  fromFieldsWithTypes: (item) => RewardBalance.fromFieldsWithTypes(T, item),
326
- fromBcs: (data) => RewardBalance.fromBcs(T, data),
327
- bcs: RewardBalance.bcs,
379
+ fromBcs: (data) => RewardBalance.fromFields(T, reifiedBcs.parse(data)),
380
+ bcs: reifiedBcs,
328
381
  fromJSONField: (field) => RewardBalance.fromJSONField(T, field),
329
382
  fromJSON: (json) => RewardBalance.fromJSON(T, json),
383
+ fromCoreObject: (obj) => RewardBalance.fromCoreObject(T, obj),
330
384
  fetch: async (client, id) => RewardBalance.fetch(client, T, id),
331
385
  new: (fields) => {
332
386
  return new RewardBalance([extractType(T)], fields);
333
387
  },
334
- kind: "StructClassReified",
388
+ kind: 'StructClassReified',
335
389
  };
336
390
  }
337
391
  static get r() {
@@ -343,23 +397,30 @@ export class RewardBalance {
343
397
  static get p() {
344
398
  return RewardBalance.phantom;
345
399
  }
346
- static get bcs() {
347
- return bcs.struct("RewardBalance", {
400
+ static instantiateBcs() {
401
+ return bcs.struct('RewardBalance', {
348
402
  dummy_field: bcs.bool(),
349
403
  });
350
404
  }
405
+ static cachedBcs = null;
406
+ static get bcs() {
407
+ if (!RewardBalance.cachedBcs) {
408
+ RewardBalance.cachedBcs = RewardBalance.instantiateBcs();
409
+ }
410
+ return RewardBalance.cachedBcs;
411
+ }
351
412
  static fromFields(typeArg, fields) {
352
413
  return RewardBalance.reified(typeArg).new({
353
- dummyField: decodeFromFields("bool", fields.dummy_field),
414
+ dummyField: decodeFromFields('bool', fields.dummy_field),
354
415
  });
355
416
  }
356
417
  static fromFieldsWithTypes(typeArg, item) {
357
418
  if (!isRewardBalance(item.type)) {
358
- throw new Error("not a RewardBalance type");
419
+ throw new Error('not a RewardBalance type');
359
420
  }
360
421
  assertFieldsWithTypesArgsMatch(item, [typeArg]);
361
422
  return RewardBalance.reified(typeArg).new({
362
- dummyField: decodeFromFieldsWithTypes("bool", item.fields.dummy_field),
423
+ dummyField: decodeFromFieldsWithTypes('bool', item.fields.dummy_field),
363
424
  });
364
425
  }
365
426
  static fromBcs(typeArg, data) {
@@ -371,266 +432,335 @@ export class RewardBalance {
371
432
  };
372
433
  }
373
434
  toJSON() {
374
- return {
375
- $typeName: this.$typeName,
376
- $typeArgs: this.$typeArgs,
377
- ...this.toJSONField(),
378
- };
435
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
379
436
  }
380
437
  static fromJSONField(typeArg, field) {
381
438
  return RewardBalance.reified(typeArg).new({
382
- dummyField: decodeFromJSONField("bool", field.dummyField),
439
+ dummyField: decodeFromJSONField('bool', field.dummyField),
383
440
  });
384
441
  }
385
442
  static fromJSON(typeArg, json) {
386
443
  if (json.$typeName !== RewardBalance.$typeName) {
387
- throw new Error("not a WithTwoGenerics json object");
444
+ throw new Error(`not a RewardBalance json object: expected '${RewardBalance.$typeName}' but got '${json.$typeName}'`);
388
445
  }
389
- assertReifiedTypeArgsMatch(composeSuiType(RewardBalance.$typeName, extractType(typeArg)), json.$typeArgs, [typeArg]);
446
+ assertReifiedTypeArgsMatch(composeSuiType(RewardBalance.$typeName, ...[extractType(typeArg)]), json.$typeArgs, [typeArg]);
390
447
  return RewardBalance.fromJSONField(typeArg, json);
391
448
  }
449
+ static fromCoreObject(typeArg, obj) {
450
+ if (!isRewardBalance(obj.type)) {
451
+ throw new Error(`object at ${obj.objectId} is not a RewardBalance object`);
452
+ }
453
+ const gotTypeArgs = parseTypeName(obj.type).typeArgs;
454
+ if (gotTypeArgs.length !== 1) {
455
+ throw new Error(`type argument mismatch: expected 1 type arguments but got '${gotTypeArgs.length}'`);
456
+ }
457
+ for (let i = 0; i < 1; i++) {
458
+ const gotTypeArg = compressSuiType(gotTypeArgs[i]);
459
+ const expectedTypeArg = compressSuiType(extractType([typeArg][i]));
460
+ if (gotTypeArg !== expectedTypeArg) {
461
+ throw new Error(`type argument mismatch at position ${i}: expected '${expectedTypeArg}' but got '${gotTypeArg}'`);
462
+ }
463
+ }
464
+ return RewardBalance.fromBcs(typeArg, obj.content);
465
+ }
392
466
  static async fetch(client, typeArg, id) {
393
- const { object } = await client.getObject({ objectId: id, include: { content: true } });
467
+ const { object } = await client.core.getObject({
468
+ objectId: id,
469
+ include: { content: true },
470
+ });
394
471
  if (!isRewardBalance(object.type)) {
395
472
  throw new Error(`object at id ${id} is not a RewardBalance object`);
396
473
  }
474
+ const gotTypeArgs = parseTypeName(object.type).typeArgs;
475
+ if (gotTypeArgs.length !== 1) {
476
+ throw new Error(`type argument mismatch: expected 1 type arguments but got '${gotTypeArgs.length}'`);
477
+ }
478
+ for (let i = 0; i < 1; i++) {
479
+ const gotTypeArg = compressSuiType(gotTypeArgs[i]);
480
+ const expectedTypeArg = compressSuiType(extractType([typeArg][i]));
481
+ if (gotTypeArg !== expectedTypeArg) {
482
+ throw new Error(`type argument mismatch at position ${i}: expected '${expectedTypeArg}' but got '${gotTypeArg}'`);
483
+ }
484
+ }
397
485
  return RewardBalance.fromBcs(typeArg, object.content);
398
486
  }
399
487
  }
400
- /* ============================== UserReward =============================== */
401
- export function isUserReward(type) {
488
+ /* ============================== UserRewardManager =============================== */
489
+ export function isUserRewardManager(type) {
402
490
  type = compressSuiType(type);
403
- return type === `${PKG_V1}::liquidity_mining::UserReward`;
491
+ return type
492
+ === `${getTypeOrigin('suilend', 'liquidity_mining::UserRewardManager')}::liquidity_mining::UserRewardManager`;
404
493
  }
405
- export class UserReward {
494
+ export class UserRewardManager {
406
495
  __StructClass = true;
407
- static $typeName = `${PKG_V1}::liquidity_mining::UserReward`;
496
+ static get $typeName() {
497
+ return `${getTypeOrigin('suilend', 'liquidity_mining::UserRewardManager')}::liquidity_mining::UserRewardManager`;
498
+ }
408
499
  static $numTypeParams = 0;
409
500
  static $isPhantom = [];
410
- $typeName = UserReward.$typeName;
501
+ $typeName = UserRewardManager.$typeName;
411
502
  $fullTypeName;
412
503
  $typeArgs;
413
- $isPhantom = UserReward.$isPhantom;
414
- poolRewardId;
415
- earnedRewards;
416
- cumulativeRewardsPerShare;
504
+ $isPhantom = UserRewardManager.$isPhantom;
505
+ poolRewardManagerId;
506
+ share;
507
+ rewards;
508
+ lastUpdateTimeMs;
417
509
  constructor(typeArgs, fields) {
418
- this.$fullTypeName = composeSuiType(UserReward.$typeName, ...typeArgs);
510
+ this.$fullTypeName = composeSuiType(UserRewardManager.$typeName, ...typeArgs);
419
511
  this.$typeArgs = typeArgs;
420
- this.poolRewardId = fields.poolRewardId;
421
- this.earnedRewards = fields.earnedRewards;
422
- this.cumulativeRewardsPerShare = fields.cumulativeRewardsPerShare;
512
+ this.poolRewardManagerId = fields.poolRewardManagerId;
513
+ this.share = fields.share;
514
+ this.rewards = fields.rewards;
515
+ this.lastUpdateTimeMs = fields.lastUpdateTimeMs;
423
516
  }
424
517
  static reified() {
518
+ const reifiedBcs = UserRewardManager.bcs;
425
519
  return {
426
- typeName: UserReward.$typeName,
427
- fullTypeName: composeSuiType(UserReward.$typeName, ...[]),
520
+ get typeName() {
521
+ return UserRewardManager.$typeName;
522
+ },
523
+ get fullTypeName() {
524
+ return composeSuiType(UserRewardManager.$typeName, ...[]);
525
+ },
428
526
  typeArgs: [],
429
- isPhantom: UserReward.$isPhantom,
527
+ isPhantom: UserRewardManager.$isPhantom,
430
528
  reifiedTypeArgs: [],
431
- fromFields: (fields) => UserReward.fromFields(fields),
432
- fromFieldsWithTypes: (item) => UserReward.fromFieldsWithTypes(item),
433
- fromBcs: (data) => UserReward.fromBcs(data),
434
- bcs: UserReward.bcs,
435
- fromJSONField: (field) => UserReward.fromJSONField(field),
436
- fromJSON: (json) => UserReward.fromJSON(json),
437
- fetch: async (client, id) => UserReward.fetch(client, id),
529
+ fromFields: (fields) => UserRewardManager.fromFields(fields),
530
+ fromFieldsWithTypes: (item) => UserRewardManager.fromFieldsWithTypes(item),
531
+ fromBcs: (data) => UserRewardManager.fromFields(reifiedBcs.parse(data)),
532
+ bcs: reifiedBcs,
533
+ fromJSONField: (field) => UserRewardManager.fromJSONField(field),
534
+ fromJSON: (json) => UserRewardManager.fromJSON(json),
535
+ fromCoreObject: (obj) => UserRewardManager.fromCoreObject(obj),
536
+ fetch: async (client, id) => UserRewardManager.fetch(client, id),
438
537
  new: (fields) => {
439
- return new UserReward([], fields);
538
+ return new UserRewardManager([], fields);
440
539
  },
441
- kind: "StructClassReified",
540
+ kind: 'StructClassReified',
442
541
  };
443
542
  }
444
543
  static get r() {
445
- return UserReward.reified();
544
+ return UserRewardManager.reified();
446
545
  }
447
546
  static phantom() {
448
- return phantom(UserReward.reified());
547
+ return phantom(UserRewardManager.reified());
449
548
  }
450
549
  static get p() {
451
- return UserReward.phantom();
550
+ return UserRewardManager.phantom();
452
551
  }
453
- static get bcs() {
454
- return bcs.struct("UserReward", {
455
- pool_reward_id: ID.bcs,
456
- earned_rewards: Decimal.bcs,
457
- cumulative_rewards_per_share: Decimal.bcs,
552
+ static instantiateBcs() {
553
+ return bcs.struct('UserRewardManager', {
554
+ pool_reward_manager_id: ID.bcs,
555
+ share: bcs.u64(),
556
+ rewards: bcs.vector(Option.bcs(UserReward.bcs)),
557
+ last_update_time_ms: bcs.u64(),
458
558
  });
459
559
  }
560
+ static cachedBcs = null;
561
+ static get bcs() {
562
+ if (!UserRewardManager.cachedBcs) {
563
+ UserRewardManager.cachedBcs = UserRewardManager.instantiateBcs();
564
+ }
565
+ return UserRewardManager.cachedBcs;
566
+ }
460
567
  static fromFields(fields) {
461
- return UserReward.reified().new({
462
- poolRewardId: decodeFromFields(ID.reified(), fields.pool_reward_id),
463
- earnedRewards: decodeFromFields(Decimal.reified(), fields.earned_rewards),
464
- cumulativeRewardsPerShare: decodeFromFields(Decimal.reified(), fields.cumulative_rewards_per_share),
568
+ return UserRewardManager.reified().new({
569
+ poolRewardManagerId: decodeFromFields(ID.reified(), fields.pool_reward_manager_id),
570
+ share: decodeFromFields('u64', fields.share),
571
+ rewards: decodeFromFields(vector(Option.reified(UserReward.reified())), fields.rewards),
572
+ lastUpdateTimeMs: decodeFromFields('u64', fields.last_update_time_ms),
465
573
  });
466
574
  }
467
575
  static fromFieldsWithTypes(item) {
468
- if (!isUserReward(item.type)) {
469
- throw new Error("not a UserReward type");
576
+ if (!isUserRewardManager(item.type)) {
577
+ throw new Error('not a UserRewardManager type');
470
578
  }
471
- return UserReward.reified().new({
472
- poolRewardId: decodeFromFieldsWithTypes(ID.reified(), item.fields.pool_reward_id),
473
- earnedRewards: decodeFromFieldsWithTypes(Decimal.reified(), item.fields.earned_rewards),
474
- cumulativeRewardsPerShare: decodeFromFieldsWithTypes(Decimal.reified(), item.fields.cumulative_rewards_per_share),
579
+ return UserRewardManager.reified().new({
580
+ poolRewardManagerId: decodeFromFieldsWithTypes(ID.reified(), item.fields.pool_reward_manager_id),
581
+ share: decodeFromFieldsWithTypes('u64', item.fields.share),
582
+ rewards: decodeFromFieldsWithTypes(vector(Option.reified(UserReward.reified())), item.fields.rewards),
583
+ lastUpdateTimeMs: decodeFromFieldsWithTypes('u64', item.fields.last_update_time_ms),
475
584
  });
476
585
  }
477
586
  static fromBcs(data) {
478
- return UserReward.fromFields(UserReward.bcs.parse(data));
587
+ return UserRewardManager.fromFields(UserRewardManager.bcs.parse(data));
479
588
  }
480
589
  toJSONField() {
481
590
  return {
482
- poolRewardId: this.poolRewardId,
483
- earnedRewards: this.earnedRewards.toJSONField(),
484
- cumulativeRewardsPerShare: this.cumulativeRewardsPerShare.toJSONField(),
591
+ poolRewardManagerId: this.poolRewardManagerId,
592
+ share: this.share.toString(),
593
+ rewards: fieldToJSON(`vector<${Option.$typeName}<${UserReward.$typeName}>>`, this.rewards),
594
+ lastUpdateTimeMs: this.lastUpdateTimeMs.toString(),
485
595
  };
486
596
  }
487
597
  toJSON() {
488
- return {
489
- $typeName: this.$typeName,
490
- $typeArgs: this.$typeArgs,
491
- ...this.toJSONField(),
492
- };
598
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
493
599
  }
494
600
  static fromJSONField(field) {
495
- return UserReward.reified().new({
496
- poolRewardId: decodeFromJSONField(ID.reified(), field.poolRewardId),
497
- earnedRewards: decodeFromJSONField(Decimal.reified(), field.earnedRewards),
498
- cumulativeRewardsPerShare: decodeFromJSONField(Decimal.reified(), field.cumulativeRewardsPerShare),
601
+ return UserRewardManager.reified().new({
602
+ poolRewardManagerId: decodeFromJSONField(ID.reified(), field.poolRewardManagerId),
603
+ share: decodeFromJSONField('u64', field.share),
604
+ rewards: decodeFromJSONField(vector(Option.reified(UserReward.reified())), field.rewards),
605
+ lastUpdateTimeMs: decodeFromJSONField('u64', field.lastUpdateTimeMs),
499
606
  });
500
607
  }
501
608
  static fromJSON(json) {
502
- if (json.$typeName !== UserReward.$typeName) {
503
- throw new Error("not a WithTwoGenerics json object");
609
+ if (json.$typeName !== UserRewardManager.$typeName) {
610
+ throw new Error(`not a UserRewardManager json object: expected '${UserRewardManager.$typeName}' but got '${json.$typeName}'`);
504
611
  }
505
- return UserReward.fromJSONField(json);
612
+ return UserRewardManager.fromJSONField(json);
613
+ }
614
+ static fromCoreObject(obj) {
615
+ if (!isUserRewardManager(obj.type)) {
616
+ throw new Error(`object at ${obj.objectId} is not a UserRewardManager object`);
617
+ }
618
+ return UserRewardManager.fromBcs(obj.content);
506
619
  }
507
620
  static async fetch(client, id) {
508
- const { object } = await client.getObject({ objectId: id, include: { content: true } });
509
- if (!isUserReward(object.type)) {
510
- throw new Error(`object at id ${id} is not a UserReward object`);
621
+ const { object } = await client.core.getObject({
622
+ objectId: id,
623
+ include: { content: true },
624
+ });
625
+ if (!isUserRewardManager(object.type)) {
626
+ throw new Error(`object at id ${id} is not a UserRewardManager object`);
511
627
  }
512
- return UserReward.fromBcs(object.content);
628
+ return UserRewardManager.fromBcs(object.content);
513
629
  }
514
630
  }
515
- /* ============================== UserRewardManager =============================== */
516
- export function isUserRewardManager(type) {
631
+ /* ============================== UserReward =============================== */
632
+ export function isUserReward(type) {
517
633
  type = compressSuiType(type);
518
- return type === `${PKG_V1}::liquidity_mining::UserRewardManager`;
634
+ return type
635
+ === `${getTypeOrigin('suilend', 'liquidity_mining::UserReward')}::liquidity_mining::UserReward`;
519
636
  }
520
- export class UserRewardManager {
637
+ export class UserReward {
521
638
  __StructClass = true;
522
- static $typeName = `${PKG_V1}::liquidity_mining::UserRewardManager`;
639
+ static get $typeName() {
640
+ return `${getTypeOrigin('suilend', 'liquidity_mining::UserReward')}::liquidity_mining::UserReward`;
641
+ }
523
642
  static $numTypeParams = 0;
524
643
  static $isPhantom = [];
525
- $typeName = UserRewardManager.$typeName;
644
+ $typeName = UserReward.$typeName;
526
645
  $fullTypeName;
527
646
  $typeArgs;
528
- $isPhantom = UserRewardManager.$isPhantom;
529
- poolRewardManagerId;
530
- share;
531
- rewards;
532
- lastUpdateTimeMs;
647
+ $isPhantom = UserReward.$isPhantom;
648
+ poolRewardId;
649
+ earnedRewards;
650
+ cumulativeRewardsPerShare;
533
651
  constructor(typeArgs, fields) {
534
- this.$fullTypeName = composeSuiType(UserRewardManager.$typeName, ...typeArgs);
652
+ this.$fullTypeName = composeSuiType(UserReward.$typeName, ...typeArgs);
535
653
  this.$typeArgs = typeArgs;
536
- this.poolRewardManagerId = fields.poolRewardManagerId;
537
- this.share = fields.share;
538
- this.rewards = fields.rewards;
539
- this.lastUpdateTimeMs = fields.lastUpdateTimeMs;
654
+ this.poolRewardId = fields.poolRewardId;
655
+ this.earnedRewards = fields.earnedRewards;
656
+ this.cumulativeRewardsPerShare = fields.cumulativeRewardsPerShare;
540
657
  }
541
658
  static reified() {
659
+ const reifiedBcs = UserReward.bcs;
542
660
  return {
543
- typeName: UserRewardManager.$typeName,
544
- fullTypeName: composeSuiType(UserRewardManager.$typeName, ...[]),
661
+ get typeName() {
662
+ return UserReward.$typeName;
663
+ },
664
+ get fullTypeName() {
665
+ return composeSuiType(UserReward.$typeName, ...[]);
666
+ },
545
667
  typeArgs: [],
546
- isPhantom: UserRewardManager.$isPhantom,
668
+ isPhantom: UserReward.$isPhantom,
547
669
  reifiedTypeArgs: [],
548
- fromFields: (fields) => UserRewardManager.fromFields(fields),
549
- fromFieldsWithTypes: (item) => UserRewardManager.fromFieldsWithTypes(item),
550
- fromBcs: (data) => UserRewardManager.fromBcs(data),
551
- bcs: UserRewardManager.bcs,
552
- fromJSONField: (field) => UserRewardManager.fromJSONField(field),
553
- fromJSON: (json) => UserRewardManager.fromJSON(json),
554
- fetch: async (client, id) => UserRewardManager.fetch(client, id),
670
+ fromFields: (fields) => UserReward.fromFields(fields),
671
+ fromFieldsWithTypes: (item) => UserReward.fromFieldsWithTypes(item),
672
+ fromBcs: (data) => UserReward.fromFields(reifiedBcs.parse(data)),
673
+ bcs: reifiedBcs,
674
+ fromJSONField: (field) => UserReward.fromJSONField(field),
675
+ fromJSON: (json) => UserReward.fromJSON(json),
676
+ fromCoreObject: (obj) => UserReward.fromCoreObject(obj),
677
+ fetch: async (client, id) => UserReward.fetch(client, id),
555
678
  new: (fields) => {
556
- return new UserRewardManager([], fields);
679
+ return new UserReward([], fields);
557
680
  },
558
- kind: "StructClassReified",
681
+ kind: 'StructClassReified',
559
682
  };
560
683
  }
561
684
  static get r() {
562
- return UserRewardManager.reified();
685
+ return UserReward.reified();
563
686
  }
564
687
  static phantom() {
565
- return phantom(UserRewardManager.reified());
688
+ return phantom(UserReward.reified());
566
689
  }
567
690
  static get p() {
568
- return UserRewardManager.phantom();
691
+ return UserReward.phantom();
569
692
  }
570
- static get bcs() {
571
- return bcs.struct("UserRewardManager", {
572
- pool_reward_manager_id: ID.bcs,
573
- share: bcs.u64(),
574
- rewards: bcs.vector(Option.bcs(UserReward.bcs)),
575
- last_update_time_ms: bcs.u64(),
693
+ static instantiateBcs() {
694
+ return bcs.struct('UserReward', {
695
+ pool_reward_id: ID.bcs,
696
+ earned_rewards: Decimal.bcs,
697
+ cumulative_rewards_per_share: Decimal.bcs,
576
698
  });
577
699
  }
700
+ static cachedBcs = null;
701
+ static get bcs() {
702
+ if (!UserReward.cachedBcs) {
703
+ UserReward.cachedBcs = UserReward.instantiateBcs();
704
+ }
705
+ return UserReward.cachedBcs;
706
+ }
578
707
  static fromFields(fields) {
579
- return UserRewardManager.reified().new({
580
- poolRewardManagerId: decodeFromFields(ID.reified(), fields.pool_reward_manager_id),
581
- share: decodeFromFields("u64", fields.share),
582
- rewards: decodeFromFields(reified.vector(Option.reified(UserReward.reified())), fields.rewards),
583
- lastUpdateTimeMs: decodeFromFields("u64", fields.last_update_time_ms),
708
+ return UserReward.reified().new({
709
+ poolRewardId: decodeFromFields(ID.reified(), fields.pool_reward_id),
710
+ earnedRewards: decodeFromFields(Decimal.reified(), fields.earned_rewards),
711
+ cumulativeRewardsPerShare: decodeFromFields(Decimal.reified(), fields.cumulative_rewards_per_share),
584
712
  });
585
713
  }
586
714
  static fromFieldsWithTypes(item) {
587
- if (!isUserRewardManager(item.type)) {
588
- throw new Error("not a UserRewardManager type");
715
+ if (!isUserReward(item.type)) {
716
+ throw new Error('not a UserReward type');
589
717
  }
590
- return UserRewardManager.reified().new({
591
- poolRewardManagerId: decodeFromFieldsWithTypes(ID.reified(), item.fields.pool_reward_manager_id),
592
- share: decodeFromFieldsWithTypes("u64", item.fields.share),
593
- rewards: decodeFromFieldsWithTypes(reified.vector(Option.reified(UserReward.reified())), item.fields.rewards),
594
- lastUpdateTimeMs: decodeFromFieldsWithTypes("u64", item.fields.last_update_time_ms),
718
+ return UserReward.reified().new({
719
+ poolRewardId: decodeFromFieldsWithTypes(ID.reified(), item.fields.pool_reward_id),
720
+ earnedRewards: decodeFromFieldsWithTypes(Decimal.reified(), item.fields.earned_rewards),
721
+ cumulativeRewardsPerShare: decodeFromFieldsWithTypes(Decimal.reified(), item.fields.cumulative_rewards_per_share),
595
722
  });
596
723
  }
597
724
  static fromBcs(data) {
598
- return UserRewardManager.fromFields(UserRewardManager.bcs.parse(data));
725
+ return UserReward.fromFields(UserReward.bcs.parse(data));
599
726
  }
600
727
  toJSONField() {
601
728
  return {
602
- poolRewardManagerId: this.poolRewardManagerId,
603
- share: this.share.toString(),
604
- rewards: fieldToJSON(`vector<${Option.$typeName}<${UserReward.$typeName}>>`, this.rewards),
605
- lastUpdateTimeMs: this.lastUpdateTimeMs.toString(),
729
+ poolRewardId: this.poolRewardId,
730
+ earnedRewards: this.earnedRewards.toJSONField(),
731
+ cumulativeRewardsPerShare: this.cumulativeRewardsPerShare.toJSONField(),
606
732
  };
607
733
  }
608
734
  toJSON() {
609
- return {
610
- $typeName: this.$typeName,
611
- $typeArgs: this.$typeArgs,
612
- ...this.toJSONField(),
613
- };
735
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
614
736
  }
615
737
  static fromJSONField(field) {
616
- return UserRewardManager.reified().new({
617
- poolRewardManagerId: decodeFromJSONField(ID.reified(), field.poolRewardManagerId),
618
- share: decodeFromJSONField("u64", field.share),
619
- rewards: decodeFromJSONField(reified.vector(Option.reified(UserReward.reified())), field.rewards),
620
- lastUpdateTimeMs: decodeFromJSONField("u64", field.lastUpdateTimeMs),
738
+ return UserReward.reified().new({
739
+ poolRewardId: decodeFromJSONField(ID.reified(), field.poolRewardId),
740
+ earnedRewards: decodeFromJSONField(Decimal.reified(), field.earnedRewards),
741
+ cumulativeRewardsPerShare: decodeFromJSONField(Decimal.reified(), field.cumulativeRewardsPerShare),
621
742
  });
622
743
  }
623
744
  static fromJSON(json) {
624
- if (json.$typeName !== UserRewardManager.$typeName) {
625
- throw new Error("not a WithTwoGenerics json object");
745
+ if (json.$typeName !== UserReward.$typeName) {
746
+ throw new Error(`not a UserReward json object: expected '${UserReward.$typeName}' but got '${json.$typeName}'`);
626
747
  }
627
- return UserRewardManager.fromJSONField(json);
748
+ return UserReward.fromJSONField(json);
749
+ }
750
+ static fromCoreObject(obj) {
751
+ if (!isUserReward(obj.type)) {
752
+ throw new Error(`object at ${obj.objectId} is not a UserReward object`);
753
+ }
754
+ return UserReward.fromBcs(obj.content);
628
755
  }
629
756
  static async fetch(client, id) {
630
- const { object } = await client.getObject({ objectId: id, include: { content: true } });
631
- if (!isUserRewardManager(object.type)) {
632
- throw new Error(`object at id ${id} is not a UserRewardManager object`);
757
+ const { object } = await client.core.getObject({
758
+ objectId: id,
759
+ include: { content: true },
760
+ });
761
+ if (!isUserReward(object.type)) {
762
+ throw new Error(`object at id ${id} is not a UserReward object`);
633
763
  }
634
- return UserRewardManager.fromBcs(object.content);
764
+ return UserReward.fromBcs(object.content);
635
765
  }
636
766
  }