@gearbox-protocol/sdk 11.9.0-next.1 → 11.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/dev/create2.js +1 -1
- package/dist/cjs/dev/mint/AbstractMinter.js +4 -2
- package/dist/cjs/dev/mint/DealMinter.js +3 -0
- package/dist/cjs/dev/mint/DirectMinter.js +3 -0
- package/dist/cjs/dev/mint/FallbackMinter.js +1 -1
- package/dist/cjs/dev/mint/TransferMinter.js +3 -0
- package/dist/cjs/permissionless/bindings/address-provider.js +6 -4
- package/dist/cjs/permissionless/bindings/base-contract.js +173 -0
- package/dist/cjs/permissionless/bindings/bytecode-repository.js +25 -23
- package/dist/cjs/permissionless/bindings/compressors/token-compressor.js +4 -4
- package/dist/cjs/permissionless/bindings/compressors/withdrawal-compressor.js +17 -11
- package/dist/cjs/permissionless/bindings/cross-chain-multisig.js +22 -23
- package/dist/cjs/permissionless/bindings/factory/abstract-factory.js +4 -7
- package/dist/cjs/permissionless/bindings/governance/batches-chain.js +4 -4
- package/dist/cjs/permissionless/bindings/governance/governor.js +49 -30
- package/dist/cjs/permissionless/bindings/governance/timelock.js +4 -4
- package/dist/cjs/permissionless/bindings/index.js +2 -0
- package/dist/cjs/permissionless/bindings/instance-manager.js +77 -58
- package/dist/cjs/permissionless/bindings/market-configurator-factory.js +4 -4
- package/dist/cjs/permissionless/bindings/market-configurator.js +143 -71
- package/dist/cjs/permissionless/bindings/price-feed-store.js +17 -8
- package/dist/cjs/permissionless/bindings/router/routing-manager.js +15 -9
- package/dist/cjs/permissionless/bindings/treasury-splitter.js +23 -14
- package/dist/cjs/permissionless/core/raw-tx.js +2 -2
- package/dist/cjs/permissionless/utils/abi-decoder.js +72 -0
- 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 +2 -0
- package/dist/cjs/permissionless/utils/price-update/get-price-feeds.js +2 -1
- package/dist/cjs/permissionless/utils/price-update/get-price-update-tx.js +2 -1
- package/dist/cjs/permissionless/utils/price-update/get-prices.js +2 -1
- package/dist/cjs/permissionless/utils/price-update/get-updatable-feeds.js +3 -2
- package/dist/cjs/plugins/adapters/abi/conctructorAbi.js +2 -1
- 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 +8 -21
- package/dist/cjs/plugins/bots/PartialLiquidationBotBaseContract.js +22 -17
- package/dist/cjs/plugins/bots/PartialLiquidationBotV300Contract.js +20 -4
- package/dist/cjs/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +78 -3
- package/dist/cjs/plugins/zappers/ZappersPlugin.js +1 -1
- package/dist/cjs/sdk/GearboxSDK.js +110 -8
- package/dist/cjs/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +4 -1
- package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +12 -8
- package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +10 -8
- package/dist/cjs/sdk/base/AddressLabeller.js +49 -0
- package/dist/cjs/sdk/base/BaseContract.js +80 -195
- package/dist/cjs/sdk/base/IAddressLabeller.js +16 -0
- package/dist/cjs/sdk/base/SDKConstruct.js +29 -3
- package/dist/cjs/sdk/base/TokensMeta.js +4 -4
- package/dist/cjs/sdk/base/index.js +2 -4
- 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 +6 -11
- 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 +9 -7
- package/dist/cjs/sdk/market/MarketSuite.js +2 -2
- package/dist/cjs/sdk/market/credit/CreditConfiguratorV300Contract.js +3 -4
- package/dist/cjs/sdk/market/credit/CreditConfiguratorV310Contract.js +3 -4
- 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 +2 -5
- package/dist/cjs/sdk/market/credit/CreditManagerV310Contract.js +2 -5
- package/dist/cjs/sdk/market/credit/CreditSuite.js +3 -2
- package/dist/cjs/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +1 -3
- 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 +26 -8
- 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 +15 -11
- package/dist/cjs/sdk/market/pricefeeds/AbstractLPPriceFeed.js +22 -2
- package/dist/cjs/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
- package/dist/cjs/sdk/market/pricefeeds/BalancerStablePriceFeed.js +9 -2
- package/dist/cjs/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +9 -2
- package/dist/cjs/sdk/market/pricefeeds/BoundedPriceFeed.js +2 -6
- 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 +9 -2
- package/dist/cjs/sdk/market/pricefeeds/CurveStablePriceFeed.js +9 -2
- package/dist/cjs/sdk/market/pricefeeds/CurveUSDPriceFeed.js +9 -2
- package/dist/cjs/sdk/market/pricefeeds/Erc4626PriceFeed.js +18 -2
- package/dist/cjs/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/MellowLRTPriceFeed.js +10 -2
- package/dist/cjs/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/PriceFeedRef.js +4 -6
- package/dist/cjs/sdk/market/pricefeeds/PriceFeedsRegister.js +2 -0
- 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 +9 -2
- package/dist/cjs/sdk/market/pricefeeds/YearnPriceFeed.js +9 -2
- package/dist/cjs/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/updates/PythUpdater.js +8 -6
- package/dist/cjs/sdk/market/pricefeeds/updates/RedstoneUpdater.js +11 -9
- package/dist/cjs/sdk/router/AbstractRouterContract.js +114 -12
- package/dist/cjs/sdk/router/RouterV300Contract.js +9 -10
- package/dist/cjs/sdk/router/RouterV310Contract.js +10 -10
- package/dist/cjs/sdk/router/createRouter.js +0 -4
- package/dist/cjs/sdk/utils/index.js +0 -2
- package/dist/esm/dev/create2.js +2 -2
- package/dist/esm/dev/mint/AbstractMinter.js +7 -3
- package/dist/esm/dev/mint/DealMinter.js +3 -0
- package/dist/esm/dev/mint/DirectMinter.js +3 -0
- package/dist/esm/dev/mint/FallbackMinter.js +1 -1
- package/dist/esm/dev/mint/TransferMinter.js +3 -0
- package/dist/esm/permissionless/bindings/address-provider.js +7 -7
- package/dist/esm/permissionless/bindings/base-contract.js +151 -0
- package/dist/esm/permissionless/bindings/bytecode-repository.js +24 -22
- package/dist/esm/permissionless/bindings/compressors/token-compressor.js +3 -3
- package/dist/esm/permissionless/bindings/compressors/withdrawal-compressor.js +16 -10
- package/dist/esm/permissionless/bindings/cross-chain-multisig.js +16 -20
- package/dist/esm/permissionless/bindings/factory/abstract-factory.js +4 -9
- package/dist/esm/permissionless/bindings/governance/batches-chain.js +3 -3
- package/dist/esm/permissionless/bindings/governance/governor.js +47 -28
- package/dist/esm/permissionless/bindings/governance/timelock.js +3 -3
- package/dist/esm/permissionless/bindings/index.js +1 -0
- package/dist/esm/permissionless/bindings/instance-manager.js +69 -53
- package/dist/esm/permissionless/bindings/market-configurator-factory.js +3 -3
- package/dist/esm/permissionless/bindings/market-configurator.js +137 -65
- package/dist/esm/permissionless/bindings/price-feed-store.js +14 -8
- package/dist/esm/permissionless/bindings/router/routing-manager.js +14 -8
- package/dist/esm/permissionless/bindings/treasury-splitter.js +22 -15
- package/dist/esm/permissionless/core/raw-tx.js +1 -1
- package/dist/esm/permissionless/utils/abi-decoder.js +50 -0
- 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 +1 -0
- package/dist/esm/permissionless/utils/price-update/get-price-feeds.js +2 -4
- package/dist/esm/permissionless/utils/price-update/get-price-update-tx.js +1 -1
- package/dist/esm/permissionless/utils/price-update/get-prices.js +2 -1
- package/dist/esm/permissionless/utils/price-update/get-updatable-feeds.js +1 -1
- package/dist/esm/plugins/adapters/abi/conctructorAbi.js +2 -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 +8 -11
- package/dist/esm/plugins/bots/PartialLiquidationBotBaseContract.js +22 -7
- package/dist/esm/plugins/bots/PartialLiquidationBotV300Contract.js +20 -4
- package/dist/esm/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +78 -3
- package/dist/esm/plugins/zappers/ZappersPlugin.js +1 -1
- package/dist/esm/sdk/GearboxSDK.js +112 -10
- package/dist/esm/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +4 -1
- package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +13 -9
- package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +10 -8
- package/dist/esm/sdk/base/AddressLabeller.js +25 -0
- package/dist/esm/sdk/base/BaseContract.js +81 -202
- package/dist/esm/sdk/base/IAddressLabeller.js +0 -0
- package/dist/esm/sdk/base/SDKConstruct.js +29 -3
- package/dist/esm/sdk/base/TokensMeta.js +4 -4
- package/dist/esm/sdk/base/index.js +1 -2
- 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 +6 -11
- 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 +10 -8
- package/dist/esm/sdk/market/MarketSuite.js +2 -2
- package/dist/esm/sdk/market/credit/CreditConfiguratorV300Contract.js +3 -4
- package/dist/esm/sdk/market/credit/CreditConfiguratorV310Contract.js +3 -4
- 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 +2 -5
- package/dist/esm/sdk/market/credit/CreditManagerV310Contract.js +2 -5
- package/dist/esm/sdk/market/credit/CreditSuite.js +3 -2
- package/dist/esm/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +1 -3
- package/dist/esm/sdk/market/loss-policy/LossPolicyContract.js +3 -5
- package/dist/esm/sdk/market/loss-policy/createLossPolicy.js +1 -1
- package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +26 -8
- 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 +15 -11
- package/dist/esm/sdk/market/pricefeeds/AbstractLPPriceFeed.js +22 -2
- package/dist/esm/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
- package/dist/esm/sdk/market/pricefeeds/BalancerStablePriceFeed.js +13 -3
- package/dist/esm/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +13 -3
- package/dist/esm/sdk/market/pricefeeds/BoundedPriceFeed.js +2 -6
- 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 +10 -3
- package/dist/esm/sdk/market/pricefeeds/CurveStablePriceFeed.js +10 -3
- package/dist/esm/sdk/market/pricefeeds/CurveUSDPriceFeed.js +10 -3
- package/dist/esm/sdk/market/pricefeeds/Erc4626PriceFeed.js +18 -2
- package/dist/esm/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/MellowLRTPriceFeed.js +11 -3
- package/dist/esm/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/PriceFeedRef.js +5 -7
- package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +8 -1
- 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 +10 -3
- package/dist/esm/sdk/market/pricefeeds/YearnPriceFeed.js +10 -3
- package/dist/esm/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/updates/PythUpdater.js +9 -7
- package/dist/esm/sdk/market/pricefeeds/updates/RedstoneUpdater.js +12 -10
- package/dist/esm/sdk/router/AbstractRouterContract.js +115 -13
- package/dist/esm/sdk/router/RouterV300Contract.js +9 -10
- package/dist/esm/sdk/router/RouterV310Contract.js +10 -10
- package/dist/esm/sdk/router/createRouter.js +0 -4
- package/dist/esm/sdk/utils/index.js +0 -1
- package/dist/types/dev/create2.d.ts +2 -2
- package/dist/types/dev/mint/AbstractMinter.d.ts +4 -3
- package/dist/types/dev/mint/DealMinter.d.ts +3 -0
- package/dist/types/dev/mint/DirectMinter.d.ts +3 -0
- package/dist/types/dev/mint/TransferMinter.d.ts +3 -0
- package/dist/types/permissionless/bindings/address-provider.d.ts +255 -4
- package/dist/types/permissionless/bindings/base-contract.d.ts +23 -0
- package/dist/types/permissionless/bindings/bytecode-repository.d.ts +6 -5
- package/dist/types/permissionless/bindings/compressors/token-compressor.d.ts +3 -3
- package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +5 -4
- 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 +4 -3
- package/dist/types/permissionless/bindings/governance/governor.d.ts +7 -6
- 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 +1 -0
- package/dist/types/permissionless/bindings/instance-manager.d.ts +7 -6
- 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 +7 -6
- package/dist/types/permissionless/bindings/router/routing-manager.d.ts +5 -4
- package/dist/types/permissionless/bindings/treasury-splitter.d.ts +6 -5
- package/dist/types/permissionless/core/proposal.d.ts +7 -1
- package/dist/types/permissionless/utils/abi-decoder.d.ts +13 -0
- 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 +1 -0
- 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 -2
- 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 +8 -2
- package/dist/types/plugins/delayed-withdrawal/types.d.ts +1 -0
- package/dist/types/sdk/GearboxSDK.d.ts +76 -5
- package/dist/types/sdk/accountMigration/types.d.ts +2 -1
- package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +2 -2
- package/dist/types/sdk/accounts/types.d.ts +23 -7
- package/dist/types/sdk/base/AddressLabeller.d.ts +11 -0
- package/dist/types/sdk/base/BaseContract.d.ts +28 -72
- package/dist/types/sdk/base/IAddressLabeller.d.ts +9 -0
- package/dist/types/sdk/base/PlaceholderContract.d.ts +2 -2
- package/dist/types/sdk/base/SDKConstruct.d.ts +16 -2
- package/dist/types/sdk/base/TokensMeta.d.ts +3 -2
- package/dist/types/sdk/base/index.d.ts +1 -2
- package/dist/types/sdk/base/types.d.ts +0 -50
- 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 +4 -3
- 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 +4 -3
- package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +4 -3
- 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 +2 -1
- package/dist/types/sdk/market/loss-policy/AliasLossPolicyV310Contract.d.ts +0 -1
- package/dist/types/sdk/market/loss-policy/LossPolicyContract.d.ts +3 -2
- package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +12 -3
- package/dist/types/sdk/market/oracle/types.d.ts +10 -0
- package/dist/types/sdk/market/pool/GaugeContract.d.ts +3 -2
- package/dist/types/sdk/market/pool/LinearInterestRateModelContract.d.ts +3 -2
- package/dist/types/sdk/market/pool/PoolQuotaKeeperV300Contract.d.ts +3 -2
- package/dist/types/sdk/market/pool/PoolQuotaKeeperV310Contract.d.ts +3 -2
- package/dist/types/sdk/market/pool/PoolV300Contract.d.ts +5 -4
- package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +5 -4
- package/dist/types/sdk/market/pool/TumblerContract.d.ts +3 -2
- package/dist/types/sdk/market/pricefeeds/AbstractLPPriceFeed.d.ts +8 -3
- package/dist/types/sdk/market/pricefeeds/AbstractPriceFeed.d.ts +3 -2
- package/dist/types/sdk/market/pricefeeds/BalancerStablePriceFeed.d.ts +3 -2
- package/dist/types/sdk/market/pricefeeds/BalancerWeightedPriceFeed.d.ts +3 -2
- 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 +3 -2
- package/dist/types/sdk/market/pricefeeds/CurveStablePriceFeed.d.ts +3 -2
- package/dist/types/sdk/market/pricefeeds/CurveUSDPriceFeed.d.ts +3 -2
- package/dist/types/sdk/market/pricefeeds/Erc4626PriceFeed.d.ts +3 -2
- package/dist/types/sdk/market/pricefeeds/ExternalPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/MellowLRTPriceFeed.d.ts +3 -2
- package/dist/types/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/PriceFeedRef.d.ts +4 -3
- package/dist/types/sdk/market/pricefeeds/PriceFeedsRegister.d.ts +2 -1
- 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 +3 -2
- package/dist/types/sdk/market/pricefeeds/YearnPriceFeed.d.ts +3 -2
- package/dist/types/sdk/market/pricefeeds/ZeroPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/types.d.ts +5 -0
- package/dist/types/sdk/router/AbstractRouterContract.d.ts +15 -8
- package/dist/types/sdk/router/RouterV300Contract.d.ts +3 -4
- package/dist/types/sdk/router/RouterV310Contract.d.ts +2 -3
- package/dist/types/sdk/router/types.d.ts +14 -5
- package/dist/types/sdk/sdk-legacy/core/creditAccount.d.ts +2 -2
- package/dist/types/sdk/utils/index.d.ts +0 -1
- package/package.json +1 -1
- package/dist/cjs/plugins/bots/deserializePartialLiquidationBotParams.js +0 -49
- package/dist/cjs/sdk/base/ChainContractsRegister.js +0 -135
- package/dist/cjs/sdk/base/Construct.js +0 -87
- package/dist/cjs/sdk/utils/abi-decode.js +0 -58
- package/dist/esm/plugins/bots/deserializePartialLiquidationBotParams.js +0 -29
- package/dist/esm/sdk/base/ChainContractsRegister.js +0 -111
- package/dist/esm/sdk/base/Construct.js +0 -63
- package/dist/esm/sdk/utils/abi-decode.js +0 -37
- package/dist/types/plugins/bots/deserializePartialLiquidationBotParams.d.ts +0 -3
- package/dist/types/sdk/base/ChainContractsRegister.d.ts +0 -57
- package/dist/types/sdk/base/Construct.d.ts +0 -38
- package/dist/types/sdk/utils/abi-decode.d.ts +0 -10
|
@@ -8,7 +8,6 @@ import {
|
|
|
8
8
|
TypedObjectUtils,
|
|
9
9
|
VERSION_RANGE_310
|
|
10
10
|
} from "../../sdk/index.js";
|
|
11
|
-
import deserializePartialLiquidationBotParams from "./deserializePartialLiquidationBotParams.js";
|
|
12
11
|
import { PartialLiquidationBotV300Contract } from "./PartialLiquidationBotV300Contract.js";
|
|
13
12
|
import { PartialLiquidationBotV310Contract } from "./PartialLiquidationBotV310Contract.js";
|
|
14
13
|
import {
|
|
@@ -60,15 +59,15 @@ class BotsPlugin extends BasePlugin {
|
|
|
60
59
|
return this.state;
|
|
61
60
|
}
|
|
62
61
|
#loadStateMarketState(mc, state) {
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
if (states.length && isV300(states[0].baseParams.version)) {
|
|
67
|
-
if (states.length !== 4) {
|
|
62
|
+
const bots = state.map((state2) => this.#createBot(mc, state2)).sort((a, b) => a.minHealthFactor - b.minHealthFactor);
|
|
63
|
+
if (bots.length && isV300(Number(bots[0].version))) {
|
|
64
|
+
if (bots.length !== 4) {
|
|
68
65
|
throw new Error(`expected 4 bots v300 for market configurator ${mc}`);
|
|
69
66
|
}
|
|
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));
|
|
72
71
|
this.botsByMarket.upsert(mc, bots);
|
|
73
72
|
}
|
|
74
73
|
stateHuman(raw) {
|
|
@@ -106,15 +105,13 @@ class BotsPlugin extends BasePlugin {
|
|
|
106
105
|
this.#loadStateMarketState(mc, botStates);
|
|
107
106
|
}
|
|
108
107
|
}
|
|
109
|
-
#createBot(marketConfigurator, data
|
|
108
|
+
#createBot(marketConfigurator, data) {
|
|
110
109
|
const v = Number(data.baseParams.version);
|
|
111
110
|
if (isV300(v)) {
|
|
112
|
-
const botType = LIQUIDATION_BOT_TYPES[index];
|
|
113
111
|
return new PartialLiquidationBotV300Contract(
|
|
114
112
|
this.sdk,
|
|
115
113
|
data,
|
|
116
|
-
marketConfigurator
|
|
117
|
-
botType
|
|
114
|
+
marketConfigurator
|
|
118
115
|
);
|
|
119
116
|
} else if (isV310(v)) {
|
|
120
117
|
return new PartialLiquidationBotV310Contract(
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { decodeAbiParameters } from "viem";
|
|
1
2
|
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,12 +7,27 @@ 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
|
-
|
|
10
|
+
const [
|
|
11
|
+
treasury,
|
|
12
|
+
minHealthFactor,
|
|
13
|
+
maxHealthFactor,
|
|
14
|
+
premiumScaleFactor,
|
|
15
|
+
feeScaleFactor
|
|
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;
|
|
16
31
|
this.marketConfigurator = args.marketConfigurator;
|
|
17
32
|
this.requiredPermissions = args.requiredPermissions;
|
|
18
33
|
}
|
|
@@ -2,16 +2,15 @@ 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
|
-
botType;
|
|
6
|
-
constructor(sdk, args, marketConfigurator
|
|
5
|
+
#botType;
|
|
6
|
+
constructor(sdk, args, marketConfigurator) {
|
|
7
7
|
super(sdk, {
|
|
8
8
|
abi,
|
|
9
9
|
...args.baseParams,
|
|
10
10
|
requiredPermissions: args.requiredPermissions,
|
|
11
11
|
marketConfigurator,
|
|
12
|
-
name:
|
|
12
|
+
name: "PartialLiquidationBotV300"
|
|
13
13
|
});
|
|
14
|
-
this.botType = botType;
|
|
15
14
|
}
|
|
16
15
|
stateHuman(raw) {
|
|
17
16
|
return {
|
|
@@ -19,6 +18,23 @@ class PartialLiquidationBotV300Contract extends PartialLiquidationBotBaseContrac
|
|
|
19
18
|
botType: this.botType
|
|
20
19
|
};
|
|
21
20
|
}
|
|
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
|
+
}
|
|
22
38
|
}
|
|
23
39
|
export {
|
|
24
40
|
PartialLiquidationBotV300Contract
|
|
@@ -30,12 +30,19 @@ class DelayedWithdrawalPlugin extends BasePlugin {
|
|
|
30
30
|
this.#withdrawableAssets = new AddressMap(void 0, MAP_LABEL);
|
|
31
31
|
resp.forEach((r, index) => {
|
|
32
32
|
const cm = creditManagers[index];
|
|
33
|
-
if (r.status === "success") {
|
|
33
|
+
if (r.status === "success" && r.result?.length > 0) {
|
|
34
|
+
const configsToShow = r.result;
|
|
34
35
|
this.#withdrawableAssets?.upsert(
|
|
35
36
|
cm.creditManager.address,
|
|
36
|
-
|
|
37
|
+
configsToShow.map((cfg) => ({
|
|
37
38
|
...cfg,
|
|
38
|
-
creditManager: cm.creditManager.address
|
|
39
|
+
creditManager: cm.creditManager.address,
|
|
40
|
+
disabled: isConfigToOmit({
|
|
41
|
+
creditManager: cm.creditManager.address,
|
|
42
|
+
token: cfg.token,
|
|
43
|
+
withdrawalPhantomToken: cfg.withdrawalPhantomToken,
|
|
44
|
+
underlying: cfg.underlying
|
|
45
|
+
})
|
|
39
46
|
}))
|
|
40
47
|
);
|
|
41
48
|
} else {
|
|
@@ -80,6 +87,74 @@ class DelayedWithdrawalPlugin extends BasePlugin {
|
|
|
80
87
|
);
|
|
81
88
|
}
|
|
82
89
|
}
|
|
90
|
+
function getConfigKey(config) {
|
|
91
|
+
return `${config.creditManager}-${config.token}-${config.withdrawalPhantomToken}-${config.underlying}`.toLowerCase();
|
|
92
|
+
}
|
|
93
|
+
function isConfigToOmit(config) {
|
|
94
|
+
return !!CONFIGS_TO_OMIT_RECORD[getConfigKey(config)];
|
|
95
|
+
}
|
|
96
|
+
const CONFIGS_TO_OMIT_LIST = [
|
|
97
|
+
{
|
|
98
|
+
// checked
|
|
99
|
+
creditManager: "0xf5edc34204e67e592bdcb84114571c9e4bd0bdf7",
|
|
100
|
+
token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
|
|
101
|
+
withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
|
|
102
|
+
underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
// checked
|
|
106
|
+
creditManager: "0xb79d6544839d169869476589d2e54014a074317b",
|
|
107
|
+
token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
|
|
108
|
+
withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
|
|
109
|
+
underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
// checked
|
|
113
|
+
creditManager: "0x79c6c1ce5b12abcc3e407ce8c160ee1160250921",
|
|
114
|
+
token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
|
|
115
|
+
withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
|
|
116
|
+
underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
// checked
|
|
120
|
+
creditManager: "0xc307a074bd5aec2d6ad1d9b74465c24a59b490fd",
|
|
121
|
+
token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
|
|
122
|
+
withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
|
|
123
|
+
underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
// zero debt limit + no opened positions
|
|
127
|
+
creditManager: "0x9a0fdf7cdab4604fc27ebeab4b3d57bd825e8ebe",
|
|
128
|
+
token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
|
|
129
|
+
withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
|
|
130
|
+
underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
// cant load
|
|
134
|
+
creditManager: "0x06c0df5ac1f24bc2097b59ed8ee1db86bf0b09df",
|
|
135
|
+
token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
|
|
136
|
+
withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
|
|
137
|
+
underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
// cant load
|
|
141
|
+
creditManager: "0x1128860755c6d452d9326e35d1672ca7c920b7c1",
|
|
142
|
+
token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
|
|
143
|
+
withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
|
|
144
|
+
underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
// cant load
|
|
148
|
+
creditManager: "0x35e154be3c856c37d539aae90178fe5ac6d37644",
|
|
149
|
+
token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
|
|
150
|
+
withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
|
|
151
|
+
underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
|
|
152
|
+
}
|
|
153
|
+
];
|
|
154
|
+
const CONFIGS_TO_OMIT_RECORD = CONFIGS_TO_OMIT_LIST.reduce((acc, config) => {
|
|
155
|
+
acc[getConfigKey(config)] = config;
|
|
156
|
+
return acc;
|
|
157
|
+
}, {});
|
|
83
158
|
export {
|
|
84
159
|
DelayedWithdrawalPlugin
|
|
85
160
|
};
|
|
@@ -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.addressLabels.set(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 { AddressLabeller, TokensMeta } 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 { TypedObjectUtils, toAddress } from "./utils/index.js";
|
|
33
|
+
import { AddressMap, 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,9 +69,10 @@ async function attachClient(options, network) {
|
|
|
69
69
|
}
|
|
70
70
|
return createClient(options, { networkType, chainId });
|
|
71
71
|
}
|
|
72
|
-
class GearboxSDK
|
|
72
|
+
class GearboxSDK {
|
|
73
73
|
#hooks = new Hooks();
|
|
74
74
|
plugins;
|
|
75
|
+
#client;
|
|
75
76
|
// Block which was use for data query
|
|
76
77
|
#currentBlock;
|
|
77
78
|
#timestamp;
|
|
@@ -82,11 +83,29 @@ class GearboxSDK extends ChainContractsRegister {
|
|
|
82
83
|
// Collection of markets
|
|
83
84
|
#marketRegister;
|
|
84
85
|
#priceFeeds;
|
|
86
|
+
logger;
|
|
85
87
|
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();
|
|
86
94
|
/**
|
|
87
95
|
* Will throw an error if contract type is not supported, otherwise will try to use generic contract first, if possible
|
|
88
96
|
*/
|
|
89
97
|
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;
|
|
90
109
|
addHook = this.#hooks.addHook.bind(this.#hooks);
|
|
91
110
|
removeHook = this.#hooks.removeHook.bind(this.#hooks);
|
|
92
111
|
static async attach(options) {
|
|
@@ -139,16 +158,17 @@ class GearboxSDK extends ChainContractsRegister {
|
|
|
139
158
|
}).#hydrate(rest, state);
|
|
140
159
|
}
|
|
141
160
|
constructor(options) {
|
|
142
|
-
|
|
161
|
+
this.logger = options.logger;
|
|
143
162
|
this.strictContractTypes = options.strictContractTypes ?? false;
|
|
144
163
|
this.plugins = options.plugins ?? {};
|
|
164
|
+
this.#client = options.client;
|
|
145
165
|
for (const plugin of Object.values(this.plugins)) {
|
|
146
166
|
plugin.sdk = this;
|
|
147
167
|
}
|
|
148
168
|
if (options.gasLimit !== null) {
|
|
149
169
|
this.gasLimit = options.gasLimit || 550000000n;
|
|
150
170
|
}
|
|
151
|
-
|
|
171
|
+
this.tokensMeta = new TokensMeta(this);
|
|
152
172
|
}
|
|
153
173
|
async #attach(opts) {
|
|
154
174
|
const {
|
|
@@ -304,9 +324,74 @@ class GearboxSDK extends ChainContractsRegister {
|
|
|
304
324
|
timestamp: state.timestamp
|
|
305
325
|
});
|
|
306
326
|
}
|
|
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
|
+
}
|
|
307
338
|
get networkType() {
|
|
308
339
|
return this.client.chain.network;
|
|
309
340
|
}
|
|
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
|
+
}
|
|
310
395
|
stateHuman(raw = true) {
|
|
311
396
|
return {
|
|
312
397
|
block: Number(this.currentBlock),
|
|
@@ -398,7 +483,7 @@ class GearboxSDK extends ChainContractsRegister {
|
|
|
398
483
|
address: watchAddresses
|
|
399
484
|
});
|
|
400
485
|
for (const log of logs) {
|
|
401
|
-
const contract = this.
|
|
486
|
+
const contract = this.contracts.get(log.address);
|
|
402
487
|
if (contract) {
|
|
403
488
|
const event = parseEventLogs({
|
|
404
489
|
abi: contract.abi,
|
|
@@ -487,11 +572,17 @@ class GearboxSDK extends ChainContractsRegister {
|
|
|
487
572
|
}
|
|
488
573
|
get botListContract() {
|
|
489
574
|
const addr = this.addressProvider.getAddress(AP_BOT_LIST, NO_VERSION);
|
|
490
|
-
|
|
575
|
+
if (!this.contracts.has(addr)) {
|
|
576
|
+
return new BotListContract(this, addr);
|
|
577
|
+
}
|
|
578
|
+
return this.contracts.get(addr);
|
|
491
579
|
}
|
|
492
580
|
get gearStakingContract() {
|
|
493
581
|
const addr = this.addressProvider.getAddress(AP_GEAR_STAKING, NO_VERSION);
|
|
494
|
-
|
|
582
|
+
if (!this.contracts.has(addr)) {
|
|
583
|
+
return new GearStakingContract(this, addr);
|
|
584
|
+
}
|
|
585
|
+
return this.contracts.get(addr);
|
|
495
586
|
}
|
|
496
587
|
get marketRegister() {
|
|
497
588
|
if (this.#marketRegister === void 0) {
|
|
@@ -518,7 +609,7 @@ class GearboxSDK extends ChainContractsRegister {
|
|
|
518
609
|
);
|
|
519
610
|
facadeAddr = cm.creditFacade.address;
|
|
520
611
|
}
|
|
521
|
-
const facadeV = this.
|
|
612
|
+
const facadeV = this.contracts.mustGet(facadeAddr).version;
|
|
522
613
|
routerRange = isV310(facadeV) ? VERSION_RANGE_310 : VERSION_RANGE_300;
|
|
523
614
|
}
|
|
524
615
|
const routerEntry = this.addressProvider.getLatest(AP_ROUTER, routerRange);
|
|
@@ -526,7 +617,18 @@ class GearboxSDK extends ChainContractsRegister {
|
|
|
526
617
|
throw new Error(`router not found in version range ${routerRange}`);
|
|
527
618
|
}
|
|
528
619
|
const [routerAddr, routerV] = routerEntry;
|
|
529
|
-
|
|
620
|
+
if (!this.contracts.has(routerAddr)) {
|
|
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);
|
|
530
632
|
}
|
|
531
633
|
}
|
|
532
634
|
export {
|
|
@@ -7,7 +7,9 @@ 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";
|
|
10
11
|
class AbstractMigrateCreditAccountsService extends SDKConstruct {
|
|
12
|
+
#logger;
|
|
11
13
|
#version;
|
|
12
14
|
#service;
|
|
13
15
|
// TODO: HARDCODED
|
|
@@ -29,7 +31,8 @@ class AbstractMigrateCreditAccountsService extends SDKConstruct {
|
|
|
29
31
|
super(sdk);
|
|
30
32
|
this.#version = version;
|
|
31
33
|
this.#service = createCreditAccountService(this.sdk, version);
|
|
32
|
-
this.logger
|
|
34
|
+
this.#logger = childLogger("MigrateCreditAccountsService", sdk.logger);
|
|
35
|
+
this.#logger?.debug(
|
|
33
36
|
`Created MigrateCreditAccountsService with version: ${this.#version}`
|
|
34
37
|
);
|
|
35
38
|
}
|
|
@@ -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 } from "../utils/index.js";
|
|
28
|
+
import { AddressMap, childLogger } 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,6 +34,7 @@ function getWithdrawalCompressorAddress(chainId) {
|
|
|
34
34
|
class AbstractCreditAccountService extends SDKConstruct {
|
|
35
35
|
#compressor;
|
|
36
36
|
#batchSize;
|
|
37
|
+
#logger;
|
|
37
38
|
constructor(sdk, options) {
|
|
38
39
|
super(sdk);
|
|
39
40
|
[this.#compressor] = sdk.addressProvider.mustGetLatest(
|
|
@@ -41,7 +42,8 @@ class AbstractCreditAccountService extends SDKConstruct {
|
|
|
41
42
|
VERSION_RANGE_310
|
|
42
43
|
);
|
|
43
44
|
this.#batchSize = options?.batchSize;
|
|
44
|
-
this.logger
|
|
45
|
+
this.#logger = childLogger("CreditAccountsService", sdk.logger);
|
|
46
|
+
this.#logger?.debug(
|
|
45
47
|
`credit account compressor address: ${this.#compressor}`
|
|
46
48
|
);
|
|
47
49
|
}
|
|
@@ -143,7 +145,7 @@ class AbstractCreditAccountService extends SDKConstruct {
|
|
|
143
145
|
offset = newOffset;
|
|
144
146
|
} while (offset !== 0n);
|
|
145
147
|
}
|
|
146
|
-
this
|
|
148
|
+
this.#logger?.debug(
|
|
147
149
|
`loaded ${allCAs.length} credit accounts (${allCAs.length - revertingOffset} reverting)`
|
|
148
150
|
);
|
|
149
151
|
return allCAs.sort((a, b) => Number(a.healthFactor - b.healthFactor));
|
|
@@ -254,7 +256,8 @@ class AbstractCreditAccountService extends SDKConstruct {
|
|
|
254
256
|
force = false,
|
|
255
257
|
keepAssets,
|
|
256
258
|
ignoreReservePrices,
|
|
257
|
-
applyLossPolicy
|
|
259
|
+
applyLossPolicy,
|
|
260
|
+
debtOnly
|
|
258
261
|
} = props;
|
|
259
262
|
const cm = this.sdk.marketRegister.findCreditManager(account.creditManager);
|
|
260
263
|
const routerCloseResult = await this.sdk.routerFor(account).findBestClosePath({
|
|
@@ -262,7 +265,8 @@ class AbstractCreditAccountService extends SDKConstruct {
|
|
|
262
265
|
creditManager: cm.creditManager,
|
|
263
266
|
slippage,
|
|
264
267
|
force,
|
|
265
|
-
keepAssets
|
|
268
|
+
keepAssets,
|
|
269
|
+
debtOnly
|
|
266
270
|
});
|
|
267
271
|
const priceUpdates = await this.getPriceUpdatesForFacade({
|
|
268
272
|
creditManager: account.creditManager,
|
|
@@ -278,7 +282,7 @@ class AbstractCreditAccountService extends SDKConstruct {
|
|
|
278
282
|
lossPolicyData = await market.lossPolicy.getLiquidationData(
|
|
279
283
|
account.creditAccount
|
|
280
284
|
);
|
|
281
|
-
this
|
|
285
|
+
this.#logger?.debug({ lossPolicyData }, "loss policy data");
|
|
282
286
|
}
|
|
283
287
|
const tx = cm.creditFacade.liquidateCreditAccount(
|
|
284
288
|
account.creditAccount,
|
|
@@ -836,7 +840,7 @@ class AbstractCreditAccountService extends SDKConstruct {
|
|
|
836
840
|
gas: this.sdk.gasLimit
|
|
837
841
|
});
|
|
838
842
|
}
|
|
839
|
-
this
|
|
843
|
+
this.#logger?.debug(
|
|
840
844
|
{
|
|
841
845
|
accounts: resp[0]?.length ?? 0,
|
|
842
846
|
nextOffset: Number(resp[1])
|
|
@@ -916,7 +920,7 @@ class AbstractCreditAccountService extends SDKConstruct {
|
|
|
916
920
|
});
|
|
917
921
|
const tStr = Array.from(tokens).map((t) => this.labelAddress(t)).join(", ");
|
|
918
922
|
const remark = ignoreReservePrices ? " main" : "";
|
|
919
|
-
this
|
|
923
|
+
this.#logger?.debug(
|
|
920
924
|
{ account: creditAccount?.creditAccount, manager: cm.name },
|
|
921
925
|
`generating price feed updates for ${tStr} from ${priceFeeds.length}${remark} price feeds`
|
|
922
926
|
);
|
|
@@ -932,7 +936,7 @@ class AbstractCreditAccountService extends SDKConstruct {
|
|
|
932
936
|
const market = this.sdk.marketRegister.findByCreditManager(creditManager);
|
|
933
937
|
const cm = this.sdk.marketRegister.findCreditManager(creditManager);
|
|
934
938
|
const update = await this.getUpdateForAccount(options);
|
|
935
|
-
this
|
|
939
|
+
this.#logger?.debug(
|
|
936
940
|
{ account: creditAccount?.creditAccount, manager: cm.name },
|
|
937
941
|
`getting on demand price updates from ${update.txs.length} txs`
|
|
938
942
|
);
|
|
@@ -11,15 +11,17 @@ class CreditAccountServiceV310 extends AbstractCreditAccountService {
|
|
|
11
11
|
botAddress,
|
|
12
12
|
botBaseType,
|
|
13
13
|
stopBot,
|
|
14
|
-
|
|
14
|
+
targetContract
|
|
15
15
|
}) {
|
|
16
|
-
const cm = this.sdk.marketRegister.findCreditManager(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
const cm = this.sdk.marketRegister.findCreditManager(
|
|
17
|
+
targetContract.creditManager
|
|
18
|
+
);
|
|
19
|
+
const priceUpdatesCalls = targetContract.type === "creditAccount" ? await this.getPriceUpdatesForFacade({
|
|
20
|
+
creditManager: targetContract.creditManager,
|
|
21
|
+
creditAccount: targetContract
|
|
22
|
+
}) : [];
|
|
21
23
|
const addBotCall = {
|
|
22
|
-
target:
|
|
24
|
+
target: cm.creditFacade.address,
|
|
23
25
|
callData: encodeFunctionData({
|
|
24
26
|
abi: iCreditFacadeMulticallV310Abi,
|
|
25
27
|
functionName: "setBotPermissions",
|
|
@@ -27,7 +29,7 @@ class CreditAccountServiceV310 extends AbstractCreditAccountService {
|
|
|
27
29
|
})
|
|
28
30
|
};
|
|
29
31
|
const calls = [...priceUpdatesCalls, addBotCall];
|
|
30
|
-
const tx = cm.creditFacade.multicall(
|
|
32
|
+
const tx = targetContract.type === "creditAccount" ? cm.creditFacade.multicall(targetContract.creditAccount, calls) : void 0;
|
|
31
33
|
return { tx, calls, creditFacade: cm.creditFacade };
|
|
32
34
|
}
|
|
33
35
|
/**
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { NOT_DEPLOYED } from "../constants/index.js";
|
|
2
|
+
import { AddressMap } from "../utils/index.js";
|
|
3
|
+
class AddressLabeller {
|
|
4
|
+
#labels = new AddressMap(void 0, "addressLabeller");
|
|
5
|
+
set(address, label) {
|
|
6
|
+
if (address === NOT_DEPLOYED) {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
if (typeof label === "string") {
|
|
10
|
+
this.#labels.upsert(address, label);
|
|
11
|
+
} else {
|
|
12
|
+
this.#labels.upsert(address, label(this.#labels.get(address)));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
get(address) {
|
|
16
|
+
const label = this.#labels.get(address);
|
|
17
|
+
return label ? `${address} [${label}]` : address;
|
|
18
|
+
}
|
|
19
|
+
get all() {
|
|
20
|
+
return this.#labels.asRecord();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
AddressLabeller
|
|
25
|
+
};
|