@eulerxyz/euler-v2-sdk 0.1.0-beta
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 +115 -0
- package/dist/src/entities/Account.d.ts +242 -0
- package/dist/src/entities/Account.js +509 -0
- package/dist/src/entities/Account.js.map +1 -0
- package/dist/src/entities/ERC4626Vault.d.ts +56 -0
- package/dist/src/entities/ERC4626Vault.js +94 -0
- package/dist/src/entities/ERC4626Vault.js.map +1 -0
- package/dist/src/entities/EVault.d.ts +159 -0
- package/dist/src/entities/EVault.js +224 -0
- package/dist/src/entities/EVault.js.map +1 -0
- package/dist/src/entities/EulerEarn.d.ts +69 -0
- package/dist/src/entities/EulerEarn.js +89 -0
- package/dist/src/entities/EulerEarn.js.map +1 -0
- package/dist/src/entities/EulerLabels.d.ts +53 -0
- package/dist/src/entities/EulerLabels.js +2 -0
- package/dist/src/entities/EulerLabels.js.map +1 -0
- package/dist/src/entities/SecuritizeCollateralVault.d.ts +16 -0
- package/dist/src/entities/SecuritizeCollateralVault.js +22 -0
- package/dist/src/entities/SecuritizeCollateralVault.js.map +1 -0
- package/dist/src/entities/Wallet.d.ts +27 -0
- package/dist/src/entities/Wallet.js +21 -0
- package/dist/src/entities/Wallet.js.map +1 -0
- package/dist/src/index.d.ts +43 -0
- package/dist/src/index.js +46 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/plugins/batchSimulation.d.ts +34 -0
- package/dist/src/plugins/batchSimulation.js +83 -0
- package/dist/src/plugins/batchSimulation.js.map +1 -0
- package/dist/src/plugins/index.d.ts +4 -0
- package/dist/src/plugins/index.js +5 -0
- package/dist/src/plugins/index.js.map +1 -0
- package/dist/src/plugins/keyring/index.d.ts +1 -0
- package/dist/src/plugins/keyring/index.js +2 -0
- package/dist/src/plugins/keyring/index.js.map +1 -0
- package/dist/src/plugins/keyring/keyringPlugin.d.ts +41 -0
- package/dist/src/plugins/keyring/keyringPlugin.js +182 -0
- package/dist/src/plugins/keyring/keyringPlugin.js.map +1 -0
- package/dist/src/plugins/pyth/index.d.ts +1 -0
- package/dist/src/plugins/pyth/index.js +2 -0
- package/dist/src/plugins/pyth/index.js.map +1 -0
- package/dist/src/plugins/pyth/pythPlugin.d.ts +29 -0
- package/dist/src/plugins/pyth/pythPlugin.js +190 -0
- package/dist/src/plugins/pyth/pythPlugin.js.map +1 -0
- package/dist/src/plugins/types.d.ts +39 -0
- package/dist/src/plugins/types.js +16 -0
- package/dist/src/plugins/types.js.map +1 -0
- package/dist/src/sdk/buildSDK.d.ts +77 -0
- package/dist/src/sdk/buildSDK.js +366 -0
- package/dist/src/sdk/buildSDK.js.map +1 -0
- package/dist/src/sdk/defaultConfig.d.ts +26 -0
- package/dist/src/sdk/defaultConfig.js +68 -0
- package/dist/src/sdk/defaultConfig.js.map +1 -0
- package/dist/src/sdk/sdk.d.ts +73 -0
- package/dist/src/sdk/sdk.js +67 -0
- package/dist/src/sdk/sdk.js.map +1 -0
- package/dist/src/services/abiService/abiService.d.ts +13 -0
- package/dist/src/services/abiService/abiService.js +25 -0
- package/dist/src/services/abiService/abiService.js.map +1 -0
- package/dist/src/services/abiService/index.d.ts +2 -0
- package/dist/src/services/abiService/index.js +2 -0
- package/dist/src/services/abiService/index.js.map +1 -0
- package/dist/src/services/accountService/accountService.d.ts +44 -0
- package/dist/src/services/accountService/accountService.js +193 -0
- package/dist/src/services/accountService/accountService.js.map +1 -0
- package/dist/src/services/accountService/accountServiceConfig.d.ts +15 -0
- package/dist/src/services/accountService/accountServiceConfig.js +2 -0
- package/dist/src/services/accountService/accountServiceConfig.js.map +1 -0
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/abis/accountLensAbi.d.ts +960 -0
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/abis/accountLensAbi.js +1230 -0
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/abis/accountLensAbi.js.map +1 -0
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.d.ts +17 -0
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.js +158 -0
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.js.map +1 -0
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountLensTypes.d.ts +48 -0
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountLensTypes.js +2 -0
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountLensTypes.js.map +1 -0
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.d.ts +210 -0
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js +287 -0
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js.map +1 -0
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountVaultsSubgraphAdapter.d.ts +22 -0
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountVaultsSubgraphAdapter.js +80 -0
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountVaultsSubgraphAdapter.js.map +1 -0
- package/dist/src/services/accountService/adapters/accountOutputNormalization.d.ts +8 -0
- package/dist/src/services/accountService/adapters/accountOutputNormalization.js +50 -0
- package/dist/src/services/accountService/adapters/accountOutputNormalization.js.map +1 -0
- package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.d.ts +62 -0
- package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js +287 -0
- package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js.map +1 -0
- package/dist/src/services/accountService/adapters/accountVaultsSubgraphAdapter/accountVaultsSubgraphAdapter.d.ts +1 -0
- package/dist/src/services/accountService/adapters/accountVaultsSubgraphAdapter/accountVaultsSubgraphAdapter.js +2 -0
- package/dist/src/services/accountService/adapters/accountVaultsSubgraphAdapter/accountVaultsSubgraphAdapter.js.map +1 -0
- package/dist/src/services/accountService/index.d.ts +5 -0
- package/dist/src/services/accountService/index.js +4 -0
- package/dist/src/services/accountService/index.js.map +1 -0
- package/dist/src/services/deploymentService/deploymentService.d.ts +116 -0
- package/dist/src/services/deploymentService/deploymentService.js +44 -0
- package/dist/src/services/deploymentService/deploymentService.js.map +1 -0
- package/dist/src/services/deploymentService/index.d.ts +2 -0
- package/dist/src/services/deploymentService/index.js +2 -0
- package/dist/src/services/deploymentService/index.js.map +1 -0
- package/dist/src/services/eulerLabelsService/eulerLabelsService.d.ts +54 -0
- package/dist/src/services/eulerLabelsService/eulerLabelsService.js +178 -0
- package/dist/src/services/eulerLabelsService/eulerLabelsService.js.map +1 -0
- package/dist/src/services/eulerLabelsService/index.d.ts +2 -0
- package/dist/src/services/eulerLabelsService/index.js +2 -0
- package/dist/src/services/eulerLabelsService/index.js.map +1 -0
- package/dist/src/services/executionService/abis/eVaultAbi.d.ts +1948 -0
- package/dist/src/services/executionService/abis/eVaultAbi.js +2517 -0
- package/dist/src/services/executionService/abis/eVaultAbi.js.map +1 -0
- package/dist/src/services/executionService/abis/ethereumVaultConnectorAbi.d.ts +1070 -0
- package/dist/src/services/executionService/abis/ethereumVaultConnectorAbi.js +1387 -0
- package/dist/src/services/executionService/abis/ethereumVaultConnectorAbi.js.map +1 -0
- package/dist/src/services/executionService/abis/permit2PermitAbi.d.ts +52 -0
- package/dist/src/services/executionService/abis/permit2PermitAbi.js +36 -0
- package/dist/src/services/executionService/abis/permit2PermitAbi.js.map +1 -0
- package/dist/src/services/executionService/abis/swapVerifierAbi.d.ts +139 -0
- package/dist/src/services/executionService/abis/swapVerifierAbi.js +70 -0
- package/dist/src/services/executionService/abis/swapVerifierAbi.js.map +1 -0
- package/dist/src/services/executionService/abis/swapperAbi.d.ts +270 -0
- package/dist/src/services/executionService/abis/swapperAbi.js +152 -0
- package/dist/src/services/executionService/abis/swapperAbi.js.map +1 -0
- package/dist/src/services/executionService/executionService.d.ts +619 -0
- package/dist/src/services/executionService/executionService.js +2037 -0
- package/dist/src/services/executionService/executionService.js.map +1 -0
- package/dist/src/services/executionService/executionServiceTypes.d.ts +423 -0
- package/dist/src/services/executionService/executionServiceTypes.js +14 -0
- package/dist/src/services/executionService/executionServiceTypes.js.map +1 -0
- package/dist/src/services/executionService/index.d.ts +7 -0
- package/dist/src/services/executionService/index.js +7 -0
- package/dist/src/services/executionService/index.js.map +1 -0
- package/dist/src/services/feeFlowService/feeFlowService.d.ts +22 -0
- package/dist/src/services/feeFlowService/feeFlowService.js +239 -0
- package/dist/src/services/feeFlowService/feeFlowService.js.map +1 -0
- package/dist/src/services/feeFlowService/feeFlowServiceTypes.d.ts +42 -0
- package/dist/src/services/feeFlowService/feeFlowServiceTypes.js +2 -0
- package/dist/src/services/feeFlowService/feeFlowServiceTypes.js.map +1 -0
- package/dist/src/services/feeFlowService/index.d.ts +2 -0
- package/dist/src/services/feeFlowService/index.js +2 -0
- package/dist/src/services/feeFlowService/index.js.map +1 -0
- package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/index.d.ts +2 -0
- package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/index.js +2 -0
- package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/index.js.map +1 -0
- package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3Adapter.d.ts +21 -0
- package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3Adapter.js +125 -0
- package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3Adapter.js.map +1 -0
- package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3AdapterTypes.d.ts +30 -0
- package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3AdapterTypes.js +2 -0
- package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3AdapterTypes.js.map +1 -0
- package/dist/src/services/intrinsicApyService/index.d.ts +4 -0
- package/dist/src/services/intrinsicApyService/index.js +3 -0
- package/dist/src/services/intrinsicApyService/index.js.map +1 -0
- package/dist/src/services/intrinsicApyService/intrinsicApyService.d.ts +28 -0
- package/dist/src/services/intrinsicApyService/intrinsicApyService.js +42 -0
- package/dist/src/services/intrinsicApyService/intrinsicApyService.js.map +1 -0
- package/dist/src/services/oracleAdapterService/index.d.ts +1 -0
- package/dist/src/services/oracleAdapterService/index.js +2 -0
- package/dist/src/services/oracleAdapterService/index.js.map +1 -0
- package/dist/src/services/oracleAdapterService/oracleAdapterService.d.ts +40 -0
- package/dist/src/services/oracleAdapterService/oracleAdapterService.js +65 -0
- package/dist/src/services/oracleAdapterService/oracleAdapterService.js.map +1 -0
- package/dist/src/services/priceService/backendClient.d.ts +70 -0
- package/dist/src/services/priceService/backendClient.js +108 -0
- package/dist/src/services/priceService/backendClient.js.map +1 -0
- package/dist/src/services/priceService/index.d.ts +2 -0
- package/dist/src/services/priceService/index.js +3 -0
- package/dist/src/services/priceService/index.js.map +1 -0
- package/dist/src/services/priceService/priceService.d.ts +133 -0
- package/dist/src/services/priceService/priceService.js +499 -0
- package/dist/src/services/priceService/priceService.js.map +1 -0
- package/dist/src/services/priceService/utilsLensPriceAbi.d.ts +60 -0
- package/dist/src/services/priceService/utilsLensPriceAbi.js +31 -0
- package/dist/src/services/priceService/utilsLensPriceAbi.js.map +1 -0
- package/dist/src/services/providerService/index.d.ts +2 -0
- package/dist/src/services/providerService/index.js +2 -0
- package/dist/src/services/providerService/index.js.map +1 -0
- package/dist/src/services/providerService/providerService.d.ts +11 -0
- package/dist/src/services/providerService/providerService.js +61 -0
- package/dist/src/services/providerService/providerService.js.map +1 -0
- package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/index.d.ts +2 -0
- package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/index.js +2 -0
- package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/index.js.map +1 -0
- package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts +48 -0
- package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js +391 -0
- package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js.map +1 -0
- package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/index.d.ts +2 -0
- package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/index.js +2 -0
- package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/index.js.map +1 -0
- package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.d.ts +23 -0
- package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js +296 -0
- package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js.map +1 -0
- package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts +110 -0
- package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.js +2 -0
- package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.js.map +1 -0
- package/dist/src/services/rewardsService/index.d.ts +5 -0
- package/dist/src/services/rewardsService/index.js +4 -0
- package/dist/src/services/rewardsService/index.js.map +1 -0
- package/dist/src/services/rewardsService/rewardsService.d.ts +34 -0
- package/dist/src/services/rewardsService/rewardsService.js +298 -0
- package/dist/src/services/rewardsService/rewardsService.js.map +1 -0
- package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts +270 -0
- package/dist/src/services/rewardsService/rewardsServiceTypes.js +2 -0
- package/dist/src/services/rewardsService/rewardsServiceTypes.js.map +1 -0
- package/dist/src/services/simulationService/index.d.ts +2 -0
- package/dist/src/services/simulationService/index.js +2 -0
- package/dist/src/services/simulationService/index.js.map +1 -0
- package/dist/src/services/simulationService/simulationService.d.ts +88 -0
- package/dist/src/services/simulationService/simulationService.js +497 -0
- package/dist/src/services/simulationService/simulationService.js.map +1 -0
- package/dist/src/services/swapService/index.d.ts +3 -0
- package/dist/src/services/swapService/index.js +3 -0
- package/dist/src/services/swapService/index.js.map +1 -0
- package/dist/src/services/swapService/swapService.d.ts +121 -0
- package/dist/src/services/swapService/swapService.js +329 -0
- package/dist/src/services/swapService/swapService.js.map +1 -0
- package/dist/src/services/swapService/swapServiceTypes.d.ts +130 -0
- package/dist/src/services/swapService/swapServiceTypes.js +16 -0
- package/dist/src/services/swapService/swapServiceTypes.js.map +1 -0
- package/dist/src/services/swapService/swapVerifierAbi.d.ts +139 -0
- package/dist/src/services/swapService/swapVerifierAbi.js +178 -0
- package/dist/src/services/swapService/swapVerifierAbi.js.map +1 -0
- package/dist/src/services/tokenlistService/index.d.ts +3 -0
- package/dist/src/services/tokenlistService/index.js +2 -0
- package/dist/src/services/tokenlistService/index.js.map +1 -0
- package/dist/src/services/tokenlistService/tokenlistService.d.ts +31 -0
- package/dist/src/services/tokenlistService/tokenlistService.js +56 -0
- package/dist/src/services/tokenlistService/tokenlistService.js.map +1 -0
- package/dist/src/services/tokenlistService/tokenlistServiceTypes.d.ts +33 -0
- package/dist/src/services/tokenlistService/tokenlistServiceTypes.js +2 -0
- package/dist/src/services/tokenlistService/tokenlistServiceTypes.js.map +1 -0
- package/dist/src/services/vaults/IVaultService.d.ts +47 -0
- package/dist/src/services/vaults/IVaultService.js +2 -0
- package/dist/src/services/vaults/IVaultService.js.map +1 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/abis/vaultLensAbi.d.ts +1280 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/abis/vaultLensAbi.js +1640 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/abis/vaultLensAbi.js.map +1 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultLensTypes.d.ts +97 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultLensTypes.js +9 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultLensTypes.js.map +1 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.d.ts +141 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.js +189 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.js.map +1 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.d.ts +10 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.js +454 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.js.map +1 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.d.ts +25 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.js +214 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.js.map +1 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.d.ts +5 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js +795 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js.map +1 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterTypes.d.ts +146 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterTypes.js +2 -0
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterTypes.js.map +1 -0
- package/dist/src/services/vaults/eVaultService/eVaultService.d.ts +74 -0
- package/dist/src/services/vaults/eVaultService/eVaultService.js +362 -0
- package/dist/src/services/vaults/eVaultService/eVaultService.js.map +1 -0
- package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.d.ts +15 -0
- package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.js +2 -0
- package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.js.map +1 -0
- package/dist/src/services/vaults/eVaultService/index.d.ts +5 -0
- package/dist/src/services/vaults/eVaultService/index.js +4 -0
- package/dist/src/services/vaults/eVaultService/index.js.map +1 -0
- package/dist/src/services/vaults/eulerEarnService/adapters/abis/eulerEarnVaultLensAbi.d.ts +468 -0
- package/dist/src/services/vaults/eulerEarnService/adapters/abis/eulerEarnVaultLensAbi.js +600 -0
- package/dist/src/services/vaults/eulerEarnService/adapters/abis/eulerEarnVaultLensAbi.js.map +1 -0
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.d.ts +10 -0
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.js +151 -0
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.js.map +1 -0
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnLensTypes.d.ts +55 -0
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnLensTypes.js +2 -0
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnLensTypes.js.map +1 -0
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.d.ts +109 -0
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js +238 -0
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js.map +1 -0
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts +100 -0
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js +373 -0
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js.map +1 -0
- package/dist/src/services/vaults/eulerEarnService/eulerEarnService.d.ts +77 -0
- package/dist/src/services/vaults/eulerEarnService/eulerEarnService.js +298 -0
- package/dist/src/services/vaults/eulerEarnService/eulerEarnService.js.map +1 -0
- package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.d.ts +13 -0
- package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.js +2 -0
- package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.js.map +1 -0
- package/dist/src/services/vaults/eulerEarnService/index.d.ts +5 -0
- package/dist/src/services/vaults/eulerEarnService/index.js +4 -0
- package/dist/src/services/vaults/eulerEarnService/index.js.map +1 -0
- package/dist/src/services/vaults/index.d.ts +1 -0
- package/dist/src/services/vaults/index.js +2 -0
- package/dist/src/services/vaults/index.js.map +1 -0
- package/dist/src/services/vaults/securitizeVaultService/adapters/abis/erc4626EvcCollateralSecuritizeAbi.d.ts +22 -0
- package/dist/src/services/vaults/securitizeVaultService/adapters/abis/erc4626EvcCollateralSecuritizeAbi.js +18 -0
- package/dist/src/services/vaults/securitizeVaultService/adapters/abis/erc4626EvcCollateralSecuritizeAbi.js.map +1 -0
- package/dist/src/services/vaults/securitizeVaultService/adapters/abis/utilsLensAbi.d.ts +64 -0
- package/dist/src/services/vaults/securitizeVaultService/adapters/abis/utilsLensAbi.js +30 -0
- package/dist/src/services/vaults/securitizeVaultService/adapters/abis/utilsLensAbi.js.map +1 -0
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.d.ts +4 -0
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.js +53 -0
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.js.map +1 -0
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultLensTypes.d.ts +16 -0
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultLensTypes.js +2 -0
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultLensTypes.js.map +1 -0
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.d.ts +37 -0
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.js +113 -0
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.js.map +1 -0
- package/dist/src/services/vaults/securitizeVaultService/index.d.ts +2 -0
- package/dist/src/services/vaults/securitizeVaultService/index.js +3 -0
- package/dist/src/services/vaults/securitizeVaultService/index.js.map +1 -0
- package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.d.ts +52 -0
- package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.js +190 -0
- package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.js.map +1 -0
- package/dist/src/services/vaults/vaultMetaService/adapters/IVaultTypeAdapter.d.ts +29 -0
- package/dist/src/services/vaults/vaultMetaService/adapters/IVaultTypeAdapter.js +2 -0
- package/dist/src/services/vaults/vaultMetaService/adapters/IVaultTypeAdapter.js.map +1 -0
- package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeSubgraphAdapter.d.ts +18 -0
- package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeSubgraphAdapter.js +82 -0
- package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeSubgraphAdapter.js.map +1 -0
- package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeV3Adapter.d.ts +35 -0
- package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeV3Adapter.js +154 -0
- package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeV3Adapter.js.map +1 -0
- package/dist/src/services/vaults/vaultMetaService/index.d.ts +4 -0
- package/dist/src/services/vaults/vaultMetaService/index.js +4 -0
- package/dist/src/services/vaults/vaultMetaService/index.js.map +1 -0
- package/dist/src/services/vaults/vaultMetaService/vaultMetaService.d.ts +71 -0
- package/dist/src/services/vaults/vaultMetaService/vaultMetaService.js +283 -0
- package/dist/src/services/vaults/vaultMetaService/vaultMetaService.js.map +1 -0
- package/dist/src/services/walletService/adapters/walletOnchainAdapter.d.ts +20 -0
- package/dist/src/services/walletService/adapters/walletOnchainAdapter.js +222 -0
- package/dist/src/services/walletService/adapters/walletOnchainAdapter.js.map +1 -0
- package/dist/src/services/walletService/index.d.ts +3 -0
- package/dist/src/services/walletService/index.js +2 -0
- package/dist/src/services/walletService/index.js.map +1 -0
- package/dist/src/services/walletService/walletService.d.ts +19 -0
- package/dist/src/services/walletService/walletService.js +37 -0
- package/dist/src/services/walletService/walletService.js.map +1 -0
- package/dist/src/utils/accountComputations.d.ts +96 -0
- package/dist/src/utils/accountComputations.js +297 -0
- package/dist/src/utils/accountComputations.js.map +1 -0
- package/dist/src/utils/batch.d.ts +2 -0
- package/dist/src/utils/batch.js +51 -0
- package/dist/src/utils/batch.js.map +1 -0
- package/dist/src/utils/buildQuery.d.ts +19 -0
- package/dist/src/utils/buildQuery.js +72 -0
- package/dist/src/utils/buildQuery.js.map +1 -0
- package/dist/src/utils/callBundler.d.ts +32 -0
- package/dist/src/utils/callBundler.js +93 -0
- package/dist/src/utils/callBundler.js.map +1 -0
- package/dist/src/utils/decodeSmartContractErrors.d.ts +13 -0
- package/dist/src/utils/decodeSmartContractErrors.js +311 -0
- package/dist/src/utils/decodeSmartContractErrors.js.map +1 -0
- package/dist/src/utils/entityDiagnostics.d.ts +28 -0
- package/dist/src/utils/entityDiagnostics.js +72 -0
- package/dist/src/utils/entityDiagnostics.js.map +1 -0
- package/dist/src/utils/eulerErrorSelectors.d.ts +226 -0
- package/dist/src/utils/eulerErrorSelectors.js +227 -0
- package/dist/src/utils/eulerErrorSelectors.js.map +1 -0
- package/dist/src/utils/irm.d.ts +60 -0
- package/dist/src/utils/irm.js +213 -0
- package/dist/src/utils/irm.js.map +1 -0
- package/dist/src/utils/normalization.d.ts +30 -0
- package/dist/src/utils/normalization.js +79 -0
- package/dist/src/utils/normalization.js.map +1 -0
- package/dist/src/utils/oracle.d.ts +107 -0
- package/dist/src/utils/oracle.js +437 -0
- package/dist/src/utils/oracle.js.map +1 -0
- package/dist/src/utils/parsing.d.ts +29 -0
- package/dist/src/utils/parsing.js +199 -0
- package/dist/src/utils/parsing.js.map +1 -0
- package/dist/src/utils/queryNames.d.ts +28 -0
- package/dist/src/utils/queryNames.js +2 -0
- package/dist/src/utils/queryNames.js.map +1 -0
- package/dist/src/utils/stateOverrides/accessList.d.ts +14 -0
- package/dist/src/utils/stateOverrides/accessList.js +24 -0
- package/dist/src/utils/stateOverrides/accessList.js.map +1 -0
- package/dist/src/utils/stateOverrides/approvalOverrides.d.ts +20 -0
- package/dist/src/utils/stateOverrides/approvalOverrides.js +111 -0
- package/dist/src/utils/stateOverrides/approvalOverrides.js.map +1 -0
- package/dist/src/utils/stateOverrides/balanceOverrides.d.ts +13 -0
- package/dist/src/utils/stateOverrides/balanceOverrides.js +145 -0
- package/dist/src/utils/stateOverrides/balanceOverrides.js.map +1 -0
- package/dist/src/utils/stateOverrides/getStateOverrides.d.ts +31 -0
- package/dist/src/utils/stateOverrides/getStateOverrides.js +86 -0
- package/dist/src/utils/stateOverrides/getStateOverrides.js.map +1 -0
- package/dist/src/utils/stateOverrides/index.d.ts +4 -0
- package/dist/src/utils/stateOverrides/index.js +5 -0
- package/dist/src/utils/stateOverrides/index.js.map +1 -0
- package/dist/src/utils/stateOverrides/mergeStateOverrides.d.ts +6 -0
- package/dist/src/utils/stateOverrides/mergeStateOverrides.js +40 -0
- package/dist/src/utils/stateOverrides/mergeStateOverrides.js.map +1 -0
- package/dist/src/utils/stateOverrides/types.d.ts +5 -0
- package/dist/src/utils/stateOverrides/types.js +2 -0
- package/dist/src/utils/stateOverrides/types.js.map +1 -0
- package/dist/src/utils/subAccounts.d.ts +6 -0
- package/dist/src/utils/subAccounts.js +24 -0
- package/dist/src/utils/subAccounts.js.map +1 -0
- package/dist/src/utils/types.d.ts +20 -0
- package/dist/src/utils/types.js +8 -0
- package/dist/src/utils/types.js.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import { decodeAbiParameters, formatUnits } from "viem";
|
|
2
|
+
export var InterestRateModelType;
|
|
3
|
+
(function (InterestRateModelType) {
|
|
4
|
+
InterestRateModelType[InterestRateModelType["UNKNOWN"] = 0] = "UNKNOWN";
|
|
5
|
+
InterestRateModelType[InterestRateModelType["KINK"] = 1] = "KINK";
|
|
6
|
+
InterestRateModelType[InterestRateModelType["ADAPTIVE_CURVE"] = 2] = "ADAPTIVE_CURVE";
|
|
7
|
+
InterestRateModelType[InterestRateModelType["KINKY"] = 3] = "KINKY";
|
|
8
|
+
InterestRateModelType[InterestRateModelType["FIXED_CYCLICAL_BINARY"] = 4] = "FIXED_CYCLICAL_BINARY";
|
|
9
|
+
})(InterestRateModelType || (InterestRateModelType = {}));
|
|
10
|
+
const UINT32_MAX = 2n ** 32n - 1n;
|
|
11
|
+
const SECONDS_PER_YEAR = 31_556_952;
|
|
12
|
+
/**
|
|
13
|
+
* Decodes IRM parameters from the encoded bytes returned by IRMLens.getInterestRateModelInfo
|
|
14
|
+
* @param type The interest rate model type
|
|
15
|
+
* @param params The encoded parameters as a hex string
|
|
16
|
+
* @returns The decoded IRM parameters matching the specified type
|
|
17
|
+
* @throws Error if the type is UNKNOWN or invalid
|
|
18
|
+
*/
|
|
19
|
+
export function decodeIRMParams(type, params) {
|
|
20
|
+
switch (type) {
|
|
21
|
+
case InterestRateModelType.KINK: {
|
|
22
|
+
const [baseRate, slope1, slope2, kink] = decodeAbiParameters([
|
|
23
|
+
{ name: "baseRate", type: "uint256" },
|
|
24
|
+
{ name: "slope1", type: "uint256" },
|
|
25
|
+
{ name: "slope2", type: "uint256" },
|
|
26
|
+
{ name: "kink", type: "uint256" },
|
|
27
|
+
], params);
|
|
28
|
+
return { baseRate, slope1, slope2, kink };
|
|
29
|
+
}
|
|
30
|
+
case InterestRateModelType.ADAPTIVE_CURVE: {
|
|
31
|
+
const [targetUtilization, initialRateAtTarget, minRateAtTarget, maxRateAtTarget, curveSteepness, adjustmentSpeed,] = decodeAbiParameters([
|
|
32
|
+
{ name: "targetUtilization", type: "int256" },
|
|
33
|
+
{ name: "initialRateAtTarget", type: "int256" },
|
|
34
|
+
{ name: "minRateAtTarget", type: "int256" },
|
|
35
|
+
{ name: "maxRateAtTarget", type: "int256" },
|
|
36
|
+
{ name: "curveSteepness", type: "int256" },
|
|
37
|
+
{ name: "adjustmentSpeed", type: "int256" },
|
|
38
|
+
], params);
|
|
39
|
+
return {
|
|
40
|
+
targetUtilization,
|
|
41
|
+
initialRateAtTarget,
|
|
42
|
+
minRateAtTarget,
|
|
43
|
+
maxRateAtTarget,
|
|
44
|
+
curveSteepness,
|
|
45
|
+
adjustmentSpeed,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
case InterestRateModelType.KINKY: {
|
|
49
|
+
const [baseRate, slope, shape, kink, cutoff] = decodeAbiParameters([
|
|
50
|
+
{ name: "baseRate", type: "uint256" },
|
|
51
|
+
{ name: "slope", type: "uint256" },
|
|
52
|
+
{ name: "shape", type: "uint256" },
|
|
53
|
+
{ name: "kink", type: "uint256" },
|
|
54
|
+
{ name: "cutoff", type: "uint256" },
|
|
55
|
+
], params);
|
|
56
|
+
return { baseRate, slope, shape, kink, cutoff };
|
|
57
|
+
}
|
|
58
|
+
case InterestRateModelType.FIXED_CYCLICAL_BINARY: {
|
|
59
|
+
const [primaryRate, secondaryRate, primaryDuration, secondaryDuration, startTimestamp,] = decodeAbiParameters([
|
|
60
|
+
{ name: "primaryRate", type: "uint256" },
|
|
61
|
+
{ name: "secondaryRate", type: "uint256" },
|
|
62
|
+
{ name: "primaryDuration", type: "uint256" },
|
|
63
|
+
{ name: "secondaryDuration", type: "uint256" },
|
|
64
|
+
{ name: "startTimestamp", type: "uint256" },
|
|
65
|
+
], params);
|
|
66
|
+
return {
|
|
67
|
+
primaryRate,
|
|
68
|
+
secondaryRate,
|
|
69
|
+
primaryDuration,
|
|
70
|
+
secondaryDuration,
|
|
71
|
+
startTimestamp,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
default:
|
|
75
|
+
throw new Error(`Cannot decode IRM params for type: ${InterestRateModelType[type]}`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
export function normalizeIRMParams(type, data) {
|
|
79
|
+
if (!data || typeof data !== "object")
|
|
80
|
+
return null;
|
|
81
|
+
switch (type) {
|
|
82
|
+
case InterestRateModelType.KINK: {
|
|
83
|
+
const baseRate = toBigIntValue(data, "baseRate");
|
|
84
|
+
const slope1 = toBigIntValue(data, "slope1");
|
|
85
|
+
const slope2 = toBigIntValue(data, "slope2");
|
|
86
|
+
const kink = toBigIntValue(data, "kink");
|
|
87
|
+
return baseRate !== null &&
|
|
88
|
+
slope1 !== null &&
|
|
89
|
+
slope2 !== null &&
|
|
90
|
+
kink !== null
|
|
91
|
+
? { baseRate, slope1, slope2, kink }
|
|
92
|
+
: null;
|
|
93
|
+
}
|
|
94
|
+
case InterestRateModelType.ADAPTIVE_CURVE: {
|
|
95
|
+
const targetUtilization = toBigIntValue(data, "targetUtilization");
|
|
96
|
+
const initialRateAtTarget = toBigIntValue(data, "initialRateAtTarget");
|
|
97
|
+
const minRateAtTarget = toBigIntValue(data, "minRateAtTarget");
|
|
98
|
+
const maxRateAtTarget = toBigIntValue(data, "maxRateAtTarget");
|
|
99
|
+
const curveSteepness = toBigIntValue(data, "curveSteepness");
|
|
100
|
+
const adjustmentSpeed = toBigIntValue(data, "adjustmentSpeed");
|
|
101
|
+
return targetUtilization !== null &&
|
|
102
|
+
initialRateAtTarget !== null &&
|
|
103
|
+
minRateAtTarget !== null &&
|
|
104
|
+
maxRateAtTarget !== null &&
|
|
105
|
+
curveSteepness !== null &&
|
|
106
|
+
adjustmentSpeed !== null
|
|
107
|
+
? {
|
|
108
|
+
targetUtilization,
|
|
109
|
+
initialRateAtTarget,
|
|
110
|
+
minRateAtTarget,
|
|
111
|
+
maxRateAtTarget,
|
|
112
|
+
curveSteepness,
|
|
113
|
+
adjustmentSpeed,
|
|
114
|
+
}
|
|
115
|
+
: null;
|
|
116
|
+
}
|
|
117
|
+
case InterestRateModelType.KINKY: {
|
|
118
|
+
const baseRate = toBigIntValue(data, "baseRate");
|
|
119
|
+
const slope = toBigIntValue(data, "slope");
|
|
120
|
+
const shape = toBigIntValue(data, "shape");
|
|
121
|
+
const kink = toBigIntValue(data, "kink");
|
|
122
|
+
const cutoff = toBigIntValue(data, "cutoff");
|
|
123
|
+
return baseRate !== null &&
|
|
124
|
+
slope !== null &&
|
|
125
|
+
shape !== null &&
|
|
126
|
+
kink !== null &&
|
|
127
|
+
cutoff !== null
|
|
128
|
+
? { baseRate, slope, shape, kink, cutoff }
|
|
129
|
+
: null;
|
|
130
|
+
}
|
|
131
|
+
case InterestRateModelType.FIXED_CYCLICAL_BINARY: {
|
|
132
|
+
const primaryRate = toBigIntValue(data, "primaryRate");
|
|
133
|
+
const secondaryRate = toBigIntValue(data, "secondaryRate");
|
|
134
|
+
const primaryDuration = toBigIntValue(data, "primaryDuration");
|
|
135
|
+
const secondaryDuration = toBigIntValue(data, "secondaryDuration");
|
|
136
|
+
const startTimestamp = toBigIntValue(data, "startTimestamp");
|
|
137
|
+
return primaryRate !== null &&
|
|
138
|
+
secondaryRate !== null &&
|
|
139
|
+
primaryDuration !== null &&
|
|
140
|
+
secondaryDuration !== null &&
|
|
141
|
+
startTimestamp !== null
|
|
142
|
+
? {
|
|
143
|
+
primaryRate,
|
|
144
|
+
secondaryRate,
|
|
145
|
+
primaryDuration,
|
|
146
|
+
secondaryDuration,
|
|
147
|
+
startTimestamp,
|
|
148
|
+
}
|
|
149
|
+
: null;
|
|
150
|
+
}
|
|
151
|
+
default:
|
|
152
|
+
return null;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
export function decorateIRMParams(type, data, interestFee) {
|
|
156
|
+
if (!data)
|
|
157
|
+
return null;
|
|
158
|
+
switch (type) {
|
|
159
|
+
case InterestRateModelType.KINK: {
|
|
160
|
+
const kinkData = data;
|
|
161
|
+
const baseSPY = kinkData.baseRate;
|
|
162
|
+
const kinkSPY = kinkData.baseRate + kinkData.kink * kinkData.slope1;
|
|
163
|
+
const maxSPY = kinkData.baseRate +
|
|
164
|
+
kinkData.kink * kinkData.slope1 +
|
|
165
|
+
(UINT32_MAX - kinkData.kink) * kinkData.slope2;
|
|
166
|
+
const kinkUtilization = Number(kinkData.kink) / Number(UINT32_MAX);
|
|
167
|
+
const baseBorrowAPY = spyToApyPercent(baseSPY);
|
|
168
|
+
const kinkBorrowAPY = spyToApyPercent(kinkSPY);
|
|
169
|
+
const maxBorrowAPY = spyToApyPercent(maxSPY);
|
|
170
|
+
return {
|
|
171
|
+
kinkPct: bigintToPercent(kinkData.kink, UINT32_MAX),
|
|
172
|
+
baseBorrowAPY,
|
|
173
|
+
kinkBorrowAPY,
|
|
174
|
+
maxBorrowAPY,
|
|
175
|
+
baseSupplyAPY: supplyApyFromBorrowApy(baseBorrowAPY, 0, interestFee),
|
|
176
|
+
kinkSupplyAPY: supplyApyFromBorrowApy(kinkBorrowAPY, kinkUtilization, interestFee),
|
|
177
|
+
maxSupplyAPY: supplyApyFromBorrowApy(maxBorrowAPY, 1, interestFee),
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
case InterestRateModelType.ADAPTIVE_CURVE:
|
|
181
|
+
case InterestRateModelType.KINKY:
|
|
182
|
+
case InterestRateModelType.FIXED_CYCLICAL_BINARY:
|
|
183
|
+
default:
|
|
184
|
+
return null;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
function toBigIntValue(data, key) {
|
|
188
|
+
const value = data[key];
|
|
189
|
+
if (typeof value === "bigint")
|
|
190
|
+
return value;
|
|
191
|
+
if (typeof value === "string" || typeof value === "number") {
|
|
192
|
+
try {
|
|
193
|
+
return BigInt(value);
|
|
194
|
+
}
|
|
195
|
+
catch {
|
|
196
|
+
return null;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
return null;
|
|
200
|
+
}
|
|
201
|
+
function spyToApyPercent(spy) {
|
|
202
|
+
const spyPerSecond = Number(formatUnits(spy, 27));
|
|
203
|
+
if (!Number.isFinite(spyPerSecond))
|
|
204
|
+
return Number.POSITIVE_INFINITY;
|
|
205
|
+
return ((1 + spyPerSecond) ** SECONDS_PER_YEAR - 1) * 100;
|
|
206
|
+
}
|
|
207
|
+
function bigintToPercent(value, scale) {
|
|
208
|
+
return Number(formatUnits(value * 10000n, 2)) / Number(scale);
|
|
209
|
+
}
|
|
210
|
+
function supplyApyFromBorrowApy(borrowAPY, utilization, interestFee) {
|
|
211
|
+
return borrowAPY * utilization * (1 - interestFee);
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=irm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"irm.js","sourceRoot":"","sources":["../../../src/utils/irm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { DataIssue } from "./entityDiagnostics.js";
|
|
2
|
+
type BigintToSafeNumberParams = {
|
|
3
|
+
path: string;
|
|
4
|
+
errors: DataIssue[];
|
|
5
|
+
source: string;
|
|
6
|
+
entityId?: string;
|
|
7
|
+
message?: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function bigintToSafeNumber(value: bigint, params: BigintToSafeNumberParams): number;
|
|
10
|
+
type NumberLikeToSafeFiniteNumberParams = {
|
|
11
|
+
path: string;
|
|
12
|
+
errors: DataIssue[];
|
|
13
|
+
source: string;
|
|
14
|
+
entityId?: string;
|
|
15
|
+
fallback?: number;
|
|
16
|
+
message?: string;
|
|
17
|
+
};
|
|
18
|
+
export declare function numberLikeToSafeFiniteNumber(value: bigint | number, params: NumberLikeToSafeFiniteNumberParams): number;
|
|
19
|
+
type BigintToScaledNumberParams = {
|
|
20
|
+
path: string;
|
|
21
|
+
errors: DataIssue[];
|
|
22
|
+
source: string;
|
|
23
|
+
entityId?: string;
|
|
24
|
+
scale: number;
|
|
25
|
+
maxUnscaled?: bigint;
|
|
26
|
+
minUnscaled?: bigint;
|
|
27
|
+
overflowMessage?: string;
|
|
28
|
+
};
|
|
29
|
+
export declare function bigintToScaledNumber(value: bigint, params: BigintToScaledNumberParams): number;
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
export function bigintToSafeNumber(value, params) {
|
|
2
|
+
const { path, errors, source, entityId } = params;
|
|
3
|
+
if (value <= BigInt(Number.MAX_SAFE_INTEGER) &&
|
|
4
|
+
value >= BigInt(Number.MIN_SAFE_INTEGER)) {
|
|
5
|
+
return Number(value);
|
|
6
|
+
}
|
|
7
|
+
const clamped = value > 0n ? Number.MAX_SAFE_INTEGER : Number.MIN_SAFE_INTEGER;
|
|
8
|
+
errors.push({
|
|
9
|
+
code: "OUT_OF_RANGE_CLAMPED",
|
|
10
|
+
severity: "warning",
|
|
11
|
+
message: params.message ??
|
|
12
|
+
"BigInt value exceeded JavaScript safe number range and was clamped.",
|
|
13
|
+
paths: [path],
|
|
14
|
+
source,
|
|
15
|
+
entityId,
|
|
16
|
+
originalValue: value.toString(),
|
|
17
|
+
normalizedValue: clamped,
|
|
18
|
+
});
|
|
19
|
+
return clamped;
|
|
20
|
+
}
|
|
21
|
+
export function numberLikeToSafeFiniteNumber(value, params) {
|
|
22
|
+
const fallback = params.fallback ?? 0;
|
|
23
|
+
if (typeof value === "bigint") {
|
|
24
|
+
return bigintToSafeNumber(value, {
|
|
25
|
+
path: params.path,
|
|
26
|
+
errors: params.errors,
|
|
27
|
+
source: params.source,
|
|
28
|
+
entityId: params.entityId,
|
|
29
|
+
message: params.message,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
if (Number.isFinite(value))
|
|
33
|
+
return value;
|
|
34
|
+
params.errors.push({
|
|
35
|
+
code: "DEFAULT_APPLIED",
|
|
36
|
+
severity: "warning",
|
|
37
|
+
message: params.message ??
|
|
38
|
+
"Non-finite number encountered and fallback value applied.",
|
|
39
|
+
paths: [params.path],
|
|
40
|
+
source: params.source,
|
|
41
|
+
entityId: params.entityId,
|
|
42
|
+
originalValue: String(value),
|
|
43
|
+
normalizedValue: fallback,
|
|
44
|
+
});
|
|
45
|
+
return fallback;
|
|
46
|
+
}
|
|
47
|
+
export function bigintToScaledNumber(value, params) {
|
|
48
|
+
const { path, errors, source, entityId, maxUnscaled, minUnscaled, scale } = params;
|
|
49
|
+
if (maxUnscaled !== undefined && value > maxUnscaled) {
|
|
50
|
+
errors.push({
|
|
51
|
+
code: "OUT_OF_RANGE_CLAMPED",
|
|
52
|
+
severity: "warning",
|
|
53
|
+
message: params.overflowMessage ??
|
|
54
|
+
"Value exceeded maximum allowed range and was clamped.",
|
|
55
|
+
paths: [path],
|
|
56
|
+
source,
|
|
57
|
+
entityId,
|
|
58
|
+
originalValue: value.toString(),
|
|
59
|
+
normalizedValue: maxUnscaled.toString(),
|
|
60
|
+
});
|
|
61
|
+
return Number(maxUnscaled) / scale;
|
|
62
|
+
}
|
|
63
|
+
if (minUnscaled !== undefined && value < minUnscaled) {
|
|
64
|
+
errors.push({
|
|
65
|
+
code: "OUT_OF_RANGE_CLAMPED",
|
|
66
|
+
severity: "warning",
|
|
67
|
+
message: params.overflowMessage ??
|
|
68
|
+
"Value exceeded minimum allowed range and was clamped.",
|
|
69
|
+
paths: [path],
|
|
70
|
+
source,
|
|
71
|
+
entityId,
|
|
72
|
+
originalValue: value.toString(),
|
|
73
|
+
normalizedValue: minUnscaled.toString(),
|
|
74
|
+
});
|
|
75
|
+
return Number(minUnscaled) / scale;
|
|
76
|
+
}
|
|
77
|
+
return Number(value) / scale;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=normalization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalization.js","sourceRoot":"","sources":["../../../src/utils/normalization.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { type Address, type Hex } from "viem";
|
|
2
|
+
export type OracleInfo = {
|
|
3
|
+
oracle: Address;
|
|
4
|
+
name: string;
|
|
5
|
+
adapters: OracleAdapterEntry[];
|
|
6
|
+
resolvedVaults: OracleResolvedVault[];
|
|
7
|
+
};
|
|
8
|
+
export type OracleDetailedInfo = {
|
|
9
|
+
oracle: Address;
|
|
10
|
+
name: string;
|
|
11
|
+
oracleInfo: Hex;
|
|
12
|
+
};
|
|
13
|
+
export interface OraclePrice {
|
|
14
|
+
queryFailure: boolean;
|
|
15
|
+
queryFailureReason: Hex;
|
|
16
|
+
amountIn: bigint;
|
|
17
|
+
amountOutMid: bigint;
|
|
18
|
+
amountOutBid: bigint;
|
|
19
|
+
amountOutAsk: bigint;
|
|
20
|
+
timestamp: number;
|
|
21
|
+
}
|
|
22
|
+
export type EulerRouterInfo = {
|
|
23
|
+
governor: Address;
|
|
24
|
+
fallbackOracle: Address;
|
|
25
|
+
fallbackOracleInfo: OracleDetailedInfo;
|
|
26
|
+
bases: Address[];
|
|
27
|
+
quotes: Address[];
|
|
28
|
+
resolvedAssets: Address[][];
|
|
29
|
+
resolvedOracles: Address[];
|
|
30
|
+
resolvedOraclesInfo: OracleDetailedInfo[];
|
|
31
|
+
};
|
|
32
|
+
export type CrossAdapterInfo = {
|
|
33
|
+
base: Address;
|
|
34
|
+
cross: Address;
|
|
35
|
+
quote: Address;
|
|
36
|
+
oracleBaseCross: Address;
|
|
37
|
+
oracleCrossQuote: Address;
|
|
38
|
+
oracleBaseCrossInfo: OracleDetailedInfo;
|
|
39
|
+
oracleCrossQuoteInfo: OracleDetailedInfo;
|
|
40
|
+
};
|
|
41
|
+
export type PythOracleInfo = {
|
|
42
|
+
pyth: Address;
|
|
43
|
+
base: Address;
|
|
44
|
+
quote: Address;
|
|
45
|
+
feedId: Hex;
|
|
46
|
+
maxStaleness: bigint;
|
|
47
|
+
maxConfWidth: bigint;
|
|
48
|
+
};
|
|
49
|
+
export type PythFeed = {
|
|
50
|
+
pythAddress: Address;
|
|
51
|
+
feedId: Hex;
|
|
52
|
+
};
|
|
53
|
+
export type OracleAdapterEntry = {
|
|
54
|
+
oracle: Address;
|
|
55
|
+
name: string;
|
|
56
|
+
base: Address;
|
|
57
|
+
quote: Address;
|
|
58
|
+
pythDetail?: PythOracleInfo;
|
|
59
|
+
chainlinkDetail?: {
|
|
60
|
+
oracle: Address;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* A vault-address price route configured on EulerRouter.
|
|
65
|
+
*
|
|
66
|
+
* Some routers price an ERC4626/EVault share token by resolving it to the
|
|
67
|
+
* vault's underlying asset path instead of using a leaf oracle adapter for the
|
|
68
|
+
* vault address itself. `resolvedAssets` is that unwrap chain, not necessarily
|
|
69
|
+
* the full price path to `quote`.
|
|
70
|
+
*
|
|
71
|
+
* vault: the base being priced, usually a collateral vault/share token address.
|
|
72
|
+
* quote: the target denomination, i.e. the EVault unitOfAccount.
|
|
73
|
+
* asset: the first underlying asset the router resolves the vault into.
|
|
74
|
+
* resolvedAssets: the recursive ERC4626 unwrap chain from vault toward something the router can price against quote.
|
|
75
|
+
*/
|
|
76
|
+
export type OracleResolvedVault = {
|
|
77
|
+
vault: Address;
|
|
78
|
+
quote: Address;
|
|
79
|
+
asset: Address;
|
|
80
|
+
resolvedAssets: Address[];
|
|
81
|
+
};
|
|
82
|
+
export declare function getOracleAdapterSortKey(adapter: OracleAdapterEntry): string;
|
|
83
|
+
export declare function sortOracleAdapters(adapters: OracleAdapterEntry[]): OracleAdapterEntry[];
|
|
84
|
+
export declare function sortOracleResolvedVaults(resolvedVaults: OracleResolvedVault[]): OracleResolvedVault[];
|
|
85
|
+
type OracleAdapterOptions = {
|
|
86
|
+
base?: Address;
|
|
87
|
+
quote?: Address;
|
|
88
|
+
leafOnly?: boolean;
|
|
89
|
+
};
|
|
90
|
+
export declare const decodeEulerRouterInfo: (oracleInfo: Hex | string | Uint8Array) => EulerRouterInfo | null;
|
|
91
|
+
export declare const decodeCrossAdapterInfo: (oracleInfo: Hex | string | Uint8Array) => CrossAdapterInfo | null;
|
|
92
|
+
export declare const decodePythOracleInfo: (oracleInfo: Hex | string | Uint8Array) => PythOracleInfo | null;
|
|
93
|
+
export declare const collectPythFeedIds: (oracleInfo: OracleDetailedInfo | null | undefined, maxDepth?: number) => PythFeed[];
|
|
94
|
+
export declare const decodeOracleInfo: (oracleInfo: OracleDetailedInfo | null | undefined, maxDepth?: number, options?: OracleAdapterOptions) => OracleAdapterEntry[];
|
|
95
|
+
export declare const decodeOracleResolvedVaults: (oracleInfo: OracleDetailedInfo | null | undefined, maxDepth?: number) => OracleResolvedVault[];
|
|
96
|
+
export declare const collectChainlinkOracles: (oracleInfo: OracleDetailedInfo | null | undefined, maxDepth?: number) => Address[];
|
|
97
|
+
/**
|
|
98
|
+
* Extract unique PythFeed entries from already-decoded oracle adapters.
|
|
99
|
+
* Use this instead of collectPythFeedIds when you have OracleAdapterEntry[] (e.g. from vault.oracle.adapters).
|
|
100
|
+
*/
|
|
101
|
+
export declare const collectPythFeedsFromAdapters: (adapters: OracleAdapterEntry[]) => PythFeed[];
|
|
102
|
+
/**
|
|
103
|
+
* Select adapters representing leaf pricing route(s) for a base->quote pair.
|
|
104
|
+
* Falls back to direct pair matches when no leaf route is found.
|
|
105
|
+
*/
|
|
106
|
+
export declare const selectLeafAdaptersForPair: (adapters: OracleAdapterEntry[], base: Address, quote: Address, maxDepth?: number) => OracleAdapterEntry[];
|
|
107
|
+
export {};
|