@augustdigital/sdk 4.24.5 → 4.24.6

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 (42) hide show
  1. package/lib/adapters/solana/getters.d.ts +1 -1
  2. package/lib/adapters/solana/getters.js +100 -60
  3. package/lib/adapters/solana/getters.js.map +1 -1
  4. package/lib/adapters/solana/index.d.ts +14 -8
  5. package/lib/adapters/solana/index.js +8 -4
  6. package/lib/adapters/solana/index.js.map +1 -1
  7. package/lib/adapters/solana/utils.d.ts +11 -4
  8. package/lib/adapters/solana/utils.js +23 -19
  9. package/lib/adapters/solana/utils.js.map +1 -1
  10. package/lib/adapters/solana/vault.actions.d.ts +4 -2
  11. package/lib/adapters/solana/vault.actions.js +30 -18
  12. package/lib/adapters/solana/vault.actions.js.map +1 -1
  13. package/lib/core/fetcher.js +4 -16
  14. package/lib/core/fetcher.js.map +1 -1
  15. package/lib/core/helpers/vaults.js +6 -6
  16. package/lib/core/helpers/vaults.js.map +1 -1
  17. package/lib/core/helpers/web3.js +4 -3
  18. package/lib/core/helpers/web3.js.map +1 -1
  19. package/lib/index.d.ts +1 -1
  20. package/lib/main.d.ts +1 -1
  21. package/lib/main.js +8 -3
  22. package/lib/main.js.map +1 -1
  23. package/lib/modules/vaults/getters.js +10 -7
  24. package/lib/modules/vaults/getters.js.map +1 -1
  25. package/lib/modules/vaults/main.d.ts +3 -16
  26. package/lib/modules/vaults/main.js +7 -7
  27. package/lib/modules/vaults/main.js.map +1 -1
  28. package/lib/modules/vaults/types.d.ts +22 -0
  29. package/lib/modules/vaults/types.js +3 -0
  30. package/lib/modules/vaults/types.js.map +1 -0
  31. package/lib/modules/vaults/utils.d.ts +8 -0
  32. package/lib/modules/vaults/utils.js +33 -11
  33. package/lib/modules/vaults/utils.js.map +1 -1
  34. package/lib/services/layerzero/deposits.d.ts +8 -2
  35. package/lib/services/layerzero/deposits.js +47 -20
  36. package/lib/services/layerzero/deposits.js.map +1 -1
  37. package/lib/services/octavfi/fetcher.js +2 -2
  38. package/lib/services/octavfi/fetcher.js.map +1 -1
  39. package/lib/types/vaults.d.ts +1 -0
  40. package/lib/types/vaults.js.map +1 -1
  41. package/lib/types/webserver.d.ts +9 -9
  42. 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),
@@ -134,22 +186,10 @@ const getSolanaVault = async (tokenizedVault, options) => {
134
186
  redeemable: (0, core_1.toNormalizedBn)(0),
135
187
  walletBalance: (0, core_1.toNormalizedBn)(0),
136
188
  },
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
- })),
189
+ composabilityIntegrations: (0, utils_2.mapComposabilityIntegrations)(tokenizedVault),
190
+ strategists: (0, utils_2.mapStrategists)(tokenizedVault),
152
191
  cachedAt: tokenizedVault?.cached_at ?? null,
192
+ programId: programId,
153
193
  };
154
194
  return returnObj;
155
195
  };
