@gearbox-protocol/sdk 11.11.0-next.2 → 11.11.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/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 +96 -21
- package/dist/cjs/plugins/bots/PartialLiquidationBotBaseContract.js +14 -17
- package/dist/cjs/plugins/bots/PartialLiquidationBotV300Contract.js +20 -4
- package/dist/cjs/plugins/bots/config.js +59 -0
- package/dist/cjs/plugins/bots/index.js +4 -0
- package/dist/cjs/plugins/bots/types.js +9 -0
- 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 +8 -6
- 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 +3 -2
- package/dist/cjs/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
- package/dist/cjs/sdk/market/pricefeeds/WstETHPriceFeed.js +9 -2
- package/dist/cjs/sdk/market/pricefeeds/YearnPriceFeed.js +9 -2
- package/dist/cjs/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +0 -17
- package/dist/cjs/sdk/market/pricefeeds/updates/PythUpdater.js +9 -7
- package/dist/cjs/sdk/market/pricefeeds/updates/RedstoneUpdater.js +12 -10
- package/dist/cjs/sdk/router/AbstractRouterContract.js +0 -5
- package/dist/cjs/sdk/router/RouterV310Contract.js +3 -3
- 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/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 +108 -11
- package/dist/esm/plugins/bots/PartialLiquidationBotBaseContract.js +16 -7
- package/dist/esm/plugins/bots/PartialLiquidationBotV300Contract.js +20 -4
- package/dist/esm/plugins/bots/config.js +33 -0
- package/dist/esm/plugins/bots/index.js +2 -0
- package/dist/esm/plugins/bots/types.js +8 -0
- 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 +9 -7
- 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 +9 -3
- package/dist/esm/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
- package/dist/esm/sdk/market/pricefeeds/WstETHPriceFeed.js +10 -3
- package/dist/esm/sdk/market/pricefeeds/YearnPriceFeed.js +10 -3
- package/dist/esm/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +0 -17
- package/dist/esm/sdk/market/pricefeeds/updates/PythUpdater.js +10 -8
- package/dist/esm/sdk/market/pricefeeds/updates/RedstoneUpdater.js +13 -11
- package/dist/esm/sdk/router/AbstractRouterContract.js +0 -5
- package/dist/esm/sdk/router/RouterV310Contract.js +3 -3
- 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 +16 -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/BotsPlugin.d.ts +3 -2
- package/dist/types/plugins/bots/PartialLiquidationBotBaseContract.d.ts +1 -1
- package/dist/types/plugins/bots/PartialLiquidationBotV300Contract.d.ts +8 -2
- package/dist/types/plugins/bots/config.d.ts +6 -0
- package/dist/types/plugins/bots/index.d.ts +2 -0
- package/dist/types/plugins/bots/types.d.ts +16 -0
- package/dist/types/sdk/GearboxSDK.d.ts +76 -5
- package/dist/types/sdk/accountMigration/AbstractMigrateCreditAccountsService.d.ts +2 -2
- package/dist/types/sdk/accountMigration/types.d.ts +2 -1
- package/dist/types/sdk/accounts/types.d.ts +3 -4
- 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/market/pricefeeds/updates/PriceUpdatesCache.d.ts +1 -8
- package/dist/types/sdk/router/AbstractRouterContract.d.ts +1 -4
- package/dist/types/sdk/router/types.d.ts +2 -1
- 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 +10 -10
- 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
|
@@ -70,9 +70,10 @@ async function attachClient(options, network) {
|
|
|
70
70
|
}
|
|
71
71
|
return createClient(options, { networkType, chainId });
|
|
72
72
|
}
|
|
73
|
-
class GearboxSDK
|
|
73
|
+
class GearboxSDK {
|
|
74
74
|
#hooks = new import_internal.Hooks();
|
|
75
75
|
plugins;
|
|
76
|
+
#client;
|
|
76
77
|
// Block which was use for data query
|
|
77
78
|
#currentBlock;
|
|
78
79
|
#timestamp;
|
|
@@ -83,11 +84,29 @@ class GearboxSDK extends import_base.ChainContractsRegister {
|
|
|
83
84
|
// Collection of markets
|
|
84
85
|
#marketRegister;
|
|
85
86
|
#priceFeeds;
|
|
87
|
+
logger;
|
|
86
88
|
gasLimit;
|
|
89
|
+
addressLabels = new import_base.AddressLabeller();
|
|
90
|
+
/**
|
|
91
|
+
* Interest rate models can be reused across chain (and SDK operates on chain level)
|
|
92
|
+
* TODO: use whatever interface is necessary for InterestRateModels
|
|
93
|
+
*/
|
|
94
|
+
interestRateModels = new import_utils.AddressMap();
|
|
87
95
|
/**
|
|
88
96
|
* Will throw an error if contract type is not supported, otherwise will try to use generic contract first, if possible
|
|
89
97
|
*/
|
|
90
98
|
strictContractTypes;
|
|
99
|
+
/**
|
|
100
|
+
* All contracts known to sdk
|
|
101
|
+
*/
|
|
102
|
+
contracts = new import_utils.AddressMap(
|
|
103
|
+
void 0,
|
|
104
|
+
"contracts"
|
|
105
|
+
);
|
|
106
|
+
/**
|
|
107
|
+
* Token metadata such as symbol and decimals
|
|
108
|
+
*/
|
|
109
|
+
tokensMeta;
|
|
91
110
|
addHook = this.#hooks.addHook.bind(this.#hooks);
|
|
92
111
|
removeHook = this.#hooks.removeHook.bind(this.#hooks);
|
|
93
112
|
static async attach(options) {
|
|
@@ -140,16 +159,17 @@ class GearboxSDK extends import_base.ChainContractsRegister {
|
|
|
140
159
|
}).#hydrate(rest, state);
|
|
141
160
|
}
|
|
142
161
|
constructor(options) {
|
|
143
|
-
|
|
162
|
+
this.logger = options.logger;
|
|
144
163
|
this.strictContractTypes = options.strictContractTypes ?? false;
|
|
145
164
|
this.plugins = options.plugins ?? {};
|
|
165
|
+
this.#client = options.client;
|
|
146
166
|
for (const plugin of Object.values(this.plugins)) {
|
|
147
167
|
plugin.sdk = this;
|
|
148
168
|
}
|
|
149
169
|
if (options.gasLimit !== null) {
|
|
150
170
|
this.gasLimit = options.gasLimit || 550000000n;
|
|
151
171
|
}
|
|
152
|
-
|
|
172
|
+
this.tokensMeta = new import_base.TokensMeta(this);
|
|
153
173
|
}
|
|
154
174
|
async #attach(opts) {
|
|
155
175
|
const {
|
|
@@ -305,9 +325,74 @@ class GearboxSDK extends import_base.ChainContractsRegister {
|
|
|
305
325
|
timestamp: state.timestamp
|
|
306
326
|
});
|
|
307
327
|
}
|
|
328
|
+
get client() {
|
|
329
|
+
return this.#client;
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Replaces client inflight
|
|
333
|
+
* You're responsible for all inconsistencies between new and old client
|
|
334
|
+
* @param options
|
|
335
|
+
*/
|
|
336
|
+
replaceClient(options, network) {
|
|
337
|
+
this.#client = createClient(options, network);
|
|
338
|
+
}
|
|
308
339
|
get networkType() {
|
|
309
340
|
return this.client.chain.network;
|
|
310
341
|
}
|
|
342
|
+
get chain() {
|
|
343
|
+
return this.client.chain;
|
|
344
|
+
}
|
|
345
|
+
get chainId() {
|
|
346
|
+
return this.client.chain.id;
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Converts contract call into some human-friendly string
|
|
350
|
+
* This method is safe and should not throw
|
|
351
|
+
* @param address
|
|
352
|
+
* @param calldata
|
|
353
|
+
* @returns
|
|
354
|
+
*/
|
|
355
|
+
parseFunctionData(address, calldata) {
|
|
356
|
+
const contract = this.contracts.get(address);
|
|
357
|
+
return contract ? contract.parseFunctionData(calldata) : `unknown: ${address}.${calldata.slice(0, 10)}`;
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* Converts multicalls into some human-friendly strings
|
|
361
|
+
* This method is safe and should not throw
|
|
362
|
+
* @param address
|
|
363
|
+
* @param calldata
|
|
364
|
+
* @returns
|
|
365
|
+
*/
|
|
366
|
+
parseMultiCall(calls) {
|
|
367
|
+
return calls.map(
|
|
368
|
+
(call) => this.parseFunctionData(call.target, call.callData)
|
|
369
|
+
);
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* Return args, function, type and address name from contract call
|
|
373
|
+
* @param address
|
|
374
|
+
* @param calldata
|
|
375
|
+
* @returns
|
|
376
|
+
*/
|
|
377
|
+
parseFunctionDataToObject(address, calldata) {
|
|
378
|
+
const contract = this.contracts.get(address);
|
|
379
|
+
return contract ? {
|
|
380
|
+
...contract.parseFunctionDataToObject(calldata),
|
|
381
|
+
address,
|
|
382
|
+
type: contract.contractType
|
|
383
|
+
} : null;
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* Converts multicalls into call info
|
|
387
|
+
* @param address
|
|
388
|
+
* @param calldata
|
|
389
|
+
* @returns
|
|
390
|
+
*/
|
|
391
|
+
parseMultiCallToObject(calls) {
|
|
392
|
+
return calls.map(
|
|
393
|
+
(call) => this.parseFunctionDataToObject(call.target, call.callData)
|
|
394
|
+
);
|
|
395
|
+
}
|
|
311
396
|
stateHuman(raw = true) {
|
|
312
397
|
return {
|
|
313
398
|
block: Number(this.currentBlock),
|
|
@@ -399,7 +484,7 @@ class GearboxSDK extends import_base.ChainContractsRegister {
|
|
|
399
484
|
address: watchAddresses
|
|
400
485
|
});
|
|
401
486
|
for (const log of logs) {
|
|
402
|
-
const contract = this.
|
|
487
|
+
const contract = this.contracts.get(log.address);
|
|
403
488
|
if (contract) {
|
|
404
489
|
const event = (0, import_viem.parseEventLogs)({
|
|
405
490
|
abi: contract.abi,
|
|
@@ -488,11 +573,17 @@ class GearboxSDK extends import_base.ChainContractsRegister {
|
|
|
488
573
|
}
|
|
489
574
|
get botListContract() {
|
|
490
575
|
const addr = this.addressProvider.getAddress(import_constants.AP_BOT_LIST, import_constants.NO_VERSION);
|
|
491
|
-
|
|
576
|
+
if (!this.contracts.has(addr)) {
|
|
577
|
+
return new import_core.BotListContract(this, addr);
|
|
578
|
+
}
|
|
579
|
+
return this.contracts.get(addr);
|
|
492
580
|
}
|
|
493
581
|
get gearStakingContract() {
|
|
494
582
|
const addr = this.addressProvider.getAddress(import_constants.AP_GEAR_STAKING, import_constants.NO_VERSION);
|
|
495
|
-
|
|
583
|
+
if (!this.contracts.has(addr)) {
|
|
584
|
+
return new import_core.GearStakingContract(this, addr);
|
|
585
|
+
}
|
|
586
|
+
return this.contracts.get(addr);
|
|
496
587
|
}
|
|
497
588
|
get marketRegister() {
|
|
498
589
|
if (this.#marketRegister === void 0) {
|
|
@@ -519,7 +610,7 @@ class GearboxSDK extends import_base.ChainContractsRegister {
|
|
|
519
610
|
);
|
|
520
611
|
facadeAddr = cm.creditFacade.address;
|
|
521
612
|
}
|
|
522
|
-
const facadeV = this.
|
|
613
|
+
const facadeV = this.contracts.mustGet(facadeAddr).version;
|
|
523
614
|
routerRange = (0, import_constants.isV310)(facadeV) ? import_constants.VERSION_RANGE_310 : import_constants.VERSION_RANGE_300;
|
|
524
615
|
}
|
|
525
616
|
const routerEntry = this.addressProvider.getLatest(import_constants.AP_ROUTER, routerRange);
|
|
@@ -527,7 +618,18 @@ class GearboxSDK extends import_base.ChainContractsRegister {
|
|
|
527
618
|
throw new Error(`router not found in version range ${routerRange}`);
|
|
528
619
|
}
|
|
529
620
|
const [routerAddr, routerV] = routerEntry;
|
|
530
|
-
|
|
621
|
+
if (!this.contracts.has(routerAddr)) {
|
|
622
|
+
return (0, import_router.createRouter)(this, routerAddr, routerV);
|
|
623
|
+
}
|
|
624
|
+
return this.contracts.get(routerAddr);
|
|
625
|
+
}
|
|
626
|
+
/**
|
|
627
|
+
* Helper to get human-friendly label for address
|
|
628
|
+
* @param address
|
|
629
|
+
* @returns
|
|
630
|
+
*/
|
|
631
|
+
labelAddress(address) {
|
|
632
|
+
return this.addressLabels.get(address);
|
|
531
633
|
}
|
|
532
634
|
}
|
|
533
635
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -27,7 +27,9 @@ var import_createCreditAccountService = require("../accounts/createCreditAccount
|
|
|
27
27
|
var import_base = require("../base/index.js");
|
|
28
28
|
var import_chains = require("../chain/chains.js");
|
|
29
29
|
var import_versions = require("../constants/versions.js");
|
|
30
|
+
var import_utils = require("../utils/index.js");
|
|
30
31
|
class AbstractMigrateCreditAccountsService extends import_base.SDKConstruct {
|
|
32
|
+
#logger;
|
|
31
33
|
#version;
|
|
32
34
|
#service;
|
|
33
35
|
// TODO: HARDCODED
|
|
@@ -49,7 +51,8 @@ class AbstractMigrateCreditAccountsService extends import_base.SDKConstruct {
|
|
|
49
51
|
super(sdk);
|
|
50
52
|
this.#version = version;
|
|
51
53
|
this.#service = (0, import_createCreditAccountService.createCreditAccountService)(this.sdk, version);
|
|
52
|
-
this.logger
|
|
54
|
+
this.#logger = (0, import_utils.childLogger)("MigrateCreditAccountsService", sdk.logger);
|
|
55
|
+
this.#logger?.debug(
|
|
53
56
|
`Created MigrateCreditAccountsService with version: ${this.#version}`
|
|
54
57
|
);
|
|
55
58
|
}
|
|
@@ -44,6 +44,7 @@ function getWithdrawalCompressorAddress(chainId) {
|
|
|
44
44
|
class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
45
45
|
#compressor;
|
|
46
46
|
#batchSize;
|
|
47
|
+
#logger;
|
|
47
48
|
constructor(sdk, options) {
|
|
48
49
|
super(sdk);
|
|
49
50
|
[this.#compressor] = sdk.addressProvider.mustGetLatest(
|
|
@@ -51,7 +52,8 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
51
52
|
import_constants.VERSION_RANGE_310
|
|
52
53
|
);
|
|
53
54
|
this.#batchSize = options?.batchSize;
|
|
54
|
-
this.logger
|
|
55
|
+
this.#logger = (0, import_utils.childLogger)("CreditAccountsService", sdk.logger);
|
|
56
|
+
this.#logger?.debug(
|
|
55
57
|
`credit account compressor address: ${this.#compressor}`
|
|
56
58
|
);
|
|
57
59
|
}
|
|
@@ -153,7 +155,7 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
153
155
|
offset = newOffset;
|
|
154
156
|
} while (offset !== 0n);
|
|
155
157
|
}
|
|
156
|
-
this
|
|
158
|
+
this.#logger?.debug(
|
|
157
159
|
`loaded ${allCAs.length} credit accounts (${allCAs.length - revertingOffset} reverting)`
|
|
158
160
|
);
|
|
159
161
|
return allCAs.sort((a, b) => Number(a.healthFactor - b.healthFactor));
|
|
@@ -290,7 +292,7 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
290
292
|
lossPolicyData = await market.lossPolicy.getLiquidationData(
|
|
291
293
|
account.creditAccount
|
|
292
294
|
);
|
|
293
|
-
this
|
|
295
|
+
this.#logger?.debug({ lossPolicyData }, "loss policy data");
|
|
294
296
|
}
|
|
295
297
|
const tx = cm.creditFacade.liquidateCreditAccount(
|
|
296
298
|
account.creditAccount,
|
|
@@ -848,7 +850,7 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
848
850
|
gas: this.sdk.gasLimit
|
|
849
851
|
});
|
|
850
852
|
}
|
|
851
|
-
this
|
|
853
|
+
this.#logger?.debug(
|
|
852
854
|
{
|
|
853
855
|
accounts: resp[0]?.length ?? 0,
|
|
854
856
|
nextOffset: Number(resp[1])
|
|
@@ -928,7 +930,7 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
928
930
|
});
|
|
929
931
|
const tStr = Array.from(tokens).map((t) => this.labelAddress(t)).join(", ");
|
|
930
932
|
const remark = ignoreReservePrices ? " main" : "";
|
|
931
|
-
this
|
|
933
|
+
this.#logger?.debug(
|
|
932
934
|
{ account: creditAccount?.creditAccount, manager: cm.name },
|
|
933
935
|
`generating price feed updates for ${tStr} from ${priceFeeds.length}${remark} price feeds`
|
|
934
936
|
);
|
|
@@ -944,7 +946,7 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
944
946
|
const market = this.sdk.marketRegister.findByCreditManager(creditManager);
|
|
945
947
|
const cm = this.sdk.marketRegister.findCreditManager(creditManager);
|
|
946
948
|
const update = await this.getUpdateForAccount(options);
|
|
947
|
-
this
|
|
949
|
+
this.#logger?.debug(
|
|
948
950
|
{ account: creditAccount?.creditAccount, manager: cm.name },
|
|
949
951
|
`getting on demand price updates from ${update.txs.length} txs`
|
|
950
952
|
);
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var AddressLabeller_exports = {};
|
|
20
|
+
__export(AddressLabeller_exports, {
|
|
21
|
+
AddressLabeller: () => AddressLabeller
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(AddressLabeller_exports);
|
|
24
|
+
var import_constants = require("../constants/index.js");
|
|
25
|
+
var import_utils = require("../utils/index.js");
|
|
26
|
+
class AddressLabeller {
|
|
27
|
+
#labels = new import_utils.AddressMap(void 0, "addressLabeller");
|
|
28
|
+
set(address, label) {
|
|
29
|
+
if (address === import_constants.NOT_DEPLOYED) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
if (typeof label === "string") {
|
|
33
|
+
this.#labels.upsert(address, label);
|
|
34
|
+
} else {
|
|
35
|
+
this.#labels.upsert(address, label(this.#labels.get(address)));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
get(address) {
|
|
39
|
+
const label = this.#labels.get(address);
|
|
40
|
+
return label ? `${address} [${label}]` : address;
|
|
41
|
+
}
|
|
42
|
+
get all() {
|
|
43
|
+
return this.#labels.asRecord();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
47
|
+
0 && (module.exports = {
|
|
48
|
+
AddressLabeller
|
|
49
|
+
});
|
|
@@ -18,61 +18,66 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var BaseContract_exports = {};
|
|
20
20
|
__export(BaseContract_exports, {
|
|
21
|
-
BaseContract: () => BaseContract
|
|
22
|
-
ContractParseError: () => ContractParseError
|
|
21
|
+
BaseContract: () => BaseContract
|
|
23
22
|
});
|
|
24
23
|
module.exports = __toCommonJS(BaseContract_exports);
|
|
25
24
|
var import_viem = require("viem");
|
|
26
25
|
var import_errors = require("../../abi/errors.js");
|
|
26
|
+
var import_iVersion = require("../../abi/iVersion.js");
|
|
27
|
+
var import_constants = require("../constants/index.js");
|
|
27
28
|
var import_utils = require("../utils/index.js");
|
|
28
|
-
var
|
|
29
|
-
class
|
|
30
|
-
address;
|
|
31
|
-
callData;
|
|
32
|
-
selector;
|
|
33
|
-
constructor(cause, options) {
|
|
34
|
-
const { address, callData, contractName } = options;
|
|
35
|
-
const selector = callData.slice(0, 10);
|
|
36
|
-
super(
|
|
37
|
-
`failed to parse function data for ${contractName ?? "unknown contract"} at ${address} with selector ${selector}`,
|
|
38
|
-
{
|
|
39
|
-
cause
|
|
40
|
-
}
|
|
41
|
-
);
|
|
42
|
-
this.callData = callData;
|
|
43
|
-
this.selector = selector;
|
|
44
|
-
this.address = address;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
class BaseContract extends import_Construct.Construct {
|
|
29
|
+
var import_SDKConstruct = require("./SDKConstruct.js");
|
|
30
|
+
class BaseContract extends import_SDKConstruct.SDKConstruct {
|
|
48
31
|
contract;
|
|
49
32
|
abi;
|
|
33
|
+
logger;
|
|
50
34
|
contractType;
|
|
51
35
|
version;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
constructor(
|
|
55
|
-
super(
|
|
36
|
+
#name;
|
|
37
|
+
#address;
|
|
38
|
+
constructor(sdk, args) {
|
|
39
|
+
super(sdk);
|
|
56
40
|
this.abi = args.abi;
|
|
57
|
-
this
|
|
41
|
+
this.#address = (0, import_viem.getAddress)(args.addr);
|
|
58
42
|
this.contract = (0, import_viem.getContract)({
|
|
59
43
|
address: this.address,
|
|
60
44
|
// add exceptions for better error decoding
|
|
61
45
|
abi: [...this.abi, ...import_errors.errorAbis],
|
|
62
|
-
client
|
|
46
|
+
client: {
|
|
47
|
+
public: sdk.client
|
|
48
|
+
}
|
|
63
49
|
});
|
|
64
50
|
this.version = Number(args.version || 0);
|
|
65
51
|
this.contractType = args.contractType ?? "";
|
|
66
52
|
if ((0, import_viem.isHex)(this.contractType)) {
|
|
67
53
|
this.contractType = (0, import_utils.bytes32ToString)(this.contractType);
|
|
68
54
|
}
|
|
69
|
-
this.name = args.name || this.contractType || this
|
|
70
|
-
this.
|
|
71
|
-
|
|
55
|
+
this.name = this.#name = args.name || this.contractType || this.#address;
|
|
56
|
+
this.logger = (0, import_utils.childLogger)(this.name, sdk.logger);
|
|
57
|
+
sdk.contracts.upsert(this.address, this);
|
|
58
|
+
}
|
|
59
|
+
get address() {
|
|
60
|
+
return this.#address;
|
|
61
|
+
}
|
|
62
|
+
set address(address) {
|
|
63
|
+
if (this.#address !== import_constants.ADDRESS_0X0) {
|
|
64
|
+
throw new Error(`Address can't be changed, currently: ${this.#address}`);
|
|
65
|
+
}
|
|
66
|
+
this.#address = (0, import_viem.getAddress)(address);
|
|
67
|
+
this.sdk.addressLabels.set(address, this.#name);
|
|
68
|
+
}
|
|
69
|
+
get name() {
|
|
70
|
+
return this.#name;
|
|
71
|
+
}
|
|
72
|
+
set name(name) {
|
|
73
|
+
this.#name = name;
|
|
74
|
+
if (this.#address !== import_constants.ADDRESS_0X0) {
|
|
75
|
+
this.sdk.addressLabels.set(this.#address, name);
|
|
76
|
+
}
|
|
72
77
|
}
|
|
73
78
|
stateHuman(_ = true) {
|
|
74
79
|
return {
|
|
75
|
-
address: this.labelAddress(this.address),
|
|
80
|
+
address: this.sdk.labelAddress(this.address),
|
|
76
81
|
version: this.version,
|
|
77
82
|
contractType: this.contractType
|
|
78
83
|
};
|
|
@@ -83,69 +88,15 @@ class BaseContract extends import_Construct.Construct {
|
|
|
83
88
|
*/
|
|
84
89
|
processLog(_log) {
|
|
85
90
|
}
|
|
86
|
-
/**
|
|
87
|
-
* Return parsed args and function name from calldata belonging to this contract
|
|
88
|
-
* Target of the call is always this contract, but args can be parsed into calls to other contracts (de-facto recursive ParsedCall)
|
|
89
|
-
* @param calldata
|
|
90
|
-
* @returns
|
|
91
|
-
*/
|
|
92
|
-
parseFunctionData(calldata) {
|
|
93
|
-
try {
|
|
94
|
-
return this.mustParseFunctionData(calldata);
|
|
95
|
-
} catch (e) {
|
|
96
|
-
this.logger?.warn(e);
|
|
97
|
-
return {
|
|
98
|
-
chainId: this.chainId,
|
|
99
|
-
target: this.address,
|
|
100
|
-
contractType: this.contractType,
|
|
101
|
-
label: this.name,
|
|
102
|
-
functionName: `Unknown function: ${calldata}`,
|
|
103
|
-
args: {}
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Same as {@link parseFunctionData}, but throws {@link ContractParseError} if error occurs
|
|
109
|
-
* @param callData
|
|
110
|
-
* @returns
|
|
111
|
-
*/
|
|
112
|
-
mustParseFunctionData(callData) {
|
|
113
|
-
try {
|
|
114
|
-
const decoded = (0, import_viem.decodeFunctionData)({
|
|
115
|
-
abi: this.abi,
|
|
116
|
-
data: callData
|
|
117
|
-
});
|
|
118
|
-
return this.wrapParseCall(
|
|
119
|
-
decoded.functionName,
|
|
120
|
-
this.parseFunctionParams(decoded)
|
|
121
|
-
);
|
|
122
|
-
} catch (e) {
|
|
123
|
-
throw new ContractParseError(e, {
|
|
124
|
-
address: this.address,
|
|
125
|
-
callData,
|
|
126
|
-
contractName: this.name
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Parses viem-decoded contract function arguments to a map of named arguments
|
|
132
|
-
* This default implementation uses abi-based parsing, you can override it,
|
|
133
|
-
* but use this super implementation as fallback
|
|
134
|
-
* @param params
|
|
135
|
-
* @returns
|
|
136
|
-
*/
|
|
137
|
-
parseFunctionParams(params) {
|
|
138
|
-
return (0, import_utils.functionArgsToMap)(this.abi, params.functionName, params.args);
|
|
139
|
-
}
|
|
140
91
|
/**
|
|
141
92
|
* Converts contract calldata to some human-friendly string
|
|
142
93
|
* This is safe function which should not throw
|
|
143
94
|
* @param calldata
|
|
144
95
|
* @returns
|
|
145
96
|
*/
|
|
146
|
-
|
|
97
|
+
parseFunctionData(calldata) {
|
|
147
98
|
try {
|
|
148
|
-
return this.
|
|
99
|
+
return this.mustParseFunctionData(calldata);
|
|
149
100
|
} catch (e) {
|
|
150
101
|
const selector = calldata.slice(0, 10);
|
|
151
102
|
this.logger?.warn(
|
|
@@ -154,64 +105,59 @@ class BaseContract extends import_Construct.Construct {
|
|
|
154
105
|
return `unknown: ${this.labelAddress(this.address)}.${selector}`;
|
|
155
106
|
}
|
|
156
107
|
}
|
|
157
|
-
|
|
158
|
-
* Same as {@link stingifyFunctionData}, but throws if error occurs
|
|
159
|
-
* @param calldata
|
|
160
|
-
* @returns
|
|
161
|
-
*/
|
|
162
|
-
mustStringifyFunctionData(calldata) {
|
|
108
|
+
mustParseFunctionData(calldata) {
|
|
163
109
|
const decoded = (0, import_viem.decodeFunctionData)({
|
|
164
110
|
abi: this.abi,
|
|
165
111
|
data: calldata
|
|
166
112
|
});
|
|
167
|
-
const abiItem =
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
});
|
|
172
|
-
if (!abiItem || abiItem.type !== "function") {
|
|
113
|
+
const abiItem = this.abi.find(
|
|
114
|
+
(abiItem2) => abiItem2?.name === decoded.functionName && abiItem2?.type === "function"
|
|
115
|
+
);
|
|
116
|
+
if (!abiItem) {
|
|
173
117
|
return `Unknown function: ${decoded.functionName}`;
|
|
174
118
|
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
)
|
|
178
|
-
|
|
119
|
+
let paramsHuman;
|
|
120
|
+
const humanParams = this.parseFunctionParams(decoded);
|
|
121
|
+
if (humanParams) {
|
|
122
|
+
paramsHuman = humanParams.map((value, i) => {
|
|
123
|
+
return `${abiItem.inputs[i].name}: ${value}`;
|
|
124
|
+
});
|
|
125
|
+
} else if (Array.isArray(decoded.args)) {
|
|
126
|
+
paramsHuman = decoded.args.map((value, i) => {
|
|
127
|
+
return `${abiItem.inputs[i].name}: ${abiItem.inputs[i].type === "address" ? this.labelAddress(value) : abiItem.inputs[i].type.startsWith("tuple") ? (0, import_utils.json_stringify)(value) : value}`;
|
|
128
|
+
});
|
|
129
|
+
} else {
|
|
130
|
+
paramsHuman = Object.entries(decoded.args || {}).map(
|
|
131
|
+
([key, value]) => `${key}: ${value}`
|
|
132
|
+
);
|
|
133
|
+
}
|
|
134
|
+
return `${this.name}.${decoded.functionName}({${paramsHuman.join(", ")}})`;
|
|
179
135
|
}
|
|
180
136
|
/**
|
|
181
|
-
*
|
|
182
|
-
*
|
|
183
|
-
*
|
|
184
|
-
* @param decoded - Function arguments decoded by viem
|
|
137
|
+
* Return args and function name from calldata
|
|
138
|
+
* @param calldata
|
|
185
139
|
* @returns
|
|
186
140
|
*/
|
|
187
|
-
|
|
188
|
-
const
|
|
141
|
+
parseFunctionDataToObject(calldata) {
|
|
142
|
+
const decoded = (0, import_viem.decodeFunctionData)({
|
|
189
143
|
abi: this.abi,
|
|
190
|
-
|
|
191
|
-
args: decoded.args
|
|
144
|
+
data: calldata
|
|
192
145
|
});
|
|
193
|
-
|
|
194
|
-
return decoded.args.map((v, i) => {
|
|
195
|
-
return abiItem.inputs[i].type === "address" ? this.labelAddress(v) : abiItem.inputs[i].type.startsWith("tuple") ? (0, import_utils.json_stringify)(v) : `${v}`;
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
|
-
return Object.entries(decoded.args || {}).map((v) => `${v}`);
|
|
146
|
+
return decoded;
|
|
199
147
|
}
|
|
200
|
-
|
|
201
|
-
return
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
148
|
+
parseFunctionParams(_params) {
|
|
149
|
+
return void 0;
|
|
150
|
+
}
|
|
151
|
+
async getVersion() {
|
|
152
|
+
this.version = Number(
|
|
153
|
+
await this.sdk.client.readContract({
|
|
154
|
+
abi: import_iVersion.iVersionAbi,
|
|
155
|
+
functionName: "version",
|
|
156
|
+
address: this.address
|
|
157
|
+
})
|
|
158
|
+
);
|
|
159
|
+
return this.version;
|
|
209
160
|
}
|
|
210
|
-
/**
|
|
211
|
-
* Creates a raw transaction for a function in this contract
|
|
212
|
-
* @param parameters
|
|
213
|
-
* @returns
|
|
214
|
-
*/
|
|
215
161
|
createRawTx(parameters) {
|
|
216
162
|
const { description: argsDescription } = parameters;
|
|
217
163
|
const tx = (0, import_utils.createRawTx)(
|
|
@@ -222,72 +168,11 @@ class BaseContract extends import_Construct.Construct {
|
|
|
222
168
|
},
|
|
223
169
|
argsDescription
|
|
224
170
|
);
|
|
225
|
-
tx.description = argsDescription || this.
|
|
171
|
+
tx.description = argsDescription || this.parseFunctionData(tx.callData);
|
|
226
172
|
return tx;
|
|
227
173
|
}
|
|
228
|
-
/**
|
|
229
|
-
* Get events in safe manner, by bisecting block range if needed
|
|
230
|
-
*
|
|
231
|
-
* @deprecated TODO: this should be moved to viem transport
|
|
232
|
-
*
|
|
233
|
-
* @param eventName
|
|
234
|
-
* @param fromBlock
|
|
235
|
-
* @param toBlock
|
|
236
|
-
* @param args
|
|
237
|
-
* @param chunkSize
|
|
238
|
-
* @returns
|
|
239
|
-
*/
|
|
240
|
-
async getEvents(eventName, fromBlock, toBlock, args, chunkSize) {
|
|
241
|
-
if (chunkSize) {
|
|
242
|
-
const chunkSizeBigint = BigInt(chunkSize);
|
|
243
|
-
const getEventPromises = [];
|
|
244
|
-
for (let i = fromBlock; i < toBlock; i += chunkSizeBigint) {
|
|
245
|
-
getEventPromises.push(
|
|
246
|
-
this.client.getContractEvents({
|
|
247
|
-
address: this.address,
|
|
248
|
-
fromBlock: i,
|
|
249
|
-
toBlock: i + chunkSizeBigint,
|
|
250
|
-
abi: this.abi,
|
|
251
|
-
eventName,
|
|
252
|
-
args
|
|
253
|
-
})
|
|
254
|
-
);
|
|
255
|
-
}
|
|
256
|
-
const events = (await Promise.all(getEventPromises)).flat();
|
|
257
|
-
return events;
|
|
258
|
-
}
|
|
259
|
-
try {
|
|
260
|
-
const events = await this.client.getContractEvents({
|
|
261
|
-
address: this.address,
|
|
262
|
-
fromBlock,
|
|
263
|
-
toBlock,
|
|
264
|
-
abi: this.abi,
|
|
265
|
-
eventName,
|
|
266
|
-
args
|
|
267
|
-
});
|
|
268
|
-
return events;
|
|
269
|
-
} catch (e) {
|
|
270
|
-
const blockRangeErrors = [
|
|
271
|
-
"query exceeds max block",
|
|
272
|
-
"range is too large",
|
|
273
|
-
"eth_getLogs is limited to",
|
|
274
|
-
"Unable to perform request",
|
|
275
|
-
"Block range limit exceeded"
|
|
276
|
-
];
|
|
277
|
-
if (e instanceof Error && blockRangeErrors.some((errorText) => e.message.includes(errorText))) {
|
|
278
|
-
const middle = (fromBlock + toBlock) / 2n;
|
|
279
|
-
const [firstHalfEvents, secondHalfEvents] = await Promise.all([
|
|
280
|
-
this.getEvents(eventName, fromBlock, middle, args),
|
|
281
|
-
this.getEvents(eventName, middle + 1n, toBlock, args)
|
|
282
|
-
]);
|
|
283
|
-
return [...firstHalfEvents, ...secondHalfEvents];
|
|
284
|
-
}
|
|
285
|
-
throw e;
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
174
|
}
|
|
289
175
|
// Annotate the CommonJS export names for ESM import in node:
|
|
290
176
|
0 && (module.exports = {
|
|
291
|
-
BaseContract
|
|
292
|
-
ContractParseError
|
|
177
|
+
BaseContract
|
|
293
178
|
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
var IAddressLabeller_exports = {};
|
|
16
|
+
module.exports = __toCommonJS(IAddressLabeller_exports);
|