@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,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ABI_WRAPPER_ADAPTER = void 0;
|
|
4
|
+
exports.ABI_WRAPPER_ADAPTER = [
|
|
5
|
+
{
|
|
6
|
+
inputs: [{ internalType: 'address', name: 'referralId', type: 'address' }],
|
|
7
|
+
name: 'depositETH',
|
|
8
|
+
outputs: [],
|
|
9
|
+
stateMutability: 'payable',
|
|
10
|
+
type: 'function',
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
inputs: [
|
|
14
|
+
{ internalType: 'uint256', name: 'amount', type: 'uint256' },
|
|
15
|
+
{ internalType: 'address', name: 'referralId', type: 'address' },
|
|
16
|
+
],
|
|
17
|
+
name: 'depositWETH',
|
|
18
|
+
outputs: [],
|
|
19
|
+
stateMutability: 'nonpayable',
|
|
20
|
+
type: 'function',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
inputs: [{ internalType: 'address', name: 'referralId', type: 'address' }],
|
|
24
|
+
name: 'getRSETHWithETH',
|
|
25
|
+
outputs: [],
|
|
26
|
+
stateMutability: 'payable',
|
|
27
|
+
type: 'function',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
inputs: [
|
|
31
|
+
{
|
|
32
|
+
internalType: 'address',
|
|
33
|
+
name: 'asset',
|
|
34
|
+
type: 'address',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
internalType: 'uint256',
|
|
38
|
+
name: 'depositAmount',
|
|
39
|
+
type: 'uint256',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
internalType: 'string',
|
|
43
|
+
name: 'referralId',
|
|
44
|
+
type: 'string',
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
name: 'getRSETHWithERC20',
|
|
48
|
+
outputs: [],
|
|
49
|
+
stateMutability: 'nonpayable',
|
|
50
|
+
type: 'function',
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
inputs: [
|
|
54
|
+
{
|
|
55
|
+
internalType: 'address',
|
|
56
|
+
name: 'asset',
|
|
57
|
+
type: 'address',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
internalType: 'uint256',
|
|
61
|
+
name: 'depositAmount',
|
|
62
|
+
type: 'uint256',
|
|
63
|
+
},
|
|
64
|
+
],
|
|
65
|
+
name: 'getRsETHAmountToMint',
|
|
66
|
+
outputs: [
|
|
67
|
+
{
|
|
68
|
+
internalType: 'uint256',
|
|
69
|
+
name: 'rsETHAmount',
|
|
70
|
+
type: 'uint256',
|
|
71
|
+
},
|
|
72
|
+
],
|
|
73
|
+
stateMutability: 'view',
|
|
74
|
+
type: 'function',
|
|
75
|
+
},
|
|
76
|
+
];
|
|
77
|
+
//# sourceMappingURL=WrapperAdapter.js.map
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contract ABI definitions for interacting with Upshift smart contracts.
|
|
3
|
+
*
|
|
4
|
+
* @module ABIs
|
|
5
|
+
*/
|
|
6
|
+
export * from './LendingPool';
|
|
7
|
+
export * from './ERC20';
|
|
8
|
+
export * from './Loan';
|
|
9
|
+
export * from './FeeOracle';
|
|
10
|
+
export * from './AddressResolver';
|
|
11
|
+
export * from './ERC20_Bytes32';
|
|
12
|
+
export * from './ERC4626';
|
|
13
|
+
export * from './ERC721';
|
|
14
|
+
export * from './LendingPoolV2';
|
|
15
|
+
export * from './Multicall3';
|
|
16
|
+
export * from './SmartAccount';
|
|
17
|
+
export * from './TextResolver';
|
|
18
|
+
export * from './UniversalResolverResolve';
|
|
19
|
+
export * from './UniversalSignatureValidator';
|
|
20
|
+
export * from './ChainlinkV3';
|
|
21
|
+
export * from './RewardDistributor';
|
|
22
|
+
export * from './WrapperAdapter';
|
|
23
|
+
export * from './PoolAdapter';
|
|
24
|
+
export * from './LendingPoolV3';
|
|
25
|
+
export * from './TokenizedVaultV2WhitelistedAssets';
|
|
26
|
+
export * from './TokenizedVaultV2';
|
|
27
|
+
export * from './TokenizedVaultV2Receipt';
|
|
28
|
+
export * from './TokenizedVaultV2DepositWithPermit';
|
|
29
|
+
export * from './TokenizedVaultV2WhitelistedAllocation';
|
|
30
|
+
export * from './MultiAssetNativeDepositWrapper';
|
|
31
|
+
export * from './TokenizedVaultV2SenderAllocationWhitelist';
|
|
32
|
+
export * from './RwaRedeemSubaccount';
|
|
33
|
+
export * from './OFT';
|
|
34
|
+
export * from './SwapRouter';
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Contract ABI definitions for interacting with Upshift smart contracts.
|
|
4
|
+
*
|
|
5
|
+
* @module ABIs
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
__exportStar(require("./LendingPool"), exports);
|
|
23
|
+
__exportStar(require("./ERC20"), exports);
|
|
24
|
+
__exportStar(require("./Loan"), exports);
|
|
25
|
+
__exportStar(require("./FeeOracle"), exports);
|
|
26
|
+
__exportStar(require("./AddressResolver"), exports);
|
|
27
|
+
__exportStar(require("./ERC20_Bytes32"), exports);
|
|
28
|
+
__exportStar(require("./ERC4626"), exports);
|
|
29
|
+
__exportStar(require("./ERC721"), exports);
|
|
30
|
+
__exportStar(require("./LendingPoolV2"), exports);
|
|
31
|
+
__exportStar(require("./Multicall3"), exports);
|
|
32
|
+
__exportStar(require("./SmartAccount"), exports);
|
|
33
|
+
__exportStar(require("./TextResolver"), exports);
|
|
34
|
+
__exportStar(require("./UniversalResolverResolve"), exports);
|
|
35
|
+
__exportStar(require("./UniversalSignatureValidator"), exports);
|
|
36
|
+
__exportStar(require("./ChainlinkV3"), exports);
|
|
37
|
+
__exportStar(require("./RewardDistributor"), exports);
|
|
38
|
+
__exportStar(require("./WrapperAdapter"), exports);
|
|
39
|
+
__exportStar(require("./PoolAdapter"), exports);
|
|
40
|
+
__exportStar(require("./LendingPoolV3"), exports);
|
|
41
|
+
__exportStar(require("./TokenizedVaultV2WhitelistedAssets"), exports);
|
|
42
|
+
__exportStar(require("./TokenizedVaultV2"), exports);
|
|
43
|
+
__exportStar(require("./TokenizedVaultV2Receipt"), exports);
|
|
44
|
+
__exportStar(require("./TokenizedVaultV2DepositWithPermit"), exports);
|
|
45
|
+
__exportStar(require("./TokenizedVaultV2WhitelistedAllocation"), exports);
|
|
46
|
+
__exportStar(require("./MultiAssetNativeDepositWrapper"), exports);
|
|
47
|
+
__exportStar(require("./TokenizedVaultV2SenderAllocationWhitelist"), exports);
|
|
48
|
+
__exportStar(require("./RwaRedeemSubaccount"), exports);
|
|
49
|
+
__exportStar(require("./OFT"), exports);
|
|
50
|
+
__exportStar(require("./SwapRouter"), exports);
|
|
51
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ITokenizedVault } from '../../types';
|
|
2
|
+
import type { IVaultBaseOptions } from '../../modules/vaults/types';
|
|
3
|
+
/**
|
|
4
|
+
* Fetch EVM vault data for v1 vault contracts (legacy format).
|
|
5
|
+
* Queries on-chain state and combines with backend metadata.
|
|
6
|
+
* @param tokenizedVault Vault metadata from backend
|
|
7
|
+
* @param options RPC configuration and chain details
|
|
8
|
+
* @returns Formatted vault object or null if closed/invisible
|
|
9
|
+
*/
|
|
10
|
+
export declare const getEvmVaultV1: (tokenizedVault: ITokenizedVault, options: IVaultBaseOptions) => Promise<import("../../types").IVault>;
|
|
11
|
+
/**
|
|
12
|
+
* Fetch EVM vault data for v2 vault contracts (current format).
|
|
13
|
+
* V2 vaults use separate contracts for vault, receipt token, and whitelist.
|
|
14
|
+
* Queries all three contracts and combines results.
|
|
15
|
+
* @param tokenizedVault Vault metadata from backend
|
|
16
|
+
* @param options RPC configuration and chain details
|
|
17
|
+
* @returns Formatted vault object or null if closed/invisible
|
|
18
|
+
*/
|
|
19
|
+
export declare const getEvmVaultV2: (tokenizedVault: ITokenizedVault, options: IVaultBaseOptions) => Promise<import("../../types").IVault>;
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getEvmVaultV2 = exports.getEvmVaultV1 = void 0;
|
|
4
|
+
const abis_1 = require("../../abis");
|
|
5
|
+
const core_1 = require("../../core");
|
|
6
|
+
const utils_1 = require("../../modules/vaults/utils");
|
|
7
|
+
const TokenizedVaultV2_1 = require("../../abis/TokenizedVaultV2");
|
|
8
|
+
const TokenizedVaultV2Receipt_1 = require("../../abis/TokenizedVaultV2Receipt");
|
|
9
|
+
/**
|
|
10
|
+
* Read the vault's on-chain deposit-pause switch.
|
|
11
|
+
*
|
|
12
|
+
* A curator pausing deposits is the only signal that the deposit CTA must be
|
|
13
|
+
* disabled — without this read the UI offers a deposit that always reverts with
|
|
14
|
+
* `DepositsPaused` at estimateGas.
|
|
15
|
+
*
|
|
16
|
+
* Only a contract **revert** is treated as "getter absent". Transport failures
|
|
17
|
+
* (rate limit, timeout, network blip) are re-thrown: swallowing them would
|
|
18
|
+
* render a paused vault as open and send the user into a deposit that reverts
|
|
19
|
+
* at estimateGas — exactly the failure this read exists to prevent.
|
|
20
|
+
* @param vaultContract Vault contract instance (v1 lending pool or v2 tokenized vault).
|
|
21
|
+
* @returns `true` when deposits are paused on-chain; `false` when they are open
|
|
22
|
+
* OR when the deployment predates the getter — an older vault without
|
|
23
|
+
* `depositsPaused()` reverts the call, and a reverting read must not drop the
|
|
24
|
+
* whole vault from the marketplace.
|
|
25
|
+
* @throws The underlying RPC error when the read fails for a transport reason
|
|
26
|
+
* rather than a contract revert, so a flaky node cannot masquerade as
|
|
27
|
+
* "deposits open".
|
|
28
|
+
*/
|
|
29
|
+
const readDepositsPaused = async (vaultContract) => {
|
|
30
|
+
try {
|
|
31
|
+
return await vaultContract.depositsPaused();
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
// Old deployments without `depositsPaused()` revert — treat as open.
|
|
35
|
+
// Anything else is a transport fault and must surface.
|
|
36
|
+
const isMissingGetter = (0, core_1.isExpectedRevertError)(error);
|
|
37
|
+
(0, core_1.logChainError)('readDepositsPaused', error, isMissingGetter);
|
|
38
|
+
if (isMissingGetter)
|
|
39
|
+
return false;
|
|
40
|
+
throw error;
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Fetch EVM vault data for v1 vault contracts (legacy format).
|
|
45
|
+
* Queries on-chain state and combines with backend metadata.
|
|
46
|
+
* @param tokenizedVault Vault metadata from backend
|
|
47
|
+
* @param options RPC configuration and chain details
|
|
48
|
+
* @returns Formatted vault object or null if closed/invisible
|
|
49
|
+
*/
|
|
50
|
+
const getEvmVaultV1 = async (tokenizedVault, options) => {
|
|
51
|
+
const vault = tokenizedVault.address;
|
|
52
|
+
if (!vault) {
|
|
53
|
+
throw new Error('Vault address is undefined');
|
|
54
|
+
}
|
|
55
|
+
// Skip closed staging vaults that shouldn't be displayed — unless the caller
|
|
56
|
+
// explicitly opts in (portfolio mode), where a user's position in a closed,
|
|
57
|
+
// invisible vault must still resolve its metadata.
|
|
58
|
+
if (tokenizedVault.status === 'closed' &&
|
|
59
|
+
tokenizedVault.is_visible === false &&
|
|
60
|
+
!options?.includeClosed) {
|
|
61
|
+
core_1.Logger.log.warn('getEvmVaultV1', `closed: ${tokenizedVault.vault_name}`);
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
const provider = (0, core_1.createProvider)(options.rpcUrl);
|
|
65
|
+
// Batch fetch all vault contract data
|
|
66
|
+
const vaultContract = (0, core_1.createContract)({
|
|
67
|
+
address: vault,
|
|
68
|
+
abi: abis_1.ABI_LENDING_POOL_V2,
|
|
69
|
+
provider,
|
|
70
|
+
});
|
|
71
|
+
const vaultContractCalls = await Promise.all(core_1.VAULT_FUNCTIONS_V1.map(async (f) => {
|
|
72
|
+
if (f === 'totalSupply' || f === 'totalAssets') {
|
|
73
|
+
if ((0, core_1.getVaultVersionV2)(tokenizedVault) === 'evm-2' ||
|
|
74
|
+
core_1.MULTI_ASSET_VAULTS.includes(vault)) {
|
|
75
|
+
return 0;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (f === 'maxDepositAmount') {
|
|
79
|
+
try {
|
|
80
|
+
return await vaultContract[f]();
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
if (f === 'depositsPaused') {
|
|
87
|
+
return readDepositsPaused(vaultContract);
|
|
88
|
+
}
|
|
89
|
+
if (f === 'symbol') {
|
|
90
|
+
return (0, core_1.getSymbol)(provider, vault);
|
|
91
|
+
}
|
|
92
|
+
if (f === 'decimals') {
|
|
93
|
+
return (0, core_1.getDecimalsOrThrow)(provider, vault, 'getEvmVaultV1');
|
|
94
|
+
}
|
|
95
|
+
return vaultContract[f]();
|
|
96
|
+
}));
|
|
97
|
+
// Normalize contract call results into typed object
|
|
98
|
+
const formattedContractCalls = vaultContractCalls.reduce((acc, curr, i) => {
|
|
99
|
+
let val;
|
|
100
|
+
if (core_1.VAULT_FUNCTIONS_V1[i] === 'maxDepositAmount') {
|
|
101
|
+
if (curr === null) {
|
|
102
|
+
return acc;
|
|
103
|
+
}
|
|
104
|
+
val = (0, core_1.toNormalizedBn)(curr, vaultContractCalls[0]);
|
|
105
|
+
}
|
|
106
|
+
else if (core_1.VAULT_FUNCTIONS_V1[i] === 'totalSupply' ||
|
|
107
|
+
core_1.VAULT_FUNCTIONS_V1[i] === 'totalAssets' ||
|
|
108
|
+
core_1.VAULT_FUNCTIONS_V1[i] === 'globalLoansAmount' ||
|
|
109
|
+
core_1.VAULT_FUNCTIONS_V1[i] === 'maxSupply') {
|
|
110
|
+
val = (0, core_1.toNormalizedBn)(curr, vaultContractCalls[0]);
|
|
111
|
+
}
|
|
112
|
+
else if (core_1.VAULT_FUNCTIONS_V1[i] === 'getTotalLoansDeployed') {
|
|
113
|
+
val = (0, core_1.toNormalizedBn)(curr, 0);
|
|
114
|
+
}
|
|
115
|
+
else if (core_1.VAULT_FUNCTIONS_V1[i] === 'withdrawalFee') {
|
|
116
|
+
val = (0, core_1.toNormalizedBn)(curr, 2);
|
|
117
|
+
}
|
|
118
|
+
else if (core_1.VAULT_FUNCTIONS_V1[i] === 'decimals') {
|
|
119
|
+
val = Number(curr.toString());
|
|
120
|
+
}
|
|
121
|
+
else if (core_1.VAULT_FUNCTIONS_V1[i] === 'loansOperator') {
|
|
122
|
+
// TODO: hardcoded as we cannot pull the real strategist
|
|
123
|
+
val = '0x4DCb388488622e47683EAd1a147947140a31e485';
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
val = curr;
|
|
127
|
+
}
|
|
128
|
+
return { ...acc, [core_1.VAULT_FUNCTIONS_V1[i]]: val };
|
|
129
|
+
}, {});
|
|
130
|
+
// Combine on-chain and backend data into unified vault object
|
|
131
|
+
const returnObj = await (0, utils_1.buildFormattedVault)(provider, tokenizedVault, formattedContractCalls);
|
|
132
|
+
return returnObj;
|
|
133
|
+
};
|
|
134
|
+
exports.getEvmVaultV1 = getEvmVaultV1;
|
|
135
|
+
/**
|
|
136
|
+
* Fetch EVM vault data for v2 vault contracts (current format).
|
|
137
|
+
* V2 vaults use separate contracts for vault, receipt token, and whitelist.
|
|
138
|
+
* Queries all three contracts and combines results.
|
|
139
|
+
* @param tokenizedVault Vault metadata from backend
|
|
140
|
+
* @param options RPC configuration and chain details
|
|
141
|
+
* @returns Formatted vault object or null if closed/invisible
|
|
142
|
+
*/
|
|
143
|
+
const getEvmVaultV2 = async (tokenizedVault, options) => {
|
|
144
|
+
const provider = (0, core_1.createProvider)(options.rpcUrl);
|
|
145
|
+
const vault = tokenizedVault.address;
|
|
146
|
+
if (!vault) {
|
|
147
|
+
throw new Error('Vault address is undefined');
|
|
148
|
+
}
|
|
149
|
+
// Skip closed staging vaults that shouldn't be displayed — unless the caller
|
|
150
|
+
// explicitly opts in (portfolio mode), where a user's position in a closed,
|
|
151
|
+
// invisible vault must still resolve its metadata.
|
|
152
|
+
if (tokenizedVault.status === 'closed' &&
|
|
153
|
+
tokenizedVault.is_visible === false &&
|
|
154
|
+
!options?.includeClosed) {
|
|
155
|
+
core_1.Logger.log.warn('getEvmVaultV2', `closed: ${tokenizedVault.vault_name}`);
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
// Fetch vault contract state
|
|
159
|
+
const vaultContract = (0, core_1.createContract)({
|
|
160
|
+
address: vault,
|
|
161
|
+
abi: TokenizedVaultV2_1.ABI_TOKENIZED_VAULT_V2,
|
|
162
|
+
provider,
|
|
163
|
+
});
|
|
164
|
+
const vaultContractCalls = await Promise.all(core_1.VAULT_FUNCTIONS_V2.map(async (f) => {
|
|
165
|
+
if (f === 'depositCap') {
|
|
166
|
+
try {
|
|
167
|
+
return await vaultContract[f]();
|
|
168
|
+
}
|
|
169
|
+
catch (error) {
|
|
170
|
+
return null;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
if (f === 'depositsPaused') {
|
|
174
|
+
return readDepositsPaused(vaultContract);
|
|
175
|
+
}
|
|
176
|
+
return vaultContract[f]();
|
|
177
|
+
}));
|
|
178
|
+
const receiptAddress = vaultContractCalls[core_1.VAULT_FUNCTIONS_V2.length - 1];
|
|
179
|
+
const whitelistedAssetsAddress = vaultContractCalls[0];
|
|
180
|
+
const reciptContract = (0, core_1.createContract)({
|
|
181
|
+
address: receiptAddress, // lpTokenAddress
|
|
182
|
+
abi: TokenizedVaultV2Receipt_1.ABI_TOKENIZED_VAULT_V2_RECEIPT,
|
|
183
|
+
provider,
|
|
184
|
+
});
|
|
185
|
+
const [receiptContractCalls, whitelistedList] = await Promise.all([
|
|
186
|
+
Promise.all(core_1.VAULT_FUNCTIONS_V2_RECEIPT.map((f) => {
|
|
187
|
+
if (f === 'symbol') {
|
|
188
|
+
return (0, core_1.getSymbol)(provider, receiptAddress, false);
|
|
189
|
+
}
|
|
190
|
+
if (f === 'decimals') {
|
|
191
|
+
return (0, core_1.getDecimalsOrThrow)(provider, receiptAddress, 'getEvmVaultV2');
|
|
192
|
+
}
|
|
193
|
+
return reciptContract[f]();
|
|
194
|
+
})),
|
|
195
|
+
(0, core_1.getWhitelistedAssets)(provider, whitelistedAssetsAddress),
|
|
196
|
+
]);
|
|
197
|
+
const whitelistedAssetsContractCalls = [whitelistedList];
|
|
198
|
+
// Merge all contract call results
|
|
199
|
+
const combinedCalls = [
|
|
200
|
+
...vaultContractCalls,
|
|
201
|
+
...receiptContractCalls,
|
|
202
|
+
...whitelistedAssetsContractCalls,
|
|
203
|
+
];
|
|
204
|
+
const combinedFunctions = [
|
|
205
|
+
...core_1.VAULT_FUNCTIONS_V2,
|
|
206
|
+
...core_1.VAULT_FUNCTIONS_V2_RECEIPT,
|
|
207
|
+
...core_1.VAULT_FUNCTIONS_V2_WHITELISTED_ASSETS,
|
|
208
|
+
];
|
|
209
|
+
// Normalize all contract results with proper decimal handling
|
|
210
|
+
const formattedContractCalls = combinedCalls.reduce((acc, curr, i) => {
|
|
211
|
+
let val;
|
|
212
|
+
if (combinedFunctions[i] === 'depositCap') {
|
|
213
|
+
if (curr === null) {
|
|
214
|
+
return acc;
|
|
215
|
+
}
|
|
216
|
+
val = (0, core_1.toNormalizedBn)(curr, receiptContractCalls[0]);
|
|
217
|
+
}
|
|
218
|
+
else if (combinedFunctions[i] === 'totalSupply' ||
|
|
219
|
+
combinedFunctions[i] === 'totalAssets' ||
|
|
220
|
+
combinedFunctions[i] === 'globalLoansAmount' ||
|
|
221
|
+
combinedFunctions[i] === 'maxSupply' ||
|
|
222
|
+
combinedFunctions[i] === 'getTotalAssets' ||
|
|
223
|
+
combinedFunctions[i] === 'maxDepositAmount') {
|
|
224
|
+
val = (0, core_1.toNormalizedBn)(curr, receiptContractCalls[0]);
|
|
225
|
+
}
|
|
226
|
+
else if (combinedFunctions[i] === 'getTotalLoansDeployed') {
|
|
227
|
+
val = (0, core_1.toNormalizedBn)(curr, 0);
|
|
228
|
+
}
|
|
229
|
+
else if (combinedFunctions[i] === 'withdrawalFee') {
|
|
230
|
+
val = (0, core_1.toNormalizedBn)(curr, 2);
|
|
231
|
+
}
|
|
232
|
+
else if (combinedFunctions[i] === 'decimals') {
|
|
233
|
+
val = Number(curr.toString());
|
|
234
|
+
}
|
|
235
|
+
else if (combinedFunctions[i] === 'loansOperator') {
|
|
236
|
+
// @hardcoded: we cannot pull the real strategist
|
|
237
|
+
val = '0x4DCb388488622e47683EAd1a147947140a31e485';
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
val = curr;
|
|
241
|
+
}
|
|
242
|
+
return { ...acc, [combinedFunctions[i]]: val };
|
|
243
|
+
}, {});
|
|
244
|
+
// Combine on-chain and backend data into unified vault object
|
|
245
|
+
const returnObj = await (0, utils_1.buildFormattedVault)(provider, tokenizedVault, formattedContractCalls);
|
|
246
|
+
return returnObj;
|
|
247
|
+
};
|
|
248
|
+
exports.getEvmVaultV2 = getEvmVaultV2;
|
|
249
|
+
//# sourceMappingURL=getters.js.map
|