@@ -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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"}
@@ -25,16 +25,18 @@ export declare const Solana: {
25
25
  deriveShareMintPda: (vaultProgramId: PublicKey | string) => web3.PublicKey;
26
26
  deriveVaultStatePda: (vaultProgramId: PublicKey | string) => web3.PublicKey;
27
27
  deriveVaultTokenAtaPda: (vaultProgramId: PublicKey | string, depositMint: PublicKey) => web3.PublicKey;
28
- getVaultState: ({ provider, connection, vaultProgramId, idl, }: {
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
35
  vaultToken: import("./types").ISolanaTokenBalance;
35
36
  }>;
36
- getVaultStateReadOnly: ({ vaultProgramId, connection, idl, }: {
37
+ getVaultStateReadOnly: ({ vaultProgramId, vaultAddress, connection, idl, }: {
37
38
  vaultProgramId: PublicKey | string;
39
+ vaultAddress?: PublicKey | string;
38
40
  idl: any;
39
41
  } & import("./types").ISolanaConnectionOptions) => Promise<{
40
42
  vaultState: unknown | null;
@@ -61,7 +63,7 @@ export declare const Solana: {
61
63
  publicKey: PublicKey | string;
62
64
  shareMint?: PublicKey | string;
63
65
  } & import("./types").ISolanaConnectionOptions) => Promise<number>;
64
- getBestRpcEndpoint: ({ endpoint, network, connection, }: import("./types").ISolanaConnectionOptions) => Promise<"http://127.0.0.1:8899" | `https://${string}`>;
66
+ getBestRpcEndpoint: ({ endpoint, network, connection, }: import("./types").ISolanaConnectionOptions) => Promise<`https://${string}` | "http://127.0.0.1:8899">;
65
67
  fallbackDecimals: number;
66
68
  fallbackNetwork: import("../..").ISolanaNetwork;
67
69
  programIds: {
@@ -78,13 +80,17 @@ export declare const Solana: {
78
80
  vault: string;
79
81
  };
80
82
  };
81
- getVaultMints: ({ vaultProgramId, connection, idl, }: {
83
+ getVaultMints: ({ vaultProgramId, vaultAddress, connection, idl, }: {
82
84
  vaultProgramId: PublicKey | string;
85
+ vaultAddress?: PublicKey | string;
83
86
  idl: any;
84
87
  } & import("./types").ISolanaConnectionOptions) => Promise<{
85
88
  depositMint: string;
86
89
  shareMint: string;
87
90
  }>;
91
+ resolveProgramId: (vaultAddress: string, solanaMetadata?: {
92
+ program_id?: string;
93
+ } | null) => string;
88
94
  };
89
95
  constants: typeof SolanaConstants;
90
96
  actions: typeof SolanaActions;
@@ -102,12 +108,12 @@ declare class SolanaAdapter {
102
108
  get provider(): AnchorProvider;
103
109
  setWalletProvider(_publicKey: PublicKey | string, signTransaction: (<T extends Transaction | web3.VersionedTransaction>(transaction: T) => Promise<T>) | undefined): void;
104
110
  getProgram(programIdl: any): import("@coral-xyz/anchor").Program<any>;
105
- getVaultState(vaultProgramId: PublicKey | string, idl: any): Promise<{
111
+ getVaultState(vaultProgramId: PublicKey | string, idl: any, vaultAddress?: PublicKey | string): Promise<{
106
112
  vaultState: unknown | null;
107
113
  depositMintDecimals: number | null;
108
114
  vaultToken: import("./types").ISolanaTokenBalance;
109
115
  }>;
110
- getVaultStateReadOnly(vaultProgramId: PublicKey | string, idl: any): Promise<{
116
+ getVaultStateReadOnly(vaultProgramId: PublicKey | string, idl: any, vaultAddress?: PublicKey | string): Promise<{
111
117
  vaultState: unknown | null;
112
118
  depositMintDecimals: number | null;
113
119
  vaultToken: import("./types").ISolanaTokenBalance;
@@ -122,8 +128,8 @@ declare class SolanaAdapter {
122
128
  getTokenSymbol(mintAddress: string | PublicKey): Promise<string>;
123
129
  fetchUserTokenBalance(publicKey: PublicKey | string, depositMint: PublicKey | string): Promise<any>;
124
130
  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>;
131
+ 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>;
132
+ 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
133
  getProgramId(type: 'vault'): string;
128
134
  }
129
135
  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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src.ts/adapters/solana/index.ts"],"names":[],"mappings":"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"}
@@ -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;
@@ -20,24 +20,27 @@ declare function getReadOnlyProvider({ connection }: ISolanaConnectionOptions):
20
20
  declare function deriveVaultStatePda(vaultProgramId: PublicKey | string): web3.PublicKey;
21
21
  declare function deriveShareMintPda(vaultProgramId: PublicKey | string): web3.PublicKey;
22
22
  declare function deriveVaultTokenAtaPda(vaultProgramId: PublicKey | string, depositMint: PublicKey): web3.PublicKey;
23
- declare function getVaultState({ provider, connection, vaultProgramId, idl, }: {
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
30
  vaultToken: ISolanaTokenBalance;
30
31
  }>;
31
- declare function getVaultStateReadOnly({ vaultProgramId, connection, idl, }: {
32
+ declare function getVaultStateReadOnly({ vaultProgramId, vaultAddress, connection, idl, }: {
32
33
  vaultProgramId: PublicKey | string;
34
+ vaultAddress?: PublicKey | string;
33
35
  idl: any;
34
36
  } & ISolanaConnectionOptions): Promise<{
35
37
  vaultState: unknown | null;
36
38
  depositMintDecimals: number | null;
37
39
  vaultToken: ISolanaTokenBalance;
38
40
  }>;
39
- declare function getVaultMints({ vaultProgramId, connection, idl, }: {
41
+ declare function getVaultMints({ vaultProgramId, vaultAddress, connection, idl, }: {
40
42
  vaultProgramId: PublicKey | string;
43
+ vaultAddress?: PublicKey | string;
41
44
  idl: any;
42
45
  } & ISolanaConnectionOptions): Promise<{
43
46
  depositMint: string;
@@ -63,6 +66,9 @@ declare function fetchUserShareBalance({ connection, publicKey, shareMint, netwo
63
66
  publicKey: PublicKey | string;
64
67
  shareMint?: PublicKey | string;
65
68
  } & ISolanaConnectionOptions): Promise<number>;
69
+ declare function resolveProgramId(vaultAddress: string, solanaMetadata?: {
70
+ program_id?: string;
71
+ } | null): string;
66
72
  export declare const SolanaUtils: {
67
73
  getExplorerLink: typeof getExplorerLink;
68
74
  isSolanaAddress: typeof isSolanaAddress;
@@ -97,5 +103,6 @@ export declare const SolanaUtils: {
97
103
  };
98
104
  };
99
105
  getVaultMints: typeof getVaultMints;
106
+ resolveProgramId: typeof resolveProgramId;
100
107
  };
101
108
  export {};
@@ -16,8 +16,8 @@ function isSolanaAddress(address) {
16
16
  if ((0, ethers_1.isAddress)(address))
17
17
  return false;
18
18
  try {
19
- const pk = new web3_js_1.PublicKey(address);
20
- return web3_js_1.PublicKey.isOnCurve(pk.toBytes());
19
+ new web3_js_1.PublicKey(address);
20
+ return true;
21
21
  }
22
22
  catch (_e) {
23
23
  return false;
@@ -28,14 +28,8 @@ function isSolana(signature) {
28
28
  return false;
29
29
  if ((0, ethers_1.isAddress)(signature))
30
30
  return false;
31
- try {
32
- const testKey = new web3_js_1.PublicKey(signature);
33
- if (web3_js_1.PublicKey.isOnCurve(testKey.toBytes())) {
34
- return false;
35
- }
36
- }
37
- catch (error) {
38
- }
31
+ if (isSolanaAddress(signature))
32
+ return false;
39
33
  const base58Chars = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
40
34
  const isValidBase58 = signature
41
35
  .split('')
@@ -124,7 +118,7 @@ function deriveVaultTokenAtaPda(vaultProgramId, depositMint) {
124
118
  const [pda] = web3_js_1.PublicKey.findProgramAddressSync([new TextEncoder().encode('token_vault'), depositMint.toBuffer()], _vaultProgramId);
125
119
  return pda;
126
120
  }
127
- async function getVaultState({ provider, connection, vaultProgramId, idl, }) {
121
+ async function getVaultState({ provider, connection, vaultProgramId, vaultAddress, idl, }) {
128
122
  const returnObj = {
129
123
  vaultState: null,
130
124
  depositMintDecimals: null,
@@ -137,14 +131,16 @@ async function getVaultState({ provider, connection, vaultProgramId, idl, }) {
137
131
  },
138
132
  };
139
133
  try {
140
- const cacheKey = `vaultState-${vaultProgramId}`;
134
+ const cacheKey = `vaultState-${vaultAddress || vaultProgramId}`;
141
135
  const cachedData = await (0, core_1.getSafeCache)(cacheKey);
142
136
  if (cachedData)
143
137
  return cachedData;
144
138
  if (!vaultProgramId) {
145
139
  throw new Error('Please enter a vault program ID');
146
140
  }
147
- const vaultStatePda = deriveVaultStatePda(vaultProgramId);
141
+ const vaultStatePda = vaultAddress
142
+ ? new web3_js_1.PublicKey(vaultAddress)
143
+ : deriveVaultStatePda(vaultProgramId);
148
144
  const _vaultProgramId = new web3_js_1.PublicKey(vaultProgramId);
149
145
  const program = getProgram({
150
146
  provider,
@@ -186,7 +182,7 @@ async function getVaultState({ provider, connection, vaultProgramId, idl, }) {
186
182
  return returnObj;
187
183
  }
188
184
  }
189
- async function getVaultStateReadOnly({ vaultProgramId, connection, idl, }) {
185
+ async function getVaultStateReadOnly({ vaultProgramId, vaultAddress, connection, idl, }) {
190
186
  const returnObj = {
191
187
  vaultState: null,
192
188
  depositMintDecimals: null,
@@ -199,7 +195,7 @@ async function getVaultStateReadOnly({ vaultProgramId, connection, idl, }) {
199
195
  },
200
196
  };
201
197
  try {
202
- const cacheKey = `vaultState-${vaultProgramId}`;
198
+ const cacheKey = `vaultState-${vaultAddress || vaultProgramId}`;
203
199
  const cachedData = await (0, core_1.getSafeCache)(cacheKey);
204
200
  if (cachedData)
205
201
  return cachedData;
@@ -207,7 +203,9 @@ async function getVaultStateReadOnly({ vaultProgramId, connection, idl, }) {
207
203
  throw new Error('Please enter a vault program ID');
208
204
  }
209
205
  const _vaultProgramId = new web3_js_1.PublicKey(vaultProgramId);
210
- const vaultStatePda = deriveVaultStatePda(_vaultProgramId);
206
+ const vaultStatePda = vaultAddress
207
+ ? new web3_js_1.PublicKey(vaultAddress)
208
+ : deriveVaultStatePda(_vaultProgramId);
211
209
  const accountInfo = await connection.getAccountInfo(vaultStatePda);
212
210
  if (!accountInfo) {
213
211
  console.warn('Vault state account not found');
@@ -267,9 +265,9 @@ async function getVaultStateReadOnly({ vaultProgramId, connection, idl, }) {
267
265
  return returnObj;
268
266
  }
269
267
  }
270
- async function getVaultMints({ vaultProgramId, connection, idl, }) {
268
+ async function getVaultMints({ vaultProgramId, vaultAddress, connection, idl, }) {
271
269
  try {
272
- const cacheKey = `vaultMints-${vaultProgramId}`;
270
+ const cacheKey = `vaultMints-${vaultAddress || vaultProgramId}`;
273
271
  const cachedData = await (0, core_1.getSafeCache)(cacheKey);
274
272
  if (cachedData)
275
273
  return cachedData;
@@ -277,7 +275,9 @@ async function getVaultMints({ vaultProgramId, connection, idl, }) {
277
275
  throw new Error('Please enter a vault program ID');
278
276
  }
279
277
  const _vaultProgramId = new web3_js_1.PublicKey(vaultProgramId);
280
- const vaultStatePda = deriveVaultStatePda(_vaultProgramId);
278
+ const vaultStatePda = vaultAddress
279
+ ? new web3_js_1.PublicKey(vaultAddress)
280
+ : deriveVaultStatePda(_vaultProgramId);
281
281
  const readOnlyProvider = getReadOnlyProvider({ connection });
282
282
  const program = getProgram({
283
283
  provider: readOnlyProvider,
@@ -453,6 +453,9 @@ async function fetchUserShareBalance({ connection, publicKey, shareMint, network
453
453
  return 0;
454
454
  }
455
455
  }
456
+ function resolveProgramId(vaultAddress, solanaMetadata) {
457
+ return solanaMetadata?.program_id || vaultAddress;
458
+ }
456
459
  exports.SolanaUtils = {
457
460
  getExplorerLink,
458
461
  isSolanaAddress,
@@ -474,5 +477,6 @@ exports.SolanaUtils = {
474
477
  fallbackNetwork: constants_1.fallbackNetwork,
475
478
  programIds: constants_1.programIds,
476
479
  getVaultMints,
480
+ resolveProgramId,
477
481
  };
478
482
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src.ts/adapters/solana/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src.ts/adapters/solana/utils.ts"],"names":[],"mappings":"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"}