@gearbox-protocol/sdk 11.12.0 → 12.0.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/dev/create2.js +1 -1
- package/dist/cjs/dev/mint/AbstractMinter.js +2 -4
- package/dist/cjs/dev/mint/DealMinter.js +0 -3
- package/dist/cjs/dev/mint/DirectMinter.js +0 -3
- package/dist/cjs/dev/mint/FallbackMinter.js +1 -1
- package/dist/cjs/dev/mint/TransferMinter.js +0 -3
- package/dist/cjs/permissionless/bindings/address-provider.js +4 -6
- package/dist/cjs/permissionless/bindings/bytecode-repository.js +23 -25
- package/dist/cjs/permissionless/bindings/compressors/token-compressor.js +4 -4
- package/dist/cjs/permissionless/bindings/compressors/withdrawal-compressor.js +11 -17
- package/dist/cjs/permissionless/bindings/cross-chain-multisig.js +23 -22
- package/dist/cjs/permissionless/bindings/factory/abstract-factory.js +7 -4
- package/dist/cjs/permissionless/bindings/governance/batches-chain.js +4 -4
- package/dist/cjs/permissionless/bindings/governance/governor.js +30 -49
- package/dist/cjs/permissionless/bindings/governance/timelock.js +4 -4
- package/dist/cjs/permissionless/bindings/index.js +0 -2
- package/dist/cjs/permissionless/bindings/instance-manager.js +58 -77
- package/dist/cjs/permissionless/bindings/market-configurator-factory.js +4 -4
- package/dist/cjs/permissionless/bindings/market-configurator.js +71 -143
- package/dist/cjs/permissionless/bindings/price-feed-store.js +8 -17
- package/dist/cjs/permissionless/bindings/router/routing-manager.js +9 -15
- package/dist/cjs/permissionless/bindings/treasury-splitter.js +14 -23
- package/dist/cjs/permissionless/core/raw-tx.js +2 -2
- package/dist/cjs/permissionless/utils/format.js +2 -2
- package/dist/cjs/permissionless/utils/governance/timelock-txs.js +2 -2
- package/dist/cjs/permissionless/utils/index.js +0 -2
- package/dist/cjs/permissionless/utils/price-update/get-price-feeds.js +1 -2
- package/dist/cjs/permissionless/utils/price-update/get-price-update-tx.js +1 -2
- package/dist/cjs/permissionless/utils/price-update/get-prices.js +1 -2
- package/dist/cjs/permissionless/utils/price-update/get-updatable-feeds.js +2 -3
- package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
- package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
- package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
- package/dist/cjs/plugins/bots/deserializePartialLiquidationBotParams.js +49 -0
- package/dist/cjs/plugins/zappers/ZappersPlugin.js +1 -1
- package/dist/cjs/sdk/GearboxSDK.js +8 -110
- package/dist/cjs/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +1 -4
- package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +6 -8
- package/dist/cjs/sdk/base/BaseContract.js +195 -80
- package/dist/cjs/sdk/base/ChainContractsRegister.js +135 -0
- package/dist/cjs/sdk/base/Construct.js +87 -0
- package/dist/cjs/sdk/base/SDKConstruct.js +3 -29
- package/dist/cjs/sdk/base/TokensMeta.js +4 -4
- package/dist/cjs/sdk/base/index.js +4 -2
- package/dist/cjs/sdk/core/BotListV3Contract.js +2 -2
- package/dist/cjs/sdk/core/GearStakingV3Contract.js +2 -2
- package/dist/cjs/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
- package/dist/cjs/sdk/core/address-provider/AddressProviderV300Contract.js +11 -6
- package/dist/cjs/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
- package/dist/cjs/sdk/market/MarketConfiguratorContract.js +5 -5
- package/dist/cjs/sdk/market/MarketRegister.js +7 -9
- package/dist/cjs/sdk/market/MarketSuite.js +2 -2
- package/dist/cjs/sdk/market/credit/CreditConfiguratorV300Contract.js +4 -3
- package/dist/cjs/sdk/market/credit/CreditConfiguratorV310Contract.js +4 -3
- package/dist/cjs/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
- package/dist/cjs/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
- package/dist/cjs/sdk/market/credit/CreditManagerV300Contract.js +5 -2
- package/dist/cjs/sdk/market/credit/CreditManagerV310Contract.js +5 -2
- package/dist/cjs/sdk/market/credit/CreditSuite.js +2 -3
- package/dist/cjs/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +3 -1
- package/dist/cjs/sdk/market/loss-policy/LossPolicyContract.js +2 -2
- package/dist/cjs/sdk/market/loss-policy/createLossPolicy.js +1 -1
- package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +8 -26
- package/dist/cjs/sdk/market/oracle/createPriceOracle.js +1 -1
- package/dist/cjs/sdk/market/pool/GaugeContract.js +2 -2
- package/dist/cjs/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
- package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
- package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
- package/dist/cjs/sdk/market/pool/PoolSuite.js +1 -1
- package/dist/cjs/sdk/market/pool/PoolV300Contract.js +5 -5
- package/dist/cjs/sdk/market/pool/PoolV310Contract.js +5 -5
- package/dist/cjs/sdk/market/pool/TumblerContract.js +2 -2
- package/dist/cjs/sdk/market/pool/createInterestRateModel.js +11 -15
- package/dist/cjs/sdk/market/pricefeeds/AbstractLPPriceFeed.js +2 -22
- package/dist/cjs/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
- package/dist/cjs/sdk/market/pricefeeds/BalancerStablePriceFeed.js +2 -9
- package/dist/cjs/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +2 -9
- package/dist/cjs/sdk/market/pricefeeds/BoundedPriceFeed.js +6 -2
- package/dist/cjs/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +2 -9
- package/dist/cjs/sdk/market/pricefeeds/CurveStablePriceFeed.js +2 -9
- package/dist/cjs/sdk/market/pricefeeds/CurveUSDPriceFeed.js +2 -9
- package/dist/cjs/sdk/market/pricefeeds/Erc4626PriceFeed.js +2 -18
- package/dist/cjs/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/MellowLRTPriceFeed.js +2 -10
- package/dist/cjs/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/PriceFeedRef.js +6 -4
- package/dist/cjs/sdk/market/pricefeeds/PriceFeedsRegister.js +2 -3
- package/dist/cjs/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
- package/dist/cjs/sdk/market/pricefeeds/WstETHPriceFeed.js +2 -9
- package/dist/cjs/sdk/market/pricefeeds/YearnPriceFeed.js +2 -9
- package/dist/cjs/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +17 -0
- package/dist/cjs/sdk/market/pricefeeds/updates/PythUpdater.js +7 -9
- package/dist/cjs/sdk/market/pricefeeds/updates/RedstoneUpdater.js +10 -12
- package/dist/cjs/sdk/router/AbstractRouterContract.js +5 -0
- package/dist/cjs/sdk/router/RouterV310Contract.js +3 -3
- package/dist/cjs/sdk/router/createRouter.js +4 -0
- package/dist/cjs/sdk/utils/abi-decode.js +58 -0
- package/dist/cjs/sdk/utils/index.js +2 -0
- package/dist/esm/dev/create2.js +2 -2
- package/dist/esm/dev/mint/AbstractMinter.js +3 -7
- package/dist/esm/dev/mint/DealMinter.js +0 -3
- package/dist/esm/dev/mint/DirectMinter.js +0 -3
- package/dist/esm/dev/mint/FallbackMinter.js +1 -1
- package/dist/esm/dev/mint/TransferMinter.js +0 -3
- package/dist/esm/permissionless/bindings/address-provider.js +7 -7
- package/dist/esm/permissionless/bindings/bytecode-repository.js +22 -24
- package/dist/esm/permissionless/bindings/compressors/token-compressor.js +3 -3
- package/dist/esm/permissionless/bindings/compressors/withdrawal-compressor.js +10 -16
- package/dist/esm/permissionless/bindings/cross-chain-multisig.js +20 -16
- package/dist/esm/permissionless/bindings/factory/abstract-factory.js +9 -4
- package/dist/esm/permissionless/bindings/governance/batches-chain.js +3 -3
- package/dist/esm/permissionless/bindings/governance/governor.js +28 -47
- package/dist/esm/permissionless/bindings/governance/timelock.js +3 -3
- package/dist/esm/permissionless/bindings/index.js +0 -1
- package/dist/esm/permissionless/bindings/instance-manager.js +53 -69
- package/dist/esm/permissionless/bindings/market-configurator-factory.js +3 -3
- package/dist/esm/permissionless/bindings/market-configurator.js +65 -137
- package/dist/esm/permissionless/bindings/price-feed-store.js +8 -14
- package/dist/esm/permissionless/bindings/router/routing-manager.js +8 -14
- package/dist/esm/permissionless/bindings/treasury-splitter.js +15 -22
- package/dist/esm/permissionless/core/raw-tx.js +1 -1
- package/dist/esm/permissionless/utils/format.js +1 -1
- package/dist/esm/permissionless/utils/governance/timelock-txs.js +1 -1
- package/dist/esm/permissionless/utils/index.js +0 -1
- package/dist/esm/permissionless/utils/price-update/get-price-feeds.js +4 -2
- package/dist/esm/permissionless/utils/price-update/get-price-update-tx.js +1 -1
- package/dist/esm/permissionless/utils/price-update/get-prices.js +1 -2
- package/dist/esm/permissionless/utils/price-update/get-updatable-feeds.js +1 -1
- package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +2 -2
- package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
- package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
- package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
- package/dist/esm/plugins/bots/deserializePartialLiquidationBotParams.js +29 -0
- package/dist/esm/plugins/zappers/ZappersPlugin.js +1 -1
- package/dist/esm/sdk/GearboxSDK.js +10 -112
- package/dist/esm/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +1 -4
- package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +7 -9
- package/dist/esm/sdk/base/BaseContract.js +202 -81
- package/dist/esm/sdk/base/ChainContractsRegister.js +111 -0
- package/dist/esm/sdk/base/Construct.js +63 -0
- package/dist/esm/sdk/base/SDKConstruct.js +3 -29
- package/dist/esm/sdk/base/TokensMeta.js +4 -4
- package/dist/esm/sdk/base/index.js +2 -1
- package/dist/esm/sdk/core/BotListV3Contract.js +2 -2
- package/dist/esm/sdk/core/GearStakingV3Contract.js +2 -2
- package/dist/esm/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
- package/dist/esm/sdk/core/address-provider/AddressProviderV300Contract.js +11 -6
- package/dist/esm/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
- package/dist/esm/sdk/market/MarketConfiguratorContract.js +5 -5
- package/dist/esm/sdk/market/MarketRegister.js +8 -10
- package/dist/esm/sdk/market/MarketSuite.js +2 -2
- package/dist/esm/sdk/market/credit/CreditConfiguratorV300Contract.js +4 -3
- package/dist/esm/sdk/market/credit/CreditConfiguratorV310Contract.js +4 -3
- package/dist/esm/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
- package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
- package/dist/esm/sdk/market/credit/CreditManagerV300Contract.js +5 -2
- package/dist/esm/sdk/market/credit/CreditManagerV310Contract.js +5 -2
- package/dist/esm/sdk/market/credit/CreditSuite.js +2 -3
- package/dist/esm/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +3 -1
- package/dist/esm/sdk/market/loss-policy/LossPolicyContract.js +5 -3
- package/dist/esm/sdk/market/loss-policy/createLossPolicy.js +1 -1
- package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +8 -26
- package/dist/esm/sdk/market/oracle/createPriceOracle.js +1 -1
- package/dist/esm/sdk/market/pool/GaugeContract.js +2 -2
- package/dist/esm/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
- package/dist/esm/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
- package/dist/esm/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
- package/dist/esm/sdk/market/pool/PoolSuite.js +1 -1
- package/dist/esm/sdk/market/pool/PoolV300Contract.js +5 -5
- package/dist/esm/sdk/market/pool/PoolV310Contract.js +5 -5
- package/dist/esm/sdk/market/pool/TumblerContract.js +2 -2
- package/dist/esm/sdk/market/pool/createInterestRateModel.js +11 -15
- package/dist/esm/sdk/market/pricefeeds/AbstractLPPriceFeed.js +2 -22
- package/dist/esm/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
- package/dist/esm/sdk/market/pricefeeds/BalancerStablePriceFeed.js +3 -13
- package/dist/esm/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +3 -13
- package/dist/esm/sdk/market/pricefeeds/BoundedPriceFeed.js +6 -2
- package/dist/esm/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +3 -10
- package/dist/esm/sdk/market/pricefeeds/CurveStablePriceFeed.js +3 -10
- package/dist/esm/sdk/market/pricefeeds/CurveUSDPriceFeed.js +3 -10
- package/dist/esm/sdk/market/pricefeeds/Erc4626PriceFeed.js +2 -18
- package/dist/esm/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/MellowLRTPriceFeed.js +3 -11
- package/dist/esm/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/PriceFeedRef.js +7 -5
- package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +3 -9
- package/dist/esm/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
- package/dist/esm/sdk/market/pricefeeds/WstETHPriceFeed.js +3 -10
- package/dist/esm/sdk/market/pricefeeds/YearnPriceFeed.js +3 -10
- package/dist/esm/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +17 -0
- package/dist/esm/sdk/market/pricefeeds/updates/PythUpdater.js +8 -10
- package/dist/esm/sdk/market/pricefeeds/updates/RedstoneUpdater.js +11 -13
- package/dist/esm/sdk/router/AbstractRouterContract.js +5 -0
- package/dist/esm/sdk/router/RouterV310Contract.js +3 -3
- package/dist/esm/sdk/router/createRouter.js +4 -0
- package/dist/esm/sdk/utils/abi-decode.js +37 -0
- package/dist/esm/sdk/utils/index.js +1 -0
- package/dist/types/dev/create2.d.ts +2 -2
- package/dist/types/dev/mint/AbstractMinter.d.ts +3 -4
- package/dist/types/dev/mint/DealMinter.d.ts +0 -3
- package/dist/types/dev/mint/DirectMinter.d.ts +0 -3
- package/dist/types/dev/mint/TransferMinter.d.ts +0 -3
- package/dist/types/permissionless/bindings/address-provider.d.ts +4 -255
- package/dist/types/permissionless/bindings/bytecode-repository.d.ts +5 -6
- package/dist/types/permissionless/bindings/compressors/token-compressor.d.ts +3 -3
- package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +4 -5
- package/dist/types/permissionless/bindings/cross-chain-multisig.d.ts +7 -7
- package/dist/types/permissionless/bindings/factory/abstract-factory.d.ts +1 -1
- package/dist/types/permissionless/bindings/governance/batches-chain.d.ts +3 -4
- package/dist/types/permissionless/bindings/governance/governor.d.ts +6 -7
- package/dist/types/permissionless/bindings/governance/timelock.d.ts +3 -3
- package/dist/types/permissionless/bindings/governance/types.d.ts +1 -1
- package/dist/types/permissionless/bindings/index.d.ts +0 -1
- package/dist/types/permissionless/bindings/instance-manager.d.ts +6 -7
- package/dist/types/permissionless/bindings/market-configurator-factory.d.ts +4 -4
- package/dist/types/permissionless/bindings/market-configurator.d.ts +6 -6
- package/dist/types/permissionless/bindings/price-feed-store.d.ts +6 -7
- package/dist/types/permissionless/bindings/router/routing-manager.d.ts +4 -5
- package/dist/types/permissionless/bindings/treasury-splitter.d.ts +5 -6
- package/dist/types/permissionless/core/proposal.d.ts +1 -7
- package/dist/types/permissionless/utils/create2.d.ts +1 -1
- package/dist/types/permissionless/utils/governance/batch.d.ts +1 -1
- package/dist/types/permissionless/utils/index.d.ts +0 -1
- package/dist/types/permissionless/utils/price-update/get-price-feeds.d.ts +3 -3
- package/dist/types/permissionless/utils/price-update/get-price-update-tx.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/BalancerV2VaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/EqualizerRouterAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/InfraredVaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowVaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/YearnV2AdapterContract.d.ts +2 -2
- package/dist/types/plugins/bots/deserializePartialLiquidationBotParams.d.ts +3 -0
- package/dist/types/sdk/GearboxSDK.d.ts +5 -76
- package/dist/types/sdk/accountMigration/types.d.ts +1 -2
- package/dist/types/sdk/accounts/types.d.ts +4 -3
- package/dist/types/sdk/base/BaseContract.d.ts +72 -28
- package/dist/types/sdk/base/ChainContractsRegister.d.ts +57 -0
- package/dist/types/sdk/base/Construct.d.ts +38 -0
- package/dist/types/sdk/base/PlaceholderContract.d.ts +2 -2
- package/dist/types/sdk/base/SDKConstruct.d.ts +2 -16
- package/dist/types/sdk/base/TokensMeta.d.ts +2 -3
- package/dist/types/sdk/base/index.d.ts +2 -1
- package/dist/types/sdk/base/types.d.ts +50 -0
- package/dist/types/sdk/core/BotListV3Contract.d.ts +1 -1
- package/dist/types/sdk/core/GearStakingV3Contract.d.ts +1 -1
- package/dist/types/sdk/core/address-provider/AbstractAddressProviderContract.d.ts +3 -4
- package/dist/types/sdk/core/address-provider/AddressProviderV300Contract.d.ts +3 -3
- package/dist/types/sdk/core/address-provider/AddressProviderV310Contract.d.ts +3 -3
- package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +2 -2
- package/dist/types/sdk/market/credit/CreditConfiguratorV300Contract.d.ts +3 -3
- package/dist/types/sdk/market/credit/CreditConfiguratorV310Contract.d.ts +3 -3
- package/dist/types/sdk/market/credit/CreditFacadeV300Contract.d.ts +3 -4
- package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +3 -4
- package/dist/types/sdk/market/credit/CreditManagerV300Contract.d.ts +1 -1
- package/dist/types/sdk/market/credit/CreditManagerV310Contract.d.ts +1 -1
- package/dist/types/sdk/market/credit/CreditSuite.d.ts +1 -1
- package/dist/types/sdk/market/credit/types.d.ts +1 -2
- package/dist/types/sdk/market/loss-policy/AliasLossPolicyV310Contract.d.ts +1 -0
- package/dist/types/sdk/market/loss-policy/LossPolicyContract.d.ts +2 -3
- package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +3 -12
- package/dist/types/sdk/market/oracle/types.d.ts +0 -10
- package/dist/types/sdk/market/pool/GaugeContract.d.ts +2 -3
- package/dist/types/sdk/market/pool/LinearInterestRateModelContract.d.ts +2 -3
- package/dist/types/sdk/market/pool/PoolQuotaKeeperV300Contract.d.ts +2 -3
- package/dist/types/sdk/market/pool/PoolQuotaKeeperV310Contract.d.ts +2 -3
- package/dist/types/sdk/market/pool/PoolV300Contract.d.ts +4 -5
- package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +4 -5
- package/dist/types/sdk/market/pool/TumblerContract.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/AbstractLPPriceFeed.d.ts +3 -8
- package/dist/types/sdk/market/pricefeeds/AbstractPriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/BalancerStablePriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/BalancerWeightedPriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/BoundedPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/CompositePriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/ConstantPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/CurveCryptoPriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/CurveStablePriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/CurveUSDPriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/Erc4626PriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/ExternalPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/MellowLRTPriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/PriceFeedRef.d.ts +3 -4
- package/dist/types/sdk/market/pricefeeds/PriceFeedsRegister.d.ts +1 -2
- package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/RedstonePriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/WstETHPriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/YearnPriceFeed.d.ts +2 -3
- package/dist/types/sdk/market/pricefeeds/ZeroPriceFeed.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/types.d.ts +0 -5
- package/dist/types/sdk/market/pricefeeds/updates/PriceUpdatesCache.d.ts +8 -1
- package/dist/types/sdk/router/AbstractRouterContract.d.ts +4 -1
- package/dist/types/sdk/router/types.d.ts +1 -2
- package/dist/types/sdk/sdk-legacy/core/creditAccount.d.ts +2 -2
- package/dist/types/sdk/utils/abi-decode.d.ts +10 -0
- package/dist/types/sdk/utils/index.d.ts +1 -0
- package/package.json +1 -1
- package/dist/cjs/permissionless/bindings/base-contract.js +0 -173
- package/dist/cjs/permissionless/utils/abi-decoder.js +0 -72
- package/dist/cjs/sdk/base/AddressLabeller.js +0 -49
- package/dist/cjs/sdk/base/IAddressLabeller.js +0 -16
- package/dist/esm/permissionless/bindings/base-contract.js +0 -151
- package/dist/esm/permissionless/utils/abi-decoder.js +0 -50
- package/dist/esm/sdk/base/AddressLabeller.js +0 -25
- package/dist/esm/sdk/base/IAddressLabeller.js +0 -0
- package/dist/types/permissionless/bindings/base-contract.d.ts +0 -23
- package/dist/types/permissionless/utils/abi-decoder.d.ts +0 -13
- package/dist/types/sdk/base/AddressLabeller.d.ts +0 -11
- package/dist/types/sdk/base/IAddressLabeller.d.ts +0 -9
|
@@ -18,66 +18,61 @@ 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
|
|
21
|
+
BaseContract: () => BaseContract,
|
|
22
|
+
ContractParseError: () => ContractParseError
|
|
22
23
|
});
|
|
23
24
|
module.exports = __toCommonJS(BaseContract_exports);
|
|
24
25
|
var import_viem = require("viem");
|
|
25
26
|
var import_errors = require("../../abi/errors.js");
|
|
26
|
-
var import_iVersion = require("../../abi/iVersion.js");
|
|
27
|
-
var import_constants = require("../constants/index.js");
|
|
28
27
|
var import_utils = require("../utils/index.js");
|
|
29
|
-
var
|
|
30
|
-
class
|
|
28
|
+
var import_Construct = require("./Construct.js");
|
|
29
|
+
class ContractParseError extends import_viem.BaseError {
|
|
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 {
|
|
31
48
|
contract;
|
|
32
49
|
abi;
|
|
33
|
-
logger;
|
|
34
50
|
contractType;
|
|
35
51
|
version;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
constructor(
|
|
39
|
-
super(
|
|
52
|
+
address;
|
|
53
|
+
name;
|
|
54
|
+
constructor({ client, logger }, args) {
|
|
55
|
+
super({ client, logger });
|
|
40
56
|
this.abi = args.abi;
|
|
41
|
-
this
|
|
57
|
+
this.address = (0, import_viem.getAddress)(args.addr);
|
|
42
58
|
this.contract = (0, import_viem.getContract)({
|
|
43
59
|
address: this.address,
|
|
44
60
|
// add exceptions for better error decoding
|
|
45
61
|
abi: [...this.abi, ...import_errors.errorAbis],
|
|
46
|
-
client
|
|
47
|
-
public: sdk.client
|
|
48
|
-
}
|
|
62
|
+
client
|
|
49
63
|
});
|
|
50
64
|
this.version = Number(args.version || 0);
|
|
51
65
|
this.contractType = args.contractType ?? "";
|
|
52
66
|
if ((0, import_viem.isHex)(this.contractType)) {
|
|
53
67
|
this.contractType = (0, import_utils.bytes32ToString)(this.contractType);
|
|
54
68
|
}
|
|
55
|
-
this.name =
|
|
56
|
-
this.
|
|
57
|
-
|
|
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
|
-
}
|
|
69
|
+
this.name = args.name || this.contractType || this.address || this.constructor.name;
|
|
70
|
+
this.register.setContract(this.address, this);
|
|
71
|
+
this.register.setAddressLabel(this.address, this.name);
|
|
77
72
|
}
|
|
78
73
|
stateHuman(_ = true) {
|
|
79
74
|
return {
|
|
80
|
-
address: this.
|
|
75
|
+
address: this.labelAddress(this.address),
|
|
81
76
|
version: this.version,
|
|
82
77
|
contractType: this.contractType
|
|
83
78
|
};
|
|
@@ -89,14 +84,68 @@ class BaseContract extends import_SDKConstruct.SDKConstruct {
|
|
|
89
84
|
processLog(_log) {
|
|
90
85
|
}
|
|
91
86
|
/**
|
|
92
|
-
*
|
|
93
|
-
*
|
|
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)
|
|
94
89
|
* @param calldata
|
|
95
90
|
* @returns
|
|
96
91
|
*/
|
|
97
92
|
parseFunctionData(calldata) {
|
|
98
93
|
try {
|
|
99
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
|
+
/**
|
|
141
|
+
* Converts contract calldata to some human-friendly string
|
|
142
|
+
* This is safe function which should not throw
|
|
143
|
+
* @param calldata
|
|
144
|
+
* @returns
|
|
145
|
+
*/
|
|
146
|
+
stringifyFunctionData(calldata) {
|
|
147
|
+
try {
|
|
148
|
+
return this.mustStringifyFunctionData(calldata);
|
|
100
149
|
} catch (e) {
|
|
101
150
|
const selector = calldata.slice(0, 10);
|
|
102
151
|
this.logger?.warn(
|
|
@@ -105,59 +154,64 @@ class BaseContract extends import_SDKConstruct.SDKConstruct {
|
|
|
105
154
|
return `unknown: ${this.labelAddress(this.address)}.${selector}`;
|
|
106
155
|
}
|
|
107
156
|
}
|
|
108
|
-
|
|
157
|
+
/**
|
|
158
|
+
* Same as {@link stingifyFunctionData}, but throws if error occurs
|
|
159
|
+
* @param calldata
|
|
160
|
+
* @returns
|
|
161
|
+
*/
|
|
162
|
+
mustStringifyFunctionData(calldata) {
|
|
109
163
|
const decoded = (0, import_viem.decodeFunctionData)({
|
|
110
164
|
abi: this.abi,
|
|
111
165
|
data: calldata
|
|
112
166
|
});
|
|
113
|
-
const abiItem =
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
167
|
+
const abiItem = (0, import_viem.getAbiItem)({
|
|
168
|
+
abi: this.abi,
|
|
169
|
+
name: decoded.functionName,
|
|
170
|
+
args: decoded.args
|
|
171
|
+
});
|
|
172
|
+
if (!abiItem || abiItem.type !== "function") {
|
|
117
173
|
return `Unknown function: ${decoded.functionName}`;
|
|
118
174
|
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
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(", ")}})`;
|
|
175
|
+
const params = this.stringifyFunctionParams(decoded).map(
|
|
176
|
+
(v, i) => `${abiItem.inputs[i].name}: ${v}`
|
|
177
|
+
);
|
|
178
|
+
return `${this.name}.${decoded.functionName}({${params.join(", ")}})`;
|
|
135
179
|
}
|
|
136
180
|
/**
|
|
137
|
-
*
|
|
138
|
-
*
|
|
181
|
+
* Pretty-prints values of function arguments (do not include parameter names)
|
|
182
|
+
* Can be overriden in classes, but use this super implementation as fallback
|
|
183
|
+
*
|
|
184
|
+
* @param decoded - Function arguments decoded by viem
|
|
139
185
|
* @returns
|
|
140
186
|
*/
|
|
141
|
-
|
|
142
|
-
const
|
|
187
|
+
stringifyFunctionParams(decoded) {
|
|
188
|
+
const abiItem = (0, import_viem.getAbiItem)({
|
|
143
189
|
abi: this.abi,
|
|
144
|
-
|
|
190
|
+
name: decoded.functionName,
|
|
191
|
+
args: decoded.args
|
|
145
192
|
});
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
193
|
+
if (Array.isArray(decoded.args)) {
|
|
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}`);
|
|
150
199
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
200
|
+
wrapParseCall(functionName, args) {
|
|
201
|
+
return {
|
|
202
|
+
chainId: this.chainId,
|
|
203
|
+
target: this.address,
|
|
204
|
+
contractType: this.contractType,
|
|
205
|
+
label: this.register.labelAddress(this.address),
|
|
206
|
+
functionName,
|
|
207
|
+
args
|
|
208
|
+
};
|
|
160
209
|
}
|
|
210
|
+
/**
|
|
211
|
+
* Creates a raw transaction for a function in this contract
|
|
212
|
+
* @param parameters
|
|
213
|
+
* @returns
|
|
214
|
+
*/
|
|
161
215
|
createRawTx(parameters) {
|
|
162
216
|
const { description: argsDescription } = parameters;
|
|
163
217
|
const tx = (0, import_utils.createRawTx)(
|
|
@@ -168,11 +222,72 @@ class BaseContract extends import_SDKConstruct.SDKConstruct {
|
|
|
168
222
|
},
|
|
169
223
|
argsDescription
|
|
170
224
|
);
|
|
171
|
-
tx.description = argsDescription || this.
|
|
225
|
+
tx.description = argsDescription || this.stringifyFunctionData(tx.callData);
|
|
172
226
|
return tx;
|
|
173
227
|
}
|
|
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
|
+
}
|
|
174
288
|
}
|
|
175
289
|
// Annotate the CommonJS export names for ESM import in node:
|
|
176
290
|
0 && (module.exports = {
|
|
177
|
-
BaseContract
|
|
291
|
+
BaseContract,
|
|
292
|
+
ContractParseError
|
|
178
293
|
});
|
|
@@ -0,0 +1,135 @@
|
|
|
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 ChainContractsRegister_exports = {};
|
|
20
|
+
__export(ChainContractsRegister_exports, {
|
|
21
|
+
ChainContractsRegister: () => ChainContractsRegister
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(ChainContractsRegister_exports);
|
|
24
|
+
var import_addresses = require("../constants/addresses.js");
|
|
25
|
+
var import_AddressMap = require("../utils/AddressMap.js");
|
|
26
|
+
var import_TokensMeta = require("./TokensMeta.js");
|
|
27
|
+
class ChainContractsRegister {
|
|
28
|
+
static #chains = /* @__PURE__ */ new Map();
|
|
29
|
+
static for(client, logger) {
|
|
30
|
+
const chainId = client.chain.id;
|
|
31
|
+
let result = ChainContractsRegister.#chains.get(chainId);
|
|
32
|
+
if (!result) {
|
|
33
|
+
result = new ChainContractsRegister(client, logger);
|
|
34
|
+
ChainContractsRegister.#chains.set(chainId, result);
|
|
35
|
+
}
|
|
36
|
+
return result;
|
|
37
|
+
}
|
|
38
|
+
contracts = new import_AddressMap.AddressMap(
|
|
39
|
+
[],
|
|
40
|
+
"contracts"
|
|
41
|
+
);
|
|
42
|
+
labels = new import_AddressMap.AddressMap([], "labels");
|
|
43
|
+
client;
|
|
44
|
+
/**
|
|
45
|
+
* Token metadata such as symbol and decimals
|
|
46
|
+
*/
|
|
47
|
+
tokensMeta;
|
|
48
|
+
logger;
|
|
49
|
+
constructor(client, logger) {
|
|
50
|
+
this.client = client;
|
|
51
|
+
this.tokensMeta = new import_TokensMeta.TokensMeta(client);
|
|
52
|
+
this.logger = logger;
|
|
53
|
+
}
|
|
54
|
+
getContract(address) {
|
|
55
|
+
return this.contracts.get(address);
|
|
56
|
+
}
|
|
57
|
+
mustGetContract(address) {
|
|
58
|
+
const contract = this.contracts.mustGet(address);
|
|
59
|
+
if (!contract) {
|
|
60
|
+
throw new Error(`contract ${address} not found on chain ${this.chainId}`);
|
|
61
|
+
}
|
|
62
|
+
return contract;
|
|
63
|
+
}
|
|
64
|
+
setContract(address, contract) {
|
|
65
|
+
this.contracts.upsert(address, contract);
|
|
66
|
+
}
|
|
67
|
+
setAddressLabel(address, label) {
|
|
68
|
+
if (address === import_addresses.NOT_DEPLOYED) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
if (typeof label === "string") {
|
|
72
|
+
this.labels.upsert(address, label);
|
|
73
|
+
} else {
|
|
74
|
+
this.labels.upsert(address, label(this.labels.get(address)));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
labelAddress(address) {
|
|
78
|
+
const label = this.labels.get(address);
|
|
79
|
+
return label ? `${address} [${label}]` : address;
|
|
80
|
+
}
|
|
81
|
+
get chain() {
|
|
82
|
+
return this.client.chain;
|
|
83
|
+
}
|
|
84
|
+
get chainId() {
|
|
85
|
+
return this.client.chain.id;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Converts contract call into some human-friendly string
|
|
89
|
+
* This method is safe and should not throw
|
|
90
|
+
* @param address
|
|
91
|
+
* @param calldata
|
|
92
|
+
* @returns
|
|
93
|
+
*/
|
|
94
|
+
stringifyFunctionData(address, calldata) {
|
|
95
|
+
const contract = this.contracts.get(address);
|
|
96
|
+
return contract ? contract.stringifyFunctionData(calldata) : `unknown: ${address}.${calldata.slice(0, 10)}`;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Converts multicalls into some human-friendly strings
|
|
100
|
+
* This method is safe and should not throw
|
|
101
|
+
* @param address
|
|
102
|
+
* @param calldata
|
|
103
|
+
* @returns
|
|
104
|
+
*/
|
|
105
|
+
stringifyMultiCall(calls) {
|
|
106
|
+
return calls.map(
|
|
107
|
+
(call) => this.stringifyFunctionData(call.target, call.callData)
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Return args, function, type and address name from contract call
|
|
112
|
+
* @param address
|
|
113
|
+
* @param calldata
|
|
114
|
+
* @returns
|
|
115
|
+
*/
|
|
116
|
+
parseFunctionData(address, calldata) {
|
|
117
|
+
const contract = this.mustGetContract(address);
|
|
118
|
+
return contract.parseFunctionData(calldata);
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Converts multicalls into call info
|
|
122
|
+
* @param address
|
|
123
|
+
* @param calldata
|
|
124
|
+
* @returns
|
|
125
|
+
*/
|
|
126
|
+
parseMultiCall(calls) {
|
|
127
|
+
return calls.map(
|
|
128
|
+
(call) => this.parseFunctionData(call.target, call.callData)
|
|
129
|
+
);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
133
|
+
0 && (module.exports = {
|
|
134
|
+
ChainContractsRegister
|
|
135
|
+
});
|
|
@@ -0,0 +1,87 @@
|
|
|
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 Construct_exports = {};
|
|
20
|
+
__export(Construct_exports, {
|
|
21
|
+
Construct: () => Construct
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(Construct_exports);
|
|
24
|
+
var import_utils = require("../utils/index.js");
|
|
25
|
+
var import_ChainContractsRegister = require("./ChainContractsRegister.js");
|
|
26
|
+
class Construct {
|
|
27
|
+
logger;
|
|
28
|
+
client;
|
|
29
|
+
register;
|
|
30
|
+
/**
|
|
31
|
+
* Indicates that contract state needs to be updated
|
|
32
|
+
*/
|
|
33
|
+
#dirty = false;
|
|
34
|
+
constructor({ client, logger }) {
|
|
35
|
+
this.client = client;
|
|
36
|
+
this.register = import_ChainContractsRegister.ChainContractsRegister.for(client, logger);
|
|
37
|
+
this.logger = (0, import_utils.childLogger)(
|
|
38
|
+
this.constructor.name,
|
|
39
|
+
this.register.logger ?? logger
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
get chain() {
|
|
43
|
+
return this.client.chain;
|
|
44
|
+
}
|
|
45
|
+
get chainId() {
|
|
46
|
+
return this.client.chain.id;
|
|
47
|
+
}
|
|
48
|
+
get networkType() {
|
|
49
|
+
if ("network" in this.chain) {
|
|
50
|
+
return this.chain.network;
|
|
51
|
+
}
|
|
52
|
+
throw new Error(`chain ${this.chain.id} is not a Gearbox SDK chain`);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Indicates that contract state diverged from onchain state and needs to be updated
|
|
56
|
+
*/
|
|
57
|
+
get dirty() {
|
|
58
|
+
return this.#dirty;
|
|
59
|
+
}
|
|
60
|
+
set dirty(value) {
|
|
61
|
+
this.#dirty = value;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Syntax sugar for rgister.tokensMeta
|
|
65
|
+
*/
|
|
66
|
+
get tokensMeta() {
|
|
67
|
+
return this.register.tokensMeta;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Syntax suggar for getting contract labels
|
|
71
|
+
* @param address
|
|
72
|
+
* @returns
|
|
73
|
+
*/
|
|
74
|
+
labelAddress(address) {
|
|
75
|
+
return this.register.labelAddress(address);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Returns list of addresses that should be watched for events to sync state
|
|
79
|
+
*/
|
|
80
|
+
get watchAddresses() {
|
|
81
|
+
return /* @__PURE__ */ new Set();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
85
|
+
0 && (module.exports = {
|
|
86
|
+
Construct
|
|
87
|
+
});
|
|
@@ -21,39 +21,13 @@ __export(SDKConstruct_exports, {
|
|
|
21
21
|
SDKConstruct: () => SDKConstruct
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(SDKConstruct_exports);
|
|
24
|
-
|
|
24
|
+
var import_Construct = require("./Construct.js");
|
|
25
|
+
class SDKConstruct extends import_Construct.Construct {
|
|
25
26
|
sdk;
|
|
26
|
-
/**
|
|
27
|
-
* Indicates that contract state needs to be updated
|
|
28
|
-
*/
|
|
29
|
-
#dirty = false;
|
|
30
27
|
constructor(sdk) {
|
|
28
|
+
super(sdk);
|
|
31
29
|
this.sdk = sdk;
|
|
32
30
|
}
|
|
33
|
-
get networkType() {
|
|
34
|
-
return this.sdk.networkType;
|
|
35
|
-
}
|
|
36
|
-
get client() {
|
|
37
|
-
return this.sdk.client;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Indicates that contract state needs to be updated
|
|
41
|
-
*/
|
|
42
|
-
get dirty() {
|
|
43
|
-
return this.#dirty;
|
|
44
|
-
}
|
|
45
|
-
set dirty(value) {
|
|
46
|
-
this.#dirty = value;
|
|
47
|
-
}
|
|
48
|
-
labelAddress(address) {
|
|
49
|
-
return this.sdk.labelAddress(address);
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Returns list of addresses that should be watched for events to sync state
|
|
53
|
-
*/
|
|
54
|
-
get watchAddresses() {
|
|
55
|
-
return /* @__PURE__ */ new Set();
|
|
56
|
-
}
|
|
57
31
|
}
|
|
58
32
|
// Annotate the CommonJS export names for ESM import in node:
|
|
59
33
|
0 && (module.exports = {
|
|
@@ -25,11 +25,11 @@ var import_iVersion = require("../../abi/iVersion.js");
|
|
|
25
25
|
var import__ = require("../index.js");
|
|
26
26
|
var import_utils = require("../utils/index.js");
|
|
27
27
|
class TokensMeta extends import_utils.AddressMap {
|
|
28
|
-
#
|
|
28
|
+
#client;
|
|
29
29
|
#phantomTokensLoaded;
|
|
30
|
-
constructor(
|
|
30
|
+
constructor(client) {
|
|
31
31
|
super(void 0, "tokensMeta");
|
|
32
|
-
this.#
|
|
32
|
+
this.#client = client;
|
|
33
33
|
}
|
|
34
34
|
symbol(token) {
|
|
35
35
|
return this.mustGet(token).symbol;
|
|
@@ -84,7 +84,7 @@ class TokensMeta extends import_utils.AddressMap {
|
|
|
84
84
|
async loadPhantomTokens() {
|
|
85
85
|
this.#phantomTokensLoaded = new import_utils.AddressSet();
|
|
86
86
|
const tokens = this.keys();
|
|
87
|
-
const resp = await this.#
|
|
87
|
+
const resp = await this.#client.multicall({
|
|
88
88
|
contracts: tokens.map(
|
|
89
89
|
(t) => ({
|
|
90
90
|
address: t,
|
|
@@ -15,16 +15,18 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
|
|
|
15
15
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
16
|
var base_exports = {};
|
|
17
17
|
module.exports = __toCommonJS(base_exports);
|
|
18
|
-
__reExport(base_exports, require("./AddressLabeller.js"), module.exports);
|
|
19
18
|
__reExport(base_exports, require("./BaseContract.js"), module.exports);
|
|
19
|
+
__reExport(base_exports, require("./ChainContractsRegister.js"), module.exports);
|
|
20
|
+
__reExport(base_exports, require("./Construct.js"), module.exports);
|
|
20
21
|
__reExport(base_exports, require("./PlaceholderContract.js"), module.exports);
|
|
21
22
|
__reExport(base_exports, require("./SDKConstruct.js"), module.exports);
|
|
22
23
|
__reExport(base_exports, require("./TokensMeta.js"), module.exports);
|
|
23
24
|
__reExport(base_exports, require("./types.js"), module.exports);
|
|
24
25
|
// Annotate the CommonJS export names for ESM import in node:
|
|
25
26
|
0 && (module.exports = {
|
|
26
|
-
...require("./AddressLabeller.js"),
|
|
27
27
|
...require("./BaseContract.js"),
|
|
28
|
+
...require("./ChainContractsRegister.js"),
|
|
29
|
+
...require("./Construct.js"),
|
|
28
30
|
...require("./PlaceholderContract.js"),
|
|
29
31
|
...require("./SDKConstruct.js"),
|
|
30
32
|
...require("./TokensMeta.js"),
|
|
@@ -32,7 +32,7 @@ class BotListContract extends import_base.BaseContract {
|
|
|
32
32
|
super(sdk, { addr: address, name: "BotListV3", abi });
|
|
33
33
|
this.#currentBlock = sdk.chain.firstBlock ?? 0n;
|
|
34
34
|
}
|
|
35
|
-
|
|
35
|
+
stringifyFunctionParams(params) {
|
|
36
36
|
switch (params.functionName) {
|
|
37
37
|
case "setCreditManagerApprovedStatus": {
|
|
38
38
|
const [creditManager, status] = params.args;
|
|
@@ -47,7 +47,7 @@ class BotListContract extends import_base.BaseContract {
|
|
|
47
47
|
];
|
|
48
48
|
}
|
|
49
49
|
default:
|
|
50
|
-
return
|
|
50
|
+
return super.stringifyFunctionParams(params);
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
async syncState(toBlock) {
|