@gearbox-protocol/sdk 11.9.0-next.1 → 11.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/dev/create2.js +1 -1
- package/dist/cjs/dev/mint/AbstractMinter.js +4 -2
- package/dist/cjs/dev/mint/DealMinter.js +3 -0
- package/dist/cjs/dev/mint/DirectMinter.js +3 -0
- package/dist/cjs/dev/mint/FallbackMinter.js +1 -1
- package/dist/cjs/dev/mint/TransferMinter.js +3 -0
- package/dist/cjs/permissionless/bindings/address-provider.js +6 -4
- package/dist/cjs/permissionless/bindings/base-contract.js +173 -0
- package/dist/cjs/permissionless/bindings/bytecode-repository.js +25 -23
- package/dist/cjs/permissionless/bindings/compressors/token-compressor.js +4 -4
- package/dist/cjs/permissionless/bindings/compressors/withdrawal-compressor.js +17 -11
- package/dist/cjs/permissionless/bindings/cross-chain-multisig.js +22 -23
- package/dist/cjs/permissionless/bindings/factory/abstract-factory.js +4 -7
- package/dist/cjs/permissionless/bindings/governance/batches-chain.js +4 -4
- package/dist/cjs/permissionless/bindings/governance/governor.js +49 -30
- package/dist/cjs/permissionless/bindings/governance/timelock.js +4 -4
- package/dist/cjs/permissionless/bindings/index.js +2 -0
- package/dist/cjs/permissionless/bindings/instance-manager.js +77 -58
- package/dist/cjs/permissionless/bindings/market-configurator-factory.js +4 -4
- package/dist/cjs/permissionless/bindings/market-configurator.js +143 -71
- package/dist/cjs/permissionless/bindings/price-feed-store.js +17 -8
- package/dist/cjs/permissionless/bindings/router/routing-manager.js +15 -9
- package/dist/cjs/permissionless/bindings/treasury-splitter.js +23 -14
- package/dist/cjs/permissionless/core/raw-tx.js +2 -2
- package/dist/cjs/permissionless/utils/abi-decoder.js +72 -0
- package/dist/cjs/permissionless/utils/format.js +2 -2
- package/dist/cjs/permissionless/utils/governance/timelock-txs.js +2 -2
- package/dist/cjs/permissionless/utils/index.js +2 -0
- package/dist/cjs/permissionless/utils/price-update/get-price-feeds.js +2 -1
- package/dist/cjs/permissionless/utils/price-update/get-price-update-tx.js +2 -1
- package/dist/cjs/permissionless/utils/price-update/get-prices.js +2 -1
- package/dist/cjs/permissionless/utils/price-update/get-updatable-feeds.js +3 -2
- package/dist/cjs/plugins/adapters/abi/conctructorAbi.js +2 -1
- package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
- package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
- package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
- package/dist/cjs/plugins/bots/BotsPlugin.js +8 -21
- package/dist/cjs/plugins/bots/PartialLiquidationBotBaseContract.js +22 -17
- package/dist/cjs/plugins/bots/PartialLiquidationBotV300Contract.js +20 -4
- package/dist/cjs/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +78 -3
- package/dist/cjs/plugins/zappers/ZappersPlugin.js +1 -1
- package/dist/cjs/sdk/GearboxSDK.js +110 -8
- package/dist/cjs/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +4 -1
- package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +12 -8
- package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +10 -8
- package/dist/cjs/sdk/base/AddressLabeller.js +49 -0
- package/dist/cjs/sdk/base/BaseContract.js +80 -195
- package/dist/cjs/sdk/base/IAddressLabeller.js +16 -0
- package/dist/cjs/sdk/base/SDKConstruct.js +29 -3
- package/dist/cjs/sdk/base/TokensMeta.js +4 -4
- package/dist/cjs/sdk/base/index.js +2 -4
- package/dist/cjs/sdk/core/BotListV3Contract.js +2 -2
- package/dist/cjs/sdk/core/GearStakingV3Contract.js +2 -2
- package/dist/cjs/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
- package/dist/cjs/sdk/core/address-provider/AddressProviderV300Contract.js +6 -11
- package/dist/cjs/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
- package/dist/cjs/sdk/market/MarketConfiguratorContract.js +5 -5
- package/dist/cjs/sdk/market/MarketRegister.js +9 -7
- package/dist/cjs/sdk/market/MarketSuite.js +2 -2
- package/dist/cjs/sdk/market/credit/CreditConfiguratorV300Contract.js +3 -4
- package/dist/cjs/sdk/market/credit/CreditConfiguratorV310Contract.js +3 -4
- package/dist/cjs/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
- package/dist/cjs/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
- package/dist/cjs/sdk/market/credit/CreditManagerV300Contract.js +2 -5
- package/dist/cjs/sdk/market/credit/CreditManagerV310Contract.js +2 -5
- package/dist/cjs/sdk/market/credit/CreditSuite.js +3 -2
- package/dist/cjs/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +1 -3
- package/dist/cjs/sdk/market/loss-policy/LossPolicyContract.js +2 -2
- package/dist/cjs/sdk/market/loss-policy/createLossPolicy.js +1 -1
- package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +26 -8
- package/dist/cjs/sdk/market/oracle/createPriceOracle.js +1 -1
- package/dist/cjs/sdk/market/pool/GaugeContract.js +2 -2
- package/dist/cjs/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
- package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
- package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
- package/dist/cjs/sdk/market/pool/PoolSuite.js +1 -1
- package/dist/cjs/sdk/market/pool/PoolV300Contract.js +5 -5
- package/dist/cjs/sdk/market/pool/PoolV310Contract.js +5 -5
- package/dist/cjs/sdk/market/pool/TumblerContract.js +2 -2
- package/dist/cjs/sdk/market/pool/createInterestRateModel.js +15 -11
- package/dist/cjs/sdk/market/pricefeeds/AbstractLPPriceFeed.js +22 -2
- package/dist/cjs/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
- package/dist/cjs/sdk/market/pricefeeds/BalancerStablePriceFeed.js +9 -2
- package/dist/cjs/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +9 -2
- package/dist/cjs/sdk/market/pricefeeds/BoundedPriceFeed.js +2 -6
- package/dist/cjs/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +9 -2
- package/dist/cjs/sdk/market/pricefeeds/CurveStablePriceFeed.js +9 -2
- package/dist/cjs/sdk/market/pricefeeds/CurveUSDPriceFeed.js +9 -2
- package/dist/cjs/sdk/market/pricefeeds/Erc4626PriceFeed.js +18 -2
- package/dist/cjs/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/MellowLRTPriceFeed.js +10 -2
- package/dist/cjs/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/PriceFeedRef.js +4 -6
- package/dist/cjs/sdk/market/pricefeeds/PriceFeedsRegister.js +2 -0
- package/dist/cjs/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
- package/dist/cjs/sdk/market/pricefeeds/WstETHPriceFeed.js +9 -2
- package/dist/cjs/sdk/market/pricefeeds/YearnPriceFeed.js +9 -2
- package/dist/cjs/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/updates/PythUpdater.js +8 -6
- package/dist/cjs/sdk/market/pricefeeds/updates/RedstoneUpdater.js +11 -9
- package/dist/cjs/sdk/router/AbstractRouterContract.js +114 -12
- package/dist/cjs/sdk/router/RouterV300Contract.js +9 -10
- package/dist/cjs/sdk/router/RouterV310Contract.js +10 -10
- package/dist/cjs/sdk/router/createRouter.js +0 -4
- package/dist/cjs/sdk/utils/index.js +0 -2
- package/dist/esm/dev/create2.js +2 -2
- package/dist/esm/dev/mint/AbstractMinter.js +7 -3
- package/dist/esm/dev/mint/DealMinter.js +3 -0
- package/dist/esm/dev/mint/DirectMinter.js +3 -0
- package/dist/esm/dev/mint/FallbackMinter.js +1 -1
- package/dist/esm/dev/mint/TransferMinter.js +3 -0
- package/dist/esm/permissionless/bindings/address-provider.js +7 -7
- package/dist/esm/permissionless/bindings/base-contract.js +151 -0
- package/dist/esm/permissionless/bindings/bytecode-repository.js +24 -22
- package/dist/esm/permissionless/bindings/compressors/token-compressor.js +3 -3
- package/dist/esm/permissionless/bindings/compressors/withdrawal-compressor.js +16 -10
- package/dist/esm/permissionless/bindings/cross-chain-multisig.js +16 -20
- package/dist/esm/permissionless/bindings/factory/abstract-factory.js +4 -9
- package/dist/esm/permissionless/bindings/governance/batches-chain.js +3 -3
- package/dist/esm/permissionless/bindings/governance/governor.js +47 -28
- package/dist/esm/permissionless/bindings/governance/timelock.js +3 -3
- package/dist/esm/permissionless/bindings/index.js +1 -0
- package/dist/esm/permissionless/bindings/instance-manager.js +69 -53
- package/dist/esm/permissionless/bindings/market-configurator-factory.js +3 -3
- package/dist/esm/permissionless/bindings/market-configurator.js +137 -65
- package/dist/esm/permissionless/bindings/price-feed-store.js +14 -8
- package/dist/esm/permissionless/bindings/router/routing-manager.js +14 -8
- package/dist/esm/permissionless/bindings/treasury-splitter.js +22 -15
- package/dist/esm/permissionless/core/raw-tx.js +1 -1
- package/dist/esm/permissionless/utils/abi-decoder.js +50 -0
- package/dist/esm/permissionless/utils/format.js +1 -1
- package/dist/esm/permissionless/utils/governance/timelock-txs.js +1 -1
- package/dist/esm/permissionless/utils/index.js +1 -0
- package/dist/esm/permissionless/utils/price-update/get-price-feeds.js +2 -4
- package/dist/esm/permissionless/utils/price-update/get-price-update-tx.js +1 -1
- package/dist/esm/permissionless/utils/price-update/get-prices.js +2 -1
- package/dist/esm/permissionless/utils/price-update/get-updatable-feeds.js +1 -1
- package/dist/esm/plugins/adapters/abi/conctructorAbi.js +2 -1
- package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +2 -2
- package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
- package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
- package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
- package/dist/esm/plugins/bots/BotsPlugin.js +8 -11
- package/dist/esm/plugins/bots/PartialLiquidationBotBaseContract.js +22 -7
- package/dist/esm/plugins/bots/PartialLiquidationBotV300Contract.js +20 -4
- package/dist/esm/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +78 -3
- package/dist/esm/plugins/zappers/ZappersPlugin.js +1 -1
- package/dist/esm/sdk/GearboxSDK.js +112 -10
- package/dist/esm/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +4 -1
- package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +13 -9
- package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +10 -8
- package/dist/esm/sdk/base/AddressLabeller.js +25 -0
- package/dist/esm/sdk/base/BaseContract.js +81 -202
- package/dist/esm/sdk/base/IAddressLabeller.js +0 -0
- package/dist/esm/sdk/base/SDKConstruct.js +29 -3
- package/dist/esm/sdk/base/TokensMeta.js +4 -4
- package/dist/esm/sdk/base/index.js +1 -2
- package/dist/esm/sdk/core/BotListV3Contract.js +2 -2
- package/dist/esm/sdk/core/GearStakingV3Contract.js +2 -2
- package/dist/esm/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
- package/dist/esm/sdk/core/address-provider/AddressProviderV300Contract.js +6 -11
- package/dist/esm/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
- package/dist/esm/sdk/market/MarketConfiguratorContract.js +5 -5
- package/dist/esm/sdk/market/MarketRegister.js +10 -8
- package/dist/esm/sdk/market/MarketSuite.js +2 -2
- package/dist/esm/sdk/market/credit/CreditConfiguratorV300Contract.js +3 -4
- package/dist/esm/sdk/market/credit/CreditConfiguratorV310Contract.js +3 -4
- package/dist/esm/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
- package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
- package/dist/esm/sdk/market/credit/CreditManagerV300Contract.js +2 -5
- package/dist/esm/sdk/market/credit/CreditManagerV310Contract.js +2 -5
- package/dist/esm/sdk/market/credit/CreditSuite.js +3 -2
- package/dist/esm/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +1 -3
- package/dist/esm/sdk/market/loss-policy/LossPolicyContract.js +3 -5
- package/dist/esm/sdk/market/loss-policy/createLossPolicy.js +1 -1
- package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +26 -8
- package/dist/esm/sdk/market/oracle/createPriceOracle.js +1 -1
- package/dist/esm/sdk/market/pool/GaugeContract.js +2 -2
- package/dist/esm/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
- package/dist/esm/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
- package/dist/esm/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
- package/dist/esm/sdk/market/pool/PoolSuite.js +1 -1
- package/dist/esm/sdk/market/pool/PoolV300Contract.js +5 -5
- package/dist/esm/sdk/market/pool/PoolV310Contract.js +5 -5
- package/dist/esm/sdk/market/pool/TumblerContract.js +2 -2
- package/dist/esm/sdk/market/pool/createInterestRateModel.js +15 -11
- package/dist/esm/sdk/market/pricefeeds/AbstractLPPriceFeed.js +22 -2
- package/dist/esm/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
- package/dist/esm/sdk/market/pricefeeds/BalancerStablePriceFeed.js +13 -3
- package/dist/esm/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +13 -3
- package/dist/esm/sdk/market/pricefeeds/BoundedPriceFeed.js +2 -6
- package/dist/esm/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +10 -3
- package/dist/esm/sdk/market/pricefeeds/CurveStablePriceFeed.js +10 -3
- package/dist/esm/sdk/market/pricefeeds/CurveUSDPriceFeed.js +10 -3
- package/dist/esm/sdk/market/pricefeeds/Erc4626PriceFeed.js +18 -2
- package/dist/esm/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/MellowLRTPriceFeed.js +11 -3
- package/dist/esm/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/PriceFeedRef.js +5 -7
- package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +8 -1
- package/dist/esm/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
- package/dist/esm/sdk/market/pricefeeds/WstETHPriceFeed.js +10 -3
- package/dist/esm/sdk/market/pricefeeds/YearnPriceFeed.js +10 -3
- package/dist/esm/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/updates/PythUpdater.js +9 -7
- package/dist/esm/sdk/market/pricefeeds/updates/RedstoneUpdater.js +12 -10
- package/dist/esm/sdk/router/AbstractRouterContract.js +115 -13
- package/dist/esm/sdk/router/RouterV300Contract.js +9 -10
- package/dist/esm/sdk/router/RouterV310Contract.js +10 -10
- package/dist/esm/sdk/router/createRouter.js +0 -4
- package/dist/esm/sdk/utils/index.js +0 -1
- package/dist/types/dev/create2.d.ts +2 -2
- package/dist/types/dev/mint/AbstractMinter.d.ts +4 -3
- package/dist/types/dev/mint/DealMinter.d.ts +3 -0
- package/dist/types/dev/mint/DirectMinter.d.ts +3 -0
- package/dist/types/dev/mint/TransferMinter.d.ts +3 -0
- package/dist/types/permissionless/bindings/address-provider.d.ts +255 -4
- package/dist/types/permissionless/bindings/base-contract.d.ts +23 -0
- package/dist/types/permissionless/bindings/bytecode-repository.d.ts +6 -5
- package/dist/types/permissionless/bindings/compressors/token-compressor.d.ts +3 -3
- package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +5 -4
- package/dist/types/permissionless/bindings/cross-chain-multisig.d.ts +7 -7
- package/dist/types/permissionless/bindings/factory/abstract-factory.d.ts +1 -1
- package/dist/types/permissionless/bindings/governance/batches-chain.d.ts +4 -3
- package/dist/types/permissionless/bindings/governance/governor.d.ts +7 -6
- package/dist/types/permissionless/bindings/governance/timelock.d.ts +3 -3
- package/dist/types/permissionless/bindings/governance/types.d.ts +1 -1
- package/dist/types/permissionless/bindings/index.d.ts +1 -0
- package/dist/types/permissionless/bindings/instance-manager.d.ts +7 -6
- package/dist/types/permissionless/bindings/market-configurator-factory.d.ts +4 -4
- package/dist/types/permissionless/bindings/market-configurator.d.ts +6 -6
- package/dist/types/permissionless/bindings/price-feed-store.d.ts +7 -6
- package/dist/types/permissionless/bindings/router/routing-manager.d.ts +5 -4
- package/dist/types/permissionless/bindings/treasury-splitter.d.ts +6 -5
- package/dist/types/permissionless/core/proposal.d.ts +7 -1
- package/dist/types/permissionless/utils/abi-decoder.d.ts +13 -0
- package/dist/types/permissionless/utils/create2.d.ts +1 -1
- package/dist/types/permissionless/utils/governance/batch.d.ts +1 -1
- package/dist/types/permissionless/utils/index.d.ts +1 -0
- package/dist/types/permissionless/utils/price-update/get-price-feeds.d.ts +3 -3
- package/dist/types/permissionless/utils/price-update/get-price-update-tx.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/BalancerV2VaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/EqualizerRouterAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/InfraredVaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowVaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/YearnV2AdapterContract.d.ts +2 -2
- package/dist/types/plugins/bots/PartialLiquidationBotV300Contract.d.ts +8 -2
- package/dist/types/plugins/delayed-withdrawal/types.d.ts +1 -0
- package/dist/types/sdk/GearboxSDK.d.ts +76 -5
- package/dist/types/sdk/accountMigration/types.d.ts +2 -1
- package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +2 -2
- package/dist/types/sdk/accounts/types.d.ts +23 -7
- package/dist/types/sdk/base/AddressLabeller.d.ts +11 -0
- package/dist/types/sdk/base/BaseContract.d.ts +28 -72
- package/dist/types/sdk/base/IAddressLabeller.d.ts +9 -0
- package/dist/types/sdk/base/PlaceholderContract.d.ts +2 -2
- package/dist/types/sdk/base/SDKConstruct.d.ts +16 -2
- package/dist/types/sdk/base/TokensMeta.d.ts +3 -2
- package/dist/types/sdk/base/index.d.ts +1 -2
- package/dist/types/sdk/base/types.d.ts +0 -50
- package/dist/types/sdk/core/BotListV3Contract.d.ts +1 -1
- package/dist/types/sdk/core/GearStakingV3Contract.d.ts +1 -1
- package/dist/types/sdk/core/address-provider/AbstractAddressProviderContract.d.ts +4 -3
- package/dist/types/sdk/core/address-provider/AddressProviderV300Contract.d.ts +3 -3
- package/dist/types/sdk/core/address-provider/AddressProviderV310Contract.d.ts +3 -3
- package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +2 -2
- package/dist/types/sdk/market/credit/CreditConfiguratorV300Contract.d.ts +3 -3
- package/dist/types/sdk/market/credit/CreditConfiguratorV310Contract.d.ts +3 -3
- package/dist/types/sdk/market/credit/CreditFacadeV300Contract.d.ts +4 -3
- package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +4 -3
- package/dist/types/sdk/market/credit/CreditManagerV300Contract.d.ts +1 -1
- package/dist/types/sdk/market/credit/CreditManagerV310Contract.d.ts +1 -1
- package/dist/types/sdk/market/credit/CreditSuite.d.ts +1 -1
- package/dist/types/sdk/market/credit/types.d.ts +2 -1
- package/dist/types/sdk/market/loss-policy/AliasLossPolicyV310Contract.d.ts +0 -1
- package/dist/types/sdk/market/loss-policy/LossPolicyContract.d.ts +3 -2
- package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +12 -3
- package/dist/types/sdk/market/oracle/types.d.ts +10 -0
- package/dist/types/sdk/market/pool/GaugeContract.d.ts +3 -2
- package/dist/types/sdk/market/pool/LinearInterestRateModelContract.d.ts +3 -2
- package/dist/types/sdk/market/pool/PoolQuotaKeeperV300Contract.d.ts +3 -2
- package/dist/types/sdk/market/pool/PoolQuotaKeeperV310Contract.d.ts +3 -2
- package/dist/types/sdk/market/pool/PoolV300Contract.d.ts +5 -4
- package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +5 -4
- package/dist/types/sdk/market/pool/TumblerContract.d.ts +3 -2
- package/dist/types/sdk/market/pricefeeds/AbstractLPPriceFeed.d.ts +8 -3
- package/dist/types/sdk/market/pricefeeds/AbstractPriceFeed.d.ts +3 -2
- package/dist/types/sdk/market/pricefeeds/BalancerStablePriceFeed.d.ts +3 -2
- package/dist/types/sdk/market/pricefeeds/BalancerWeightedPriceFeed.d.ts +3 -2
- package/dist/types/sdk/market/pricefeeds/BoundedPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/CompositePriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/ConstantPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/CurveCryptoPriceFeed.d.ts +3 -2
- package/dist/types/sdk/market/pricefeeds/CurveStablePriceFeed.d.ts +3 -2
- package/dist/types/sdk/market/pricefeeds/CurveUSDPriceFeed.d.ts +3 -2
- package/dist/types/sdk/market/pricefeeds/Erc4626PriceFeed.d.ts +3 -2
- package/dist/types/sdk/market/pricefeeds/ExternalPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/MellowLRTPriceFeed.d.ts +3 -2
- package/dist/types/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/PriceFeedRef.d.ts +4 -3
- package/dist/types/sdk/market/pricefeeds/PriceFeedsRegister.d.ts +2 -1
- package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/RedstonePriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/WstETHPriceFeed.d.ts +3 -2
- package/dist/types/sdk/market/pricefeeds/YearnPriceFeed.d.ts +3 -2
- package/dist/types/sdk/market/pricefeeds/ZeroPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/types.d.ts +5 -0
- package/dist/types/sdk/router/AbstractRouterContract.d.ts +15 -8
- package/dist/types/sdk/router/RouterV300Contract.d.ts +3 -4
- package/dist/types/sdk/router/RouterV310Contract.d.ts +2 -3
- package/dist/types/sdk/router/types.d.ts +14 -5
- package/dist/types/sdk/sdk-legacy/core/creditAccount.d.ts +2 -2
- package/dist/types/sdk/utils/index.d.ts +0 -1
- package/package.json +1 -1
- package/dist/cjs/plugins/bots/deserializePartialLiquidationBotParams.js +0 -49
- package/dist/cjs/sdk/base/ChainContractsRegister.js +0 -135
- package/dist/cjs/sdk/base/Construct.js +0 -87
- package/dist/cjs/sdk/utils/abi-decode.js +0 -58
- package/dist/esm/plugins/bots/deserializePartialLiquidationBotParams.js +0 -29
- package/dist/esm/sdk/base/ChainContractsRegister.js +0 -111
- package/dist/esm/sdk/base/Construct.js +0 -63
- package/dist/esm/sdk/utils/abi-decode.js +0 -37
- package/dist/types/plugins/bots/deserializePartialLiquidationBotParams.d.ts +0 -3
- package/dist/types/sdk/base/ChainContractsRegister.d.ts +0 -57
- package/dist/types/sdk/base/Construct.d.ts +0 -38
- package/dist/types/sdk/utils/abi-decode.d.ts +0 -10
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { BaseContract } from "../base/index.js";
|
|
2
|
-
import {
|
|
2
|
+
import { PERCENTAGE_FACTOR } from "../constants/math.js";
|
|
3
|
+
import { AddressMap, AddressSet, formatBN, isDust } from "../utils/index.js";
|
|
3
4
|
import { Hooks } from "../utils/internal/index.js";
|
|
4
5
|
import { limitLeftover } from "./helpers.js";
|
|
5
6
|
class AbstractRouterContract extends BaseContract {
|
|
6
7
|
hooks = new Hooks();
|
|
7
8
|
addHook = this.hooks.addHook.bind(this.hooks);
|
|
8
9
|
removeHook = this.hooks.removeHook.bind(this.hooks);
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const b = balances || this.getDefaultExpectedAndLeftover(ca, keepAssets);
|
|
10
|
+
getExpectedAndLeftover(ca, cm, options = {}) {
|
|
11
|
+
const b = options.balances ? options.balances : this.getDefaultExpectedAndLeftover(
|
|
12
|
+
ca,
|
|
13
|
+
options.keepAssets,
|
|
14
|
+
options.debtOnly
|
|
15
|
+
);
|
|
16
16
|
const { leftoverBalances, expectedBalances, tokensToClaim } = b;
|
|
17
17
|
const expected = new AddressMap();
|
|
18
18
|
const leftover = new AddressMap();
|
|
@@ -30,15 +30,22 @@ class AbstractRouterContract extends BaseContract {
|
|
|
30
30
|
tokensToClaim
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
|
-
getDefaultExpectedAndLeftover(ca, keepAssets) {
|
|
33
|
+
getDefaultExpectedAndLeftover(ca, keepAssets, debtOnly) {
|
|
34
34
|
const expectedBalances = new AddressMap();
|
|
35
35
|
const leftoverBalances = new AddressMap();
|
|
36
|
-
const keepAssetsSet = new
|
|
37
|
-
|
|
38
|
-
const
|
|
36
|
+
const keepAssetsSet = new AddressSet(keepAssets);
|
|
37
|
+
if (debtOnly) {
|
|
38
|
+
const result = this.getLeftoversAfterBuyingDebt(ca, keepAssetsSet);
|
|
39
|
+
if (result) {
|
|
40
|
+
return result;
|
|
41
|
+
} else {
|
|
42
|
+
this.logger?.warn("no token found to cover debt");
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
for (const { token, balance, mask } of ca.tokens) {
|
|
39
46
|
const isEnabled = (mask & ca.enabledTokensMask) !== 0n;
|
|
40
47
|
expectedBalances.upsert(token, { token, balance });
|
|
41
|
-
if (keepAssetsSet.has(token
|
|
48
|
+
if (keepAssetsSet.has(token) || !isEnabled || isDust({
|
|
42
49
|
sdk: this.sdk,
|
|
43
50
|
token,
|
|
44
51
|
balance,
|
|
@@ -56,6 +63,101 @@ class AbstractRouterContract extends BaseContract {
|
|
|
56
63
|
tokensToClaim: new AddressMap()
|
|
57
64
|
};
|
|
58
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Tries to sell just enought of most valuable token to cover debt
|
|
68
|
+
* @param ca
|
|
69
|
+
* @param keepAssets
|
|
70
|
+
* @returns
|
|
71
|
+
*/
|
|
72
|
+
getLeftoversAfterBuyingDebt(ca, keepAssets) {
|
|
73
|
+
const { priceOracle } = this.sdk.marketRegister.findByCreditManager(
|
|
74
|
+
ca.creditManager
|
|
75
|
+
);
|
|
76
|
+
const expectedBalances = new AddressMap();
|
|
77
|
+
const leftoverBalances = new AddressMap();
|
|
78
|
+
const usdBalances = [];
|
|
79
|
+
for (const { token, balance, mask } of ca.tokens) {
|
|
80
|
+
const isEnabled = (mask & ca.enabledTokensMask) !== 0n;
|
|
81
|
+
expectedBalances.upsert(token, { token, balance });
|
|
82
|
+
leftoverBalances.upsert(token, {
|
|
83
|
+
token,
|
|
84
|
+
balance: limitLeftover(balance, token) ?? balance
|
|
85
|
+
});
|
|
86
|
+
if (isEnabled && !keepAssets.has(token)) {
|
|
87
|
+
usdBalances.push({
|
|
88
|
+
token,
|
|
89
|
+
balance: this.safeConvertToUSD(priceOracle, token, balance)
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
usdBalances.sort((a, b) => {
|
|
94
|
+
if (a.balance > b.balance) return -1;
|
|
95
|
+
if (a.balance < b.balance) return 1;
|
|
96
|
+
return 0;
|
|
97
|
+
});
|
|
98
|
+
if (usdBalances.length === 0) {
|
|
99
|
+
return void 0;
|
|
100
|
+
}
|
|
101
|
+
const highestToken = usdBalances[0];
|
|
102
|
+
const lt = this.sdk.marketRegister.findCreditManager(ca.creditManager).creditManager.liquidationThresholds.mustGet(highestToken.token);
|
|
103
|
+
const requiredDebtUSD = ca.totalDebtUSD * PERCENTAGE_FACTOR / BigInt(lt);
|
|
104
|
+
if (highestToken.balance < requiredDebtUSD) {
|
|
105
|
+
return void 0;
|
|
106
|
+
}
|
|
107
|
+
const tokenAmount = this.safeConvertFromUSD(
|
|
108
|
+
priceOracle,
|
|
109
|
+
highestToken.token,
|
|
110
|
+
requiredDebtUSD
|
|
111
|
+
);
|
|
112
|
+
if (tokenAmount === 0n) {
|
|
113
|
+
return void 0;
|
|
114
|
+
}
|
|
115
|
+
let leftoverBalance = leftoverBalances.get(highestToken.token)?.balance ?? 0n;
|
|
116
|
+
leftoverBalance -= tokenAmount;
|
|
117
|
+
if (leftoverBalance < 0n) {
|
|
118
|
+
return void 0;
|
|
119
|
+
}
|
|
120
|
+
leftoverBalances.upsert(highestToken.token, {
|
|
121
|
+
token: highestToken.token,
|
|
122
|
+
balance: leftoverBalance
|
|
123
|
+
});
|
|
124
|
+
const tokenAmountStr = this.sdk.tokensMeta.formatBN(
|
|
125
|
+
highestToken.token,
|
|
126
|
+
tokenAmount,
|
|
127
|
+
{ symbol: true }
|
|
128
|
+
);
|
|
129
|
+
const totalDebtUSDStr = formatBN(ca.totalDebtUSD, 8);
|
|
130
|
+
this.logger?.debug(
|
|
131
|
+
`will sell ${tokenAmountStr} (LT=${lt}) to cover debt of ${totalDebtUSDStr} USD`
|
|
132
|
+
);
|
|
133
|
+
return {
|
|
134
|
+
expectedBalances,
|
|
135
|
+
leftoverBalances,
|
|
136
|
+
tokensToClaim: new AddressMap()
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
safeConvertToUSD(priceOracle, token, balance) {
|
|
140
|
+
try {
|
|
141
|
+
return priceOracle.convertToUSD(token, balance);
|
|
142
|
+
} catch {
|
|
143
|
+
try {
|
|
144
|
+
return priceOracle.convertToUSD(token, balance, true);
|
|
145
|
+
} catch {
|
|
146
|
+
return 0n;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
safeConvertFromUSD(priceOracle, token, balance) {
|
|
151
|
+
try {
|
|
152
|
+
return priceOracle.convertFromUSD(token, balance);
|
|
153
|
+
} catch {
|
|
154
|
+
try {
|
|
155
|
+
return priceOracle.convertFromUSD(token, balance, true);
|
|
156
|
+
} catch {
|
|
157
|
+
return 0n;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
59
161
|
}
|
|
60
162
|
export {
|
|
61
163
|
AbstractRouterContract
|
|
@@ -179,22 +179,22 @@ class RouterV300Contract extends AbstractRouterContract {
|
|
|
179
179
|
creditAccount: ca,
|
|
180
180
|
creditManager: cm,
|
|
181
181
|
slippage,
|
|
182
|
-
balances
|
|
182
|
+
balances,
|
|
183
|
+
debtOnly
|
|
183
184
|
}) {
|
|
184
185
|
const {
|
|
185
186
|
pathOptions,
|
|
186
187
|
expected,
|
|
187
188
|
leftover: leftoverUnsafe,
|
|
188
189
|
connectors
|
|
189
|
-
} = this.getFindClosePathInput(
|
|
190
|
-
|
|
191
|
-
cm,
|
|
192
|
-
balances ? {
|
|
190
|
+
} = this.getFindClosePathInput(ca, cm, {
|
|
191
|
+
balances: balances ? {
|
|
193
192
|
expectedBalances: assetsMap(balances.expectedBalances),
|
|
194
193
|
leftoverBalances: assetsMap(balances.leftoverBalances),
|
|
195
194
|
tokensToClaim: assetsMap(balances.tokensToClaim || [])
|
|
196
|
-
} : void 0
|
|
197
|
-
|
|
195
|
+
} : void 0,
|
|
196
|
+
debtOnly
|
|
197
|
+
});
|
|
198
198
|
const leftover = leftoverUnsafe.map((a) => ({
|
|
199
199
|
...a,
|
|
200
200
|
balance: limitLeftover(a.balance, a.token) ?? 0n
|
|
@@ -254,12 +254,11 @@ class RouterV300Contract extends AbstractRouterContract {
|
|
|
254
254
|
/**
|
|
255
255
|
* Implements {@link IRouterContract.getFindClosePathInput}
|
|
256
256
|
*/
|
|
257
|
-
getFindClosePathInput(ca, cm,
|
|
257
|
+
getFindClosePathInput(ca, cm, options) {
|
|
258
258
|
const { expectedBalances, leftoverBalances } = this.getExpectedAndLeftover(
|
|
259
259
|
ca,
|
|
260
260
|
cm,
|
|
261
|
-
|
|
262
|
-
keepAssets
|
|
261
|
+
options
|
|
263
262
|
);
|
|
264
263
|
const leftover = leftoverBalances.values().map((a) => ({
|
|
265
264
|
...a,
|
|
@@ -159,18 +159,18 @@ class RouterV310Contract extends AbstractRouterContract {
|
|
|
159
159
|
creditManager: cm,
|
|
160
160
|
slippage,
|
|
161
161
|
balances,
|
|
162
|
-
keepAssets
|
|
162
|
+
keepAssets,
|
|
163
|
+
debtOnly
|
|
163
164
|
} = props;
|
|
164
|
-
const { expectedBalances, leftoverBalances, tokensToClaim } = this.getExpectedAndLeftover(
|
|
165
|
-
|
|
166
|
-
cm,
|
|
167
|
-
balances ? {
|
|
165
|
+
const { expectedBalances, leftoverBalances, tokensToClaim } = this.getExpectedAndLeftover(ca, cm, {
|
|
166
|
+
balances: balances ? {
|
|
168
167
|
expectedBalances: assetsMap(balances.expectedBalances),
|
|
169
168
|
leftoverBalances: assetsMap(balances.leftoverBalances),
|
|
170
169
|
tokensToClaim: assetsMap(balances.tokensToClaim || [])
|
|
171
170
|
} : void 0,
|
|
172
|
-
keepAssets
|
|
173
|
-
|
|
171
|
+
keepAssets: balances ? void 0 : keepAssets,
|
|
172
|
+
debtOnly
|
|
173
|
+
});
|
|
174
174
|
const getNumSplits = this.#numSplitsGetter(cm, expectedBalances.values());
|
|
175
175
|
const tData = [];
|
|
176
176
|
for (const token of cm.collateralTokens) {
|
|
@@ -276,15 +276,15 @@ class RouterV310Contract extends AbstractRouterContract {
|
|
|
276
276
|
* @returns
|
|
277
277
|
*/
|
|
278
278
|
#convertToUSDForSort(oracle, token, amount) {
|
|
279
|
-
const scale = 10n ** BigInt(this.tokensMeta.get(token)?.decimals ?? 0);
|
|
279
|
+
const scale = 10n ** BigInt(this.sdk.tokensMeta.get(token)?.decimals ?? 0);
|
|
280
280
|
const price = oracle.mainPrices.get(token)?.price || oracle.reservePrices.get(token)?.price || scale;
|
|
281
281
|
return amount * price / scale;
|
|
282
282
|
}
|
|
283
283
|
#debugTokenData(tData) {
|
|
284
284
|
return tData.map((t) => ({
|
|
285
285
|
token: this.labelAddress(t.token),
|
|
286
|
-
balance: `${this.tokensMeta.formatBN(t.token, t.balance)} (${t.balance})`,
|
|
287
|
-
leftoverBalance: this.tokensMeta.formatBN(t.token, t.leftoverBalance) + ` (${t.leftoverBalance})`,
|
|
286
|
+
balance: `${this.sdk.tokensMeta.formatBN(t.token, t.balance)} (${t.balance})`,
|
|
287
|
+
leftoverBalance: this.sdk.tokensMeta.formatBN(t.token, t.leftoverBalance) + ` (${t.leftoverBalance})`,
|
|
288
288
|
numSplits: t.numSplits,
|
|
289
289
|
claimRewards: t.claimRewards
|
|
290
290
|
}));
|
|
@@ -2,10 +2,6 @@ import { isV300, isV310 } from "../constants/index.js";
|
|
|
2
2
|
import { RouterV300Contract } from "./RouterV300Contract.js";
|
|
3
3
|
import { RouterV310Contract } from "./RouterV310Contract.js";
|
|
4
4
|
function createRouter(sdk, address, version) {
|
|
5
|
-
const contract = sdk.getContract(address);
|
|
6
|
-
if (contract) {
|
|
7
|
-
return contract;
|
|
8
|
-
}
|
|
9
5
|
if (isV300(version)) {
|
|
10
6
|
return new RouterV300Contract(sdk, address, version);
|
|
11
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Abi } from "abitype";
|
|
2
2
|
import type { Account, Address, Chain, Client, ContractConstructorArgs, GetChainParameter, Hash, Hex, SendTransactionParameters, SendTransactionReturnType, Transport, UnionEvaluate, UnionOmit, WalletClient } from "viem";
|
|
3
3
|
import type { GearboxSDK } from "../sdk/index.js";
|
|
4
|
-
import {
|
|
4
|
+
import { SDKConstruct } from "../sdk/index.js";
|
|
5
5
|
export declare const PUBLIC_CREATE2_FACTORY: Address;
|
|
6
6
|
export declare const DEFAULT_CREATE2_SALT = "GEARBOX";
|
|
7
7
|
export type Create2Parameters<abi extends Abi | readonly unknown[] = Abi, chain extends Chain = Chain, account extends Account = Account, chainOverride extends Chain | undefined = Chain | undefined, allArgs = ContractConstructorArgs<abi>> = UnionOmit<SendTransactionParameters<chain, account, chainOverride>, "accessList" | "chain" | "to" | "data"> & GetChainParameter<chain, chainOverride> & UnionEvaluate<readonly [] extends allArgs ? {
|
|
@@ -24,7 +24,7 @@ export interface EnsureExistsUsingPublicCreate2ReturnType {
|
|
|
24
24
|
address: Address;
|
|
25
25
|
hash?: Hash;
|
|
26
26
|
}
|
|
27
|
-
export declare class Create2Deployer<transport extends Transport = Transport, chain extends Chain = Chain, account extends Account = Account> extends
|
|
27
|
+
export declare class Create2Deployer<transport extends Transport = Transport, chain extends Chain = Chain, account extends Account = Account> extends SDKConstruct {
|
|
28
28
|
#private;
|
|
29
29
|
constructor(sdk: GearboxSDK, walletClient: WalletClient<transport, chain, account>);
|
|
30
30
|
ensureExists<abi extends Abi | readonly unknown[], chainOverride extends Chain | undefined = Chain | undefined>(parameters: Create2Parameters<abi, chain, account, chainOverride>): Promise<EnsureExistsUsingPublicCreate2ReturnType>;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { type Address } from "viem";
|
|
2
|
-
import { type GearboxSDK, SDKConstruct } from "../../sdk/index.js";
|
|
2
|
+
import { type GearboxSDK, type ILogger, SDKConstruct } from "../../sdk/index.js";
|
|
3
3
|
import type { AnvilClient } from "../createAnvilClient.js";
|
|
4
4
|
import type { IMinter } from "./types.js";
|
|
5
5
|
export default abstract class AbstractMinter extends SDKConstruct implements IMinter {
|
|
6
6
|
protected readonly anvil: AnvilClient;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
protected readonly logger?: ILogger;
|
|
8
|
+
readonly name: string;
|
|
9
|
+
constructor(sdk: GearboxSDK, anvil: AnvilClient, name?: string);
|
|
9
10
|
tryMint(token: Address, dest: Address, amount: bigint): Promise<bigint>;
|
|
10
11
|
abstract mint(token: Address, dest: Address, amount: bigint): Promise<void>;
|
|
11
12
|
protected getOwner(address: Address): Promise<Address>;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { Address } from "viem";
|
|
2
|
+
import type { GearboxSDK } from "../../sdk/index.js";
|
|
3
|
+
import type { AnvilClient } from "../createAnvilClient.js";
|
|
2
4
|
import AbstractMinter from "./AbstractMinter.js";
|
|
3
5
|
import type { IMinter } from "./types.js";
|
|
4
6
|
export declare class DealMinter extends AbstractMinter implements IMinter {
|
|
7
|
+
constructor(sdk: GearboxSDK, anvil: AnvilClient);
|
|
5
8
|
mint(token: Address, dest: Address, amount: bigint): Promise<void>;
|
|
6
9
|
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { type Address } from "viem";
|
|
2
|
+
import type { GearboxSDK } from "../../sdk/index.js";
|
|
3
|
+
import type { AnvilClient } from "../createAnvilClient.js";
|
|
2
4
|
import AbstractMinter from "./AbstractMinter.js";
|
|
3
5
|
import type { IMinter } from "./types.js";
|
|
4
6
|
export declare class DirectMinter extends AbstractMinter implements IMinter {
|
|
7
|
+
constructor(sdk: GearboxSDK, anvil: AnvilClient);
|
|
5
8
|
mint(token: Address, dest: Address, amount: bigint): Promise<void>;
|
|
6
9
|
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { type Address } from "viem";
|
|
2
|
+
import type { GearboxSDK } from "../../sdk/index.js";
|
|
3
|
+
import type { AnvilClient } from "../createAnvilClient.js";
|
|
2
4
|
import AbstractMinter from "./AbstractMinter.js";
|
|
3
5
|
import type { IMinter } from "./types.js";
|
|
4
6
|
export declare class TransferMinter extends AbstractMinter implements IMinter {
|
|
7
|
+
constructor(sdk: GearboxSDK, anvil: AnvilClient);
|
|
5
8
|
mint(token: Address, dest: Address, amount: bigint): Promise<void>;
|
|
6
9
|
}
|
|
@@ -1,8 +1,259 @@
|
|
|
1
|
-
import { type Address, type
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { type Address, type PublicClient } from "viem";
|
|
2
|
+
import { BaseContract } from "./base-contract.js";
|
|
3
|
+
declare const abi: readonly [{
|
|
4
|
+
readonly type: "function";
|
|
5
|
+
readonly inputs: readonly [];
|
|
6
|
+
readonly name: "contractType";
|
|
7
|
+
readonly outputs: readonly [{
|
|
8
|
+
readonly name: "";
|
|
9
|
+
readonly internalType: "bytes32";
|
|
10
|
+
readonly type: "bytes32";
|
|
11
|
+
}];
|
|
12
|
+
readonly stateMutability: "view";
|
|
13
|
+
}, {
|
|
14
|
+
readonly type: "function";
|
|
15
|
+
readonly inputs: readonly [{
|
|
16
|
+
readonly name: "key";
|
|
17
|
+
readonly internalType: "bytes32";
|
|
18
|
+
readonly type: "bytes32";
|
|
19
|
+
}, {
|
|
20
|
+
readonly name: "ver";
|
|
21
|
+
readonly internalType: "uint256";
|
|
22
|
+
readonly type: "uint256";
|
|
23
|
+
}];
|
|
24
|
+
readonly name: "getAddress";
|
|
25
|
+
readonly outputs: readonly [{
|
|
26
|
+
readonly name: "";
|
|
27
|
+
readonly internalType: "address";
|
|
28
|
+
readonly type: "address";
|
|
29
|
+
}];
|
|
30
|
+
readonly stateMutability: "view";
|
|
31
|
+
}, {
|
|
32
|
+
readonly type: "function";
|
|
33
|
+
readonly inputs: readonly [{
|
|
34
|
+
readonly name: "key";
|
|
35
|
+
readonly internalType: "bytes32";
|
|
36
|
+
readonly type: "bytes32";
|
|
37
|
+
}, {
|
|
38
|
+
readonly name: "ver";
|
|
39
|
+
readonly internalType: "uint256";
|
|
40
|
+
readonly type: "uint256";
|
|
41
|
+
}];
|
|
42
|
+
readonly name: "getAddressOrRevert";
|
|
43
|
+
readonly outputs: readonly [{
|
|
44
|
+
readonly name: "";
|
|
45
|
+
readonly internalType: "address";
|
|
46
|
+
readonly type: "address";
|
|
47
|
+
}];
|
|
48
|
+
readonly stateMutability: "view";
|
|
49
|
+
}, {
|
|
50
|
+
readonly type: "function";
|
|
51
|
+
readonly inputs: readonly [];
|
|
52
|
+
readonly name: "getAllEntries";
|
|
53
|
+
readonly outputs: readonly [{
|
|
54
|
+
readonly name: "";
|
|
55
|
+
readonly internalType: "struct AddressProviderEntry[]";
|
|
56
|
+
readonly type: "tuple[]";
|
|
57
|
+
readonly components: readonly [{
|
|
58
|
+
readonly name: "key";
|
|
59
|
+
readonly internalType: "bytes32";
|
|
60
|
+
readonly type: "bytes32";
|
|
61
|
+
}, {
|
|
62
|
+
readonly name: "ver";
|
|
63
|
+
readonly internalType: "uint256";
|
|
64
|
+
readonly type: "uint256";
|
|
65
|
+
}, {
|
|
66
|
+
readonly name: "value";
|
|
67
|
+
readonly internalType: "address";
|
|
68
|
+
readonly type: "address";
|
|
69
|
+
}];
|
|
70
|
+
}];
|
|
71
|
+
readonly stateMutability: "view";
|
|
72
|
+
}, {
|
|
73
|
+
readonly type: "function";
|
|
74
|
+
readonly inputs: readonly [];
|
|
75
|
+
readonly name: "getKeys";
|
|
76
|
+
readonly outputs: readonly [{
|
|
77
|
+
readonly name: "";
|
|
78
|
+
readonly internalType: "bytes32[]";
|
|
79
|
+
readonly type: "bytes32[]";
|
|
80
|
+
}];
|
|
81
|
+
readonly stateMutability: "view";
|
|
82
|
+
}, {
|
|
83
|
+
readonly type: "function";
|
|
84
|
+
readonly inputs: readonly [{
|
|
85
|
+
readonly name: "key";
|
|
86
|
+
readonly internalType: "bytes32";
|
|
87
|
+
readonly type: "bytes32";
|
|
88
|
+
}, {
|
|
89
|
+
readonly name: "majorVersion";
|
|
90
|
+
readonly internalType: "uint256";
|
|
91
|
+
readonly type: "uint256";
|
|
92
|
+
}];
|
|
93
|
+
readonly name: "getLatestMinorVersion";
|
|
94
|
+
readonly outputs: readonly [{
|
|
95
|
+
readonly name: "";
|
|
96
|
+
readonly internalType: "uint256";
|
|
97
|
+
readonly type: "uint256";
|
|
98
|
+
}];
|
|
99
|
+
readonly stateMutability: "view";
|
|
100
|
+
}, {
|
|
101
|
+
readonly type: "function";
|
|
102
|
+
readonly inputs: readonly [{
|
|
103
|
+
readonly name: "key";
|
|
104
|
+
readonly internalType: "bytes32";
|
|
105
|
+
readonly type: "bytes32";
|
|
106
|
+
}, {
|
|
107
|
+
readonly name: "minorVersion";
|
|
108
|
+
readonly internalType: "uint256";
|
|
109
|
+
readonly type: "uint256";
|
|
110
|
+
}];
|
|
111
|
+
readonly name: "getLatestPatchVersion";
|
|
112
|
+
readonly outputs: readonly [{
|
|
113
|
+
readonly name: "";
|
|
114
|
+
readonly internalType: "uint256";
|
|
115
|
+
readonly type: "uint256";
|
|
116
|
+
}];
|
|
117
|
+
readonly stateMutability: "view";
|
|
118
|
+
}, {
|
|
119
|
+
readonly type: "function";
|
|
120
|
+
readonly inputs: readonly [{
|
|
121
|
+
readonly name: "key";
|
|
122
|
+
readonly internalType: "bytes32";
|
|
123
|
+
readonly type: "bytes32";
|
|
124
|
+
}];
|
|
125
|
+
readonly name: "getLatestVersion";
|
|
126
|
+
readonly outputs: readonly [{
|
|
127
|
+
readonly name: "";
|
|
128
|
+
readonly internalType: "uint256";
|
|
129
|
+
readonly type: "uint256";
|
|
130
|
+
}];
|
|
131
|
+
readonly stateMutability: "view";
|
|
132
|
+
}, {
|
|
133
|
+
readonly type: "function";
|
|
134
|
+
readonly inputs: readonly [{
|
|
135
|
+
readonly name: "key";
|
|
136
|
+
readonly internalType: "bytes32";
|
|
137
|
+
readonly type: "bytes32";
|
|
138
|
+
}];
|
|
139
|
+
readonly name: "getVersions";
|
|
140
|
+
readonly outputs: readonly [{
|
|
141
|
+
readonly name: "";
|
|
142
|
+
readonly internalType: "uint256[]";
|
|
143
|
+
readonly type: "uint256[]";
|
|
144
|
+
}];
|
|
145
|
+
readonly stateMutability: "view";
|
|
146
|
+
}, {
|
|
147
|
+
readonly type: "function";
|
|
148
|
+
readonly inputs: readonly [];
|
|
149
|
+
readonly name: "owner";
|
|
150
|
+
readonly outputs: readonly [{
|
|
151
|
+
readonly name: "";
|
|
152
|
+
readonly internalType: "address";
|
|
153
|
+
readonly type: "address";
|
|
154
|
+
}];
|
|
155
|
+
readonly stateMutability: "view";
|
|
156
|
+
}, {
|
|
157
|
+
readonly type: "function";
|
|
158
|
+
readonly inputs: readonly [{
|
|
159
|
+
readonly name: "key";
|
|
160
|
+
readonly internalType: "bytes32";
|
|
161
|
+
readonly type: "bytes32";
|
|
162
|
+
}, {
|
|
163
|
+
readonly name: "value";
|
|
164
|
+
readonly internalType: "address";
|
|
165
|
+
readonly type: "address";
|
|
166
|
+
}, {
|
|
167
|
+
readonly name: "saveVersion";
|
|
168
|
+
readonly internalType: "bool";
|
|
169
|
+
readonly type: "bool";
|
|
170
|
+
}];
|
|
171
|
+
readonly name: "setAddress";
|
|
172
|
+
readonly outputs: readonly [];
|
|
173
|
+
readonly stateMutability: "nonpayable";
|
|
174
|
+
}, {
|
|
175
|
+
readonly type: "function";
|
|
176
|
+
readonly inputs: readonly [];
|
|
177
|
+
readonly name: "version";
|
|
178
|
+
readonly outputs: readonly [{
|
|
179
|
+
readonly name: "";
|
|
180
|
+
readonly internalType: "uint256";
|
|
181
|
+
readonly type: "uint256";
|
|
182
|
+
}];
|
|
183
|
+
readonly stateMutability: "view";
|
|
184
|
+
}, {
|
|
185
|
+
readonly type: "event";
|
|
186
|
+
readonly anonymous: false;
|
|
187
|
+
readonly inputs: readonly [{
|
|
188
|
+
readonly name: "key";
|
|
189
|
+
readonly internalType: "bytes32";
|
|
190
|
+
readonly type: "bytes32";
|
|
191
|
+
readonly indexed: true;
|
|
192
|
+
}, {
|
|
193
|
+
readonly name: "ver";
|
|
194
|
+
readonly internalType: "uint256";
|
|
195
|
+
readonly type: "uint256";
|
|
196
|
+
readonly indexed: true;
|
|
197
|
+
}, {
|
|
198
|
+
readonly name: "value";
|
|
199
|
+
readonly internalType: "address";
|
|
200
|
+
readonly type: "address";
|
|
201
|
+
readonly indexed: true;
|
|
202
|
+
}];
|
|
203
|
+
readonly name: "SetAddress";
|
|
204
|
+
}, {
|
|
205
|
+
readonly type: "error";
|
|
206
|
+
readonly inputs: readonly [{
|
|
207
|
+
readonly name: "key";
|
|
208
|
+
readonly internalType: "bytes32";
|
|
209
|
+
readonly type: "bytes32";
|
|
210
|
+
}, {
|
|
211
|
+
readonly name: "ver";
|
|
212
|
+
readonly internalType: "uint256";
|
|
213
|
+
readonly type: "uint256";
|
|
214
|
+
}];
|
|
215
|
+
readonly name: "AddressNotFoundException";
|
|
216
|
+
}, {
|
|
217
|
+
readonly type: "error";
|
|
218
|
+
readonly inputs: readonly [{
|
|
219
|
+
readonly name: "caller";
|
|
220
|
+
readonly internalType: "address";
|
|
221
|
+
readonly type: "address";
|
|
222
|
+
}];
|
|
223
|
+
readonly name: "CallerIsNotOwnerException";
|
|
224
|
+
}, {
|
|
225
|
+
readonly type: "error";
|
|
226
|
+
readonly inputs: readonly [{
|
|
227
|
+
readonly name: "key";
|
|
228
|
+
readonly internalType: "bytes32";
|
|
229
|
+
readonly type: "bytes32";
|
|
230
|
+
}, {
|
|
231
|
+
readonly name: "ver";
|
|
232
|
+
readonly internalType: "uint256";
|
|
233
|
+
readonly type: "uint256";
|
|
234
|
+
}];
|
|
235
|
+
readonly name: "InvalidVersionException";
|
|
236
|
+
}, {
|
|
237
|
+
readonly type: "error";
|
|
238
|
+
readonly inputs: readonly [{
|
|
239
|
+
readonly name: "key";
|
|
240
|
+
readonly internalType: "bytes32";
|
|
241
|
+
readonly type: "bytes32";
|
|
242
|
+
}];
|
|
243
|
+
readonly name: "VersionNotFoundException";
|
|
244
|
+
}, {
|
|
245
|
+
readonly type: "error";
|
|
246
|
+
readonly inputs: readonly [{
|
|
247
|
+
readonly name: "key";
|
|
248
|
+
readonly internalType: "bytes32";
|
|
249
|
+
readonly type: "bytes32";
|
|
250
|
+
}];
|
|
251
|
+
readonly name: "ZeroAddressException";
|
|
252
|
+
}];
|
|
253
|
+
export declare class AddressProviderContract extends BaseContract<typeof abi> {
|
|
254
|
+
constructor(address: Address, client: PublicClient);
|
|
5
255
|
getAddressOrRevert(key: string, version?: bigint): Promise<Address>;
|
|
6
256
|
getLatestVersionAddress(key: string): Promise<Address>;
|
|
7
257
|
getLatestVersion(key: string): Promise<bigint>;
|
|
8
258
|
}
|
|
259
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type Abi, type Address, type Client, type ContractEventArgs, type ContractEventName, type ContractFunctionName, type DecodeFunctionDataReturnType, type EncodeFunctionDataParameters, type GetContractEventsReturnType, type GetContractReturnType, type Hex, type PublicClient } from "viem";
|
|
2
|
+
import type { RawTx } from "../../sdk/types/index.js";
|
|
3
|
+
import type { CrossChainCall, ParsedCall } from "../core/proposal.js";
|
|
4
|
+
export declare class BaseContract<const abi extends Abi | readonly unknown[]> {
|
|
5
|
+
readonly abi: abi;
|
|
6
|
+
readonly address: Address;
|
|
7
|
+
readonly name: string;
|
|
8
|
+
protected static register: Record<Address, BaseContract<any>>;
|
|
9
|
+
protected contract: GetContractReturnType<abi, Client, Address>;
|
|
10
|
+
readonly client: PublicClient;
|
|
11
|
+
constructor(abi: abi, address: Address, client: PublicClient, name: string);
|
|
12
|
+
static parseCall(call: CrossChainCall): ParsedCall;
|
|
13
|
+
static parse(address: Address, calldata: Hex): ParsedCall;
|
|
14
|
+
parseFunctionData(calldata: Hex): ParsedCall;
|
|
15
|
+
protected wrapParseCall(params: DecodeFunctionDataReturnType<abi>, parsedParams: Record<string, string>): ParsedCall;
|
|
16
|
+
parseFunctionParams(_params: DecodeFunctionDataReturnType<abi>): ParsedCall | undefined;
|
|
17
|
+
createRawTx<functionName extends ContractFunctionName<abi> | undefined = undefined>(parameters: Omit<EncodeFunctionDataParameters<abi, functionName>, "abi"> & {
|
|
18
|
+
description?: string;
|
|
19
|
+
}): RawTx;
|
|
20
|
+
protected stringifyParsedCall(parsedCall: ParsedCall): string;
|
|
21
|
+
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>>;
|
|
22
|
+
getContract(): GetContractReturnType<abi, Client, Address>;
|
|
23
|
+
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { type Address, type
|
|
2
|
-
import type { RawTx } from "../../sdk/index.js";
|
|
3
|
-
import { BaseContract, type ParsedCallArgs } from "../../sdk/index.js";
|
|
1
|
+
import { type Address, type DecodeFunctionDataReturnType, type Hex, type Log, type PublicClient, type WalletClient } from "viem";
|
|
2
|
+
import type { RawTx } from "../../sdk/types/index.js";
|
|
4
3
|
import type { Auditor } from "../core/auditor.js";
|
|
5
4
|
import type { AuditEvent, Bytecode, DeploymentExtended } from "../core/bytecode.js";
|
|
5
|
+
import type { ParsedCall } from "../core/proposal.js";
|
|
6
|
+
import { BaseContract } from "./base-contract.js";
|
|
6
7
|
declare const abi: readonly [{
|
|
7
8
|
readonly type: "function";
|
|
8
9
|
readonly inputs: readonly [];
|
|
@@ -1150,7 +1151,7 @@ interface ComputeAddressArgs {
|
|
|
1150
1151
|
owner: Address;
|
|
1151
1152
|
}
|
|
1152
1153
|
export declare class BytecodeRepositoryContract extends BaseContract<typeof abi> {
|
|
1153
|
-
constructor(
|
|
1154
|
+
constructor(address: Address, client: PublicClient);
|
|
1154
1155
|
getBytecodeByHash(hash: `0x${string}`): Promise<{
|
|
1155
1156
|
contractType: `0x${string}`;
|
|
1156
1157
|
version: bigint;
|
|
@@ -1190,7 +1191,7 @@ export declare class BytecodeRepositoryContract extends BaseContract<typeof abi>
|
|
|
1190
1191
|
blockNumber: number;
|
|
1191
1192
|
}>>;
|
|
1192
1193
|
getUploadUpdates(fromBlock: bigint, toBlock: bigint): Promise<Omit<Bytecode, "uploadedAt">[]>;
|
|
1193
|
-
|
|
1194
|
+
parseFunctionParams(params: DecodeFunctionDataReturnType<typeof abi>): ParsedCall | undefined;
|
|
1194
1195
|
signBytecodeHash(bytecodeHash: Hex, auditor: Address, reportUrl: string, signature: Hex, sponsor: WalletClient): Promise<`0x${string}`>;
|
|
1195
1196
|
signBytecodeHashTx(bytecodeHash: Hex, auditor: Address, reportUrl: string, signature: Hex): RawTx;
|
|
1196
1197
|
recoverAuditorSignature(bytecodeHash: Hex, auditor: Address, reportUrl: string, signature: Hex): Promise<Address>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type Address, type
|
|
2
|
-
import { BaseContract } from "
|
|
1
|
+
import { type Address, type PublicClient } from "viem";
|
|
2
|
+
import { BaseContract } from "../base-contract.js";
|
|
3
3
|
declare const abi: readonly [{
|
|
4
4
|
readonly type: "constructor";
|
|
5
5
|
readonly inputs: readonly [{
|
|
@@ -102,7 +102,7 @@ declare const abi: readonly [{
|
|
|
102
102
|
readonly stateMutability: "view";
|
|
103
103
|
}];
|
|
104
104
|
export declare class TokenCompressorContract extends BaseContract<typeof abi> {
|
|
105
|
-
constructor(
|
|
105
|
+
constructor(address: Address, client: PublicClient);
|
|
106
106
|
getTokenInfo(token: Address): Promise<{
|
|
107
107
|
name: string;
|
|
108
108
|
symbol: string;
|