@kamino-finance/klend-sdk 5.10.0 → 5.10.2

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 (37) hide show
  1. package/dist/classes/farm_utils.d.ts +22 -0
  2. package/dist/classes/farm_utils.d.ts.map +1 -0
  3. package/dist/classes/farm_utils.js +93 -0
  4. package/dist/classes/farm_utils.js.map +1 -0
  5. package/dist/classes/lut_utils.d.ts +29 -0
  6. package/dist/classes/lut_utils.d.ts.map +1 -0
  7. package/dist/classes/lut_utils.js +62 -0
  8. package/dist/classes/lut_utils.js.map +1 -0
  9. package/dist/classes/manager.d.ts +51 -28
  10. package/dist/classes/manager.d.ts.map +1 -1
  11. package/dist/classes/manager.js +53 -27
  12. package/dist/classes/manager.js.map +1 -1
  13. package/dist/classes/types.d.ts +15 -0
  14. package/dist/classes/types.d.ts.map +1 -1
  15. package/dist/classes/utils.d.ts +6 -0
  16. package/dist/classes/utils.d.ts.map +1 -1
  17. package/dist/classes/utils.js +10 -0
  18. package/dist/classes/utils.js.map +1 -1
  19. package/dist/classes/vault.d.ts +84 -56
  20. package/dist/classes/vault.d.ts.map +1 -1
  21. package/dist/classes/vault.js +229 -134
  22. package/dist/classes/vault.js.map +1 -1
  23. package/dist/client_kamino_manager.d.ts.map +1 -1
  24. package/dist/client_kamino_manager.js +10 -26
  25. package/dist/client_kamino_manager.js.map +1 -1
  26. package/dist/utils/ata.d.ts.map +1 -1
  27. package/dist/utils/ata.js +1 -0
  28. package/dist/utils/ata.js.map +1 -1
  29. package/package.json +6 -6
  30. package/src/classes/farm_utils.ts +155 -0
  31. package/src/classes/lut_utils.ts +63 -0
  32. package/src/classes/manager.ts +75 -31
  33. package/src/classes/types.ts +18 -0
  34. package/src/classes/utils.ts +10 -0
  35. package/src/classes/vault.ts +315 -158
  36. package/src/client_kamino_manager.ts +19 -33
  37. package/src/utils/ata.ts +1 -0
