@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
|
@@ -56,25 +56,23 @@ const PythOptions = import_v4.z.object({
|
|
|
56
56
|
ignoreMissingFeeds: import_v4.z.boolean().optional()
|
|
57
57
|
});
|
|
58
58
|
class PythUpdater extends import_base.SDKConstruct {
|
|
59
|
-
#logger;
|
|
60
59
|
#cache;
|
|
61
60
|
#historicalTimestamp;
|
|
62
61
|
#api;
|
|
63
62
|
#ignoreMissingFeeds;
|
|
64
63
|
constructor(sdk, opts = {}) {
|
|
65
64
|
super(sdk);
|
|
66
|
-
this.#logger = (0, import_utils.childLogger)("PythUpdater", sdk.logger);
|
|
67
65
|
this.#ignoreMissingFeeds = opts.ignoreMissingFeeds;
|
|
68
66
|
this.#api = opts.apiProxy ?? "https://hermes.pyth.network/v2/updates/price/";
|
|
69
67
|
this.#api = this.#api.endsWith("/") ? this.#api : `${this.#api}/`;
|
|
70
68
|
const ts = opts.historicTimestamp;
|
|
71
69
|
if (ts) {
|
|
72
70
|
this.#historicalTimestamp = ts === true ? Number(this.sdk.timestamp) : ts;
|
|
73
|
-
this
|
|
71
|
+
this.logger?.debug(
|
|
74
72
|
`using historical timestamp ${this.#historicalTimestamp}`
|
|
75
73
|
);
|
|
76
74
|
}
|
|
77
|
-
this.#cache =
|
|
75
|
+
this.#cache = import_PriceUpdatesCache.PriceUpdatesCache.get("pyth", {
|
|
78
76
|
// currently staleness period is 240 seconds on all networks, add some buffer
|
|
79
77
|
// this period of 4 minutes is selected based on time that is required for user to sign transaction with wallet
|
|
80
78
|
// so it's unlikely to decrease
|
|
@@ -86,7 +84,7 @@ class PythUpdater extends import_base.SDKConstruct {
|
|
|
86
84
|
if (feeds.length === 0) {
|
|
87
85
|
return [];
|
|
88
86
|
}
|
|
89
|
-
this
|
|
87
|
+
this.logger?.debug(
|
|
90
88
|
`generating update transactions for ${feeds.length} pyth price feeds`
|
|
91
89
|
);
|
|
92
90
|
const pythFeeds = new Map(
|
|
@@ -121,7 +119,7 @@ class PythUpdater extends import_base.SDKConstruct {
|
|
|
121
119
|
tsRange = `${tsRange} - ${maxTimestamp} (${maxDelta})`;
|
|
122
120
|
}
|
|
123
121
|
}
|
|
124
|
-
this
|
|
122
|
+
this.logger?.debug(
|
|
125
123
|
`generated ${results.length} update transactions for pyth price feeds: ${Array.from(pythFeeds.keys()).join(", ")}${tsRange}`
|
|
126
124
|
);
|
|
127
125
|
return results;
|
|
@@ -132,7 +130,7 @@ class PythUpdater extends import_base.SDKConstruct {
|
|
|
132
130
|
* @returns
|
|
133
131
|
*/
|
|
134
132
|
async #getPayloads(dataFeedsIds) {
|
|
135
|
-
this
|
|
133
|
+
this.logger?.debug(
|
|
136
134
|
`getting pyth payloads for ${dataFeedsIds.size} price feeds: ${Array.from(dataFeedsIds).join(", ")}`
|
|
137
135
|
);
|
|
138
136
|
const fromCache = [];
|
|
@@ -151,7 +149,7 @@ class PythUpdater extends import_base.SDKConstruct {
|
|
|
151
149
|
for (const resp of fromPyth) {
|
|
152
150
|
this.#cache.set(resp, resp.dataFeedId);
|
|
153
151
|
}
|
|
154
|
-
this
|
|
152
|
+
this.logger?.debug(
|
|
155
153
|
`got ${fromPyth.length} new pyth updates and ${fromCache.length} from cache`
|
|
156
154
|
);
|
|
157
155
|
return [...fromCache, ...fromPyth];
|
|
@@ -167,7 +165,7 @@ class PythUpdater extends import_base.SDKConstruct {
|
|
|
167
165
|
}
|
|
168
166
|
const ids = Array.from(dataFeedsIds);
|
|
169
167
|
const tsStr = this.#historicalTimestamp ? ` with historical timestamp ${this.#historicalTimestamp}` : "";
|
|
170
|
-
this
|
|
168
|
+
this.logger?.debug(
|
|
171
169
|
`fetching pyth payloads for ${dataFeedsIds.size} price feeds: ${ids.join(", ")}${tsStr}`
|
|
172
170
|
);
|
|
173
171
|
const url = new URL(this.#api + (this.#historicalTimestamp ?? "latest"));
|
|
@@ -61,7 +61,6 @@ const RedstoneOptions = import_v4.z.object({
|
|
|
61
61
|
enableLogging: import_v4.z.boolean().optional()
|
|
62
62
|
});
|
|
63
63
|
class RedstoneUpdater extends import_base.SDKConstruct {
|
|
64
|
-
#logger;
|
|
65
64
|
#cache;
|
|
66
65
|
#historicalTimestampMs;
|
|
67
66
|
#gateways;
|
|
@@ -69,7 +68,6 @@ class RedstoneUpdater extends import_base.SDKConstruct {
|
|
|
69
68
|
#enableLogging;
|
|
70
69
|
constructor(sdk, opts = {}) {
|
|
71
70
|
super(sdk);
|
|
72
|
-
this.#logger = (0, import_utils.childLogger)("RedstoneUpdater", sdk.logger);
|
|
73
71
|
this.#ignoreMissingFeeds = opts.ignoreMissingFeeds;
|
|
74
72
|
this.#enableLogging = opts.enableLogging;
|
|
75
73
|
this.#gateways = opts.gateways?.length ? opts.gateways : void 0;
|
|
@@ -77,11 +75,11 @@ class RedstoneUpdater extends import_base.SDKConstruct {
|
|
|
77
75
|
if (ts) {
|
|
78
76
|
ts = ts === true ? Number(this.sdk.timestamp) * 1e3 : ts;
|
|
79
77
|
this.#historicalTimestampMs = 6e4 * Math.floor(ts / 6e4);
|
|
80
|
-
this
|
|
78
|
+
this.logger?.debug(
|
|
81
79
|
`using historical timestamp ${this.#historicalTimestampMs}`
|
|
82
80
|
);
|
|
83
81
|
}
|
|
84
|
-
this.#cache =
|
|
82
|
+
this.#cache = import_PriceUpdatesCache.PriceUpdatesCache.get("redstone", {
|
|
85
83
|
// currently staleness period is 240 seconds on all networks, add some buffer
|
|
86
84
|
// this period of 4 minutes is selected based on time that is required for user to sign transaction with wallet
|
|
87
85
|
// so it's unlikely to decrease
|
|
@@ -93,7 +91,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
|
|
|
93
91
|
if (feeds.length === 0) {
|
|
94
92
|
return [];
|
|
95
93
|
}
|
|
96
|
-
this
|
|
94
|
+
this.logger?.debug(
|
|
97
95
|
`generating update transactions for ${feeds.length} redstone price feeds`
|
|
98
96
|
);
|
|
99
97
|
const groupedFeeds = {};
|
|
@@ -150,7 +148,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
|
|
|
150
148
|
tsRange = `${tsRange} - ${maxTimestamp} (${maxDelta})`;
|
|
151
149
|
}
|
|
152
150
|
}
|
|
153
|
-
this
|
|
151
|
+
this.logger?.debug(
|
|
154
152
|
`generated ${results.length} update transactions for redstone price feeds: ${Array.from(priceFeeds.keys()).join(", ")}${tsRange}`
|
|
155
153
|
);
|
|
156
154
|
return results;
|
|
@@ -175,7 +173,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
|
|
|
175
173
|
for (const { timestamp, dataFeedId } of result) {
|
|
176
174
|
const delta = Number(this.sdk.timestamp) - timestamp;
|
|
177
175
|
if (delta >= 240 && delta < 255) {
|
|
178
|
-
this
|
|
176
|
+
this.logger?.warn(
|
|
179
177
|
`payload for ${dataFeedId} has expired by ${delta} seconds`
|
|
180
178
|
);
|
|
181
179
|
expired = true;
|
|
@@ -199,7 +197,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
|
|
|
199
197
|
* @returns
|
|
200
198
|
*/
|
|
201
199
|
async #getPayloads(dataServiceId, dataFeedsIds, uniqueSignersCount) {
|
|
202
|
-
this
|
|
200
|
+
this.logger?.debug(
|
|
203
201
|
`getting redstone payloads for ${dataFeedsIds.size} data feeds in ${dataServiceId} with ${uniqueSignersCount} signers: ${Array.from(dataFeedsIds).join(", ")}`
|
|
204
202
|
);
|
|
205
203
|
const fromCache = [];
|
|
@@ -224,7 +222,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
|
|
|
224
222
|
for (const resp of fromRedstone) {
|
|
225
223
|
this.#cache.set(resp, dataServiceId, resp.dataFeedId, uniqueSignersCount);
|
|
226
224
|
}
|
|
227
|
-
this
|
|
225
|
+
this.logger?.debug(
|
|
228
226
|
`got ${fromRedstone.length} new redstone updates and ${fromCache.length} from cache`
|
|
229
227
|
);
|
|
230
228
|
return [...fromCache, ...fromRedstone];
|
|
@@ -243,7 +241,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
|
|
|
243
241
|
}
|
|
244
242
|
const dataPackagesIds = Array.from(dataFeedsIds);
|
|
245
243
|
const tsStr = this.#historicalTimestampMs ? ` with historical timestamp ${this.#historicalTimestampMs}` : "";
|
|
246
|
-
this
|
|
244
|
+
this.logger?.debug(
|
|
247
245
|
`fetching redstone payloads for ${dataFeedsIds.size} data feeds in ${dataServiceId} with ${uniqueSignersCount} signers: ${dataPackagesIds.join(", ")}${tsStr}`
|
|
248
246
|
);
|
|
249
247
|
const wrapper = new import_evm_connector.DataServiceWrapper({
|
|
@@ -272,14 +270,14 @@ class RedstoneUpdater extends import_base.SDKConstruct {
|
|
|
272
270
|
const signedDataPackages = packagesByDataFeedId[dataFeedId];
|
|
273
271
|
if (!signedDataPackages) {
|
|
274
272
|
if (this.#ignoreMissingFeeds) {
|
|
275
|
-
this
|
|
273
|
+
this.logger?.warn(`cannot find data packages for ${dataFeedId}`);
|
|
276
274
|
continue;
|
|
277
275
|
}
|
|
278
276
|
throw new Error(`cannot find data packages for ${dataFeedId}`);
|
|
279
277
|
}
|
|
280
278
|
if (signedDataPackages.length !== uniqueSignersCount) {
|
|
281
279
|
if (this.#ignoreMissingFeeds) {
|
|
282
|
-
this
|
|
280
|
+
this.logger?.warn(
|
|
283
281
|
`got ${signedDataPackages.length} data packages for ${dataFeedId}, but expected ${uniqueSignersCount}`
|
|
284
282
|
);
|
|
285
283
|
continue;
|
|
@@ -30,6 +30,11 @@ class AbstractRouterContract extends import_base.BaseContract {
|
|
|
30
30
|
hooks = new import_internal.Hooks();
|
|
31
31
|
addHook = this.hooks.addHook.bind(this.hooks);
|
|
32
32
|
removeHook = this.hooks.removeHook.bind(this.hooks);
|
|
33
|
+
sdk;
|
|
34
|
+
constructor(sdk, args) {
|
|
35
|
+
super(sdk, args);
|
|
36
|
+
this.sdk = sdk;
|
|
37
|
+
}
|
|
33
38
|
getExpectedAndLeftover(ca, cm, options = {}) {
|
|
34
39
|
const b = options.balances ? options.balances : this.getDefaultExpectedAndLeftover(
|
|
35
40
|
ca,
|
|
@@ -299,15 +299,15 @@ class RouterV310Contract extends import_AbstractRouterContract.AbstractRouterCon
|
|
|
299
299
|
* @returns
|
|
300
300
|
*/
|
|
301
301
|
#convertToUSDForSort(oracle, token, amount) {
|
|
302
|
-
const scale = 10n ** BigInt(this.
|
|
302
|
+
const scale = 10n ** BigInt(this.tokensMeta.get(token)?.decimals ?? 0);
|
|
303
303
|
const price = oracle.mainPrices.get(token)?.price || oracle.reservePrices.get(token)?.price || scale;
|
|
304
304
|
return amount * price / scale;
|
|
305
305
|
}
|
|
306
306
|
#debugTokenData(tData) {
|
|
307
307
|
return tData.map((t) => ({
|
|
308
308
|
token: this.labelAddress(t.token),
|
|
309
|
-
balance: `${this.
|
|
310
|
-
leftoverBalance: this.
|
|
309
|
+
balance: `${this.tokensMeta.formatBN(t.token, t.balance)} (${t.balance})`,
|
|
310
|
+
leftoverBalance: this.tokensMeta.formatBN(t.token, t.leftoverBalance) + ` (${t.leftoverBalance})`,
|
|
311
311
|
numSplits: t.numSplits,
|
|
312
312
|
claimRewards: t.claimRewards
|
|
313
313
|
}));
|
|
@@ -25,6 +25,10 @@ var import_constants = require("../constants/index.js");
|
|
|
25
25
|
var import_RouterV300Contract = require("./RouterV300Contract.js");
|
|
26
26
|
var import_RouterV310Contract = require("./RouterV310Contract.js");
|
|
27
27
|
function createRouter(sdk, address, version) {
|
|
28
|
+
const contract = sdk.getContract(address);
|
|
29
|
+
if (contract) {
|
|
30
|
+
return contract;
|
|
31
|
+
}
|
|
28
32
|
if ((0, import_constants.isV300)(version)) {
|
|
29
33
|
return new import_RouterV300Contract.RouterV300Contract(sdk, address, version);
|
|
30
34
|
}
|
|
@@ -0,0 +1,58 @@
|
|
|
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 abi_decode_exports = {};
|
|
20
|
+
__export(abi_decode_exports, {
|
|
21
|
+
functionArgsToMap: () => functionArgsToMap
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(abi_decode_exports);
|
|
24
|
+
var import_viem = require("viem");
|
|
25
|
+
var import_utils = require("../../sdk/utils/index.js");
|
|
26
|
+
function functionArgsToMap(abi, functionName, args) {
|
|
27
|
+
const abiItem = (0, import_viem.getAbiItem)({
|
|
28
|
+
abi,
|
|
29
|
+
name: functionName,
|
|
30
|
+
args
|
|
31
|
+
});
|
|
32
|
+
if (!abiItem || abiItem.type !== "function") {
|
|
33
|
+
throw new import_viem.AbiFunctionNotFoundError(functionName);
|
|
34
|
+
}
|
|
35
|
+
const namedArgs = {};
|
|
36
|
+
if (Array.isArray(args)) {
|
|
37
|
+
args.forEach((value, i) => {
|
|
38
|
+
const input = abiItem.inputs?.[i];
|
|
39
|
+
if (input?.name) {
|
|
40
|
+
namedArgs[input.name] = input.type.startsWith("tuple") ? (0, import_utils.json_stringify)(value) : String(value);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
} else {
|
|
44
|
+
Object.entries(args || {}).forEach(([key, value]) => {
|
|
45
|
+
const index = parseInt(key, 10);
|
|
46
|
+
if (!Number.isNaN(index) && abiItem.inputs?.[index]?.name) {
|
|
47
|
+
namedArgs[abiItem.inputs[index].name] = String(value);
|
|
48
|
+
} else {
|
|
49
|
+
namedArgs[key] = String(value);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
return namedArgs;
|
|
54
|
+
}
|
|
55
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
56
|
+
0 && (module.exports = {
|
|
57
|
+
functionArgsToMap
|
|
58
|
+
});
|
|
@@ -17,6 +17,7 @@ var utils_exports = {};
|
|
|
17
17
|
module.exports = __toCommonJS(utils_exports);
|
|
18
18
|
__reExport(utils_exports, require("./AddressMap.js"), module.exports);
|
|
19
19
|
__reExport(utils_exports, require("./AddressSet.js"), module.exports);
|
|
20
|
+
__reExport(utils_exports, require("./abi-decode.js"), module.exports);
|
|
20
21
|
__reExport(utils_exports, require("./bytes32ToString.js"), module.exports);
|
|
21
22
|
__reExport(utils_exports, require("./childLogger.js"), module.exports);
|
|
22
23
|
__reExport(utils_exports, require("./createRawTx.js"), module.exports);
|
|
@@ -35,6 +36,7 @@ __reExport(utils_exports, require("./zod.js"), module.exports);
|
|
|
35
36
|
0 && (module.exports = {
|
|
36
37
|
...require("./AddressMap.js"),
|
|
37
38
|
...require("./AddressSet.js"),
|
|
39
|
+
...require("./abi-decode.js"),
|
|
38
40
|
...require("./bytes32ToString.js"),
|
|
39
41
|
...require("./childLogger.js"),
|
|
40
42
|
...require("./createRawTx.js"),
|
package/dist/esm/dev/create2.js
CHANGED
|
@@ -5,10 +5,10 @@ import {
|
|
|
5
5
|
stringToHex
|
|
6
6
|
} from "viem";
|
|
7
7
|
import { getCode, sendTransaction } from "viem/actions";
|
|
8
|
-
import {
|
|
8
|
+
import { Construct } from "../sdk/index.js";
|
|
9
9
|
const PUBLIC_CREATE2_FACTORY = "0x4e59b44847b379578588920ca78fbf26c0b4956c";
|
|
10
10
|
const DEFAULT_CREATE2_SALT = "GEARBOX";
|
|
11
|
-
class Create2Deployer extends
|
|
11
|
+
class Create2Deployer extends Construct {
|
|
12
12
|
#walletClient;
|
|
13
13
|
#logger;
|
|
14
14
|
constructor(sdk, walletClient) {
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
import { parseEther } from "viem";
|
|
2
2
|
import { ierc20Abi } from "../../abi/iERC20.js";
|
|
3
|
-
import {
|
|
4
|
-
SDKConstruct
|
|
5
|
-
} from "../../sdk/index.js";
|
|
3
|
+
import { SDKConstruct } from "../../sdk/index.js";
|
|
6
4
|
import { iOwnableAbi } from "../abi.js";
|
|
7
5
|
class AbstractMinter extends SDKConstruct {
|
|
8
6
|
anvil;
|
|
9
|
-
logger;
|
|
10
7
|
name;
|
|
11
|
-
constructor(sdk, anvil
|
|
8
|
+
constructor(sdk, anvil) {
|
|
12
9
|
super(sdk);
|
|
13
10
|
this.anvil = anvil;
|
|
14
|
-
this.name = name;
|
|
15
|
-
this.logger = sdk.logger?.child?.({ name }) ?? sdk.logger;
|
|
11
|
+
this.name = this.constructor.name;
|
|
16
12
|
}
|
|
17
13
|
async tryMint(token, dest, amount) {
|
|
18
14
|
const amnt = this.fmt(token, amount);
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import AbstractMinter from "./AbstractMinter.js";
|
|
2
2
|
class DealMinter extends AbstractMinter {
|
|
3
|
-
constructor(sdk, anvil) {
|
|
4
|
-
super(sdk, anvil, "DealMinter");
|
|
5
|
-
}
|
|
6
3
|
async mint(token, dest, amount) {
|
|
7
4
|
const { deal } = await import("viem-deal").catch(() => ({ deal: null }));
|
|
8
5
|
if (!deal) {
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { parseAbi } from "viem";
|
|
2
2
|
import AbstractMinter from "./AbstractMinter.js";
|
|
3
3
|
class DirectMinter extends AbstractMinter {
|
|
4
|
-
constructor(sdk, anvil) {
|
|
5
|
-
super(sdk, anvil, "DirectMinter");
|
|
6
|
-
}
|
|
7
4
|
async mint(token, dest, amount) {
|
|
8
5
|
const owner = await this.getOwner(token);
|
|
9
6
|
const stopImpersonating = await this.impersonateWithBalance(owner);
|
|
@@ -2,7 +2,7 @@ import AbstractMinter from "./AbstractMinter.js";
|
|
|
2
2
|
class FallbackMinter extends AbstractMinter {
|
|
3
3
|
#minters;
|
|
4
4
|
constructor(sdk, anvil, minters) {
|
|
5
|
-
super(sdk, anvil
|
|
5
|
+
super(sdk, anvil);
|
|
6
6
|
this.#minters = minters;
|
|
7
7
|
}
|
|
8
8
|
async mint(token, dest, amount) {
|
|
@@ -2,9 +2,6 @@ import { parseAbi } from "viem";
|
|
|
2
2
|
import { ierc20Abi } from "../../abi/iERC20.js";
|
|
3
3
|
import AbstractMinter from "./AbstractMinter.js";
|
|
4
4
|
class TransferMinter extends AbstractMinter {
|
|
5
|
-
constructor(sdk, anvil) {
|
|
6
|
-
super(sdk, anvil, "TransferMinter");
|
|
7
|
-
}
|
|
8
5
|
async mint(token, dest, amount) {
|
|
9
6
|
const owner = await this.getOwner(token);
|
|
10
7
|
const stopImpersonating = await this.impersonateWithBalance(owner);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
class AddressProviderContract extends
|
|
6
|
-
constructor(
|
|
7
|
-
super(
|
|
1
|
+
import {
|
|
2
|
+
stringToHex
|
|
3
|
+
} from "viem";
|
|
4
|
+
import { AddressProviderV310Contract } from "../../sdk/index.js";
|
|
5
|
+
class AddressProviderContract extends AddressProviderV310Contract {
|
|
6
|
+
constructor(addr, client) {
|
|
7
|
+
super({ client }, addr);
|
|
8
8
|
}
|
|
9
9
|
async getAddressOrRevert(key, version = 0n) {
|
|
10
10
|
return await this.contract.read.getAddressOrRevert([
|
|
@@ -6,13 +6,13 @@ import {
|
|
|
6
6
|
stringToHex
|
|
7
7
|
} from "viem";
|
|
8
8
|
import { iBytecodeRepositoryAbi } from "../../abi/310/iBytecodeRepository.js";
|
|
9
|
+
import { BaseContract } from "../../sdk/index.js";
|
|
9
10
|
import { normalizeSignature } from "../utils/index.js";
|
|
10
11
|
import { BYTECODE_REPOSITORY } from "../utils/literals.js";
|
|
11
|
-
import { BaseContract } from "./base-contract.js";
|
|
12
12
|
const abi = iBytecodeRepositoryAbi;
|
|
13
13
|
class BytecodeRepositoryContract extends BaseContract {
|
|
14
|
-
constructor(
|
|
15
|
-
super(
|
|
14
|
+
constructor(addr, client) {
|
|
15
|
+
super({ client }, { abi, addr, name: "BytecodeRepository" });
|
|
16
16
|
}
|
|
17
17
|
async getBytecodeByHash(hash) {
|
|
18
18
|
return await this.contract.read.getBytecode([hash]);
|
|
@@ -189,69 +189,67 @@ class BytecodeRepositoryContract extends BaseContract {
|
|
|
189
189
|
}
|
|
190
190
|
parseFunctionParams(params) {
|
|
191
191
|
switch (params.functionName) {
|
|
192
|
+
// TODO: simple array -> map can be removed, since this is what super.parseFunctionParams does
|
|
192
193
|
case "allowSystemContract": {
|
|
193
194
|
const [bytecodeHash] = params.args;
|
|
194
|
-
return
|
|
195
|
+
return {
|
|
195
196
|
bytecodeHash
|
|
196
|
-
}
|
|
197
|
+
};
|
|
197
198
|
}
|
|
198
199
|
case "addAuditor": {
|
|
199
200
|
const [auditor, name] = params.args;
|
|
200
|
-
return
|
|
201
|
-
auditor,
|
|
202
|
-
name
|
|
203
|
-
});
|
|
201
|
+
return { auditor, name };
|
|
204
202
|
}
|
|
205
203
|
case "removeAuditor": {
|
|
206
204
|
const [auditor] = params.args;
|
|
207
|
-
return
|
|
205
|
+
return {
|
|
208
206
|
auditor
|
|
209
|
-
}
|
|
207
|
+
};
|
|
210
208
|
}
|
|
211
209
|
case "addPublicDomain": {
|
|
212
210
|
const [domain] = params.args;
|
|
213
|
-
return
|
|
211
|
+
return {
|
|
214
212
|
domain: hexToString(domain, { size: 32 })
|
|
215
|
-
}
|
|
213
|
+
};
|
|
216
214
|
}
|
|
217
215
|
case "removePublicContractType": {
|
|
218
216
|
const [contractType] = params.args;
|
|
219
|
-
return
|
|
217
|
+
return {
|
|
220
218
|
contractType: hexToString(contractType, { size: 32 })
|
|
221
|
-
}
|
|
219
|
+
};
|
|
222
220
|
}
|
|
223
221
|
case "forbidInitCode": {
|
|
224
222
|
const [bytecodeHash] = params.args;
|
|
225
|
-
return
|
|
223
|
+
return {
|
|
226
224
|
bytecodeHash
|
|
227
|
-
}
|
|
225
|
+
};
|
|
228
226
|
}
|
|
229
227
|
case "setTokenSpecificPostfix": {
|
|
230
228
|
const [token, postfix] = params.args;
|
|
231
|
-
return
|
|
229
|
+
return {
|
|
232
230
|
token,
|
|
233
231
|
postfix: hexToString(postfix, { size: 32 })
|
|
234
|
-
}
|
|
232
|
+
};
|
|
235
233
|
}
|
|
236
234
|
case "uploadBytecode": {
|
|
237
235
|
const [uploadData] = params.args;
|
|
238
|
-
return
|
|
236
|
+
return {
|
|
239
237
|
contractType: hexToString(uploadData.contractType, { size: 32 }),
|
|
240
238
|
version: uploadData.version.toString(),
|
|
241
239
|
initCode: uploadData.initCode,
|
|
242
240
|
author: uploadData.author,
|
|
243
241
|
source: uploadData.source,
|
|
244
242
|
authorSignature: uploadData.authorSignature
|
|
245
|
-
}
|
|
243
|
+
};
|
|
246
244
|
}
|
|
247
245
|
case "submitAuditReport": {
|
|
248
246
|
const [bytecodeHash, { auditor, reportUrl, signature }] = params.args;
|
|
249
|
-
return
|
|
247
|
+
return {
|
|
250
248
|
bytecodeHash,
|
|
251
249
|
auditor,
|
|
252
250
|
reportUrl,
|
|
253
251
|
signature
|
|
254
|
-
}
|
|
252
|
+
};
|
|
255
253
|
}
|
|
256
254
|
// TODO: add all functions here!
|
|
257
255
|
// case "deployContract": {
|
|
@@ -272,7 +270,7 @@ class BytecodeRepositoryContract extends BaseContract {
|
|
|
272
270
|
// });
|
|
273
271
|
// }
|
|
274
272
|
default:
|
|
275
|
-
return
|
|
273
|
+
return super.parseFunctionParams(params);
|
|
276
274
|
}
|
|
277
275
|
}
|
|
278
276
|
async signBytecodeHash(bytecodeHash, auditor, reportUrl, signature, sponsor) {
|
|
@@ -3,11 +3,11 @@ import {
|
|
|
3
3
|
parseAbi
|
|
4
4
|
} from "viem";
|
|
5
5
|
import { tokenCompressorAbi } from "../../../abi/compressors/tokenCompressor.js";
|
|
6
|
-
import { BaseContract } from "
|
|
6
|
+
import { BaseContract } from "../../../sdk/index.js";
|
|
7
7
|
const abi = tokenCompressorAbi;
|
|
8
8
|
class TokenCompressorContract extends BaseContract {
|
|
9
|
-
constructor(
|
|
10
|
-
super(
|
|
9
|
+
constructor(addr, client) {
|
|
10
|
+
super({ client }, { abi, addr, name: "TokenCompressor" });
|
|
11
11
|
}
|
|
12
12
|
async getTokenInfo(token) {
|
|
13
13
|
const result = await this.contract.read.getTokenInfo([token]);
|
|
@@ -2,11 +2,11 @@ import {
|
|
|
2
2
|
hexToString
|
|
3
3
|
} from "viem";
|
|
4
4
|
import { withdrawalCompressorAbi } from "../../../abi/compressors/withdrawalCompressor.js";
|
|
5
|
-
import { BaseContract } from "
|
|
5
|
+
import { BaseContract } from "../../../sdk/index.js";
|
|
6
6
|
const abi = withdrawalCompressorAbi;
|
|
7
7
|
class WithdrawalCompressorContract extends BaseContract {
|
|
8
|
-
constructor(
|
|
9
|
-
super(
|
|
8
|
+
constructor(addr, client) {
|
|
9
|
+
super({ client }, { abi, addr, name: "WithdrawalCompressor" });
|
|
10
10
|
}
|
|
11
11
|
parseFunctionParams(params) {
|
|
12
12
|
const { functionName, args } = params;
|
|
@@ -14,22 +14,16 @@ class WithdrawalCompressorContract extends BaseContract {
|
|
|
14
14
|
case "setWithdrawableTypeToCompressorType": {
|
|
15
15
|
const [withdrawableType, compressorType] = args;
|
|
16
16
|
return {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
size: 32
|
|
24
|
-
}),
|
|
25
|
-
compressorType: hexToString(compressorType, {
|
|
26
|
-
size: 32
|
|
27
|
-
})
|
|
28
|
-
}
|
|
17
|
+
withdrawableType: hexToString(withdrawableType, {
|
|
18
|
+
size: 32
|
|
19
|
+
}),
|
|
20
|
+
compressorType: hexToString(compressorType, {
|
|
21
|
+
size: 32
|
|
22
|
+
})
|
|
29
23
|
};
|
|
30
24
|
}
|
|
31
25
|
default:
|
|
32
|
-
return
|
|
26
|
+
return super.parseFunctionParams(params);
|
|
33
27
|
}
|
|
34
28
|
}
|
|
35
29
|
}
|
|
@@ -5,17 +5,19 @@ import {
|
|
|
5
5
|
zeroAddress
|
|
6
6
|
} from "viem";
|
|
7
7
|
import { crossChainMultisigAbi } from "../../abi/310/crossChainMultisig.js";
|
|
8
|
-
import {
|
|
8
|
+
import {
|
|
9
|
+
BaseContract,
|
|
10
|
+
json_stringify
|
|
11
|
+
} from "../../sdk/index.js";
|
|
9
12
|
import { Addresses } from "../deployment/addresses.js";
|
|
10
13
|
import { normalizeSignature } from "../utils/index.js";
|
|
11
14
|
import { CROSS_CHAIN_MULTISIG } from "../utils/literals.js";
|
|
12
|
-
import { BaseContract } from "./base-contract.js";
|
|
13
15
|
import { InstanceManagerContract } from "./instance-manager.js";
|
|
14
16
|
import { MarketConfiguratorFactoryContract } from "./market-configurator-factory.js";
|
|
15
17
|
const abi = crossChainMultisigAbi;
|
|
16
18
|
class CrossChainMultisigContract extends BaseContract {
|
|
17
|
-
constructor(
|
|
18
|
-
super(
|
|
19
|
+
constructor(addr, client) {
|
|
20
|
+
super({ client }, { abi, addr, name: "CrossChainMultisig" });
|
|
19
21
|
}
|
|
20
22
|
async getExecutedBatches(fromBlock, toBlock) {
|
|
21
23
|
const events = await this.getEvents("ExecuteBatch", fromBlock, toBlock);
|
|
@@ -66,7 +68,9 @@ class CrossChainMultisigContract extends BaseContract {
|
|
|
66
68
|
transactionHash,
|
|
67
69
|
blockNumber,
|
|
68
70
|
hash: proposalHash,
|
|
69
|
-
parsedCalls: calls.map(
|
|
71
|
+
parsedCalls: calls.map(
|
|
72
|
+
(c) => this.register.parseFunctionData(c.target, c.callData)
|
|
73
|
+
),
|
|
70
74
|
signatures
|
|
71
75
|
};
|
|
72
76
|
}
|
|
@@ -158,7 +162,7 @@ class CrossChainMultisigContract extends BaseContract {
|
|
|
158
162
|
async getSigners() {
|
|
159
163
|
return [...await this.contract.read.getSigners()];
|
|
160
164
|
}
|
|
161
|
-
decodeFunctionData(target, calldata) {
|
|
165
|
+
#decodeFunctionData(target, calldata) {
|
|
162
166
|
switch (target.toLowerCase()) {
|
|
163
167
|
case this.address.toLowerCase(): {
|
|
164
168
|
return this.parseFunctionData(calldata);
|
|
@@ -188,38 +192,38 @@ class CrossChainMultisigContract extends BaseContract {
|
|
|
188
192
|
switch (params.functionName) {
|
|
189
193
|
case "addSigner": {
|
|
190
194
|
const [signer] = params.args;
|
|
191
|
-
return
|
|
195
|
+
return {
|
|
192
196
|
signer
|
|
193
|
-
}
|
|
197
|
+
};
|
|
194
198
|
}
|
|
195
199
|
case "removeSigner": {
|
|
196
200
|
const [signer] = params.args;
|
|
197
|
-
return
|
|
201
|
+
return {
|
|
198
202
|
signer
|
|
199
|
-
}
|
|
203
|
+
};
|
|
200
204
|
}
|
|
201
205
|
case "setConfirmationThreshold": {
|
|
202
206
|
const [threshold] = params.args;
|
|
203
|
-
return
|
|
207
|
+
return {
|
|
204
208
|
threshold: threshold.toString()
|
|
205
|
-
}
|
|
209
|
+
};
|
|
206
210
|
}
|
|
207
211
|
case "submitBatch": {
|
|
208
212
|
const [name, calls, prevHash] = params.args;
|
|
209
|
-
return
|
|
213
|
+
return {
|
|
210
214
|
name,
|
|
211
215
|
calls: json_stringify(
|
|
212
216
|
calls.map(({ chainId, target, callData }) => ({
|
|
213
|
-
...this
|
|
217
|
+
...this.#decodeFunctionData(target, callData),
|
|
214
218
|
chainId: Number(chainId),
|
|
215
219
|
target
|
|
216
220
|
}))
|
|
217
221
|
),
|
|
218
222
|
prevHash
|
|
219
|
-
}
|
|
223
|
+
};
|
|
220
224
|
}
|
|
221
225
|
default:
|
|
222
|
-
return
|
|
226
|
+
return super.parseFunctionParams(params);
|
|
223
227
|
}
|
|
224
228
|
}
|
|
225
229
|
async validateProposalSignature(proposalHash, signature) {
|