@upshiftfinance/sdk 0.0.0-stage → 0.2.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 +408 -2
- 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 +953 -0
- package/lib/abis/SwapRouter.js +1228 -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 +249 -0
- package/lib/adapters/evm/index.d.ts +539 -0
- package/lib/adapters/evm/index.js +656 -0
- package/lib/adapters/evm/utils.d.ts +8 -0
- package/lib/adapters/evm/utils.js +51 -0
- package/lib/adapters/solana/confirm.d.ts +88 -0
- package/lib/adapters/solana/confirm.js +291 -0
- package/lib/adapters/solana/constants.d.ts +42 -0
- package/lib/adapters/solana/constants.js +59 -0
- package/lib/adapters/solana/getters.d.ts +42 -0
- package/lib/adapters/solana/getters.js +275 -0
- package/lib/adapters/solana/idl/vault-idl.d.ts +700 -0
- package/lib/adapters/solana/idl/vault-idl.js +2101 -0
- package/lib/adapters/solana/idl/withdrawal-queue-idl.d.ts +795 -0
- package/lib/adapters/solana/idl/withdrawal-queue-idl.js +1864 -0
- package/lib/adapters/solana/index.d.ts +372 -0
- package/lib/adapters/solana/index.js +459 -0
- package/lib/adapters/solana/pricing.d.ts +184 -0
- package/lib/adapters/solana/pricing.js +239 -0
- package/lib/adapters/solana/queue-hints.d.ts +29 -0
- package/lib/adapters/solana/queue-hints.js +59 -0
- package/lib/adapters/solana/queue.actions.d.ts +97 -0
- package/lib/adapters/solana/queue.actions.js +468 -0
- package/lib/adapters/solana/token-reads.d.ts +108 -0
- package/lib/adapters/solana/token-reads.js +145 -0
- package/lib/adapters/solana/types.d.ts +325 -0
- package/lib/adapters/solana/types.js +3 -0
- package/lib/adapters/solana/utils.d.ts +229 -0
- package/lib/adapters/solana/utils.js +773 -0
- package/lib/adapters/solana/vault.actions.d.ts +140 -0
- package/lib/adapters/solana/vault.actions.js +657 -0
- package/lib/adapters/solana/withdrawal-queue.d.ts +125 -0
- package/lib/adapters/solana/withdrawal-queue.js +301 -0
- package/lib/adapters/stellar/actions.d.ts +41 -0
- package/lib/adapters/stellar/actions.js +126 -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 +126 -0
- package/lib/adapters/stellar/index.js +187 -0
- package/lib/adapters/stellar/invocation.d.ts +55 -0
- package/lib/adapters/stellar/invocation.js +92 -0
- package/lib/adapters/stellar/soroban.d.ts +131 -0
- package/lib/adapters/stellar/soroban.js +617 -0
- package/lib/adapters/stellar/submit.d.ts +42 -0
- package/lib/adapters/stellar/submit.js +195 -0
- package/lib/adapters/stellar/types.d.ts +57 -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/client.d.ts +83 -0
- package/lib/adapters/sui/client.js +216 -0
- package/lib/adapters/sui/constants.d.ts +33 -0
- package/lib/adapters/sui/constants.js +31 -0
- package/lib/adapters/sui/index.d.ts +57 -0
- package/lib/adapters/sui/index.js +100 -0
- package/lib/adapters/sui/targets.d.ts +171 -0
- package/lib/adapters/sui/targets.js +225 -0
- package/lib/adapters/sui/utils.d.ts +8 -0
- package/lib/adapters/sui/utils.js +17 -0
- package/lib/core/analytics/app-name.d.ts +27 -0
- package/lib/core/analytics/app-name.js +48 -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 +15 -0
- package/lib/core/analytics/constants.js +28 -0
- package/lib/core/analytics/env.d.ts +46 -0
- package/lib/core/analytics/env.js +147 -0
- package/lib/core/analytics/index.d.ts +39 -0
- package/lib/core/analytics/index.js +83 -0
- package/lib/core/analytics/instrumentation.d.ts +29 -0
- package/lib/core/analytics/instrumentation.js +292 -0
- package/lib/core/analytics/method-taxonomy.d.ts +19 -0
- package/lib/core/analytics/method-taxonomy.js +156 -0
- package/lib/core/analytics/metrics.d.ts +48 -0
- package/lib/core/analytics/metrics.js +142 -0
- package/lib/core/analytics/sanitize.d.ts +57 -0
- package/lib/core/analytics/sanitize.js +272 -0
- package/lib/core/analytics/sentry-runtime.d.ts +15 -0
- package/lib/core/analytics/sentry-runtime.js +131 -0
- package/lib/core/analytics/sentry.d.ts +100 -0
- package/lib/core/analytics/sentry.js +696 -0
- package/lib/core/analytics/types.d.ts +55 -0
- package/lib/core/analytics/types.js +3 -0
- package/lib/core/analytics/user-identity.d.ts +55 -0
- package/lib/core/analytics/user-identity.js +218 -0
- package/lib/core/analytics/version.d.ts +6 -0
- package/lib/core/analytics/version.js +10 -0
- package/lib/core/attribution.d.ts +159 -0
- package/lib/core/attribution.js +194 -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 +35 -0
- package/lib/core/base.class.d.ts +193 -0
- package/lib/core/base.class.js +163 -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 +162 -0
- package/lib/core/constants/core.js +281 -0
- package/lib/core/constants/swap-router.d.ts +180 -0
- package/lib/core/constants/swap-router.js +203 -0
- package/lib/core/constants/vaults.d.ts +93 -0
- package/lib/core/constants/vaults.js +277 -0
- package/lib/core/constants/web3.d.ts +106 -0
- package/lib/core/constants/web3.js +251 -0
- package/lib/core/errors/index.d.ts +177 -0
- package/lib/core/errors/index.js +257 -0
- package/lib/core/fetcher.d.ts +237 -0
- package/lib/core/fetcher.js +1103 -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 +697 -0
- package/lib/core/helpers/chain-support.d.ts +98 -0
- package/lib/core/helpers/chain-support.js +139 -0
- package/lib/core/helpers/concurrency.d.ts +51 -0
- package/lib/core/helpers/concurrency.js +79 -0
- package/lib/core/helpers/core.d.ts +92 -0
- package/lib/core/helpers/core.js +368 -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 +61 -0
- package/lib/core/helpers/signer.js +184 -0
- package/lib/core/helpers/swap-router.d.ts +269 -0
- package/lib/core/helpers/swap-router.js +542 -0
- package/lib/core/helpers/vault-version.d.ts +24 -0
- package/lib/core/helpers/vault-version.js +83 -0
- package/lib/core/helpers/vaults.d.ts +89 -0
- package/lib/core/helpers/vaults.js +241 -0
- package/lib/core/helpers/web3.d.ts +366 -0
- package/lib/core/helpers/web3.js +1034 -0
- package/lib/core/index.d.ts +23 -0
- package/lib/core/index.js +40 -0
- package/lib/core/logger/curator-alert.d.ts +217 -0
- package/lib/core/logger/curator-alert.js +276 -0
- package/lib/core/logger/index.d.ts +99 -0
- package/lib/core/logger/index.js +163 -0
- package/lib/core/logger/slack.d.ts +49 -0
- package/lib/core/logger/slack.js +111 -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 +132 -0
- package/lib/evm/methods/crossChainVault.js +857 -0
- package/lib/evm/methods/crossChainVaultRegistry.d.ts +92 -0
- package/lib/evm/methods/crossChainVaultRegistry.js +239 -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 +596 -0
- package/lib/main.js +681 -0
- package/lib/modules/api/fetcher.d.ts +108 -0
- package/lib/modules/api/fetcher.js +187 -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 +587 -0
- package/lib/modules/api/main.js +911 -0
- package/lib/modules/sub-accounts/fetcher.d.ts +53 -0
- package/lib/modules/sub-accounts/fetcher.js +96 -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 +249 -0
- package/lib/modules/sub-accounts/main.js +211 -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 +84 -0
- package/lib/modules/vaults/adapter.helpers.js +202 -0
- package/lib/modules/vaults/fetcher.d.ts +147 -0
- package/lib/modules/vaults/fetcher.js +357 -0
- package/lib/modules/vaults/getters.d.ts +1060 -0
- package/lib/modules/vaults/getters.js +4079 -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 +607 -0
- package/lib/modules/vaults/main.js +1687 -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 +406 -0
- package/lib/modules/vaults/read.actions.js +891 -0
- package/lib/modules/vaults/types.d.ts +149 -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 +153 -0
- package/lib/modules/vaults/utils.js +818 -0
- package/lib/modules/vaults/write.actions.d.ts +812 -0
- package/lib/modules/vaults/write.actions.js +2377 -0
- package/lib/polyfills.d.ts +1 -0
- package/lib/polyfills.js +12 -0
- package/lib/sdk.d.ts +30173 -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 +50 -0
- package/lib/services/debank/utils.js +325 -0
- package/lib/services/layerzero/deposits.d.ts +55 -0
- package/lib/services/layerzero/deposits.js +174 -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 +33 -0
- package/lib/services/octavfi/fetcher.js +39 -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 +244 -0
- package/lib/services/subgraph/fetcher.d.ts +2 -0
- package/lib/services/subgraph/fetcher.js +66 -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 +48 -0
- package/lib/services/subgraph/schema.js +87 -0
- package/lib/services/subgraph/vaults.d.ts +83 -0
- package/lib/services/subgraph/vaults.js +1282 -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/services/untangled/fetcher.d.ts +40 -0
- package/lib/services/untangled/fetcher.js +110 -0
- package/lib/services/untangled/index.d.ts +3 -0
- package/lib/services/untangled/index.js +20 -0
- package/lib/services/untangled/types.d.ts +83 -0
- package/lib/services/untangled/types.js +10 -0
- package/lib/services/untangled/utils.d.ts +91 -0
- package/lib/services/untangled/utils.js +339 -0
- package/lib/types/api.d.ts +498 -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 +150 -0
- package/lib/types/sub-accounts.js +3 -0
- package/lib/types/subgraph.d.ts +84 -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 +886 -0
- package/lib/types/vaults.js +30 -0
- package/lib/types/web3.d.ts +100 -0
- package/lib/types/web3.js +14 -0
- package/lib/types/webserver.d.ts +730 -0
- package/lib/types/webserver.js +3 -0
- package/package.json +79 -3
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { type web3 } from '@coral-xyz/anchor';
|
|
2
|
+
import { type Connection, PublicKey, type Transaction } from '@solana/web3.js';
|
|
3
|
+
import type { ISolanaConnectionOptions, ISolanaDepositOptions, ISolanaRedeemOptions } from './types';
|
|
4
|
+
import type { SendTransactionOptions } from '@solana/wallet-adapter-base';
|
|
5
|
+
/**
|
|
6
|
+
* Extract a human- and machine-readable reason from a thrown Solana/Anchor
|
|
7
|
+
* error.
|
|
8
|
+
*
|
|
9
|
+
* Anchor's {@link https://github.com/coral-xyz/anchor `ProgramError`} calls
|
|
10
|
+
* `super()` with no argument, so its `.message` is the empty string by
|
|
11
|
+
* construction — the real reason lives on `.msg`/`.code` (and `.toString()`).
|
|
12
|
+
* `AnchorError` puts it on `.error.errorMessage` / `.error.errorCode.number`.
|
|
13
|
+
* Reading `.message` directly (as this file used to) therefore rendered
|
|
14
|
+
* `"Solana deposit failed: "` for every recognized on-chain revert — dropping
|
|
15
|
+
* the numeric code the team needs to tell "Vault is paused" from
|
|
16
|
+
* "Insufficient amount" from an account-constraint violation.
|
|
17
|
+
*
|
|
18
|
+
* When no reason can be extracted, returns an actionable, user-facing fallback
|
|
19
|
+
* rather than an "unknown error" admission — the raw throwable is still
|
|
20
|
+
* preserved on the wrapped error's `cause` and in telemetry for diagnosis.
|
|
21
|
+
*/
|
|
22
|
+
export declare function describeSolanaError(e: unknown): string;
|
|
23
|
+
/**
|
|
24
|
+
* A sentence to append when the program rejected the instruction for
|
|
25
|
+
* slippage, so the caller learns what to do rather than just what happened.
|
|
26
|
+
* Empty for every other error.
|
|
27
|
+
*
|
|
28
|
+
* Not merely a restatement of the program's reason string. Both checked
|
|
29
|
+
* instructions share error 6018, whose on-chain message is share-worded —
|
|
30
|
+
* "Received fewer shares than the caller's minimum" — so on a *redeem*, where
|
|
31
|
+
* the floor is denominated in assets, the program describes the wrong
|
|
32
|
+
* quantity. This sentence is what makes that case readable. The numeric code
|
|
33
|
+
* `describeSolanaError` renders alongside it is kept deliberately: it is the
|
|
34
|
+
* handle support and telemetry group on, and it survives a reword of the
|
|
35
|
+
* program's message.
|
|
36
|
+
*/
|
|
37
|
+
export declare function slippageHint(e: unknown): string;
|
|
38
|
+
/**
|
|
39
|
+
* Validate a caller-supplied slippage floor before it reaches Anchor's `u64`
|
|
40
|
+
* encoder.
|
|
41
|
+
*
|
|
42
|
+
* Anchor serializes a `BN` to `u64` via `toArrayLike`, which writes the
|
|
43
|
+
* magnitude and drops the sign — a `-1n` floor would reach the program as a
|
|
44
|
+
* floor of `1`, inverting the caller's intent instead of failing. Values above
|
|
45
|
+
* `u64` fare no better: they surface as an untyped "byte array longer than
|
|
46
|
+
* desired length" from inside the encoder, naming nothing the caller passed.
|
|
47
|
+
* Both are caught here, at the public-API boundary.
|
|
48
|
+
*
|
|
49
|
+
* @param value - The caller's `minSharesOut` / `minAssetsOut`, in raw base units.
|
|
50
|
+
* @param label - Option name, quoted in the error.
|
|
51
|
+
* @returns `value`, once known to fit an unsigned 64-bit integer.
|
|
52
|
+
* @throws {@link UpshiftValidationError} when it is not a `bigint` in `0 .. 2^64-1`.
|
|
53
|
+
*/
|
|
54
|
+
export declare function validateExplicitFloor(value: bigint, label: string): bigint;
|
|
55
|
+
/**
|
|
56
|
+
* Deposit funds into a Solana Upshift vault and mint share tokens.
|
|
57
|
+
*
|
|
58
|
+
* @param depositAmount `bigint` is treated as raw on-chain units (preferred
|
|
59
|
+
* — no JS-float round-trip). `number` is treated as a UI amount and
|
|
60
|
+
* scaled by the deposit mint's decimals via {@link uiAmountToRawBn}.
|
|
61
|
+
* @throws UpshiftValidationError on missing wallet/programId or invalid amount,
|
|
62
|
+
* or when the wallet's deposit-mint balance is below `depositAmount`.
|
|
63
|
+
* @throws UpshiftSDKError when a candidate token account's balance cannot be
|
|
64
|
+
* read, or wrapping any downstream failure (`cause` preserved).
|
|
65
|
+
* @throws UpshiftTransactionError (`TRANSACTION_UNCONFIRMED`) when the
|
|
66
|
+
* transaction was sent but its outcome could not be established; check
|
|
67
|
+
* `signature` before resubmitting.
|
|
68
|
+
* @remarks **Side effects.** Submits exactly one transaction, signed by the
|
|
69
|
+
* provider's wallet. When the wallet has no share account, that transaction
|
|
70
|
+
* also creates one, and `publicKey` pays its rent — roughly 0.00204 SOL,
|
|
71
|
+
* non-refundable while the account stays open — on top of the network fee.
|
|
72
|
+
* Callers should ensure the wallet holds enough SOL for both before
|
|
73
|
+
* prompting the user to sign.
|
|
74
|
+
* @remarks Sends `deposit_checked`, not `deposit`. Unless `options.minSharesOut`
|
|
75
|
+
* is given, the vault state and share mint are read to quote the shares this
|
|
76
|
+
* deposit should mint, and that quote lowered by `options.slippageBps`
|
|
77
|
+
* (default {@link DEFAULT_SLIPPAGE_BPS}) is passed as the floor; the program
|
|
78
|
+
* reverts with `SlippageExceeded` if execution would mint fewer. An `idl`
|
|
79
|
+
* that predates `deposit_checked` gets the plain `deposit` with no floor,
|
|
80
|
+
* unless `options` asks for one — then it throws {@link UpshiftValidationError}.
|
|
81
|
+
*/
|
|
82
|
+
export declare function handleSolanaDeposit({ provider, connection, vaultProgramId, vaultAddress, depositAmount, publicKey, idl, options, }: {
|
|
83
|
+
vaultProgramId: PublicKey | string;
|
|
84
|
+
vaultAddress?: PublicKey | string;
|
|
85
|
+
idl: any;
|
|
86
|
+
publicKey: PublicKey | string;
|
|
87
|
+
depositAmount: number | bigint;
|
|
88
|
+
/** Slippage protection; see {@link ISolanaDepositOptions}. */
|
|
89
|
+
options?: ISolanaDepositOptions;
|
|
90
|
+
/**
|
|
91
|
+
* @deprecated Accepted and ignored. Share-account creation is now prepended
|
|
92
|
+
* to the deposit instruction, so there is no longer a second transaction to
|
|
93
|
+
* send. Kept so existing callers keep compiling; will be removed in the next
|
|
94
|
+
* major.
|
|
95
|
+
*/
|
|
96
|
+
sendTransaction?: (transaction: Transaction | web3.VersionedTransaction, connection: Connection, options?: SendTransactionOptions) => Promise<web3.TransactionSignature>;
|
|
97
|
+
} & ISolanaConnectionOptions): Promise<any>;
|
|
98
|
+
/**
|
|
99
|
+
* Redeem vault shares back into the underlying mint on a Solana Upshift vault.
|
|
100
|
+
*
|
|
101
|
+
* @param redeemShares `bigint` is treated as raw share-token units;
|
|
102
|
+
* `number` is treated as a UI amount.
|
|
103
|
+
* @remarks Sends `redeem_checked`, not `redeem`. Unless `options.minAssetsOut`
|
|
104
|
+
* is given, the payout is quoted from the vault state and share supply the
|
|
105
|
+
* handler already reads, **net of the withdrawal fee**, and that quote
|
|
106
|
+
* lowered by `options.slippageBps` (default {@link DEFAULT_SLIPPAGE_BPS}) is
|
|
107
|
+
* passed as the floor; the program reverts with `SlippageExceeded` below it.
|
|
108
|
+
* An `idl` that predates `redeem_checked` gets the plain `redeem` with no
|
|
109
|
+
* floor, unless `options` asks for one — then it throws
|
|
110
|
+
* {@link UpshiftValidationError}.
|
|
111
|
+
* @throws UpshiftValidationError on missing wallet/programId or invalid amount,
|
|
112
|
+
* or when the wallet holds fewer shares than `redeemShares`.
|
|
113
|
+
* @throws UpshiftSDKError when a candidate token account's balance cannot be
|
|
114
|
+
* read, or wrapping any downstream failure (`cause` preserved).
|
|
115
|
+
* @throws UpshiftTransactionError (`TRANSACTION_UNCONFIRMED`) when the
|
|
116
|
+
* transaction was sent but its outcome could not be established; check
|
|
117
|
+
* `signature` before resubmitting.
|
|
118
|
+
* @remarks **Side effects.** Submits exactly one transaction, signed by the
|
|
119
|
+
* provider's wallet. That transaction also creates the payout account when
|
|
120
|
+
* the wallet has none, and the vault's fee-recipient account when *it* has
|
|
121
|
+
* none — `publicKey` pays rent for both, roughly 0.00204 SOL each and
|
|
122
|
+
* non-refundable, on top of the network fee. Callers should ensure the
|
|
123
|
+
* wallet holds enough SOL for all of it before prompting the user to sign.
|
|
124
|
+
*/
|
|
125
|
+
export declare function handleSolanaRedeem({ provider, connection, vaultProgramId, vaultAddress, publicKey, redeemShares, idl, options, }: {
|
|
126
|
+
idl: any;
|
|
127
|
+
vaultProgramId: PublicKey | string;
|
|
128
|
+
vaultAddress?: PublicKey | string;
|
|
129
|
+
publicKey: PublicKey | string;
|
|
130
|
+
redeemShares: number | bigint;
|
|
131
|
+
/** Slippage protection; see {@link ISolanaRedeemOptions}. */
|
|
132
|
+
options?: ISolanaRedeemOptions;
|
|
133
|
+
/**
|
|
134
|
+
* @deprecated Accepted and ignored. Payout- and fee-recipient-account
|
|
135
|
+
* creation is now prepended to the redeem instruction, so there is no longer
|
|
136
|
+
* a second transaction to send. Kept so existing callers keep compiling;
|
|
137
|
+
* will be removed in the next major.
|
|
138
|
+
*/
|
|
139
|
+
sendTransaction?: (transaction: Transaction | web3.VersionedTransaction, connection: Connection, options?: SendTransactionOptions) => Promise<web3.TransactionSignature>;
|
|
140
|
+
} & ISolanaConnectionOptions): Promise<any>;
|