@@ -0,0 +1,22 @@
1
+ import { FarmState, UserState } from '@kamino-finance/farms-sdk';
2
+ import { Connection, Keypair, PublicKey, TransactionInstruction } from '@solana/web3.js';
3
+ import Decimal from 'decimal.js/decimal';
4
+ export declare const FARMS_GLOBAL_CONFIG_MAINNET: PublicKey;
5
+ export declare function getFarmStakeIxs(connection: Connection, user: PublicKey, lamportsToStake: Decimal, farmAddress: PublicKey, fetchedFarmState?: FarmState): Promise<TransactionInstruction[]>;
6
+ export declare function getFarmUserStatePDA(connection: Connection, user: PublicKey, farm: PublicKey): Promise<PublicKey>;
7
+ export declare function getFarmUnstakeIx(connection: Connection, user: PublicKey, lamportsToUnstake: Decimal, farmAddress: PublicKey, fetchedFarmState?: FarmState): Promise<TransactionInstruction>;
8
+ export declare function getFarmWithdrawUnstakedDepositIx(connection: Connection, user: PublicKey, farm: PublicKey, stakeTokenMint: PublicKey): Promise<TransactionInstruction>;
9
+ export declare function getFarmUnstakeAndWithdrawIxs(connection: Connection, user: PublicKey, lamportsToUnstake: Decimal, farmAddress: PublicKey, fetchedFarmState?: FarmState): Promise<UnstakeAndWithdrawFromFarmIxs>;
10
+ export declare function getSetupFarmIxsWithFarm(connection: Connection, farmAdmin: Keypair, farmTokenMint: PublicKey): Promise<SetupFarmIxsWithFarm>;
11
+ export declare function getUserSharesInFarm(connection: Connection, user: PublicKey, farm: PublicKey, farmTokenDecimals: number): Promise<Decimal>;
12
+ export declare function setVaultIdForFarmIx(connection: Connection, farmAdmin: PublicKey, farm: PublicKey, vault: PublicKey): Promise<TransactionInstruction>;
13
+ export declare function getSharesInFarmUserPosition(userState: UserState, tokenDecimals: number): Decimal;
14
+ export type SetupFarmIxsWithFarm = {
15
+ farm: Keypair;
16
+ setupFarmIxs: TransactionInstruction[];
17
+ };
18
+ export type UnstakeAndWithdrawFromFarmIxs = {
19
+ unstakeIx: TransactionInstruction;
20
+ withdrawIx: TransactionInstruction;
21
+ };
22
+ //# sourceMappingURL=farm_utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"farm_utils.d.ts","sourceRoot":"","sources":["../../src/classes/farm_utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAET,SAAS,EAKV,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,OAAO,MAAM,oBAAoB,CAAC;AAEzC,eAAO,MAAM,2BAA2B,EAAE,SAAyE,CAAC;AAEpH,wBAAsB,eAAe,CACnC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,SAAS,EACf,eAAe,EAAE,OAAO,EACxB,WAAW,EAAE,SAAS,EACtB,gBAAgB,CAAC,EAAE,SAAS,GAC3B,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAuBnC;AAED,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,SAAS,CAAC,CAGpB;AAED,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,SAAS,EACf,iBAAiB,EAAE,OAAO,EAC1B,WAAW,EAAE,SAAS,EACtB,gBAAgB,CAAC,EAAE,SAAS,GAC3B,OAAO,CAAC,sBAAsB,CAAC,CAkBjC;AAGD,wBAAsB,gCAAgC,CACpD,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,SAAS,EACf,cAAc,EAAE,SAAS,GACxB,OAAO,CAAC,sBAAsB,CAAC,CAKjC;AAED,wBAAsB,4BAA4B,CAChD,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,SAAS,EACf,iBAAiB,EAAE,OAAO,EAC1B,WAAW,EAAE,SAAS,EACtB,gBAAgB,CAAC,EAAE,SAAS,GAC3B,OAAO,CAAC,6BAA6B,CAAC,CASxC;AAED,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,OAAO,EAClB,aAAa,EAAE,SAAS,GACvB,OAAO,CAAC,oBAAoB,CAAC,CAK/B;AAED,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,SAAS,EACf,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,sBAAsB,CAAC,CAGjC;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAEhG;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,sBAAsB,EAAE,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,SAAS,EAAE,sBAAsB,CAAC;IAClC,UAAU,EAAE,sBAAsB,CAAC;CACpC,CAAC"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FARMS_GLOBAL_CONFIG_MAINNET = void 0;
7
+ exports.getFarmStakeIxs = getFarmStakeIxs;
8
+ exports.getFarmUserStatePDA = getFarmUserStatePDA;
9
+ exports.getFarmUnstakeIx = getFarmUnstakeIx;
10
+ exports.getFarmWithdrawUnstakedDepositIx = getFarmWithdrawUnstakedDepositIx;
11
+ exports.getFarmUnstakeAndWithdrawIxs = getFarmUnstakeAndWithdrawIxs;
12
+ exports.getSetupFarmIxsWithFarm = getSetupFarmIxsWithFarm;
13
+ exports.getUserSharesInFarm = getUserSharesInFarm;
14
+ exports.setVaultIdForFarmIx = setVaultIdForFarmIx;
15
+ exports.getSharesInFarmUserPosition = getSharesInFarmUserPosition;
16
+ const farms_sdk_1 = require("@kamino-finance/farms-sdk");
17
+ const web3_js_1 = require("@solana/web3.js");
18
+ const decimal_1 = __importDefault(require("decimal.js/decimal"));
19
+ exports.FARMS_GLOBAL_CONFIG_MAINNET = new web3_js_1.PublicKey('6UodrBjL2ZreDy7QdR4YV1oxqMBjVYSEyrFpctqqwGwL');
20
+ async function getFarmStakeIxs(connection, user, lamportsToStake, farmAddress, fetchedFarmState) {
21
+ const farmState = fetchedFarmState ? fetchedFarmState : await farms_sdk_1.FarmState.fetch(connection, farmAddress);
22
+ if (!farmState) {
23
+ throw new Error(`Farm state not found for ${farmAddress}`);
24
+ }
25
+ const farmClient = new farms_sdk_1.Farms(connection);
26
+ const scopePricesArg = farmState.scopePrices.equals(web3_js_1.PublicKey.default)
27
+ ? farmClient.getProgramID()
28
+ : farmState.scopePrices;
29
+ const stakeIxs = [];
30
+ const userState = (0, farms_sdk_1.getUserStatePDA)(farmClient.getProgramID(), farmAddress, user);
31
+ const userStateExists = await connection.getAccountInfo(userState);
32
+ if (!userStateExists) {
33
+ const createUserIx = farmClient.createNewUserIx(user, farmAddress);
34
+ stakeIxs.push(createUserIx);
35
+ }
36
+ const stakeIx = farmClient.stakeIx(user, farmAddress, lamportsToStake, farmState.token.mint, scopePricesArg);
37
+ stakeIxs.push(stakeIx);
38
+ return stakeIxs;
39
+ }
40
+ async function getFarmUserStatePDA(connection, user, farm) {
41
+ const farmClient = new farms_sdk_1.Farms(connection);
42
+ return (0, farms_sdk_1.getUserStatePDA)(farmClient.getProgramID(), farm, user);
43
+ }
44
+ async function getFarmUnstakeIx(connection, user, lamportsToUnstake, farmAddress, fetchedFarmState) {
45
+ const farmState = fetchedFarmState ? fetchedFarmState : await farms_sdk_1.FarmState.fetch(connection, farmAddress);
46
+ if (!farmState) {
47
+ throw new Error(`Farm state not found for ${farmAddress}`);
48
+ }
49
+ const farmClient = new farms_sdk_1.Farms(connection);
50
+ const scopePricesArg = farmState.scopePrices.equals(web3_js_1.PublicKey.default)
51
+ ? farmClient.getProgramID()
52
+ : farmState.scopePrices;
53
+ const userState = (0, farms_sdk_1.getUserStatePDA)(farmClient.getProgramID(), farmAddress, user);
54
+ if (!userState) {
55
+ throw new Error(`User state not found for ${user}`);
56
+ }
57
+ const x = new decimal_1.default(lamportsToUnstake.toString()).mul(farms_sdk_1.WAD);
58
+ console.log('lamportsToUnstake', lamportsToUnstake.toString());
59
+ return farmClient.unstakeIx(user, farmAddress, x.toString(), scopePricesArg);
60
+ }
61
+ // withdrawing from a farm is a 2 step operation: first we unstake the tokens from the farm, then we withdraw them
62
+ async function getFarmWithdrawUnstakedDepositIx(connection, user, farm, stakeTokenMint) {
63
+ const farmClient = new farms_sdk_1.Farms(connection);
64
+ const userState = (0, farms_sdk_1.getUserStatePDA)(farmClient.getProgramID(), farm, user);
65
+ return farmClient.withdrawUnstakedDepositIx(user, userState, farm, stakeTokenMint);
66
+ }
67
+ async function getFarmUnstakeAndWithdrawIxs(connection, user, lamportsToUnstake, farmAddress, fetchedFarmState) {
68
+ const farmState = fetchedFarmState ? fetchedFarmState : await farms_sdk_1.FarmState.fetch(connection, farmAddress);
69
+ if (!farmState) {
70
+ throw new Error(`Farm state not found for ${farmAddress}`);
71
+ }
72
+ const unstakeIx = await getFarmUnstakeIx(connection, user, lamportsToUnstake, farmAddress, farmState);
73
+ const withdrawIx = await getFarmWithdrawUnstakedDepositIx(connection, user, farmAddress, farmState.token.mint);
74
+ return { unstakeIx, withdrawIx };
75
+ }
76
+ async function getSetupFarmIxsWithFarm(connection, farmAdmin, farmTokenMint) {
77
+ const farmClient = new farms_sdk_1.Farms(connection);
78
+ const farm = new web3_js_1.Keypair();
79
+ const ixs = await farmClient.createFarmIx(farmAdmin.publicKey, farm, exports.FARMS_GLOBAL_CONFIG_MAINNET, farmTokenMint);
80
+ return { farm, setupFarmIxs: ixs };
81
+ }
82
+ async function getUserSharesInFarm(connection, user, farm, farmTokenDecimals) {
83
+ const farmClient = new farms_sdk_1.Farms(connection);
84
+ return farmClient.getUserTokensInUndelegatedFarm(user, farm, farmTokenDecimals);
85
+ }
86
+ async function setVaultIdForFarmIx(connection, farmAdmin, farm, vault) {
87
+ const farmClient = new farms_sdk_1.Farms(connection);
88
+ return farmClient.updateFarmConfigIx(farmAdmin, farm, web3_js_1.PublicKey.default, new farms_sdk_1.FarmConfigOption.UpdateVaultId(), vault);
89
+ }
90
+ function getSharesInFarmUserPosition(userState, tokenDecimals) {
91
+ return (0, farms_sdk_1.lamportsToCollDecimal)(new decimal_1.default((0, farms_sdk_1.scaleDownWads)(userState.activeStakeScaled)), tokenDecimals);
92
+ }
93
+ //# sourceMappingURL=farm_utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"farm_utils.js","sourceRoot":"","sources":["../../src/classes/farm_utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { Connection, PublicKey, TransactionInstruction } from '@solana/web3.js';
2
+ /**
3
+ * This method retuns an instruction that creates a lookup table, alongside the pubkey of the lookup table
4
+ * @param payer - the owner of the lookup table
5
+ * @param slot - the current slot
6
+ * @returns - the instruction to create the lookup table and its address
7
+ */
8
+ export declare function initLookupTableIx(payer: PublicKey, slot: number): [TransactionInstruction, PublicKey];
9
+ /**
10
+ * This method retuns an instruction that deactivates a lookup table, which is needed to close it
11
+ * @param payer - the owner of the lookup table
12
+ * @param lookupTable - the lookup table to deactivate
13
+ * @returns - the instruction to deactivate the lookup table
14
+ */
15
+ export declare function deactivateLookupTableIx(payer: PublicKey, lookupTable: PublicKey): TransactionInstruction;
16
+ /**
17
+ * This method returns an instruction that closes a lookup table. That lookup table needs to be disabled at least 500 blocks before closing it.
18
+ * @param payer - the owner of the lookup table
19
+ * @param lookupTable - the lookup table to close
20
+ * @returns - the instruction to close the lookup table
21
+ */
22
+ export declare function closeLookupTableIx(payer: PublicKey, lookupTable: PublicKey): TransactionInstruction;
23
+ /**
24
+ * Returns the accounts in a lookup table
25
+ * @param lookupTable - lookup table to get the accounts from
26
+ * @returns - an array of accounts in the lookup table
27
+ */
28
+ export declare function getAccountsInLUT(connection: Connection, lookupTable: PublicKey): Promise<PublicKey[]>;
29
+ //# sourceMappingURL=lut_utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lut_utils.d.ts","sourceRoot":"","sources":["../../src/classes/lut_utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,UAAU,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE3G;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAQrG;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,GAAG,sBAAsB,CAOxG;AAED;;;;;GAKG;AAEH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,GAAG,sBAAsB,CAQnG;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAO3G"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initLookupTableIx = initLookupTableIx;
4
+ exports.deactivateLookupTableIx = deactivateLookupTableIx;
5
+ exports.closeLookupTableIx = closeLookupTableIx;
6
+ exports.getAccountsInLUT = getAccountsInLUT;
7
+ const web3_js_1 = require("@solana/web3.js");
8
+ /**
9
+ * This method retuns an instruction that creates a lookup table, alongside the pubkey of the lookup table
10
+ * @param payer - the owner of the lookup table
11
+ * @param slot - the current slot
12
+ * @returns - the instruction to create the lookup table and its address
13
+ */
14
+ function initLookupTableIx(payer, slot) {
15
+ const [ixn, address] = web3_js_1.AddressLookupTableProgram.createLookupTable({
16
+ authority: payer,
17
+ payer,
18
+ recentSlot: slot,
19
+ });
20
+ return [ixn, address];
21
+ }
22
+ /**
23
+ * This method retuns an instruction that deactivates a lookup table, which is needed to close it
24
+ * @param payer - the owner of the lookup table
25
+ * @param lookupTable - the lookup table to deactivate
26
+ * @returns - the instruction to deactivate the lookup table
27
+ */
28
+ function deactivateLookupTableIx(payer, lookupTable) {
29
+ const ixn = web3_js_1.AddressLookupTableProgram.deactivateLookupTable({
30
+ authority: payer,
31
+ lookupTable: lookupTable,
32
+ });
33
+ return ixn;
34
+ }
35
+ /**
36
+ * This method returns an instruction that closes a lookup table. That lookup table needs to be disabled at least 500 blocks before closing it.
37
+ * @param payer - the owner of the lookup table
38
+ * @param lookupTable - the lookup table to close
39
+ * @returns - the instruction to close the lookup table
40
+ */
41
+ /// this require the LUT to be deactivated at least 500 blocks before
42
+ function closeLookupTableIx(payer, lookupTable) {
43
+ const ixn = web3_js_1.AddressLookupTableProgram.closeLookupTable({
44
+ authority: payer,
45
+ recipient: payer,
46
+ lookupTable: lookupTable,
47
+ });
48
+ return ixn;
49
+ }
50
+ /**
51
+ * Returns the accounts in a lookup table
52
+ * @param lookupTable - lookup table to get the accounts from
53
+ * @returns - an array of accounts in the lookup table
54
+ */
55
+ async function getAccountsInLUT(connection, lookupTable) {
56
+ const lutState = await connection.getAddressLookupTable(lookupTable);
57
+ if (!lutState || !lutState.value) {
58
+ throw new Error(`Lookup table ${lookupTable} not found`);
59
+ }
60
+ return lutState.value.state.addresses;
61
+ }
62
+ //# sourceMappingURL=lut_utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lut_utils.js","sourceRoot":"","sources":["../../src/classes/lut_utils.ts"],"names":[],"mappings":";;AAQA,8CAQC;AAQD,0DAOC;AASD,gDAQC;AAOD,4CAOC;AA9DD,6CAA2G;AAE3G;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,KAAgB,EAAE,IAAY;IAC9D,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,mCAAyB,CAAC,iBAAiB,CAAC;QACjE,SAAS,EAAE,KAAK;QAChB,KAAK;QACL,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACxB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAC,KAAgB,EAAE,WAAsB;IAC9E,MAAM,GAAG,GAAG,mCAAyB,CAAC,qBAAqB,CAAC;QAC1D,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,WAAW;KACzB,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,qEAAqE;AACrE,SAAgB,kBAAkB,CAAC,KAAgB,EAAE,WAAsB;IACzE,MAAM,GAAG,GAAG,mCAAyB,CAAC,gBAAgB,CAAC;QACrD,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,WAAW;KACzB,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,gBAAgB,CAAC,UAAsB,EAAE,WAAsB;IACnF,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACrE,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,gBAAgB,WAAW,YAAY,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;AACxC,CAAC"}
@@ -5,7 +5,8 @@ import { ReserveConfig } from '../idl_codegen/types';
5
5
  import Decimal from 'decimal.js';
