@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
|
@@ -28,8 +28,8 @@ var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
|
28
28
|
const abi = import_integrations_v3.iUniswapV3AdapterAbi;
|
|
29
29
|
class UniswapV3AdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
30
30
|
supportedPools;
|
|
31
|
-
constructor(
|
|
32
|
-
super(
|
|
31
|
+
constructor(sdk, args) {
|
|
32
|
+
super(sdk, { ...args, abi });
|
|
33
33
|
const decoded = (0, import_viem.decodeAbiParameters)(
|
|
34
34
|
[
|
|
35
35
|
{ type: "address", name: "creditManager" },
|
|
@@ -52,14 +52,14 @@ class UniswapV3AdapterContract extends import_AbstractAdapter.AbstractAdapterCon
|
|
|
52
52
|
fee: pool.fee
|
|
53
53
|
}));
|
|
54
54
|
}
|
|
55
|
-
|
|
55
|
+
parseFunctionParams(params) {
|
|
56
56
|
switch (params.functionName) {
|
|
57
57
|
case "exactInputSingle": {
|
|
58
58
|
const [{ tokenIn, tokenOut, fee, amountIn, amountOutMinimum }] = params.args;
|
|
59
|
-
const tokenInSym = this.tokensMeta.symbol(tokenIn);
|
|
60
|
-
const tokenOutSym = this.tokensMeta.symbol(tokenOut);
|
|
61
|
-
const amountInStr = this.tokensMeta.formatBN(tokenIn, amountIn);
|
|
62
|
-
const amountOutMinimumStr = this.tokensMeta.formatBN(
|
|
59
|
+
const tokenInSym = this.sdk.tokensMeta.symbol(tokenIn);
|
|
60
|
+
const tokenOutSym = this.sdk.tokensMeta.symbol(tokenOut);
|
|
61
|
+
const amountInStr = this.sdk.tokensMeta.formatBN(tokenIn, amountIn);
|
|
62
|
+
const amountOutMinimumStr = this.sdk.tokensMeta.formatBN(
|
|
63
63
|
tokenOut,
|
|
64
64
|
amountOutMinimum
|
|
65
65
|
);
|
|
@@ -69,9 +69,9 @@ class UniswapV3AdapterContract extends import_AbstractAdapter.AbstractAdapterCon
|
|
|
69
69
|
}
|
|
70
70
|
case "exactDiffInputSingle": {
|
|
71
71
|
const [{ tokenIn, tokenOut, fee, leftoverAmount, rateMinRAY }] = params.args;
|
|
72
|
-
const tokenInSym = this.tokensMeta.symbol(tokenIn);
|
|
73
|
-
const tokenOutSym = this.tokensMeta.symbol(tokenOut);
|
|
74
|
-
const leftoverAmountStr = this.tokensMeta.formatBN(
|
|
72
|
+
const tokenInSym = this.sdk.tokensMeta.symbol(tokenIn);
|
|
73
|
+
const tokenOutSym = this.sdk.tokensMeta.symbol(tokenOut);
|
|
74
|
+
const leftoverAmountStr = this.sdk.tokensMeta.formatBN(
|
|
75
75
|
tokenIn,
|
|
76
76
|
leftoverAmount
|
|
77
77
|
);
|
|
@@ -84,8 +84,8 @@ class UniswapV3AdapterContract extends import_AbstractAdapter.AbstractAdapterCon
|
|
|
84
84
|
const [{ amountIn, amountOutMinimum, path }] = params.args;
|
|
85
85
|
const pathStr = this.trackInputPath(path);
|
|
86
86
|
const token = `0x${path.replace("0x", "").slice(0, 40)}`;
|
|
87
|
-
const amountInStr = this.tokensMeta.formatBN(token, amountIn);
|
|
88
|
-
const amountOutMinimumStr = this.tokensMeta.formatBN(
|
|
87
|
+
const amountInStr = this.sdk.tokensMeta.formatBN(token, amountIn);
|
|
88
|
+
const amountOutMinimumStr = this.sdk.tokensMeta.formatBN(
|
|
89
89
|
`0x${path.slice(-40, path.length)}`,
|
|
90
90
|
amountOutMinimum
|
|
91
91
|
);
|
|
@@ -95,7 +95,7 @@ class UniswapV3AdapterContract extends import_AbstractAdapter.AbstractAdapterCon
|
|
|
95
95
|
}
|
|
96
96
|
case "exactDiffInput": {
|
|
97
97
|
const [{ leftoverAmount, rateMinRAY, path }] = params.args;
|
|
98
|
-
const leftoverAmountStr = this.tokensMeta.formatBN(
|
|
98
|
+
const leftoverAmountStr = this.sdk.tokensMeta.formatBN(
|
|
99
99
|
`0x${path.replace("0x", "").slice(0, 40)}`,
|
|
100
100
|
leftoverAmount
|
|
101
101
|
);
|
|
@@ -110,11 +110,11 @@ class UniswapV3AdapterContract extends import_AbstractAdapter.AbstractAdapterCon
|
|
|
110
110
|
case "exactOutput": {
|
|
111
111
|
const [{ amountInMaximum, amountOut, path }] = params.args;
|
|
112
112
|
const pathStr = this.trackOutputPath(path);
|
|
113
|
-
const amountInMaximumStr = this.tokensMeta.formatBN(
|
|
113
|
+
const amountInMaximumStr = this.sdk.tokensMeta.formatBN(
|
|
114
114
|
`0x${path.slice(-40, path.length)}`,
|
|
115
115
|
amountInMaximum
|
|
116
116
|
);
|
|
117
|
-
const amountOutStr = this.tokensMeta.formatBN(
|
|
117
|
+
const amountOutStr = this.sdk.tokensMeta.formatBN(
|
|
118
118
|
`0x${path.replace("0x", "").slice(0, 40)}`,
|
|
119
119
|
amountOut
|
|
120
120
|
);
|
|
@@ -124,19 +124,19 @@ class UniswapV3AdapterContract extends import_AbstractAdapter.AbstractAdapterCon
|
|
|
124
124
|
}
|
|
125
125
|
case "exactOutputSingle": {
|
|
126
126
|
const [{ tokenIn, tokenOut, fee, amountOut, amountInMaximum }] = params.args;
|
|
127
|
-
const tokenInSym = this.tokensMeta.symbol(tokenIn);
|
|
128
|
-
const tokenOutSym = this.tokensMeta.symbol(tokenOut);
|
|
129
|
-
const amountInMaximumStr = this.tokensMeta.formatBN(
|
|
127
|
+
const tokenInSym = this.sdk.tokensMeta.symbol(tokenIn);
|
|
128
|
+
const tokenOutSym = this.sdk.tokensMeta.symbol(tokenOut);
|
|
129
|
+
const amountInMaximumStr = this.sdk.tokensMeta.formatBN(
|
|
130
130
|
tokenIn,
|
|
131
131
|
amountInMaximum
|
|
132
132
|
);
|
|
133
|
-
const amountOutStr = this.tokensMeta.formatBN(tokenOut, amountOut);
|
|
133
|
+
const amountOutStr = this.sdk.tokensMeta.formatBN(tokenOut, amountOut);
|
|
134
134
|
return [
|
|
135
135
|
`(amountInMaximum: ${amountInMaximumStr}, amountOut: ${amountOutStr}, path: ${tokenInSym} ==(fee: ${fee})==> ${tokenOutSym})`
|
|
136
136
|
];
|
|
137
137
|
}
|
|
138
138
|
default:
|
|
139
|
-
return
|
|
139
|
+
return void 0;
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
142
|
trackInputPath(path) {
|
|
@@ -147,7 +147,7 @@ class UniswapV3AdapterContract extends import_AbstractAdapter.AbstractAdapterCon
|
|
|
147
147
|
pointer,
|
|
148
148
|
pointer + 40
|
|
149
149
|
)}`.toLowerCase();
|
|
150
|
-
result += this.tokensMeta.symbol(from) || from;
|
|
150
|
+
result += this.sdk.tokensMeta.symbol(from) || from;
|
|
151
151
|
pointer += 40;
|
|
152
152
|
if (pointer > path.length - 6) return result;
|
|
153
153
|
const fee = parseInt(path.slice(pointer, pointer + 6), 16);
|
|
@@ -162,7 +162,7 @@ class UniswapV3AdapterContract extends import_AbstractAdapter.AbstractAdapterCon
|
|
|
162
162
|
while (pointer >= 40) {
|
|
163
163
|
pointer -= 40;
|
|
164
164
|
const from = `0x${path.slice(pointer, pointer + 40)}`;
|
|
165
|
-
result += this.tokensMeta.symbol(from) || from;
|
|
165
|
+
result += this.sdk.tokensMeta.symbol(from) || from;
|
|
166
166
|
if (pointer < 6) return result;
|
|
167
167
|
pointer -= 6;
|
|
168
168
|
const fee = parseInt(path.slice(pointer, pointer + 6), 16);
|
|
@@ -27,8 +27,8 @@ var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
|
27
27
|
const abi = import_integrations_v3.iUniswapV4AdapterAbi;
|
|
28
28
|
class UniswapV4AdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
29
29
|
supportedPoolKeys;
|
|
30
|
-
constructor(
|
|
31
|
-
super(
|
|
30
|
+
constructor(sdk, args) {
|
|
31
|
+
super(sdk, { ...args, abi });
|
|
32
32
|
const decoded = (0, import_viem.decodeAbiParameters)(
|
|
33
33
|
[
|
|
34
34
|
{ type: "address", name: "creditManager" },
|
|
@@ -29,8 +29,8 @@ class UpshiftVaultAdapterContract extends import_AbstractAdapter.AbstractAdapter
|
|
|
29
29
|
vault;
|
|
30
30
|
asset;
|
|
31
31
|
stakedPhantomToken;
|
|
32
|
-
constructor(
|
|
33
|
-
super(
|
|
32
|
+
constructor(sdk, args) {
|
|
33
|
+
super(sdk, { ...args, abi });
|
|
34
34
|
const decoded = (0, import_viem.decodeAbiParameters)(
|
|
35
35
|
[
|
|
36
36
|
{ type: "address", name: "creditManager" },
|
|
@@ -27,8 +27,8 @@ var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
|
27
27
|
const abi = import_integrations_v3.iVelodromeV2RouterAdapterAbi;
|
|
28
28
|
class VelodromeV2RouterAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
29
29
|
supportedPools;
|
|
30
|
-
constructor(
|
|
31
|
-
super(
|
|
30
|
+
constructor(sdk, args) {
|
|
31
|
+
super(sdk, { ...args, abi });
|
|
32
32
|
const decoded = (0, import_viem.decodeAbiParameters)(
|
|
33
33
|
[
|
|
34
34
|
{ type: "address", name: "creditManager" },
|
|
@@ -27,8 +27,8 @@ var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
|
27
27
|
const abi = import_integrations_v3.iwstEthv1AdapterAbi;
|
|
28
28
|
class WstETHV1AdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
29
29
|
stETH;
|
|
30
|
-
constructor(
|
|
31
|
-
super(
|
|
30
|
+
constructor(sdk, args) {
|
|
31
|
+
super(sdk, { ...args, abi });
|
|
32
32
|
const decoded = (0, import_viem.decodeAbiParameters)(
|
|
33
33
|
[
|
|
34
34
|
{ type: "address", name: "creditManager" },
|
|
@@ -27,8 +27,8 @@ var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
|
27
27
|
const abi = import_integrations_v3.iYearnV2AdapterAbi;
|
|
28
28
|
class YearnV2RouterAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
29
29
|
token;
|
|
30
|
-
constructor(
|
|
31
|
-
super(
|
|
30
|
+
constructor(sdk, args) {
|
|
31
|
+
super(sdk, { ...args, abi });
|
|
32
32
|
const decoded = (0, import_viem.decodeAbiParameters)(
|
|
33
33
|
[
|
|
34
34
|
{ type: "address", name: "creditManager" },
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
6
|
var __export = (target, all) => {
|
|
9
7
|
for (var name in all)
|
|
@@ -17,14 +15,6 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
15
|
}
|
|
18
16
|
return to;
|
|
19
17
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
19
|
var BotsPlugin_exports = {};
|
|
30
20
|
__export(BotsPlugin_exports, {
|
|
@@ -34,7 +24,6 @@ __export(BotsPlugin_exports, {
|
|
|
34
24
|
module.exports = __toCommonJS(BotsPlugin_exports);
|
|
35
25
|
var import_peripheryCompressor = require("../../abi/compressors/peripheryCompressor.js");
|
|
36
26
|
var import_sdk = require("../../sdk/index.js");
|
|
37
|
-
var import_deserializePartialLiquidationBotParams = __toESM(require("./deserializePartialLiquidationBotParams.js"));
|
|
38
27
|
var import_PartialLiquidationBotV300Contract = require("./PartialLiquidationBotV300Contract.js");
|
|
39
28
|
var import_PartialLiquidationBotV310Contract = require("./PartialLiquidationBotV310Contract.js");
|
|
40
29
|
var import_types = require("./types.js");
|
|
@@ -84,15 +73,15 @@ class BotsPlugin extends import_sdk.BasePlugin {
|
|
|
84
73
|
return this.state;
|
|
85
74
|
}
|
|
86
75
|
#loadStateMarketState(mc, state) {
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
if (states.length && (0, import_sdk.isV300)(states[0].baseParams.version)) {
|
|
91
|
-
if (states.length !== 4) {
|
|
76
|
+
const bots = state.map((state2) => this.#createBot(mc, state2)).sort((a, b) => a.minHealthFactor - b.minHealthFactor);
|
|
77
|
+
if (bots.length && (0, import_sdk.isV300)(Number(bots[0].version))) {
|
|
78
|
+
if (bots.length !== 4) {
|
|
92
79
|
throw new Error(`expected 4 bots v300 for market configurator ${mc}`);
|
|
93
80
|
}
|
|
81
|
+
for (let i = 0; i < bots.length; i++) {
|
|
82
|
+
bots[i].botType = import_types.LIQUIDATION_BOT_TYPES[i];
|
|
83
|
+
}
|
|
94
84
|
}
|
|
95
|
-
const bots = states.map((s, i) => this.#createBot(mc, s, i));
|
|
96
85
|
this.botsByMarket.upsert(mc, bots);
|
|
97
86
|
}
|
|
98
87
|
stateHuman(raw) {
|
|
@@ -130,15 +119,13 @@ class BotsPlugin extends import_sdk.BasePlugin {
|
|
|
130
119
|
this.#loadStateMarketState(mc, botStates);
|
|
131
120
|
}
|
|
132
121
|
}
|
|
133
|
-
#createBot(marketConfigurator, data
|
|
122
|
+
#createBot(marketConfigurator, data) {
|
|
134
123
|
const v = Number(data.baseParams.version);
|
|
135
124
|
if ((0, import_sdk.isV300)(v)) {
|
|
136
|
-
const botType = import_types.LIQUIDATION_BOT_TYPES[index];
|
|
137
125
|
return new import_PartialLiquidationBotV300Contract.PartialLiquidationBotV300Contract(
|
|
138
126
|
this.sdk,
|
|
139
127
|
data,
|
|
140
|
-
marketConfigurator
|
|
141
|
-
botType
|
|
128
|
+
marketConfigurator
|
|
142
129
|
);
|
|
143
130
|
} else if ((0, import_sdk.isV310)(v)) {
|
|
144
131
|
return new import_PartialLiquidationBotV310Contract.PartialLiquidationBotV310Contract(
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
6
|
var __export = (target, all) => {
|
|
9
7
|
for (var name in all)
|
|
@@ -17,22 +15,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
15
|
}
|
|
18
16
|
return to;
|
|
19
17
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
19
|
var PartialLiquidationBotBaseContract_exports = {};
|
|
30
20
|
__export(PartialLiquidationBotBaseContract_exports, {
|
|
31
21
|
PartialLiquidationBotBaseContract: () => PartialLiquidationBotBaseContract
|
|
32
22
|
});
|
|
33
23
|
module.exports = __toCommonJS(PartialLiquidationBotBaseContract_exports);
|
|
24
|
+
var import_viem = require("viem");
|
|
34
25
|
var import_sdk = require("../../sdk/index.js");
|
|
35
|
-
var import_deserializePartialLiquidationBotParams = __toESM(require("./deserializePartialLiquidationBotParams.js"));
|
|
36
26
|
class PartialLiquidationBotBaseContract extends import_sdk.BaseContract {
|
|
37
27
|
requiredPermissions;
|
|
38
28
|
marketConfigurator;
|
|
@@ -40,12 +30,27 @@ class PartialLiquidationBotBaseContract extends import_sdk.BaseContract {
|
|
|
40
30
|
constructor(sdk, args) {
|
|
41
31
|
super(sdk, args);
|
|
42
32
|
this.#serializedParams = args.serializedParams;
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
33
|
+
const [
|
|
34
|
+
treasury,
|
|
35
|
+
minHealthFactor,
|
|
36
|
+
maxHealthFactor,
|
|
37
|
+
premiumScaleFactor,
|
|
38
|
+
feeScaleFactor
|
|
39
|
+
] = (0, import_viem.decodeAbiParameters)(
|
|
40
|
+
[
|
|
41
|
+
{ name: "treasury", type: "address" },
|
|
42
|
+
{ name: "minHealthFactor", type: "uint16" },
|
|
43
|
+
{ name: "maxHealthFactor", type: "uint16" },
|
|
44
|
+
{ name: "premiumScaleFactor", type: "uint16" },
|
|
45
|
+
{ name: "feeScaleFactor", type: "uint16" }
|
|
46
|
+
],
|
|
47
|
+
args.serializedParams
|
|
48
|
+
);
|
|
49
|
+
this.treasury = treasury;
|
|
50
|
+
this.minHealthFactor = minHealthFactor;
|
|
51
|
+
this.maxHealthFactor = maxHealthFactor;
|
|
52
|
+
this.premiumScaleFactor = premiumScaleFactor;
|
|
53
|
+
this.feeScaleFactor = feeScaleFactor;
|
|
49
54
|
this.marketConfigurator = args.marketConfigurator;
|
|
50
55
|
this.requiredPermissions = args.requiredPermissions;
|
|
51
56
|
}
|
|
@@ -25,16 +25,15 @@ var import_abi = require("./abi/index.js");
|
|
|
25
25
|
var import_PartialLiquidationBotBaseContract = require("./PartialLiquidationBotBaseContract.js");
|
|
26
26
|
const abi = import_abi.iPartialLiquidationBotV300Abi;
|
|
27
27
|
class PartialLiquidationBotV300Contract extends import_PartialLiquidationBotBaseContract.PartialLiquidationBotBaseContract {
|
|
28
|
-
botType;
|
|
29
|
-
constructor(sdk, args, marketConfigurator
|
|
28
|
+
#botType;
|
|
29
|
+
constructor(sdk, args, marketConfigurator) {
|
|
30
30
|
super(sdk, {
|
|
31
31
|
abi,
|
|
32
32
|
...args.baseParams,
|
|
33
33
|
requiredPermissions: args.requiredPermissions,
|
|
34
34
|
marketConfigurator,
|
|
35
|
-
name:
|
|
35
|
+
name: "PartialLiquidationBotV300"
|
|
36
36
|
});
|
|
37
|
-
this.botType = botType;
|
|
38
37
|
}
|
|
39
38
|
stateHuman(raw) {
|
|
40
39
|
return {
|
|
@@ -42,6 +41,23 @@ class PartialLiquidationBotV300Contract extends import_PartialLiquidationBotBase
|
|
|
42
41
|
botType: this.botType
|
|
43
42
|
};
|
|
44
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Set the bot type
|
|
46
|
+
* This method should only be called once from BotsPlugin
|
|
47
|
+
*/
|
|
48
|
+
set botType(type) {
|
|
49
|
+
if (this.#botType) {
|
|
50
|
+
throw new Error("bot type already set");
|
|
51
|
+
}
|
|
52
|
+
this.#botType = type;
|
|
53
|
+
this.name = `PartialLiquidationBotV300 (${type})`;
|
|
54
|
+
}
|
|
55
|
+
get botType() {
|
|
56
|
+
if (!this.#botType) {
|
|
57
|
+
throw new Error("bot type not set");
|
|
58
|
+
}
|
|
59
|
+
return this.#botType;
|
|
60
|
+
}
|
|
45
61
|
}
|
|
46
62
|
// Annotate the CommonJS export names for ESM import in node:
|
|
47
63
|
0 && (module.exports = {
|
|
@@ -49,12 +49,19 @@ class DelayedWithdrawalPlugin extends import_sdk.BasePlugin {
|
|
|
49
49
|
this.#withdrawableAssets = new import_sdk.AddressMap(void 0, MAP_LABEL);
|
|
50
50
|
resp.forEach((r, index) => {
|
|
51
51
|
const cm = creditManagers[index];
|
|
52
|
-
if (r.status === "success") {
|
|
52
|
+
if (r.status === "success" && r.result?.length > 0) {
|
|
53
|
+
const configsToShow = r.result;
|
|
53
54
|
this.#withdrawableAssets?.upsert(
|
|
54
55
|
cm.creditManager.address,
|
|
55
|
-
|
|
56
|
+
configsToShow.map((cfg) => ({
|
|
56
57
|
...cfg,
|
|
57
|
-
creditManager: cm.creditManager.address
|
|
58
|
+
creditManager: cm.creditManager.address,
|
|
59
|
+
disabled: isConfigToOmit({
|
|
60
|
+
creditManager: cm.creditManager.address,
|
|
61
|
+
token: cfg.token,
|
|
62
|
+
withdrawalPhantomToken: cfg.withdrawalPhantomToken,
|
|
63
|
+
underlying: cfg.underlying
|
|
64
|
+
})
|
|
58
65
|
}))
|
|
59
66
|
);
|
|
60
67
|
} else {
|
|
@@ -99,6 +106,74 @@ class DelayedWithdrawalPlugin extends import_sdk.BasePlugin {
|
|
|
99
106
|
);
|
|
100
107
|
}
|
|
101
108
|
}
|
|
109
|
+
function getConfigKey(config) {
|
|
110
|
+
return `${config.creditManager}-${config.token}-${config.withdrawalPhantomToken}-${config.underlying}`.toLowerCase();
|
|
111
|
+
}
|
|
112
|
+
function isConfigToOmit(config) {
|
|
113
|
+
return !!CONFIGS_TO_OMIT_RECORD[getConfigKey(config)];
|
|
114
|
+
}
|
|
115
|
+
const CONFIGS_TO_OMIT_LIST = [
|
|
116
|
+
{
|
|
117
|
+
// checked
|
|
118
|
+
creditManager: "0xf5edc34204e67e592bdcb84114571c9e4bd0bdf7",
|
|
119
|
+
token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
|
|
120
|
+
withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
|
|
121
|
+
underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
// checked
|
|
125
|
+
creditManager: "0xb79d6544839d169869476589d2e54014a074317b",
|
|
126
|
+
token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
|
|
127
|
+
withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
|
|
128
|
+
underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
// checked
|
|
132
|
+
creditManager: "0x79c6c1ce5b12abcc3e407ce8c160ee1160250921",
|
|
133
|
+
token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
|
|
134
|
+
withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
|
|
135
|
+
underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
// checked
|
|
139
|
+
creditManager: "0xc307a074bd5aec2d6ad1d9b74465c24a59b490fd",
|
|
140
|
+
token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
|
|
141
|
+
withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
|
|
142
|
+
underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
// zero debt limit + no opened positions
|
|
146
|
+
creditManager: "0x9a0fdf7cdab4604fc27ebeab4b3d57bd825e8ebe",
|
|
147
|
+
token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
|
|
148
|
+
withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
|
|
149
|
+
underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
// cant load
|
|
153
|
+
creditManager: "0x06c0df5ac1f24bc2097b59ed8ee1db86bf0b09df",
|
|
154
|
+
token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
|
|
155
|
+
withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
|
|
156
|
+
underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
// cant load
|
|
160
|
+
creditManager: "0x1128860755c6d452d9326e35d1672ca7c920b7c1",
|
|
161
|
+
token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
|
|
162
|
+
withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
|
|
163
|
+
underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
// cant load
|
|
167
|
+
creditManager: "0x35e154be3c856c37d539aae90178fe5ac6d37644",
|
|
168
|
+
token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
|
|
169
|
+
withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
|
|
170
|
+
underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
|
|
171
|
+
}
|
|
172
|
+
];
|
|
173
|
+
const CONFIGS_TO_OMIT_RECORD = CONFIGS_TO_OMIT_LIST.reduce((acc, config) => {
|
|
174
|
+
acc[getConfigKey(config)] = config;
|
|
175
|
+
return acc;
|
|
176
|
+
}, {});
|
|
102
177
|
// Annotate the CommonJS export names for ESM import in node:
|
|
103
178
|
0 && (module.exports = {
|
|
104
179
|
DelayedWithdrawalPlugin
|
|
@@ -132,7 +132,7 @@ class ZappersPlugin extends import_sdk.BasePlugin {
|
|
|
132
132
|
const extraZappersTokens = this.extraZappers.values().flatMap((l) => l.flatMap((z) => [z.tokenIn, z.tokenOut]));
|
|
133
133
|
for (const t of [...zappersTokens, ...extraZappersTokens]) {
|
|
134
134
|
this.sdk.tokensMeta.upsert(t.addr, t);
|
|
135
|
-
this.sdk.
|
|
135
|
+
this.sdk.addressLabels.set(t.addr, t.symbol);
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
138
|
}
|
|
@@ -70,9 +70,10 @@ async function attachClient(options, network) {
|
|
|
70
70
|
}
|
|
71
71
|
return createClient(options, { networkType, chainId });
|
|
72
72
|
}
|
|
73
|
-
class GearboxSDK
|
|
73
|
+
class GearboxSDK {
|
|
74
74
|
#hooks = new import_internal.Hooks();
|
|
75
75
|
plugins;
|
|
76
|
+
#client;
|
|
76
77
|
// Block which was use for data query
|
|
77
78
|
#currentBlock;
|
|
78
79
|
#timestamp;
|
|
@@ -83,11 +84,29 @@ class GearboxSDK extends import_base.ChainContractsRegister {
|
|
|
83
84
|
// Collection of markets
|
|
84
85
|
#marketRegister;
|
|
85
86
|
#priceFeeds;
|
|
87
|
+
logger;
|
|
86
88
|
gasLimit;
|
|
89
|
+
addressLabels = new import_base.AddressLabeller();
|
|
90
|
+
/**
|
|
91
|
+
* Interest rate models can be reused across chain (and SDK operates on chain level)
|
|
92
|
+
* TODO: use whatever interface is necessary for InterestRateModels
|
|
93
|
+
*/
|
|
94
|
+
interestRateModels = new import_utils.AddressMap();
|
|
87
95
|
/**
|
|
88
96
|
* Will throw an error if contract type is not supported, otherwise will try to use generic contract first, if possible
|
|
89
97
|
*/
|
|
90
98
|
strictContractTypes;
|
|
99
|
+
/**
|
|
100
|
+
* All contracts known to sdk
|
|
101
|
+
*/
|
|
102
|
+
contracts = new import_utils.AddressMap(
|
|
103
|
+
void 0,
|
|
104
|
+
"contracts"
|
|
105
|
+
);
|
|
106
|
+
/**
|
|
107
|
+
* Token metadata such as symbol and decimals
|
|
108
|
+
*/
|
|
109
|
+
tokensMeta;
|
|
91
110
|
addHook = this.#hooks.addHook.bind(this.#hooks);
|
|
92
111
|
removeHook = this.#hooks.removeHook.bind(this.#hooks);
|
|
93
112
|
static async attach(options) {
|
|
@@ -140,16 +159,17 @@ class GearboxSDK extends import_base.ChainContractsRegister {
|
|
|
140
159
|
}).#hydrate(rest, state);
|
|
141
160
|
}
|
|
142
161
|
constructor(options) {
|
|
143
|
-
|
|
162
|
+
this.logger = options.logger;
|
|
144
163
|
this.strictContractTypes = options.strictContractTypes ?? false;
|
|
145
164
|
this.plugins = options.plugins ?? {};
|
|
165
|
+
this.#client = options.client;
|
|
146
166
|
for (const plugin of Object.values(this.plugins)) {
|
|
147
167
|
plugin.sdk = this;
|
|
148
168
|
}
|
|
149
169
|
if (options.gasLimit !== null) {
|
|
150
170
|
this.gasLimit = options.gasLimit || 550000000n;
|
|
151
171
|
}
|
|
152
|
-
|
|
172
|
+
this.tokensMeta = new import_base.TokensMeta(this);
|
|
153
173
|
}
|
|
154
174
|
async #attach(opts) {
|
|
155
175
|
const {
|
|
@@ -305,9 +325,74 @@ class GearboxSDK extends import_base.ChainContractsRegister {
|
|
|
305
325
|
timestamp: state.timestamp
|
|
306
326
|
});
|
|
307
327
|
}
|
|
328
|
+
get client() {
|
|
329
|
+
return this.#client;
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Replaces client inflight
|
|
333
|
+
* You're responsible for all inconsistencies between new and old client
|
|
334
|
+
* @param options
|
|
335
|
+
*/
|
|
336
|
+
replaceClient(options, network) {
|
|
337
|
+
this.#client = createClient(options, network);
|
|
338
|
+
}
|
|
308
339
|
get networkType() {
|
|
309
340
|
return this.client.chain.network;
|
|
310
341
|
}
|
|
342
|
+
get chain() {
|
|
343
|
+
return this.client.chain;
|
|
344
|
+
}
|
|
345
|
+
get chainId() {
|
|
346
|
+
return this.client.chain.id;
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Converts contract call into some human-friendly string
|
|
350
|
+
* This method is safe and should not throw
|
|
351
|
+
* @param address
|
|
352
|
+
* @param calldata
|
|
353
|
+
* @returns
|
|
354
|
+
*/
|
|
355
|
+
parseFunctionData(address, calldata) {
|
|
356
|
+
const contract = this.contracts.get(address);
|
|
357
|
+
return contract ? contract.parseFunctionData(calldata) : `unknown: ${address}.${calldata.slice(0, 10)}`;
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* Converts multicalls into some human-friendly strings
|
|
361
|
+
* This method is safe and should not throw
|
|
362
|
+
* @param address
|
|
363
|
+
* @param calldata
|
|
364
|
+
* @returns
|
|
365
|
+
*/
|
|
366
|
+
parseMultiCall(calls) {
|
|
367
|
+
return calls.map(
|
|
368
|
+
(call) => this.parseFunctionData(call.target, call.callData)
|
|
369
|
+
);
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* Return args, function, type and address name from contract call
|
|
373
|
+
* @param address
|
|
374
|
+
* @param calldata
|
|
375
|
+
* @returns
|
|
376
|
+
*/
|
|
377
|
+
parseFunctionDataToObject(address, calldata) {
|
|
378
|
+
const contract = this.contracts.get(address);
|
|
379
|
+
return contract ? {
|
|
380
|
+
...contract.parseFunctionDataToObject(calldata),
|
|
381
|
+
address,
|
|
382
|
+
type: contract.contractType
|
|
383
|
+
} : null;
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* Converts multicalls into call info
|
|
387
|
+
* @param address
|
|
388
|
+
* @param calldata
|
|
389
|
+
* @returns
|
|
390
|
+
*/
|
|
391
|
+
parseMultiCallToObject(calls) {
|
|
392
|
+
return calls.map(
|
|
393
|
+
(call) => this.parseFunctionDataToObject(call.target, call.callData)
|
|
394
|
+
);
|
|
395
|
+
}
|
|
311
396
|
stateHuman(raw = true) {
|
|
312
397
|
return {
|
|
313
398
|
block: Number(this.currentBlock),
|
|
@@ -399,7 +484,7 @@ class GearboxSDK extends import_base.ChainContractsRegister {
|
|
|
399
484
|
address: watchAddresses
|
|
400
485
|
});
|
|
401
486
|
for (const log of logs) {
|
|
402
|
-
const contract = this.
|
|
487
|
+
const contract = this.contracts.get(log.address);
|
|
403
488
|
if (contract) {
|
|
404
489
|
const event = (0, import_viem.parseEventLogs)({
|
|
405
490
|
abi: contract.abi,
|
|
@@ -488,11 +573,17 @@ class GearboxSDK extends import_base.ChainContractsRegister {
|
|
|
488
573
|
}
|
|
489
574
|
get botListContract() {
|
|
490
575
|
const addr = this.addressProvider.getAddress(import_constants.AP_BOT_LIST, import_constants.NO_VERSION);
|
|
491
|
-
|
|
576
|
+
if (!this.contracts.has(addr)) {
|
|
577
|
+
return new import_core.BotListContract(this, addr);
|
|
578
|
+
}
|
|
579
|
+
return this.contracts.get(addr);
|
|
492
580
|
}
|
|
493
581
|
get gearStakingContract() {
|
|
494
582
|
const addr = this.addressProvider.getAddress(import_constants.AP_GEAR_STAKING, import_constants.NO_VERSION);
|
|
495
|
-
|
|
583
|
+
if (!this.contracts.has(addr)) {
|
|
584
|
+
return new import_core.GearStakingContract(this, addr);
|
|
585
|
+
}
|
|
586
|
+
return this.contracts.get(addr);
|
|
496
587
|
}
|
|
497
588
|
get marketRegister() {
|
|
498
589
|
if (this.#marketRegister === void 0) {
|
|
@@ -519,7 +610,7 @@ class GearboxSDK extends import_base.ChainContractsRegister {
|
|
|
519
610
|
);
|
|
520
611
|
facadeAddr = cm.creditFacade.address;
|
|
521
612
|
}
|
|
522
|
-
const facadeV = this.
|
|
613
|
+
const facadeV = this.contracts.mustGet(facadeAddr).version;
|
|
523
614
|
routerRange = (0, import_constants.isV310)(facadeV) ? import_constants.VERSION_RANGE_310 : import_constants.VERSION_RANGE_300;
|
|
524
615
|
}
|
|
525
616
|
const routerEntry = this.addressProvider.getLatest(import_constants.AP_ROUTER, routerRange);
|
|
@@ -527,7 +618,18 @@ class GearboxSDK extends import_base.ChainContractsRegister {
|
|
|
527
618
|
throw new Error(`router not found in version range ${routerRange}`);
|
|
528
619
|
}
|
|
529
620
|
const [routerAddr, routerV] = routerEntry;
|
|
530
|
-
|
|
621
|
+
if (!this.contracts.has(routerAddr)) {
|
|
622
|
+
return (0, import_router.createRouter)(this, routerAddr, routerV);
|
|
623
|
+
}
|
|
624
|
+
return this.contracts.get(routerAddr);
|
|
625
|
+
}
|
|
626
|
+
/**
|
|
627
|
+
* Helper to get human-friendly label for address
|
|
628
|
+
* @param address
|
|
629
|
+
* @returns
|
|
630
|
+
*/
|
|
631
|
+
labelAddress(address) {
|
|
632
|
+
return this.addressLabels.get(address);
|
|
531
633
|
}
|
|
532
634
|
}
|
|
533
635
|
// Annotate the CommonJS export names for ESM import in node:
|