upshift-finance 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +349 -0
- package/lib/abis/AddressResolver.d.ts +28 -0
- package/lib/abis/AddressResolver.js +23 -0
- package/lib/abis/ChainlinkV3.d.ts +87 -0
- package/lib/abis/ChainlinkV3.js +117 -0
- package/lib/abis/ERC20.d.ts +168 -0
- package/lib/abis/ERC20.js +226 -0
- package/lib/abis/ERC20_Bytes32.d.ts +139 -0
- package/lib/abis/ERC20_Bytes32.js +196 -0
- package/lib/abis/ERC4626.d.ts +364 -0
- package/lib/abis/ERC4626.js +507 -0
- package/lib/abis/ERC721.d.ts +231 -0
- package/lib/abis/ERC721.js +321 -0
- package/lib/abis/FeeOracle.d.ts +120 -0
- package/lib/abis/FeeOracle.js +162 -0
- package/lib/abis/LendingPool.d.ts +1393 -0
- package/lib/abis/LendingPool.js +1807 -0
- package/lib/abis/LendingPoolV2.d.ts +1413 -0
- package/lib/abis/LendingPoolV2.js +1833 -0
- package/lib/abis/LendingPoolV3.d.ts +1677 -0
- package/lib/abis/LendingPoolV3.js +1160 -0
- package/lib/abis/Loan.d.ts +837 -0
- package/lib/abis/Loan.js +1080 -0
- package/lib/abis/MultiAssetNativeDepositWrapper.d.ts +137 -0
- package/lib/abis/MultiAssetNativeDepositWrapper.js +125 -0
- package/lib/abis/Multicall3.d.ts +30 -0
- package/lib/abis/Multicall3.js +97 -0
- package/lib/abis/OFT.d.ts +116 -0
- package/lib/abis/OFT.js +85 -0
- package/lib/abis/PoolAdapter.d.ts +36 -0
- package/lib/abis/PoolAdapter.js +51 -0
- package/lib/abis/RewardDistributor.d.ts +267 -0
- package/lib/abis/RewardDistributor.js +352 -0
- package/lib/abis/RwaRedeemSubaccount.d.ts +747 -0
- package/lib/abis/RwaRedeemSubaccount.js +548 -0
- package/lib/abis/SmartAccount.d.ts +17 -0
- package/lib/abis/SmartAccount.js +19 -0
- package/lib/abis/SwapRouter.d.ts +1043 -0
- package/lib/abis/SwapRouter.js +740 -0
- package/lib/abis/TextResolver.d.ts +16 -0
- package/lib/abis/TextResolver.js +16 -0
- package/lib/abis/TokenizedVaultV2.d.ts +1364 -0
- package/lib/abis/TokenizedVaultV2.js +1041 -0
- package/lib/abis/TokenizedVaultV2DepositWithPermit.d.ts +1456 -0
- package/lib/abis/TokenizedVaultV2DepositWithPermit.js +1878 -0
- package/lib/abis/TokenizedVaultV2Receipt.d.ts +1568 -0
- package/lib/abis/TokenizedVaultV2Receipt.js +1061 -0
- package/lib/abis/TokenizedVaultV2SenderAllocationWhitelist.d.ts +454 -0
- package/lib/abis/TokenizedVaultV2SenderAllocationWhitelist.js +327 -0
- package/lib/abis/TokenizedVaultV2WhitelistedAllocation.d.ts +1466 -0
- package/lib/abis/TokenizedVaultV2WhitelistedAllocation.js +1092 -0
- package/lib/abis/TokenizedVaultV2WhitelistedAssets.d.ts +274 -0
- package/lib/abis/TokenizedVaultV2WhitelistedAssets.js +167 -0
- package/lib/abis/UniversalResolverResolve.d.ts +69 -0
- package/lib/abis/UniversalResolverResolve.js +35 -0
- package/lib/abis/UniversalSignatureValidator.d.ts +17 -0
- package/lib/abis/UniversalSignatureValidator.js +30 -0
- package/lib/abis/WrapperAdapter.d.ts +71 -0
- package/lib/abis/WrapperAdapter.js +77 -0
- package/lib/abis/index.d.ts +34 -0
- package/lib/abis/index.js +51 -0
- package/lib/adapters/evm/getters.d.ts +19 -0
- package/lib/adapters/evm/getters.js +209 -0
- package/lib/adapters/evm/index.d.ts +353 -0
- package/lib/adapters/evm/index.js +434 -0
- package/lib/adapters/evm/utils.d.ts +8 -0
- package/lib/adapters/evm/utils.js +51 -0
- package/lib/adapters/solana/constants.d.ts +33 -0
- package/lib/adapters/solana/constants.js +52 -0
- package/lib/adapters/solana/getters.d.ts +11 -0
- package/lib/adapters/solana/getters.js +165 -0
- package/lib/adapters/solana/idl/vault-idl.d.ts +272 -0
- package/lib/adapters/solana/idl/vault-idl.js +1084 -0
- package/lib/adapters/solana/index.d.ts +233 -0
- package/lib/adapters/solana/index.js +291 -0
- package/lib/adapters/solana/types.d.ts +67 -0
- package/lib/adapters/solana/types.js +3 -0
- package/lib/adapters/solana/utils.d.ts +141 -0
- package/lib/adapters/solana/utils.js +595 -0
- package/lib/adapters/solana/vault.actions.d.ts +57 -0
- package/lib/adapters/solana/vault.actions.js +379 -0
- package/lib/adapters/stellar/actions.d.ts +28 -0
- package/lib/adapters/stellar/actions.js +77 -0
- package/lib/adapters/stellar/constants.d.ts +43 -0
- package/lib/adapters/stellar/constants.js +53 -0
- package/lib/adapters/stellar/getters.d.ts +68 -0
- package/lib/adapters/stellar/getters.js +290 -0
- package/lib/adapters/stellar/index.d.ts +114 -0
- package/lib/adapters/stellar/index.js +175 -0
- package/lib/adapters/stellar/soroban.d.ts +123 -0
- package/lib/adapters/stellar/soroban.js +613 -0
- package/lib/adapters/stellar/submit.d.ts +34 -0
- package/lib/adapters/stellar/submit.js +149 -0
- package/lib/adapters/stellar/types.d.ts +58 -0
- package/lib/adapters/stellar/types.js +6 -0
- package/lib/adapters/stellar/utils.d.ts +24 -0
- package/lib/adapters/stellar/utils.js +34 -0
- package/lib/adapters/sui/constants.d.ts +14 -0
- package/lib/adapters/sui/constants.js +29 -0
- package/lib/adapters/sui/getters.d.ts +9 -0
- package/lib/adapters/sui/getters.js +60 -0
- package/lib/adapters/sui/index.d.ts +45 -0
- package/lib/adapters/sui/index.js +101 -0
- package/lib/adapters/sui/transformer.d.ts +10 -0
- package/lib/adapters/sui/transformer.js +107 -0
- package/lib/adapters/sui/types.d.ts +66 -0
- package/lib/adapters/sui/types.js +3 -0
- package/lib/adapters/sui/utils.d.ts +10 -0
- package/lib/adapters/sui/utils.js +29 -0
- package/lib/core/analytics/chain-name.d.ts +9 -0
- package/lib/core/analytics/chain-name.js +34 -0
- package/lib/core/analytics/constants.d.ts +5 -0
- package/lib/core/analytics/constants.js +9 -0
- package/lib/core/analytics/env.d.ts +29 -0
- package/lib/core/analytics/env.js +59 -0
- package/lib/core/analytics/index.d.ts +36 -0
- package/lib/core/analytics/index.js +79 -0
- package/lib/core/analytics/instrumentation.d.ts +29 -0
- package/lib/core/analytics/instrumentation.js +277 -0
- package/lib/core/analytics/method-taxonomy.d.ts +19 -0
- package/lib/core/analytics/method-taxonomy.js +128 -0
- package/lib/core/analytics/metrics.d.ts +33 -0
- package/lib/core/analytics/metrics.js +116 -0
- package/lib/core/analytics/sanitize.d.ts +44 -0
- package/lib/core/analytics/sanitize.js +260 -0
- package/lib/core/analytics/sentry-runtime.d.ts +15 -0
- package/lib/core/analytics/sentry-runtime.js +97 -0
- package/lib/core/analytics/sentry.d.ts +67 -0
- package/lib/core/analytics/sentry.js +613 -0
- package/lib/core/analytics/types.d.ts +48 -0
- package/lib/core/analytics/types.js +3 -0
- package/lib/core/analytics/user-identity.d.ts +41 -0
- package/lib/core/analytics/user-identity.js +141 -0
- package/lib/core/analytics/version.d.ts +6 -0
- package/lib/core/analytics/version.js +10 -0
- package/lib/core/attribution.d.ts +111 -0
- package/lib/core/attribution.js +142 -0
- package/lib/core/auth/index.d.ts +1 -0
- package/lib/core/auth/index.js +18 -0
- package/lib/core/auth/verify.d.ts +2 -0
- package/lib/core/auth/verify.js +31 -0
- package/lib/core/base.class.d.ts +152 -0
- package/lib/core/base.class.js +172 -0
- package/lib/core/cache.d.ts +9 -0
- package/lib/core/cache.js +31 -0
- package/lib/core/constants/adapters.d.ts +103 -0
- package/lib/core/constants/adapters.js +180 -0
- package/lib/core/constants/core.d.ts +133 -0
- package/lib/core/constants/core.js +209 -0
- package/lib/core/constants/swap-router.d.ts +150 -0
- package/lib/core/constants/swap-router.js +169 -0
- package/lib/core/constants/vaults.d.ts +93 -0
- package/lib/core/constants/vaults.js +273 -0
- package/lib/core/constants/web3.d.ts +91 -0
- package/lib/core/constants/web3.js +229 -0
- package/lib/core/errors/index.d.ts +114 -0
- package/lib/core/errors/index.js +183 -0
- package/lib/core/fetcher.d.ts +198 -0
- package/lib/core/fetcher.js +903 -0
- package/lib/core/helpers/adapters.d.ts +13 -0
- package/lib/core/helpers/adapters.js +39 -0
- package/lib/core/helpers/chain-address.d.ts +13 -0
- package/lib/core/helpers/chain-address.js +47 -0
- package/lib/core/helpers/chain-error.d.ts +207 -0
- package/lib/core/helpers/chain-error.js +682 -0
- package/lib/core/helpers/chain-support.d.ts +80 -0
- package/lib/core/helpers/chain-support.js +115 -0
- package/lib/core/helpers/core.d.ts +68 -0
- package/lib/core/helpers/core.js +285 -0
- package/lib/core/helpers/explorer-link.d.ts +16 -0
- package/lib/core/helpers/explorer-link.js +26 -0
- package/lib/core/helpers/multicall.d.ts +68 -0
- package/lib/core/helpers/multicall.js +103 -0
- package/lib/core/helpers/revert-decode.d.ts +248 -0
- package/lib/core/helpers/revert-decode.js +515 -0
- package/lib/core/helpers/signer.d.ts +52 -0
- package/lib/core/helpers/signer.js +145 -0
- package/lib/core/helpers/swap-router.d.ts +211 -0
- package/lib/core/helpers/swap-router.js +480 -0
- package/lib/core/helpers/vault-version.d.ts +23 -0
- package/lib/core/helpers/vault-version.js +75 -0
- package/lib/core/helpers/vaults.d.ts +89 -0
- package/lib/core/helpers/vaults.js +235 -0
- package/lib/core/helpers/web3.d.ts +353 -0
- package/lib/core/helpers/web3.js +992 -0
- package/lib/core/index.d.ts +23 -0
- package/lib/core/index.js +40 -0
- package/lib/core/logger/index.d.ts +98 -0
- package/lib/core/logger/index.js +144 -0
- package/lib/core/logger/slack.d.ts +16 -0
- package/lib/core/logger/slack.js +57 -0
- package/lib/core/vault-metadata.d.ts +12 -0
- package/lib/core/vault-metadata.js +42 -0
- package/lib/core/version-check.d.ts +58 -0
- package/lib/core/version-check.js +182 -0
- package/lib/evm/index.d.ts +2 -0
- package/lib/evm/index.js +19 -0
- package/lib/evm/methods/crossChainVault.d.ts +128 -0
- package/lib/evm/methods/crossChainVault.js +853 -0
- package/lib/evm/methods/crossChainVaultRegistry.d.ts +93 -0
- package/lib/evm/methods/crossChainVaultRegistry.js +240 -0
- package/lib/evm/methods/index.d.ts +2 -0
- package/lib/evm/methods/index.js +19 -0
- package/lib/evm/types/crossChain.d.ts +363 -0
- package/lib/evm/types/crossChain.js +20 -0
- package/lib/evm/types/index.d.ts +1 -0
- package/lib/evm/types/index.js +18 -0
- package/lib/index.d.ts +30 -0
- package/lib/index.js +52 -0
- package/lib/main.d.ts +527 -0
- package/lib/main.js +601 -0
- package/lib/modules/api/fetcher.d.ts +82 -0
- package/lib/modules/api/fetcher.js +150 -0
- package/lib/modules/api/index.d.ts +1 -0
- package/lib/modules/api/index.js +6 -0
- package/lib/modules/api/main.d.ts +313 -0
- package/lib/modules/api/main.js +479 -0
- package/lib/modules/sub-accounts/fetcher.d.ts +53 -0
- package/lib/modules/sub-accounts/fetcher.js +120 -0
- package/lib/modules/sub-accounts/index.d.ts +2 -0
- package/lib/modules/sub-accounts/index.js +19 -0
- package/lib/modules/sub-accounts/main.d.ts +243 -0
- package/lib/modules/sub-accounts/main.js +205 -0
- package/lib/modules/sub-accounts/utils.d.ts +106 -0
- package/lib/modules/sub-accounts/utils.js +112 -0
- package/lib/modules/vaults/adapter.helpers.d.ts +64 -0
- package/lib/modules/vaults/adapter.helpers.js +184 -0
- package/lib/modules/vaults/fetcher.d.ts +147 -0
- package/lib/modules/vaults/fetcher.js +368 -0
- package/lib/modules/vaults/getters.d.ts +570 -0
- package/lib/modules/vaults/getters.js +3051 -0
- package/lib/modules/vaults/index.d.ts +20 -0
- package/lib/modules/vaults/index.js +44 -0
- package/lib/modules/vaults/main.d.ts +601 -0
- package/lib/modules/vaults/main.js +1623 -0
- package/lib/modules/vaults/prefetch.d.ts +65 -0
- package/lib/modules/vaults/prefetch.js +120 -0
- package/lib/modules/vaults/read.actions.d.ts +225 -0
- package/lib/modules/vaults/read.actions.js +596 -0
- package/lib/modules/vaults/types.d.ts +71 -0
- package/lib/modules/vaults/types.js +3 -0
- package/lib/modules/vaults/utils/call-data-decoder.d.ts +61 -0
- package/lib/modules/vaults/utils/call-data-decoder.js +194 -0
- package/lib/modules/vaults/utils/date-utils.d.ts +50 -0
- package/lib/modules/vaults/utils/date-utils.js +84 -0
- package/lib/modules/vaults/utils.d.ts +140 -0
- package/lib/modules/vaults/utils.js +799 -0
- package/lib/modules/vaults/write.actions.d.ts +529 -0
- package/lib/modules/vaults/write.actions.js +1749 -0
- package/lib/polyfills.d.ts +1 -0
- package/lib/polyfills.js +12 -0
- package/lib/sdk.d.ts +26721 -0
- package/lib/services/coingecko/fetcher.d.ts +15 -0
- package/lib/services/coingecko/fetcher.js +67 -0
- package/lib/services/coingecko/index.d.ts +2 -0
- package/lib/services/coingecko/index.js +19 -0
- package/lib/services/coingecko/utils.d.ts +1 -0
- package/lib/services/coingecko/utils.js +24 -0
- package/lib/services/debank/fetcher.d.ts +126 -0
- package/lib/services/debank/fetcher.js +47 -0
- package/lib/services/debank/index.d.ts +2 -0
- package/lib/services/debank/index.js +19 -0
- package/lib/services/debank/utils.d.ts +38 -0
- package/lib/services/debank/utils.js +297 -0
- package/lib/services/layerzero/deposits.d.ts +49 -0
- package/lib/services/layerzero/deposits.js +166 -0
- package/lib/services/layerzero/redeems.d.ts +20 -0
- package/lib/services/layerzero/redeems.js +92 -0
- package/lib/services/layerzero/utils.d.ts +9 -0
- package/lib/services/layerzero/utils.js +22 -0
- package/lib/services/octavfi/fetcher.d.ts +9 -0
- package/lib/services/octavfi/fetcher.js +103 -0
- package/lib/services/octavfi/index.d.ts +3 -0
- package/lib/services/octavfi/index.js +20 -0
- package/lib/services/octavfi/types.d.ts +34 -0
- package/lib/services/octavfi/types.js +3 -0
- package/lib/services/octavfi/utils.d.ts +16 -0
- package/lib/services/octavfi/utils.js +212 -0
- package/lib/services/subgraph/fetcher.d.ts +2 -0
- package/lib/services/subgraph/fetcher.js +61 -0
- package/lib/services/subgraph/index.d.ts +2 -0
- package/lib/services/subgraph/index.js +19 -0
- package/lib/services/subgraph/schema.d.ts +45 -0
- package/lib/services/subgraph/schema.js +75 -0
- package/lib/services/subgraph/vaults.d.ts +25 -0
- package/lib/services/subgraph/vaults.js +1106 -0
- package/lib/services/swap-quotes/index.d.ts +105 -0
- package/lib/services/swap-quotes/index.js +77 -0
- package/lib/services/swap-quotes/paraswap.d.ts +51 -0
- package/lib/services/swap-quotes/paraswap.js +138 -0
- package/lib/types/api.d.ts +280 -0
- package/lib/types/api.js +3 -0
- package/lib/types/index.d.ts +12 -0
- package/lib/types/index.js +28 -0
- package/lib/types/points.d.ts +28 -0
- package/lib/types/points.js +3 -0
- package/lib/types/pools.d.ts +144 -0
- package/lib/types/pools.js +3 -0
- package/lib/types/staking.d.ts +28 -0
- package/lib/types/staking.js +3 -0
- package/lib/types/sub-accounts.d.ts +140 -0
- package/lib/types/sub-accounts.js +3 -0
- package/lib/types/subgraph.d.ts +74 -0
- package/lib/types/subgraph.js +3 -0
- package/lib/types/typed-contract.d.ts +102 -0
- package/lib/types/typed-contract.js +3 -0
- package/lib/types/user.d.ts +1 -0
- package/lib/types/user.js +3 -0
- package/lib/types/vaults.d.ts +714 -0
- package/lib/types/vaults.js +24 -0
- package/lib/types/web3.d.ts +51 -0
- package/lib/types/web3.js +14 -0
- package/lib/types/webserver.d.ts +698 -0
- package/lib/types/webserver.js +3 -0
- package/package.json +78 -0
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { AnchorProvider, BN, Program, type web3 } from '@coral-xyz/anchor';
|
|
2
|
+
import { PublicKey, type Transaction } from '@solana/web3.js';
|
|
3
|
+
import type { ISolanaConnectionOptions, ISolanaVaultState } from './types';
|
|
4
|
+
declare function getExplorerLink({ signature, type, network, }: {
|
|
5
|
+
signature: string;
|
|
6
|
+
type: 'tx' | 'address' | 'token';
|
|
7
|
+
} & ISolanaConnectionOptions): string;
|
|
8
|
+
import { isSolanaAddress } from '../../core/helpers/chain-address';
|
|
9
|
+
export { isSolanaAddress };
|
|
10
|
+
declare function isSolana(signature: string): boolean;
|
|
11
|
+
declare function getProgram({ provider, idl, programId, network, }: {
|
|
12
|
+
idl?: any;
|
|
13
|
+
programId?: string;
|
|
14
|
+
} & ISolanaConnectionOptions): Program<any>;
|
|
15
|
+
declare function getBestRpcEndpoint({ endpoint, network, connection, }: ISolanaConnectionOptions): Promise<"http://127.0.0.1:8899" | `https://${string}`>;
|
|
16
|
+
declare function getProvider({ connection, publicKey, signTransaction, }: {
|
|
17
|
+
publicKey: PublicKey;
|
|
18
|
+
signTransaction: (<T extends Transaction | web3.VersionedTransaction>(transaction: T) => Promise<T>) | undefined;
|
|
19
|
+
} & ISolanaConnectionOptions): AnchorProvider;
|
|
20
|
+
declare function getReadOnlyProvider({ connection }: ISolanaConnectionOptions): AnchorProvider;
|
|
21
|
+
declare function deriveVaultStatePda(vaultProgramId: PublicKey | string): web3.PublicKey;
|
|
22
|
+
declare function deriveShareMintPda(vaultProgramId: PublicKey | string): web3.PublicKey;
|
|
23
|
+
declare function deriveVaultTokenAtaPda(vaultProgramId: PublicKey | string, depositMint: PublicKey, vaultVersion?: number): web3.PublicKey;
|
|
24
|
+
declare function getVaultState({ provider, connection, vaultProgramId, vaultAddress, idl, }: {
|
|
25
|
+
vaultProgramId: PublicKey | string;
|
|
26
|
+
vaultAddress?: PublicKey | string;
|
|
27
|
+
idl: any;
|
|
28
|
+
} & ISolanaConnectionOptions): Promise<{
|
|
29
|
+
vaultState: unknown | null;
|
|
30
|
+
depositMintDecimals: number | null;
|
|
31
|
+
}>;
|
|
32
|
+
declare function getVaultStateReadOnly({ vaultProgramId, vaultAddress, connection, idl, }: {
|
|
33
|
+
vaultProgramId: PublicKey | string;
|
|
34
|
+
vaultAddress?: PublicKey | string;
|
|
35
|
+
idl: any;
|
|
36
|
+
} & ISolanaConnectionOptions): Promise<{
|
|
37
|
+
vaultState: ISolanaVaultState | null;
|
|
38
|
+
depositMintDecimals: number | null;
|
|
39
|
+
}>;
|
|
40
|
+
declare function getVaultMints({ vaultProgramId, vaultAddress, connection, idl, }: {
|
|
41
|
+
vaultProgramId: PublicKey | string;
|
|
42
|
+
vaultAddress?: PublicKey | string;
|
|
43
|
+
idl: any;
|
|
44
|
+
} & ISolanaConnectionOptions): Promise<{
|
|
45
|
+
depositMint: string;
|
|
46
|
+
shareMint: string;
|
|
47
|
+
vaultVersion: number | undefined;
|
|
48
|
+
}>;
|
|
49
|
+
declare function getToken({ mintAddress, endpoint, connection, }: {
|
|
50
|
+
mintAddress: string | PublicKey;
|
|
51
|
+
} & ISolanaConnectionOptions): Promise<{
|
|
52
|
+
address: string;
|
|
53
|
+
symbol: string;
|
|
54
|
+
decimals: number;
|
|
55
|
+
name: string;
|
|
56
|
+
image: string;
|
|
57
|
+
} | null>;
|
|
58
|
+
declare function getTokenSymbol({ endpoint, mintAddress, }: {
|
|
59
|
+
mintAddress: string | PublicKey;
|
|
60
|
+
} & ISolanaConnectionOptions): Promise<string | null>;
|
|
61
|
+
declare function fetchUserTokenBalance({ connection, publicKey, depositMint, }: {
|
|
62
|
+
publicKey: PublicKey | string;
|
|
63
|
+
depositMint?: PublicKey | string;
|
|
64
|
+
} & ISolanaConnectionOptions): Promise<any>;
|
|
65
|
+
declare function fetchUserShareBalance({ connection, publicKey, shareMint, }: {
|
|
66
|
+
publicKey: PublicKey | string;
|
|
67
|
+
shareMint?: PublicKey | string;
|
|
68
|
+
} & ISolanaConnectionOptions): Promise<any>;
|
|
69
|
+
/**
|
|
70
|
+
* Same on-chain lookup as `fetchUserShareBalance`, but returns the raw u64
|
|
71
|
+
* `amount` string and the mint's `decimals` — or `null` when the scale can't
|
|
72
|
+
* be determined (see Return shape) — instead of the floating-point `uiAmount`.
|
|
73
|
+
* Callers that feed the result into BigInt math (positions, redemptions,
|
|
74
|
+
* allowances) must use this — `uiAmount` is lossy and silently encodes with
|
|
75
|
+
* the wrong scale when passed back through `toNormalizedBn` without an
|
|
76
|
+
* explicit decimals argument.
|
|
77
|
+
*
|
|
78
|
+
* Return shape:
|
|
79
|
+
* `{ amount: '<u64>', decimals: number }` — token account exists.
|
|
80
|
+
* `{ amount: '0', decimals: null }` — no token account, missing
|
|
81
|
+
* tokenAmount in the parsed response, missing args, or the RPC threw.
|
|
82
|
+
*
|
|
83
|
+
* `decimals === null` is the "scale unknown" signal — callers that need a
|
|
84
|
+
* normalized `INormalizedNumber` must substitute a known decimals value
|
|
85
|
+
* (typically the deposit mint's decimals from backend metadata) before
|
|
86
|
+
* normalizing. Never throws.
|
|
87
|
+
*
|
|
88
|
+
* RPC cost: 1 × `getParsedTokenAccountsByOwner`. Independent of how many
|
|
89
|
+
* other accounts the wallet owns (filter is mint-scoped).
|
|
90
|
+
*/
|
|
91
|
+
declare function fetchUserShareBalanceRaw({ connection, publicKey, shareMint, }: {
|
|
92
|
+
publicKey: PublicKey | string;
|
|
93
|
+
shareMint?: PublicKey | string;
|
|
94
|
+
} & ISolanaConnectionOptions): Promise<{
|
|
95
|
+
amount: string;
|
|
96
|
+
decimals: number | null;
|
|
97
|
+
}>;
|
|
98
|
+
/**
|
|
99
|
+
* Resolve the on-chain program ID for a Solana vault.
|
|
100
|
+
* Prefers the explicit `program_id` from metadata; falls back to the vault address
|
|
101
|
+
* (for legacy vaults where address == program ID).
|
|
102
|
+
*/
|
|
103
|
+
declare function resolveProgramId(vaultAddress: string, solanaMetadata?: {
|
|
104
|
+
program_id?: string;
|
|
105
|
+
} | null): string;
|
|
106
|
+
/** @internal */
|
|
107
|
+
export declare function uiAmountToRawBn(uiAmount: number, decimals: number): BN;
|
|
108
|
+
export declare const SolanaUtils: {
|
|
109
|
+
getExplorerLink: typeof getExplorerLink;
|
|
110
|
+
isSolanaAddress: typeof isSolanaAddress;
|
|
111
|
+
isSolana: typeof isSolana;
|
|
112
|
+
getProgram: typeof getProgram;
|
|
113
|
+
getProvider: typeof getProvider;
|
|
114
|
+
getReadOnlyProvider: typeof getReadOnlyProvider;
|
|
115
|
+
deriveShareMintPda: typeof deriveShareMintPda;
|
|
116
|
+
deriveVaultStatePda: typeof deriveVaultStatePda;
|
|
117
|
+
deriveVaultTokenAtaPda: typeof deriveVaultTokenAtaPda;
|
|
118
|
+
getVaultState: typeof getVaultState;
|
|
119
|
+
getVaultStateReadOnly: typeof getVaultStateReadOnly;
|
|
120
|
+
getToken: typeof getToken;
|
|
121
|
+
getTokenSymbol: typeof getTokenSymbol;
|
|
122
|
+
fetchUserTokenBalance: typeof fetchUserTokenBalance;
|
|
123
|
+
fetchUserShareBalance: typeof fetchUserShareBalance;
|
|
124
|
+
fetchUserShareBalanceRaw: typeof fetchUserShareBalanceRaw;
|
|
125
|
+
getBestRpcEndpoint: typeof getBestRpcEndpoint;
|
|
126
|
+
fallbackDecimals: number;
|
|
127
|
+
fallbackNetwork: import("../..").ISolanaNetwork;
|
|
128
|
+
programIds: {
|
|
129
|
+
devnet: {
|
|
130
|
+
vault: string;
|
|
131
|
+
};
|
|
132
|
+
"mainnet-beta": {
|
|
133
|
+
vault: string;
|
|
134
|
+
};
|
|
135
|
+
localnet: {
|
|
136
|
+
vault: string;
|
|
137
|
+
};
|
|
138
|
+
};
|
|
139
|
+
getVaultMints: typeof getVaultMints;
|
|
140
|
+
resolveProgramId: typeof resolveProgramId;
|
|
141
|
+
};
|