@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.
- package/_generated/_dependencies/pyth-2/price-identifier/structs.d.ts +46 -0
- package/_generated/_dependencies/{source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e → pyth-2}/price-identifier/structs.js +45 -25
- package/_generated/_dependencies/std/ascii/structs.d.ts +100 -0
- package/_generated/_dependencies/{source/0x1 → std}/ascii/structs.js +153 -103
- package/_generated/_dependencies/{source/0x1 → std}/option/structs.d.ts +29 -21
- package/_generated/_dependencies/std/option/structs.js +155 -0
- package/_generated/_dependencies/std/type-name/structs.d.ts +65 -0
- package/_generated/_dependencies/{source/0x1 → std}/type-name/structs.js +49 -22
- package/_generated/_dependencies/sui/bag/structs.d.ts +75 -0
- package/_generated/_dependencies/sui/bag/structs.js +154 -0
- package/_generated/_dependencies/{source/0x2 → sui}/balance/structs.d.ts +80 -60
- package/_generated/_dependencies/sui/balance/structs.js +306 -0
- package/_generated/_dependencies/sui/object/structs.d.ts +104 -0
- package/_generated/_dependencies/{source/0x2 → sui}/object/structs.js +98 -46
- package/_generated/_dependencies/{source/0x2 → sui}/object-table/structs.d.ts +37 -30
- package/_generated/_dependencies/sui/object-table/structs.js +164 -0
- package/_generated/_envs/index.d.ts +3 -0
- package/_generated/_envs/index.js +18 -0
- package/_generated/_envs/mainnet.d.ts +2 -0
- package/_generated/_envs/mainnet.js +490 -0
- package/_generated/_framework/env.d.ts +137 -0
- package/_generated/_framework/env.js +261 -0
- package/_generated/_framework/reified.d.ts +68 -36
- package/_generated/_framework/reified.js +110 -98
- package/_generated/_framework/util.d.ts +4 -4
- package/_generated/_framework/util.js +82 -79
- package/_generated/_framework/vector.d.ts +11 -9
- package/_generated/_framework/vector.js +10 -10
- package/_generated/suilend/cell/structs.d.ts +24 -22
- package/_generated/suilend/cell/structs.js +68 -24
- package/_generated/suilend/decimal/structs.d.ts +28 -24
- package/_generated/suilend/decimal/structs.js +45 -24
- package/_generated/suilend/index.d.ts +5 -6
- package/_generated/suilend/index.js +10 -19
- package/_generated/suilend/lending-market/functions.d.ts +1123 -149
- package/_generated/suilend/lending-market/functions.js +1121 -207
- package/_generated/suilend/lending-market/structs.d.ts +985 -1290
- package/_generated/suilend/lending-market/structs.js +2482 -1282
- package/_generated/suilend/lending-market-registry/functions.d.ts +32 -3
- package/_generated/suilend/lending-market-registry/functions.js +30 -6
- package/_generated/suilend/liquidity-mining/structs.d.ts +200 -333
- package/_generated/suilend/liquidity-mining/structs.js +449 -319
- package/_generated/suilend/obligation/structs.d.ts +406 -918
- package/_generated/suilend/obligation/structs.js +786 -596
- package/_generated/suilend/rate-limiter/functions.d.ts +134 -15
- package/_generated/suilend/rate-limiter/functions.js +139 -21
- package/_generated/suilend/rate-limiter/structs.d.ts +72 -80
- package/_generated/suilend/rate-limiter/structs.js +98 -48
- package/_generated/suilend/reserve/structs.d.ts +611 -904
- package/_generated/suilend/reserve/structs.js +1528 -736
- package/_generated/suilend/reserve-config/functions.d.ts +718 -96
- package/_generated/suilend/reserve-config/functions.js +751 -157
- package/_generated/suilend/reserve-config/structs.d.ts +148 -163
- package/_generated/suilend/reserve-config/structs.js +260 -94
- package/client.d.ts +2 -2
- package/client.js +22 -39
- package/lib/initialize.d.ts +76 -76
- package/lib/initialize.js +10 -10
- package/lib/proCompatible.js +5 -5
- package/package.json +1 -1
- package/parsers/lendingMarket.d.ts +9 -9
- package/parsers/obligation.d.ts +14 -14
- package/parsers/obligation.js +4 -4
- package/parsers/rateLimiter.d.ts +1 -1
- package/parsers/reserve.d.ts +12 -12
- package/parsers/reserve.js +2 -2
- package/strategies.d.ts +14 -14
- package/utils/simulate.d.ts +1 -1
- package/utils/simulate.js +5 -5
- package/_generated/_dependencies/source/0x1/ascii/structs.d.ts +0 -84
- package/_generated/_dependencies/source/0x1/index.d.ts +0 -3
- package/_generated/_dependencies/source/0x1/index.js +0 -3
- package/_generated/_dependencies/source/0x1/option/structs.js +0 -110
- package/_generated/_dependencies/source/0x1/type-name/structs.d.ts +0 -47
- package/_generated/_dependencies/source/0x2/bag/structs.d.ts +0 -52
- package/_generated/_dependencies/source/0x2/bag/structs.js +0 -113
- package/_generated/_dependencies/source/0x2/balance/structs.js +0 -210
- package/_generated/_dependencies/source/0x2/index.d.ts +0 -3
- package/_generated/_dependencies/source/0x2/index.js +0 -3
- package/_generated/_dependencies/source/0x2/object/structs.d.ts +0 -82
- package/_generated/_dependencies/source/0x2/object-table/structs.js +0 -115
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.d.ts +0 -4
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.js +0 -4
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.d.ts +0 -46
|
@@ -1,21 +1,168 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
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
|
|
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
|
|
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
|
|
52
|
-
|
|
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.
|
|
59
|
-
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:
|
|
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
|
|
79
|
-
return bcs.struct(
|
|
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(
|
|
98
|
-
endTimeMs: decodeFromFields(
|
|
99
|
-
totalRewards: decodeFromFields(
|
|
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(
|
|
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(
|
|
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(
|
|
115
|
-
endTimeMs: decodeFromFieldsWithTypes(
|
|
116
|
-
totalRewards: decodeFromFieldsWithTypes(
|
|
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(
|
|
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
|
|
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(
|
|
153
|
-
endTimeMs: decodeFromJSONField(
|
|
154
|
-
totalRewards: decodeFromJSONField(
|
|
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(
|
|
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(
|
|
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({
|
|
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(`${
|
|
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
|
|
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
|
|
320
|
-
|
|
321
|
-
|
|
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.
|
|
327
|
-
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:
|
|
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
|
|
347
|
-
return bcs.struct(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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({
|
|
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
|
-
/* ==============================
|
|
401
|
-
export function
|
|
488
|
+
/* ============================== UserRewardManager =============================== */
|
|
489
|
+
export function isUserRewardManager(type) {
|
|
402
490
|
type = compressSuiType(type);
|
|
403
|
-
return type
|
|
491
|
+
return type
|
|
492
|
+
=== `${getTypeOrigin('suilend', 'liquidity_mining::UserRewardManager')}::liquidity_mining::UserRewardManager`;
|
|
404
493
|
}
|
|
405
|
-
export class
|
|
494
|
+
export class UserRewardManager {
|
|
406
495
|
__StructClass = true;
|
|
407
|
-
static $typeName
|
|
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 =
|
|
501
|
+
$typeName = UserRewardManager.$typeName;
|
|
411
502
|
$fullTypeName;
|
|
412
503
|
$typeArgs;
|
|
413
|
-
$isPhantom =
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
504
|
+
$isPhantom = UserRewardManager.$isPhantom;
|
|
505
|
+
poolRewardManagerId;
|
|
506
|
+
share;
|
|
507
|
+
rewards;
|
|
508
|
+
lastUpdateTimeMs;
|
|
417
509
|
constructor(typeArgs, fields) {
|
|
418
|
-
this.$fullTypeName = composeSuiType(
|
|
510
|
+
this.$fullTypeName = composeSuiType(UserRewardManager.$typeName, ...typeArgs);
|
|
419
511
|
this.$typeArgs = typeArgs;
|
|
420
|
-
this.
|
|
421
|
-
this.
|
|
422
|
-
this.
|
|
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
|
|
427
|
-
|
|
520
|
+
get typeName() {
|
|
521
|
+
return UserRewardManager.$typeName;
|
|
522
|
+
},
|
|
523
|
+
get fullTypeName() {
|
|
524
|
+
return composeSuiType(UserRewardManager.$typeName, ...[]);
|
|
525
|
+
},
|
|
428
526
|
typeArgs: [],
|
|
429
|
-
isPhantom:
|
|
527
|
+
isPhantom: UserRewardManager.$isPhantom,
|
|
430
528
|
reifiedTypeArgs: [],
|
|
431
|
-
fromFields: (fields) =>
|
|
432
|
-
fromFieldsWithTypes: (item) =>
|
|
433
|
-
fromBcs: (data) =>
|
|
434
|
-
bcs:
|
|
435
|
-
fromJSONField: (field) =>
|
|
436
|
-
fromJSON: (json) =>
|
|
437
|
-
|
|
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
|
|
538
|
+
return new UserRewardManager([], fields);
|
|
440
539
|
},
|
|
441
|
-
kind:
|
|
540
|
+
kind: 'StructClassReified',
|
|
442
541
|
};
|
|
443
542
|
}
|
|
444
543
|
static get r() {
|
|
445
|
-
return
|
|
544
|
+
return UserRewardManager.reified();
|
|
446
545
|
}
|
|
447
546
|
static phantom() {
|
|
448
|
-
return phantom(
|
|
547
|
+
return phantom(UserRewardManager.reified());
|
|
449
548
|
}
|
|
450
549
|
static get p() {
|
|
451
|
-
return
|
|
550
|
+
return UserRewardManager.phantom();
|
|
452
551
|
}
|
|
453
|
-
static
|
|
454
|
-
return bcs.struct(
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
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
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
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 (!
|
|
469
|
-
throw new Error(
|
|
576
|
+
if (!isUserRewardManager(item.type)) {
|
|
577
|
+
throw new Error('not a UserRewardManager type');
|
|
470
578
|
}
|
|
471
|
-
return
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
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
|
|
587
|
+
return UserRewardManager.fromFields(UserRewardManager.bcs.parse(data));
|
|
479
588
|
}
|
|
480
589
|
toJSONField() {
|
|
481
590
|
return {
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
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
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
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 !==
|
|
503
|
-
throw new Error(
|
|
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
|
|
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({
|
|
509
|
-
|
|
510
|
-
|
|
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
|
|
628
|
+
return UserRewardManager.fromBcs(object.content);
|
|
513
629
|
}
|
|
514
630
|
}
|
|
515
|
-
/* ==============================
|
|
516
|
-
export function
|
|
631
|
+
/* ============================== UserReward =============================== */
|
|
632
|
+
export function isUserReward(type) {
|
|
517
633
|
type = compressSuiType(type);
|
|
518
|
-
return type
|
|
634
|
+
return type
|
|
635
|
+
=== `${getTypeOrigin('suilend', 'liquidity_mining::UserReward')}::liquidity_mining::UserReward`;
|
|
519
636
|
}
|
|
520
|
-
export class
|
|
637
|
+
export class UserReward {
|
|
521
638
|
__StructClass = true;
|
|
522
|
-
static $typeName
|
|
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 =
|
|
644
|
+
$typeName = UserReward.$typeName;
|
|
526
645
|
$fullTypeName;
|
|
527
646
|
$typeArgs;
|
|
528
|
-
$isPhantom =
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
lastUpdateTimeMs;
|
|
647
|
+
$isPhantom = UserReward.$isPhantom;
|
|
648
|
+
poolRewardId;
|
|
649
|
+
earnedRewards;
|
|
650
|
+
cumulativeRewardsPerShare;
|
|
533
651
|
constructor(typeArgs, fields) {
|
|
534
|
-
this.$fullTypeName = composeSuiType(
|
|
652
|
+
this.$fullTypeName = composeSuiType(UserReward.$typeName, ...typeArgs);
|
|
535
653
|
this.$typeArgs = typeArgs;
|
|
536
|
-
this.
|
|
537
|
-
this.
|
|
538
|
-
this.
|
|
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
|
|
544
|
-
|
|
661
|
+
get typeName() {
|
|
662
|
+
return UserReward.$typeName;
|
|
663
|
+
},
|
|
664
|
+
get fullTypeName() {
|
|
665
|
+
return composeSuiType(UserReward.$typeName, ...[]);
|
|
666
|
+
},
|
|
545
667
|
typeArgs: [],
|
|
546
|
-
isPhantom:
|
|
668
|
+
isPhantom: UserReward.$isPhantom,
|
|
547
669
|
reifiedTypeArgs: [],
|
|
548
|
-
fromFields: (fields) =>
|
|
549
|
-
fromFieldsWithTypes: (item) =>
|
|
550
|
-
fromBcs: (data) =>
|
|
551
|
-
bcs:
|
|
552
|
-
fromJSONField: (field) =>
|
|
553
|
-
fromJSON: (json) =>
|
|
554
|
-
|
|
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
|
|
679
|
+
return new UserReward([], fields);
|
|
557
680
|
},
|
|
558
|
-
kind:
|
|
681
|
+
kind: 'StructClassReified',
|
|
559
682
|
};
|
|
560
683
|
}
|
|
561
684
|
static get r() {
|
|
562
|
-
return
|
|
685
|
+
return UserReward.reified();
|
|
563
686
|
}
|
|
564
687
|
static phantom() {
|
|
565
|
-
return phantom(
|
|
688
|
+
return phantom(UserReward.reified());
|
|
566
689
|
}
|
|
567
690
|
static get p() {
|
|
568
|
-
return
|
|
691
|
+
return UserReward.phantom();
|
|
569
692
|
}
|
|
570
|
-
static
|
|
571
|
-
return bcs.struct(
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
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
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
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 (!
|
|
588
|
-
throw new Error(
|
|
715
|
+
if (!isUserReward(item.type)) {
|
|
716
|
+
throw new Error('not a UserReward type');
|
|
589
717
|
}
|
|
590
|
-
return
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
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
|
|
725
|
+
return UserReward.fromFields(UserReward.bcs.parse(data));
|
|
599
726
|
}
|
|
600
727
|
toJSONField() {
|
|
601
728
|
return {
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
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
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
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 !==
|
|
625
|
-
throw new Error(
|
|
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
|
|
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({
|
|
631
|
-
|
|
632
|
-
|
|
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
|
|
764
|
+
return UserReward.fromBcs(object.content);
|
|
635
765
|
}
|
|
636
766
|
}
|