@augustdigital/sdk 4.24.5 → 4.24.7

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 (51) hide show
  1. package/lib/adapters/solana/getters.d.ts +1 -1
  2. package/lib/adapters/solana/getters.js +104 -60
  3. package/lib/adapters/solana/getters.js.map +1 -1
  4. package/lib/adapters/solana/index.d.ts +16 -13
  5. package/lib/adapters/solana/index.js +8 -4
  6. package/lib/adapters/solana/index.js.map +1 -1
  7. package/lib/adapters/solana/types.d.ts +1 -7
  8. package/lib/adapters/solana/utils.d.ts +14 -8
  9. package/lib/adapters/solana/utils.js +48 -66
  10. package/lib/adapters/solana/utils.js.map +1 -1
  11. package/lib/adapters/solana/vault.actions.d.ts +4 -2
  12. package/lib/adapters/solana/vault.actions.js +32 -20
  13. package/lib/adapters/solana/vault.actions.js.map +1 -1
  14. package/lib/adapters/sui/transformer.js +4 -0
  15. package/lib/adapters/sui/transformer.js.map +1 -1
  16. package/lib/core/fetcher.js +4 -16
  17. package/lib/core/fetcher.js.map +1 -1
  18. package/lib/core/helpers/vaults.d.ts +2 -1
  19. package/lib/core/helpers/vaults.js +14 -6
  20. package/lib/core/helpers/vaults.js.map +1 -1
  21. package/lib/core/helpers/web3.js +4 -3
  22. package/lib/core/helpers/web3.js.map +1 -1
  23. package/lib/index.d.ts +1 -1
  24. package/lib/main.d.ts +1 -1
  25. package/lib/main.js +8 -3
  26. package/lib/main.js.map +1 -1
  27. package/lib/modules/vaults/getters.js +65 -42
  28. package/lib/modules/vaults/getters.js.map +1 -1
  29. package/lib/modules/vaults/main.d.ts +3 -16
  30. package/lib/modules/vaults/main.js +7 -7
  31. package/lib/modules/vaults/main.js.map +1 -1
  32. package/lib/modules/vaults/types.d.ts +22 -0
  33. package/lib/modules/vaults/types.js +3 -0
  34. package/lib/modules/vaults/types.js.map +1 -0
  35. package/lib/modules/vaults/utils.d.ts +8 -0
  36. package/lib/modules/vaults/utils.js +37 -11
  37. package/lib/modules/vaults/utils.js.map +1 -1
  38. package/lib/services/debank/utils.d.ts +6 -0
  39. package/lib/services/debank/utils.js.map +1 -1
  40. package/lib/services/layerzero/deposits.d.ts +8 -2
  41. package/lib/services/layerzero/deposits.js +47 -20
  42. package/lib/services/layerzero/deposits.js.map +1 -1
  43. package/lib/services/octavfi/fetcher.js +2 -2
  44. package/lib/services/octavfi/fetcher.js.map +1 -1
  45. package/lib/services/octavfi/utils.d.ts +2 -1
  46. package/lib/services/octavfi/utils.js.map +1 -1
  47. package/lib/types/user.d.ts +1 -1
  48. package/lib/types/vaults.d.ts +6 -0
  49. package/lib/types/vaults.js.map +1 -1
  50. package/lib/types/webserver.d.ts +13 -9
  51. package/package.json +1 -1
@@ -1,3 +1,3 @@
1
1
  import { ITokenizedVault, IVault } from '../../types';
2
- import { IVaultBaseOptions } from '../../modules/vaults';
2
+ import type { IVaultBaseOptions } from '../../modules/vaults/types';
3
3
  export declare const getSolanaVault: (tokenizedVault: ITokenizedVault, options: IVaultBaseOptions) => Promise<IVault>;
@@ -1,53 +1,111 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.getSolanaVault = void 0;
4
- const _1 = require(".");
37
+ const utils_1 = require("./utils");
38
+ const SolanaConstants = __importStar(require("./constants"));
5
39
  const core_1 = require("../../core");
