@gearbox-protocol/sdk 11.10.1 → 11.11.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/dev/create2.js +1 -1
- package/dist/cjs/dev/mint/AbstractMinter.js +2 -4
- package/dist/cjs/dev/mint/DealMinter.js +0 -3
- package/dist/cjs/dev/mint/DirectMinter.js +0 -3
- package/dist/cjs/dev/mint/FallbackMinter.js +1 -1
- package/dist/cjs/dev/mint/TransferMinter.js +0 -3
- package/dist/cjs/permissionless/bindings/address-provider.js +4 -6
- package/dist/cjs/permissionless/bindings/bytecode-repository.js +23 -25
- package/dist/cjs/permissionless/bindings/compressors/token-compressor.js +4 -4
- package/dist/cjs/permissionless/bindings/compressors/withdrawal-compressor.js +11 -17
- package/dist/cjs/permissionless/bindings/cross-chain-multisig.js +23 -22
- package/dist/cjs/permissionless/bindings/factory/abstract-factory.js +7 -4
- package/dist/cjs/permissionless/bindings/governance/batches-chain.js +4 -4
- package/dist/cjs/permissionless/bindings/governance/governor.js +30 -49
- package/dist/cjs/permissionless/bindings/governance/timelock.js +4 -4
- package/dist/cjs/permissionless/bindings/index.js +0 -2
- package/dist/cjs/permissionless/bindings/instance-manager.js +58 -77
- package/dist/cjs/permissionless/bindings/market-configurator-factory.js +4 -4
- package/dist/cjs/permissionless/bindings/market-configurator.js +71 -143
- package/dist/cjs/permissionless/bindings/price-feed-store.js +8 -17
- package/dist/cjs/permissionless/bindings/router/routing-manager.js +9 -15
- package/dist/cjs/permissionless/bindings/treasury-splitter.js +14 -23
- package/dist/cjs/permissionless/core/raw-tx.js +2 -2
- package/dist/cjs/permissionless/utils/format.js +2 -2
- package/dist/cjs/permissionless/utils/governance/timelock-txs.js +2 -2
- package/dist/cjs/permissionless/utils/index.js +0 -2
- package/dist/cjs/permissionless/utils/price-update/get-price-feeds.js +1 -2
- package/dist/cjs/permissionless/utils/price-update/get-price-update-tx.js +1 -2
- package/dist/cjs/permissionless/utils/price-update/get-prices.js +1 -2
- package/dist/cjs/permissionless/utils/price-update/get-updatable-feeds.js +2 -3
- package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
- package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
- package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
- package/dist/cjs/plugins/bots/BotsPlugin.js +21 -8
- package/dist/cjs/plugins/bots/PartialLiquidationBotBaseContract.js +17 -22
- package/dist/cjs/plugins/bots/PartialLiquidationBotV300Contract.js +4 -20
- package/dist/cjs/plugins/bots/deserializePartialLiquidationBotParams.js +49 -0
- package/dist/cjs/plugins/bots/index.js +0 -2
- package/dist/cjs/plugins/zappers/ZappersPlugin.js +1 -1
- package/dist/cjs/sdk/GearboxSDK.js +8 -110
- package/dist/cjs/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +1 -4
- package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +6 -8
- package/dist/cjs/sdk/base/BaseContract.js +195 -80
- package/dist/cjs/sdk/base/ChainContractsRegister.js +135 -0
- package/dist/cjs/sdk/base/Construct.js +87 -0
- package/dist/cjs/sdk/base/SDKConstruct.js +3 -29
- package/dist/cjs/sdk/base/TokensMeta.js +4 -4
- package/dist/cjs/sdk/base/index.js +4 -2
- package/dist/cjs/sdk/core/BotListV3Contract.js +2 -2
- package/dist/cjs/sdk/core/GearStakingV3Contract.js +2 -2
- package/dist/cjs/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
- package/dist/cjs/sdk/core/address-provider/AddressProviderV300Contract.js +11 -6
- package/dist/cjs/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
- package/dist/cjs/sdk/market/MarketConfiguratorContract.js +5 -5
- package/dist/cjs/sdk/market/MarketRegister.js +7 -9
- package/dist/cjs/sdk/market/MarketSuite.js +2 -2
- package/dist/cjs/sdk/market/credit/CreditConfiguratorV300Contract.js +4 -3
- package/dist/cjs/sdk/market/credit/CreditConfiguratorV310Contract.js +4 -3
- package/dist/cjs/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
- package/dist/cjs/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
- package/dist/cjs/sdk/market/credit/CreditManagerV300Contract.js +5 -2
- package/dist/cjs/sdk/market/credit/CreditManagerV310Contract.js +5 -2
- package/dist/cjs/sdk/market/credit/CreditSuite.js +2 -3
- package/dist/cjs/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +3 -1
- package/dist/cjs/sdk/market/loss-policy/LossPolicyContract.js +2 -2
- package/dist/cjs/sdk/market/loss-policy/createLossPolicy.js +1 -1
- package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +8 -26
- package/dist/cjs/sdk/market/oracle/createPriceOracle.js +1 -1
- package/dist/cjs/sdk/market/pool/GaugeContract.js +2 -2
- package/dist/cjs/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
- package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
- package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
- package/dist/cjs/sdk/market/pool/PoolSuite.js +1 -1
- package/dist/cjs/sdk/market/pool/PoolV300Contract.js +5 -5
- package/dist/cjs/sdk/market/pool/PoolV310Contract.js +5 -5
- package/dist/cjs/sdk/market/pool/TumblerContract.js +2 -2
- package/dist/cjs/sdk/market/pool/createInterestRateModel.js +11 -15
- package/dist/cjs/sdk/market/pricefeeds/AbstractLPPriceFeed.js +2 -22
- package/dist/cjs/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
- package/dist/cjs/sdk/market/pricefeeds/BalancerStablePriceFeed.js +2 -9
- package/dist/cjs/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +2 -9
- package/dist/cjs/sdk/market/pricefeeds/BoundedPriceFeed.js +6 -2
- package/dist/cjs/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +2 -9
- package/dist/cjs/sdk/market/pricefeeds/CurveStablePriceFeed.js +2 -9
- package/dist/cjs/sdk/market/pricefeeds/CurveUSDPriceFeed.js +2 -9
- package/dist/cjs/sdk/market/pricefeeds/Erc4626PriceFeed.js +2 -18
- package/dist/cjs/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/MellowLRTPriceFeed.js +2 -10
- package/dist/cjs/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/PriceFeedRef.js +6 -4
- package/dist/cjs/sdk/market/pricefeeds/PriceFeedsRegister.js +2 -3
- package/dist/cjs/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
- package/dist/cjs/sdk/market/pricefeeds/WstETHPriceFeed.js +2 -9
- package/dist/cjs/sdk/market/pricefeeds/YearnPriceFeed.js +2 -9
- package/dist/cjs/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +17 -0
- package/dist/cjs/sdk/market/pricefeeds/updates/PythUpdater.js +7 -9
- package/dist/cjs/sdk/market/pricefeeds/updates/RedstoneUpdater.js +10 -12
- package/dist/cjs/sdk/router/AbstractRouterContract.js +5 -0
- package/dist/cjs/sdk/router/RouterV310Contract.js +3 -3
- package/dist/cjs/sdk/router/createRouter.js +4 -0
- package/dist/cjs/sdk/utils/abi-decode.js +58 -0
- package/dist/cjs/sdk/utils/index.js +2 -0
- package/dist/esm/dev/create2.js +2 -2
- package/dist/esm/dev/mint/AbstractMinter.js +3 -7
- package/dist/esm/dev/mint/DealMinter.js +0 -3
- package/dist/esm/dev/mint/DirectMinter.js +0 -3
- package/dist/esm/dev/mint/FallbackMinter.js +1 -1
- package/dist/esm/dev/mint/TransferMinter.js +0 -3
- package/dist/esm/permissionless/bindings/address-provider.js +7 -7
- package/dist/esm/permissionless/bindings/bytecode-repository.js +22 -24
- package/dist/esm/permissionless/bindings/compressors/token-compressor.js +3 -3
- package/dist/esm/permissionless/bindings/compressors/withdrawal-compressor.js +10 -16
- package/dist/esm/permissionless/bindings/cross-chain-multisig.js +20 -16
- package/dist/esm/permissionless/bindings/factory/abstract-factory.js +9 -4
- package/dist/esm/permissionless/bindings/governance/batches-chain.js +3 -3
- package/dist/esm/permissionless/bindings/governance/governor.js +28 -47
- package/dist/esm/permissionless/bindings/governance/timelock.js +3 -3
- package/dist/esm/permissionless/bindings/index.js +0 -1
- package/dist/esm/permissionless/bindings/instance-manager.js +53 -69
- package/dist/esm/permissionless/bindings/market-configurator-factory.js +3 -3
- package/dist/esm/permissionless/bindings/market-configurator.js +65 -137
- package/dist/esm/permissionless/bindings/price-feed-store.js +8 -14
- package/dist/esm/permissionless/bindings/router/routing-manager.js +8 -14
- package/dist/esm/permissionless/bindings/treasury-splitter.js +15 -22
- package/dist/esm/permissionless/core/raw-tx.js +1 -1
- package/dist/esm/permissionless/utils/format.js +1 -1
- package/dist/esm/permissionless/utils/governance/timelock-txs.js +1 -1
- package/dist/esm/permissionless/utils/index.js +0 -1
- package/dist/esm/permissionless/utils/price-update/get-price-feeds.js +4 -2
- package/dist/esm/permissionless/utils/price-update/get-price-update-tx.js +1 -1
- package/dist/esm/permissionless/utils/price-update/get-prices.js +1 -2
- package/dist/esm/permissionless/utils/price-update/get-updatable-feeds.js +1 -1
- package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +2 -2
- package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
- package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
- package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
- package/dist/esm/plugins/bots/BotsPlugin.js +11 -8
- package/dist/esm/plugins/bots/PartialLiquidationBotBaseContract.js +7 -22
- package/dist/esm/plugins/bots/PartialLiquidationBotV300Contract.js +4 -20
- package/dist/esm/plugins/bots/deserializePartialLiquidationBotParams.js +29 -0
- package/dist/esm/plugins/bots/index.js +0 -1
- package/dist/esm/plugins/zappers/ZappersPlugin.js +1 -1
- package/dist/esm/sdk/GearboxSDK.js +10 -112
- package/dist/esm/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +1 -4
- package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +7 -9
- package/dist/esm/sdk/base/BaseContract.js +202 -81
- package/dist/esm/sdk/base/ChainContractsRegister.js +111 -0
- package/dist/esm/sdk/base/Construct.js +63 -0
- package/dist/esm/sdk/base/SDKConstruct.js +3 -29
- package/dist/esm/sdk/base/TokensMeta.js +4 -4
- package/dist/esm/sdk/base/index.js +2 -1
- package/dist/esm/sdk/core/BotListV3Contract.js +2 -2
- package/dist/esm/sdk/core/GearStakingV3Contract.js +2 -2
- package/dist/esm/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
- package/dist/esm/sdk/core/address-provider/AddressProviderV300Contract.js +11 -6
- package/dist/esm/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
- package/dist/esm/sdk/market/MarketConfiguratorContract.js +5 -5
- package/dist/esm/sdk/market/MarketRegister.js +8 -10
- package/dist/esm/sdk/market/MarketSuite.js +2 -2
- package/dist/esm/sdk/market/credit/CreditConfiguratorV300Contract.js +4 -3
- package/dist/esm/sdk/market/credit/CreditConfiguratorV310Contract.js +4 -3
- package/dist/esm/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
- package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
- package/dist/esm/sdk/market/credit/CreditManagerV300Contract.js +5 -2
- package/dist/esm/sdk/market/credit/CreditManagerV310Contract.js +5 -2
- package/dist/esm/sdk/market/credit/CreditSuite.js +2 -3
- package/dist/esm/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +3 -1
- package/dist/esm/sdk/market/loss-policy/LossPolicyContract.js +5 -3
- package/dist/esm/sdk/market/loss-policy/createLossPolicy.js +1 -1
- package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +8 -26
- package/dist/esm/sdk/market/oracle/createPriceOracle.js +1 -1
- package/dist/esm/sdk/market/pool/GaugeContract.js +2 -2
- package/dist/esm/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
- package/dist/esm/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
- package/dist/esm/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
- package/dist/esm/sdk/market/pool/PoolSuite.js +1 -1
- package/dist/esm/sdk/market/pool/PoolV300Contract.js +5 -5
- package/dist/esm/sdk/market/pool/PoolV310Contract.js +5 -5
- package/dist/esm/sdk/market/pool/TumblerContract.js +2 -2
- package/dist/esm/sdk/market/pool/createInterestRateModel.js +11 -15
- package/dist/esm/sdk/market/pricefeeds/AbstractLPPriceFeed.js +2 -22
- package/dist/esm/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
- package/dist/esm/sdk/market/pricefeeds/BalancerStablePriceFeed.js +3 -13
- package/dist/esm/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +3 -13
- package/dist/esm/sdk/market/pricefeeds/BoundedPriceFeed.js +6 -2
- package/dist/esm/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +3 -10
- package/dist/esm/sdk/market/pricefeeds/CurveStablePriceFeed.js +3 -10
- package/dist/esm/sdk/market/pricefeeds/CurveUSDPriceFeed.js +3 -10
- package/dist/esm/sdk/market/pricefeeds/Erc4626PriceFeed.js +2 -18
- package/dist/esm/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/MellowLRTPriceFeed.js +3 -11
- package/dist/esm/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/PriceFeedRef.js +7 -5
- package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +3 -9
- package/dist/esm/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
- package/dist/esm/sdk/market/pricefeeds/WstETHPriceFeed.js +3 -10
- package/dist/esm/sdk/market/pricefeeds/YearnPriceFeed.js +3 -10
- package/dist/esm/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +17 -0
- package/dist/esm/sdk/market/pricefeeds/updates/PythUpdater.js +8 -10
- package/dist/esm/sdk/market/pricefeeds/updates/RedstoneUpdater.js +11 -13
- package/dist/esm/sdk/router/AbstractRouterContract.js +5 -0
- package/dist/esm/sdk/router/RouterV310Contract.js +3 -3
- package/dist/esm/sdk/router/createRouter.js +4 -0
- package/dist/esm/sdk/utils/abi-decode.js +37 -0
- package/dist/esm/sdk/utils/index.js +1 -0
- package/dist/types/dev/create2.d.ts +2 -2
- package/dist/types/dev/mint/AbstractMinter.d.ts +3 -4
- package/dist/types/dev/mint/DealMinter.d.ts +0 -3
- package/dist/types/dev/mint/DirectMinter.d.ts +0 -3
- package/dist/types/dev/mint/TransferMinter.d.ts +0 -3
- package/dist/types/permissionless/bindings/address-provider.d.ts +4 -255
- package/dist/types/permissionless/bindings/bytecode-repository.d.ts +5 -6
- package/dist/types/permissionless/bindings/compressors/token-compressor.d.ts +3 -3
- package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +4 -5
- package/dist/types/permissionless/bindings/cross-chain-multisig.d.ts +7 -7
- package/dist/types/permissionless/bindings/factory/abstract-factory.d.ts +1 -1
- package/dist/types/permissionless/bindings/governance/batches-chain.d.ts +3 -4
- package/dist/types/permissionless/bindings/governance/governor.d.ts +6 -7
- package/dist/types/permissionless/bindings/governance/timelock.d.ts +3 -3
- package/dist/types/permissionless/bindings/governance/types.d.ts +1 -1
- package/dist/types/permissionless/bindings/index.d.ts +0 -1
- package/dist/types/permissionless/bindings/instance-manager.d.ts +6 -7
- package/dist/types/permissionless/bindings/market-configurator-factory.d.ts +4 -4
- package/dist/types/permissionless/bindings/market-configurator.d.ts +6 -6
- package/dist/types/permissionless/bindings/price-feed-store.d.ts +6 -7
- package/dist/types/permissionless/bindings/router/routing-manager.d.ts +4 -5
- package/dist/types/permissionless/bindings/treasury-splitter.d.ts +5 -6
- package/dist/types/permissionless/core/proposal.d.ts +1 -7
- package/dist/types/permissionless/utils/create2.d.ts +1 -1
- package/dist/types/permissionless/utils/governance/batch.d.ts +1 -1
- package/dist/types/permissionless/utils/index.d.ts +0 -1
- package/dist/types/permissionless/utils/price-update/get-price-feeds.d.ts +3 -3
- package/dist/types/permissionless/utils/price-update/get-price-update-tx.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/BalancerV2VaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/EqualizerRouterAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/InfraredVaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowVaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +2 -16
- package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/YearnV2AdapterContract.d.ts +2 -2
- package/dist/types/plugins/bots/PartialLiquidationBotV300Contract.d.ts +2 -8
- package/dist/types/plugins/bots/deserializePartialLiquidationBotParams.d.ts +3 -0
- package/dist/types/plugins/bots/index.d.ts +0 -1
- package/dist/types/sdk/GearboxSDK.d.ts +5 -76
- package/dist/types/sdk/accountMigration/types.d.ts +1 -2
- package/dist/types/sdk/accounts/types.d.ts +4 -3
- package/dist/types/sdk/base/BaseContract.d.ts +72 -28
- package/dist/types/sdk/base/ChainContractsRegister.d.ts +57 -0
- package/dist/types/sdk/base/Construct.d.ts +38 -0
- package/dist/types/sdk/base/PlaceholderContract.d.ts +2 -2
- package/dist/types/sdk/base/SDKConstruct.d.ts +2 -16
- package/dist/types/sdk/base/TokensMeta.d.ts +2 -3
- package/dist/types/sdk/base/index.d.ts +2 -1
- package/dist/types/sdk/base/types.d.ts +50 -0
- package/dist/types/sdk/core/BotListV3Contract.d.ts +1 -1
- package/dist/types/sdk/core/GearStakingV3Contract.d.ts +1 -1
- package/dist/types/sdk/core/address-provider/AbstractAddressProviderContract.d.ts +3 -4
- package/dist/types/sdk/core/address-provider/AddressProviderV300Contract.d.ts +3 -3
- package/dist/types/sdk/core/address-provider/AddressProviderV310Contract.d.ts +3 -3
- package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +2 -2
- package/dist/types/sdk/market/credit/CreditConfiguratorV300Contract.d.ts +3 -3
- package/dist/types/sdk/market/credit/CreditConfiguratorV310Contract.d.ts +3 -3
- package/dist/types/sdk/market/credit/CreditFacadeV300Contract.d.ts +3 -4
- package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +3 -4
- package/dist/types/sdk/market/credit/CreditManagerV300Contract.d.ts +1 -1
- package/dist/types/sdk/market/credit/CreditManagerV310Contract.d.ts +1 -1
- package/dist/types/sdk/market/credit/CreditSuite.d.ts +1 -1
- package/dist/types/sdk/market/credit/types.d.ts +1 -2
- package/dist/types/sdk/market/loss-policy/AliasLossPolicyV310Contract.d.ts +1 -0
- package/dist/types/sdk/market/loss-policy/LossPolicyContract.d.ts +2 -3
- package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +3 -12
- package/dist/types/sdk/market/oracle/types.d.ts +0 -10
- package/dist/types/sdk/market/pool/GaugeContract.d.ts +2 -3
- package/dist/types/sdk/market/pool/LinearInterestRateModelContract.d.ts +2 -3
- package/dist/types/sdk/market/pool/PoolQuotaKeeperV300Contract.d.ts +2 -3
- package/dist/types/sdk/market/pool/PoolQuotaKeeperV310Contract.d.ts +2 -3
- package/dist/types/sdk/market/pool/PoolV300Contract.d.ts +4 -5
- package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +4 -5
- package/dist/types/sdk/market/pool/TumblerContract.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/AbstractLPPriceFeed.d.ts +3 -8
- package/dist/types/sdk/market/pricefeeds/AbstractPriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/BalancerStablePriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/BalancerWeightedPriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/BoundedPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/CompositePriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/ConstantPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/CurveCryptoPriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/CurveStablePriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/CurveUSDPriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/Erc4626PriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/ExternalPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/MellowLRTPriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/PriceFeedRef.d.ts +3 -4
- package/dist/types/sdk/market/pricefeeds/PriceFeedsRegister.d.ts +1 -2
- package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/RedstonePriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/WstETHPriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/YearnPriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/ZeroPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/types.d.ts +0 -5
- package/dist/types/sdk/market/pricefeeds/updates/PriceUpdatesCache.d.ts +8 -1
- package/dist/types/sdk/router/AbstractRouterContract.d.ts +4 -1
- package/dist/types/sdk/router/types.d.ts +1 -2
- package/dist/types/sdk/sdk-legacy/core/creditAccount.d.ts +2 -2
- package/dist/types/sdk/utils/abi-decode.d.ts +10 -0
- package/dist/types/sdk/utils/index.d.ts +1 -0
- package/package.json +11 -11
- package/dist/cjs/permissionless/bindings/base-contract.js +0 -173
- package/dist/cjs/permissionless/utils/abi-decoder.js +0 -72
- package/dist/cjs/sdk/base/AddressLabeller.js +0 -49
- package/dist/cjs/sdk/base/IAddressLabeller.js +0 -16
- package/dist/esm/permissionless/bindings/base-contract.js +0 -151
- package/dist/esm/permissionless/utils/abi-decoder.js +0 -50
- package/dist/esm/sdk/base/AddressLabeller.js +0 -25
- package/dist/esm/sdk/base/IAddressLabeller.js +0 -0
- package/dist/types/permissionless/bindings/base-contract.d.ts +0 -23
- package/dist/types/permissionless/utils/abi-decoder.d.ts +0 -13
- package/dist/types/sdk/base/AddressLabeller.d.ts +0 -11
- package/dist/types/sdk/base/IAddressLabeller.d.ts +0 -9
|
@@ -7,8 +7,8 @@ import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
|
7
7
|
const abi = iUniswapV3AdapterAbi;
|
|
8
8
|
class UniswapV3AdapterContract extends AbstractAdapterContract {
|
|
9
9
|
supportedPools;
|
|
10
|
-
constructor(
|
|
11
|
-
super(
|
|
10
|
+
constructor(options, args) {
|
|
11
|
+
super(options, { ...args, abi });
|
|
12
12
|
const decoded = decodeAbiParameters(
|
|
13
13
|
[
|
|
14
14
|
{ type: "address", name: "creditManager" },
|
|
@@ -31,14 +31,14 @@ class UniswapV3AdapterContract extends AbstractAdapterContract {
|
|
|
31
31
|
fee: pool.fee
|
|
32
32
|
}));
|
|
33
33
|
}
|
|
34
|
-
|
|
34
|
+
stringifyFunctionParams(params) {
|
|
35
35
|
switch (params.functionName) {
|
|
36
36
|
case "exactInputSingle": {
|
|
37
37
|
const [{ tokenIn, tokenOut, fee, amountIn, amountOutMinimum }] = params.args;
|
|
38
|
-
const tokenInSym = this.
|
|
39
|
-
const tokenOutSym = this.
|
|
40
|
-
const amountInStr = this.
|
|
41
|
-
const amountOutMinimumStr = this.
|
|
38
|
+
const tokenInSym = this.tokensMeta.symbol(tokenIn);
|
|
39
|
+
const tokenOutSym = this.tokensMeta.symbol(tokenOut);
|
|
40
|
+
const amountInStr = this.tokensMeta.formatBN(tokenIn, amountIn);
|
|
41
|
+
const amountOutMinimumStr = this.tokensMeta.formatBN(
|
|
42
42
|
tokenOut,
|
|
43
43
|
amountOutMinimum
|
|
44
44
|
);
|
|
@@ -48,9 +48,9 @@ class UniswapV3AdapterContract extends AbstractAdapterContract {
|
|
|
48
48
|
}
|
|
49
49
|
case "exactDiffInputSingle": {
|
|
50
50
|
const [{ tokenIn, tokenOut, fee, leftoverAmount, rateMinRAY }] = params.args;
|
|
51
|
-
const tokenInSym = this.
|
|
52
|
-
const tokenOutSym = this.
|
|
53
|
-
const leftoverAmountStr = this.
|
|
51
|
+
const tokenInSym = this.tokensMeta.symbol(tokenIn);
|
|
52
|
+
const tokenOutSym = this.tokensMeta.symbol(tokenOut);
|
|
53
|
+
const leftoverAmountStr = this.tokensMeta.formatBN(
|
|
54
54
|
tokenIn,
|
|
55
55
|
leftoverAmount
|
|
56
56
|
);
|
|
@@ -63,8 +63,8 @@ class UniswapV3AdapterContract extends AbstractAdapterContract {
|
|
|
63
63
|
const [{ amountIn, amountOutMinimum, path }] = params.args;
|
|
64
64
|
const pathStr = this.trackInputPath(path);
|
|
65
65
|
const token = `0x${path.replace("0x", "").slice(0, 40)}`;
|
|
66
|
-
const amountInStr = this.
|
|
67
|
-
const amountOutMinimumStr = this.
|
|
66
|
+
const amountInStr = this.tokensMeta.formatBN(token, amountIn);
|
|
67
|
+
const amountOutMinimumStr = this.tokensMeta.formatBN(
|
|
68
68
|
`0x${path.slice(-40, path.length)}`,
|
|
69
69
|
amountOutMinimum
|
|
70
70
|
);
|
|
@@ -74,7 +74,7 @@ class UniswapV3AdapterContract extends AbstractAdapterContract {
|
|
|
74
74
|
}
|
|
75
75
|
case "exactDiffInput": {
|
|
76
76
|
const [{ leftoverAmount, rateMinRAY, path }] = params.args;
|
|
77
|
-
const leftoverAmountStr = this.
|
|
77
|
+
const leftoverAmountStr = this.tokensMeta.formatBN(
|
|
78
78
|
`0x${path.replace("0x", "").slice(0, 40)}`,
|
|
79
79
|
leftoverAmount
|
|
80
80
|
);
|
|
@@ -89,11 +89,11 @@ class UniswapV3AdapterContract extends AbstractAdapterContract {
|
|
|
89
89
|
case "exactOutput": {
|
|
90
90
|
const [{ amountInMaximum, amountOut, path }] = params.args;
|
|
91
91
|
const pathStr = this.trackOutputPath(path);
|
|
92
|
-
const amountInMaximumStr = this.
|
|
92
|
+
const amountInMaximumStr = this.tokensMeta.formatBN(
|
|
93
93
|
`0x${path.slice(-40, path.length)}`,
|
|
94
94
|
amountInMaximum
|
|
95
95
|
);
|
|
96
|
-
const amountOutStr = this.
|
|
96
|
+
const amountOutStr = this.tokensMeta.formatBN(
|
|
97
97
|
`0x${path.replace("0x", "").slice(0, 40)}`,
|
|
98
98
|
amountOut
|
|
99
99
|
);
|
|
@@ -103,19 +103,19 @@ class UniswapV3AdapterContract extends AbstractAdapterContract {
|
|
|
103
103
|
}
|
|
104
104
|
case "exactOutputSingle": {
|
|
105
105
|
const [{ tokenIn, tokenOut, fee, amountOut, amountInMaximum }] = params.args;
|
|
106
|
-
const tokenInSym = this.
|
|
107
|
-
const tokenOutSym = this.
|
|
108
|
-
const amountInMaximumStr = this.
|
|
106
|
+
const tokenInSym = this.tokensMeta.symbol(tokenIn);
|
|
107
|
+
const tokenOutSym = this.tokensMeta.symbol(tokenOut);
|
|
108
|
+
const amountInMaximumStr = this.tokensMeta.formatBN(
|
|
109
109
|
tokenIn,
|
|
110
110
|
amountInMaximum
|
|
111
111
|
);
|
|
112
|
-
const amountOutStr = this.
|
|
112
|
+
const amountOutStr = this.tokensMeta.formatBN(tokenOut, amountOut);
|
|
113
113
|
return [
|
|
114
114
|
`(amountInMaximum: ${amountInMaximumStr}, amountOut: ${amountOutStr}, path: ${tokenInSym} ==(fee: ${fee})==> ${tokenOutSym})`
|
|
115
115
|
];
|
|
116
116
|
}
|
|
117
117
|
default:
|
|
118
|
-
return
|
|
118
|
+
return super.stringifyFunctionParams(params);
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
trackInputPath(path) {
|
|
@@ -126,7 +126,7 @@ class UniswapV3AdapterContract extends AbstractAdapterContract {
|
|
|
126
126
|
pointer,
|
|
127
127
|
pointer + 40
|
|
128
128
|
)}`.toLowerCase();
|
|
129
|
-
result += this.
|
|
129
|
+
result += this.tokensMeta.symbol(from) || from;
|
|
130
130
|
pointer += 40;
|
|
131
131
|
if (pointer > path.length - 6) return result;
|
|
132
132
|
const fee = parseInt(path.slice(pointer, pointer + 6), 16);
|
|
@@ -141,7 +141,7 @@ class UniswapV3AdapterContract extends AbstractAdapterContract {
|
|
|
141
141
|
while (pointer >= 40) {
|
|
142
142
|
pointer -= 40;
|
|
143
143
|
const from = `0x${path.slice(pointer, pointer + 40)}`;
|
|
144
|
-
result += this.
|
|
144
|
+
result += this.tokensMeta.symbol(from) || from;
|
|
145
145
|
if (pointer < 6) return result;
|
|
146
146
|
pointer -= 6;
|
|
147
147
|
const fee = parseInt(path.slice(pointer, pointer + 6), 16);
|
|
@@ -4,8 +4,8 @@ import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
|
4
4
|
const abi = iUniswapV4AdapterAbi;
|
|
5
5
|
class UniswapV4AdapterContract extends AbstractAdapterContract {
|
|
6
6
|
supportedPoolKeys;
|
|
7
|
-
constructor(
|
|
8
|
-
super(
|
|
7
|
+
constructor(options, args) {
|
|
8
|
+
super(options, { ...args, abi });
|
|
9
9
|
const decoded = decodeAbiParameters(
|
|
10
10
|
[
|
|
11
11
|
{ type: "address", name: "creditManager" },
|
|
@@ -6,8 +6,8 @@ class UpshiftVaultAdapterContract extends AbstractAdapterContract {
|
|
|
6
6
|
vault;
|
|
7
7
|
asset;
|
|
8
8
|
stakedPhantomToken;
|
|
9
|
-
constructor(
|
|
10
|
-
super(
|
|
9
|
+
constructor(options, args) {
|
|
10
|
+
super(options, { ...args, abi });
|
|
11
11
|
const decoded = decodeAbiParameters(
|
|
12
12
|
[
|
|
13
13
|
{ type: "address", name: "creditManager" },
|
|
@@ -4,8 +4,8 @@ import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
|
4
4
|
const abi = iVelodromeV2RouterAdapterAbi;
|
|
5
5
|
class VelodromeV2RouterAdapterContract extends AbstractAdapterContract {
|
|
6
6
|
supportedPools;
|
|
7
|
-
constructor(
|
|
8
|
-
super(
|
|
7
|
+
constructor(options, args) {
|
|
8
|
+
super(options, { ...args, abi });
|
|
9
9
|
const decoded = decodeAbiParameters(
|
|
10
10
|
[
|
|
11
11
|
{ type: "address", name: "creditManager" },
|
|
@@ -4,8 +4,8 @@ import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
|
4
4
|
const abi = iwstEthv1AdapterAbi;
|
|
5
5
|
class WstETHV1AdapterContract extends AbstractAdapterContract {
|
|
6
6
|
stETH;
|
|
7
|
-
constructor(
|
|
8
|
-
super(
|
|
7
|
+
constructor(options, args) {
|
|
8
|
+
super(options, { ...args, abi });
|
|
9
9
|
const decoded = decodeAbiParameters(
|
|
10
10
|
[
|
|
11
11
|
{ type: "address", name: "creditManager" },
|
|
@@ -4,8 +4,8 @@ import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
|
4
4
|
const abi = iYearnV2AdapterAbi;
|
|
5
5
|
class YearnV2RouterAdapterContract extends AbstractAdapterContract {
|
|
6
6
|
token;
|
|
7
|
-
constructor(
|
|
8
|
-
super(
|
|
7
|
+
constructor(options, args) {
|
|
8
|
+
super(options, { ...args, abi });
|
|
9
9
|
const decoded = decodeAbiParameters(
|
|
10
10
|
[
|
|
11
11
|
{ type: "address", name: "creditManager" },
|
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
TypedObjectUtils,
|
|
9
9
|
VERSION_RANGE_310
|
|
10
10
|
} from "../../sdk/index.js";
|
|
11
|
+
import deserializePartialLiquidationBotParams from "./deserializePartialLiquidationBotParams.js";
|
|
11
12
|
import { PartialLiquidationBotV300Contract } from "./PartialLiquidationBotV300Contract.js";
|
|
12
13
|
import { PartialLiquidationBotV310Contract } from "./PartialLiquidationBotV310Contract.js";
|
|
13
14
|
import {
|
|
@@ -59,15 +60,15 @@ class BotsPlugin extends BasePlugin {
|
|
|
59
60
|
return this.state;
|
|
60
61
|
}
|
|
61
62
|
#loadStateMarketState(mc, state) {
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
const states = [...state].sort(
|
|
64
|
+
(a, b) => deserializePartialLiquidationBotParams(a.baseParams).minHealthFactor - deserializePartialLiquidationBotParams(b.baseParams).minHealthFactor
|
|
65
|
+
);
|
|
66
|
+
if (states.length && isV300(states[0].baseParams.version)) {
|
|
67
|
+
if (states.length !== 4) {
|
|
65
68
|
throw new Error(`expected 4 bots v300 for market configurator ${mc}`);
|
|
66
69
|
}
|
|
67
|
-
for (let i = 0; i < bots.length; i++) {
|
|
68
|
-
bots[i].botType = LIQUIDATION_BOT_TYPES[i];
|
|
69
|
-
}
|
|
70
70
|
}
|
|
71
|
+
const bots = states.map((s, i) => this.#createBot(mc, s, i));
|
|
71
72
|
this.botsByMarket.upsert(mc, bots);
|
|
72
73
|
}
|
|
73
74
|
stateHuman(raw) {
|
|
@@ -105,13 +106,15 @@ class BotsPlugin extends BasePlugin {
|
|
|
105
106
|
this.#loadStateMarketState(mc, botStates);
|
|
106
107
|
}
|
|
107
108
|
}
|
|
108
|
-
#createBot(marketConfigurator, data) {
|
|
109
|
+
#createBot(marketConfigurator, data, index) {
|
|
109
110
|
const v = Number(data.baseParams.version);
|
|
110
111
|
if (isV300(v)) {
|
|
112
|
+
const botType = LIQUIDATION_BOT_TYPES[index];
|
|
111
113
|
return new PartialLiquidationBotV300Contract(
|
|
112
114
|
this.sdk,
|
|
113
115
|
data,
|
|
114
|
-
marketConfigurator
|
|
116
|
+
marketConfigurator,
|
|
117
|
+
botType
|
|
115
118
|
);
|
|
116
119
|
} else if (isV310(v)) {
|
|
117
120
|
return new PartialLiquidationBotV310Contract(
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { decodeAbiParameters } from "viem";
|
|
2
1
|
import { BaseContract, formatPercentage } from "../../sdk/index.js";
|
|
2
|
+
import deserializePartialLiquidationBotParams from "./deserializePartialLiquidationBotParams.js";
|
|
3
3
|
class PartialLiquidationBotBaseContract extends BaseContract {
|
|
4
4
|
requiredPermissions;
|
|
5
5
|
marketConfigurator;
|
|
@@ -7,27 +7,12 @@ class PartialLiquidationBotBaseContract extends BaseContract {
|
|
|
7
7
|
constructor(sdk, args) {
|
|
8
8
|
super(sdk, args);
|
|
9
9
|
this.#serializedParams = args.serializedParams;
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
] = decodeAbiParameters(
|
|
17
|
-
[
|
|
18
|
-
{ name: "treasury", type: "address" },
|
|
19
|
-
{ name: "minHealthFactor", type: "uint16" },
|
|
20
|
-
{ name: "maxHealthFactor", type: "uint16" },
|
|
21
|
-
{ name: "premiumScaleFactor", type: "uint16" },
|
|
22
|
-
{ name: "feeScaleFactor", type: "uint16" }
|
|
23
|
-
],
|
|
24
|
-
args.serializedParams
|
|
25
|
-
);
|
|
26
|
-
this.treasury = treasury;
|
|
27
|
-
this.minHealthFactor = minHealthFactor;
|
|
28
|
-
this.maxHealthFactor = maxHealthFactor;
|
|
29
|
-
this.premiumScaleFactor = premiumScaleFactor;
|
|
30
|
-
this.feeScaleFactor = feeScaleFactor;
|
|
10
|
+
const bp = deserializePartialLiquidationBotParams(args);
|
|
11
|
+
this.treasury = bp.treasury;
|
|
12
|
+
this.minHealthFactor = bp.minHealthFactor;
|
|
13
|
+
this.maxHealthFactor = bp.maxHealthFactor;
|
|
14
|
+
this.premiumScaleFactor = bp.premiumScaleFactor;
|
|
15
|
+
this.feeScaleFactor = bp.feeScaleFactor;
|
|
31
16
|
this.marketConfigurator = args.marketConfigurator;
|
|
32
17
|
this.requiredPermissions = args.requiredPermissions;
|
|
33
18
|
}
|
|
@@ -2,15 +2,16 @@ import { iPartialLiquidationBotV300Abi } from "./abi/index.js";
|
|
|
2
2
|
import { PartialLiquidationBotBaseContract } from "./PartialLiquidationBotBaseContract.js";
|
|
3
3
|
const abi = iPartialLiquidationBotV300Abi;
|
|
4
4
|
class PartialLiquidationBotV300Contract extends PartialLiquidationBotBaseContract {
|
|
5
|
-
|
|
6
|
-
constructor(sdk, args, marketConfigurator) {
|
|
5
|
+
botType;
|
|
6
|
+
constructor(sdk, args, marketConfigurator, botType) {
|
|
7
7
|
super(sdk, {
|
|
8
8
|
abi,
|
|
9
9
|
...args.baseParams,
|
|
10
10
|
requiredPermissions: args.requiredPermissions,
|
|
11
11
|
marketConfigurator,
|
|
12
|
-
name:
|
|
12
|
+
name: `PartialLiquidationBotV300 (${botType})`
|
|
13
13
|
});
|
|
14
|
+
this.botType = botType;
|
|
14
15
|
}
|
|
15
16
|
stateHuman(raw) {
|
|
16
17
|
return {
|
|
@@ -18,23 +19,6 @@ class PartialLiquidationBotV300Contract extends PartialLiquidationBotBaseContrac
|
|
|
18
19
|
botType: this.botType
|
|
19
20
|
};
|
|
20
21
|
}
|
|
21
|
-
/**
|
|
22
|
-
* Set the bot type
|
|
23
|
-
* This method should only be called once from BotsPlugin
|
|
24
|
-
*/
|
|
25
|
-
set botType(type) {
|
|
26
|
-
if (this.#botType) {
|
|
27
|
-
throw new Error("bot type already set");
|
|
28
|
-
}
|
|
29
|
-
this.#botType = type;
|
|
30
|
-
this.name = `PartialLiquidationBotV300 (${type})`;
|
|
31
|
-
}
|
|
32
|
-
get botType() {
|
|
33
|
-
if (!this.#botType) {
|
|
34
|
-
throw new Error("bot type not set");
|
|
35
|
-
}
|
|
36
|
-
return this.#botType;
|
|
37
|
-
}
|
|
38
22
|
}
|
|
39
23
|
export {
|
|
40
24
|
PartialLiquidationBotV300Contract
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { decodeAbiParameters } from "viem";
|
|
2
|
+
function deserializePartialLiquidationBotParams(params) {
|
|
3
|
+
const [
|
|
4
|
+
treasury,
|
|
5
|
+
minHealthFactor,
|
|
6
|
+
maxHealthFactor,
|
|
7
|
+
premiumScaleFactor,
|
|
8
|
+
feeScaleFactor
|
|
9
|
+
] = decodeAbiParameters(
|
|
10
|
+
[
|
|
11
|
+
{ name: "treasury", type: "address" },
|
|
12
|
+
{ name: "minHealthFactor", type: "uint16" },
|
|
13
|
+
{ name: "maxHealthFactor", type: "uint16" },
|
|
14
|
+
{ name: "premiumScaleFactor", type: "uint16" },
|
|
15
|
+
{ name: "feeScaleFactor", type: "uint16" }
|
|
16
|
+
],
|
|
17
|
+
params.serializedParams
|
|
18
|
+
);
|
|
19
|
+
return {
|
|
20
|
+
treasury,
|
|
21
|
+
minHealthFactor,
|
|
22
|
+
maxHealthFactor,
|
|
23
|
+
premiumScaleFactor,
|
|
24
|
+
feeScaleFactor
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export {
|
|
28
|
+
deserializePartialLiquidationBotParams as default
|
|
29
|
+
};
|
|
@@ -115,7 +115,7 @@ class ZappersPlugin extends BasePlugin {
|
|
|
115
115
|
const extraZappersTokens = this.extraZappers.values().flatMap((l) => l.flatMap((z) => [z.tokenIn, z.tokenOut]));
|
|
116
116
|
for (const t of [...zappersTokens, ...extraZappersTokens]) {
|
|
117
117
|
this.sdk.tokensMeta.upsert(t.addr, t);
|
|
118
|
-
this.sdk.
|
|
118
|
+
this.sdk.setAddressLabel(t.addr, t.symbol);
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
}
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
http,
|
|
6
6
|
parseEventLogs
|
|
7
7
|
} from "viem";
|
|
8
|
-
import {
|
|
8
|
+
import { ChainContractsRegister } from "./base/index.js";
|
|
9
9
|
import { detectNetwork, getChain } from "./chain/index.js";
|
|
10
10
|
import {
|
|
11
11
|
ADDRESS_PROVIDER_V310,
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
PluginStateVersionError
|
|
31
31
|
} from "./plugins/index.js";
|
|
32
32
|
import { createRouter } from "./router/index.js";
|
|
33
|
-
import {
|
|
33
|
+
import { TypedObjectUtils, toAddress } from "./utils/index.js";
|
|
34
34
|
import { Hooks } from "./utils/internal/index.js";
|
|
35
35
|
import { getLogsSafe } from "./utils/viem/index.js";
|
|
36
36
|
const ERR_NOT_ATTACHED = new Error("Gearbox SDK not attached");
|
|
@@ -69,10 +69,9 @@ async function attachClient(options, network) {
|
|
|
69
69
|
}
|
|
70
70
|
return createClient(options, { networkType, chainId });
|
|
71
71
|
}
|
|
72
|
-
class GearboxSDK {
|
|
72
|
+
class GearboxSDK extends ChainContractsRegister {
|
|
73
73
|
#hooks = new Hooks();
|
|
74
74
|
plugins;
|
|
75
|
-
#client;
|
|
76
75
|
// Block which was use for data query
|
|
77
76
|
#currentBlock;
|
|
78
77
|
#timestamp;
|
|
@@ -83,29 +82,11 @@ class GearboxSDK {
|
|
|
83
82
|
// Collection of markets
|
|
84
83
|
#marketRegister;
|
|
85
84
|
#priceFeeds;
|
|
86
|
-
logger;
|
|
87
85
|
gasLimit;
|
|
88
|
-
addressLabels = new AddressLabeller();
|
|
89
|
-
/**
|
|
90
|
-
* Interest rate models can be reused across chain (and SDK operates on chain level)
|
|
91
|
-
* TODO: use whatever interface is necessary for InterestRateModels
|
|
92
|
-
*/
|
|
93
|
-
interestRateModels = new AddressMap();
|
|
94
86
|
/**
|
|
95
87
|
* Will throw an error if contract type is not supported, otherwise will try to use generic contract first, if possible
|
|
96
88
|
*/
|
|
97
89
|
strictContractTypes;
|
|
98
|
-
/**
|
|
99
|
-
* All contracts known to sdk
|
|
100
|
-
*/
|
|
101
|
-
contracts = new AddressMap(
|
|
102
|
-
void 0,
|
|
103
|
-
"contracts"
|
|
104
|
-
);
|
|
105
|
-
/**
|
|
106
|
-
* Token metadata such as symbol and decimals
|
|
107
|
-
*/
|
|
108
|
-
tokensMeta;
|
|
109
90
|
addHook = this.#hooks.addHook.bind(this.#hooks);
|
|
110
91
|
removeHook = this.#hooks.removeHook.bind(this.#hooks);
|
|
111
92
|
static async attach(options) {
|
|
@@ -158,17 +139,16 @@ class GearboxSDK {
|
|
|
158
139
|
}).#hydrate(rest, state);
|
|
159
140
|
}
|
|
160
141
|
constructor(options) {
|
|
161
|
-
|
|
142
|
+
super(options.client, options.logger);
|
|
162
143
|
this.strictContractTypes = options.strictContractTypes ?? false;
|
|
163
144
|
this.plugins = options.plugins ?? {};
|
|
164
|
-
this.#client = options.client;
|
|
165
145
|
for (const plugin of Object.values(this.plugins)) {
|
|
166
146
|
plugin.sdk = this;
|
|
167
147
|
}
|
|
168
148
|
if (options.gasLimit !== null) {
|
|
169
149
|
this.gasLimit = options.gasLimit || 550000000n;
|
|
170
150
|
}
|
|
171
|
-
this.
|
|
151
|
+
Object.assign(this, ChainContractsRegister.for(this.client, this.logger));
|
|
172
152
|
}
|
|
173
153
|
async #attach(opts) {
|
|
174
154
|
const {
|
|
@@ -324,74 +304,9 @@ class GearboxSDK {
|
|
|
324
304
|
timestamp: state.timestamp
|
|
325
305
|
});
|
|
326
306
|
}
|
|
327
|
-
get client() {
|
|
328
|
-
return this.#client;
|
|
329
|
-
}
|
|
330
|
-
/**
|
|
331
|
-
* Replaces client inflight
|
|
332
|
-
* You're responsible for all inconsistencies between new and old client
|
|
333
|
-
* @param options
|
|
334
|
-
*/
|
|
335
|
-
replaceClient(options, network) {
|
|
336
|
-
this.#client = createClient(options, network);
|
|
337
|
-
}
|
|
338
307
|
get networkType() {
|
|
339
308
|
return this.client.chain.network;
|
|
340
309
|
}
|
|
341
|
-
get chain() {
|
|
342
|
-
return this.client.chain;
|
|
343
|
-
}
|
|
344
|
-
get chainId() {
|
|
345
|
-
return this.client.chain.id;
|
|
346
|
-
}
|
|
347
|
-
/**
|
|
348
|
-
* Converts contract call into some human-friendly string
|
|
349
|
-
* This method is safe and should not throw
|
|
350
|
-
* @param address
|
|
351
|
-
* @param calldata
|
|
352
|
-
* @returns
|
|
353
|
-
*/
|
|
354
|
-
parseFunctionData(address, calldata) {
|
|
355
|
-
const contract = this.contracts.get(address);
|
|
356
|
-
return contract ? contract.parseFunctionData(calldata) : `unknown: ${address}.${calldata.slice(0, 10)}`;
|
|
357
|
-
}
|
|
358
|
-
/**
|
|
359
|
-
* Converts multicalls into some human-friendly strings
|
|
360
|
-
* This method is safe and should not throw
|
|
361
|
-
* @param address
|
|
362
|
-
* @param calldata
|
|
363
|
-
* @returns
|
|
364
|
-
*/
|
|
365
|
-
parseMultiCall(calls) {
|
|
366
|
-
return calls.map(
|
|
367
|
-
(call) => this.parseFunctionData(call.target, call.callData)
|
|
368
|
-
);
|
|
369
|
-
}
|
|
370
|
-
/**
|
|
371
|
-
* Return args, function, type and address name from contract call
|
|
372
|
-
* @param address
|
|
373
|
-
* @param calldata
|
|
374
|
-
* @returns
|
|
375
|
-
*/
|
|
376
|
-
parseFunctionDataToObject(address, calldata) {
|
|
377
|
-
const contract = this.contracts.get(address);
|
|
378
|
-
return contract ? {
|
|
379
|
-
...contract.parseFunctionDataToObject(calldata),
|
|
380
|
-
address,
|
|
381
|
-
type: contract.contractType
|
|
382
|
-
} : null;
|
|
383
|
-
}
|
|
384
|
-
/**
|
|
385
|
-
* Converts multicalls into call info
|
|
386
|
-
* @param address
|
|
387
|
-
* @param calldata
|
|
388
|
-
* @returns
|
|
389
|
-
*/
|
|
390
|
-
parseMultiCallToObject(calls) {
|
|
391
|
-
return calls.map(
|
|
392
|
-
(call) => this.parseFunctionDataToObject(call.target, call.callData)
|
|
393
|
-
);
|
|
394
|
-
}
|
|
395
310
|
stateHuman(raw = true) {
|
|
396
311
|
return {
|
|
397
312
|
block: Number(this.currentBlock),
|
|
@@ -483,7 +398,7 @@ class GearboxSDK {
|
|
|
483
398
|
address: watchAddresses
|
|
484
399
|
});
|
|
485
400
|
for (const log of logs) {
|
|
486
|
-
const contract = this.
|
|
401
|
+
const contract = this.getContract(log.address);
|
|
487
402
|
if (contract) {
|
|
488
403
|
const event = parseEventLogs({
|
|
489
404
|
abi: contract.abi,
|
|
@@ -572,17 +487,11 @@ class GearboxSDK {
|
|
|
572
487
|
}
|
|
573
488
|
get botListContract() {
|
|
574
489
|
const addr = this.addressProvider.getAddress(AP_BOT_LIST, NO_VERSION);
|
|
575
|
-
|
|
576
|
-
return new BotListContract(this, addr);
|
|
577
|
-
}
|
|
578
|
-
return this.contracts.get(addr);
|
|
490
|
+
return this.getContract(addr) ?? new BotListContract(this, addr);
|
|
579
491
|
}
|
|
580
492
|
get gearStakingContract() {
|
|
581
493
|
const addr = this.addressProvider.getAddress(AP_GEAR_STAKING, NO_VERSION);
|
|
582
|
-
|
|
583
|
-
return new GearStakingContract(this, addr);
|
|
584
|
-
}
|
|
585
|
-
return this.contracts.get(addr);
|
|
494
|
+
return this.getContract(addr) ?? new GearStakingContract(this, addr);
|
|
586
495
|
}
|
|
587
496
|
get marketRegister() {
|
|
588
497
|
if (this.#marketRegister === void 0) {
|
|
@@ -609,7 +518,7 @@ class GearboxSDK {
|
|
|
609
518
|
);
|
|
610
519
|
facadeAddr = cm.creditFacade.address;
|
|
611
520
|
}
|
|
612
|
-
const facadeV = this.
|
|
521
|
+
const facadeV = this.mustGetContract(facadeAddr).version;
|
|
613
522
|
routerRange = isV310(facadeV) ? VERSION_RANGE_310 : VERSION_RANGE_300;
|
|
614
523
|
}
|
|
615
524
|
const routerEntry = this.addressProvider.getLatest(AP_ROUTER, routerRange);
|
|
@@ -617,18 +526,7 @@ class GearboxSDK {
|
|
|
617
526
|
throw new Error(`router not found in version range ${routerRange}`);
|
|
618
527
|
}
|
|
619
528
|
const [routerAddr, routerV] = routerEntry;
|
|
620
|
-
|
|
621
|
-
return createRouter(this, routerAddr, routerV);
|
|
622
|
-
}
|
|
623
|
-
return this.contracts.get(routerAddr);
|
|
624
|
-
}
|
|
625
|
-
/**
|
|
626
|
-
* Helper to get human-friendly label for address
|
|
627
|
-
* @param address
|
|
628
|
-
* @returns
|
|
629
|
-
*/
|
|
630
|
-
labelAddress(address) {
|
|
631
|
-
return this.addressLabels.get(address);
|
|
529
|
+
return createRouter(this, routerAddr, routerV);
|
|
632
530
|
}
|
|
633
531
|
}
|
|
634
532
|
export {
|
|
@@ -7,9 +7,7 @@ import { createCreditAccountService } from "../accounts/createCreditAccountServi
|
|
|
7
7
|
import { SDKConstruct } from "../base/index.js";
|
|
8
8
|
import { chains as CHAINS } from "../chain/chains.js";
|
|
9
9
|
import { isV310 } from "../constants/versions.js";
|
|
10
|
-
import { childLogger } from "../utils/index.js";
|
|
11
10
|
class AbstractMigrateCreditAccountsService extends SDKConstruct {
|
|
12
|
-
#logger;
|
|
13
11
|
#version;
|
|
14
12
|
#service;
|
|
15
13
|
// TODO: HARDCODED
|
|
@@ -31,8 +29,7 @@ class AbstractMigrateCreditAccountsService extends SDKConstruct {
|
|
|
31
29
|
super(sdk);
|
|
32
30
|
this.#version = version;
|
|
33
31
|
this.#service = createCreditAccountService(this.sdk, version);
|
|
34
|
-
this
|
|
35
|
-
this.#logger?.debug(
|
|
32
|
+
this.logger?.debug(
|
|
36
33
|
`Created MigrateCreditAccountsService with version: ${this.#version}`
|
|
37
34
|
);
|
|
38
35
|
}
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
} from "../constants/index.js";
|
|
26
26
|
import { assetsMap } from "../router/index.js";
|
|
27
27
|
import { BigIntMath } from "../sdk-legacy/index.js";
|
|
28
|
-
import { AddressMap
|
|
28
|
+
import { AddressMap } from "../utils/index.js";
|
|
29
29
|
import { simulateWithPriceUpdates } from "../utils/viem/index.js";
|
|
30
30
|
function getWithdrawalCompressorAddress(chainId) {
|
|
31
31
|
const compressor = chainId === 1 ? "0xfB79b6713fe214B8748ED7b0db1f93E4f1aC9d29" : void 0;
|
|
@@ -34,7 +34,6 @@ function getWithdrawalCompressorAddress(chainId) {
|
|
|
34
34
|
class AbstractCreditAccountService extends SDKConstruct {
|
|
35
35
|
#compressor;
|
|
36
36
|
#batchSize;
|
|
37
|
-
#logger;
|
|
38
37
|
constructor(sdk, options) {
|
|
39
38
|
super(sdk);
|
|
40
39
|
[this.#compressor] = sdk.addressProvider.mustGetLatest(
|
|
@@ -42,8 +41,7 @@ class AbstractCreditAccountService extends SDKConstruct {
|
|
|
42
41
|
VERSION_RANGE_310
|
|
43
42
|
);
|
|
44
43
|
this.#batchSize = options?.batchSize;
|
|
45
|
-
this
|
|
46
|
-
this.#logger?.debug(
|
|
44
|
+
this.logger?.debug(
|
|
47
45
|
`credit account compressor address: ${this.#compressor}`
|
|
48
46
|
);
|
|
49
47
|
}
|
|
@@ -145,7 +143,7 @@ class AbstractCreditAccountService extends SDKConstruct {
|
|
|
145
143
|
offset = newOffset;
|
|
146
144
|
} while (offset !== 0n);
|
|
147
145
|
}
|
|
148
|
-
this
|
|
146
|
+
this.logger?.debug(
|
|
149
147
|
`loaded ${allCAs.length} credit accounts (${allCAs.length - revertingOffset} reverting)`
|
|
150
148
|
);
|
|
151
149
|
return allCAs.sort((a, b) => Number(a.healthFactor - b.healthFactor));
|
|
@@ -282,7 +280,7 @@ class AbstractCreditAccountService extends SDKConstruct {
|
|
|
282
280
|
lossPolicyData = await market.lossPolicy.getLiquidationData(
|
|
283
281
|
account.creditAccount
|
|
284
282
|
);
|
|
285
|
-
this
|
|
283
|
+
this.logger?.debug({ lossPolicyData }, "loss policy data");
|
|
286
284
|
}
|
|
287
285
|
const tx = cm.creditFacade.liquidateCreditAccount(
|
|
288
286
|
account.creditAccount,
|
|
@@ -840,7 +838,7 @@ class AbstractCreditAccountService extends SDKConstruct {
|
|
|
840
838
|
gas: this.sdk.gasLimit
|
|
841
839
|
});
|
|
842
840
|
}
|
|
843
|
-
this
|
|
841
|
+
this.logger?.debug(
|
|
844
842
|
{
|
|
845
843
|
accounts: resp[0]?.length ?? 0,
|
|
846
844
|
nextOffset: Number(resp[1])
|
|
@@ -920,7 +918,7 @@ class AbstractCreditAccountService extends SDKConstruct {
|
|
|
920
918
|
});
|
|
921
919
|
const tStr = Array.from(tokens).map((t) => this.labelAddress(t)).join(", ");
|
|
922
920
|
const remark = ignoreReservePrices ? " main" : "";
|
|
923
|
-
this
|
|
921
|
+
this.logger?.debug(
|
|
924
922
|
{ account: creditAccount?.creditAccount, manager: cm.name },
|
|
925
923
|
`generating price feed updates for ${tStr} from ${priceFeeds.length}${remark} price feeds`
|
|
926
924
|
);
|
|
@@ -936,7 +934,7 @@ class AbstractCreditAccountService extends SDKConstruct {
|
|
|
936
934
|
const market = this.sdk.marketRegister.findByCreditManager(creditManager);
|
|
937
935
|
const cm = this.sdk.marketRegister.findCreditManager(creditManager);
|
|
938
936
|
const update = await this.getUpdateForAccount(options);
|
|
939
|
-
this
|
|
937
|
+
this.logger?.debug(
|
|
940
938
|
{ account: creditAccount?.creditAccount, manager: cm.name },
|
|
941
939
|
`getting on demand price updates from ${update.txs.length} txs`
|
|
942
940
|
);
|