@gearbox-protocol/sdk 11.9.0-next.2 → 11.10.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 +6 -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 +3 -2
- 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 +6 -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 +9 -3
- 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 +2 -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
|
@@ -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(sdk, args) {
|
|
11
|
+
super(sdk, { ...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
|
+
parseFunctionParams(params) {
|
|
35
35
|
switch (params.functionName) {
|
|
36
36
|
case "exactInputSingle": {
|
|
37
37
|
const [{ tokenIn, tokenOut, fee, amountIn, amountOutMinimum }] = params.args;
|
|
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(
|
|
38
|
+
const tokenInSym = this.sdk.tokensMeta.symbol(tokenIn);
|
|
39
|
+
const tokenOutSym = this.sdk.tokensMeta.symbol(tokenOut);
|
|
40
|
+
const amountInStr = this.sdk.tokensMeta.formatBN(tokenIn, amountIn);
|
|
41
|
+
const amountOutMinimumStr = this.sdk.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.tokensMeta.symbol(tokenIn);
|
|
52
|
-
const tokenOutSym = this.tokensMeta.symbol(tokenOut);
|
|
53
|
-
const leftoverAmountStr = this.tokensMeta.formatBN(
|
|
51
|
+
const tokenInSym = this.sdk.tokensMeta.symbol(tokenIn);
|
|
52
|
+
const tokenOutSym = this.sdk.tokensMeta.symbol(tokenOut);
|
|
53
|
+
const leftoverAmountStr = this.sdk.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.tokensMeta.formatBN(token, amountIn);
|
|
67
|
-
const amountOutMinimumStr = this.tokensMeta.formatBN(
|
|
66
|
+
const amountInStr = this.sdk.tokensMeta.formatBN(token, amountIn);
|
|
67
|
+
const amountOutMinimumStr = this.sdk.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.tokensMeta.formatBN(
|
|
77
|
+
const leftoverAmountStr = this.sdk.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.tokensMeta.formatBN(
|
|
92
|
+
const amountInMaximumStr = this.sdk.tokensMeta.formatBN(
|
|
93
93
|
`0x${path.slice(-40, path.length)}`,
|
|
94
94
|
amountInMaximum
|
|
95
95
|
);
|
|
96
|
-
const amountOutStr = this.tokensMeta.formatBN(
|
|
96
|
+
const amountOutStr = this.sdk.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.tokensMeta.symbol(tokenIn);
|
|
107
|
-
const tokenOutSym = this.tokensMeta.symbol(tokenOut);
|
|
108
|
-
const amountInMaximumStr = this.tokensMeta.formatBN(
|
|
106
|
+
const tokenInSym = this.sdk.tokensMeta.symbol(tokenIn);
|
|
107
|
+
const tokenOutSym = this.sdk.tokensMeta.symbol(tokenOut);
|
|
108
|
+
const amountInMaximumStr = this.sdk.tokensMeta.formatBN(
|
|
109
109
|
tokenIn,
|
|
110
110
|
amountInMaximum
|
|
111
111
|
);
|
|
112
|
-
const amountOutStr = this.tokensMeta.formatBN(tokenOut, amountOut);
|
|
112
|
+
const amountOutStr = this.sdk.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 void 0;
|
|
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.tokensMeta.symbol(from) || from;
|
|
129
|
+
result += this.sdk.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.tokensMeta.symbol(from) || from;
|
|
144
|
+
result += this.sdk.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(sdk, args) {
|
|
8
|
+
super(sdk, { ...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(sdk, args) {
|
|
10
|
+
super(sdk, { ...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(sdk, args) {
|
|
8
|
+
super(sdk, { ...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(sdk, args) {
|
|
8
|
+
super(sdk, { ...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(sdk, args) {
|
|
8
|
+
super(sdk, { ...args, abi });
|
|
9
9
|
const decoded = decodeAbiParameters(
|
|
10
10
|
[
|
|
11
11
|
{ type: "address", name: "creditManager" },
|
|
@@ -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
|
}
|