40
+ const utils_2 = require("../../modules/vaults/utils");
6
41
  const getSolanaVault = async (tokenizedVault, options) => {
7
42
  const solanaRpcUrl = options.rpcUrl;
8
- const vaultState = await _1.Solana.utils.getVaultStateReadOnly({
9
- idl: _1.Solana.constants.vaultIdl,
10
- vaultProgramId: tokenizedVault.address,
11
- endpoint: solanaRpcUrl,
12
- connection: options?.solanaService.connection,
13
- });
43
+ const solanaMetadata = tokenizedVault.solana_vault_metadata;
44
+ const programId = utils_1.SolanaUtils.resolveProgramId(tokenizedVault.address, solanaMetadata);
45
+ const fallbackDecimals = solanaMetadata?.deposit_token_decimals ?? SolanaConstants.fallbackDecimals;
46
+ let vaultState = null;
14
47
  let depositMint = null;
15
- if (vaultState.vaultState && vaultState.vaultState.depositMint) {
16
- depositMint = await _1.Solana.utils.getToken({
17
- mintAddress: vaultState.vaultState.depositMint,
48
+ let onChainAvailable = false;
49
+ try {
50
+ vaultState = await utils_1.SolanaUtils.getVaultStateReadOnly({
51
+ idl: SolanaConstants.vaultIdl,
52
+ vaultProgramId: programId,
53
+ vaultAddress: (solanaMetadata?.vault_state_pda ?? undefined),
18
54
  endpoint: solanaRpcUrl,
19
55
  connection: options?.solanaService?.connection,
20
56
  });
21
- }
22
- const apy = {
23
- apy: tokenizedVault?.reported_apy?.apy * 100,
24
- explainer: tokenizedVault?.reported_apy?.explainer,
25
- pointsApy: tokenizedVault?.reported_apy?.points_apy
26
- ? tokenizedVault.reported_apy.points_apy * 100
27
- : null,
28
- campaignApy: tokenizedVault?.campaign_apy
29
- ? tokenizedVault.campaign_apy * 100
30
- : null,
31
- liquidApy: tokenizedVault?.reported_apy?.liquid_apy * 100,
32
- rewardsClaimable: tokenizedVault?.reported_apy?.rewards_claimable,
33
- rewardsCompounded: tokenizedVault?.reported_apy?.rewards_compounded,
34
- underlyingApy: tokenizedVault?.reported_apy?.underlying_apy * 100,
35
- };
36
- let totalSupply = (0, core_1.toNormalizedBn)(0, vaultState.depositMintDecimals || 0);
37
- try {
38
- const shareMintPda = _1.Solana.utils.deriveShareMintPda(tokenizedVault.address);
39
- const shareMintAccountInfo = await options.solanaService?.connection.getParsedAccountInfo(shareMintPda);
40
- if (shareMintAccountInfo?.value) {
41
- const parsedData = shareMintAccountInfo.value.data;
42
- const { supply, decimals } = parsedData.parsed.info;
43
- totalSupply = (0, core_1.toNormalizedBn)(BigInt(supply), decimals);
57
+ onChainAvailable = true;
58
+ if (vaultState?.vaultState && vaultState.vaultState.depositMint) {
59
+ try {
60
+ depositMint = await utils_1.SolanaUtils.getToken({
61
+ mintAddress: vaultState.vaultState.depositMint,
62
+ endpoint: solanaRpcUrl,
63
+ connection: options?.solanaService?.connection,
64
+ });
65
+ }
66
+ catch (tokenError) {
67
+ console.warn(`[getSolanaVault] Token fetch failed for ${tokenizedVault.address}, using backend metadata:`, tokenError);
68
+ }
44
69
  }
45
70
  }
46
71
  catch (error) {
47
- console.warn('Error fetching share mint info:', error);
72
+ console.warn(`[getSolanaVault] RPC unavailable for ${tokenizedVault.address}, using backend-only data:`, error);
48
73
  }
49
- const deployedAum = vaultState.vaultState?.deployedAum;
50
- const totalAssets = (0, core_1.toNormalizedBn)(deployedAum ? BigInt(deployedAum.toString()) : BigInt(0), vaultState.depositMintDecimals || 0);
74
+ const decimals = vaultState?.depositMintDecimals ?? fallbackDecimals;
75
+ const apy = (0, utils_2.formatVaultApy)(tokenizedVault);
76
+ let totalSupply = (0, core_1.toNormalizedBn)(0, decimals);
77
+ if (onChainAvailable) {
78
+ try {
79
+ const shareMintPda = utils_1.SolanaUtils.deriveShareMintPda(programId);
80
+ const shareMintAccountInfo = await options.solanaService?.connection.getParsedAccountInfo(shareMintPda);
81
+ if (shareMintAccountInfo?.value) {
82
+ const parsedData = shareMintAccountInfo.value.data;
83
+ const { supply, decimals: mintDecimals } = parsedData.parsed.info;
84
+ totalSupply = (0, core_1.toNormalizedBn)(BigInt(supply), mintDecimals);
85
+ }
86
+ }
87
+ catch (error) {
88
+ console.warn(`[getSolanaVault] Error fetching share mint info for vault ${tokenizedVault.address}:`, error);
89
+ }
90
+ }
91
+ let totalAssets;
92
+ if (onChainAvailable) {
93
+ const deployedAum = vaultState?.vaultState?.deployedAum;
94
+ totalAssets = (0, core_1.toNormalizedBn)(deployedAum ? BigInt(deployedAum.toString()) : BigInt(0), decimals);
95
+ }
96
+ else if (tokenizedVault.latest_reported_tvl != null) {
97
+ const scaleFactor = BigInt(10) ** BigInt(decimals);
98
+ const tvlWhole = BigInt(Math.round(tokenizedVault.latest_reported_tvl));
99
+ totalAssets = (0, core_1.toNormalizedBn)(tvlWhole * scaleFactor, decimals);
100
+ }
101
+ else {
102
+ totalAssets = (0, core_1.toNormalizedBn)(BigInt(0), decimals);
103
+ }
104
+ const depositAsset = {
105
+ address: depositMint?.address ?? solanaMetadata?.deposit_mint,
106
+ symbol: depositMint?.symbol ?? solanaMetadata?.deposit_token_symbol,
107
+ decimals: depositMint?.decimals ?? fallbackDecimals,
108
+ };
51
109
  const returnObj = {
52
110
  operator: '0x',
53
111
  eoa_operators: [],
@@ -59,15 +117,9 @@ const getSolanaVault = async (tokenizedVault, options) => {
59
117
  receipt: {
60
118
  address: tokenizedVault.address,
61
119
  symbol: tokenizedVault?.receipt_token_symbol || 'upSOL',
62
- decimals: vaultState.depositMintDecimals || 0,
120
+ decimals: decimals,
63
121
  },
64
- depositAssets: [
65
- {
66
- address: depositMint?.address,
67
- symbol: depositMint?.symbol,
68
- decimals: depositMint?.decimals || _1.Solana.constants.fallbackDecimals,
69
- },
70
- ],
122
+ depositAssets: [depositAsset],
71
123
  chainId: core_1.SPECIAL_CHAINS.solana.chainId,
72
124
  name: tokenizedVault?.vault_name || 'Solana Program',
73
125
  logoUrl: tokenizedVault?.vault_logo_url || '/img/strategist/august.svg',
@@ -82,7 +134,7 @@ const getSolanaVault = async (tokenizedVault, options) => {
82
134
  isVisible: tokenizedVault?.is_visible || false,
83
135
  reserveTarget: tokenizedVault?.reserve_target || 0,
84
136
  reserveTolerance: tokenizedVault?.reserve_tolerance || 0,
85
- decimals: vaultState.depositMintDecimals || 0,
137
+ decimals: decimals,
86
138
  totalAssets: totalAssets,
87
139
  totalSupply: totalSupply,
88
140
  maxSupply: (0, core_1.toNormalizedBn)(1000000000),
@@ -98,7 +150,11 @@ const getSolanaVault = async (tokenizedVault, options) => {
98
150
  performance: tokenizedVault?.weekly_performance_fee_bps || 0,
99
151
  management: tokenizedVault?.platform_fee_override?.management_fee || 0,
100
152
  isManagementWaived: false,
153
+ managementFeeWaivedUntilDate: tokenizedVault?.management_fee_waived_until_date ?? null,
154
+ managementFeeWaivedUntilTvl: tokenizedVault?.management_fee_waived_until_tvl ?? null,
101
155
  isPerformanceWaived: false,
156
+ performanceFeeWaivedUntilDate: tokenizedVault?.performance_fee_waived_until_date ?? null,
157
+ performanceFeeWaivedUntilTvl: tokenizedVault?.performance_fee_waived_until_tvl ?? null,
102
158
  },
103
159
  lagDuration: 0,
104
160
  maxDailyDrawdown: tokenizedVault?.max_daily_drawdown || 0,
@@ -134,22 +190,10 @@ const getSolanaVault = async (tokenizedVault, options) => {
134
190
  redeemable: (0, core_1.toNormalizedBn)(0),
135
191
  walletBalance: (0, core_1.toNormalizedBn)(0),
136
192
  },
137
- composabilityIntegrations: tokenizedVault.composability_integrations?.map((integration) => ({
138
- name: integration.name,
139
- description: integration.description,
140
- earningMultiplier: integration.earning_multiplier,
141
- protocolUrl: integration.protocol_url,
142
- logoUrl: integration.logo_url,
143
- tokenizedVaultId: integration.tokenized_vault_id,
144
- id: integration.id,
145
- })) || [],
146
- strategists: tokenizedVault.subaccounts?.map((s) => ({
147
- address: s.address,
148
- logo: s.strategist?.strategist_logo,
149
- name: s.strategist?.strategist_name,
150
- type: 'subaccount',
151
- })),
193
+ composabilityIntegrations: (0, utils_2.mapComposabilityIntegrations)(tokenizedVault),
194
+ strategists: (0, utils_2.mapStrategists)(tokenizedVault),
152
195
  cachedAt: tokenizedVault?.cached_at ?? null,
196
+ programId: programId,
153
197
  };
154
198
  return returnObj;
155
199
  };
@@ -1 +1 @@
1
- {"version":3,"file":"getters.js","sourceRoot":"","sources":["../../../src.ts/adapters/solana/getters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getters.js","sourceRoot":"","sources":["../../../src.ts/adapters/solana/getters.ts"],"names":[],"mappings":"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"}
@@ -24,22 +24,22 @@ export declare const Solana: {
24
24
  getReadOnlyProvider: ({ connection }: import("./types").ISolanaConnectionOptions) => AnchorProvider;
25
25
  deriveShareMintPda: (vaultProgramId: PublicKey | string) => web3.PublicKey;
26
26
  deriveVaultStatePda: (vaultProgramId: PublicKey | string) => web3.PublicKey;
27
- deriveVaultTokenAtaPda: (vaultProgramId: PublicKey | string, depositMint: PublicKey) => web3.PublicKey;
28
- getVaultState: ({ provider, connection, vaultProgramId, idl, }: {
27
+ deriveVaultTokenAtaPda: (vaultProgramId: PublicKey | string, depositMint: PublicKey, vaultVersion?: number) => web3.PublicKey;
28
+ getVaultState: ({ provider, connection, vaultProgramId, vaultAddress, idl, }: {
29
29
  vaultProgramId: PublicKey | string;
30
+ vaultAddress?: PublicKey | string;
30
31
  idl: any;
31
32
  } & import("./types").ISolanaConnectionOptions) => Promise<{
32
33
  vaultState: unknown | null;
33
34
  depositMintDecimals: number | null;
34
- vaultToken: import("./types").ISolanaTokenBalance;
35
35
  }>;
36
- getVaultStateReadOnly: ({ vaultProgramId, connection, idl, }: {
36
+ getVaultStateReadOnly: ({ vaultProgramId, vaultAddress, connection, idl, }: {
37
37
  vaultProgramId: PublicKey | string;
38
+ vaultAddress?: PublicKey | string;
38
39
  idl: any;
39
40
  } & import("./types").ISolanaConnectionOptions) => Promise<{
40
41
  vaultState: unknown | null;
41
42
  depositMintDecimals: number | null;
42
- vaultToken: import("./types").ISolanaTokenBalance;
43
43
  }>;
44
44
  getToken: ({ mintAddress, endpoint, connection, }: {
45
45
  mintAddress: string | PublicKey;
@@ -61,7 +61,7 @@ export declare const Solana: {
61
61
  publicKey: PublicKey | string;
62
62
  shareMint?: PublicKey | string;
63
63
  } & import("./types").ISolanaConnectionOptions) => Promise<number>;
64
- getBestRpcEndpoint: ({ endpoint, network, connection, }: import("./types").ISolanaConnectionOptions) => Promise<"http://127.0.0.1:8899" | `https://${string}`>;
64
+ getBestRpcEndpoint: ({ endpoint, network, connection, }: import("./types").ISolanaConnectionOptions) => Promise<`https://${string}` | "http://127.0.0.1:8899">;
65
65
  fallbackDecimals: number;
66
66
  fallbackNetwork: import("../..").ISolanaNetwork;
67
67
  programIds: {
@@ -78,13 +78,18 @@ export declare const Solana: {
78
78
  vault: string;
79
79
  };
80
80
  };
81
- getVaultMints: ({ vaultProgramId, connection, idl, }: {
81
+ getVaultMints: ({ vaultProgramId, vaultAddress, connection, idl, }: {
82
82
  vaultProgramId: PublicKey | string;
83
+ vaultAddress?: PublicKey | string;
83
84
  idl: any;
84
85
  } & import("./types").ISolanaConnectionOptions) => Promise<{
85
86
  depositMint: string;
86
87
  shareMint: string;
88
+ vaultVersion: number | undefined;
87
89
  }>;
90
+ resolveProgramId: (vaultAddress: string, solanaMetadata?: {
91
+ program_id?: string;
92
+ } | null) => string;
88
93
  };
89
94
  constants: typeof SolanaConstants;
90
95
  actions: typeof SolanaActions;
@@ -102,15 +107,13 @@ declare class SolanaAdapter {
102
107
  get provider(): AnchorProvider;
103
108
  setWalletProvider(_publicKey: PublicKey | string, signTransaction: (<T extends Transaction | web3.VersionedTransaction>(transaction: T) => Promise<T>) | undefined): void;
104
109
  getProgram(programIdl: any): import("@coral-xyz/anchor").Program<any>;
105
- getVaultState(vaultProgramId: PublicKey | string, idl: any): Promise<{
110
+ getVaultState(vaultProgramId: PublicKey | string, idl: any, vaultAddress?: PublicKey | string): Promise<{
106
111
  vaultState: unknown | null;
107
112
  depositMintDecimals: number | null;
108
- vaultToken: import("./types").ISolanaTokenBalance;
109
113
  }>;
110
- getVaultStateReadOnly(vaultProgramId: PublicKey | string, idl: any): Promise<{
114
+ getVaultStateReadOnly(vaultProgramId: PublicKey | string, idl: any, vaultAddress?: PublicKey | string): Promise<{
111
115
  vaultState: unknown | null;
112
116
  depositMintDecimals: number | null;
113
- vaultToken: import("./types").ISolanaTokenBalance;
114
117
  }>;
115
118
  getToken(mintAddress: string | PublicKey): Promise<{
116
119
  address: string;
@@ -122,8 +125,8 @@ declare class SolanaAdapter {
122
125
  getTokenSymbol(mintAddress: string | PublicKey): Promise<string>;
123
126
  fetchUserTokenBalance(publicKey: PublicKey | string, depositMint: PublicKey | string): Promise<any>;
124
127
  fetchUserShareBalance(publicKey: PublicKey | string, shareMint: PublicKey | string): Promise<number>;
125
- vaultDeposit(vaultProgramId: PublicKey | string, idl: any, publicKey: PublicKey | string, depositAmount: number, sendTransaction: (transaction: Transaction | web3.VersionedTransaction, connection: Connection, options?: SendTransactionOptions) => Promise<web3.TransactionSignature>): Promise<any>;
126
- vaultRedeem(vaultProgramId: PublicKey | string, idl: any, publicKey: PublicKey | string, redeemShares: number, sendTransaction: (transaction: Transaction | web3.VersionedTransaction, connection: Connection, options?: SendTransactionOptions) => Promise<web3.TransactionSignature>): Promise<any>;
128
+ vaultDeposit(vaultProgramId: PublicKey | string, idl: any, publicKey: PublicKey | string, depositAmount: number, sendTransaction: (transaction: Transaction | web3.VersionedTransaction, connection: Connection, options?: SendTransactionOptions) => Promise<web3.TransactionSignature>, vaultAddress?: PublicKey | string): Promise<any>;
129
+ vaultRedeem(vaultProgramId: PublicKey | string, idl: any, publicKey: PublicKey | string, redeemShares: number, sendTransaction: (transaction: Transaction | web3.VersionedTransaction, connection: Connection, options?: SendTransactionOptions) => Promise<web3.TransactionSignature>, vaultAddress?: PublicKey | string): Promise<any>;
127
130
  getProgramId(type: 'vault'): string;
128
131
  }
129
132
  export default SolanaAdapter;
@@ -94,20 +94,22 @@ class SolanaAdapter {
94
94
  idl: programIdl,
95
95
  });
96
96
  }
97
- async getVaultState(vaultProgramId, idl) {
97
+ async getVaultState(vaultProgramId, idl, vaultAddress) {
98
98
  return await utils_1.SolanaUtils.getVaultState({
99
99
  network: this._network,
100
100
  provider: this._provider,
101
101
  connection: this._connection,
102
102
  vaultProgramId,
103
+ vaultAddress,
103
104
  idl,
104
105
  });
105
106
  }
106
- async getVaultStateReadOnly(vaultProgramId, idl) {
107
+ async getVaultStateReadOnly(vaultProgramId, idl, vaultAddress) {
107
108
  return await utils_1.SolanaUtils.getVaultStateReadOnly({
108
109
  network: this._network,
109
110
  connection: this._connection,
110
111
  vaultProgramId,
112
+ vaultAddress,
111
113
  idl,
112
114
  });
113
115
  }
@@ -141,24 +143,26 @@ class SolanaAdapter {
141
143
  shareMint,
142
144
  });
143
145
  }
144
- async vaultDeposit(vaultProgramId, idl, publicKey, depositAmount, sendTransaction) {
146
+ async vaultDeposit(vaultProgramId, idl, publicKey, depositAmount, sendTransaction, vaultAddress) {
145
147
  return await (0, vault_actions_1.handleSolanaDeposit)({
146
148
  network: this._network,
147
149
  provider: this._provider,
148
150
  connection: this._connection,
149
151
  vaultProgramId,
152
+ vaultAddress,
150
153
  idl,
151
154
  publicKey,
152
155
  depositAmount,
153
156
  sendTransaction,
154
157
  });
155
158
  }
156
- async vaultRedeem(vaultProgramId, idl, publicKey, redeemShares, sendTransaction) {
159
+ async vaultRedeem(vaultProgramId, idl, publicKey, redeemShares, sendTransaction, vaultAddress) {
157
160
  return await (0, vault_actions_1.handleSolanaRedeem)({
158
161
  network: this._network,
159
162
  provider: this._provider,
160
163
  connection: this._connection,
161
164
  vaultProgramId,
165
+ vaultAddress,
162
166
  idl,
163
167
  publicKey,
164
168
  redeemShares,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src.ts/adapters/solana/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,6DAA+C;AAC/C,yDAA2C;AAC3C,+DAAiD;AAEjD,6CAAqE;AACrE,mCAAsC;AAGtC,mDAA0E;AAC1E,2CAAyC;AAE5B,QAAA,MAAM,GAAG;IACpB,KAAK,EAAE,mBAAW;IAClB,SAAS,EAAE,eAAe;IAC1B,OAAO,EAAE,aAAa;IACtB,OAAO,EAAE,aAAa;CACvB,CAAC;AAYF,MAAM,aAAa;IAMjB,YACE,QAA4B,EAC5B,UAA0B,mBAAW,CAAC,eAAe;QAErD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,MAAM,UAAU,GAAG,IAAI,oBAAU,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,mBAAW,CAAC,mBAAmB,CAAC;YAC/C,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAGD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAGD,iBAAiB,CACf,UAA8B,EAC9B,eAIa;QAEb,IAAI,UAAU,IAAI,eAAe,EAAE,CAAC;YAClC,MAAM,SAAS,GACb,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,mBAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAC1E,IAAI,CAAC,SAAS,GAAG,mBAAW,CAAC,WAAW,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,QAAQ;gBACtB,UAAU,EAAE,IAAI,CAAC,WAAW;gBAC5B,SAAS;gBACT,eAAe;aAChB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,GAAG,mBAAW,CAAC,mBAAmB,CAAC;gBAC/C,OAAO,EAAE,IAAI,CAAC,QAAQ;gBACtB,UAAU,EAAE,IAAI,CAAC,WAAW;aAC7B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,UAAU,CAAC,UAAe;QACxB,OAAO,mBAAW,CAAC,UAAU,CAAC;YAC5B,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,GAAG,EAAE,UAAU;SAChB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,cAAkC,EAAE,GAAQ;QAC9D,OAAO,MAAM,mBAAW,CAAC,aAAa,CAAC;YACrC,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,cAAc;YACd,GAAG;SACJ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,cAAkC,EAAE,GAAQ;QACtE,OAAO,MAAM,mBAAW,CAAC,qBAAqB,CAAC;YAC7C,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,cAAc;YACd,GAAG;SACJ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,WAA+B;QAC5C,OAAO,MAAM,mBAAW,CAAC,QAAQ,CAAC;YAChC,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,WAAW;YACX,QAAQ,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,WAA+B;QAClD,OAAO,MAAM,mBAAW,CAAC,cAAc,CAAC;YACtC,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,WAAW;YACX,QAAQ,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,SAA6B,EAC7B,WAA+B;QAE/B,OAAO,MAAM,mBAAW,CAAC,qBAAqB,CAAC;YAC7C,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,SAAS;YACT,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,SAA6B,EAC7B,SAA6B;QAE7B,OAAO,MAAM,mBAAW,CAAC,qBAAqB,CAAC;YAC7C,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,SAAS;YACT,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,cAAkC,EAClC,GAAQ,EACR,SAA6B,EAC7B,aAAqB,EACrB,eAIuC;QAEvC,OAAO,MAAM,IAAA,mCAAmB,EAAC;YAC/B,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,cAAc;YACd,GAAG;YACH,SAAS;YACT,aAAa;YACb,eAAe;SAChB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CACf,cAAkC,EAClC,GAAQ,EACR,SAA6B,EAC7B,YAAoB,EACpB,eAIuC;QAEvC,OAAO,MAAM,IAAA,kCAAkB,EAAC;YAC9B,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,cAAc;YACd,GAAG;YACH,SAAS;YACT,YAAY;YACZ,eAAe;SAChB,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,IAAa;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAmC,CAAC;QACzD,OAAO,sBAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;CACF;AAED,kBAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src.ts/adapters/solana/index.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ export interface ISolanaVaultState {
18
18
  deployedAum: number | null;
19
19
  pdaBump: number[] | null;
20
20
  paused: boolean | null;
21
+ vaultVersion: number[] | null;
21
22
  }
22
23
  export interface ISolanaToken {
23
24
  address: string;
@@ -39,13 +40,6 @@ export interface ISolanaVaultConfig {
39
40
  depositMint: string;
40
41
  network: ISolanaNetwork;
41
42
  }
42
- export interface ISolanaTokenBalance {
43
- balance: number;
44
- decimals: number;
45
- rawAmount: string;
46
- symbol?: string;
47
- name?: string;
48
- }
49
43
  export interface ISolanaDepositResult {
50
44
  success: boolean;
51
45
  signature?: string;
@@ -1,6 +1,6 @@
1
1
  import { AnchorProvider, Program, web3 } from '@coral-xyz/anchor';
2
2
  import { PublicKey, Transaction } from '@solana/web3.js';
3
- import { ISolanaConnectionOptions, ISolanaTokenBalance } from './types';
3
+ import { ISolanaConnectionOptions } from './types';
4
4
  declare function getExplorerLink({ signature, type, network, }: {
5
5
  signature: string;
6
6
  type: 'tx' | 'address' | 'token';
@@ -11,7 +11,7 @@ declare function getProgram({ provider, idl, programId, network, }: {
11
11
  idl: any;
12
12
  programId?: string;
13
13
  } & ISolanaConnectionOptions): Program<any>;
14
- declare function getBestRpcEndpoint({ endpoint, network, connection, }: ISolanaConnectionOptions): Promise<"http://127.0.0.1:8899" | `https://${string}`>;
14
+ declare function getBestRpcEndpoint({ endpoint, network, connection, }: ISolanaConnectionOptions): Promise<`https://${string}` | "http://127.0.0.1:8899">;
15
15
  declare function getProvider({ connection, publicKey, signTransaction, }: {
16
16
  publicKey: PublicKey;
17
17
  signTransaction: (<T extends Transaction | web3.VersionedTransaction>(transaction: T) => Promise<T>) | undefined;
@@ -19,29 +19,31 @@ declare function getProvider({ connection, publicKey, signTransaction, }: {
19
19
  declare function getReadOnlyProvider({ connection }: ISolanaConnectionOptions): AnchorProvider;
20
20
  declare function deriveVaultStatePda(vaultProgramId: PublicKey | string): web3.PublicKey;
21
21
  declare function deriveShareMintPda(vaultProgramId: PublicKey | string): web3.PublicKey;
22
- declare function deriveVaultTokenAtaPda(vaultProgramId: PublicKey | string, depositMint: PublicKey): web3.PublicKey;
23
- declare function getVaultState({ provider, connection, vaultProgramId, idl, }: {
22
+ declare function deriveVaultTokenAtaPda(vaultProgramId: PublicKey | string, depositMint: PublicKey, vaultVersion?: number): web3.PublicKey;
23
+ declare function getVaultState({ provider, connection, vaultProgramId, vaultAddress, idl, }: {
24
24
  vaultProgramId: PublicKey | string;
25
+ vaultAddress?: PublicKey | string;
25
26
  idl: any;
26
27
  } & ISolanaConnectionOptions): Promise<{
27
28
  vaultState: unknown | null;
28
29
  depositMintDecimals: number | null;
29
- vaultToken: ISolanaTokenBalance;
30
30
  }>;
31
- declare function getVaultStateReadOnly({ vaultProgramId, connection, idl, }: {
31
+ declare function getVaultStateReadOnly({ vaultProgramId, vaultAddress, connection, idl, }: {
32
32
  vaultProgramId: PublicKey | string;
33
+ vaultAddress?: PublicKey | string;
33
34
  idl: any;
34
35
  } & ISolanaConnectionOptions): Promise<{
35
36
  vaultState: unknown | null;
36
37
  depositMintDecimals: number | null;
37
- vaultToken: ISolanaTokenBalance;
38
38
  }>;
39
- declare function getVaultMints({ vaultProgramId, connection, idl, }: {
39
+ declare function getVaultMints({ vaultProgramId, vaultAddress, connection, idl, }: {
40
40
  vaultProgramId: PublicKey | string;
41
+ vaultAddress?: PublicKey | string;
41
42
  idl: any;
42
43
  } & ISolanaConnectionOptions): Promise<{
43
44
  depositMint: string;
44
45
  shareMint: string;
46
+ vaultVersion: number | undefined;
45
47
  }>;
46
48
  declare function getToken({ mintAddress, endpoint, connection, }: {
47
49
  mintAddress: string | PublicKey;
@@ -63,6 +65,9 @@ declare function fetchUserShareBalance({ connection, publicKey, shareMint, netwo
63
65
  publicKey: PublicKey | string;
64
66
  shareMint?: PublicKey | string;
65
67
  } & ISolanaConnectionOptions): Promise<number>;
68
+ declare function resolveProgramId(vaultAddress: string, solanaMetadata?: {
69
+ program_id?: string;
70
+ } | null): string;
66
71
  export declare const SolanaUtils: {
67
72
  getExplorerLink: typeof getExplorerLink;
68
73
  isSolanaAddress: typeof isSolanaAddress;
@@ -97,5 +102,6 @@ export declare const SolanaUtils: {
97
102
  };
98
103
  };
99
104
  getVaultMints: typeof getVaultMints;
105
+ resolveProgramId: typeof resolveProgramId;
100
106
  };
101
107
  export {};