@gearbox-protocol/sdk 13.6.0 → 14.0.0-next.2
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/index.js +0 -2
- package/dist/cjs/history/errors.js +2 -0
- package/dist/cjs/permissionless/utils/price-update/get-price-feeds.js +11 -5
- package/dist/cjs/permissionless/utils/price-update/get-price-update-tx.js +11 -5
- package/dist/cjs/permissionless/utils/price-update/get-prices.js +12 -6
- package/dist/cjs/sdk/MultichainSDK.js +223 -0
- package/dist/cjs/sdk/{GearboxSDK.js → OnchainSDK.js} +118 -297
- package/dist/cjs/sdk/core/errors.js +77 -0
- package/dist/cjs/sdk/core/index.js +2 -0
- package/dist/cjs/sdk/index.js +4 -2
- package/dist/cjs/sdk/market/pricefeeds/PriceFeedsRegister.js +7 -0
- package/dist/cjs/sdk/market/pricefeeds/updates/PythUpdater.js +7 -4
- package/dist/cjs/sdk/market/pricefeeds/updates/RedstoneUpdater.js +4 -4
- package/dist/cjs/sdk/market/pricefeeds/updates/index.js +3 -0
- package/dist/cjs/sdk/options.js +24 -46
- package/dist/cjs/sdk/plugins/BasePlugin.js +11 -4
- package/dist/cjs/sdk/utils/viem/index.js +3 -1
- package/dist/cjs/sdk/utils/viem/watchBlocksAsync.js +76 -0
- package/dist/esm/dev/index.js +0 -1
- package/dist/esm/history/errors.js +2 -0
- package/dist/esm/permissionless/utils/price-update/get-price-feeds.js +12 -6
- package/dist/esm/permissionless/utils/price-update/get-price-update-tx.js +13 -7
- package/dist/esm/permissionless/utils/price-update/get-prices.js +13 -7
- package/dist/esm/sdk/MultichainSDK.js +208 -0
- package/dist/esm/sdk/OnchainSDK.js +464 -0
- package/dist/esm/sdk/core/errors.js +48 -0
- package/dist/esm/sdk/core/index.js +1 -0
- package/dist/esm/sdk/index.js +2 -1
- package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +7 -0
- package/dist/esm/sdk/market/pricefeeds/updates/PythUpdater.js +7 -4
- package/dist/esm/sdk/market/pricefeeds/updates/RedstoneUpdater.js +4 -4
- package/dist/esm/sdk/market/pricefeeds/updates/index.js +2 -0
- package/dist/esm/sdk/options.js +22 -45
- package/dist/esm/sdk/plugins/BasePlugin.js +11 -4
- package/dist/esm/sdk/utils/viem/index.js +1 -0
- package/dist/esm/sdk/utils/viem/watchBlocksAsync.js +52 -0
- package/dist/types/{dev → src/dev}/calcLiquidatableLTs.d.ts +2 -2
- package/dist/types/{dev → src/dev}/claimFromFaucet.d.ts +2 -2
- package/dist/types/{dev → src/dev}/create2.d.ts +2 -2
- package/dist/types/{dev → src/dev}/index.d.ts +0 -1
- package/dist/types/{dev → src/dev}/migrateFaucet.d.ts +2 -2
- package/dist/types/{dev → src/dev}/mint/AbstractMinter.d.ts +2 -2
- package/dist/types/{dev → src/dev}/mint/FallbackMinter.d.ts +2 -2
- package/dist/types/{dev → src/dev}/mint/factory.d.ts +2 -2
- package/dist/types/{permissionless → src/permissionless}/utils/price-update/get-updatable-feeds.d.ts +2 -2
- package/dist/types/{plugins → src/plugins}/accounts/AccountsPlugin.d.ts +2 -2
- package/dist/types/{plugins → src/plugins}/accounts-counter/AccountsCounterPlugin.d.ts +2 -2
- package/dist/types/{plugins → src/plugins}/adapters/AdaptersPlugin.d.ts +2 -2
- package/dist/types/{plugins → src/plugins}/apy/ApyPlugin.d.ts +2 -2
- package/dist/types/{plugins → src/plugins}/bots/BotsPlugin.d.ts +2 -2
- package/dist/types/{plugins → src/plugins}/bots/PartialLiquidationBotV310Contract.d.ts +2 -2
- package/dist/types/{plugins → src/plugins}/degen-distributors/DegenDistributorsPlugin.d.ts +2 -2
- package/dist/types/{plugins → src/plugins}/delayed-withdrawal/DelayedWithdrawalPlugin.d.ts +2 -2
- package/dist/types/src/sdk/MultichainSDK.d.ts +135 -0
- package/dist/types/src/sdk/OnchainSDK.d.ts +251 -0
- package/dist/types/{sdk → src/sdk}/accounts/AbstractCreditAccountsService.d.ts +2 -2
- package/dist/types/{sdk → src/sdk}/accounts/createCreditAccountService.d.ts +2 -2
- package/dist/types/{sdk → src/sdk}/accounts/types.d.ts +2 -2
- package/dist/types/{sdk → src/sdk}/base/SDKConstruct.d.ts +4 -4
- package/dist/types/{sdk → src/sdk}/core/createAddressProvider.d.ts +3 -3
- package/dist/types/src/sdk/core/errors.d.ts +51 -0
- package/dist/types/{sdk → src/sdk}/core/index.d.ts +1 -0
- package/dist/types/{sdk → src/sdk}/index.d.ts +2 -1
- package/dist/types/{sdk → src/sdk}/market/MarketRegister.d.ts +2 -2
- package/dist/types/{sdk → src/sdk}/market/MarketSuite.d.ts +2 -2
- package/dist/types/{sdk → src/sdk}/market/adapters/createAdapter.d.ts +2 -2
- package/dist/types/{sdk → src/sdk}/market/credit/CreditConfiguratorV310Contract.d.ts +3 -3
- package/dist/types/{sdk → src/sdk}/market/credit/CreditManagerV310Contract.d.ts +2 -2
- package/dist/types/{sdk → src/sdk}/market/credit/CreditSuite.d.ts +2 -2
- package/dist/types/{sdk → src/sdk}/market/credit/createCreditConfigurator.d.ts +2 -2
- package/dist/types/{sdk → src/sdk}/market/credit/createCreditFacade.d.ts +2 -2
- package/dist/types/{sdk → src/sdk}/market/credit/createCreditManager.d.ts +2 -2
- package/dist/types/{sdk → src/sdk}/market/loss-policy/AliasLossPolicyV310Contract.d.ts +3 -3
- package/dist/types/{sdk → src/sdk}/market/loss-policy/createLossPolicy.d.ts +2 -2
- package/dist/types/{sdk → src/sdk}/market/oracle/PriceOracleBaseContract.d.ts +3 -3
- package/dist/types/{sdk → src/sdk}/market/oracle/PriceOracleV310Contract.d.ts +2 -2
- package/dist/types/{sdk → src/sdk}/market/oracle/createPriceOracle.d.ts +2 -2
- package/dist/types/{sdk → src/sdk}/market/pool/PoolSuite.d.ts +2 -2
- package/dist/types/{sdk → src/sdk}/market/pool/createInterestRateModel.d.ts +2 -2
- package/dist/types/{sdk → src/sdk}/market/pool/createPool.d.ts +2 -2
- package/dist/types/{sdk → src/sdk}/market/pool/createPoolQuotaKeeper.d.ts +2 -2
- package/dist/types/{sdk → src/sdk}/market/pool/createRateKeeper.d.ts +2 -2
- package/dist/types/{sdk → src/sdk}/market/pricefeeds/PriceFeedsRegister.d.ts +7 -2
- package/dist/types/{sdk → src/sdk}/market/pricefeeds/updates/PythUpdater.d.ts +8 -3
- package/dist/types/{sdk → src/sdk}/market/pricefeeds/updates/RedstoneUpdater.d.ts +8 -3
- package/dist/types/{sdk → src/sdk}/market/pricefeeds/updates/index.d.ts +1 -0
- package/dist/types/{sdk → src/sdk}/market/pricefeeds/updates/types.d.ts +4 -0
- package/dist/types/{sdk → src/sdk}/options.d.ts +15 -15
- package/dist/types/{sdk → src/sdk}/plugins/BasePlugin.d.ts +12 -6
- package/dist/types/src/sdk/plugins/errors.d.ts +4 -0
- package/dist/types/{sdk → src/sdk}/plugins/types.d.ts +16 -6
- package/dist/types/{sdk → src/sdk}/router/AbstractRouterContract.d.ts +3 -3
- package/dist/types/{sdk → src/sdk}/router/RouterV310Contract.d.ts +2 -2
- package/dist/types/{sdk → src/sdk}/router/createRouter.d.ts +2 -2
- package/dist/types/{sdk → src/sdk}/types/state-human.d.ts +10 -0
- package/dist/types/{sdk → src/sdk}/types/state.d.ts +14 -3
- package/dist/types/{sdk → src/sdk}/utils/filterDust.d.ts +2 -2
- package/dist/types/{sdk → src/sdk}/utils/isDust.d.ts +2 -2
- package/dist/types/{sdk → src/sdk}/utils/viem/index.d.ts +1 -0
- package/dist/types/src/sdk/utils/viem/watchBlocksAsync.d.ts +74 -0
- package/package.json +8 -7
- package/dist/cjs/dev/CachedStateSubscriber.js +0 -78
- package/dist/esm/dev/CachedStateSubscriber.js +0 -54
- package/dist/esm/sdk/GearboxSDK.js +0 -639
- package/dist/types/dev/CachedStateSubscriber.d.ts +0 -21
- package/dist/types/sdk/GearboxSDK.d.ts +0 -317
- package/dist/types/sdk/plugins/errors.d.ts +0 -4
- /package/dist/types/{abi → src/abi}/310/configure/creditSuiteParams.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/310/configure/iCreditConfigureActions.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/310/configure/iPoolConfigureActions.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/310/configure/iPriceOracleConfigureActions.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/310/crossChainMultisig.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/310/generated.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/310/iBytecodeRepository.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/310/iLinearInterestRateModelV310.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/310/iMarketConfiguratorFactory.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/310/iPriceFeedStore.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/310/iTreasurySplitter.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/310/instanceManager.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/AccountMigrator.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/IWithdrawalCompressorV310.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/compressors/creditAccountCompressor.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/compressors/creditSuiteCompressor.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/compressors/defillamaCompressor.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/compressors/gaugeCompressor.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/compressors/marketCompressor.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/compressors/peripheryCompressor.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/compressors/priceFeedCompressor.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/compressors/rewardsCompressor.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/compressors/subcompressors/infinifiWithdrawalSubcompressor.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/compressors/subcompressors/kelpLRTWithdrawalSubcompressor.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/compressors/subcompressors/mellowFlexibleDepositSubcompressor.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/compressors/subcompressors/mellowFlexibleRedeemSubcompressor.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/compressors/subcompressors/mellowWithdrawalSubcompressor.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/compressors/subcompressors/midasWithdrawalSubcompressor.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/compressors/subcompressors/upshiftWithdrawalSubcompressor.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/compressors/tokenCompressor.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/compressors/withdrawalCompressor.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/errors.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/governance/batchesChain.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/governance/governor.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/governance/iTimeLock.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/iAirdropDistributor.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/iBaseRewardPool.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/iCurvePool.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/iERC20.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/iERC20Permit.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/iERC20ZapperDeposits.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/iETHZapperDeposits.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/iFarmingPool.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/iInterestRateModel.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/iMulticall3.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/iOffchainOracle.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/iPausable.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/iPriceFeed.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/iStateSerializer.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/iUpdatablePriceFeed.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/iVersion.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/iZapper.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/mellow.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/migration.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/balancerV2Worker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/balancerV3Worker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/balancerV3WrapperWorker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/camelotV3Worker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/convexWorker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/curveWorker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/daiUsdsWorker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/equalizerRouterWorker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/erc4626Worker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/fluidDexWorker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/gearboxRouter.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/infinifiWorker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/infraredVaultWorker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/kelpLRTDepositPoolWorker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/kodiakWorker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/lidoWorker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/mellow4626Worker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/mellowDVVWorker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/mellowVaultWorker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/midasWorker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/pendleRouterWorker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/routingManager.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/stakingRewardsWorker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/traderJoeWorker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/uniswapV2Worker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/uniswapV3Worker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/uniswapV4Worker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/upshiftWorker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/velodromeV2Worker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/wstETHWorker.d.ts +0 -0
- /package/dist/types/{abi → src/abi}/router/yearnV2Worker.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/charts/credit-manager-payload.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/charts/credit-manager.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/charts/credit-session.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/charts/credit-sessions-payload.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/charts/graph-payload.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/charts/index.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/charts/pool-payload.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/charts/pool.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/charts/token-data.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/index.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/static/index.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/static/migration-config.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/static/pool-config.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/static/strategy.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/static/trading-pair.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/utils/assets-math.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/utils/bigint-math.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/utils/creditAccount/calc-health-factor.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/utils/creditAccount/calc-overall-apy.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/utils/creditAccount/calc-quota-borrow-rate.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/utils/creditAccount/calc-relative-base-borrow-rate.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/utils/creditAccount/debt.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/utils/creditAccount/get-time-to-liquidation.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/utils/creditAccount/index.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/utils/creditAccount/liquidation-price.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/utils/creditAccount/quota-utils.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/utils/creditAccount/sort.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/utils/creditAccount/types.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/utils/index.d.ts +0 -0
- /package/dist/types/{common-utils → src/common-utils}/utils/price-math.d.ts +0 -0
- /package/dist/types/{dev → src/dev}/AccountOpener.d.ts +0 -0
- /package/dist/types/{dev → src/dev}/EthCallSpy.d.ts +0 -0
- /package/dist/types/{dev → src/dev}/RevolverTransport.d.ts +0 -0
- /package/dist/types/{dev → src/dev}/abi.d.ts +0 -0
- /package/dist/types/{dev → src/dev}/createAnvilClient.d.ts +0 -0
- /package/dist/types/{dev → src/dev}/detectChain.d.ts +0 -0
- /package/dist/types/{dev → src/dev}/isOutOfSyncError.d.ts +0 -0
- /package/dist/types/{dev → src/dev}/isRateLimitError.d.ts +0 -0
- /package/dist/types/{dev → src/dev}/isTransientError.d.ts +0 -0
- /package/dist/types/{dev → src/dev}/logSplitterTransport.d.ts +0 -0
- /package/dist/types/{dev → src/dev}/ltUtils.d.ts +0 -0
- /package/dist/types/{dev → src/dev}/mint/DealMinter.d.ts +0 -0
- /package/dist/types/{dev → src/dev}/mint/DirectMinter.d.ts +0 -0
- /package/dist/types/{dev → src/dev}/mint/TransferMinter.d.ts +0 -0
- /package/dist/types/{dev → src/dev}/mint/index.d.ts +0 -0
- /package/dist/types/{dev → src/dev}/mint/types.d.ts +0 -0
- /package/dist/types/{dev → src/dev}/providers.d.ts +0 -0
- /package/dist/types/{dev → src/dev}/replaceStorage.d.ts +0 -0
- /package/dist/types/{dev → src/dev}/resilientTransport.d.ts +0 -0
- /package/dist/types/{dev → src/dev}/transports.d.ts +0 -0
- /package/dist/types/{dev → src/dev}/types.d.ts +0 -0
- /package/dist/types/{history → src/history}/assembleOperations.d.ts +0 -0
- /package/dist/types/{history → src/history}/classifyMulticallOperations.d.ts +0 -0
- /package/dist/types/{history → src/history}/errors.d.ts +0 -0
- /package/dist/types/{history → src/history}/extractProtocolCalls.d.ts +0 -0
- /package/dist/types/{history → src/history}/extractTransfers.d.ts +0 -0
- /package/dist/types/{history → src/history}/findFacadeCalls.d.ts +0 -0
- /package/dist/types/{history → src/history}/index.d.ts +0 -0
- /package/dist/types/{history → src/history}/inner-operations.d.ts +0 -0
- /package/dist/types/{history → src/history}/internal-types.d.ts +0 -0
- /package/dist/types/{history → src/history}/mapOperations.d.ts +0 -0
- /package/dist/types/{history → src/history}/parseCreditAccountTransaction.d.ts +0 -0
- /package/dist/types/{history → src/history}/populateContractsRegister.d.ts +0 -0
- /package/dist/types/{history → src/history}/toLegacyOperation.d.ts +0 -0
- /package/dist/types/{history → src/history}/trace-utils.d.ts +0 -0
- /package/dist/types/{history → src/history}/types.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/address-provider.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/bytecode-repository.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/compressors/index.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/compressors/token-compressor.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/compressors/withdrawal-compressor.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/cross-chain-multisig.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/factory/abstract-factory.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/factory/credit-factory.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/factory/loss-policy-factory.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/factory/pool-factory.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/factory/price-oracle-factory.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/governance/batches-chain.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/governance/governor.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/governance/index.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/governance/timelock.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/governance/types.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/index.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/instance-manager.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/market-configurator-factory.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/market-configurator.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/price-feed-store.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/pricefeeds/balancer-stable.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/pricefeeds/balancer-weighted.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/pricefeeds/bounded.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/pricefeeds/composite.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/pricefeeds/constant.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/pricefeeds/curve-crypto.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/pricefeeds/curve-stable.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/pricefeeds/curve-twap.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/pricefeeds/curve-usd.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/pricefeeds/erc4626.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/pricefeeds/external.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/pricefeeds/index.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/pricefeeds/kodiak.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/pricefeeds/mellow-lrt.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/pricefeeds/pendle-pt-twap.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/pricefeeds/pyth.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/pricefeeds/redstone.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/pricefeeds/wsteth.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/pricefeeds/zero.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/router/index.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/router/routing-manager.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/treasury-splitter.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/bindings/types.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/chains/archive-transport.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/chains/chunked-log-transport.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/core/auditor.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/core/bytecode.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/core/index.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/core/pricefeed-builder.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/core/pricefeed.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/core/proposal.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/core/raw-tx.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/deployment/addresses.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/deployment/mainnet.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/index.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/plugins/index.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/plugins/irm/constructor-params-abi.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/plugins/loss-policies/constructor-params-abi.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/plugins/rate-keepers/constructor-params-abi.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/utils/abi-encoder.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/utils/block-utils.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/utils/create2.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/utils/format.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/utils/governance/batch.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/utils/governance/index.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/utils/governance/timelock-txs.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/utils/governance/types.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/utils/index.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/utils/literals.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/utils/price-update/get-price-feeds.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/utils/price-update/get-price-update-tx.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/utils/price-update/get-prices.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/utils/price-update/index.d.ts +0 -0
- /package/dist/types/{permissionless → src/permissionless}/utils/signature.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/accounts/index.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/accounts-counter/index.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/abi/actionAbi.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/abi/conctructorAbi.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/abi/conctructorAbiPatterns.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/abi/index.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/abi/targetContractAbi.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/abi/utils.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/AbstractAdapter.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/AccountMigratorAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/CamelotV3AdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/Curve2AssetsAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/Curve3AssetsAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/Curve4AssetsAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/CurveV1AdapterDeposit.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/CurveV1AdapterStETHContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/DaiUsdsAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/ERC4626AdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/FluidDexAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/LidoV1AdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/MellowClaimerAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/MellowDVVAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/MellowWrapperAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/PendleRouterAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/StakingRewardsAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/UniswapV2AdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/UniswapV3AdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/UniswapV4AdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/UpshiftVaultAdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/VelodromeV2AdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/WstETHV1AdapterContract.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/contracts/index.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/createAdapter.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/index.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/legacyAdapterOperations.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/transferHelpers.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/adapters/types.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/apy/apy-cache.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/apy/apy-parser.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/apy/constants.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/apy/index.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/apy/pool-apy-types.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/apy/pool-apy-utils.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/apy/types.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/bots/abi/iPartialLiquidationBotV310.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/bots/abi/index.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/bots/config.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/bots/deserializePartialLiquidationBotParams.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/bots/index.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/bots/types.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/degen-distributors/index.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/degen-distributors/types.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/delayed-withdrawal/index.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/delayed-withdrawal/types.d.ts +0 -0
- /package/dist/types/{rewards → src/rewards}/apy/index.d.ts +0 -0
- /package/dist/types/{rewards → src/rewards}/apy/output-details.d.ts +0 -0
- /package/dist/types/{rewards → src/rewards}/apy/output.d.ts +0 -0
- /package/dist/types/{rewards → src/rewards}/index.d.ts +0 -0
- /package/dist/types/{rewards → src/rewards}/rewards/api.d.ts +0 -0
- /package/dist/types/{rewards → src/rewards}/rewards/common.d.ts +0 -0
- /package/dist/types/{rewards → src/rewards}/rewards/extra-apy.d.ts +0 -0
- /package/dist/types/{rewards → src/rewards}/rewards/index.d.ts +0 -0
- /package/dist/types/{rewards → src/rewards}/rewards/merkl-api.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/abi/index.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/abi/oracles.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/accounts/CreditAccountsServiceV310.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/accounts/index.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/accounts/multicall-utils.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/accounts/utils.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/base/BaseContract.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/base/ChainContractsRegister.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/base/Construct.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/base/PlaceholderContract.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/base/TokensMeta.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/base/errors.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/base/index.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/base/token-types.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/base/types.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/chain/chains.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/chain/detectNetwork.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/chain/index.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/constants/address-provider.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/constants/addresses.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/constants/bot-permissions.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/constants/index.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/constants/math.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/constants/networks.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/constants/periphery.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/constants/versions.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/core/AbstractAddressProviderContract.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/core/AddressProviderV310Contract.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/core/types.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/MarketConfiguratorContract.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/ZapperRegister.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/adapters/PlaceholderAdapterContracts.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/adapters/index.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/adapters/types.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/credit/CreditFacadeV310BaseContract.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/credit/CreditFacadeV310Contract.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/credit/index.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/credit/types.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/index.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/loss-policy/LossPolicyContract.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/loss-policy/constants.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/loss-policy/index.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/loss-policy/types.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/oracle/PriceFeedAnswerMap.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/oracle/index.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/oracle/types.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pool/GaugeContract.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pool/LinearInterestRateModelContract.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pool/PoolQuotaKeeperV310Contract.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pool/PoolV310Contract.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pool/TumblerContract.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pool/index.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pool/types.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/AbstractLPPriceFeed.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/AbstractPriceFeed.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/BalancerStablePriceFeed.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/BalancerWeightedPriceFeed.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/BoundedPriceFeed.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/CompositePriceFeed.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/ConstantPriceFeed.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/CurveCryptoPriceFeed.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/CurveStablePriceFeed.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/CurveUSDPriceFeed.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/Erc4626PriceFeed.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/ExternalPriceFeed.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/MellowLRTPriceFeed.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/PendleTWAPPTPriceFeed.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/PriceFeedRef.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/PythPriceFeed.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/RedstonePriceFeed.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/WstETHPriceFeed.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/YearnPriceFeed.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/ZeroPriceFeed.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/getRawPriceUpdates.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/index.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/isUpdatablePriceFeed.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/types.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/updates/PriceUpdateTx.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/updates/PriceUpdatesCache.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/updates/PythAccumulatorUpdateData.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/updates/fetchPythPayloads.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/pricefeeds/updates/fetchRedstonePayloads.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/market/types.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/plugins/index.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/pools/PoolService.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/pools/index.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/pools/types.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/router/helpers.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/router/index.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/router/types.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/types/index.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/types/logger.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/types/transactions.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/utils/AddressMap.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/utils/AddressSet.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/utils/abi-decode.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/utils/bytes32ToString.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/utils/childLogger.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/utils/createRawTx.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/utils/etherscan.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/utils/formatter.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/utils/hex.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/utils/index.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/utils/internal/Hooks.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/utils/internal/index.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/utils/json.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/utils/mappers.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/utils/retry.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/utils/toAddress.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/utils/type-utils.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/utils/viem/cast.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/utils/viem/getLogsPaginated.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/utils/viem/getLogsSafe.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/utils/viem/sendRawTx.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/utils/viem/simulateMulticall.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/utils/viem/simulateWithPriceUpdates.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/utils/zod.d.ts +0 -0
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { json_parse } from "../sdk/index.js";
|
|
2
|
-
class CachedStateSubscriber {
|
|
3
|
-
#stateURL;
|
|
4
|
-
#etag;
|
|
5
|
-
#currentBlock;
|
|
6
|
-
#sdk;
|
|
7
|
-
constructor(sdk, stateURL) {
|
|
8
|
-
this.#stateURL = stateURL;
|
|
9
|
-
this.#sdk = sdk;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Subscribe to sdk state changes
|
|
13
|
-
* @param opts - Options
|
|
14
|
-
* @returns Unsubscribe function
|
|
15
|
-
*/
|
|
16
|
-
subscribe(opts) {
|
|
17
|
-
const intervalMs = opts?.pollInterval ?? 10 * 60 * 1e3;
|
|
18
|
-
const interval = setInterval(async () => {
|
|
19
|
-
const newBlock = await this.#poll();
|
|
20
|
-
if (newBlock && opts?.onChange) {
|
|
21
|
-
opts.onChange(newBlock);
|
|
22
|
-
}
|
|
23
|
-
}, intervalMs);
|
|
24
|
-
return () => clearInterval(interval);
|
|
25
|
-
}
|
|
26
|
-
async #poll() {
|
|
27
|
-
try {
|
|
28
|
-
const head = await fetch(this.#stateURL, { method: "HEAD" });
|
|
29
|
-
const etag = head.headers.get("ETag");
|
|
30
|
-
if (!etag || etag === this.#etag) {
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
const response = await fetch(this.#stateURL);
|
|
34
|
-
const txt = await response.text();
|
|
35
|
-
const state = json_parse(txt);
|
|
36
|
-
if (state.currentBlock === this.#currentBlock) {
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
this.#etag = etag;
|
|
40
|
-
this.#currentBlock = state.currentBlock;
|
|
41
|
-
this.#logger?.debug(`rehydrating state at block ${state.currentBlock}`);
|
|
42
|
-
this.#sdk.rehydrate(state);
|
|
43
|
-
return state.currentBlock;
|
|
44
|
-
} catch (e) {
|
|
45
|
-
this.#logger?.error(e, "error while polling cached state");
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
get #logger() {
|
|
49
|
-
return this.#sdk.logger;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
export {
|
|
53
|
-
CachedStateSubscriber
|
|
54
|
-
};
|
|
@@ -1,639 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
createPublicClient,
|
|
3
|
-
defineChain,
|
|
4
|
-
fallback,
|
|
5
|
-
http,
|
|
6
|
-
parseEventLogs
|
|
7
|
-
} from "viem";
|
|
8
|
-
import { ChainContractsRegister } from "./base/index.js";
|
|
9
|
-
import { detectNetwork, getChain } from "./chain/index.js";
|
|
10
|
-
import {
|
|
11
|
-
ADDRESS_PROVIDER_V310,
|
|
12
|
-
AP_GEAR_TOKEN,
|
|
13
|
-
AP_ROUTER,
|
|
14
|
-
isV310,
|
|
15
|
-
NO_VERSION,
|
|
16
|
-
VERSION_RANGE_310
|
|
17
|
-
} from "./constants/index.js";
|
|
18
|
-
import { createAddressProvider, hydrateAddressProvider } from "./core/index.js";
|
|
19
|
-
import { MarketRegister } from "./market/MarketRegister.js";
|
|
20
|
-
import { PriceFeedRegister } from "./market/pricefeeds/index.js";
|
|
21
|
-
import {
|
|
22
|
-
PluginStateVersionError
|
|
23
|
-
} from "./plugins/index.js";
|
|
24
|
-
import { createRouter } from "./router/index.js";
|
|
25
|
-
import { formatTimestamp, TypedObjectUtils, toAddress } from "./utils/index.js";
|
|
26
|
-
import { Hooks } from "./utils/internal/index.js";
|
|
27
|
-
import { getLogsSafe } from "./utils/viem/index.js";
|
|
28
|
-
const ERR_NOT_ATTACHED = new Error("Gearbox SDK not attached");
|
|
29
|
-
const STATE_VERSION = 1;
|
|
30
|
-
function createClient(opts, network) {
|
|
31
|
-
let transport;
|
|
32
|
-
if ("client" in opts) {
|
|
33
|
-
return opts.client;
|
|
34
|
-
}
|
|
35
|
-
if ("transport" in opts) {
|
|
36
|
-
transport = opts.transport;
|
|
37
|
-
} else {
|
|
38
|
-
const rpcs = opts.rpcURLs.map(
|
|
39
|
-
(url) => http(url, {
|
|
40
|
-
...opts.httpTransportOptions,
|
|
41
|
-
timeout: opts.timeout,
|
|
42
|
-
retryCount: opts.retryCount
|
|
43
|
-
})
|
|
44
|
-
);
|
|
45
|
-
transport = rpcs.length > 1 ? fallback(rpcs) : rpcs[0];
|
|
46
|
-
}
|
|
47
|
-
const chain = network ? defineChain({
|
|
48
|
-
...getChain(network.networkType),
|
|
49
|
-
id: network.chainId
|
|
50
|
-
}) : void 0;
|
|
51
|
-
return createPublicClient({ transport, chain });
|
|
52
|
-
}
|
|
53
|
-
async function attachClient(options, network) {
|
|
54
|
-
let { chainId, networkType } = network;
|
|
55
|
-
const attachClient2 = createClient(options);
|
|
56
|
-
if (networkType) {
|
|
57
|
-
if (!chainId) {
|
|
58
|
-
chainId = getChain(networkType).id;
|
|
59
|
-
}
|
|
60
|
-
} else {
|
|
61
|
-
networkType = await detectNetwork(attachClient2);
|
|
62
|
-
if (!chainId) {
|
|
63
|
-
chainId = await attachClient2.getChainId();
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
return createClient(options, { networkType, chainId });
|
|
67
|
-
}
|
|
68
|
-
class GearboxSDK extends ChainContractsRegister {
|
|
69
|
-
#hooks = new Hooks();
|
|
70
|
-
/**
|
|
71
|
-
* Registered plugin instances, keyed by plugin name.
|
|
72
|
-
**/
|
|
73
|
-
plugins;
|
|
74
|
-
#currentBlock;
|
|
75
|
-
#timestamp;
|
|
76
|
-
#syncing = false;
|
|
77
|
-
#addressProvider;
|
|
78
|
-
#attachConfig;
|
|
79
|
-
#marketRegister;
|
|
80
|
-
#priceFeeds;
|
|
81
|
-
/**
|
|
82
|
-
* Gas limit applied to read-only `eth_call` requests.
|
|
83
|
-
* `undefined` means that gas limit will not be set on read-only calls,
|
|
84
|
-
* leaving it to rpc provider to decide.
|
|
85
|
-
**/
|
|
86
|
-
gasLimit;
|
|
87
|
-
/**
|
|
88
|
-
* When `true`, the SDK throws on unrecognised contract types instead of
|
|
89
|
-
* falling back to a generic contract wrapper.
|
|
90
|
-
**/
|
|
91
|
-
strictContractTypes;
|
|
92
|
-
/**
|
|
93
|
-
* Registers a callback for an SDK lifecycle event.
|
|
94
|
-
*
|
|
95
|
-
* @see {@link SDKHooks} for available event names.
|
|
96
|
-
**/
|
|
97
|
-
addHook = this.#hooks.addHook.bind(this.#hooks);
|
|
98
|
-
/**
|
|
99
|
-
* Removes a previously registered lifecycle callback.
|
|
100
|
-
*
|
|
101
|
-
* @see {@link SDKHooks} for available event names.
|
|
102
|
-
**/
|
|
103
|
-
removeHook = this.#hooks.removeHook.bind(this.#hooks);
|
|
104
|
-
/**
|
|
105
|
-
* Creates and initialises a new SDK instance by reading live on-chain state.
|
|
106
|
-
*
|
|
107
|
-
* This is the primary way to bootstrap the SDK. The method connects to the
|
|
108
|
-
* chain, discovers the address provider and all configured markets, and
|
|
109
|
-
* attaches any supplied plugins.
|
|
110
|
-
*
|
|
111
|
-
* @param options - Combined SDK, client, and (optional) network options.
|
|
112
|
-
* @returns A fully initialised SDK instance.
|
|
113
|
-
**/
|
|
114
|
-
static async attach(options) {
|
|
115
|
-
const {
|
|
116
|
-
logger,
|
|
117
|
-
plugins,
|
|
118
|
-
blockNumber,
|
|
119
|
-
redstone,
|
|
120
|
-
pyth,
|
|
121
|
-
ignoreUpdateablePrices,
|
|
122
|
-
ignoreMarkets,
|
|
123
|
-
marketConfigurators: mcs,
|
|
124
|
-
strictContractTypes,
|
|
125
|
-
gasLimit
|
|
126
|
-
} = options;
|
|
127
|
-
let { addressProvider } = options;
|
|
128
|
-
const client = await attachClient(options, options);
|
|
129
|
-
if (!addressProvider) {
|
|
130
|
-
addressProvider = ADDRESS_PROVIDER_V310;
|
|
131
|
-
}
|
|
132
|
-
const marketConfigurators = mcs ?? TypedObjectUtils.keys(client.chain.defaultMarketConfigurators);
|
|
133
|
-
return new GearboxSDK({
|
|
134
|
-
client,
|
|
135
|
-
logger,
|
|
136
|
-
plugins,
|
|
137
|
-
strictContractTypes,
|
|
138
|
-
gasLimit
|
|
139
|
-
}).#attach({
|
|
140
|
-
addressProvider,
|
|
141
|
-
blockNumber,
|
|
142
|
-
ignoreUpdateablePrices,
|
|
143
|
-
ignoreMarkets,
|
|
144
|
-
marketConfigurators,
|
|
145
|
-
redstone,
|
|
146
|
-
pyth
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Creates a new SDK instance from a previously serialised {@link GearboxState}
|
|
151
|
-
* snapshot, without making any on-chain calls.
|
|
152
|
-
*
|
|
153
|
-
* Use this for fast startup when a recent state snapshot is available
|
|
154
|
-
* (e.g. loaded from a file or received from a backend service).
|
|
155
|
-
*
|
|
156
|
-
* @param options - SDK and client options (block number and address provider
|
|
157
|
-
* are taken from the snapshot).
|
|
158
|
-
* @param state - Serialised state obtained from {@link GearboxSDK.state}.
|
|
159
|
-
* @returns A fully initialised SDK instance.
|
|
160
|
-
* @throws If the snapshot's {@link STATE_VERSION} does not match.
|
|
161
|
-
**/
|
|
162
|
-
static hydrate(options, state) {
|
|
163
|
-
const { logger, plugins, strictContractTypes, gasLimit, ...rest } = options;
|
|
164
|
-
const client = createClient(options, {
|
|
165
|
-
networkType: state.network,
|
|
166
|
-
chainId: state.chainId
|
|
167
|
-
});
|
|
168
|
-
return new GearboxSDK({
|
|
169
|
-
client,
|
|
170
|
-
plugins,
|
|
171
|
-
logger,
|
|
172
|
-
strictContractTypes,
|
|
173
|
-
gasLimit
|
|
174
|
-
}).#hydrate(rest, state);
|
|
175
|
-
}
|
|
176
|
-
constructor(options) {
|
|
177
|
-
super(options.client, options.logger);
|
|
178
|
-
this.strictContractTypes = options.strictContractTypes ?? false;
|
|
179
|
-
this.plugins = options.plugins ?? {};
|
|
180
|
-
for (const plugin of Object.values(this.plugins)) {
|
|
181
|
-
plugin.sdk = this;
|
|
182
|
-
}
|
|
183
|
-
if (options.gasLimit !== null) {
|
|
184
|
-
this.gasLimit = options.gasLimit || getChain(this.networkType).gasLimit;
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
async #attach(opts) {
|
|
188
|
-
const {
|
|
189
|
-
addressProvider,
|
|
190
|
-
blockNumber,
|
|
191
|
-
ignoreUpdateablePrices,
|
|
192
|
-
ignoreMarkets,
|
|
193
|
-
marketConfigurators,
|
|
194
|
-
redstone,
|
|
195
|
-
pyth
|
|
196
|
-
} = opts;
|
|
197
|
-
const re = this.#attachConfig ? "re" : "";
|
|
198
|
-
this.logger?.info(
|
|
199
|
-
{
|
|
200
|
-
networkType: this.networkType,
|
|
201
|
-
chainId: this.chainId,
|
|
202
|
-
addressProvider,
|
|
203
|
-
marketConfigurators,
|
|
204
|
-
blockNumber,
|
|
205
|
-
ignoreMarkets
|
|
206
|
-
},
|
|
207
|
-
`${re}attaching gearbox sdk`
|
|
208
|
-
);
|
|
209
|
-
if (!!blockNumber && !opts.redstone?.historicTimestamp) {
|
|
210
|
-
this.logger?.warn(
|
|
211
|
-
`${re}attaching to fixed block number, but redstone historicTimestamp is not set. price updates might fail`
|
|
212
|
-
);
|
|
213
|
-
}
|
|
214
|
-
if (!!blockNumber && !opts.pyth?.historicTimestamp) {
|
|
215
|
-
this.logger?.warn(
|
|
216
|
-
`${re}attaching to fixed block number, but pyth historicTimestamp is not set. price updates might fail`
|
|
217
|
-
);
|
|
218
|
-
}
|
|
219
|
-
this.#attachConfig = opts;
|
|
220
|
-
const time = Date.now();
|
|
221
|
-
const block = await this.client.getBlock(
|
|
222
|
-
blockNumber ? { blockNumber: BigInt(blockNumber) } : {
|
|
223
|
-
blockTag: "latest"
|
|
224
|
-
}
|
|
225
|
-
);
|
|
226
|
-
this.#currentBlock = block.number;
|
|
227
|
-
this.#timestamp = block.timestamp;
|
|
228
|
-
this.#priceFeeds = new PriceFeedRegister(this, { redstone, pyth });
|
|
229
|
-
this.logger?.debug(
|
|
230
|
-
`${re}attach block number ${this.currentBlock} timestamp ${this.timestamp}`
|
|
231
|
-
);
|
|
232
|
-
this.#addressProvider = await createAddressProvider(this, addressProvider);
|
|
233
|
-
this.logger?.debug(
|
|
234
|
-
`address provider version: ${this.#addressProvider.version}`
|
|
235
|
-
);
|
|
236
|
-
await this.#addressProvider.syncState(this.currentBlock);
|
|
237
|
-
this.#marketRegister = new MarketRegister(this, ignoreMarkets);
|
|
238
|
-
await this.#marketRegister.loadMarkets(
|
|
239
|
-
marketConfigurators,
|
|
240
|
-
ignoreUpdateablePrices
|
|
241
|
-
);
|
|
242
|
-
const pluginsList = TypedObjectUtils.entries(this.plugins);
|
|
243
|
-
const pluginResponse = await Promise.allSettled(
|
|
244
|
-
pluginsList.map(([name, plugin]) => {
|
|
245
|
-
if (plugin.attach) {
|
|
246
|
-
this.logger?.debug(`${re}attaching plugin ${name}`);
|
|
247
|
-
return plugin.attach();
|
|
248
|
-
}
|
|
249
|
-
return void 0;
|
|
250
|
-
})
|
|
251
|
-
);
|
|
252
|
-
pluginResponse.forEach((r, i) => {
|
|
253
|
-
const [name, plugin] = pluginsList[i];
|
|
254
|
-
if (plugin.attach && r.status === "fulfilled") {
|
|
255
|
-
this.logger?.debug(`${re}attached plugin ${name}`);
|
|
256
|
-
} else if (plugin.attach && r.status === "rejected") {
|
|
257
|
-
this.logger?.error(r.reason, `failed to ${re}attach plugin ${name}`);
|
|
258
|
-
}
|
|
259
|
-
});
|
|
260
|
-
this.logger?.info(`${re}attach time: ${Date.now() - time} ms`);
|
|
261
|
-
return this;
|
|
262
|
-
}
|
|
263
|
-
#hydrate(options, state) {
|
|
264
|
-
const { logger: _logger, ignoreMarkets, ...opts } = options;
|
|
265
|
-
if (state.version !== STATE_VERSION) {
|
|
266
|
-
throw new Error(
|
|
267
|
-
`hydrated state version is ${state.version}, but expected ${STATE_VERSION}`
|
|
268
|
-
);
|
|
269
|
-
}
|
|
270
|
-
const re = this.#attachConfig ? "re" : "";
|
|
271
|
-
this.logger?.info(
|
|
272
|
-
{ networkType: this.networkType },
|
|
273
|
-
`${re}hydrating sdk state`
|
|
274
|
-
);
|
|
275
|
-
this.#currentBlock = state.currentBlock;
|
|
276
|
-
this.#timestamp = state.timestamp;
|
|
277
|
-
this.#priceFeeds = new PriceFeedRegister(this, {
|
|
278
|
-
redstone: opts.redstone,
|
|
279
|
-
pyth: opts.pyth
|
|
280
|
-
});
|
|
281
|
-
this.#addressProvider = hydrateAddressProvider(this, state.addressProvider);
|
|
282
|
-
this.logger?.debug(
|
|
283
|
-
`address provider version: ${this.#addressProvider.version}`
|
|
284
|
-
);
|
|
285
|
-
this.#marketRegister = new MarketRegister(this, ignoreMarkets);
|
|
286
|
-
this.#marketRegister.hydrate(state.markets);
|
|
287
|
-
this.#attachConfig = {
|
|
288
|
-
...opts,
|
|
289
|
-
addressProvider: this.addressProvider.address,
|
|
290
|
-
marketConfigurators: this.marketRegister.marketConfigurators.map(
|
|
291
|
-
(m) => m.address
|
|
292
|
-
),
|
|
293
|
-
blockNumber: this.currentBlock
|
|
294
|
-
};
|
|
295
|
-
for (const [name, plugin] of TypedObjectUtils.entries(this.plugins)) {
|
|
296
|
-
const pluginState = state.plugins[name];
|
|
297
|
-
if (plugin.hydrate && pluginState) {
|
|
298
|
-
if (!pluginState.loaded) {
|
|
299
|
-
this.logger?.debug(
|
|
300
|
-
`skipping ${re}hydrating plugin ${name} state: not loaded`
|
|
301
|
-
);
|
|
302
|
-
continue;
|
|
303
|
-
}
|
|
304
|
-
if (pluginState.version !== plugin.version) {
|
|
305
|
-
throw new PluginStateVersionError(plugin, pluginState);
|
|
306
|
-
}
|
|
307
|
-
plugin.hydrate(pluginState);
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
this.logger?.info(`${re}hydrated sdk state`);
|
|
311
|
-
return this;
|
|
312
|
-
}
|
|
313
|
-
/**
|
|
314
|
-
* Re-attaches the SDK using the same configuration, discarding all cached
|
|
315
|
-
* state and re-reading everything from the chain.
|
|
316
|
-
*
|
|
317
|
-
* Useful when the SDK needs a full refresh (e.g. after a protocol upgrade).
|
|
318
|
-
* Note that if the original `blockNumber` was pinned, the same block is
|
|
319
|
-
* re-used — call {@link syncState} instead if you want to advance.
|
|
320
|
-
*
|
|
321
|
-
* @throws If the SDK has not been attached yet.
|
|
322
|
-
**/
|
|
323
|
-
async reattach() {
|
|
324
|
-
if (!this.#attachConfig) {
|
|
325
|
-
throw new Error("cannot reattach, attach config is not set");
|
|
326
|
-
}
|
|
327
|
-
await this.#attach(this.#attachConfig);
|
|
328
|
-
}
|
|
329
|
-
/**
|
|
330
|
-
* Replaces the SDK's in-memory state with a new serialised snapshot
|
|
331
|
-
* without re-creating the instance.
|
|
332
|
-
*
|
|
333
|
-
* After hydration the `rehydrate` hook is triggered so that listeners
|
|
334
|
-
* can react to the state change.
|
|
335
|
-
*
|
|
336
|
-
* @param state - Serialised state obtained from {@link GearboxSDK.state}.
|
|
337
|
-
* @throws If the SDK has not been attached or hydrated yet.
|
|
338
|
-
**/
|
|
339
|
-
async rehydrate(state) {
|
|
340
|
-
if (!this.#attachConfig) {
|
|
341
|
-
throw new Error("cannot rehydrate, attach config is not set");
|
|
342
|
-
}
|
|
343
|
-
const opts = {
|
|
344
|
-
ignoreUpdateablePrices: this.#attachConfig.ignoreUpdateablePrices,
|
|
345
|
-
redstone: this.#attachConfig.redstone,
|
|
346
|
-
pyth: this.#attachConfig.pyth
|
|
347
|
-
};
|
|
348
|
-
this.#hydrate(opts, state);
|
|
349
|
-
await this.#hooks.triggerHooks("rehydrate", {
|
|
350
|
-
blockNumber: state.currentBlock,
|
|
351
|
-
timestamp: state.timestamp
|
|
352
|
-
});
|
|
353
|
-
}
|
|
354
|
-
/**
|
|
355
|
-
* Gearbox network type the SDK is connected to (e.g. `"Mainnet"`, `"Arbitrum"`).
|
|
356
|
-
**/
|
|
357
|
-
get networkType() {
|
|
358
|
-
return this.client.chain.network;
|
|
359
|
-
}
|
|
360
|
-
/**
|
|
361
|
-
* Returns a human-readable snapshot of the entire SDK state, suitable
|
|
362
|
-
* for logging or diagnostic inspection.
|
|
363
|
-
*
|
|
364
|
-
* @param raw - When `true`, include raw numeric values alongside
|
|
365
|
-
* formatted ones.
|
|
366
|
-
* @default true
|
|
367
|
-
**/
|
|
368
|
-
stateHuman(raw = true) {
|
|
369
|
-
return {
|
|
370
|
-
block: Number(this.currentBlock),
|
|
371
|
-
timestamp: formatTimestamp(Number(this.timestamp), raw),
|
|
372
|
-
core: {
|
|
373
|
-
addressProviderV3: this.addressProvider.stateHuman(raw)
|
|
374
|
-
},
|
|
375
|
-
tokens: this.tokensMeta.values(),
|
|
376
|
-
plugins: Object.fromEntries(
|
|
377
|
-
TypedObjectUtils.entries(this.plugins).map(([name, plugin]) => [
|
|
378
|
-
name,
|
|
379
|
-
plugin.loaded ? plugin.stateHuman?.(raw) : void 0
|
|
380
|
-
])
|
|
381
|
-
),
|
|
382
|
-
...this.marketRegister.stateHuman(raw)
|
|
383
|
-
};
|
|
384
|
-
}
|
|
385
|
-
/**
|
|
386
|
-
* Serialisable snapshot of the current SDK state.
|
|
387
|
-
*
|
|
388
|
-
* The returned object can be persisted (e.g. written to a file) and later
|
|
389
|
-
* passed to {@link GearboxSDK.hydrate} for instant restoration without
|
|
390
|
-
* on-chain reads.
|
|
391
|
-
**/
|
|
392
|
-
get state() {
|
|
393
|
-
return {
|
|
394
|
-
version: STATE_VERSION,
|
|
395
|
-
network: this.networkType,
|
|
396
|
-
chainId: this.chainId,
|
|
397
|
-
currentBlock: this.currentBlock,
|
|
398
|
-
timestamp: this.timestamp,
|
|
399
|
-
addressProvider: this.addressProvider.state,
|
|
400
|
-
markets: this.marketRegister.state,
|
|
401
|
-
plugins: Object.fromEntries(
|
|
402
|
-
TypedObjectUtils.entries(this.plugins).map(([name, plugin]) => [
|
|
403
|
-
name,
|
|
404
|
-
plugin.loaded ? { version: plugin.version, loaded: true, ...plugin.state } : { version: plugin.version, loaded: false }
|
|
405
|
-
])
|
|
406
|
-
)
|
|
407
|
-
};
|
|
408
|
-
}
|
|
409
|
-
/**
|
|
410
|
-
* Incrementally updates the SDK state by replaying on-chain events from the
|
|
411
|
-
* last processed block up to the target block (defaults to `latest`).
|
|
412
|
-
*
|
|
413
|
-
* Use the to periodically update sdk state on cron, or subscribe to new blocks
|
|
414
|
-
* using viem's `watchBlocks`
|
|
415
|
-
*
|
|
416
|
-
* On failure the SDK reverts to the previous block/timestamp so that
|
|
417
|
-
* subsequent calls can retry.
|
|
418
|
-
*
|
|
419
|
-
* @param opts - Target block and sync behaviour. When omitted the latest
|
|
420
|
-
* block is fetched automatically.
|
|
421
|
-
* @returns `true` if the sync completed successfully, `false` if it was
|
|
422
|
-
* skipped or failed.
|
|
423
|
-
**/
|
|
424
|
-
async syncState(opts) {
|
|
425
|
-
let {
|
|
426
|
-
blockNumber,
|
|
427
|
-
timestamp,
|
|
428
|
-
ignoreUpdateablePrices = this.#attachConfig?.ignoreUpdateablePrices
|
|
429
|
-
} = opts ?? {};
|
|
430
|
-
if (this.#attachConfig?.redstone?.historicTimestamp || this.#attachConfig?.pyth?.historicTimestamp) {
|
|
431
|
-
throw new Error(
|
|
432
|
-
"syncState is not supported with redstone or pyth historicTimestamp"
|
|
433
|
-
);
|
|
434
|
-
}
|
|
435
|
-
if (!blockNumber || !timestamp) {
|
|
436
|
-
const block = await this.client.getBlock({
|
|
437
|
-
blockTag: "latest"
|
|
438
|
-
});
|
|
439
|
-
blockNumber = block.number;
|
|
440
|
-
timestamp = block.timestamp;
|
|
441
|
-
}
|
|
442
|
-
if (blockNumber <= this.currentBlock) {
|
|
443
|
-
return false;
|
|
444
|
-
}
|
|
445
|
-
if (this.#syncing) {
|
|
446
|
-
this.logger?.warn(
|
|
447
|
-
`cannot sync to ${blockNumber}, already syncing at ${this.currentBlock}`
|
|
448
|
-
);
|
|
449
|
-
return false;
|
|
450
|
-
}
|
|
451
|
-
this.#syncing = true;
|
|
452
|
-
const prevBlock = this.currentBlock;
|
|
453
|
-
const prevTimestamp = this.timestamp;
|
|
454
|
-
let success = false;
|
|
455
|
-
try {
|
|
456
|
-
let delta = Math.floor(Date.now() / 1e3) - Number(timestamp);
|
|
457
|
-
this.logger?.debug(
|
|
458
|
-
`syncing state to block ${blockNumber} (delta ${delta}s )...`
|
|
459
|
-
);
|
|
460
|
-
const watchAddresses = [
|
|
461
|
-
...Array.from(this.marketRegister.watchAddresses),
|
|
462
|
-
this.addressProvider.address
|
|
463
|
-
];
|
|
464
|
-
const fromBlock = this.currentBlock + 1n;
|
|
465
|
-
this.logger?.debug(
|
|
466
|
-
`getting logs from ${watchAddresses.length} addresses in [${fromBlock}:${blockNumber}]`
|
|
467
|
-
);
|
|
468
|
-
const logs = await getLogsSafe(this.client, {
|
|
469
|
-
fromBlock,
|
|
470
|
-
toBlock: blockNumber,
|
|
471
|
-
address: watchAddresses
|
|
472
|
-
});
|
|
473
|
-
for (const log of logs) {
|
|
474
|
-
const contract = this.getContract(log.address);
|
|
475
|
-
if (contract) {
|
|
476
|
-
const event = parseEventLogs({
|
|
477
|
-
abi: contract.abi,
|
|
478
|
-
logs: [log]
|
|
479
|
-
})[0];
|
|
480
|
-
contract.processLog(event);
|
|
481
|
-
}
|
|
482
|
-
}
|
|
483
|
-
this.#currentBlock = blockNumber;
|
|
484
|
-
this.#timestamp = timestamp;
|
|
485
|
-
await this.marketRegister.syncState(ignoreUpdateablePrices);
|
|
486
|
-
await this.#hooks.triggerHooks("syncState", {
|
|
487
|
-
blockNumber,
|
|
488
|
-
timestamp,
|
|
489
|
-
ignoreUpdateablePrices
|
|
490
|
-
});
|
|
491
|
-
const pluginsList = TypedObjectUtils.entries(this.plugins);
|
|
492
|
-
const pluginResponse = await Promise.allSettled(
|
|
493
|
-
pluginsList.map(([name, plugin]) => {
|
|
494
|
-
if (plugin.syncState) {
|
|
495
|
-
this.logger?.debug(`syncing plugin ${name}`);
|
|
496
|
-
return plugin.syncState();
|
|
497
|
-
}
|
|
498
|
-
return void 0;
|
|
499
|
-
})
|
|
500
|
-
);
|
|
501
|
-
pluginResponse.forEach((r, i) => {
|
|
502
|
-
const [name, plugin] = pluginsList[i];
|
|
503
|
-
if (plugin.syncState && r.status === "fulfilled") {
|
|
504
|
-
this.logger?.debug(`synced plugin ${name}`);
|
|
505
|
-
} else if (plugin.syncState && r.status === "rejected") {
|
|
506
|
-
this.logger?.error(r.reason, `failed to sync plugin ${name}`);
|
|
507
|
-
}
|
|
508
|
-
});
|
|
509
|
-
delta = Math.floor(Date.now() / 1e3) - Number(timestamp);
|
|
510
|
-
this.logger?.debug(
|
|
511
|
-
`synced state to block ${blockNumber} (delta ${delta}s)`
|
|
512
|
-
);
|
|
513
|
-
success = true;
|
|
514
|
-
} catch (e) {
|
|
515
|
-
this.logger?.error(
|
|
516
|
-
`sync state to block ${blockNumber} with ts ${timestamp} failed, reverting to old block ${prevBlock} with ts ${prevTimestamp}: ${e}`
|
|
517
|
-
);
|
|
518
|
-
this.#currentBlock = prevBlock;
|
|
519
|
-
this.#timestamp = prevTimestamp;
|
|
520
|
-
} finally {
|
|
521
|
-
this.#syncing = false;
|
|
522
|
-
}
|
|
523
|
-
return success;
|
|
524
|
-
}
|
|
525
|
-
/**
|
|
526
|
-
* Block number that the SDK state corresponds to.
|
|
527
|
-
*
|
|
528
|
-
* @throws If the SDK has not been attached or hydrated yet.
|
|
529
|
-
**/
|
|
530
|
-
get currentBlock() {
|
|
531
|
-
if (this.#currentBlock === void 0) {
|
|
532
|
-
throw ERR_NOT_ATTACHED;
|
|
533
|
-
}
|
|
534
|
-
return this.#currentBlock;
|
|
535
|
-
}
|
|
536
|
-
/**
|
|
537
|
-
* Block timestamp (Unix epoch seconds) corresponding to {@link currentBlock}.
|
|
538
|
-
*
|
|
539
|
-
* @throws If the SDK has not been attached or hydrated yet.
|
|
540
|
-
**/
|
|
541
|
-
get timestamp() {
|
|
542
|
-
if (this.#timestamp === void 0) {
|
|
543
|
-
throw ERR_NOT_ATTACHED;
|
|
544
|
-
}
|
|
545
|
-
return this.#timestamp;
|
|
546
|
-
}
|
|
547
|
-
/**
|
|
548
|
-
* Global registry of all price feeds known to the SDK (on all markets).
|
|
549
|
-
*
|
|
550
|
-
* Unlike per-oracle price feed references, this register does not carry
|
|
551
|
-
* oracle-specific metadata (staleness period, main/reserve designation, etc.).
|
|
552
|
-
*
|
|
553
|
-
* @throws If the SDK has not been attached or hydrated yet.
|
|
554
|
-
**/
|
|
555
|
-
get priceFeeds() {
|
|
556
|
-
if (this.#priceFeeds === void 0) {
|
|
557
|
-
throw ERR_NOT_ATTACHED;
|
|
558
|
-
}
|
|
559
|
-
return this.#priceFeeds;
|
|
560
|
-
}
|
|
561
|
-
/**
|
|
562
|
-
* Address of the GEAR governance token on this chain, or `undefined`
|
|
563
|
-
* if the address provider does not list it.
|
|
564
|
-
**/
|
|
565
|
-
get gear() {
|
|
566
|
-
try {
|
|
567
|
-
const g = this.addressProvider.getAddress(AP_GEAR_TOKEN, NO_VERSION);
|
|
568
|
-
return g;
|
|
569
|
-
} catch (e) {
|
|
570
|
-
this.logger?.warn(e);
|
|
571
|
-
return void 0;
|
|
572
|
-
}
|
|
573
|
-
}
|
|
574
|
-
/**
|
|
575
|
-
* The chain's address provider contract, the central directory for all
|
|
576
|
-
* protocol-wide Gearbox protocol addresses.
|
|
577
|
-
*
|
|
578
|
-
* @throws If the SDK has not been attached or hydrated yet.
|
|
579
|
-
**/
|
|
580
|
-
get addressProvider() {
|
|
581
|
-
if (this.#addressProvider === void 0) {
|
|
582
|
-
throw ERR_NOT_ATTACHED;
|
|
583
|
-
}
|
|
584
|
-
return this.#addressProvider;
|
|
585
|
-
}
|
|
586
|
-
/**
|
|
587
|
-
* Registry of all loaded markets (pools, credit managers, oracles, etc.).
|
|
588
|
-
*
|
|
589
|
-
* @throws If the SDK has not been attached or hydrated yet.
|
|
590
|
-
**/
|
|
591
|
-
get marketRegister() {
|
|
592
|
-
if (this.#marketRegister === void 0) {
|
|
593
|
-
throw ERR_NOT_ATTACHED;
|
|
594
|
-
}
|
|
595
|
-
return this.#marketRegister;
|
|
596
|
-
}
|
|
597
|
-
/**
|
|
598
|
-
* Resolves the appropriate router contract for a given credit manager,
|
|
599
|
-
* credit facade, or explicit version range.
|
|
600
|
-
*
|
|
601
|
-
* @param params - Identifies the context: a credit manager address/state,
|
|
602
|
-
* a credit facade address/state, or a {@link VersionRange}.
|
|
603
|
-
* @returns The matching router contract instance.
|
|
604
|
-
* @throws If the credit facade version is unsupported or no router is
|
|
605
|
-
* registered for the resolved version range.
|
|
606
|
-
**/
|
|
607
|
-
routerFor(params) {
|
|
608
|
-
let routerRange;
|
|
609
|
-
if (Array.isArray(params)) {
|
|
610
|
-
routerRange = params;
|
|
611
|
-
} else {
|
|
612
|
-
let facadeAddr;
|
|
613
|
-
if ("creditFacade" in params) {
|
|
614
|
-
facadeAddr = toAddress(params.creditFacade);
|
|
615
|
-
} else {
|
|
616
|
-
const cm = this.marketRegister.findCreditManager(
|
|
617
|
-
toAddress(params.creditManager)
|
|
618
|
-
);
|
|
619
|
-
facadeAddr = cm.creditFacade.address;
|
|
620
|
-
}
|
|
621
|
-
const facadeV = this.mustGetContract(facadeAddr).version;
|
|
622
|
-
if (isV310(facadeV)) {
|
|
623
|
-
routerRange = VERSION_RANGE_310;
|
|
624
|
-
} else {
|
|
625
|
-
throw new Error(`Unsupported credit facade version ${facadeV}`);
|
|
626
|
-
}
|
|
627
|
-
}
|
|
628
|
-
const routerEntry = this.addressProvider.getLatest(AP_ROUTER, routerRange);
|
|
629
|
-
if (!routerEntry) {
|
|
630
|
-
throw new Error(`router not found in version range ${routerRange}`);
|
|
631
|
-
}
|
|
632
|
-
const [routerAddr, routerV] = routerEntry;
|
|
633
|
-
return createRouter(this, routerAddr, routerV);
|
|
634
|
-
}
|
|
635
|
-
}
|
|
636
|
-
export {
|
|
637
|
-
GearboxSDK,
|
|
638
|
-
STATE_VERSION
|
|
639
|
-
};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { GearboxSDK, PluginsMap } from "../sdk/index.js";
|
|
2
|
-
export interface CachedStateSubscriberOptions {
|
|
3
|
-
/**
|
|
4
|
-
* Polling interval in milliseconds
|
|
5
|
-
*/
|
|
6
|
-
pollInterval?: number;
|
|
7
|
-
/**
|
|
8
|
-
* Callback to be called when state changes
|
|
9
|
-
*/
|
|
10
|
-
onChange?: (blockNumber: bigint) => void;
|
|
11
|
-
}
|
|
12
|
-
export declare class CachedStateSubscriber<const Plugins extends PluginsMap = {}> {
|
|
13
|
-
#private;
|
|
14
|
-
constructor(sdk: GearboxSDK<Plugins>, stateURL: string);
|
|
15
|
-
/**
|
|
16
|
-
* Subscribe to sdk state changes
|
|
17
|
-
* @param opts - Options
|
|
18
|
-
* @returns Unsubscribe function
|
|
19
|
-
*/
|
|
20
|
-
subscribe(opts?: CachedStateSubscriberOptions): () => void;
|
|
21
|
-
}
|