@suilend/sdk 12.7.0 → 13.0.0-next.g122801a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/_generated/_dependencies/pyth-2/price-identifier/structs.d.ts +46 -0
  2. package/_generated/_dependencies/{source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e → pyth-2}/price-identifier/structs.js +45 -25
  3. package/_generated/_dependencies/std/ascii/structs.d.ts +100 -0
  4. package/_generated/_dependencies/{source/0x1 → std}/ascii/structs.js +153 -103
  5. package/_generated/_dependencies/{source/0x1 → std}/option/structs.d.ts +29 -21
  6. package/_generated/_dependencies/std/option/structs.js +155 -0
  7. package/_generated/_dependencies/std/type-name/structs.d.ts +65 -0
  8. package/_generated/_dependencies/{source/0x1 → std}/type-name/structs.js +49 -22
  9. package/_generated/_dependencies/sui/bag/structs.d.ts +75 -0
  10. package/_generated/_dependencies/sui/bag/structs.js +154 -0
  11. package/_generated/_dependencies/{source/0x2 → sui}/balance/structs.d.ts +80 -60
  12. package/_generated/_dependencies/sui/balance/structs.js +306 -0
  13. package/_generated/_dependencies/sui/object/structs.d.ts +104 -0
  14. package/_generated/_dependencies/{source/0x2 → sui}/object/structs.js +98 -46
  15. package/_generated/_dependencies/{source/0x2 → sui}/object-table/structs.d.ts +37 -30
  16. package/_generated/_dependencies/sui/object-table/structs.js +164 -0
  17. package/_generated/_envs/index.d.ts +3 -0
  18. package/_generated/_envs/index.js +18 -0
  19. package/_generated/_envs/mainnet.d.ts +2 -0
  20. package/_generated/_envs/mainnet.js +490 -0
  21. package/_generated/_framework/env.d.ts +137 -0
  22. package/_generated/_framework/env.js +261 -0
  23. package/_generated/_framework/reified.d.ts +68 -36
  24. package/_generated/_framework/reified.js +110 -98
  25. package/_generated/_framework/util.d.ts +4 -4
  26. package/_generated/_framework/util.js +82 -79
  27. package/_generated/_framework/vector.d.ts +11 -9
  28. package/_generated/_framework/vector.js +10 -10
  29. package/_generated/suilend/cell/structs.d.ts +24 -22
  30. package/_generated/suilend/cell/structs.js +68 -24
  31. package/_generated/suilend/decimal/structs.d.ts +28 -24
  32. package/_generated/suilend/decimal/structs.js +45 -24
  33. package/_generated/suilend/index.d.ts +5 -6
  34. package/_generated/suilend/index.js +10 -19
  35. package/_generated/suilend/lending-market/functions.d.ts +1123 -149
  36. package/_generated/suilend/lending-market/functions.js +1121 -207
  37. package/_generated/suilend/lending-market/structs.d.ts +985 -1290
  38. package/_generated/suilend/lending-market/structs.js +2482 -1282
  39. package/_generated/suilend/lending-market-registry/functions.d.ts +32 -3
  40. package/_generated/suilend/lending-market-registry/functions.js +30 -6
  41. package/_generated/suilend/liquidity-mining/structs.d.ts +200 -333
  42. package/_generated/suilend/liquidity-mining/structs.js +449 -319
  43. package/_generated/suilend/obligation/structs.d.ts +406 -918
  44. package/_generated/suilend/obligation/structs.js +786 -596
  45. package/_generated/suilend/rate-limiter/functions.d.ts +134 -15
  46. package/_generated/suilend/rate-limiter/functions.js +139 -21
  47. package/_generated/suilend/rate-limiter/structs.d.ts +72 -80
  48. package/_generated/suilend/rate-limiter/structs.js +98 -48
  49. package/_generated/suilend/reserve/structs.d.ts +611 -904
  50. package/_generated/suilend/reserve/structs.js +1528 -736
  51. package/_generated/suilend/reserve-config/functions.d.ts +718 -96
  52. package/_generated/suilend/reserve-config/functions.js +751 -157
  53. package/_generated/suilend/reserve-config/structs.d.ts +148 -163
  54. package/_generated/suilend/reserve-config/structs.js +260 -94
  55. package/client.d.ts +2 -2
  56. package/client.js +22 -39
  57. package/lib/initialize.d.ts +617 -83
  58. package/lib/initialize.js +151 -48
  59. package/lib/proCompatible.js +5 -5
  60. package/package.json +1 -1
  61. package/parsers/lendingMarket.d.ts +9 -9
  62. package/parsers/obligation.d.ts +14 -14
  63. package/parsers/obligation.js +4 -4
  64. package/parsers/rateLimiter.d.ts +1 -1
  65. package/parsers/reserve.d.ts +12 -12
  66. package/parsers/reserve.js +2 -2
  67. package/strategies.d.ts +14 -14
  68. package/utils/obligation.d.ts +3 -0
  69. package/utils/obligation.js +10 -0
  70. package/utils/simulate.d.ts +1 -1
  71. package/utils/simulate.js +5 -5
  72. package/_generated/_dependencies/source/0x1/ascii/structs.d.ts +0 -84
  73. package/_generated/_dependencies/source/0x1/index.d.ts +0 -3
  74. package/_generated/_dependencies/source/0x1/index.js +0 -3
  75. package/_generated/_dependencies/source/0x1/option/structs.js +0 -110
  76. package/_generated/_dependencies/source/0x1/type-name/structs.d.ts +0 -47
  77. package/_generated/_dependencies/source/0x2/bag/structs.d.ts +0 -52
  78. package/_generated/_dependencies/source/0x2/bag/structs.js +0 -113
  79. package/_generated/_dependencies/source/0x2/balance/structs.js +0 -210
  80. package/_generated/_dependencies/source/0x2/index.d.ts +0 -3
  81. package/_generated/_dependencies/source/0x2/index.js +0 -3
  82. package/_generated/_dependencies/source/0x2/object/structs.d.ts +0 -82
  83. package/_generated/_dependencies/source/0x2/object-table/structs.js +0 -115
  84. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.d.ts +0 -4
  85. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.js +0 -4
  86. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.d.ts +0 -46
