@gearbox-protocol/sdk 16.2.0 → 16.3.0-next.2
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/dist/cjs/abi/rwa/iMidasAccessControl.js +23 -0
- package/dist/cjs/abi/rwa/iMidasDegenNFT.js +92 -0
- package/dist/cjs/history/assembleOperations.js +3 -3
- package/dist/cjs/history/classifyMulticallOperations.js +7 -7
- package/dist/cjs/history/index.js +13 -0
- package/dist/cjs/history/parseCreditAccountTransaction.js +5 -5
- package/dist/cjs/{preview → history}/trace/errors.js +1 -1
- package/dist/cjs/{preview → history}/trace/extractAdapterCallTraces.js +1 -1
- package/dist/cjs/{preview → history}/trace/extractTransfers.js +3 -3
- package/dist/cjs/{preview → history}/trace/findFacadeCalls.js +3 -3
- package/dist/cjs/history/trace/index.js +14 -0
- package/dist/cjs/model/errors/index.js +37 -0
- package/dist/cjs/model/errors/liquidation-errors.js +32 -0
- package/dist/cjs/model/errors/operation-errors.js +135 -0
- package/dist/cjs/{onchain/market/oracle/errors.js → model/errors/oracle-errors.js} +1 -1
- package/dist/cjs/model/errors/prepare-errors.js +108 -0
- package/dist/cjs/model/errors/preview-errors.js +12 -0
- package/dist/cjs/model/index.js +45 -2
- package/dist/cjs/model/opportunities.schema.js +3 -1
- package/dist/cjs/model/positions.js +1 -1
- package/dist/cjs/model/result.js +0 -8
- package/dist/cjs/model/rwa.js +53 -0
- package/dist/cjs/model/rwa.schema.js +20 -0
- package/dist/cjs/offchain/opportunities/OffchainOpportunities.js +1 -1
- package/dist/cjs/onchain/accounts/index.js +0 -2
- package/dist/cjs/onchain/accounts/intents/guards.js +42 -66
- package/dist/cjs/onchain/accounts/intents/index.js +38 -35
- package/dist/cjs/onchain/accounts/intents/leverage-band.js +1 -1
- package/dist/cjs/onchain/accounts/intents/math.js +19 -15
- package/dist/cjs/onchain/accounts/intents/open-strategy.js +6 -4
- package/dist/cjs/onchain/accounts/intents/plan.js +52 -48
- package/dist/cjs/onchain/accounts/intents/realize.js +26 -24
- package/dist/cjs/onchain/accounts/intents/tail.js +15 -12
- package/dist/cjs/onchain/accounts/intents/testing/sdk-mock.js +7 -0
- package/dist/cjs/onchain/accounts/intents/tests/finish-withdraw.fixtures.js +6 -6
- package/dist/cjs/onchain/accounts/intents/tests/withdraw.fixtures.js +12 -12
- package/dist/cjs/onchain/accounts/intents/view.js +1 -1
- package/dist/cjs/onchain/accounts/liquidations/LiquidationsService.js +2 -2
- package/dist/cjs/onchain/accounts/withdrawal-compressor/index.js +0 -1
- package/dist/cjs/onchain/index.js +130 -38
- package/dist/cjs/onchain/market/MarketSuite.js +10 -4
- package/dist/cjs/onchain/market/adapters/index.js +1 -0
- package/dist/cjs/onchain/market/credit/CreditSuite.js +77 -15
- package/dist/cjs/onchain/market/index.js +8 -8
- package/dist/cjs/onchain/market/oracle/PriceOracleBaseContract.js +6 -6
- package/dist/cjs/onchain/market/oracle/index.js +0 -2
- package/dist/cjs/onchain/market/pool/PoolQuotaKeeperV310Contract.js +8 -0
- package/dist/cjs/onchain/market/rwa/RWARegistry.js +3 -2
- package/dist/cjs/onchain/market/rwa/createDegenNFT.js +53 -0
- package/dist/cjs/onchain/market/rwa/index.js +7 -5
- package/dist/cjs/onchain/market/rwa/midas/MidasDegenNFT.js +56 -0
- package/dist/cjs/onchain/market/rwa/midas/constants.js +2 -0
- package/dist/cjs/onchain/market/rwa/midas/index.js +3 -0
- package/dist/cjs/onchain/market/rwa/securitize/SecuritizeDegenNFT.js +22 -3
- package/dist/cjs/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +9 -9
- package/dist/cjs/onchain/market/rwa/securitize/constants.js +2 -2
- package/dist/cjs/onchain/market/rwa/securitize/index.js +4 -3
- package/dist/cjs/onchain/market/rwa/securitize/types.js +0 -29
- package/dist/cjs/onchain/market/rwa/types.js +0 -7
- package/dist/cjs/onchain/market/zapper/index.js +0 -1
- package/dist/cjs/onchain/opportunities/MultichainOpportunitiesService.js +2 -2
- package/dist/cjs/onchain/opportunities/OpportunitiesService.js +11 -3
- package/dist/cjs/onchain/pools/PoolService.js +10 -16
- package/dist/cjs/onchain/preview/index.js +41 -0
- package/dist/cjs/{preview → onchain/preview}/parse/classifyInnerOperations.js +2 -3
- package/dist/cjs/onchain/preview/parse/index.js +14 -0
- package/dist/cjs/{preview → onchain/preview}/parse/parseFacadeOperationCalldata.js +3 -3
- package/dist/cjs/{preview → onchain/preview}/parse/parseOperationCalldata.js +16 -17
- package/dist/cjs/{preview → onchain/preview}/parse/parsePoolOperationCalldata.js +3 -3
- package/dist/cjs/{preview → onchain/preview}/parse/parseRWAFactoryOperationCalldata.js +11 -12
- package/dist/cjs/{preview → onchain/preview}/parse/types.js +1 -1
- package/dist/cjs/{preview → onchain/preview}/preview/CreditAccountState.js +3 -4
- package/dist/cjs/{preview → onchain/preview}/preview/buildDelayedStrategyPositionOperationPreview.js +10 -11
- package/dist/cjs/{preview → onchain/preview}/preview/detectCloseOrRepay.js +2 -3
- package/dist/cjs/{preview → onchain/preview}/preview/detectDelayedClaim.js +4 -5
- package/dist/cjs/{preview → onchain/preview}/preview/detectDelayedOperation.js +5 -6
- package/dist/cjs/{preview → onchain/preview}/preview/estimateClaimableAt.js +1 -1
- package/dist/cjs/onchain/preview/preview/index.js +26 -0
- package/dist/cjs/{preview → onchain/preview}/preview/previewAdjustStrategyPosition.js +18 -22
- package/dist/cjs/{preview → onchain/preview}/preview/previewExitOrRepayStrategyPosition.js +22 -28
- package/dist/cjs/onchain/preview/preview/previewOpenStrategyPosition.js +60 -0
- package/dist/cjs/onchain/preview/preview/previewOperation.js +119 -0
- package/dist/cjs/{preview/simulate/simulatePoolOperation.js → onchain/preview/preview/previewPoolPositionOperation.js} +46 -32
- package/dist/cjs/onchain/preview/preview/replayInnerOperations.js +109 -0
- package/dist/cjs/onchain/preview/preview/replayMulticall.js +22 -0
- package/dist/cjs/{preview → onchain/preview}/preview/unwrapNativeCollateral.js +11 -14
- package/dist/cjs/onchain/validation/bundles/checkAccountQuotas.js +20 -0
- package/dist/cjs/onchain/validation/bundles/checkCollateralFunding.js +59 -0
- package/dist/cjs/onchain/validation/bundles/checkCreditOperation.js +65 -0
- package/dist/cjs/onchain/validation/bundles/checkDraw.js +28 -0
- package/dist/cjs/onchain/validation/bundles/checkHealthFactors.js +27 -0
- package/dist/cjs/onchain/validation/bundles/checkLiquidationEligibility.js +33 -0
- package/dist/cjs/onchain/validation/bundles/checkLiquidationFunding.js +29 -0
- package/dist/cjs/onchain/validation/bundles/checkMarket.js +24 -0
- package/dist/cjs/onchain/validation/bundles/checkObtained.js +13 -0
- package/dist/cjs/onchain/validation/bundles/checkPoolFunding.js +22 -0
- package/dist/cjs/onchain/validation/bundles/checkPoolOperation.js +35 -0
- package/dist/cjs/onchain/validation/bundles/checkQuotasAsked.js +20 -0
- package/dist/cjs/onchain/validation/bundles/checkRWAOpenRequirements.js +33 -0
- package/dist/cjs/onchain/validation/bundles/checkRWAOpening.js +24 -0
- package/dist/cjs/onchain/validation/bundles/checkWallet.js +22 -0
- package/dist/cjs/onchain/validation/bundles/checkWalletAllowance.js +32 -0
- package/dist/cjs/onchain/validation/bundles/checkWalletBalance.js +41 -0
- package/dist/cjs/onchain/validation/bundles/index.js +35 -0
- package/dist/cjs/onchain/validation/checkLiquidation.js +22 -0
- package/dist/cjs/onchain/validation/checkOperation.js +62 -0
- package/dist/cjs/onchain/validation/checkSimulation.js +60 -0
- package/dist/cjs/onchain/validation/checks/checkBorrowLimit.js +25 -0
- package/dist/cjs/onchain/validation/checks/checkCollateralised.js +26 -0
- package/dist/cjs/onchain/validation/checks/checkCreditAccountFrozen.js +10 -0
- package/dist/cjs/onchain/validation/checks/checkCreditManagerPaused.js +10 -0
- package/dist/cjs/onchain/validation/checks/checkDebtLimits.js +18 -0
- package/dist/cjs/onchain/validation/checks/checkEmergencyLiquidator.js +13 -0
- package/dist/cjs/onchain/validation/checks/checkForbiddenToken.js +10 -0
- package/dist/cjs/onchain/validation/checks/checkLeverage.js +13 -0
- package/dist/cjs/onchain/validation/checks/checkLiquidatorEligible.js +10 -0
- package/dist/cjs/onchain/validation/checks/checkMarketExpired.js +10 -0
- package/dist/cjs/onchain/validation/checks/checkPoolLiquidity.js +25 -0
- package/dist/cjs/onchain/validation/checks/checkPoolPaused.js +10 -0
- package/dist/cjs/onchain/validation/checks/checkPoolSunset.js +10 -0
- package/dist/cjs/onchain/validation/checks/checkQuotaCount.js +10 -0
- package/dist/cjs/onchain/validation/checks/checkQuotaLimit.js +18 -0
- package/dist/cjs/onchain/validation/checks/index.js +31 -0
- package/dist/cjs/onchain/validation/helpers/amount.js +12 -0
- package/dist/cjs/onchain/validation/helpers/health-factor-limits.js +25 -0
- package/dist/cjs/onchain/validation/helpers/index.js +11 -0
- package/dist/cjs/onchain/validation/{token.js → helpers/token.js} +4 -4
- package/dist/cjs/onchain/validation/index.js +85 -27
- package/dist/cjs/onchain/validation/raise.js +33 -0
- package/dist/cjs/sdk/index.js +6 -11
- package/dist/cjs/sdk/liquidations/LiquidationsNamespace.js +9 -0
- package/dist/cjs/sdk/opportunities/OpportunitiesNamespace.js +19 -4
- package/dist/cjs/sdk/prepare/PrepareApi.js +40 -50
- package/dist/cjs/sdk/prepare/index.js +7 -11
- package/dist/cjs/sdk/prepare/types.js +0 -4
- package/dist/cjs/sdk/preview/PreviewNamespace.js +24 -13
- package/dist/esm/abi/rwa/iMidasAccessControl.js +22 -0
- package/dist/esm/abi/rwa/iMidasDegenNFT.js +91 -0
- package/dist/esm/dev/AccountOpener.js +1 -1
- package/dist/esm/dev/withdrawalUtils.js +1 -1
- package/dist/esm/history/assembleOperations.js +2 -2
- package/dist/esm/history/classifyMulticallOperations.js +2 -2
- package/dist/esm/history/index.js +6 -1
- package/dist/esm/history/parseCreditAccountTransaction.js +3 -3
- package/dist/esm/{preview → history}/trace/errors.js +1 -1
- package/dist/esm/{preview → history}/trace/extractAdapterCallTraces.js +1 -1
- package/dist/esm/{preview → history}/trace/extractTransfers.js +2 -2
- package/dist/esm/{preview → history}/trace/findFacadeCalls.js +1 -1
- package/dist/esm/model/errors/index.js +7 -0
- package/dist/esm/model/errors/liquidation-errors.js +29 -0
- package/dist/esm/model/errors/operation-errors.js +121 -0
- package/dist/esm/{onchain/market/oracle/errors.js → model/errors/oracle-errors.js} +1 -1
- package/dist/esm/model/errors/prepare-errors.js +97 -0
- package/dist/esm/model/errors/preview-errors.js +11 -0
- package/dist/esm/model/index.js +10 -3
- package/dist/esm/model/opportunities.schema.js +3 -1
- package/dist/esm/model/positions.js +1 -1
- package/dist/esm/model/result.js +1 -8
- package/dist/esm/model/rwa.js +48 -0
- package/dist/esm/model/rwa.schema.js +18 -0
- package/dist/esm/offchain/opportunities/OffchainOpportunities.js +1 -1
- package/dist/esm/onchain/accounts/CreditAccountsServiceV310.js +2 -2
- package/dist/esm/onchain/accounts/index.js +1 -2
- package/dist/esm/onchain/accounts/intents/guards.js +29 -52
- package/dist/esm/onchain/accounts/intents/index.js +39 -35
- package/dist/esm/onchain/accounts/intents/leverage-band.js +1 -1
- package/dist/esm/onchain/accounts/intents/math.js +18 -14
- package/dist/esm/onchain/accounts/intents/open-strategy.js +8 -6
- package/dist/esm/onchain/accounts/intents/plan.js +51 -47
- package/dist/esm/onchain/accounts/intents/realize.js +26 -24
- package/dist/esm/onchain/accounts/intents/tail.js +14 -11
- package/dist/esm/onchain/accounts/intents/testing/sdk-mock.js +7 -0
- package/dist/esm/onchain/accounts/intents/tests/finish-withdraw.fixtures.js +6 -6
- package/dist/esm/onchain/accounts/intents/tests/withdraw.fixtures.js +12 -12
- package/dist/esm/onchain/accounts/intents/view.js +1 -1
- package/dist/esm/onchain/accounts/liquidations/LiquidationsService.js +3 -3
- package/dist/esm/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +1 -1
- package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +1 -1
- package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +1 -1
- package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +1 -1
- package/dist/esm/onchain/accounts/withdrawal-compressor/index.js +0 -1
- package/dist/esm/onchain/base/TokensMeta.js +3 -3
- package/dist/esm/onchain/core/createAddressProvider.js +1 -1
- package/dist/esm/onchain/index.js +64 -11
- package/dist/esm/onchain/market/MarketSuite.js +10 -4
- package/dist/esm/onchain/market/adapters/contracts/AccountMigratorAdapterContract.js +1 -1
- package/dist/esm/onchain/market/adapters/contracts/ERC4626AdapterContract.js +1 -1
- package/dist/esm/onchain/market/adapters/index.js +1 -0
- package/dist/esm/onchain/market/credit/CreditFacadeV310BaseContract.js +1 -1
- package/dist/esm/onchain/market/credit/CreditSuite.js +77 -15
- package/dist/esm/onchain/market/index.js +6 -6
- package/dist/esm/onchain/market/oracle/PriceOracleBaseContract.js +1 -1
- package/dist/esm/onchain/market/oracle/index.js +1 -2
- package/dist/esm/onchain/market/pool/PoolQuotaKeeperV310Contract.js +8 -0
- package/dist/esm/onchain/market/pool/PoolV310Contract.js +1 -1
- package/dist/esm/onchain/market/rwa/RWARegistry.js +2 -1
- package/dist/esm/onchain/market/rwa/createDegenNFT.js +52 -0
- package/dist/esm/onchain/market/rwa/index.js +6 -5
- package/dist/esm/onchain/market/rwa/midas/MidasDegenNFT.js +55 -0
- package/dist/esm/onchain/market/rwa/midas/constants.js +2 -1
- package/dist/esm/onchain/market/rwa/midas/index.js +3 -2
- package/dist/esm/onchain/market/rwa/securitize/SecuritizeDegenNFT.js +20 -2
- package/dist/esm/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +4 -4
- package/dist/esm/onchain/market/rwa/securitize/constants.js +2 -2
- package/dist/esm/onchain/market/rwa/securitize/index.js +4 -3
- package/dist/esm/onchain/market/rwa/securitize/types.js +1 -29
- package/dist/esm/onchain/market/rwa/types.js +1 -7
- package/dist/esm/onchain/market/zapper/IETHZapperContract.js +1 -1
- package/dist/esm/onchain/market/zapper/ZapperContract.js +1 -1
- package/dist/esm/onchain/market/zapper/index.js +0 -1
- package/dist/esm/onchain/opportunities/MultichainOpportunitiesService.js +2 -2
- package/dist/esm/onchain/opportunities/OpportunitiesService.js +11 -3
- package/dist/esm/onchain/pools/PoolService.js +10 -16
- package/dist/esm/onchain/preview/index.js +20 -0
- package/dist/esm/{preview → onchain/preview}/parse/classifyInnerOperations.js +2 -3
- package/dist/esm/{preview → onchain/preview}/parse/index.js +0 -1
- package/dist/esm/{preview → onchain/preview}/parse/parseFacadeOperationCalldata.js +1 -1
- package/dist/esm/{preview → onchain/preview}/parse/parseOperationCalldata.js +10 -11
- package/dist/esm/{preview → onchain/preview}/parse/parsePoolOperationCalldata.js +3 -3
- package/dist/esm/{preview → onchain/preview}/parse/parseRWAFactoryOperationCalldata.js +8 -9
- package/dist/esm/{preview → onchain/preview}/parse/types.js +1 -1
- package/dist/esm/{preview → onchain/preview}/preview/CreditAccountState.js +3 -4
- package/dist/esm/{preview → onchain/preview}/preview/buildDelayedStrategyPositionOperationPreview.js +10 -11
- package/dist/esm/{preview → onchain/preview}/preview/detectCloseOrRepay.js +2 -3
- package/dist/esm/{preview → onchain/preview}/preview/detectDelayedClaim.js +4 -5
- package/dist/esm/{preview → onchain/preview}/preview/detectDelayedOperation.js +5 -6
- package/dist/esm/{preview → onchain/preview}/preview/estimateClaimableAt.js +1 -1
- package/dist/esm/{preview → onchain/preview}/preview/index.js +3 -4
- package/dist/esm/{preview → onchain/preview}/preview/previewAdjustStrategyPosition.js +17 -21
- package/dist/esm/{preview → onchain/preview}/preview/previewExitOrRepayStrategyPosition.js +20 -26
- package/dist/esm/{preview → onchain/preview}/preview/previewOpenStrategyPosition.js +25 -15
- package/dist/esm/{preview → onchain/preview}/preview/previewOperation.js +54 -35
- package/dist/esm/{preview/simulate/simulatePoolOperation.js → onchain/preview/preview/previewPoolPositionOperation.js} +46 -30
- package/dist/esm/onchain/preview/preview/replayInnerOperations.js +107 -0
- package/dist/esm/onchain/preview/preview/replayMulticall.js +21 -0
- package/dist/esm/{preview → onchain/preview}/preview/unwrapNativeCollateral.js +11 -14
- package/dist/esm/onchain/utils/viem/simulateWithPriceUpdates.js +1 -1
- package/dist/esm/onchain/validation/bundles/checkAccountQuotas.js +19 -0
- package/dist/esm/onchain/validation/bundles/checkCollateralFunding.js +58 -0
- package/dist/esm/onchain/validation/bundles/checkCreditOperation.js +64 -0
- package/dist/esm/onchain/validation/bundles/checkDraw.js +27 -0
- package/dist/esm/onchain/validation/bundles/checkHealthFactors.js +26 -0
- package/dist/esm/onchain/validation/bundles/checkLiquidationEligibility.js +32 -0
- package/dist/esm/onchain/validation/bundles/checkLiquidationFunding.js +28 -0
- package/dist/esm/onchain/validation/bundles/checkMarket.js +23 -0
- package/dist/esm/onchain/validation/bundles/checkObtained.js +12 -0
- package/dist/esm/onchain/validation/bundles/checkPoolFunding.js +21 -0
- package/dist/esm/onchain/validation/bundles/checkPoolOperation.js +34 -0
- package/dist/esm/onchain/validation/bundles/checkQuotasAsked.js +19 -0
- package/dist/esm/onchain/validation/bundles/checkRWAOpenRequirements.js +32 -0
- package/dist/esm/onchain/validation/bundles/checkRWAOpening.js +23 -0
- package/dist/esm/onchain/validation/bundles/checkWallet.js +21 -0
- package/dist/esm/onchain/validation/bundles/checkWalletAllowance.js +31 -0
- package/dist/esm/onchain/validation/bundles/checkWalletBalance.js +40 -0
- package/dist/esm/onchain/validation/bundles/index.js +18 -0
- package/dist/esm/onchain/validation/checkLiquidation.js +21 -0
- package/dist/esm/onchain/validation/checkOperation.js +61 -0
- package/dist/esm/onchain/validation/checkSimulation.js +59 -0
- package/dist/esm/onchain/validation/checks/checkBorrowLimit.js +24 -0
- package/dist/esm/onchain/validation/checks/checkCollateralised.js +25 -0
- package/dist/esm/onchain/validation/checks/checkCreditAccountFrozen.js +9 -0
- package/dist/esm/onchain/validation/checks/checkCreditManagerPaused.js +9 -0
- package/dist/esm/onchain/validation/checks/checkDebtLimits.js +17 -0
- package/dist/esm/onchain/validation/checks/checkEmergencyLiquidator.js +12 -0
- package/dist/esm/onchain/validation/checks/checkForbiddenToken.js +9 -0
- package/dist/esm/onchain/validation/checks/checkLeverage.js +12 -0
- package/dist/esm/onchain/validation/checks/checkLiquidatorEligible.js +9 -0
- package/dist/esm/onchain/validation/checks/checkMarketExpired.js +9 -0
- package/dist/esm/onchain/validation/checks/checkPoolLiquidity.js +24 -0
- package/dist/esm/onchain/validation/checks/checkPoolPaused.js +9 -0
- package/dist/esm/onchain/validation/checks/checkPoolSunset.js +9 -0
- package/dist/esm/onchain/validation/checks/checkQuotaCount.js +9 -0
- package/dist/esm/onchain/validation/checks/checkQuotaLimit.js +17 -0
- package/dist/esm/onchain/validation/checks/index.js +16 -0
- package/dist/esm/onchain/validation/helpers/amount.js +11 -0
- package/dist/esm/onchain/validation/helpers/health-factor-limits.js +21 -0
- package/dist/esm/onchain/validation/helpers/index.js +4 -0
- package/dist/esm/onchain/validation/{token.js → helpers/token.js} +3 -3
- package/dist/esm/onchain/validation/index.js +43 -4
- package/dist/esm/onchain/validation/raise.js +31 -0
- package/dist/esm/sdk/index.js +2 -3
- package/dist/esm/sdk/liquidations/LiquidationsNamespace.js +9 -0
- package/dist/esm/sdk/opportunities/OpportunitiesNamespace.js +19 -4
- package/dist/esm/sdk/prepare/PrepareApi.js +25 -35
- package/dist/esm/sdk/prepare/index.js +3 -3
- package/dist/esm/sdk/prepare/types.js +1 -2
- package/dist/esm/sdk/preview/PreviewNamespace.js +24 -13
- package/dist/types/abi/rwa/iMidasAccessControl.d.ts +22 -0
- package/dist/types/abi/rwa/iMidasDegenNFT.d.ts +82 -0
- package/dist/types/history/assembleOperations.d.ts +4 -5
- package/dist/types/history/classifyMulticallOperations.d.ts +3 -4
- package/dist/types/history/index.d.ts +8 -2
- package/dist/types/history/mapOperations.d.ts +1 -1
- package/dist/types/{preview → history}/trace/errors.d.ts +1 -1
- package/dist/types/{preview → history}/trace/extractAdapterCallTraces.d.ts +1 -1
- package/dist/types/{preview → history}/trace/extractTransfers.d.ts +2 -3
- package/dist/types/{preview → history}/trace/findFacadeCalls.d.ts +1 -1
- package/dist/types/{preview → history}/trace/types.d.ts +1 -1
- package/dist/types/history/types.d.ts +2 -3
- package/dist/types/model/errors/base.d.ts +28 -0
- package/dist/types/model/errors/index.d.ts +7 -0
- package/dist/types/model/errors/liquidation-errors.d.ts +45 -0
- package/dist/types/model/errors/operation-errors.d.ts +216 -0
- package/dist/types/{onchain/market/oracle/errors.d.ts → model/errors/oracle-errors.d.ts} +3 -5
- package/dist/types/model/errors/prepare-errors.d.ts +131 -0
- package/dist/types/model/errors/preview-errors.d.ts +72 -0
- package/dist/types/model/index.d.ts +12 -4
- package/dist/types/model/opportunities.d.ts +12 -2
- package/dist/types/model/opportunities.schema.d.ts +30 -0
- package/dist/types/model/positions.d.ts +2 -2
- package/dist/types/model/previews.d.ts +52 -113
- package/dist/types/model/result.d.ts +4 -8
- package/dist/types/model/rwa.d.ts +167 -0
- package/dist/types/model/rwa.schema.d.ts +29 -0
- package/dist/types/offchain/opportunities/OffchainOpportunities.d.ts +2 -1
- package/dist/types/offchain/opportunities/types.d.ts +4 -1
- package/dist/types/onchain/accounts/CreditAccountsServiceV310.d.ts +3 -1
- package/dist/types/onchain/accounts/index.d.ts +2 -4
- package/dist/types/onchain/accounts/intents/guards.d.ts +8 -18
- package/dist/types/onchain/accounts/intents/index.d.ts +20 -19
- package/dist/types/onchain/accounts/intents/leverage-band.d.ts +1 -1
- package/dist/types/onchain/accounts/intents/math.d.ts +6 -6
- package/dist/types/onchain/accounts/intents/operations.d.ts +2 -2
- package/dist/types/onchain/accounts/intents/plan.d.ts +9 -9
- package/dist/types/onchain/accounts/intents/tail.d.ts +2 -2
- package/dist/types/onchain/accounts/intents/testing/expect.d.ts +3 -3
- package/dist/types/onchain/accounts/intents/tests/finish-withdraw.fixtures.d.ts +6 -6
- package/dist/types/onchain/accounts/intents/tests/withdraw.fixtures.d.ts +12 -12
- package/dist/types/onchain/accounts/intents/types.d.ts +32 -30
- package/dist/types/onchain/accounts/types.d.ts +2 -1
- package/dist/types/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.d.ts +1 -1
- package/dist/types/onchain/accounts/withdrawal-compressor/index.d.ts +1 -2
- package/dist/types/onchain/accounts/withdrawal-compressor/types.d.ts +1 -1
- package/dist/types/onchain/index.d.ts +73 -16
- package/dist/types/onchain/market/MarketSuite.d.ts +5 -1
- package/dist/types/onchain/market/adapters/index.d.ts +2 -1
- package/dist/types/onchain/market/adapters/transfers.d.ts +0 -7
- package/dist/types/onchain/market/credit/CreditSuite.d.ts +30 -8
- package/dist/types/onchain/market/credit/index.d.ts +2 -2
- package/dist/types/onchain/market/credit/types.d.ts +11 -1
- package/dist/types/onchain/market/index.d.ts +11 -10
- package/dist/types/onchain/market/oracle/PriceOracleBaseContract.d.ts +1 -1
- package/dist/types/onchain/market/oracle/index.d.ts +1 -2
- package/dist/types/onchain/market/oracle/types.d.ts +1 -1
- package/dist/types/onchain/market/pool/PoolQuotaKeeperV310Contract.d.ts +5 -0
- package/dist/types/onchain/market/rwa/RWARegistry.d.ts +1 -1
- package/dist/types/onchain/market/rwa/createDegenNFT.d.ts +12 -0
- package/dist/types/onchain/market/rwa/index.d.ts +10 -8
- package/dist/types/onchain/market/rwa/midas/MidasDegenNFT.d.ts +98 -0
- package/dist/types/onchain/market/rwa/midas/constants.d.ts +2 -1
- package/dist/types/onchain/market/rwa/midas/index.d.ts +3 -2
- package/dist/types/onchain/market/rwa/securitize/SecuritizeDegenNFT.d.ts +8 -2
- package/dist/types/onchain/market/rwa/securitize/SecuritizeRWAFactory.d.ts +4 -3
- package/dist/types/onchain/market/rwa/securitize/constants.d.ts +2 -2
- package/dist/types/onchain/market/rwa/securitize/index.d.ts +5 -4
- package/dist/types/onchain/market/rwa/securitize/types.d.ts +4 -110
- package/dist/types/onchain/market/rwa/types.d.ts +24 -32
- package/dist/types/onchain/market/zapper/ZapperContract.d.ts +1 -1
- package/dist/types/onchain/market/zapper/index.d.ts +1 -2
- package/dist/types/onchain/market/zapper/types.d.ts +1 -1
- package/dist/types/onchain/opportunities/MultichainOpportunitiesService.d.ts +2 -1
- package/dist/types/onchain/opportunities/OpportunitiesService.d.ts +5 -1
- package/dist/types/onchain/opportunities/types.d.ts +3 -2
- package/dist/types/onchain/pools/types.d.ts +2 -2
- package/dist/types/onchain/preview/index.d.ts +24 -0
- package/dist/types/{preview → onchain/preview}/parse/classifyInnerOperations.d.ts +4 -4
- package/dist/types/{preview → onchain/preview}/parse/index.d.ts +2 -4
- package/dist/types/{preview → onchain/preview}/parse/parseFacadeOperationCalldata.d.ts +4 -4
- package/dist/types/onchain/preview/parse/parseOperationCalldata.d.ts +18 -0
- package/dist/types/{preview → onchain/preview}/parse/parsePoolOperationCalldata.d.ts +7 -7
- package/dist/types/{preview → onchain/preview}/parse/parseRWAFactoryOperationCalldata.d.ts +4 -4
- package/dist/types/{preview → onchain/preview}/parse/types-adapters.d.ts +5 -16
- package/dist/types/{preview → onchain/preview}/parse/types-facades.d.ts +3 -3
- package/dist/types/{preview → onchain/preview}/parse/types-pools.d.ts +1 -1
- package/dist/types/{preview → onchain/preview}/parse/types-rwa.d.ts +3 -3
- package/dist/types/{preview → onchain/preview}/parse/types.d.ts +3 -3
- package/dist/types/{preview → onchain/preview}/preview/CreditAccountState.d.ts +5 -5
- package/dist/types/{preview → onchain/preview}/preview/buildDelayedStrategyPositionOperationPreview.d.ts +5 -5
- package/dist/types/{preview → onchain/preview}/preview/detectCloseOrRepay.d.ts +1 -1
- package/dist/types/{preview → onchain/preview}/preview/detectDelayedClaim.d.ts +8 -8
- package/dist/types/{preview → onchain/preview}/preview/detectDelayedOperation.d.ts +9 -9
- package/dist/types/{preview → onchain/preview}/preview/estimateClaimableAt.d.ts +6 -6
- package/dist/types/{preview → onchain/preview}/preview/index.d.ts +3 -4
- package/dist/types/onchain/preview/preview/previewAdjustStrategyPosition.d.ts +20 -0
- package/dist/types/onchain/preview/preview/previewExitOrRepayStrategyPosition.d.ts +21 -0
- package/dist/types/onchain/preview/preview/previewOpenStrategyPosition.d.ts +14 -0
- package/dist/types/onchain/preview/preview/previewOperation.d.ts +32 -0
- package/dist/types/onchain/preview/preview/previewPoolPositionOperation.d.ts +13 -0
- package/dist/types/{preview → onchain/preview}/preview/replayInnerOperations.d.ts +11 -11
- package/dist/types/{preview → onchain/preview}/preview/replayMulticall.d.ts +10 -10
- package/dist/types/{preview → onchain/preview}/preview/unwrapNativeCollateral.d.ts +10 -20
- package/dist/types/onchain/validation/bundles/checkAccountQuotas.d.ts +16 -0
- package/dist/types/onchain/validation/bundles/checkCollateralFunding.d.ts +22 -0
- package/dist/types/onchain/validation/bundles/checkCreditOperation.d.ts +31 -0
- package/dist/types/onchain/validation/bundles/checkDraw.d.ts +20 -0
- package/dist/types/onchain/validation/bundles/checkHealthFactors.d.ts +39 -0
- package/dist/types/onchain/validation/bundles/checkLiquidationEligibility.d.ts +20 -0
- package/dist/types/onchain/validation/bundles/checkLiquidationFunding.d.ts +18 -0
- package/dist/types/onchain/validation/bundles/checkMarket.d.ts +15 -0
- package/dist/types/onchain/validation/bundles/checkObtained.d.ts +9 -0
- package/dist/types/onchain/validation/bundles/checkPoolFunding.d.ts +19 -0
- package/dist/types/onchain/validation/bundles/checkPoolOperation.d.ts +31 -0
- package/dist/types/onchain/validation/bundles/checkQuotasAsked.d.ts +10 -0
- package/dist/types/onchain/validation/bundles/checkRWAOpenRequirements.d.ts +21 -0
- package/dist/types/onchain/validation/bundles/checkRWAOpening.d.ts +19 -0
- package/dist/types/onchain/validation/bundles/checkWallet.d.ts +23 -0
- package/dist/types/onchain/validation/bundles/checkWalletAllowance.d.ts +18 -0
- package/dist/types/onchain/validation/bundles/checkWalletBalance.d.ts +17 -0
- package/dist/types/onchain/validation/bundles/index.d.ts +18 -0
- package/dist/types/onchain/validation/checkLiquidation.d.ts +23 -0
- package/dist/types/onchain/validation/checkOperation.d.ts +32 -0
- package/dist/types/onchain/validation/checkSimulation.d.ts +56 -0
- package/dist/types/onchain/validation/checks/checkBorrowLimit.d.ts +21 -0
- package/dist/types/onchain/validation/checks/checkCollateralised.d.ts +25 -0
- package/dist/types/onchain/validation/checks/checkCreditAccountFrozen.d.ts +12 -0
- package/dist/types/onchain/validation/checks/checkCreditManagerPaused.d.ts +12 -0
- package/dist/types/onchain/validation/checks/checkDebtLimits.d.ts +21 -0
- package/dist/types/onchain/validation/checks/checkEmergencyLiquidator.d.ts +17 -0
- package/dist/types/onchain/validation/checks/checkForbiddenToken.d.ts +12 -0
- package/dist/types/onchain/validation/checks/checkLeverage.d.ts +12 -0
- package/dist/types/onchain/validation/checks/checkLiquidatorEligible.d.ts +13 -0
- package/dist/types/onchain/validation/checks/checkMarketExpired.d.ts +14 -0
- package/dist/types/onchain/validation/checks/checkPoolLiquidity.d.ts +20 -0
- package/dist/types/onchain/validation/checks/checkPoolPaused.d.ts +12 -0
- package/dist/types/onchain/validation/checks/checkPoolSunset.d.ts +13 -0
- package/dist/types/onchain/validation/checks/checkQuotaCount.d.ts +11 -0
- package/dist/types/onchain/validation/checks/checkQuotaLimit.d.ts +18 -0
- package/dist/types/onchain/validation/checks/index.d.ts +16 -0
- package/dist/types/onchain/validation/helpers/amount.d.ts +7 -0
- package/dist/types/onchain/validation/helpers/health-factor-limits.d.ts +21 -0
- package/dist/types/onchain/validation/helpers/index.d.ts +4 -0
- package/dist/types/onchain/validation/{token.d.ts → helpers/token.d.ts} +4 -4
- package/dist/types/onchain/validation/index.d.ts +43 -4
- package/dist/types/onchain/validation/raise.d.ts +33 -0
- package/dist/types/sdk/execute/types.d.ts +2 -2
- package/dist/types/sdk/index.d.ts +5 -6
- package/dist/types/sdk/liquidations/LiquidationsNamespace.d.ts +5 -0
- package/dist/types/sdk/liquidations/types.d.ts +8 -0
- package/dist/types/sdk/opportunities/OpportunitiesNamespace.d.ts +2 -1
- package/dist/types/sdk/opportunities/types.d.ts +8 -2
- package/dist/types/sdk/prepare/PrepareApi.d.ts +5 -4
- package/dist/types/sdk/prepare/index.d.ts +5 -5
- package/dist/types/sdk/prepare/types.d.ts +41 -22
- package/dist/types/sdk/preview/PreviewNamespace.d.ts +13 -3
- package/dist/types/sdk/preview/index.d.ts +2 -2
- package/dist/types/sdk/preview/types.d.ts +30 -7
- package/package.json +1 -6
- package/dist/cjs/onchain/accounts/withdrawal-compressor/errors.js +0 -1
- package/dist/cjs/onchain/market/zapper/errors.js +0 -1
- package/dist/cjs/onchain/validation/checks.js +0 -258
- package/dist/cjs/onchain/validation/refusal.js +0 -39
- package/dist/cjs/preview/index.js +0 -86
- package/dist/cjs/preview/package.json +0 -1
- package/dist/cjs/preview/parse/errors.js +0 -1
- package/dist/cjs/preview/parse/index.js +0 -15
- package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +0 -38
- package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +0 -52
- package/dist/cjs/preview/prerequisites/Prerequisite.js +0 -52
- package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +0 -53
- package/dist/cjs/preview/prerequisites/buildCollateralPrerequisites.js +0 -63
- package/dist/cjs/preview/prerequisites/buildPartialLiquidationPrerequisites.js +0 -19
- package/dist/cjs/preview/prerequisites/buildPoolPrerequisites.js +0 -76
- package/dist/cjs/preview/prerequisites/buildRWAPrerequisites.js +0 -39
- package/dist/cjs/preview/prerequisites/checkPrerequisites.js +0 -74
- package/dist/cjs/preview/prerequisites/helpers.js +0 -23
- package/dist/cjs/preview/prerequisites/index.js +0 -12
- package/dist/cjs/preview/preview/errors.js +0 -85
- package/dist/cjs/preview/preview/index.js +0 -33
- package/dist/cjs/preview/preview/previewOpenStrategyPosition.js +0 -50
- package/dist/cjs/preview/preview/previewOperation.js +0 -100
- package/dist/cjs/preview/preview/previewPoolPositionOperation.js +0 -49
- package/dist/cjs/preview/preview/replayInnerOperations.js +0 -109
- package/dist/cjs/preview/preview/replayMulticall.js +0 -19
- package/dist/cjs/preview/simulate/errors.js +0 -73
- package/dist/cjs/preview/simulate/index.js +0 -11
- package/dist/cjs/preview/simulate/simulateFacadeOperation.js +0 -15
- package/dist/cjs/preview/simulate/simulateOperation.js +0 -29
- package/dist/cjs/preview/simulate/simulateRWAOperation.js +0 -15
- package/dist/cjs/preview/simulate/types.js +0 -1
- package/dist/cjs/preview/trace/index.js +0 -14
- package/dist/cjs/preview/trace/types.js +0 -1
- package/dist/cjs/preview/types.js +0 -1
- package/dist/cjs/preview/validate/checkOperation.js +0 -187
- package/dist/cjs/preview/validate/checkSimulation.js +0 -39
- package/dist/cjs/preview/validate/index.js +0 -8
- package/dist/cjs/sdk/prepare/errors.js +0 -114
- package/dist/esm/onchain/accounts/withdrawal-compressor/errors.js +0 -1
- package/dist/esm/onchain/market/zapper/errors.js +0 -1
- package/dist/esm/onchain/validation/checks.js +0 -238
- package/dist/esm/onchain/validation/refusal.js +0 -36
- package/dist/esm/preview/index.js +0 -38
- package/dist/esm/preview/package.json +0 -1
- package/dist/esm/preview/parse/errors.js +0 -1
- package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +0 -37
- package/dist/esm/preview/prerequisites/BalancePrerequisite.js +0 -51
- package/dist/esm/preview/prerequisites/Prerequisite.js +0 -51
- package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +0 -52
- package/dist/esm/preview/prerequisites/buildCollateralPrerequisites.js +0 -62
- package/dist/esm/preview/prerequisites/buildPartialLiquidationPrerequisites.js +0 -18
- package/dist/esm/preview/prerequisites/buildPoolPrerequisites.js +0 -75
- package/dist/esm/preview/prerequisites/buildRWAPrerequisites.js +0 -38
- package/dist/esm/preview/prerequisites/checkPrerequisites.js +0 -73
- package/dist/esm/preview/prerequisites/helpers.js +0 -22
- package/dist/esm/preview/prerequisites/index.js +0 -7
- package/dist/esm/preview/preview/errors.js +0 -79
- package/dist/esm/preview/preview/previewPoolPositionOperation.js +0 -48
- package/dist/esm/preview/preview/replayInnerOperations.js +0 -107
- package/dist/esm/preview/preview/replayMulticall.js +0 -18
- package/dist/esm/preview/simulate/errors.js +0 -71
- package/dist/esm/preview/simulate/index.js +0 -6
- package/dist/esm/preview/simulate/simulateFacadeOperation.js +0 -14
- package/dist/esm/preview/simulate/simulateOperation.js +0 -28
- package/dist/esm/preview/simulate/simulateRWAOperation.js +0 -14
- package/dist/esm/preview/simulate/types.js +0 -1
- package/dist/esm/preview/trace/types.js +0 -1
- package/dist/esm/preview/types.js +0 -1
- package/dist/esm/preview/validate/checkOperation.js +0 -183
- package/dist/esm/preview/validate/checkSimulation.js +0 -38
- package/dist/esm/preview/validate/index.js +0 -3
- package/dist/esm/sdk/prepare/errors.js +0 -108
- package/dist/types/model/errors.d.ts +0 -46
- package/dist/types/onchain/accounts/withdrawal-compressor/errors.d.ts +0 -20
- package/dist/types/onchain/market/zapper/errors.d.ts +0 -18
- package/dist/types/onchain/validation/checks.d.ts +0 -164
- package/dist/types/onchain/validation/refusal.d.ts +0 -242
- package/dist/types/preview/index.d.ts +0 -47
- package/dist/types/preview/parse/errors.d.ts +0 -29
- package/dist/types/preview/parse/parseOperationCalldata.d.ts +0 -18
- package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +0 -26
- package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +0 -29
- package/dist/types/preview/prerequisites/Prerequisite.d.ts +0 -26
- package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +0 -55
- package/dist/types/preview/prerequisites/buildCollateralPrerequisites.d.ts +0 -20
- package/dist/types/preview/prerequisites/buildPartialLiquidationPrerequisites.d.ts +0 -12
- package/dist/types/preview/prerequisites/buildPoolPrerequisites.d.ts +0 -12
- package/dist/types/preview/prerequisites/buildRWAPrerequisites.d.ts +0 -26
- package/dist/types/preview/prerequisites/checkPrerequisites.d.ts +0 -28
- package/dist/types/preview/prerequisites/helpers.d.ts +0 -10
- package/dist/types/preview/prerequisites/index.d.ts +0 -7
- package/dist/types/preview/prerequisites/types.d.ts +0 -53
- package/dist/types/preview/preview/errors.d.ts +0 -44
- package/dist/types/preview/preview/previewAdjustStrategyPosition.d.ts +0 -19
- package/dist/types/preview/preview/previewExitOrRepayStrategyPosition.d.ts +0 -18
- package/dist/types/preview/preview/previewOpenStrategyPosition.d.ts +0 -12
- package/dist/types/preview/preview/previewOperation.d.ts +0 -32
- package/dist/types/preview/preview/previewPoolPositionOperation.d.ts +0 -13
- package/dist/types/preview/simulate/errors.d.ts +0 -52
- package/dist/types/preview/simulate/index.d.ts +0 -7
- package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +0 -16
- package/dist/types/preview/simulate/simulateOperation.d.ts +0 -12
- package/dist/types/preview/simulate/simulatePoolOperation.d.ts +0 -42
- package/dist/types/preview/simulate/simulateRWAOperation.d.ts +0 -16
- package/dist/types/preview/simulate/types.d.ts +0 -48
- package/dist/types/preview/types.d.ts +0 -65
- package/dist/types/preview/validate/checkOperation.d.ts +0 -71
- package/dist/types/preview/validate/checkSimulation.d.ts +0 -32
- package/dist/types/preview/validate/index.d.ts +0 -3
- package/dist/types/sdk/prepare/errors.d.ts +0 -343
- /package/dist/cjs/{preview/prerequisites → history/trace}/types.js +0 -0
- /package/dist/cjs/model/{errors.js → errors/base.js} +0 -0
- /package/dist/cjs/{preview → onchain/preview}/parse/types-adapters.js +0 -0
- /package/dist/cjs/{preview → onchain/preview}/parse/types-facades.js +0 -0
- /package/dist/cjs/{preview → onchain/preview}/parse/types-pools.js +0 -0
- /package/dist/cjs/{preview → onchain/preview}/parse/types-rwa.js +0 -0
- /package/dist/esm/{preview → history}/trace/index.js +0 -0
- /package/dist/esm/{preview/prerequisites → history/trace}/types.js +0 -0
- /package/dist/esm/model/{errors.js → errors/base.js} +0 -0
- /package/dist/esm/{preview → onchain/preview}/parse/types-adapters.js +0 -0
- /package/dist/esm/{preview → onchain/preview}/parse/types-facades.js +0 -0
- /package/dist/esm/{preview → onchain/preview}/parse/types-pools.js +0 -0
- /package/dist/esm/{preview → onchain/preview}/parse/types-rwa.js +0 -0
- /package/dist/types/{preview → history}/trace/index.d.ts +0 -0
|
@@ -4,12 +4,12 @@ import "../utils/index.js";
|
|
|
4
4
|
import { SDKConstruct } from "../base/SDKConstruct.js";
|
|
5
5
|
import "../base/index.js";
|
|
6
6
|
import { rayToBps } from "./math.js";
|
|
7
|
-
import { CreditSuite } from "./credit/CreditSuite.js";
|
|
8
|
-
import "./credit/index.js";
|
|
9
|
-
import { MarketConfiguratorContract } from "./MarketConfiguratorContract.js";
|
|
10
7
|
import { isFilterSet } from "../../model/filters.js";
|
|
11
8
|
import { matchesOpportunityFilter } from "../../model/opportunities.js";
|
|
12
9
|
import "../../model/index.js";
|
|
10
|
+
import { CreditSuite } from "./credit/CreditSuite.js";
|
|
11
|
+
import "./credit/index.js";
|
|
12
|
+
import { MarketConfiguratorContract } from "./MarketConfiguratorContract.js";
|
|
13
13
|
import { createLossPolicy } from "./loss-policy/createLossPolicy.js";
|
|
14
14
|
import "./loss-policy/index.js";
|
|
15
15
|
import { createPriceOracle } from "./oracle/createPriceOracle.js";
|
|
@@ -136,7 +136,7 @@ var MarketSuite = class extends SDKConstruct {
|
|
|
136
136
|
}
|
|
137
137
|
/**
|
|
138
138
|
* Prices a figure already denominated in this market's underlying — a debt,
|
|
139
|
-
* a TVL, a
|
|
139
|
+
* a TVL, a withdrawal — as the read model reports one.
|
|
140
140
|
*
|
|
141
141
|
* The token it names is {@link underlyingToken}, so an amount coming out of a
|
|
142
142
|
* preview or a simulation carries the same identity as the one on a
|
|
@@ -193,6 +193,12 @@ var MarketSuite = class extends SDKConstruct {
|
|
|
193
193
|
return isSunsetPool(this.pool.pool.address, this.sdk.networkType);
|
|
194
194
|
}
|
|
195
195
|
/**
|
|
196
|
+
* Whether `sender` may liquidate a paused facade of this market.
|
|
197
|
+
*/
|
|
198
|
+
isEmergencyLiquidator(sender) {
|
|
199
|
+
return this.state.emergencyLiquidators.some((a) => isAddressEqual(a, sender));
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
196
202
|
* Quota configuration of every token the market quotes: how much of it the
|
|
197
203
|
* market accepts in total, and what holding it costs.
|
|
198
204
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
2
1
|
import { accountMigratorAbi } from "../../../../abi/AccountMigrator.js";
|
|
2
|
+
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
3
3
|
//#region src/onchain/market/adapters/contracts/AccountMigratorAdapterContract.ts
|
|
4
4
|
const abi = accountMigratorAbi;
|
|
5
5
|
const protocolAbi = accountMigratorAbi;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { ierc4626AdapterAbi } from "../../../../abi/ierc4626Adapter.js";
|
|
1
2
|
import { MissingSerializedParamsError } from "../../../base/errors.js";
|
|
2
3
|
import "../../../base/index.js";
|
|
3
|
-
import { ierc4626AdapterAbi } from "../../../../abi/ierc4626Adapter.js";
|
|
4
4
|
import { iERC4626Abi } from "../abi/targetContractAbi.js";
|
|
5
5
|
import { fnSigToName, swapFromTransfers } from "../transferHelpers.js";
|
|
6
6
|
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
@@ -86,4 +86,5 @@ import { WstETHV1AdapterContract } from "./contracts/WstETHV1AdapterContract.js"
|
|
|
86
86
|
import "./contracts/index.js";
|
|
87
87
|
import { createAdapter } from "./createAdapter.js";
|
|
88
88
|
import "./legacyAdapterOperations.js";
|
|
89
|
+
import "./transfers.js";
|
|
89
90
|
export { AbstractAdapterContract, AccountMigratorAdapterContract, AdapterType, BalancerV3PoolStatus, BalancerV3RouterAdapterContract, BalancerV3WrapperAdapterContract, CamelotV3AdapterContract, ConvexV1BaseRewardPoolAdapterContract, ConvexV1BoosterAdapterContract, Curve2AssetsAdapterContract, Curve3AssetsAdapterContract, Curve4AssetsAdapterContract, CurveV1AdapterStETHContract, CurveV1StableNGAdapterContract, DaiUsdsAdapterContract, ERC4626AdapterContract, ERC4626ReferralAdapterContract, FluidDexAdapterContract, InfinifiGatewayAdapterContract, InfinifiUnwindingGatewayAdapterContract, KelpLRTDepositPoolAdapterContract, KelpLRTWithdrawalManagerAdapterContract, LidoV1AdapterContract, MellowClaimerAdapterContract, MellowDVVAdapterContract, MellowERC4626VaultAdapterContract, MellowWrapperAdapterContract, MidasGatewayAdapterContract, MidasIssuanceVaultAdapterContract, MidasRedemptionVaultAdapterContract, PendlePairStatus, PendleRouterAdapterContract, PendleTokenType, SecuritizeOnRampAdapterContract, SecuritizeRedemptionGatewayAdapterContract, StakingRewardsAdapterContract, TraderJoePoolVersion, TraderJoeRouterAdapterContract, UniswapV2AdapterContract, UniswapV3AdapterContract, UniswapV4AdapterContract, UpshiftVaultAdapterContract, VelodromeV2RouterAdapterContract, WstETHV1AdapterContract, adapterActionAbi, adapterActionSelectors, adapterActionSignatures, adapterConstructorAbi, allTransfersAsTokenAmounts, classifyCurveOperation, createAdapter, curveAddLiquidityFromTransfers, curveRemoveLiquidityFromTransfers, erc4626ReferralAdapterAbi, fnSigToName, getAdapterActionAbi, getAdapterDeployParamsAbi, getAdapterType, hasAdapterDeployParamsAbi, iBalancerV3RouterAbi, iBalancerV3RouterAdapterAbi, iBalancerV3WrapperAbi, iBalancerV3WrapperAdapterAbi, iBaseOnRampAbi, iBaseRewardPoolAbi, iBoosterAbi, iCamelotV3AdapterAbi, iCamelotV3RouterAbi, iConvexV1BaseRewardPoolAdapterAbi, iConvexV1BoosterAdapterAbi, iCurvePoolAbi, iCurvePoolStableNGAbi, iCurvePool_2Abi, iCurvePool_3Abi, iCurvePool_4Abi, iCurveV1StableNgAdapterAbi, iCurveV1_2AssetsAdapterAbi, iCurveV1_3AssetsAdapterAbi, iCurveV1_4AssetsAdapterAbi, iDaiUsdsAbi, iDaiUsdsAdapterAbi, iERC4626Abi, iERC4626ReferralAbi, iFluidDexAbi, iFluidDexAdapterAbi, iInfinifiGatewayAbi, iInfinifiGatewayAdapterAbi, iInfinifiUnwindingGatewayAbi, iInfinifiUnwindingGatewayAdapterAbi, iKelpLRTDepositPoolGatewayAbi, iKelpLRTWithdrawalManagerGatewayAbi, iKelpLrtDepositPoolAdapterAbi, iKelpLrtDepositPoolGatewayAbi, iKelpLrtWithdrawalManagerAdapterAbi, iKelpLrtWithdrawalManagerGatewayAbi, iLidoV1AdapterAbi, iMellow4626VaultAdapterAbi, iMellowClaimerAbi, iMellowClaimerAdapterAbi, iMellowWrapperAbi, iMellowWrapperAdapterAbi, iMidasGatewayAdapterV311Abi, iMidasGatewayV311Abi, iMidasIssuanceVaultAdapterV310Abi, iMidasIssuanceVaultV310Abi, iMidasRedemptionVaultAdapterV310Abi, iMidasRedemptionVaultGatewayV310Abi, iPendleRouterAbi, iPendleRouterAdapterAbi, iSecuritizeOnRampAbi, iSecuritizeOnRampAdapterV310Abi, iSecuritizeRedemptionGatewayAdapterV311Abi, iSecuritizeRedemptionGatewayV311Abi, iStakingRewardsAbi, iStakingRewardsAdapterAbi, iTraderJoeRouterAbi, iTraderJoeRouterAdapterAbi, iUniswapV2AdapterAbi, iUniswapV2Router02Abi, iUniswapV3Abi, iUniswapV3AdapterAbi, iUniswapV4AdapterAbi, iUniswapV4GatewayAbi, iUpshiftVaultAdapterAbi, iUpshiftVaultGatewayAbi, iVelodromeV2RouterAbi, iVelodromeV2RouterAdapterAbi, iwstETHAbi, iwstEthv1AdapterAbi, lidoV1_WETHGatewayAbi, mellowDvvAdapterAbi, parseAdapterAction, parseAdapterDeployParams, parsePosNegAmount, rewardsFromTransfers, swapFromTransfers, toNetTransfers };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { iPausableAbi } from "../../../abi/iPausable.js";
|
|
1
2
|
import { iCreditFacadeMulticallV310Abi, iCreditFacadeV310Abi } from "../../../abi/310/generated.js";
|
|
2
3
|
import { BaseContract } from "../../base/BaseContract.js";
|
|
3
4
|
import "../../base/index.js";
|
|
4
|
-
import { iPausableAbi } from "../../../abi/iPausable.js";
|
|
5
5
|
//#region src/onchain/market/credit/CreditFacadeV310BaseContract.ts
|
|
6
6
|
const abi = [
|
|
7
7
|
...iCreditFacadeV310Abi,
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { AddressMap } from "../../utils/AddressMap.js";
|
|
2
|
-
import { BigIntMath } from "../../utils/bigint-math.js";
|
|
3
2
|
import { getAccountTargetCollateral, getLegacyStrategyTarget, isSunsetStrategy } from "../../chain/chains.js";
|
|
3
|
+
import "../../constants/addresses.js";
|
|
4
4
|
import { PERCENTAGE_FACTOR, RAY } from "../../constants/math.js";
|
|
5
5
|
import "../../constants/index.js";
|
|
6
6
|
import "../../utils/index.js";
|
|
7
7
|
import { SDKConstruct } from "../../base/SDKConstruct.js";
|
|
8
8
|
import "../../base/index.js";
|
|
9
9
|
import { calcBorrowApy, calcQuotaRate, minSeizedAmount, optimalHFForPartialLiquidation, optimalRepaidAmount } from "../math.js";
|
|
10
|
+
import { KYC_REGISTRATION_LINKS } from "../../../model/rwa.js";
|
|
11
|
+
import "../../../model/index.js";
|
|
12
|
+
import { createDegenNFT } from "../rwa/createDegenNFT.js";
|
|
10
13
|
import { strategyName } from "../strategyName.js";
|
|
11
14
|
import { dominantCollateral, isStrategyCollateral, pickStrategyTargetCollateral } from "./collateralUtils.js";
|
|
12
15
|
import createCreditConfigurator from "./createCreditConfigurator.js";
|
|
@@ -16,8 +19,9 @@ import { isAddressEqual } from "viem";
|
|
|
16
19
|
//#region src/onchain/market/credit/CreditSuite.ts
|
|
17
20
|
/**
|
|
18
21
|
* Amount of underlying seeded into each pool at market creation to protect
|
|
19
|
-
* from inflation attacks, in raw token units. A suite whose
|
|
20
|
-
*
|
|
22
|
+
* from inflation attacks, in raw token units. A suite whose
|
|
23
|
+
* {@link CreditSuite.maxBorrowAmount} is at or below this is treated as
|
|
24
|
+
* having nothing left to lend.
|
|
21
25
|
**/
|
|
22
26
|
const MIN_STRATEGY_BORROW_AMOUNT = 100000n;
|
|
23
27
|
/**
|
|
@@ -55,6 +59,7 @@ var CreditSuite = class extends SDKConstruct {
|
|
|
55
59
|
* parameters, collateral tokens, adapter permissions, and facade settings.
|
|
56
60
|
*/
|
|
57
61
|
creditConfigurator;
|
|
62
|
+
#degenNFT;
|
|
58
63
|
/**
|
|
59
64
|
* Original compressor contract snapshot for this credit suite.
|
|
60
65
|
*/
|
|
@@ -114,6 +119,31 @@ var CreditSuite = class extends SDKConstruct {
|
|
|
114
119
|
return this.market.rwaFactory;
|
|
115
120
|
}
|
|
116
121
|
/**
|
|
122
|
+
* KYC-gated degen NFT on this suite's facade, loaded on first use.
|
|
123
|
+
* `undefined` when the facade has none, or when the NFT is not a KYC gate.
|
|
124
|
+
*/
|
|
125
|
+
degenNFT() {
|
|
126
|
+
const address = this.creditFacade.degenNFT;
|
|
127
|
+
if (isAddressEqual(address, "0x0000000000000000000000000000000000000000")) return Promise.resolve(void 0);
|
|
128
|
+
if (!this.#degenNFT) this.#degenNFT = createDegenNFT(this.sdk, address);
|
|
129
|
+
return this.#degenNFT;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* What `wallet` still has to do before the facade lets it open an account;
|
|
133
|
+
* `null` when nothing (no degen NFT, not a KYC gate, or already eligible).
|
|
134
|
+
*/
|
|
135
|
+
async kycRequirement(wallet, targetCollateral) {
|
|
136
|
+
const nft = await this.degenNFT();
|
|
137
|
+
if (!nft) return null;
|
|
138
|
+
const { eligible, token } = await nft.checkKyc(wallet, targetCollateral);
|
|
139
|
+
if (eligible) return null;
|
|
140
|
+
return {
|
|
141
|
+
protocol: nft.protocol,
|
|
142
|
+
token: this.tokensMeta.getToken(token),
|
|
143
|
+
registrationLink: KYC_REGISTRATION_LINKS[nft.protocol]
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
117
147
|
* Builds a transaction that executes a multicall on one of this suite's
|
|
118
148
|
* credit accounts.
|
|
119
149
|
*
|
|
@@ -227,6 +257,47 @@ var CreditSuite = class extends SDKConstruct {
|
|
|
227
257
|
return this.creditManager.collateralTokens.filter((_, i) => (mask & 1n << BigInt(i)) !== 0n);
|
|
228
258
|
}
|
|
229
259
|
/**
|
|
260
|
+
* Whether the facade forbids a token, see {@link forbiddenTokens}. A
|
|
261
|
+
* forbidden token may be sold and may leave, but its balance must not grow.
|
|
262
|
+
*/
|
|
263
|
+
isForbidden(token) {
|
|
264
|
+
return this.forbiddenTokens.some((f) => isAddressEqual(f, token));
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Largest debt one new position can take from this credit manager right now,
|
|
268
|
+
* and which limit set that number.
|
|
269
|
+
*
|
|
270
|
+
* Minimum of:
|
|
271
|
+
* - the pool's available liquidity,
|
|
272
|
+
* - this manager's remaining debt allowance, and
|
|
273
|
+
* - the facade's per-account `maxDebt`.
|
|
274
|
+
* While `maxDebtPerBlockMultiplier` is `0` the facade
|
|
275
|
+
* takes no new debt at all, so the answer is `0`.
|
|
276
|
+
*/
|
|
277
|
+
maxBorrowAmount() {
|
|
278
|
+
const { pool } = this.market.pool;
|
|
279
|
+
const { maxDebtPerBlockMultiplier, maxDebt } = this.creditFacade;
|
|
280
|
+
if (maxDebtPerBlockMultiplier === 0) return {
|
|
281
|
+
value: 0n,
|
|
282
|
+
limit: "debtPerBlockLimit"
|
|
283
|
+
};
|
|
284
|
+
const available = pool.creditManagerDebtParams.get(this.creditManager.address)?.available;
|
|
285
|
+
return [
|
|
286
|
+
{
|
|
287
|
+
value: pool.availableLiquidity,
|
|
288
|
+
limit: "poolAvailableLiquidity"
|
|
289
|
+
},
|
|
290
|
+
...available === void 0 ? [] : [{
|
|
291
|
+
value: available,
|
|
292
|
+
limit: "managerDebtAvailable"
|
|
293
|
+
}],
|
|
294
|
+
{
|
|
295
|
+
value: maxDebt,
|
|
296
|
+
limit: "maxDebt"
|
|
297
|
+
}
|
|
298
|
+
].reduce((a, b) => b.value < a.value ? b : a);
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
230
301
|
* The single target collateral of this suite's strategy, or `undefined` when
|
|
231
302
|
* none can be resolved.
|
|
232
303
|
*
|
|
@@ -246,16 +317,6 @@ var CreditSuite = class extends SDKConstruct {
|
|
|
246
317
|
return pickStrategyTargetCollateral(this.creditManager.collateralTokens.map((token) => this.#strategyCollateralProps(token)));
|
|
247
318
|
}
|
|
248
319
|
/**
|
|
249
|
-
* Largest debt a single new position can take on right now: the tightest of
|
|
250
|
-
* this manager's remaining debt limit, the pool's free liquidity and the
|
|
251
|
-
* facade's per-account maximum.
|
|
252
|
-
*/
|
|
253
|
-
get maxBorrowAmount() {
|
|
254
|
-
const { pool } = this.market.pool;
|
|
255
|
-
const debtParams = pool.creditManagerDebtParams.get(this.creditManager.address);
|
|
256
|
-
return BigIntMath.min(debtParams?.available ?? 115792089237316195423570985008687907853269984665640564039457584007913129639935n, pool.availableLiquidity, this.creditFacade.maxDebt);
|
|
257
|
-
}
|
|
258
|
-
/**
|
|
259
320
|
* Display name of this suite's leveraged strategy, e.g. `"wstETH / WETH"`,
|
|
260
321
|
* or `undefined` when {@link strategyTargetCollateral} cannot be resolved.
|
|
261
322
|
*/
|
|
@@ -293,7 +354,8 @@ var CreditSuite = class extends SDKConstruct {
|
|
|
293
354
|
* or `undefined` when credit suite does not offer a strategy opportunity.
|
|
294
355
|
*/
|
|
295
356
|
strategyOpportunity() {
|
|
296
|
-
|
|
357
|
+
const maxBorrowAmount = this.maxBorrowAmount().value;
|
|
358
|
+
if (maxBorrowAmount <= MIN_STRATEGY_BORROW_AMOUNT) return;
|
|
297
359
|
const collateral = this.strategyTargetCollateral;
|
|
298
360
|
if (!collateral) return;
|
|
299
361
|
if (!isStrategyCollateral(this.#strategyCollateralProps(collateral), true)) return;
|
|
@@ -326,7 +388,7 @@ var CreditSuite = class extends SDKConstruct {
|
|
|
326
388
|
availableLiquidity: oracle.toAmount(pool.underlying, pool.availableLiquidity),
|
|
327
389
|
minDebt: oracle.toAmount(pool.underlying, this.creditFacade.minDebt),
|
|
328
390
|
totalDebtLimit: oracle.toAmount(pool.underlying, debtParams?.limit ?? 0n),
|
|
329
|
-
maxBorrowAmount: oracle.toAmount(pool.underlying,
|
|
391
|
+
maxBorrowAmount: oracle.toAmount(pool.underlying, maxBorrowAmount),
|
|
330
392
|
maxLeverage
|
|
331
393
|
};
|
|
332
394
|
}
|
|
@@ -89,6 +89,9 @@ import { CreditFacadeV310BaseContract, creditFacadeV310Abi as abi } from "./cred
|
|
|
89
89
|
import { CreditFacadeV310Contract } from "./credit/CreditFacadeV310Contract.js";
|
|
90
90
|
import { DEFAULT_QUOTA_BUFFER_BPS, MAX_LEVERAGE_BUFFER_BPS, PARTIAL_LIQUIDATION_BUFFER_BPS, bpsToRay, calcBorrowApy, calcEffectiveBorrowApy, calcMaxLeverage, calcNetStrategyApy, calcPositionLeverage, calcQuotaRate, calcUtilization, calcUtilizationRaw, healthFactorBps, minSeizedAmount, optimalHFForPartialLiquidation, optimalRepaidAmount, rayToBps, usdToNumber } from "./math.js";
|
|
91
91
|
import { CreditManagerV310Contract } from "./credit/CreditManagerV310Contract.js";
|
|
92
|
+
import { DEGEN_NFT_MIDAS, PHANTOM_TOKEN_MIDAS_REDEMPTION, RWA_LIQUIDATOR_MIDAS } from "./rwa/midas/constants.js";
|
|
93
|
+
import { MidasDegenNFT } from "./rwa/midas/MidasDegenNFT.js";
|
|
94
|
+
import { DEGEN_NFT_SECURITIZE, PHANTOM_TOKEN_SECURITIZE_REDEMPTION, RWA_LIQUIDATOR_SECURITIZE } from "./rwa/securitize/constants.js";
|
|
92
95
|
import { strategyName } from "./strategyName.js";
|
|
93
96
|
import { dominantCollateral, isStrategyCollateral, pickStrategyTargetCollateral } from "./credit/collateralUtils.js";
|
|
94
97
|
import { CreditSuite } from "./credit/CreditSuite.js";
|
|
@@ -119,7 +122,6 @@ import { YearnPriceFeedContract } from "./pricefeeds/YearnPriceFeed.js";
|
|
|
119
122
|
import { ZeroPriceFeedContract } from "./pricefeeds/ZeroPriceFeed.js";
|
|
120
123
|
import { PriceFeedRegister } from "./pricefeeds/PriceFeedsRegister.js";
|
|
121
124
|
import "./pricefeeds/index.js";
|
|
122
|
-
import { unpriceableTokenError } from "./oracle/errors.js";
|
|
123
125
|
import { PriceOracleV310Contract } from "./oracle/PriceOracleV310Contract.js";
|
|
124
126
|
import { createPriceOracle } from "./oracle/createPriceOracle.js";
|
|
125
127
|
import "./oracle/index.js";
|
|
@@ -135,14 +137,12 @@ import { IETHZapperContract } from "./zapper/IETHZapperContract.js";
|
|
|
135
137
|
import { createZapper } from "./zapper/createZapper.js";
|
|
136
138
|
import "./zapper/index.js";
|
|
137
139
|
import { MarketRegister } from "./MarketRegister.js";
|
|
138
|
-
import { PHANTOM_TOKEN_MIDAS_REDEMPTION, RWA_LIQUIDATOR_MIDAS } from "./rwa/midas/constants.js";
|
|
139
140
|
import { MidasLiquidatorContract } from "./rwa/midas/MidasLiquidatorContract.js";
|
|
140
|
-
import {
|
|
141
|
+
import { SecuritizeDegenNFT } from "./rwa/securitize/SecuritizeDegenNFT.js";
|
|
141
142
|
import { SecuritizeLiquidatorContract } from "./rwa/securitize/SecuritizeLiquidatorContract.js";
|
|
142
|
-
import { SECURITIZE_REGISTER_VAULT_TYPES } from "./rwa/securitize/types.js";
|
|
143
143
|
import { SecuritizeRWAFactory } from "./rwa/securitize/SecuritizeRWAFactory.js";
|
|
144
144
|
import { RWARegistry } from "./rwa/RWARegistry.js";
|
|
145
|
-
import {
|
|
145
|
+
import { isRWAFactory } from "./rwa/types.js";
|
|
146
146
|
import "./rwa/index.js";
|
|
147
147
|
import "./types.js";
|
|
148
|
-
export { AbstractAdapterContract, AbstractLPPriceFeedContract, AbstractPriceFeedContract, AccountMigratorAdapterContract, AdapterType, BalancerStablePriceFeedContract, BalancerV3PoolStatus, BalancerV3RouterAdapterContract, BalancerV3WrapperAdapterContract, BalancerWeightedPriceFeedContract, BoundedPriceFeedContract, CamelotV3AdapterContract, CompositePriceFeedContract, ConvexV1BaseRewardPoolAdapterContract, ConvexV1BoosterAdapterContract, CreditConfiguratorV310Contract, CreditFacadeV310BaseContract, CreditFacadeV310Contract, CreditManagerV310Contract, CreditSuite, Curve2AssetsAdapterContract, Curve3AssetsAdapterContract, Curve4AssetsAdapterContract, CurveCryptoPriceFeedContract, CurveStablePriceFeedContract, CurveUSDPriceFeedContract, CurveV1AdapterStETHContract, CurveV1StableNGAdapterContract, DEFAULT_QUOTA_BUFFER_BPS, DaiUsdsAdapterContract, ERC4626AdapterContract, ERC4626ReferralAdapterContract, Erc4626PriceFeedContract, ExternalPriceFeedContract, FluidDexAdapterContract, GaugeContract, IERC20ZapperContract, IETHZapperContract, InfinifiGatewayAdapterContract, InfinifiUnwindingGatewayAdapterContract, KelpLRTDepositPoolAdapterContract, KelpLRTWithdrawalManagerAdapterContract, LidoV1AdapterContract, LinearInterestRateModelContract, MAX_LEVERAGE_BUFFER_BPS, MarketRegister, MarketSuite, MellowClaimerAdapterContract, MellowDVVAdapterContract, MellowERC4626VaultAdapterContract, MellowLRTPriceFeedContract, MellowWrapperAdapterContract, MidasGatewayAdapterContract, MidasIssuanceVaultAdapterContract, MidasLiquidatorContract, MidasRedemptionVaultAdapterContract, PARTIAL_LIQUIDATION_BUFFER_BPS, PHANTOM_TOKEN_MIDAS_REDEMPTION, PHANTOM_TOKEN_SECURITIZE_REDEMPTION, PartialPriceFeedInitError, PendlePairStatus, PendleRouterAdapterContract, PendleTWAPPTPriceFeed, PendleTokenType, PoolSuite, PoolV310Contract, PriceFeedRef, PriceFeedRegister, PriceOracleV310Contract, PythPriceFeed, RWARegistry,
|
|
148
|
+
export { AbstractAdapterContract, AbstractLPPriceFeedContract, AbstractPriceFeedContract, AccountMigratorAdapterContract, AdapterType, BalancerStablePriceFeedContract, BalancerV3PoolStatus, BalancerV3RouterAdapterContract, BalancerV3WrapperAdapterContract, BalancerWeightedPriceFeedContract, BoundedPriceFeedContract, CamelotV3AdapterContract, CompositePriceFeedContract, ConvexV1BaseRewardPoolAdapterContract, ConvexV1BoosterAdapterContract, CreditConfiguratorV310Contract, CreditFacadeV310BaseContract, CreditFacadeV310Contract, CreditManagerV310Contract, CreditSuite, Curve2AssetsAdapterContract, Curve3AssetsAdapterContract, Curve4AssetsAdapterContract, CurveCryptoPriceFeedContract, CurveStablePriceFeedContract, CurveUSDPriceFeedContract, CurveV1AdapterStETHContract, CurveV1StableNGAdapterContract, DEFAULT_QUOTA_BUFFER_BPS, DEGEN_NFT_MIDAS, DEGEN_NFT_SECURITIZE, DaiUsdsAdapterContract, ERC4626AdapterContract, ERC4626ReferralAdapterContract, Erc4626PriceFeedContract, ExternalPriceFeedContract, FluidDexAdapterContract, GaugeContract, IERC20ZapperContract, IETHZapperContract, InfinifiGatewayAdapterContract, InfinifiUnwindingGatewayAdapterContract, KelpLRTDepositPoolAdapterContract, KelpLRTWithdrawalManagerAdapterContract, LidoV1AdapterContract, LinearInterestRateModelContract, MAX_LEVERAGE_BUFFER_BPS, MarketRegister, MarketSuite, MellowClaimerAdapterContract, MellowDVVAdapterContract, MellowERC4626VaultAdapterContract, MellowLRTPriceFeedContract, MellowWrapperAdapterContract, MidasDegenNFT, MidasGatewayAdapterContract, MidasIssuanceVaultAdapterContract, MidasLiquidatorContract, MidasRedemptionVaultAdapterContract, PARTIAL_LIQUIDATION_BUFFER_BPS, PHANTOM_TOKEN_MIDAS_REDEMPTION, PHANTOM_TOKEN_SECURITIZE_REDEMPTION, PartialPriceFeedInitError, PendlePairStatus, PendleRouterAdapterContract, PendleTWAPPTPriceFeed, PendleTokenType, PoolSuite, PoolV310Contract, PriceFeedRef, PriceFeedRegister, PriceOracleV310Contract, PythPriceFeed, RWARegistry, RWA_LIQUIDATOR_MIDAS, RWA_LIQUIDATOR_SECURITIZE, RedstonePriceFeedContract, SecuritizeDegenNFT, SecuritizeLiquidatorContract, SecuritizeOnRampAdapterContract, SecuritizeRWAFactory, SecuritizeRedemptionGatewayAdapterContract, StakingRewardsAdapterContract, TraderJoePoolVersion, TraderJoeRouterAdapterContract, UniswapV2AdapterContract, UniswapV3AdapterContract, UniswapV4AdapterContract, UpshiftVaultAdapterContract, VelodromeV2RouterAdapterContract, WstETHPriceFeedContract, WstETHV1AdapterContract, YearnPriceFeedContract, ZapperContract, ZeroPriceFeedContract, adapterActionAbi, adapterActionSelectors, adapterActionSignatures, adapterConstructorAbi, allTransfersAsTokenAmounts, bpsToRay, calcBorrowApy, calcEffectiveBorrowApy, calcMaxLeverage, calcNetStrategyApy, calcPositionLeverage, calcQuotaRate, calcUtilization, calcUtilizationRaw, classifyCurveOperation, collateralPriceInUnderlying, createAdapter, createPriceOracle, createZapper, abi as creditFacadeV310Abi, curveAddLiquidityFromTransfers, curveRemoveLiquidityFromTransfers, dominantCollateral, erc4626ReferralAdapterAbi, expectedBalanceDeltas, fetchRedstonePayloads, fnSigToName, getAdapterActionAbi, getAdapterDeployParamsAbi, getAdapterType, getRawPriceUpdates, hasAdapterDeployParamsAbi, healthFactorBps, iBalancerV3RouterAbi, iBalancerV3RouterAdapterAbi, iBalancerV3WrapperAbi, iBalancerV3WrapperAdapterAbi, iBaseOnRampAbi, iBaseRewardPoolAbi, iBoosterAbi, iCamelotV3AdapterAbi, iCamelotV3RouterAbi, iConvexV1BaseRewardPoolAdapterAbi, iConvexV1BoosterAdapterAbi, iCurvePoolAbi, iCurvePoolStableNGAbi, iCurvePool_2Abi, iCurvePool_3Abi, iCurvePool_4Abi, iCurveV1StableNgAdapterAbi, iCurveV1_2AssetsAdapterAbi, iCurveV1_3AssetsAdapterAbi, iCurveV1_4AssetsAdapterAbi, iDaiUsdsAbi, iDaiUsdsAdapterAbi, iERC4626Abi, iERC4626ReferralAbi, iFluidDexAbi, iFluidDexAdapterAbi, iInfinifiGatewayAbi, iInfinifiGatewayAdapterAbi, iInfinifiUnwindingGatewayAbi, iInfinifiUnwindingGatewayAdapterAbi, iKelpLRTDepositPoolGatewayAbi, iKelpLRTWithdrawalManagerGatewayAbi, iKelpLrtDepositPoolAdapterAbi, iKelpLrtDepositPoolGatewayAbi, iKelpLrtWithdrawalManagerAdapterAbi, iKelpLrtWithdrawalManagerGatewayAbi, iLidoV1AdapterAbi, iMellow4626VaultAdapterAbi, iMellowClaimerAbi, iMellowClaimerAdapterAbi, iMellowWrapperAbi, iMellowWrapperAdapterAbi, iMidasGatewayAdapterV311Abi, iMidasGatewayV311Abi, iMidasIssuanceVaultAdapterV310Abi, iMidasIssuanceVaultV310Abi, iMidasRedemptionVaultAdapterV310Abi, iMidasRedemptionVaultGatewayV310Abi, iPendleRouterAbi, iPendleRouterAdapterAbi, iSecuritizeOnRampAbi, iSecuritizeOnRampAdapterV310Abi, iSecuritizeRedemptionGatewayAdapterV311Abi, iSecuritizeRedemptionGatewayV311Abi, iStakingRewardsAbi, iStakingRewardsAdapterAbi, iTraderJoeRouterAbi, iTraderJoeRouterAdapterAbi, iUniswapV2AdapterAbi, iUniswapV2Router02Abi, iUniswapV3Abi, iUniswapV3AdapterAbi, iUniswapV4AdapterAbi, iUniswapV4GatewayAbi, iUpshiftVaultAdapterAbi, iUpshiftVaultGatewayAbi, iVelodromeV2RouterAbi, iVelodromeV2RouterAdapterAbi, isLPPriceFeed, isRWAFactory, isStrategyCollateral, isUpdatablePriceFeed, iwstETHAbi, iwstEthv1AdapterAbi, lidoV1_WETHGatewayAbi, mellowDvvAdapterAbi, minSeizedAmount, optimalHFForPartialLiquidation, optimalRepaidAmount, parseAdapterAction, parseAdapterDeployParams, parsePosNegAmount, pickStrategyTargetCollateral, rayToBps, rewardsFromTransfers, strategyName, swapFromTransfers, toNetTransfers, usdToNumber };
|
|
@@ -11,13 +11,13 @@ import "../../utils/index.js";
|
|
|
11
11
|
import { BaseContract } from "../../base/BaseContract.js";
|
|
12
12
|
import "../../base/index.js";
|
|
13
13
|
import { usdToNumber } from "../math.js";
|
|
14
|
+
import { unpriceableTokenError } from "../../../model/errors/oracle-errors.js";
|
|
14
15
|
import { safeValue } from "../../../model/result.js";
|
|
15
16
|
import "../../../model/index.js";
|
|
16
17
|
import { priceFeedCompressorAbi } from "../../../abi/compressors/priceFeedCompressor.js";
|
|
17
18
|
import { PriceFeedRef } from "../pricefeeds/PriceFeedRef.js";
|
|
18
19
|
import { getRawPriceUpdates } from "../pricefeeds/getRawPriceUpdates.js";
|
|
19
20
|
import "../pricefeeds/index.js";
|
|
20
|
-
import { unpriceableTokenError } from "./errors.js";
|
|
21
21
|
import PriceFeedAnswerMap from "./PriceFeedAnswerMap.js";
|
|
22
22
|
import { isAddressEqual, stringToHex } from "viem";
|
|
23
23
|
import { format, formatDistanceToNow } from "date-fns";
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { collateralPriceInUnderlying } from "./collateralPriceInUnderlying.js";
|
|
2
|
-
import { unpriceableTokenError } from "./errors.js";
|
|
3
2
|
import { PriceOracleV310Contract } from "./PriceOracleV310Contract.js";
|
|
4
3
|
import { createPriceOracle } from "./createPriceOracle.js";
|
|
5
4
|
import "./types.js";
|
|
6
|
-
export { PriceOracleV310Contract, collateralPriceInUnderlying, createPriceOracle
|
|
5
|
+
export { PriceOracleV310Contract, collateralPriceInUnderlying, createPriceOracle };
|
|
@@ -38,6 +38,14 @@ var PoolQuotaKeeperV310Contract = class extends BaseContract {
|
|
|
38
38
|
return this.quotas.keys().filter((token) => this.hasActiveQuota(token));
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
|
+
* How much more quota the market will take for a token, in the underlying.
|
|
42
|
+
* `0n` when the market has no quota entry; not the same as {@link hasActiveQuota}.
|
|
43
|
+
*/
|
|
44
|
+
quotaAvailable(token) {
|
|
45
|
+
const quota = this.quotas.get(token);
|
|
46
|
+
return quota ? quota.limit - quota.totalQuoted : 0n;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
41
49
|
* Annual quota rate paid on a quoted token, in basis points, or `0` when the
|
|
42
50
|
* market does not quote it.
|
|
43
51
|
*
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { iPausableAbi } from "../../../abi/iPausable.js";
|
|
1
2
|
import { iPoolV310Abi } from "../../../abi/310/generated.js";
|
|
2
3
|
import { AddressMap } from "../../utils/AddressMap.js";
|
|
3
4
|
import { RAY } from "../../constants/math.js";
|
|
@@ -7,7 +8,6 @@ import "../../utils/index.js";
|
|
|
7
8
|
import { SdkRWADataNotLoadedError } from "../../core/errors.js";
|
|
8
9
|
import { BaseContract } from "../../base/BaseContract.js";
|
|
9
10
|
import "../../base/index.js";
|
|
10
|
-
import { iPausableAbi } from "../../../abi/iPausable.js";
|
|
11
11
|
//#region src/onchain/market/pool/PoolV310Contract.ts
|
|
12
12
|
const abi = [...iPoolV310Abi, ...iPausableAbi];
|
|
13
13
|
var PoolV310Contract = class extends BaseContract {
|
|
@@ -7,8 +7,9 @@ import "../../utils/index.js";
|
|
|
7
7
|
import { SDKConstruct } from "../../base/SDKConstruct.js";
|
|
8
8
|
import { RWA_ON_DEMAND_LP_MONOPOLIZED, RWA_UNDERLYING_DEFAULT, RWA_UNDERLYING_ON_DEMAND } from "../../base/token-types.js";
|
|
9
9
|
import "../../base/index.js";
|
|
10
|
+
import { RWA_FACTORY_SECURITIZE } from "../../../model/rwa.js";
|
|
11
|
+
import "../../../model/index.js";
|
|
10
12
|
import { iRWACompressorAbi } from "../../../abi/rwa/iRWACompressor.js";
|
|
11
|
-
import { RWA_FACTORY_SECURITIZE } from "./securitize/constants.js";
|
|
12
13
|
import { SecuritizeRWAFactory } from "./securitize/SecuritizeRWAFactory.js";
|
|
13
14
|
import "./securitize/index.js";
|
|
14
15
|
import { decodeAbiParameters } from "viem";
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { iVersionAbi } from "../../../abi/iVersion.js";
|
|
2
|
+
import { bytes32ToString } from "../../utils/bytes32ToString.js";
|
|
3
|
+
import "../../utils/index.js";
|
|
4
|
+
import { iMidasDegenNFTAbi } from "../../../abi/rwa/iMidasDegenNFT.js";
|
|
5
|
+
import { DEGEN_NFT_MIDAS } from "./midas/constants.js";
|
|
6
|
+
import { MidasDegenNFT } from "./midas/MidasDegenNFT.js";
|
|
7
|
+
import { DEGEN_NFT_SECURITIZE } from "./securitize/constants.js";
|
|
8
|
+
import { decodeAbiParameters, isAddressEqual } from "viem";
|
|
9
|
+
//#region src/onchain/market/rwa/createDegenNFT.ts
|
|
10
|
+
/**
|
|
11
|
+
* Determines the KYC provider behind a degen NFT.
|
|
12
|
+
* Returns `undefined` for an allowlist, a legacy degen NFT, or a Securitize
|
|
13
|
+
* factory that is not loaded on this SDK.
|
|
14
|
+
*/
|
|
15
|
+
async function createDegenNFT(sdk, address) {
|
|
16
|
+
const [contractType, version, serialized] = await sdk.client.multicall({
|
|
17
|
+
allowFailure: true,
|
|
18
|
+
contracts: [
|
|
19
|
+
{
|
|
20
|
+
abi: iVersionAbi,
|
|
21
|
+
address,
|
|
22
|
+
functionName: "contractType"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
abi: iVersionAbi,
|
|
26
|
+
address,
|
|
27
|
+
functionName: "version"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
abi: iMidasDegenNFTAbi,
|
|
31
|
+
address,
|
|
32
|
+
functionName: "serialize"
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
});
|
|
36
|
+
if (contractType.status !== "success" || version.status !== "success" || serialized.status !== "success") return;
|
|
37
|
+
switch (bytes32ToString(contractType.result)) {
|
|
38
|
+
case DEGEN_NFT_MIDAS: return new MidasDegenNFT(sdk, {
|
|
39
|
+
addr: address,
|
|
40
|
+
version: version.result,
|
|
41
|
+
contractType: contractType.result,
|
|
42
|
+
serializedParams: serialized.result
|
|
43
|
+
});
|
|
44
|
+
case DEGEN_NFT_SECURITIZE: {
|
|
45
|
+
const [factoryAddress] = decodeAbiParameters([{ type: "address" }], serialized.result);
|
|
46
|
+
return sdk.rwa.factories.find((f) => isAddressEqual(f.address, factoryAddress))?.degenNFT;
|
|
47
|
+
}
|
|
48
|
+
default: return;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//#endregion
|
|
52
|
+
export { createDegenNFT };
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { PHANTOM_TOKEN_MIDAS_REDEMPTION, RWA_LIQUIDATOR_MIDAS } from "./midas/constants.js";
|
|
1
|
+
import { DEGEN_NFT_MIDAS, PHANTOM_TOKEN_MIDAS_REDEMPTION, RWA_LIQUIDATOR_MIDAS } from "./midas/constants.js";
|
|
2
|
+
import { MidasDegenNFT } from "./midas/MidasDegenNFT.js";
|
|
3
|
+
import { DEGEN_NFT_SECURITIZE, PHANTOM_TOKEN_SECURITIZE_REDEMPTION, RWA_LIQUIDATOR_SECURITIZE } from "./securitize/constants.js";
|
|
2
4
|
import { MidasLiquidatorContract } from "./midas/MidasLiquidatorContract.js";
|
|
3
5
|
import "./midas/index.js";
|
|
4
|
-
import {
|
|
6
|
+
import { SecuritizeDegenNFT } from "./securitize/SecuritizeDegenNFT.js";
|
|
5
7
|
import { SecuritizeLiquidatorContract } from "./securitize/SecuritizeLiquidatorContract.js";
|
|
6
|
-
import { SECURITIZE_REGISTER_VAULT_TYPES } from "./securitize/types.js";
|
|
7
8
|
import { SecuritizeRWAFactory } from "./securitize/SecuritizeRWAFactory.js";
|
|
8
9
|
import "./securitize/index.js";
|
|
9
10
|
import { RWARegistry } from "./RWARegistry.js";
|
|
10
|
-
import {
|
|
11
|
-
export { MidasLiquidatorContract, PHANTOM_TOKEN_MIDAS_REDEMPTION, PHANTOM_TOKEN_SECURITIZE_REDEMPTION, RWARegistry,
|
|
11
|
+
import { isRWAFactory } from "./types.js";
|
|
12
|
+
export { DEGEN_NFT_MIDAS, DEGEN_NFT_SECURITIZE, MidasDegenNFT, MidasLiquidatorContract, PHANTOM_TOKEN_MIDAS_REDEMPTION, PHANTOM_TOKEN_SECURITIZE_REDEMPTION, RWARegistry, RWA_LIQUIDATOR_MIDAS, RWA_LIQUIDATOR_SECURITIZE, SecuritizeDegenNFT, SecuritizeLiquidatorContract, SecuritizeRWAFactory, isRWAFactory };
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { BaseContract } from "../../../base/BaseContract.js";
|
|
2
|
+
import "../../../base/index.js";
|
|
3
|
+
import { iMidasGatewayV311Abi } from "../../adapters/abi/midas/iMidasGatewayV311.js";
|
|
4
|
+
import "../../adapters/abi/index.js";
|
|
5
|
+
import { iMidasDegenNFTAbi } from "../../../../abi/rwa/iMidasDegenNFT.js";
|
|
6
|
+
import "./constants.js";
|
|
7
|
+
import { iMidasAccessControlAbi } from "../../../../abi/rwa/iMidasAccessControl.js";
|
|
8
|
+
import { decodeAbiParameters } from "viem";
|
|
9
|
+
//#region src/onchain/market/rwa/midas/MidasDegenNFT.ts
|
|
10
|
+
const abi = iMidasDegenNFTAbi;
|
|
11
|
+
var MidasDegenNFT = class extends BaseContract {
|
|
12
|
+
protocol = "midas";
|
|
13
|
+
gateway;
|
|
14
|
+
accessControl;
|
|
15
|
+
greenlistedRole;
|
|
16
|
+
constructor(sdk, baseParams) {
|
|
17
|
+
super(sdk, {
|
|
18
|
+
...baseParams,
|
|
19
|
+
contractType: baseParams.contractType || "DEGEN_NFT::MIDAS",
|
|
20
|
+
name: "MidasDegenNFT",
|
|
21
|
+
abi
|
|
22
|
+
});
|
|
23
|
+
if (!baseParams.serializedParams) throw new Error(`MidasDegenNFT at ${baseParams.addr} is missing serializedParams`);
|
|
24
|
+
const [gateway, accessControl, greenlistedRole] = decodeAbiParameters([
|
|
25
|
+
{ type: "address" },
|
|
26
|
+
{ type: "address" },
|
|
27
|
+
{ type: "bytes32" }
|
|
28
|
+
], baseParams.serializedParams);
|
|
29
|
+
this.gateway = gateway;
|
|
30
|
+
this.accessControl = accessControl;
|
|
31
|
+
this.greenlistedRole = greenlistedRole;
|
|
32
|
+
}
|
|
33
|
+
/** Same predicate `MidasDegenNFT.burn` reverts on; the mToken rides along in the batch. */
|
|
34
|
+
async checkKyc(wallet, _targetCollateral) {
|
|
35
|
+
const [eligible, token] = await this.client.multicall({
|
|
36
|
+
allowFailure: false,
|
|
37
|
+
contracts: [{
|
|
38
|
+
abi: iMidasAccessControlAbi,
|
|
39
|
+
address: this.accessControl,
|
|
40
|
+
functionName: "hasRole",
|
|
41
|
+
args: [this.greenlistedRole, wallet]
|
|
42
|
+
}, {
|
|
43
|
+
abi: iMidasGatewayV311Abi,
|
|
44
|
+
address: this.gateway,
|
|
45
|
+
functionName: "mToken"
|
|
46
|
+
}]
|
|
47
|
+
});
|
|
48
|
+
return {
|
|
49
|
+
eligible,
|
|
50
|
+
token
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
//#endregion
|
|
55
|
+
export { MidasDegenNFT };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
//#region src/onchain/market/rwa/midas/constants.ts
|
|
2
2
|
const RWA_LIQUIDATOR_MIDAS = "RWA_LIQUIDATOR::MIDAS";
|
|
3
3
|
const PHANTOM_TOKEN_MIDAS_REDEMPTION = "PHANTOM_TOKEN::MIDAS_REDEMPTION";
|
|
4
|
+
const DEGEN_NFT_MIDAS = "DEGEN_NFT::MIDAS";
|
|
4
5
|
//#endregion
|
|
5
|
-
export { PHANTOM_TOKEN_MIDAS_REDEMPTION, RWA_LIQUIDATOR_MIDAS };
|
|
6
|
+
export { DEGEN_NFT_MIDAS, PHANTOM_TOKEN_MIDAS_REDEMPTION, RWA_LIQUIDATOR_MIDAS };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import { PHANTOM_TOKEN_MIDAS_REDEMPTION, RWA_LIQUIDATOR_MIDAS } from "./constants.js";
|
|
1
|
+
import { DEGEN_NFT_MIDAS, PHANTOM_TOKEN_MIDAS_REDEMPTION, RWA_LIQUIDATOR_MIDAS } from "./constants.js";
|
|
2
|
+
import { MidasDegenNFT } from "./MidasDegenNFT.js";
|
|
2
3
|
import { MidasLiquidatorContract } from "./MidasLiquidatorContract.js";
|
|
3
|
-
export { MidasLiquidatorContract, PHANTOM_TOKEN_MIDAS_REDEMPTION, RWA_LIQUIDATOR_MIDAS };
|
|
4
|
+
export { DEGEN_NFT_MIDAS, MidasDegenNFT, MidasLiquidatorContract, PHANTOM_TOKEN_MIDAS_REDEMPTION, RWA_LIQUIDATOR_MIDAS };
|
|
@@ -1,17 +1,35 @@
|
|
|
1
1
|
import { BaseContract } from "../../../base/BaseContract.js";
|
|
2
2
|
import "../../../base/index.js";
|
|
3
|
+
import { DEGEN_NFT_SECURITIZE } from "./constants.js";
|
|
3
4
|
import { iSecuritizeDegenNFTAbi } from "../../../../abi/rwa/iSecuritizeDegenNFT.js";
|
|
5
|
+
import { isAddressEqual } from "viem";
|
|
4
6
|
//#region src/onchain/market/rwa/securitize/SecuritizeDegenNFT.ts
|
|
5
7
|
const abi = iSecuritizeDegenNFTAbi;
|
|
6
8
|
var SecuritizeDegenNFT = class extends BaseContract {
|
|
7
|
-
|
|
9
|
+
protocol = "securitize";
|
|
10
|
+
factory;
|
|
11
|
+
constructor(sdk, address, factory) {
|
|
8
12
|
super(sdk, {
|
|
9
13
|
addr: address,
|
|
10
|
-
contractType:
|
|
14
|
+
contractType: DEGEN_NFT_SECURITIZE,
|
|
11
15
|
version: 310,
|
|
12
16
|
name: "SecuritizeDegenNFT",
|
|
13
17
|
abi
|
|
14
18
|
});
|
|
19
|
+
this.factory = factory;
|
|
20
|
+
}
|
|
21
|
+
/** Registration on Securitize is the only KYC step; pending EIP-712 signatures are not. */
|
|
22
|
+
async checkKyc(wallet, targetCollateral) {
|
|
23
|
+
const { factory } = this;
|
|
24
|
+
if (!factory.getTokens().some((t) => isAddressEqual(t, targetCollateral))) return {
|
|
25
|
+
eligible: true,
|
|
26
|
+
token: targetCollateral
|
|
27
|
+
};
|
|
28
|
+
const req = await factory.getOpenAccountRequirements(wallet, { tokenOutAddress: targetCollateral });
|
|
29
|
+
return {
|
|
30
|
+
eligible: !req || req.securitizeTokensToRegister.length === 0,
|
|
31
|
+
token: req?.securitizeTokensToRegister[0] ?? targetCollateral
|
|
32
|
+
};
|
|
15
33
|
}
|
|
16
34
|
};
|
|
17
35
|
//#endregion
|
|
@@ -3,10 +3,10 @@ import { AddressSet } from "../../../utils/AddressSet.js";
|
|
|
3
3
|
import "../../../utils/index.js";
|
|
4
4
|
import { BaseContract } from "../../../base/BaseContract.js";
|
|
5
5
|
import "../../../base/index.js";
|
|
6
|
-
import { RWA_FACTORY_SECURITIZE } from "
|
|
7
|
-
import
|
|
6
|
+
import { RWA_FACTORY_SECURITIZE, SECURITIZE_REGISTER_VAULT_TYPES } from "../../../../model/rwa.js";
|
|
7
|
+
import "../../../../model/index.js";
|
|
8
8
|
import { SecuritizeDegenNFT } from "./SecuritizeDegenNFT.js";
|
|
9
|
-
import {
|
|
9
|
+
import { iSecuritizeRWAFactoryAbi } from "../../../../abi/rwa/iSecuritizeRWAFactory.js";
|
|
10
10
|
import { decodeAbiParameters } from "viem";
|
|
11
11
|
//#region src/onchain/market/rwa/securitize/SecuritizeRWAFactory.ts
|
|
12
12
|
const abi = iSecuritizeRWAFactoryAbi;
|
|
@@ -53,7 +53,7 @@ var SecuritizeRWAFactory = class extends BaseContract {
|
|
|
53
53
|
}
|
|
54
54
|
], data.baseParams.serializedParams);
|
|
55
55
|
this.owner = decoded[0];
|
|
56
|
-
this.degenNFT = new SecuritizeDegenNFT(sdk, decoded[1]);
|
|
56
|
+
this.degenNFT = new SecuritizeDegenNFT(sdk, decoded[1], this);
|
|
57
57
|
for (const t of data.tokens) this.tokensMeta.upsert(t.addr, t);
|
|
58
58
|
this.dsTokens = decoded[2].map((t) => ({
|
|
59
59
|
address: t.token,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/onchain/market/rwa/securitize/constants.ts
|
|
2
|
-
const RWA_FACTORY_SECURITIZE = "RWA_FACTORY::SECURITIZE";
|
|
3
2
|
const RWA_LIQUIDATOR_SECURITIZE = "RWA_LIQUIDATOR::SECURITIZE";
|
|
4
3
|
const PHANTOM_TOKEN_SECURITIZE_REDEMPTION = "PHANTOM_TOKEN::SECURITIZE_RD";
|
|
4
|
+
const DEGEN_NFT_SECURITIZE = "DEGEN_NFT::SECURITIZE";
|
|
5
5
|
//#endregion
|
|
6
|
-
export {
|
|
6
|
+
export { DEGEN_NFT_SECURITIZE, PHANTOM_TOKEN_SECURITIZE_REDEMPTION, RWA_LIQUIDATOR_SECURITIZE };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DEGEN_NFT_SECURITIZE, PHANTOM_TOKEN_SECURITIZE_REDEMPTION, RWA_LIQUIDATOR_SECURITIZE } from "./constants.js";
|
|
2
|
+
import { SecuritizeDegenNFT } from "./SecuritizeDegenNFT.js";
|
|
2
3
|
import { SecuritizeLiquidatorContract } from "./SecuritizeLiquidatorContract.js";
|
|
3
|
-
import { SECURITIZE_REGISTER_VAULT_TYPES } from "./types.js";
|
|
4
4
|
import { SecuritizeRWAFactory } from "./SecuritizeRWAFactory.js";
|
|
5
|
-
|
|
5
|
+
import "./types.js";
|
|
6
|
+
export { DEGEN_NFT_SECURITIZE, PHANTOM_TOKEN_SECURITIZE_REDEMPTION, RWA_LIQUIDATOR_SECURITIZE, SecuritizeDegenNFT, SecuritizeLiquidatorContract, SecuritizeRWAFactory };
|
|
@@ -1,29 +1 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
* EIP-712 type schema for the `RegisterVault` message expected by Securitize's
|
|
4
|
-
* VaultRegistrar. Matches the contract's `RegisterVault` typehash field order.
|
|
5
|
-
**/
|
|
6
|
-
const SECURITIZE_REGISTER_VAULT_TYPES = { RegisterVault: [
|
|
7
|
-
{
|
|
8
|
-
name: "investor",
|
|
9
|
-
type: "address"
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
name: "operator",
|
|
13
|
-
type: "address"
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
name: "token",
|
|
17
|
-
type: "address"
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
name: "nonce",
|
|
21
|
-
type: "uint256"
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
name: "deadline",
|
|
25
|
-
type: "uint256"
|
|
26
|
-
}
|
|
27
|
-
] };
|
|
28
|
-
//#endregion
|
|
29
|
-
export { SECURITIZE_REGISTER_VAULT_TYPES };
|
|
1
|
+
export {};
|
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
import { RWA_FACTORY_SECURITIZE } from "./securitize/constants.js";
|
|
2
|
-
import "./securitize/index.js";
|
|
3
1
|
//#region src/onchain/market/rwa/types.ts
|
|
4
2
|
/**
|
|
5
|
-
* Discriminated union of all known RWA factory contract type strings.
|
|
6
|
-
**/
|
|
7
|
-
const RWA_FACTORY_TYPES = [RWA_FACTORY_SECURITIZE];
|
|
8
|
-
/**
|
|
9
3
|
* Narrows any contract to an {@link IRWAFactory}.
|
|
10
4
|
*
|
|
11
5
|
* @param contract - contract instance to check
|
|
@@ -19,4 +13,4 @@ function isRWAFactory(contract, type) {
|
|
|
19
13
|
return contract.contractType.startsWith("RWA_FACTORY::");
|
|
20
14
|
}
|
|
21
15
|
//#endregion
|
|
22
|
-
export {
|
|
16
|
+
export { isRWAFactory };
|