@kamino-finance/klend-sdk 5.1.0 → 5.1.1
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/README_KAMINO_MANAGER.md +24 -3
- package/dist/classes/manager.d.ts +45 -2
- package/dist/classes/manager.d.ts.map +1 -1
- package/dist/classes/manager.js +54 -0
- package/dist/classes/manager.js.map +1 -1
- package/dist/classes/vault.d.ts +56 -4
- package/dist/classes/vault.d.ts.map +1 -1
- package/dist/classes/vault.js +107 -3
- package/dist/classes/vault.js.map +1 -1
- package/dist/client_kamino_manager.d.ts.map +1 -1
- package/dist/client_kamino_manager.js +6 -0
- package/dist/client_kamino_manager.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts +9 -3
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.js +42 -32
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/VaultConfigField.d.ts +10 -10
- package/dist/idl_codegen_kamino_vault/types/VaultConfigField.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/VaultConfigField.js +51 -52
- package/dist/idl_codegen_kamino_vault/types/VaultConfigField.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/WithdrawalCaps.d.ts +2 -2
- package/dist/idl_codegen_kamino_vault/types/WithdrawalCaps.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/WithdrawalCaps.js +4 -4
- package/dist/idl_codegen_kamino_vault/types/WithdrawalCaps.js.map +1 -1
- package/package.json +1 -1
- package/src/classes/manager.ts +80 -1
- package/src/classes/vault.ts +158 -4
- package/src/client_kamino_manager.ts +8 -0
- package/src/idl_codegen_kamino_vault/accounts/VaultState.ts +178 -175
- package/src/idl_codegen_kamino_vault/types/VaultConfigField.ts +117 -116
- package/src/idl_codegen_kamino_vault/types/WithdrawalCaps.ts +30 -30
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as types from
|
|
2
|
-
import * as borsh from
|
|
1
|
+
import * as types from "../types";
|
|
2
|
+
import * as borsh from "@coral-xyz/borsh";
|
|
3
3
|
export interface PerformanceFeeBpsJSON {
|
|
4
|
-
kind:
|
|
4
|
+
kind: "PerformanceFeeBps";
|
|
5
5
|
}
|
|
6
6
|
export declare class PerformanceFeeBps {
|
|
7
7
|
static readonly discriminator = 0;
|
|
@@ -14,7 +14,7 @@ export declare class PerformanceFeeBps {
|
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
16
|
export interface ManagementFeeBpsJSON {
|
|
17
|
-
kind:
|
|
17
|
+
kind: "ManagementFeeBps";
|
|
18
18
|
}
|
|
19
19
|
export declare class ManagementFeeBps {
|
|
20
20
|
static readonly discriminator = 1;
|
|
@@ -27,7 +27,7 @@ export declare class ManagementFeeBps {
|
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
29
|
export interface MinDepositAmountJSON {
|
|
30
|
-
kind:
|
|
30
|
+
kind: "MinDepositAmount";
|
|
31
31
|
}
|
|
32
32
|
export declare class MinDepositAmount {
|
|
33
33
|
static readonly discriminator = 2;
|
|
@@ -40,7 +40,7 @@ export declare class MinDepositAmount {
|
|
|
40
40
|
};
|
|
41
41
|
}
|
|
42
42
|
export interface MinWithdrawAmountJSON {
|
|
43
|
-
kind:
|
|
43
|
+
kind: "MinWithdrawAmount";
|
|
44
44
|
}
|
|
45
45
|
export declare class MinWithdrawAmount {
|
|
46
46
|
static readonly discriminator = 3;
|
|
@@ -53,7 +53,7 @@ export declare class MinWithdrawAmount {
|
|
|
53
53
|
};
|
|
54
54
|
}
|
|
55
55
|
export interface MintInvestAmountJSON {
|
|
56
|
-
kind:
|
|
56
|
+
kind: "MintInvestAmount";
|
|
57
57
|
}
|
|
58
58
|
export declare class MintInvestAmount {
|
|
59
59
|
static readonly discriminator = 4;
|
|
@@ -66,7 +66,7 @@ export declare class MintInvestAmount {
|
|
|
66
66
|
};
|
|
67
67
|
}
|
|
68
68
|
export interface MinInvestDelaySlotsJSON {
|
|
69
|
-
kind:
|
|
69
|
+
kind: "MinInvestDelaySlots";
|
|
70
70
|
}
|
|
71
71
|
export declare class MinInvestDelaySlots {
|
|
72
72
|
static readonly discriminator = 5;
|
|
@@ -79,7 +79,7 @@ export declare class MinInvestDelaySlots {
|
|
|
79
79
|
};
|
|
80
80
|
}
|
|
81
81
|
export interface CrankFundFeePerReserveJSON {
|
|
82
|
-
kind:
|
|
82
|
+
kind: "CrankFundFeePerReserve";
|
|
83
83
|
}
|
|
84
84
|
export declare class CrankFundFeePerReserve {
|
|
85
85
|
static readonly discriminator = 6;
|
|
@@ -92,7 +92,7 @@ export declare class CrankFundFeePerReserve {
|
|
|
92
92
|
};
|
|
93
93
|
}
|
|
94
94
|
export interface PendingVaultAdminJSON {
|
|
95
|
-
kind:
|
|
95
|
+
kind: "PendingVaultAdmin";
|
|
96
96
|
}
|
|
97
97
|
export declare class PendingVaultAdmin {
|
|
98
98
|
static readonly discriminator = 7;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VaultConfigField.d.ts","sourceRoot":"","sources":["../../../src/idl_codegen_kamino_vault/types/VaultConfigField.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"VaultConfigField.d.ts","sourceRoot":"","sources":["../../../src/idl_codegen_kamino_vault/types/VaultConfigField.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,12 +30,12 @@ exports.layout = layout;
|
|
|
30
30
|
const borsh = __importStar(require("@coral-xyz/borsh"));
|
|
31
31
|
class PerformanceFeeBps {
|
|
32
32
|
static discriminator = 0;
|
|
33
|
-
static kind =
|
|
33
|
+
static kind = "PerformanceFeeBps";
|
|
34
34
|
discriminator = 0;
|
|
35
|
-
kind =
|
|
35
|
+
kind = "PerformanceFeeBps";
|
|
36
36
|
toJSON() {
|
|
37
37
|
return {
|
|
38
|
-
kind:
|
|
38
|
+
kind: "PerformanceFeeBps",
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
41
|
toEncodable() {
|
|
@@ -47,12 +47,12 @@ class PerformanceFeeBps {
|
|
|
47
47
|
exports.PerformanceFeeBps = PerformanceFeeBps;
|
|
48
48
|
class ManagementFeeBps {
|
|
49
49
|
static discriminator = 1;
|
|
50
|
-
static kind =
|
|
50
|
+
static kind = "ManagementFeeBps";
|
|
51
51
|
discriminator = 1;
|
|
52
|
-
kind =
|
|
52
|
+
kind = "ManagementFeeBps";
|
|
53
53
|
toJSON() {
|
|
54
54
|
return {
|
|
55
|
-
kind:
|
|
55
|
+
kind: "ManagementFeeBps",
|
|
56
56
|
};
|
|
57
57
|
}
|
|
58
58
|
toEncodable() {
|
|
@@ -64,12 +64,12 @@ class ManagementFeeBps {
|
|
|
64
64
|
exports.ManagementFeeBps = ManagementFeeBps;
|
|
65
65
|
class MinDepositAmount {
|
|
66
66
|
static discriminator = 2;
|
|
67
|
-
static kind =
|
|
67
|
+
static kind = "MinDepositAmount";
|
|
68
68
|
discriminator = 2;
|
|
69
|
-
kind =
|
|
69
|
+
kind = "MinDepositAmount";
|
|
70
70
|
toJSON() {
|
|
71
71
|
return {
|
|
72
|
-
kind:
|
|
72
|
+
kind: "MinDepositAmount",
|
|
73
73
|
};
|
|
74
74
|
}
|
|
75
75
|
toEncodable() {
|
|
@@ -81,12 +81,12 @@ class MinDepositAmount {
|
|
|
81
81
|
exports.MinDepositAmount = MinDepositAmount;
|
|
82
82
|
class MinWithdrawAmount {
|
|
83
83
|
static discriminator = 3;
|
|
84
|
-
static kind =
|
|
84
|
+
static kind = "MinWithdrawAmount";
|
|
85
85
|
discriminator = 3;
|
|
86
|
-
kind =
|
|
86
|
+
kind = "MinWithdrawAmount";
|
|
87
87
|
toJSON() {
|
|
88
88
|
return {
|
|
89
|
-
kind:
|
|
89
|
+
kind: "MinWithdrawAmount",
|
|
90
90
|
};
|
|
91
91
|
}
|
|
92
92
|
toEncodable() {
|
|
@@ -98,12 +98,12 @@ class MinWithdrawAmount {
|
|
|
98
98
|
exports.MinWithdrawAmount = MinWithdrawAmount;
|
|
99
99
|
class MintInvestAmount {
|
|
100
100
|
static discriminator = 4;
|
|
101
|
-
static kind =
|
|
101
|
+
static kind = "MintInvestAmount";
|
|
102
102
|
discriminator = 4;
|
|
103
|
-
kind =
|
|
103
|
+
kind = "MintInvestAmount";
|
|
104
104
|
toJSON() {
|
|
105
105
|
return {
|
|
106
|
-
kind:
|
|
106
|
+
kind: "MintInvestAmount",
|
|
107
107
|
};
|
|
108
108
|
}
|
|
109
109
|
toEncodable() {
|
|
@@ -115,12 +115,12 @@ class MintInvestAmount {
|
|
|
115
115
|
exports.MintInvestAmount = MintInvestAmount;
|
|
116
116
|
class MinInvestDelaySlots {
|
|
117
117
|
static discriminator = 5;
|
|
118
|
-
static kind =
|
|
118
|
+
static kind = "MinInvestDelaySlots";
|
|
119
119
|
discriminator = 5;
|
|
120
|
-
kind =
|
|
120
|
+
kind = "MinInvestDelaySlots";
|
|
121
121
|
toJSON() {
|
|
122
122
|
return {
|
|
123
|
-
kind:
|
|
123
|
+
kind: "MinInvestDelaySlots",
|
|
124
124
|
};
|
|
125
125
|
}
|
|
126
126
|
toEncodable() {
|
|
@@ -132,12 +132,12 @@ class MinInvestDelaySlots {
|
|
|
132
132
|
exports.MinInvestDelaySlots = MinInvestDelaySlots;
|
|
133
133
|
class CrankFundFeePerReserve {
|
|
134
134
|
static discriminator = 6;
|
|
135
|
-
static kind =
|
|
135
|
+
static kind = "CrankFundFeePerReserve";
|
|
136
136
|
discriminator = 6;
|
|
137
|
-
kind =
|
|
137
|
+
kind = "CrankFundFeePerReserve";
|
|
138
138
|
toJSON() {
|
|
139
139
|
return {
|
|
140
|
-
kind:
|
|
140
|
+
kind: "CrankFundFeePerReserve",
|
|
141
141
|
};
|
|
142
142
|
}
|
|
143
143
|
toEncodable() {
|
|
@@ -149,12 +149,12 @@ class CrankFundFeePerReserve {
|
|
|
149
149
|
exports.CrankFundFeePerReserve = CrankFundFeePerReserve;
|
|
150
150
|
class PendingVaultAdmin {
|
|
151
151
|
static discriminator = 7;
|
|
152
|
-
static kind =
|
|
152
|
+
static kind = "PendingVaultAdmin";
|
|
153
153
|
discriminator = 7;
|
|
154
|
-
kind =
|
|
154
|
+
kind = "PendingVaultAdmin";
|
|
155
155
|
toJSON() {
|
|
156
156
|
return {
|
|
157
|
-
kind:
|
|
157
|
+
kind: "PendingVaultAdmin",
|
|
158
158
|
};
|
|
159
159
|
}
|
|
160
160
|
toEncodable() {
|
|
@@ -166,74 +166,73 @@ class PendingVaultAdmin {
|
|
|
166
166
|
exports.PendingVaultAdmin = PendingVaultAdmin;
|
|
167
167
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
168
168
|
function fromDecoded(obj) {
|
|
169
|
-
if (typeof obj !==
|
|
170
|
-
throw new Error(
|
|
169
|
+
if (typeof obj !== "object") {
|
|
170
|
+
throw new Error("Invalid enum object");
|
|
171
171
|
}
|
|
172
|
-
|
|
173
|
-
if ('PerformanceFeeBps' in obj) {
|
|
172
|
+
if ("PerformanceFeeBps" in obj) {
|
|
174
173
|
return new PerformanceFeeBps();
|
|
175
174
|
}
|
|
176
|
-
if (
|
|
175
|
+
if ("ManagementFeeBps" in obj) {
|
|
177
176
|
return new ManagementFeeBps();
|
|
178
177
|
}
|
|
179
|
-
if (
|
|
178
|
+
if ("MinDepositAmount" in obj) {
|
|
180
179
|
return new MinDepositAmount();
|
|
181
180
|
}
|
|
182
|
-
if (
|
|
181
|
+
if ("MinWithdrawAmount" in obj) {
|
|
183
182
|
return new MinWithdrawAmount();
|
|
184
183
|
}
|
|
185
|
-
if (
|
|
184
|
+
if ("MintInvestAmount" in obj) {
|
|
186
185
|
return new MintInvestAmount();
|
|
187
186
|
}
|
|
188
|
-
if (
|
|
187
|
+
if ("MinInvestDelaySlots" in obj) {
|
|
189
188
|
return new MinInvestDelaySlots();
|
|
190
189
|
}
|
|
191
|
-
if (
|
|
190
|
+
if ("CrankFundFeePerReserve" in obj) {
|
|
192
191
|
return new CrankFundFeePerReserve();
|
|
193
192
|
}
|
|
194
|
-
if (
|
|
193
|
+
if ("PendingVaultAdmin" in obj) {
|
|
195
194
|
return new PendingVaultAdmin();
|
|
196
195
|
}
|
|
197
|
-
throw new Error(
|
|
196
|
+
throw new Error("Invalid enum object");
|
|
198
197
|
}
|
|
199
198
|
function fromJSON(obj) {
|
|
200
199
|
switch (obj.kind) {
|
|
201
|
-
case
|
|
200
|
+
case "PerformanceFeeBps": {
|
|
202
201
|
return new PerformanceFeeBps();
|
|
203
202
|
}
|
|
204
|
-
case
|
|
203
|
+
case "ManagementFeeBps": {
|
|
205
204
|
return new ManagementFeeBps();
|
|
206
205
|
}
|
|
207
|
-
case
|
|
206
|
+
case "MinDepositAmount": {
|
|
208
207
|
return new MinDepositAmount();
|
|
209
208
|
}
|
|
210
|
-
case
|
|
209
|
+
case "MinWithdrawAmount": {
|
|
211
210
|
return new MinWithdrawAmount();
|
|
212
211
|
}
|
|
213
|
-
case
|
|
212
|
+
case "MintInvestAmount": {
|
|
214
213
|
return new MintInvestAmount();
|
|
215
214
|
}
|
|
216
|
-
case
|
|
215
|
+
case "MinInvestDelaySlots": {
|
|
217
216
|
return new MinInvestDelaySlots();
|
|
218
217
|
}
|
|
219
|
-
case
|
|
218
|
+
case "CrankFundFeePerReserve": {
|
|
220
219
|
return new CrankFundFeePerReserve();
|
|
221
220
|
}
|
|
222
|
-
case
|
|
221
|
+
case "PendingVaultAdmin": {
|
|
223
222
|
return new PendingVaultAdmin();
|
|
224
223
|
}
|
|
225
224
|
}
|
|
226
225
|
}
|
|
227
226
|
function layout(property) {
|
|
228
227
|
const ret = borsh.rustEnum([
|
|
229
|
-
borsh.struct([],
|
|
230
|
-
borsh.struct([],
|
|
231
|
-
borsh.struct([],
|
|
232
|
-
borsh.struct([],
|
|
233
|
-
borsh.struct([],
|
|
234
|
-
borsh.struct([],
|
|
235
|
-
borsh.struct([],
|
|
236
|
-
borsh.struct([],
|
|
228
|
+
borsh.struct([], "PerformanceFeeBps"),
|
|
229
|
+
borsh.struct([], "ManagementFeeBps"),
|
|
230
|
+
borsh.struct([], "MinDepositAmount"),
|
|
231
|
+
borsh.struct([], "MinWithdrawAmount"),
|
|
232
|
+
borsh.struct([], "MintInvestAmount"),
|
|
233
|
+
borsh.struct([], "MinInvestDelaySlots"),
|
|
234
|
+
borsh.struct([], "CrankFundFeePerReserve"),
|
|
235
|
+
borsh.struct([], "PendingVaultAdmin"),
|
|
237
236
|
]);
|
|
238
237
|
if (property !== undefined) {
|
|
239
238
|
return ret.replicate(property);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VaultConfigField.js","sourceRoot":"","sources":["../../../src/idl_codegen_kamino_vault/types/VaultConfigField.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA8LA,
|
|
1
|
+
{"version":3,"file":"VaultConfigField.js","sourceRoot":"","sources":["../../../src/idl_codegen_kamino_vault/types/VaultConfigField.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithdrawalCaps.d.ts","sourceRoot":"","sources":["../../../src/idl_codegen_kamino_vault/types/WithdrawalCaps.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"WithdrawalCaps.d.ts","sourceRoot":"","sources":["../../../src/idl_codegen_kamino_vault/types/WithdrawalCaps.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,OAAO,CAAA;AACtB,OAAO,KAAK,KAAK,MAAM,UAAU,CAAA;AAGjC,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,EAAE,CAAA;IAClB,YAAY,EAAE,EAAE,CAAA;IAChB,0BAA0B,EAAE,EAAE,CAAA;IAC9B,2BAA2B,EAAE,EAAE,CAAA;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,0BAA0B,EAAE,MAAM,CAAA;IAClC,2BAA2B,EAAE,MAAM,CAAA;CACpC;AAED,oCAAoC;AACpC,qBAAa,cAAc;IACzB,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAA;IAC3B,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAA;IACzB,QAAQ,CAAC,0BAA0B,EAAE,EAAE,CAAA;IACvC,QAAQ,CAAC,2BAA2B,EAAE,EAAE,CAAA;gBAE5B,MAAM,EAAE,oBAAoB;IAOxC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM;IAa/B,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG;IAS3B,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,oBAAoB;;;;;;IAS/C,MAAM,IAAI,kBAAkB;IAS5B,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,kBAAkB,GAAG,cAAc;IASxD,WAAW;;;;;;CAGZ"}
|
|
@@ -43,10 +43,10 @@ class WithdrawalCaps {
|
|
|
43
43
|
}
|
|
44
44
|
static layout(property) {
|
|
45
45
|
return borsh.struct([
|
|
46
|
-
borsh.i64(
|
|
47
|
-
borsh.i64(
|
|
48
|
-
borsh.u64(
|
|
49
|
-
borsh.u64(
|
|
46
|
+
borsh.i64("configCapacity"),
|
|
47
|
+
borsh.i64("currentTotal"),
|
|
48
|
+
borsh.u64("lastIntervalStartTimestamp"),
|
|
49
|
+
borsh.u64("configIntervalLengthSeconds"),
|
|
50
50
|
], property);
|
|
51
51
|
}
|
|
52
52
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithdrawalCaps.js","sourceRoot":"","sources":["../../../src/idl_codegen_kamino_vault/types/WithdrawalCaps.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"WithdrawalCaps.js","sourceRoot":"","sources":["../../../src/idl_codegen_kamino_vault/types/WithdrawalCaps.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kDAAsB,CAAC,wDAAwD;AAE/E,wDAAyC;AAgBzC,oCAAoC;AACpC,MAAa,cAAc;IAChB,cAAc,CAAI;IAClB,YAAY,CAAI;IAChB,0BAA0B,CAAI;IAC9B,2BAA2B,CAAI;IAExC,YAAY,MAA4B;QACtC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAA;QAC3C,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;QACvC,IAAI,CAAC,0BAA0B,GAAG,MAAM,CAAC,0BAA0B,CAAA;QACnE,IAAI,CAAC,2BAA2B,GAAG,MAAM,CAAC,2BAA2B,CAAA;IACvE,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,QAAiB;QAC7B,OAAO,KAAK,CAAC,MAAM,CACjB;YACE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC;YAC3B,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC;YACzB,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC;YACvC,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC;SACzC,EACD,QAAQ,CACT,CAAA;IACH,CAAC;IAED,8DAA8D;IAC9D,MAAM,CAAC,WAAW,CAAC,GAAQ;QACzB,OAAO,IAAI,cAAc,CAAC;YACxB,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,0BAA0B,EAAE,GAAG,CAAC,0BAA0B;YAC1D,2BAA2B,EAAE,GAAG,CAAC,2BAA2B;SAC7D,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,MAA4B;QAC7C,OAAO;YACL,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,0BAA0B,EAAE,MAAM,CAAC,0BAA0B;YAC7D,2BAA2B,EAAE,MAAM,CAAC,2BAA2B;SAChE,CAAA;IACH,CAAC;IAED,MAAM;QACJ,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;YAC9C,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;YAC1C,0BAA0B,EAAE,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE;YACtE,2BAA2B,EAAE,IAAI,CAAC,2BAA2B,CAAC,QAAQ,EAAE;SACzE,CAAA;IACH,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,GAAuB;QACrC,OAAO,IAAI,cAAc,CAAC;YACxB,cAAc,EAAE,IAAI,eAAE,CAAC,GAAG,CAAC,cAAc,CAAC;YAC1C,YAAY,EAAE,IAAI,eAAE,CAAC,GAAG,CAAC,YAAY,CAAC;YACtC,0BAA0B,EAAE,IAAI,eAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC;YAClE,2BAA2B,EAAE,IAAI,eAAE,CAAC,GAAG,CAAC,2BAA2B,CAAC;SACrE,CAAC,CAAA;IACJ,CAAC;IAED,WAAW;QACT,OAAO,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACzC,CAAC;CACF;AAjED,wCAiEC"}
|
package/package.json
CHANGED
package/src/classes/manager.ts
CHANGED
|
@@ -14,7 +14,9 @@ import {
|
|
|
14
14
|
KaminoVaultConfig,
|
|
15
15
|
kaminoVaultId,
|
|
16
16
|
ReserveAllocationConfig,
|
|
17
|
+
ReserveOverview,
|
|
17
18
|
VaultHolder,
|
|
19
|
+
VaultHoldings,
|
|
18
20
|
} from './vault';
|
|
19
21
|
import {
|
|
20
22
|
AddAssetToMarketParams,
|
|
@@ -26,6 +28,7 @@ import {
|
|
|
26
28
|
initLendingMarket,
|
|
27
29
|
InitLendingMarketAccounts,
|
|
28
30
|
InitLendingMarketArgs,
|
|
31
|
+
KaminoReserve,
|
|
29
32
|
LendingMarket,
|
|
30
33
|
lendingMarketAuthPda,
|
|
31
34
|
MarketWithAddress,
|
|
@@ -318,7 +321,11 @@ export class KaminoManager {
|
|
|
318
321
|
return this._vaultClient.depositIxs(user, vault, tokenAmount);
|
|
319
322
|
}
|
|
320
323
|
|
|
321
|
-
async updateVaultConfigIx(
|
|
324
|
+
async updateVaultConfigIx(
|
|
325
|
+
vault: KaminoVault,
|
|
326
|
+
mode: VaultConfigFieldKind,
|
|
327
|
+
value: string
|
|
328
|
+
): Promise<TransactionInstruction> {
|
|
322
329
|
return this._vaultClient.updateVaultConfigIx(vault, mode, value);
|
|
323
330
|
}
|
|
324
331
|
|
|
@@ -507,6 +514,78 @@ export class KaminoManager {
|
|
|
507
514
|
return result;
|
|
508
515
|
};
|
|
509
516
|
|
|
517
|
+
/**
|
|
518
|
+
* This will return an Holdings object which contains the amount available (uninvested) in vault, total amount invested in reseves and a breakdown of the amount invested in each reserve
|
|
519
|
+
* @param vault - the kamino vault to get available liquidity to withdraw for
|
|
520
|
+
* @param slot - current slot
|
|
521
|
+
* @param vaultReserves - optional parameter; a hashmap from each reserve pubkey to the reserve state. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
522
|
+
* @returns an Holdings object
|
|
523
|
+
*/
|
|
524
|
+
async getVaultHoldings(
|
|
525
|
+
vault: VaultState,
|
|
526
|
+
slot: number,
|
|
527
|
+
vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>
|
|
528
|
+
): Promise<VaultHoldings> {
|
|
529
|
+
return this._vaultClient.getVaultHoldings(vault, slot, vaultReserves);
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
/**
|
|
533
|
+
* This will return an overview of each reserve that is part of the vault allocation
|
|
534
|
+
* @param vault - the kamino vault to get available liquidity to withdraw for
|
|
535
|
+
* @param slot - current slot
|
|
536
|
+
* @param vaultReserves - optional parameter; a hashmap from each reserve pubkey to the reserve state. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
537
|
+
* @returns a hashmap from vault reserve pubkey to ReserveOverview object
|
|
538
|
+
*/
|
|
539
|
+
async getVaultReservesDetails(
|
|
540
|
+
vault: VaultState,
|
|
541
|
+
slot: number,
|
|
542
|
+
vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>
|
|
543
|
+
): Promise<PubkeyHashMap<PublicKey, ReserveOverview>> {
|
|
544
|
+
return this._vaultClient.getVaultReservesDetails(vault, slot, vaultReserves);
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
/**
|
|
548
|
+
* This will return the APY of the vault under the assumption that all the available tokens in the vault are all the time invested in the reserves
|
|
549
|
+
* @param vault - the kamino vault to get APY for
|
|
550
|
+
* @param slot - current slot
|
|
551
|
+
* @param vaultReserves - optional parameter; a hashmap from each reserve pubkey to the reserve state. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
552
|
+
* @returns APY for the vault
|
|
553
|
+
*/
|
|
554
|
+
async getVaultTheoreticalAPY(
|
|
555
|
+
vault: VaultState,
|
|
556
|
+
slot: number,
|
|
557
|
+
vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>
|
|
558
|
+
): Promise<Decimal> {
|
|
559
|
+
return this._vaultClient.getVaultTheoreticalAPY(vault, slot, vaultReserves);
|
|
560
|
+
}
|
|
561
|
+
|
|
562
|
+
/**
|
|
563
|
+
* This will load the onchain state for all the reserves that the vault has allocations for
|
|
564
|
+
* @param vaultState - the vault state to load reserves for
|
|
565
|
+
* @returns a hashmap from each reserve pubkey to the reserve state
|
|
566
|
+
*/
|
|
567
|
+
async loadVaultReserves(vaultState: VaultState): Promise<PubkeyHashMap<PublicKey, KaminoReserve>> {
|
|
568
|
+
return this._vaultClient.loadVaultReserves(vaultState);
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
/**
|
|
572
|
+
* This will get the list of all reserve pubkeys that the vault has allocations for
|
|
573
|
+
* @param vaultState - the vault state to load reserves for
|
|
574
|
+
* @returns a hashmap from each reserve pubkey to the reserve state
|
|
575
|
+
*/
|
|
576
|
+
getAllVaultReserves(vault: VaultState): PublicKey[] {
|
|
577
|
+
return this._vaultClient.getAllVaultReserves(vault);
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
/**
|
|
581
|
+
* This will load the onchain state for all the reserves that the vault has allocations for
|
|
582
|
+
* @param vaultState - the vault state to load reserves for
|
|
583
|
+
* @returns a hashmap from each reserve pubkey to the reserve state
|
|
584
|
+
*/
|
|
585
|
+
getVaultReserves(vault: VaultState): PublicKey[] {
|
|
586
|
+
return this._vaultClient.getVaultReserves(vault);
|
|
587
|
+
}
|
|
588
|
+
|
|
510
589
|
/**
|
|
511
590
|
* This will trigger invest by balancing, based on weights, the reserve allocations of the vault. It can either withdraw or deposit into reserves to balance them. This is a function that should be cranked
|
|
512
591
|
* @param kaminoVault - vault to invest from
|