@@ -1,43 +1,50 @@
1
- import { bcs } from "@mysten/sui/bcs";
2
- import { fromHex, toHex } from "@mysten/sui/utils";
3
- import { compressSuiType, parseTypeName } from "./util.js";
1
+ import { bcs } from '@mysten/sui/bcs';
2
+ import { fromHex, toHex } from '@mysten/sui/utils';
3
+ import { compressSuiType, parseTypeName } from './util.js';
4
4
  // for backwards compatibility
5
- export { vector } from "./vector.js";
5
+ export { vector } from './vector.js';
6
6
  export function phantom(type) {
7
- if (typeof type === "string") {
7
+ if (typeof type === 'string') {
8
8
  return {
9
9
  phantomType: type,
10
- kind: "PhantomReified",
10
+ kind: 'PhantomReified',
11
11
  };
12
12
  }
13
13
  else {
14
+ // Reified handle case: read `fullTypeName` lazily so phantom handles created
15
+ // before `setActiveEnv(...)` still reflect the current env on each access.
16
+ // Without this getter, `phantomType` would freeze the typeName at phantom-call time
17
+ // and leak the wrong address into vector/option type-arg strings produced via
18
+ // `extractType(...)`.
14
19
  return {
15
- phantomType: type.fullTypeName,
16
- kind: "PhantomReified",
20
+ get phantomType() {
21
+ return type.fullTypeName;
22
+ },
23
+ kind: 'PhantomReified',
17
24
  };
18
25
  }
19
26
  }
20
27
  const Address = bcs.bytes(32).transform({
21
28
  input: (val) => fromHex(val),
22
- output: (val) => toHex(val),
29
+ output: val => toHex(val),
23
30
  });
24
31
  export function toBcs(arg) {
25
32
  switch (arg) {
26
- case "bool":
33
+ case 'bool':
27
34
  return bcs.bool();
28
- case "u8":
35
+ case 'u8':
29
36
  return bcs.u8();
30
- case "u16":
37
+ case 'u16':
31
38
  return bcs.u16();
32
- case "u32":
39
+ case 'u32':
33
40
  return bcs.u32();
34
- case "u64":
41
+ case 'u64':
35
42
  return bcs.u64();
36
- case "u128":
43
+ case 'u128':
37
44
  return bcs.u128();
38
- case "u256":
45
+ case 'u256':
39
46
  return bcs.u256();
40
- case "address":
47
+ case 'address':
41
48
  return Address;
42
49
  default:
43
50
  return arg.bcs;
@@ -45,56 +52,58 @@ export function toBcs(arg) {
45
52
  }
46
53
  export function extractType(reified) {
47
54
  switch (reified) {
48
- case "u8":
49
- case "u16":
50
- case "u32":
51
- case "u64":
52
- case "u128":
53
- case "u256":
54
- case "bool":
55
- case "address":
55
+ case 'u8':
56
+ case 'u16':
57
+ case 'u32':
58
+ case 'u64':
59
+ case 'u128':
60
+ case 'u256':
61
+ case 'bool':
62
+ case 'address':
56
63
  return reified;
57
64
  }
58
65
  switch (reified.kind) {
59
- case "PhantomReified":
66
+ case 'PhantomReified':
60
67
  return reified.phantomType;
61
- case "StructClassReified":
68
+ case 'StructClassReified':
62
69
  return reified.fullTypeName;
63
- case "VectorClassReified":
70
+ case 'VectorClassReified':
71
+ return reified.fullTypeName;
72
+ case 'EnumClassReified':
64
73
  return reified.fullTypeName;
65
74
  }
66
- throw new Error("unreachable");
75
+ throw new Error('unreachable');
67
76
  }
68
77
  export function decodeFromFields(reified, field) {
69
78
  switch (reified) {
70
- case "bool":
71
- case "u8":
72
- case "u16":
73
- case "u32":
79
+ case 'bool':
80
+ case 'u8':
81
+ case 'u16':
82
+ case 'u32':
74
83
  return field;
75
- case "u64":
76
- case "u128":
77
- case "u256":
84
+ case 'u64':
85
+ case 'u128':
86
+ case 'u256':
78
87
  return BigInt(field);
79
- case "address":
88
+ case 'address':
80
89
  return `0x${field}`;
81
90
  }
82
- if (reified.kind === "VectorClassReified") {
91
+ if (reified.kind === 'VectorClassReified') {
83
92
  return reified.fromFields(field).elements;
84
93
  }
85
94
  switch (reified.typeName) {
86
- case "0x1::string::String":
87
- case "0x1::ascii::String":
95
+ case '0x1::string::String':
96
+ case '0x1::ascii::String':
88
97
  return new TextDecoder().decode(Uint8Array.from(field.bytes)).toString();
89
- case "0x2::url::Url":
90
- return new TextDecoder()
91
- .decode(Uint8Array.from(field.url.bytes))
92
- .toString();
93
- case "0x2::object::ID":
98
+ case '0x2::url::Url':
99
+ return new TextDecoder().decode(Uint8Array.from(field.url.bytes)).toString();
100
+ case '0x2::object::ID':
94
101
  return `0x${field.bytes}`;
95
- case "0x2::object::UID":
102
+ case '0x2::object::UID':
96
103
  return `0x${field.id.bytes}`;
97
- case "0x1::option::Option": {
104
+ case '0x1::type_name::TypeName':
105
+ return new TextDecoder().decode(Uint8Array.from(field.name.bytes)).toString();
106
+ case '0x1::option::Option': {
98
107
  if (field.vec.length === 0) {
99
108
  return null;
100
109
  }
@@ -106,32 +115,34 @@ export function decodeFromFields(reified, field) {
106
115
  }
107
116
  export function decodeFromFieldsWithTypes(reified, item) {
108
117
  switch (reified) {
109
- case "bool":
110
- case "u8":
111
- case "u16":
112
- case "u32":
118
+ case 'bool':
119
+ case 'u8':
120
+ case 'u16':
121
+ case 'u32':
113
122
  return item;
114
- case "u64":
115
- case "u128":
116
- case "u256":
123
+ case 'u64':
124
+ case 'u128':
125
+ case 'u256':
117
126
  return BigInt(item);
118
- case "address":
127
+ case 'address':
119
128
  return item;
120
129
  }
121
- if (reified.kind === "VectorClassReified") {
130
+ if (reified.kind === 'VectorClassReified') {
122
131
  return reified.fromFieldsWithTypes(item).elements;
123
132
  }
124
133
  switch (reified.typeName) {
125
- case "0x1::string::String":
126
- case "0x1::ascii::String":
127
- case "0x2::url::Url":
128
- case "0x2::object::ID":
134
+ case '0x1::string::String':
135
+ case '0x1::ascii::String':
136
+ case '0x2::url::Url':
137
+ case '0x2::object::ID':
129
138
  return item;
130
- case "0x2::object::UID":
139
+ case '0x2::object::UID':
131
140
  return item.id;
132
- case "0x2::balance::Balance":
141
+ case '0x1::type_name::TypeName':
142
+ return item.fields.name;
143
+ case '0x2::balance::Balance':
133
144
  return reified.fromFields({ value: BigInt(item) });
134
- case "0x1::option::Option": {
145
+ case '0x1::option::Option': {
135
146
  if (item === null) {
136
147
  return null;
137
148
  }
@@ -143,12 +154,11 @@ export function decodeFromFieldsWithTypes(reified, item) {
143
154
  }
144
155
  export function assertReifiedTypeArgsMatch(fullType, typeArgs, reifiedTypeArgs) {
145
156
  if (reifiedTypeArgs.length !== typeArgs.length) {
146
- throw new Error(`provided item has mismatching number of type arguments ${fullType} (expected ${reifiedTypeArgs.length}, got ${typeArgs.length}))`);
157
+ throw new Error(`provided item has mismatching number of type argments ${fullType} (expected ${reifiedTypeArgs.length}, got ${typeArgs.length}))`);
147
158
  }
148
159
  for (let i = 0; i < typeArgs.length; i++) {
149
- if (compressSuiType(typeArgs[i]) !==
150
- compressSuiType(extractType(reifiedTypeArgs[i]))) {
151
- throw new Error(`provided item has mismatching type arguments ${fullType} (expected ${extractType(reifiedTypeArgs[i])}, got ${typeArgs[i]}))`);
160
+ if (compressSuiType(typeArgs[i]) !== compressSuiType(extractType(reifiedTypeArgs[i]))) {
161
+ throw new Error(`provided item has mismatching type argments ${fullType} (expected ${extractType(reifiedTypeArgs[i])}, got ${typeArgs[i]}))`);
152
162
  }
153
163
  }
154
164
  }
@@ -159,29 +169,30 @@ export function assertFieldsWithTypesArgsMatch(item, reifiedTypeArgs) {
159
169
  export function fieldToJSON(type, field) {
160
170
  const { typeName, typeArgs } = parseTypeName(type);
161
171
  switch (typeName) {
162
- case "bool":
172
+ case 'bool':
163
173
  return field;
164
- case "u8":
165
- case "u16":
166
- case "u32":
174
+ case 'u8':
175
+ case 'u16':
176
+ case 'u32':
167
177
  return field;
168
- case "u64":
169
- case "u128":
170
- case "u256":
178
+ case 'u64':
179
+ case 'u128':
180
+ case 'u256':
171
181
  return field.toString();
172
- case "address":
173
- case "signer":
182
+ case 'address':
183
+ case 'signer':
174
184
  return field;
175
- case "vector":
185
+ case 'vector':
176
186
  return field.map((item) => fieldToJSON(typeArgs[0], item));
177
187
  // handle special types
178
- case "0x1::string::String":
179
- case "0x1::ascii::String":
180
- case "0x2::url::Url":
181
- case "0x2::object::ID":
182
- case "0x2::object::UID":
188
+ case '0x1::string::String':
189
+ case '0x1::ascii::String':
190
+ case '0x2::url::Url':
191
+ case '0x2::object::ID':
192
+ case '0x2::object::UID':
193
+ case '0x1::type_name::TypeName':
183
194
  return field;
184
- case "0x1::option::Option": {
195
+ case '0x1::option::Option': {
185
196
  if (field === null) {
186
197
  return null;
187
198
  }
@@ -193,29 +204,30 @@ export function fieldToJSON(type, field) {
193
204
  }
194
205
  export function decodeFromJSONField(typeArg, field) {
195
206
  switch (typeArg) {
196
- case "bool":
197
- case "u8":
198
- case "u16":
199
- case "u32":
207
+ case 'bool':
208
+ case 'u8':
209
+ case 'u16':
210
+ case 'u32':
200
211
  return field;
201
- case "u64":
202
- case "u128":
203
- case "u256":
212
+ case 'u64':
213
+ case 'u128':
214
+ case 'u256':
204
215
  return BigInt(field);
205
- case "address":
216
+ case 'address':
206
217
  return field;
207
218
  }
208
- if (typeArg.kind === "VectorClassReified") {
219
+ if (typeArg.kind === 'VectorClassReified') {
209
220
  return typeArg.fromJSONField(field).elements;
210
221
  }
211
222
  switch (typeArg.typeName) {
212
- case "0x1::string::String":
213
- case "0x1::ascii::String":
214
- case "0x2::url::Url":
215
- case "0x2::object::ID":
216
- case "0x2::object::UID":
223
+ case '0x1::string::String':
224
+ case '0x1::ascii::String':
225
+ case '0x2::url::Url':
226
+ case '0x2::object::ID':
227
+ case '0x2::object::UID':
228
+ case '0x1::type_name::TypeName':
217
229
  return field;
218
- case "0x1::option::Option": {
230
+ case '0x1::option::Option': {
219
231
  if (field === null) {
220
232
  return null;
221
233
  }
@@ -1,4 +1,4 @@
1
- import { Transaction, TransactionArgument, TransactionObjectArgument, TransactionObjectInput } from "@mysten/sui/transactions";
1
+ import { Transaction, TransactionArgument, TransactionObjectInput } from '@mysten/sui/transactions';
2
2
  export interface FieldsWithTypes {
3
3
  fields: Record<string, any>;
4
4
  type: string;
@@ -12,10 +12,10 @@ export declare function parseTypeName(name: string): {
12
12
  typeArgs: string[];
13
13
  };
14
14
  export declare function isTransactionArgument(arg: GenericArg): arg is TransactionArgument;
15
- export declare function obj(tx: Transaction, arg: TransactionObjectInput): TransactionObjectArgument;
15
+ export declare function obj(tx: Transaction, arg: TransactionObjectInput): TransactionArgument;
16
16
  export declare function pure(tx: Transaction, arg: PureArg, type: string): TransactionArgument;
17
- export declare function option(tx: Transaction, type: string, arg: GenericArg | null): TransactionObjectArgument | TransactionArgument;
18
- export declare function generic(tx: Transaction, type: string, arg: GenericArg): TransactionObjectArgument | TransactionArgument;
17
+ export declare function option(tx: Transaction, type: string, arg: GenericArg | null): TransactionArgument;
18
+ export declare function generic(tx: Transaction, type: string, arg: GenericArg): TransactionArgument;
19
19
  export declare function vector(tx: Transaction, itemType: string, items: Array<GenericArg> | TransactionArgument): TransactionArgument;
20
20
  export declare function typeArgIsPure(type: string): boolean;
21
21
  export declare function compressSuiAddress(addr: string): string;