6
6
  import { VaultState } from '../idl_codegen_kamino_vault/accounts';
7
7
  import { VaultConfigFieldKind } from '../idl_codegen_kamino_vault/types';
8
- import { AcceptVaultOwnershipIxs, InitVaultIxs, SyncVaultLUTIxs, UpdateReserveAllocationIxs, UpdateVaultConfigIxs } from './types';
8
+ import { AcceptVaultOwnershipIxs, DepositIxs, InitVaultIxs, SyncVaultLUTIxs, UpdateReserveAllocationIxs, UpdateVaultConfigIxs, UserSharesForVault, WithdrawIxs } from './types';
9
+ import { FarmState } from '@kamino-finance/farms-sdk/dist';
9
10
  /**
10
11
  * KaminoManager is a class that provides a high-level interface to interact with the Kamino Lend and Kamino Vault programs, in order to create and manage a market, as well as vaults
11
12
  */
@@ -43,7 +44,6 @@ export declare class KaminoManager {
43
44
  /**
44
45
  * This method will create a vault with a given config. The config can be changed later on, but it is recommended to set it up correctly from the start
45
46
  * @param vaultConfig - the config object used to create a vault
46
- * @returns vault - keypair, should be used to sign the transaction which creates the vault account
47
47
  * @returns vault: the keypair of the vault, used to sign the initialization transaction; initVaultIxs: a struct with ixs to initialize the vault and its lookup table + populateLUTIxs, a list to populate the lookup table which has to be executed in a separate transaction
48
48
  */
49
49
  createVaultIxs(vaultConfig: KaminoVaultConfig): Promise<{
@@ -54,7 +54,7 @@ export declare class KaminoManager {
54
54
  * This method updates the vault reserve allocation cofnig for an exiting vault reserve, or adds a new reserve to the vault if it does not exist.
55
55
  * @param vault - vault to be updated
56
56
  * @param reserveAllocationConfig - new reserve allocation config
57
- * @returns - a struct of instructions
57
+ * @returns - a struct with an instruction to update the reserve allocation and an optional list of instructions to update the lookup table for the allocation changes
58
58
  */
59
59
  updateVaultReserveAllocationIxs(vault: KaminoVault, reserveAllocationConfig: ReserveAllocationConfig): Promise<UpdateReserveAllocationIxs>;
60
60
  /**
@@ -86,13 +86,22 @@ export declare class KaminoManager {
86
86
  /**
87
87
  * This function creates instructions to deposit into a vault. It will also create ATA creation instructions for the vault shares that the user receives in return
88
88
  * @param user - user to deposit
89
- * @param vault - vault to deposit into
89
+ * @param vault - vault to deposit into (if the state is not provided, it will be fetched)
90
90
  * @param tokenAmount - token amount to be deposited, in decimals (will be converted in lamports)
91
- * @param tokenProgramIDOverride - optional param; should be passed if token to be deposited is token22
92
- * @param vaultReservesMap - 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
93
- * @returns - an array of instructions to be used to be executed
91
+ * @param [vaultReservesMap] - optional parameter; a hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
92
+ * @param [farmState] - the state of the vault farm, if the vault has a farm. Optional. If not provided, it will be fetched
93
+ * @returns - an instance of DepositIxs which contains the instructions to deposit in vault and the instructions to stake the shares in the farm if the vault has a farm
94
94
  */
95
- depositToVaultIxs(user: PublicKey, vault: KaminoVault, tokenAmount: Decimal, vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>): Promise<TransactionInstruction[]>;
95
+ depositToVaultIxs(user: PublicKey, vault: KaminoVault, tokenAmount: Decimal, vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>): Promise<DepositIxs>;
96
+ /**
97
+ * This function creates instructions to stake the shares in the vault farm if the vault has a farm
98
+ * @param user - user to stake
99
+ * @param vault - vault to deposit into its farm (if the state is not provided, it will be fetched)
100
+ * @param [sharesAmount] - token amount to be deposited, in decimals (will be converted in lamports). Optional. If not provided, the user's share balance will be used
101
+ * @param [farmState] - the state of the vault farm, if the vault has a farm. Optional. If not provided, it will be fetched
102
+ * @returns - a list of instructions for the user to stake shares into the vault's farm, including the creation of prerequisite accounts if needed
103
+ */
104
+ stakeSharesIxs(user: PublicKey, vault: KaminoVault, sharesAmount?: Decimal, farmState?: FarmState): Promise<TransactionInstruction[]>;
96
105
  /**
97
106
  * Update a field of the vault. If the field is a pubkey it will return an extra instruction to add that account into the lookup table
98
107
  * @param vault the vault to update
@@ -101,17 +110,23 @@ export declare class KaminoManager {
101
110
  * @returns a struct that contains the instruction to update the field and an optional list of instructions to update the lookup table
102
111
  */
103
112
  updateVaultConfigIxs(vault: KaminoVault, mode: VaultConfigFieldKind, value: string): Promise<UpdateVaultConfigIxs>;
113
+ /** Sets the farm where the shares can be staked. This is store in vault state and a vault can only have one farm, so the new farm will ovveride the old farm
114
+ * @param vault - vault to set the farm for
115
+ * @param farm - the farm where the vault shares can be staked
116
+ * @param [errorOnOverride] - if true, the function will throw an error if the vault already has a farm. If false, it will override the farm
117
+ */
118
+ setVaultFarm(vault: KaminoVault, farm: PublicKey, errorOnOverride?: boolean): Promise<UpdateVaultConfigIxs>;
104
119
  /**
105
- * This function creates the instruction for the `pendingAdmin` of the vault to accept to become the owner of the vault (step 2/2 of the ownership transfer) and the instructions to sync the vault LUT to the new state
120
+ * This function creates the instruction for the `pendingAdmin` of the vault to accept to become the owner of the vault (step 2/2 of the ownership transfer)
106
121
  * @param vault - vault to change the ownership for
107
- * @returns - an instruction to be used to be executed
122
+ * @returns - an instruction to accept the ownership of the vault and a list of instructions to update the lookup table
108
123
  */
109
124
  acceptVaultOwnershipIxs(vault: KaminoVault): Promise<AcceptVaultOwnershipIxs>;
110
125
  /**
111
126
  * This function creates the instruction for the admin to give up a part of the pending fees (which will be accounted as part of the vault)
112
127
  * @param vault - vault to give up pending fees for
113
128
  * @param maxAmountToGiveUp - the maximum amount of fees to give up, in tokens
114
- * @returns - an instruction to be used to be executed
129
+ * @returns - an instruction to give up the specified pending fees
115
130
  */
116
131
  giveUpPendingFeesIx(vault: KaminoVault, maxAmountToGiveUp: Decimal): Promise<TransactionInstruction>;
117
132
  /**
@@ -120,31 +135,35 @@ export declare class KaminoManager {
120
135
  * @param vault - vault to withdraw from
121
136
  * @param shareAmount - share amount to withdraw, in order to withdraw everything, any value > user share amount
122
137
  * @param slot - current slot, used to estimate the interest earned in the different reserves with allocation from the vault
123
- * @returns an array of instructions to be executed
138
+ * @param [vaultReservesMap] - 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
139
+ * @returns an array of instructions to create missing ATAs if needed and the withdraw instructions
124
140
  */
125
- withdrawFromVaultIxs(user: PublicKey, vault: KaminoVault, shareAmount: Decimal, slot: number): Promise<TransactionInstruction[]>;
141
+ withdrawFromVaultIxs(user: PublicKey, vault: KaminoVault, shareAmount: Decimal, slot: number): Promise<WithdrawIxs>;
126
142
  /**
127
143
  * This method withdraws all the pending fees from the vault to the owner's token ATA
128
144
  * @param vault - vault for which the admin withdraws the pending fees
129
145
  * @param slot - current slot, used to estimate the interest earned in the different reserves with allocation from the vault
130
- * @returns - list of instructions to withdraw all pending fees
146
+ * @param [vaultReservesMap] - a hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
147
+ * @returns - list of instructions to withdraw all pending fees, including the ATA creation instructions if needed
131
148
  */
132
149
  withdrawPendingFeesIxs(vault: KaminoVault, slot: number): Promise<TransactionInstruction[]>;
133
150
  /**
134
- * This method append the given keys to the lookup table
135
- * @param payer - the owner of the lookup table
136
- * @param slot - the LUT into which the keys will be inserted
137
- * @param keys - the keys to be inserted
138
- * @returns - list of instructions to insert the keys into the lookup table
151
+ * This method inserts the missing keys from the provided keys into an existent lookup table
152
+ * @param payer - payer wallet pubkey
153
+ * @param lookupTable - lookup table to insert the keys into
154
+ * @param keys - keys to insert into the lookup table
155
+ * @param [accountsInLUT] - the existent accounts in the lookup table. Optional. If provided, the function will not fetch the accounts in the lookup table
156
+ * @returns - an array of instructions to insert the missing keys into the lookup table
139
157
  */
140
- insertIntoLUT(payer: PublicKey, lut: PublicKey, keys: PublicKey[]): Promise<TransactionInstruction[]>;
158
+ insertIntoLUTIxs(payer: PublicKey, lut: PublicKey, keys: PublicKey[]): Promise<TransactionInstruction[]>;
141
159
  /**
142
160
  * Sync a vault for lookup table; create and set the LUT for the vault if needed and fill it with all the needed accounts
143
161
  * @param vault the vault to sync and set the LUT for if needed
144
162
  * @param vaultReserves optional; the state of the reserves in the vault allocation
163
+ * @param [vaultReservesMap] - optional parameter; a hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
145
164
  * @returns a struct that contains a list of ix to create the LUT and assign it to the vault if needed + a list of ixs to insert all the accounts in the LUT
146
165
  */
147
- syncVaultLUT(vault: KaminoVault, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>): Promise<SyncVaultLUTIxs>;
166
+ syncVaultLUTIxs(vault: KaminoVault, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>): Promise<SyncVaultLUTIxs>;
148
167
  /**
149
168
  * This method calculates the token per share value. This will always change based on interest earned from the vault, but calculating it requires a bunch of rpc requests. Caching this for a short duration would be optimal
150
169
  * @param vault - vault to calculate tokensPerShare for
@@ -164,16 +183,16 @@ export declare class KaminoManager {
164
183
  * This method returns the user shares balance for a given vault
165
184
  * @param user - user to calculate the shares balance for
166
185
  * @param vault - vault to calculate shares balance for
167
- * @returns - user share balance in decimal (not lamports)
186
+ * @returns - a struct of user share balance (staked in vault farm if the vault has a farm and unstaked) in decimal (not lamports)
168
187
  */
169
- getUserSharesBalanceSingleVault(user: PublicKey, vault: KaminoVault): Promise<Decimal>;
188
+ getUserSharesBalanceSingleVault(user: PublicKey, vault: KaminoVault): Promise<UserSharesForVault>;
170
189
  /**
171
190
  * This method returns the user shares balance for all existing vaults
172
191
  * @param user - user to calculate the shares balance for
173
192
  * @param vaultsOverride - the kamino vaults if already fetched, in order to reduce rpc calls
174
193
  * @returns - hash map with keyh as vault address and value as user share balance in decimal (not lamports)
175
194
  */
176
- getUserSharesBalanceAllVaults(user: PublicKey, vaultsOverride?: KaminoVault[]): Promise<PubkeyHashMap<PublicKey, Decimal>>;
195
+ getUserSharesBalanceAllVaults(user: PublicKey, vaultsOverride?: KaminoVault[]): Promise<PubkeyHashMap<PublicKey, UserSharesForVault>>;
177
196
  /**
178
197
  * This method returns the management and performance fee percentages
179
198
  * @param vaultState - vault to retrieve the fees percentages from
@@ -286,16 +305,18 @@ export declare class KaminoManager {
286
305
  * Simulate the current holdings of the vault and the earned interest
287
306
  * @param vaultState the kamino vault state to get simulated holdings and earnings for
288
307
  * @param vaultReserves optional; the state of the reserves in the vault allocation
308
+ * @param [currentSlot] - the current slot. Optional. If not provided it will fetch the current slot
289
309
  * @returns a struct of simulated vault holdings and earned interest
290
310
  */
291
- calculateSimulatedHoldingsWithInterest(vaultState: VaultState, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>): Promise<SimulatedVaultHoldingsWithEarnedInterest>;
311
+ calculateSimulatedHoldingsWithInterest(vaultState: VaultState, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>, currentSlot?: number): Promise<SimulatedVaultHoldingsWithEarnedInterest>;
292
312
  /**
293
313
  * Simulate the current holdings and compute the fees that would be charged
294
314
  * @param vaultState the kamino vault state to get simulated fees for
295
315
  * @param simulatedCurrentHoldingsWithInterest optional; the simulated holdings and interest earned by the vault
316
+ * @param [currentTimestamp] the current timestamp. Optional. If not provided it will fetch the current unix timestamp
296
317
  * @returns a struct of simulated management and interest fees
297
318
  */
298
- calculateSimulatedFees(vaultState: VaultState, simulatedCurrentHoldingsWithInterest?: SimulatedVaultHoldingsWithEarnedInterest): Promise<VaultFees>;
319
+ calculateSimulatedFees(vaultState: VaultState, simulatedCurrentHoldingsWithInterest?: SimulatedVaultHoldingsWithEarnedInterest, currentTimestamp?: number): Promise<VaultFees>;
299
320
  /**
300
321
  * This will load the onchain state for all the reserves that the vault has allocations for
301
322
  * @param vaultState - the vault state to load reserves for
@@ -329,11 +350,13 @@ export declare class KaminoManager {
329
350
  investAllReserves(payer: PublicKey, kaminoVault: KaminoVault): Promise<TransactionInstruction[]>;
330
351
  /**
331
352
  * This will trigger invest by balancing, based on weights, the reserve allocation of the vault. It can either withdraw or deposit into the given reserve to balance it
332
- * @param kaminoVault - vault to invest from
353
+ * @param payer wallet pubkey
354
+ * @param vault - vault to invest from
333
355
  * @param reserve - reserve to invest into or disinvest from
356
+ * @param [vaultReservesMap] - 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
334
357
  * @returns - an array of invest instructions for each invest action required for the vault reserves
335
358
  */
336
- investSingleReserve(payer: PublicKey, kaminoVault: KaminoVault, reserveWithAddress: ReserveWithAddress): Promise<TransactionInstruction[]>;
359
+ investSingleReserve(payer: PublicKey, kaminoVault: KaminoVault, reserveWithAddress: ReserveWithAddress, vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>): Promise<TransactionInstruction[]>;
337
360
  /**
338
361
  * This will return the a map between reserve pubkey and the pct of the vault invested amount in each reserve
339
362
  * @param vaultState - the kamino vault to get reserves distribution for
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/classes/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/classes/manager.ts"],"names":[],"mappings":"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"}