@gearbox-protocol/sdk 11.12.0 → 12.0.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/dev/create2.js +1 -1
- package/dist/cjs/dev/mint/AbstractMinter.js +2 -4
- package/dist/cjs/dev/mint/DealMinter.js +0 -3
- package/dist/cjs/dev/mint/DirectMinter.js +0 -3
- package/dist/cjs/dev/mint/FallbackMinter.js +1 -1
- package/dist/cjs/dev/mint/TransferMinter.js +0 -3
- package/dist/cjs/permissionless/bindings/address-provider.js +4 -6
- package/dist/cjs/permissionless/bindings/bytecode-repository.js +23 -25
- package/dist/cjs/permissionless/bindings/compressors/token-compressor.js +4 -4
- package/dist/cjs/permissionless/bindings/compressors/withdrawal-compressor.js +11 -17
- package/dist/cjs/permissionless/bindings/cross-chain-multisig.js +23 -22
- package/dist/cjs/permissionless/bindings/factory/abstract-factory.js +7 -4
- package/dist/cjs/permissionless/bindings/governance/batches-chain.js +4 -4
- package/dist/cjs/permissionless/bindings/governance/governor.js +30 -49
- package/dist/cjs/permissionless/bindings/governance/timelock.js +4 -4
- package/dist/cjs/permissionless/bindings/index.js +0 -2
- package/dist/cjs/permissionless/bindings/instance-manager.js +58 -77
- package/dist/cjs/permissionless/bindings/market-configurator-factory.js +4 -4
- package/dist/cjs/permissionless/bindings/market-configurator.js +71 -143
- package/dist/cjs/permissionless/bindings/price-feed-store.js +8 -17
- package/dist/cjs/permissionless/bindings/router/routing-manager.js +9 -15
- package/dist/cjs/permissionless/bindings/treasury-splitter.js +14 -23
- package/dist/cjs/permissionless/core/raw-tx.js +2 -2
- package/dist/cjs/permissionless/utils/format.js +2 -2
- package/dist/cjs/permissionless/utils/governance/timelock-txs.js +2 -2
- package/dist/cjs/permissionless/utils/index.js +0 -2
- package/dist/cjs/permissionless/utils/price-update/get-price-feeds.js +1 -2
- package/dist/cjs/permissionless/utils/price-update/get-price-update-tx.js +1 -2
- package/dist/cjs/permissionless/utils/price-update/get-prices.js +1 -2
- package/dist/cjs/permissionless/utils/price-update/get-updatable-feeds.js +2 -3
- package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
- package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
- package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
- package/dist/cjs/plugins/bots/deserializePartialLiquidationBotParams.js +49 -0
- package/dist/cjs/plugins/zappers/ZappersPlugin.js +1 -1
- package/dist/cjs/sdk/GearboxSDK.js +8 -110
- package/dist/cjs/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +1 -4
- package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +6 -8
- package/dist/cjs/sdk/base/BaseContract.js +195 -80
- package/dist/cjs/sdk/base/ChainContractsRegister.js +135 -0
- package/dist/cjs/sdk/base/Construct.js +87 -0
- package/dist/cjs/sdk/base/SDKConstruct.js +3 -29
- package/dist/cjs/sdk/base/TokensMeta.js +4 -4
- package/dist/cjs/sdk/base/index.js +4 -2
- package/dist/cjs/sdk/core/BotListV3Contract.js +2 -2
- package/dist/cjs/sdk/core/GearStakingV3Contract.js +2 -2
- package/dist/cjs/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
- package/dist/cjs/sdk/core/address-provider/AddressProviderV300Contract.js +11 -6
- package/dist/cjs/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
- package/dist/cjs/sdk/market/MarketConfiguratorContract.js +5 -5
- package/dist/cjs/sdk/market/MarketRegister.js +7 -9
- package/dist/cjs/sdk/market/MarketSuite.js +2 -2
- package/dist/cjs/sdk/market/credit/CreditConfiguratorV300Contract.js +4 -3
- package/dist/cjs/sdk/market/credit/CreditConfiguratorV310Contract.js +4 -3
- package/dist/cjs/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
- package/dist/cjs/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
- package/dist/cjs/sdk/market/credit/CreditManagerV300Contract.js +5 -2
- package/dist/cjs/sdk/market/credit/CreditManagerV310Contract.js +5 -2
- package/dist/cjs/sdk/market/credit/CreditSuite.js +2 -3
- package/dist/cjs/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +3 -1
- package/dist/cjs/sdk/market/loss-policy/LossPolicyContract.js +2 -2
- package/dist/cjs/sdk/market/loss-policy/createLossPolicy.js +1 -1
- package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +8 -26
- package/dist/cjs/sdk/market/oracle/createPriceOracle.js +1 -1
- package/dist/cjs/sdk/market/pool/GaugeContract.js +2 -2
- package/dist/cjs/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
- package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
- package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
- package/dist/cjs/sdk/market/pool/PoolSuite.js +1 -1
- package/dist/cjs/sdk/market/pool/PoolV300Contract.js +5 -5
- package/dist/cjs/sdk/market/pool/PoolV310Contract.js +5 -5
- package/dist/cjs/sdk/market/pool/TumblerContract.js +2 -2
- package/dist/cjs/sdk/market/pool/createInterestRateModel.js +11 -15
- package/dist/cjs/sdk/market/pricefeeds/AbstractLPPriceFeed.js +2 -22
- package/dist/cjs/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
- package/dist/cjs/sdk/market/pricefeeds/BalancerStablePriceFeed.js +2 -9
- package/dist/cjs/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +2 -9
- package/dist/cjs/sdk/market/pricefeeds/BoundedPriceFeed.js +6 -2
- package/dist/cjs/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +2 -9
- package/dist/cjs/sdk/market/pricefeeds/CurveStablePriceFeed.js +2 -9
- package/dist/cjs/sdk/market/pricefeeds/CurveUSDPriceFeed.js +2 -9
- package/dist/cjs/sdk/market/pricefeeds/Erc4626PriceFeed.js +2 -18
- package/dist/cjs/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/MellowLRTPriceFeed.js +2 -10
- package/dist/cjs/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/PriceFeedRef.js +6 -4
- package/dist/cjs/sdk/market/pricefeeds/PriceFeedsRegister.js +2 -3
- package/dist/cjs/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
- package/dist/cjs/sdk/market/pricefeeds/WstETHPriceFeed.js +2 -9
- package/dist/cjs/sdk/market/pricefeeds/YearnPriceFeed.js +2 -9
- package/dist/cjs/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +17 -0
- package/dist/cjs/sdk/market/pricefeeds/updates/PythUpdater.js +7 -9
- package/dist/cjs/sdk/market/pricefeeds/updates/RedstoneUpdater.js +10 -12
- package/dist/cjs/sdk/router/AbstractRouterContract.js +5 -0
- package/dist/cjs/sdk/router/RouterV310Contract.js +3 -3
- package/dist/cjs/sdk/router/createRouter.js +4 -0
- package/dist/cjs/sdk/utils/abi-decode.js +58 -0
- package/dist/cjs/sdk/utils/index.js +2 -0
- package/dist/esm/dev/create2.js +2 -2
- package/dist/esm/dev/mint/AbstractMinter.js +3 -7
- package/dist/esm/dev/mint/DealMinter.js +0 -3
- package/dist/esm/dev/mint/DirectMinter.js +0 -3
- package/dist/esm/dev/mint/FallbackMinter.js +1 -1
- package/dist/esm/dev/mint/TransferMinter.js +0 -3
- package/dist/esm/permissionless/bindings/address-provider.js +7 -7
- package/dist/esm/permissionless/bindings/bytecode-repository.js +22 -24
- package/dist/esm/permissionless/bindings/compressors/token-compressor.js +3 -3
- package/dist/esm/permissionless/bindings/compressors/withdrawal-compressor.js +10 -16
- package/dist/esm/permissionless/bindings/cross-chain-multisig.js +20 -16
- package/dist/esm/permissionless/bindings/factory/abstract-factory.js +9 -4
- package/dist/esm/permissionless/bindings/governance/batches-chain.js +3 -3
- package/dist/esm/permissionless/bindings/governance/governor.js +28 -47
- package/dist/esm/permissionless/bindings/governance/timelock.js +3 -3
- package/dist/esm/permissionless/bindings/index.js +0 -1
- package/dist/esm/permissionless/bindings/instance-manager.js +53 -69
- package/dist/esm/permissionless/bindings/market-configurator-factory.js +3 -3
- package/dist/esm/permissionless/bindings/market-configurator.js +65 -137
- package/dist/esm/permissionless/bindings/price-feed-store.js +8 -14
- package/dist/esm/permissionless/bindings/router/routing-manager.js +8 -14
- package/dist/esm/permissionless/bindings/treasury-splitter.js +15 -22
- package/dist/esm/permissionless/core/raw-tx.js +1 -1
- package/dist/esm/permissionless/utils/format.js +1 -1
- package/dist/esm/permissionless/utils/governance/timelock-txs.js +1 -1
- package/dist/esm/permissionless/utils/index.js +0 -1
- package/dist/esm/permissionless/utils/price-update/get-price-feeds.js +4 -2
- package/dist/esm/permissionless/utils/price-update/get-price-update-tx.js +1 -1
- package/dist/esm/permissionless/utils/price-update/get-prices.js +1 -2
- package/dist/esm/permissionless/utils/price-update/get-updatable-feeds.js +1 -1
- package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +2 -2
- package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
- package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
- package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
- package/dist/esm/plugins/bots/deserializePartialLiquidationBotParams.js +29 -0
- package/dist/esm/plugins/zappers/ZappersPlugin.js +1 -1
- package/dist/esm/sdk/GearboxSDK.js +10 -112
- package/dist/esm/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +1 -4
- package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +7 -9
- package/dist/esm/sdk/base/BaseContract.js +202 -81
- package/dist/esm/sdk/base/ChainContractsRegister.js +111 -0
- package/dist/esm/sdk/base/Construct.js +63 -0
- package/dist/esm/sdk/base/SDKConstruct.js +3 -29
- package/dist/esm/sdk/base/TokensMeta.js +4 -4
- package/dist/esm/sdk/base/index.js +2 -1
- package/dist/esm/sdk/core/BotListV3Contract.js +2 -2
- package/dist/esm/sdk/core/GearStakingV3Contract.js +2 -2
- package/dist/esm/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
- package/dist/esm/sdk/core/address-provider/AddressProviderV300Contract.js +11 -6
- package/dist/esm/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
- package/dist/esm/sdk/market/MarketConfiguratorContract.js +5 -5
- package/dist/esm/sdk/market/MarketRegister.js +8 -10
- package/dist/esm/sdk/market/MarketSuite.js +2 -2
- package/dist/esm/sdk/market/credit/CreditConfiguratorV300Contract.js +4 -3
- package/dist/esm/sdk/market/credit/CreditConfiguratorV310Contract.js +4 -3
- package/dist/esm/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
- package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
- package/dist/esm/sdk/market/credit/CreditManagerV300Contract.js +5 -2
- package/dist/esm/sdk/market/credit/CreditManagerV310Contract.js +5 -2
- package/dist/esm/sdk/market/credit/CreditSuite.js +2 -3
- package/dist/esm/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +3 -1
- package/dist/esm/sdk/market/loss-policy/LossPolicyContract.js +5 -3
- package/dist/esm/sdk/market/loss-policy/createLossPolicy.js +1 -1
- package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +8 -26
- package/dist/esm/sdk/market/oracle/createPriceOracle.js +1 -1
- package/dist/esm/sdk/market/pool/GaugeContract.js +2 -2
- package/dist/esm/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
- package/dist/esm/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
- package/dist/esm/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
- package/dist/esm/sdk/market/pool/PoolSuite.js +1 -1
- package/dist/esm/sdk/market/pool/PoolV300Contract.js +5 -5
- package/dist/esm/sdk/market/pool/PoolV310Contract.js +5 -5
- package/dist/esm/sdk/market/pool/TumblerContract.js +2 -2
- package/dist/esm/sdk/market/pool/createInterestRateModel.js +11 -15
- package/dist/esm/sdk/market/pricefeeds/AbstractLPPriceFeed.js +2 -22
- package/dist/esm/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
- package/dist/esm/sdk/market/pricefeeds/BalancerStablePriceFeed.js +3 -13
- package/dist/esm/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +3 -13
- package/dist/esm/sdk/market/pricefeeds/BoundedPriceFeed.js +6 -2
- package/dist/esm/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +3 -10
- package/dist/esm/sdk/market/pricefeeds/CurveStablePriceFeed.js +3 -10
- package/dist/esm/sdk/market/pricefeeds/CurveUSDPriceFeed.js +3 -10
- package/dist/esm/sdk/market/pricefeeds/Erc4626PriceFeed.js +2 -18
- package/dist/esm/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/MellowLRTPriceFeed.js +3 -11
- package/dist/esm/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/PriceFeedRef.js +7 -5
- package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +3 -9
- package/dist/esm/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
- package/dist/esm/sdk/market/pricefeeds/WstETHPriceFeed.js +3 -10
- package/dist/esm/sdk/market/pricefeeds/YearnPriceFeed.js +3 -10
- package/dist/esm/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +17 -0
- package/dist/esm/sdk/market/pricefeeds/updates/PythUpdater.js +8 -10
- package/dist/esm/sdk/market/pricefeeds/updates/RedstoneUpdater.js +11 -13
- package/dist/esm/sdk/router/AbstractRouterContract.js +5 -0
- package/dist/esm/sdk/router/RouterV310Contract.js +3 -3
- package/dist/esm/sdk/router/createRouter.js +4 -0
- package/dist/esm/sdk/utils/abi-decode.js +37 -0
- package/dist/esm/sdk/utils/index.js +1 -0
- package/dist/types/dev/create2.d.ts +2 -2
- package/dist/types/dev/mint/AbstractMinter.d.ts +3 -4
- package/dist/types/dev/mint/DealMinter.d.ts +0 -3
- package/dist/types/dev/mint/DirectMinter.d.ts +0 -3
- package/dist/types/dev/mint/TransferMinter.d.ts +0 -3
- package/dist/types/permissionless/bindings/address-provider.d.ts +4 -255
- package/dist/types/permissionless/bindings/bytecode-repository.d.ts +5 -6
- package/dist/types/permissionless/bindings/compressors/token-compressor.d.ts +3 -3
- package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +4 -5
- package/dist/types/permissionless/bindings/cross-chain-multisig.d.ts +7 -7
- package/dist/types/permissionless/bindings/factory/abstract-factory.d.ts +1 -1
- package/dist/types/permissionless/bindings/governance/batches-chain.d.ts +3 -4
- package/dist/types/permissionless/bindings/governance/governor.d.ts +6 -7
- package/dist/types/permissionless/bindings/governance/timelock.d.ts +3 -3
- package/dist/types/permissionless/bindings/governance/types.d.ts +1 -1
- package/dist/types/permissionless/bindings/index.d.ts +0 -1
- package/dist/types/permissionless/bindings/instance-manager.d.ts +6 -7
- package/dist/types/permissionless/bindings/market-configurator-factory.d.ts +4 -4
- package/dist/types/permissionless/bindings/market-configurator.d.ts +6 -6
- package/dist/types/permissionless/bindings/price-feed-store.d.ts +6 -7
- package/dist/types/permissionless/bindings/router/routing-manager.d.ts +4 -5
- package/dist/types/permissionless/bindings/treasury-splitter.d.ts +5 -6
- package/dist/types/permissionless/core/proposal.d.ts +1 -7
- package/dist/types/permissionless/utils/create2.d.ts +1 -1
- package/dist/types/permissionless/utils/governance/batch.d.ts +1 -1
- package/dist/types/permissionless/utils/index.d.ts +0 -1
- package/dist/types/permissionless/utils/price-update/get-price-feeds.d.ts +3 -3
- package/dist/types/permissionless/utils/price-update/get-price-update-tx.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/BalancerV2VaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/EqualizerRouterAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/InfraredVaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowVaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +2 -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/deserializePartialLiquidationBotParams.d.ts +3 -0
- package/dist/types/sdk/GearboxSDK.d.ts +5 -76
- package/dist/types/sdk/accountMigration/types.d.ts +1 -2
- package/dist/types/sdk/accounts/types.d.ts +4 -3
- package/dist/types/sdk/base/BaseContract.d.ts +72 -28
- package/dist/types/sdk/base/ChainContractsRegister.d.ts +57 -0
- package/dist/types/sdk/base/Construct.d.ts +38 -0
- package/dist/types/sdk/base/PlaceholderContract.d.ts +2 -2
- package/dist/types/sdk/base/SDKConstruct.d.ts +2 -16
- package/dist/types/sdk/base/TokensMeta.d.ts +2 -3
- package/dist/types/sdk/base/index.d.ts +2 -1
- package/dist/types/sdk/base/types.d.ts +50 -0
- package/dist/types/sdk/core/BotListV3Contract.d.ts +1 -1
- package/dist/types/sdk/core/GearStakingV3Contract.d.ts +1 -1
- package/dist/types/sdk/core/address-provider/AbstractAddressProviderContract.d.ts +3 -4
- package/dist/types/sdk/core/address-provider/AddressProviderV300Contract.d.ts +3 -3
- package/dist/types/sdk/core/address-provider/AddressProviderV310Contract.d.ts +3 -3
- package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +2 -2
- package/dist/types/sdk/market/credit/CreditConfiguratorV300Contract.d.ts +3 -3
- package/dist/types/sdk/market/credit/CreditConfiguratorV310Contract.d.ts +3 -3
- package/dist/types/sdk/market/credit/CreditFacadeV300Contract.d.ts +3 -4
- package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +3 -4
- package/dist/types/sdk/market/credit/CreditManagerV300Contract.d.ts +1 -1
- package/dist/types/sdk/market/credit/CreditManagerV310Contract.d.ts +1 -1
- package/dist/types/sdk/market/credit/CreditSuite.d.ts +1 -1
- package/dist/types/sdk/market/credit/types.d.ts +1 -2
- package/dist/types/sdk/market/loss-policy/AliasLossPolicyV310Contract.d.ts +1 -0
- package/dist/types/sdk/market/loss-policy/LossPolicyContract.d.ts +2 -3
- package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +3 -12
- package/dist/types/sdk/market/oracle/types.d.ts +0 -10
- package/dist/types/sdk/market/pool/GaugeContract.d.ts +2 -3
- package/dist/types/sdk/market/pool/LinearInterestRateModelContract.d.ts +2 -3
- package/dist/types/sdk/market/pool/PoolQuotaKeeperV300Contract.d.ts +2 -3
- package/dist/types/sdk/market/pool/PoolQuotaKeeperV310Contract.d.ts +2 -3
- package/dist/types/sdk/market/pool/PoolV300Contract.d.ts +4 -5
- package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +4 -5
- package/dist/types/sdk/market/pool/TumblerContract.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/AbstractLPPriceFeed.d.ts +3 -8
- package/dist/types/sdk/market/pricefeeds/AbstractPriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/BalancerStablePriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/BalancerWeightedPriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/BoundedPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/CompositePriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/ConstantPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/CurveCryptoPriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/CurveStablePriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/CurveUSDPriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/Erc4626PriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/ExternalPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/MellowLRTPriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/PriceFeedRef.d.ts +3 -4
- package/dist/types/sdk/market/pricefeeds/PriceFeedsRegister.d.ts +1 -2
- package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/RedstonePriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/WstETHPriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/YearnPriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/ZeroPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/types.d.ts +0 -5
- package/dist/types/sdk/market/pricefeeds/updates/PriceUpdatesCache.d.ts +8 -1
- package/dist/types/sdk/router/AbstractRouterContract.d.ts +4 -1
- package/dist/types/sdk/router/types.d.ts +1 -2
- package/dist/types/sdk/sdk-legacy/core/creditAccount.d.ts +2 -2
- package/dist/types/sdk/utils/abi-decode.d.ts +10 -0
- package/dist/types/sdk/utils/index.d.ts +1 -0
- package/package.json +1 -1
- package/dist/cjs/permissionless/bindings/base-contract.js +0 -173
- package/dist/cjs/permissionless/utils/abi-decoder.js +0 -72
- package/dist/cjs/sdk/base/AddressLabeller.js +0 -49
- package/dist/cjs/sdk/base/IAddressLabeller.js +0 -16
- package/dist/esm/permissionless/bindings/base-contract.js +0 -151
- package/dist/esm/permissionless/utils/abi-decoder.js +0 -50
- package/dist/esm/sdk/base/AddressLabeller.js +0 -25
- package/dist/esm/sdk/base/IAddressLabeller.js +0 -0
- package/dist/types/permissionless/bindings/base-contract.d.ts +0 -23
- package/dist/types/permissionless/utils/abi-decoder.d.ts +0 -13
- package/dist/types/sdk/base/AddressLabeller.d.ts +0 -11
- package/dist/types/sdk/base/IAddressLabeller.d.ts +0 -9
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Address } from "viem";
|
|
2
|
-
import type {
|
|
2
|
+
import type { ConstructOptions } from "../../../sdk/index.js";
|
|
3
3
|
import type { AbstractAdapterContractOptions } from "./AbstractAdapter.js";
|
|
4
4
|
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
5
5
|
import type { TraderJoePoolVersion } from "./types.js";
|
|
@@ -344,6 +344,6 @@ export declare class TraderJoeRouterAdapterContract extends AbstractAdapterContr
|
|
|
344
344
|
binStep: number;
|
|
345
345
|
poolVersion: TraderJoePoolVersion;
|
|
346
346
|
}[];
|
|
347
|
-
constructor(
|
|
347
|
+
constructor(options: ConstructOptions, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
|
|
348
348
|
}
|
|
349
349
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Address, type DecodeFunctionDataReturnType } from "viem";
|
|
2
|
-
import type {
|
|
2
|
+
import type { ConstructOptions } from "../../../sdk/index.js";
|
|
3
3
|
import type { AbstractAdapterContractOptions } from "./AbstractAdapter.js";
|
|
4
4
|
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
5
5
|
declare const abi: readonly [{
|
|
@@ -210,7 +210,7 @@ export declare class UniswapV2AdapterContract extends AbstractAdapterContract<ab
|
|
|
210
210
|
token0: Address;
|
|
211
211
|
token1: Address;
|
|
212
212
|
}[];
|
|
213
|
-
constructor(
|
|
214
|
-
protected
|
|
213
|
+
constructor(options: ConstructOptions, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
|
|
214
|
+
protected stringifyFunctionParams(params: DecodeFunctionDataReturnType<abi>): string[];
|
|
215
215
|
}
|
|
216
216
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Address, type DecodeFunctionDataReturnType } from "viem";
|
|
2
|
-
import type {
|
|
2
|
+
import type { ConstructOptions } from "../../../sdk/index.js";
|
|
3
3
|
import type { AbstractAdapterContractOptions } from "./AbstractAdapter.js";
|
|
4
4
|
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
5
5
|
declare const abi: readonly [{
|
|
@@ -376,8 +376,8 @@ export declare class UniswapV3AdapterContract extends AbstractAdapterContract<ab
|
|
|
376
376
|
token1: Address;
|
|
377
377
|
fee: number;
|
|
378
378
|
}[];
|
|
379
|
-
constructor(
|
|
380
|
-
protected
|
|
379
|
+
constructor(options: ConstructOptions, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
|
|
380
|
+
protected stringifyFunctionParams(params: DecodeFunctionDataReturnType<abi>): string[];
|
|
381
381
|
private trackInputPath;
|
|
382
382
|
private trackOutputPath;
|
|
383
383
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Address } from "viem";
|
|
2
|
-
import type {
|
|
2
|
+
import type { ConstructOptions } from "../../../sdk/index.js";
|
|
3
3
|
import type { AbstractAdapterContractOptions } from "./AbstractAdapter.js";
|
|
4
4
|
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
5
5
|
declare const abi: readonly [{
|
|
@@ -315,6 +315,6 @@ export declare class UniswapV4AdapterContract extends AbstractAdapterContract<ab
|
|
|
315
315
|
tickSpacing: number;
|
|
316
316
|
hooks: Address;
|
|
317
317
|
}[];
|
|
318
|
-
constructor(
|
|
318
|
+
constructor(options: ConstructOptions, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
|
|
319
319
|
}
|
|
320
320
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Address } from "viem";
|
|
2
|
-
import type {
|
|
2
|
+
import type { ConstructOptions } from "../../../sdk/index.js";
|
|
3
3
|
import type { AbstractAdapterContractOptions } from "./AbstractAdapter.js";
|
|
4
4
|
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
5
5
|
declare const abi: readonly [{
|
|
@@ -278,6 +278,6 @@ export declare class UpshiftVaultAdapterContract extends AbstractAdapterContract
|
|
|
278
278
|
readonly vault: Address;
|
|
279
279
|
readonly asset: Address;
|
|
280
280
|
readonly stakedPhantomToken: Address;
|
|
281
|
-
constructor(
|
|
281
|
+
constructor(options: ConstructOptions, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
|
|
282
282
|
}
|
|
283
283
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Address } from "viem";
|
|
2
|
-
import type {
|
|
2
|
+
import type { ConstructOptions } from "../../../sdk/index.js";
|
|
3
3
|
import type { AbstractAdapterContractOptions } from "./AbstractAdapter.js";
|
|
4
4
|
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
5
5
|
declare const abi: readonly [{
|
|
@@ -242,6 +242,6 @@ export declare class VelodromeV2RouterAdapterContract extends AbstractAdapterCon
|
|
|
242
242
|
stable: boolean;
|
|
243
243
|
factory: Address;
|
|
244
244
|
}[];
|
|
245
|
-
constructor(
|
|
245
|
+
constructor(options: ConstructOptions, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
|
|
246
246
|
}
|
|
247
247
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Address } from "viem";
|
|
2
|
-
import type {
|
|
2
|
+
import type { ConstructOptions } from "../../../sdk/index.js";
|
|
3
3
|
import type { AbstractAdapterContractOptions } from "./AbstractAdapter.js";
|
|
4
4
|
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
5
5
|
declare const abi: readonly [{
|
|
@@ -122,6 +122,6 @@ declare const abi: readonly [{
|
|
|
122
122
|
type abi = typeof abi;
|
|
123
123
|
export declare class WstETHV1AdapterContract extends AbstractAdapterContract<abi> {
|
|
124
124
|
readonly stETH: Address;
|
|
125
|
-
constructor(
|
|
125
|
+
constructor(options: ConstructOptions, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
|
|
126
126
|
}
|
|
127
127
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Address } from "viem";
|
|
2
|
-
import type {
|
|
2
|
+
import type { ConstructOptions } from "../../../sdk/index.js";
|
|
3
3
|
import type { AbstractAdapterContractOptions } from "./AbstractAdapter.js";
|
|
4
4
|
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
5
5
|
declare const abi: readonly [{
|
|
@@ -180,6 +180,6 @@ declare const abi: readonly [{
|
|
|
180
180
|
type abi = typeof abi;
|
|
181
181
|
export declare class YearnV2RouterAdapterContract extends AbstractAdapterContract<abi> {
|
|
182
182
|
readonly token: Address;
|
|
183
|
-
constructor(
|
|
183
|
+
constructor(options: ConstructOptions, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
|
|
184
184
|
}
|
|
185
185
|
export {};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { Address
|
|
1
|
+
import type { Address } from "viem";
|
|
2
2
|
import { type PublicClient, type Transport } from "viem";
|
|
3
3
|
import type { HttpRpcClientOptions } from "viem/utils";
|
|
4
|
-
import type {
|
|
5
|
-
import {
|
|
4
|
+
import type { BaseState, IBaseContract } from "./base/index.js";
|
|
5
|
+
import { ChainContractsRegister } from "./base/index.js";
|
|
6
6
|
import type { GearboxChain, NetworkType } from "./chain/chains.js";
|
|
7
7
|
import type { VersionRange } from "./constants/index.js";
|
|
8
8
|
import type { IAddressProviderContract } from "./core/index.js";
|
|
@@ -12,8 +12,7 @@ import { PriceFeedRegister } from "./market/pricefeeds/index.js";
|
|
|
12
12
|
import type { SDKOptions } from "./options.js";
|
|
13
13
|
import { type PluginsMap } from "./plugins/index.js";
|
|
14
14
|
import { type IRouterContract } from "./router/index.js";
|
|
15
|
-
import type { GearboxState, GearboxStateHuman
|
|
16
|
-
import { AddressMap } from "./utils/index.js";
|
|
15
|
+
import type { GearboxState, GearboxStateHuman } from "./types/index.js";
|
|
17
16
|
/**
|
|
18
17
|
* State version, checked duryng hydration
|
|
19
18
|
*/
|
|
@@ -64,29 +63,14 @@ export type SDKHooks = {
|
|
|
64
63
|
syncState: [SyncStateOptions];
|
|
65
64
|
rehydrate: [SyncStateOptions];
|
|
66
65
|
};
|
|
67
|
-
export declare class GearboxSDK<const Plugins extends PluginsMap = {}> {
|
|
66
|
+
export declare class GearboxSDK<const Plugins extends PluginsMap = {}> extends ChainContractsRegister {
|
|
68
67
|
#private;
|
|
69
68
|
readonly plugins: Plugins;
|
|
70
|
-
readonly logger?: ILogger;
|
|
71
69
|
readonly gasLimit: bigint | undefined;
|
|
72
|
-
readonly addressLabels: AddressLabeller;
|
|
73
|
-
/**
|
|
74
|
-
* Interest rate models can be reused across chain (and SDK operates on chain level)
|
|
75
|
-
* TODO: use whatever interface is necessary for InterestRateModels
|
|
76
|
-
*/
|
|
77
|
-
readonly interestRateModels: AddressMap<BaseContract<readonly unknown[]>>;
|
|
78
70
|
/**
|
|
79
71
|
* Will throw an error if contract type is not supported, otherwise will try to use generic contract first, if possible
|
|
80
72
|
*/
|
|
81
73
|
readonly strictContractTypes: boolean;
|
|
82
|
-
/**
|
|
83
|
-
* All contracts known to sdk
|
|
84
|
-
*/
|
|
85
|
-
readonly contracts: AddressMap<BaseContract<any>>;
|
|
86
|
-
/**
|
|
87
|
-
* Token metadata such as symbol and decimals
|
|
88
|
-
*/
|
|
89
|
-
readonly tokensMeta: TokensMeta;
|
|
90
74
|
addHook: <K extends keyof SDKHooks>(hookName: K, fn: (...args: SDKHooks[K]) => void | Promise<void>) => void;
|
|
91
75
|
removeHook: <K extends keyof SDKHooks>(hookName: K, fn: (...args: SDKHooks[K]) => void | Promise<void>) => void;
|
|
92
76
|
static attach<const Plugins extends PluginsMap>(options: SDKOptions<Plugins> & ClientOptions & Partial<NetworkOptions>): Promise<GearboxSDK<Plugins>>;
|
|
@@ -101,56 +85,7 @@ export declare class GearboxSDK<const Plugins extends PluginsMap = {}> {
|
|
|
101
85
|
* Rehydrate existing SDK from new state without re-creating instance
|
|
102
86
|
*/
|
|
103
87
|
rehydrate(state: GearboxState<Plugins>): Promise<void>;
|
|
104
|
-
get client(): PublicClient<Transport, GearboxChain>;
|
|
105
|
-
/**
|
|
106
|
-
* Replaces client inflight
|
|
107
|
-
* You're responsible for all inconsistencies between new and old client
|
|
108
|
-
* @param options
|
|
109
|
-
*/
|
|
110
|
-
replaceClient(options: ClientOptions, network?: NetworkOptions): void;
|
|
111
88
|
get networkType(): NetworkType;
|
|
112
|
-
get chain(): GearboxChain;
|
|
113
|
-
get chainId(): number;
|
|
114
|
-
/**
|
|
115
|
-
* Converts contract call into some human-friendly string
|
|
116
|
-
* This method is safe and should not throw
|
|
117
|
-
* @param address
|
|
118
|
-
* @param calldata
|
|
119
|
-
* @returns
|
|
120
|
-
*/
|
|
121
|
-
parseFunctionData(address: Address, calldata: Hex): string;
|
|
122
|
-
/**
|
|
123
|
-
* Converts multicalls into some human-friendly strings
|
|
124
|
-
* This method is safe and should not throw
|
|
125
|
-
* @param address
|
|
126
|
-
* @param calldata
|
|
127
|
-
* @returns
|
|
128
|
-
*/
|
|
129
|
-
parseMultiCall(calls: MultiCall[]): string[];
|
|
130
|
-
/**
|
|
131
|
-
* Return args, function, type and address name from contract call
|
|
132
|
-
* @param address
|
|
133
|
-
* @param calldata
|
|
134
|
-
* @returns
|
|
135
|
-
*/
|
|
136
|
-
parseFunctionDataToObject(address: Address, calldata: Hex): {
|
|
137
|
-
address: `0x${string}`;
|
|
138
|
-
type: string;
|
|
139
|
-
args: any[];
|
|
140
|
-
functionName: any;
|
|
141
|
-
} | null;
|
|
142
|
-
/**
|
|
143
|
-
* Converts multicalls into call info
|
|
144
|
-
* @param address
|
|
145
|
-
* @param calldata
|
|
146
|
-
* @returns
|
|
147
|
-
*/
|
|
148
|
-
parseMultiCallToObject(calls: MultiCall[]): ({
|
|
149
|
-
address: `0x${string}`;
|
|
150
|
-
type: string;
|
|
151
|
-
args: any[];
|
|
152
|
-
functionName: any;
|
|
153
|
-
} | null)[];
|
|
154
89
|
stateHuman(raw?: boolean): GearboxStateHuman;
|
|
155
90
|
get state(): GearboxState<Plugins>;
|
|
156
91
|
/**
|
|
@@ -180,10 +115,4 @@ export declare class GearboxSDK<const Plugins extends PluginsMap = {}> {
|
|
|
180
115
|
} | {
|
|
181
116
|
creditFacade: Address | BaseState | IBaseContract;
|
|
182
117
|
} | VersionRange): IRouterContract;
|
|
183
|
-
/**
|
|
184
|
-
* Helper to get human-friendly label for address
|
|
185
|
-
* @param address
|
|
186
|
-
* @returns
|
|
187
|
-
*/
|
|
188
|
-
labelAddress(address: Address): string;
|
|
189
118
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { Address, GetContractReturnType, PublicClient, WalletClient } from "viem";
|
|
2
2
|
import type { accountMigratorPreviewerV310Abi } from "../../abi/migration.js";
|
|
3
|
-
import type { SDKConstruct } from "../base/SDKConstruct.js";
|
|
4
3
|
import type { Asset, RouterCASlice } from "../router/index.js";
|
|
5
4
|
export interface MigrateCreditAccountProps {
|
|
6
5
|
/**
|
|
@@ -47,7 +46,7 @@ export interface PreviewCreditAccountMigrationProps {
|
|
|
47
46
|
expectedTargetQuota: Array<Asset>;
|
|
48
47
|
}
|
|
49
48
|
export type PreviewMigrationResult = Awaited<ReturnType<GetContractReturnType<typeof accountMigratorPreviewerV310Abi, PublicClient>["simulate"]["previewMigration"]>>["result"];
|
|
50
|
-
export interface IMigrateCreditAccountsService
|
|
49
|
+
export interface IMigrateCreditAccountsService {
|
|
51
50
|
/**
|
|
52
51
|
* Preview delayed withdrawal for a given credit account
|
|
53
52
|
* @param props - {@link PreviewCreditAccountMigrationProps}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Address, ContractFunctionArgs, GetContractReturnType, Hex, PublicClient } from "viem";
|
|
2
2
|
import type { creditAccountCompressorAbi } from "../../abi/compressors/creditAccountCompressor.js";
|
|
3
3
|
import type { iWithdrawalCompressorV310Abi } from "../../abi/IWithdrawalCompressorV310.js";
|
|
4
|
-
import type { ConnectedBotData, CreditAccountData } from "../base/index.js";
|
|
5
|
-
import type {
|
|
4
|
+
import type { ConnectedBotData, Construct, CreditAccountData } from "../base/index.js";
|
|
5
|
+
import type { GearboxSDK } from "../GearboxSDK.js";
|
|
6
6
|
import type { CreditSuite, OnDemandPriceUpdates, PriceUpdateV300, PriceUpdateV310, UpdatePriceFeedsResult } from "../market/index.js";
|
|
7
7
|
import type { Asset, CreditAccountTokensSlice, RouterCASlice, RouterCloseResult } from "../router/index.js";
|
|
8
8
|
import type { MultiCall, RawTx } from "../types/index.js";
|
|
@@ -407,7 +407,8 @@ export type GetConnectedMigrationBotsResult = {
|
|
|
407
407
|
})[];
|
|
408
408
|
botAddress: Address;
|
|
409
409
|
} | undefined;
|
|
410
|
-
export interface ICreditAccountsService extends
|
|
410
|
+
export interface ICreditAccountsService extends Construct {
|
|
411
|
+
sdk: GearboxSDK;
|
|
411
412
|
/**
|
|
412
413
|
* Returns single credit account data, or undefined if it's not found
|
|
413
414
|
* Performs all necessary price feed updates under the hood
|
|
@@ -1,58 +1,102 @@
|
|
|
1
|
-
import type { Abi, Address,
|
|
2
|
-
import type
|
|
3
|
-
import type { BaseContractStateHuman,
|
|
4
|
-
import {
|
|
5
|
-
|
|
1
|
+
import type { Abi, Address, Chain, ContractEventName, ContractFunctionName, DecodeFunctionDataReturnType, EncodeFunctionDataParameters, GetContractReturnType, Hex, Log, PublicClient, Transport } from "viem";
|
|
2
|
+
import { BaseError, type ContractEventArgs, type GetContractEventsReturnType } from "viem";
|
|
3
|
+
import type { BaseContractStateHuman, RawTx } from "../types/index.js";
|
|
4
|
+
import { Construct, type ConstructOptions } from "./Construct.js";
|
|
5
|
+
import type { IBaseContract, ParsedCall, ParsedCallArgs } from "./types.js";
|
|
6
|
+
export interface BaseContractArgs<abi extends Abi | readonly unknown[]> {
|
|
6
7
|
abi: abi;
|
|
7
8
|
addr: Address;
|
|
8
9
|
name?: string;
|
|
9
10
|
version?: number | bigint;
|
|
10
11
|
contractType?: string;
|
|
11
12
|
}
|
|
12
|
-
export interface
|
|
13
|
+
export interface ContractParseErrorOptions {
|
|
13
14
|
address: Address;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
name: string;
|
|
17
|
-
dirty: boolean;
|
|
15
|
+
callData: Hex;
|
|
16
|
+
contractName?: string;
|
|
18
17
|
}
|
|
19
|
-
export declare
|
|
20
|
-
|
|
21
|
-
readonly
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
export declare class ContractParseError extends BaseError {
|
|
19
|
+
readonly address: Address;
|
|
20
|
+
readonly callData: Hex;
|
|
21
|
+
readonly selector: Hex;
|
|
22
|
+
constructor(cause: Error, options: ContractParseErrorOptions);
|
|
23
|
+
}
|
|
24
|
+
export declare class BaseContract<abi extends Abi | readonly unknown[]> extends Construct implements IBaseContract {
|
|
25
|
+
readonly contract: GetContractReturnType<abi, PublicClient<Transport, Chain>, Address>;
|
|
24
26
|
readonly abi: abi;
|
|
25
|
-
readonly logger?: ILogger;
|
|
26
27
|
readonly contractType: string;
|
|
27
|
-
version: number;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
get name(): string;
|
|
32
|
-
set name(name: string);
|
|
28
|
+
readonly version: number;
|
|
29
|
+
readonly address: Address;
|
|
30
|
+
readonly name: string;
|
|
31
|
+
constructor({ client, logger }: ConstructOptions, args: BaseContractArgs<abi>);
|
|
33
32
|
stateHuman(_?: boolean): BaseContractStateHuman;
|
|
34
33
|
/**
|
|
35
34
|
* Updates (or not) contract's internal state from event
|
|
36
35
|
* @param _log
|
|
37
36
|
*/
|
|
38
37
|
processLog(_log: Log<bigint, number, false, undefined, undefined, abi, ContractEventName<abi>>): void;
|
|
38
|
+
/**
|
|
39
|
+
* Return parsed args and function name from calldata belonging to this contract
|
|
40
|
+
* Target of the call is always this contract, but args can be parsed into calls to other contracts (de-facto recursive ParsedCall)
|
|
41
|
+
* @param calldata
|
|
42
|
+
* @returns
|
|
43
|
+
*/
|
|
44
|
+
parseFunctionData(calldata: Hex): ParsedCall;
|
|
45
|
+
/**
|
|
46
|
+
* Same as {@link parseFunctionData}, but throws {@link ContractParseError} if error occurs
|
|
47
|
+
* @param callData
|
|
48
|
+
* @returns
|
|
49
|
+
*/
|
|
50
|
+
mustParseFunctionData(callData: Hex): ParsedCall;
|
|
51
|
+
/**
|
|
52
|
+
* Parses viem-decoded contract function arguments to a map of named arguments
|
|
53
|
+
* This default implementation uses abi-based parsing, you can override it,
|
|
54
|
+
* but use this super implementation as fallback
|
|
55
|
+
* @param params
|
|
56
|
+
* @returns
|
|
57
|
+
*/
|
|
58
|
+
protected parseFunctionParams(params: DecodeFunctionDataReturnType<abi>): ParsedCallArgs;
|
|
39
59
|
/**
|
|
40
60
|
* Converts contract calldata to some human-friendly string
|
|
41
61
|
* This is safe function which should not throw
|
|
42
62
|
* @param calldata
|
|
43
63
|
* @returns
|
|
44
64
|
*/
|
|
45
|
-
|
|
46
|
-
mustParseFunctionData(calldata: Hex): string;
|
|
65
|
+
stringifyFunctionData(calldata: Hex): string;
|
|
47
66
|
/**
|
|
48
|
-
*
|
|
67
|
+
* Same as {@link stingifyFunctionData}, but throws if error occurs
|
|
49
68
|
* @param calldata
|
|
50
69
|
* @returns
|
|
51
70
|
*/
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
71
|
+
mustStringifyFunctionData(calldata: Hex): string;
|
|
72
|
+
/**
|
|
73
|
+
* Pretty-prints values of function arguments (do not include parameter names)
|
|
74
|
+
* Can be overriden in classes, but use this super implementation as fallback
|
|
75
|
+
*
|
|
76
|
+
* @param decoded - Function arguments decoded by viem
|
|
77
|
+
* @returns
|
|
78
|
+
*/
|
|
79
|
+
protected stringifyFunctionParams(decoded: DecodeFunctionDataReturnType<abi>): string[];
|
|
80
|
+
protected wrapParseCall(functionName: string, args: Record<string, string>): ParsedCall;
|
|
81
|
+
/**
|
|
82
|
+
* Creates a raw transaction for a function in this contract
|
|
83
|
+
* @param parameters
|
|
84
|
+
* @returns
|
|
85
|
+
*/
|
|
55
86
|
createRawTx<functionName extends ContractFunctionName<abi> | undefined = undefined>(parameters: Omit<EncodeFunctionDataParameters<abi, functionName>, "abi"> & {
|
|
56
87
|
description?: string;
|
|
57
88
|
}): RawTx;
|
|
89
|
+
/**
|
|
90
|
+
* Get events in safe manner, by bisecting block range if needed
|
|
91
|
+
*
|
|
92
|
+
* @deprecated TODO: this should be moved to viem transport
|
|
93
|
+
*
|
|
94
|
+
* @param eventName
|
|
95
|
+
* @param fromBlock
|
|
96
|
+
* @param toBlock
|
|
97
|
+
* @param args
|
|
98
|
+
* @param chunkSize
|
|
99
|
+
* @returns
|
|
100
|
+
*/
|
|
101
|
+
getEvents<EventName extends ContractEventName<abi>>(eventName: EventName, fromBlock: bigint, toBlock: bigint, args?: ContractEventArgs<abi, EventName extends ContractEventName<abi> ? EventName : ContractEventName<abi>> | undefined, chunkSize?: number): Promise<GetContractEventsReturnType<abi, EventName, undefined, bigint, bigint>>;
|
|
58
102
|
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { Abi, Address, Chain, Hex, PublicClient, Transport } from "viem";
|
|
2
|
+
import type { MultiCall } from "../types/index.js";
|
|
3
|
+
import type { ILogger } from "../types/logger.js";
|
|
4
|
+
import type { BaseContract } from "./BaseContract.js";
|
|
5
|
+
import { TokensMeta } from "./TokensMeta.js";
|
|
6
|
+
import type { ParsedCall } from "./types.js";
|
|
7
|
+
export type ContractOrInterface<T> = T extends Abi | readonly unknown[] ? BaseContract<T> : T;
|
|
8
|
+
export declare class ChainContractsRegister {
|
|
9
|
+
#private;
|
|
10
|
+
static for(client: PublicClient<Transport, Chain>, logger?: ILogger): ChainContractsRegister;
|
|
11
|
+
private readonly contracts;
|
|
12
|
+
private readonly labels;
|
|
13
|
+
readonly client: PublicClient<Transport, Chain>;
|
|
14
|
+
/**
|
|
15
|
+
* Token metadata such as symbol and decimals
|
|
16
|
+
*/
|
|
17
|
+
readonly tokensMeta: TokensMeta;
|
|
18
|
+
readonly logger?: ILogger;
|
|
19
|
+
constructor(client: PublicClient<Transport, Chain>, logger?: ILogger);
|
|
20
|
+
getContract<T = unknown[]>(address: Address): ContractOrInterface<T> | undefined;
|
|
21
|
+
mustGetContract<T = unknown[]>(address: Address): ContractOrInterface<T>;
|
|
22
|
+
setContract(address: Address, contract: BaseContract<any>): void;
|
|
23
|
+
setAddressLabel(address: Address, label: string | ((oldLabel?: string) => string)): void;
|
|
24
|
+
labelAddress(address: Address): string;
|
|
25
|
+
get chain(): Chain;
|
|
26
|
+
get chainId(): number;
|
|
27
|
+
/**
|
|
28
|
+
* Converts contract call into some human-friendly string
|
|
29
|
+
* This method is safe and should not throw
|
|
30
|
+
* @param address
|
|
31
|
+
* @param calldata
|
|
32
|
+
* @returns
|
|
33
|
+
*/
|
|
34
|
+
stringifyFunctionData(address: Address, calldata: Hex): string;
|
|
35
|
+
/**
|
|
36
|
+
* Converts multicalls into some human-friendly strings
|
|
37
|
+
* This method is safe and should not throw
|
|
38
|
+
* @param address
|
|
39
|
+
* @param calldata
|
|
40
|
+
* @returns
|
|
41
|
+
*/
|
|
42
|
+
stringifyMultiCall(calls: MultiCall[]): string[];
|
|
43
|
+
/**
|
|
44
|
+
* Return args, function, type and address name from contract call
|
|
45
|
+
* @param address
|
|
46
|
+
* @param calldata
|
|
47
|
+
* @returns
|
|
48
|
+
*/
|
|
49
|
+
parseFunctionData(address: Address, calldata: Hex): ParsedCall;
|
|
50
|
+
/**
|
|
51
|
+
* Converts multicalls into call info
|
|
52
|
+
* @param address
|
|
53
|
+
* @param calldata
|
|
54
|
+
* @returns
|
|
55
|
+
*/
|
|
56
|
+
parseMultiCall(calls: MultiCall[]): ParsedCall[];
|
|
57
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { Address, Chain, PublicClient, Transport } from "viem";
|
|
2
|
+
import type { NetworkType } from "../chain/index.js";
|
|
3
|
+
import type { ILogger } from "../types/index.js";
|
|
4
|
+
import { ChainContractsRegister } from "./ChainContractsRegister.js";
|
|
5
|
+
import type { TokensMeta } from "./TokensMeta.js";
|
|
6
|
+
export interface ConstructOptions {
|
|
7
|
+
client: PublicClient<Transport, Chain>;
|
|
8
|
+
logger?: ILogger;
|
|
9
|
+
}
|
|
10
|
+
export declare class Construct {
|
|
11
|
+
#private;
|
|
12
|
+
readonly logger?: ILogger;
|
|
13
|
+
readonly client: PublicClient<Transport, Chain>;
|
|
14
|
+
readonly register: ChainContractsRegister;
|
|
15
|
+
constructor({ client, logger }: ConstructOptions);
|
|
16
|
+
get chain(): Chain;
|
|
17
|
+
get chainId(): number;
|
|
18
|
+
get networkType(): NetworkType;
|
|
19
|
+
/**
|
|
20
|
+
* Indicates that contract state diverged from onchain state and needs to be updated
|
|
21
|
+
*/
|
|
22
|
+
get dirty(): boolean;
|
|
23
|
+
protected set dirty(value: boolean);
|
|
24
|
+
/**
|
|
25
|
+
* Syntax sugar for rgister.tokensMeta
|
|
26
|
+
*/
|
|
27
|
+
protected get tokensMeta(): TokensMeta;
|
|
28
|
+
/**
|
|
29
|
+
* Syntax suggar for getting contract labels
|
|
30
|
+
* @param address
|
|
31
|
+
* @returns
|
|
32
|
+
*/
|
|
33
|
+
protected labelAddress(address: Address): string;
|
|
34
|
+
/**
|
|
35
|
+
* Returns list of addresses that should be watched for events to sync state
|
|
36
|
+
*/
|
|
37
|
+
get watchAddresses(): Set<Address>;
|
|
38
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { GearboxSDK } from "../GearboxSDK.js";
|
|
2
|
-
import type {
|
|
2
|
+
import type { BaseContractArgs } from "./BaseContract.js";
|
|
3
3
|
import { BaseContract } from "./BaseContract.js";
|
|
4
4
|
declare const abi: unknown[];
|
|
5
5
|
type abi = typeof abi;
|
|
6
6
|
export declare class PlaceholderContract extends BaseContract<abi> {
|
|
7
|
-
constructor(sdk: GearboxSDK, args: Omit<
|
|
7
|
+
constructor(sdk: GearboxSDK, args: Omit<BaseContractArgs<abi>, "abi">);
|
|
8
8
|
}
|
|
9
9
|
export {};
|
|
@@ -1,21 +1,7 @@
|
|
|
1
|
-
import type { Address, PublicClient } from "viem";
|
|
2
|
-
import type { NetworkType } from "../chain/index.js";
|
|
3
1
|
import type { GearboxSDK } from "../GearboxSDK.js";
|
|
4
2
|
import type { PluginsMap } from "../plugins/index.js";
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
import { Construct } from "./Construct.js";
|
|
4
|
+
export declare class SDKConstruct<const Plugins extends PluginsMap = {}> extends Construct {
|
|
7
5
|
readonly sdk: GearboxSDK<Plugins>;
|
|
8
6
|
constructor(sdk: GearboxSDK<Plugins>);
|
|
9
|
-
get networkType(): NetworkType;
|
|
10
|
-
get client(): PublicClient;
|
|
11
|
-
/**
|
|
12
|
-
* Indicates that contract state needs to be updated
|
|
13
|
-
*/
|
|
14
|
-
get dirty(): boolean;
|
|
15
|
-
protected set dirty(value: boolean);
|
|
16
|
-
protected labelAddress(address: Address): string;
|
|
17
|
-
/**
|
|
18
|
-
* Returns list of addresses that should be watched for events to sync state
|
|
19
|
-
*/
|
|
20
|
-
get watchAddresses(): Set<Address>;
|
|
21
7
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type { Address } from "viem";
|
|
2
|
-
import type { GearboxSDK } from "../GearboxSDK.js";
|
|
1
|
+
import type { Address, Chain, PublicClient, Transport } from "viem";
|
|
3
2
|
import { type PhantomTokenContractType } from "../index.js";
|
|
4
3
|
import type { Asset } from "../router/index.js";
|
|
5
4
|
import { AddressMap } from "../utils/index.js";
|
|
@@ -16,7 +15,7 @@ export interface TokenMetaDataExtended extends TokenMetaData {
|
|
|
16
15
|
}
|
|
17
16
|
export declare class TokensMeta extends AddressMap<TokenMetaDataExtended> {
|
|
18
17
|
#private;
|
|
19
|
-
constructor(
|
|
18
|
+
constructor(client: PublicClient<Transport, Chain>);
|
|
20
19
|
symbol(token: Address): string;
|
|
21
20
|
decimals(token: Address): number;
|
|
22
21
|
/**
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export * from "./AddressLabeller.js";
|
|
2
1
|
export * from "./BaseContract.js";
|
|
2
|
+
export * from "./ChainContractsRegister.js";
|
|
3
|
+
export * from "./Construct.js";
|
|
3
4
|
export * from "./PlaceholderContract.js";
|
|
4
5
|
export * from "./SDKConstruct.js";
|
|
5
6
|
export * from "./TokensMeta.js";
|
|
@@ -41,3 +41,53 @@ export declare enum VotingContractStatus {
|
|
|
41
41
|
ALLOWED = 1,
|
|
42
42
|
UNVOTE_ONLY = 2
|
|
43
43
|
}
|
|
44
|
+
export type ParsedCallArgs = Record<string, string>;
|
|
45
|
+
export interface ParsedCall {
|
|
46
|
+
chainId: number;
|
|
47
|
+
target: Address;
|
|
48
|
+
contractType: string;
|
|
49
|
+
label: string;
|
|
50
|
+
functionName: string;
|
|
51
|
+
args: ParsedCallArgs;
|
|
52
|
+
}
|
|
53
|
+
export interface IBaseContract {
|
|
54
|
+
/**
|
|
55
|
+
* Contract address
|
|
56
|
+
**/
|
|
57
|
+
readonly address: Address;
|
|
58
|
+
/**
|
|
59
|
+
* Contract type (parsed bytes32 or empty string)
|
|
60
|
+
**/
|
|
61
|
+
readonly contractType: string;
|
|
62
|
+
/**
|
|
63
|
+
* Contract version
|
|
64
|
+
**/
|
|
65
|
+
readonly version: number;
|
|
66
|
+
/**
|
|
67
|
+
* Internal name, for labeling purposes
|
|
68
|
+
* However, other contracts may add more labels, so prefer use labeling methods instead
|
|
69
|
+
**/
|
|
70
|
+
readonly name: string;
|
|
71
|
+
/**
|
|
72
|
+
* Indicates that contract state diverged from onchain state and needs to be updated
|
|
73
|
+
*/
|
|
74
|
+
dirty: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Return parsed args and function name from calldata belonging to this contract
|
|
77
|
+
* Target of the call is always this contract, but args can be parsed into calls to other contracts (de-facto recursive ParsedCall)
|
|
78
|
+
**/
|
|
79
|
+
parseFunctionData: (calldata: Hex) => ParsedCall;
|
|
80
|
+
/**
|
|
81
|
+
* Same as {@link parseFunctionData}, but throws if error occurs
|
|
82
|
+
**/
|
|
83
|
+
mustParseFunctionData: (calldata: Hex) => ParsedCall;
|
|
84
|
+
/**
|
|
85
|
+
* Converts contract calldata to some human-friendly string
|
|
86
|
+
* This is safe function which should not throw
|
|
87
|
+
**/
|
|
88
|
+
stringifyFunctionData: (calldata: Hex) => string;
|
|
89
|
+
/**
|
|
90
|
+
* Same as {@link stringifyFunctionData}, but throws if error occurs
|
|
91
|
+
**/
|
|
92
|
+
mustStringifyFunctionData: (calldata: Hex) => string;
|
|
93
|
+
}
|
|
@@ -314,7 +314,7 @@ type abi = typeof abi;
|
|
|
314
314
|
export declare class BotListContract extends BaseContract<abi> {
|
|
315
315
|
#private;
|
|
316
316
|
constructor(sdk: GearboxSDK, address: Address);
|
|
317
|
-
protected
|
|
317
|
+
protected stringifyFunctionParams(params: DecodeFunctionDataReturnType<abi>): string[];
|
|
318
318
|
syncState(toBlock: bigint): Promise<void>;
|
|
319
319
|
processLog(log: Log<bigint, number, false, undefined, undefined, abi, ContractEventName<abi>>): void;
|
|
320
320
|
get approvedCreditManagers(): Set<Address>;
|