@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
|
@@ -0,0 +1,464 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createPublicClient,
|
|
3
|
+
fallback,
|
|
4
|
+
http,
|
|
5
|
+
parseEventLogs
|
|
6
|
+
} from "viem";
|
|
7
|
+
import { ChainContractsRegister } from "./base/index.js";
|
|
8
|
+
import { getChain } from "./chain/index.js";
|
|
9
|
+
import {
|
|
10
|
+
ADDRESS_PROVIDER_V310,
|
|
11
|
+
AP_GEAR_TOKEN,
|
|
12
|
+
AP_ROUTER,
|
|
13
|
+
isV310,
|
|
14
|
+
NO_VERSION,
|
|
15
|
+
VERSION_RANGE_310
|
|
16
|
+
} from "./constants/index.js";
|
|
17
|
+
import {
|
|
18
|
+
createAddressProvider,
|
|
19
|
+
hydrateAddressProvider,
|
|
20
|
+
SdkAlreadyAttachedError,
|
|
21
|
+
SdkChainMismatchError,
|
|
22
|
+
SdkNotAttachedError,
|
|
23
|
+
SdkStateVersionMismatchError
|
|
24
|
+
} from "./core/index.js";
|
|
25
|
+
import { MarketRegister } from "./market/MarketRegister.js";
|
|
26
|
+
import { PriceFeedRegister } from "./market/pricefeeds/index.js";
|
|
27
|
+
import { PluginStateVersionError } from "./plugins/index.js";
|
|
28
|
+
import { createRouter } from "./router/index.js";
|
|
29
|
+
import { formatTimestamp, TypedObjectUtils, toAddress } from "./utils/index.js";
|
|
30
|
+
import { getLogsSafe } from "./utils/viem/index.js";
|
|
31
|
+
const STATE_VERSION = 1;
|
|
32
|
+
function createViemClient(opts, chain) {
|
|
33
|
+
if ("client" in opts) {
|
|
34
|
+
return opts.client;
|
|
35
|
+
}
|
|
36
|
+
let transport;
|
|
37
|
+
if ("transport" in opts) {
|
|
38
|
+
transport = opts.transport;
|
|
39
|
+
} else {
|
|
40
|
+
const rpcs = opts.rpcURLs.map(
|
|
41
|
+
(url) => http(url, {
|
|
42
|
+
...opts.httpTransportOptions,
|
|
43
|
+
timeout: opts.timeout,
|
|
44
|
+
retryCount: opts.retryCount
|
|
45
|
+
})
|
|
46
|
+
);
|
|
47
|
+
transport = rpcs.length > 1 ? fallback(rpcs) : rpcs[0];
|
|
48
|
+
}
|
|
49
|
+
return createPublicClient({ transport, chain });
|
|
50
|
+
}
|
|
51
|
+
class OnchainSDK extends ChainContractsRegister {
|
|
52
|
+
/** Registered plugin instances, keyed by plugin name. */
|
|
53
|
+
plugins;
|
|
54
|
+
#currentBlock;
|
|
55
|
+
#timestamp;
|
|
56
|
+
#syncing = false;
|
|
57
|
+
#attached = false;
|
|
58
|
+
#addressProvider;
|
|
59
|
+
#marketRegister;
|
|
60
|
+
#priceFeeds;
|
|
61
|
+
/**
|
|
62
|
+
* Gas limit applied to read-only `eth_call` requests.
|
|
63
|
+
**/
|
|
64
|
+
gasLimit;
|
|
65
|
+
/**
|
|
66
|
+
* When `true`, the SDK throws on unrecognised contract types.
|
|
67
|
+
**/
|
|
68
|
+
strictContractTypes;
|
|
69
|
+
/**
|
|
70
|
+
* @param network - Gearbox network type (e.g. `"Mainnet"`, `"Monad"`).
|
|
71
|
+
* @param clientOptions - Connection options (RPC URLs, transport, or client).
|
|
72
|
+
* @param options - SDK configuration options.
|
|
73
|
+
*/
|
|
74
|
+
constructor(network, clientOptions, options) {
|
|
75
|
+
const gearboxChain = getChain(network);
|
|
76
|
+
if ("client" in clientOptions) {
|
|
77
|
+
const clientChainId = clientOptions.client.chain?.id;
|
|
78
|
+
if (clientChainId !== void 0 && clientChainId !== gearboxChain.id) {
|
|
79
|
+
throw new SdkChainMismatchError(gearboxChain.id, clientChainId);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
const client = createViemClient(clientOptions, gearboxChain);
|
|
83
|
+
super(client, options?.logger);
|
|
84
|
+
this.strictContractTypes = options?.strictContractTypes ?? false;
|
|
85
|
+
this.plugins = options?.plugins ?? {};
|
|
86
|
+
for (const plugin of Object.values(this.plugins)) {
|
|
87
|
+
plugin.sdk = this;
|
|
88
|
+
}
|
|
89
|
+
if (options?.gasLimit !== null) {
|
|
90
|
+
this.gasLimit = options?.gasLimit ?? getChain(this.networkType).gasLimit;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Initialises the SDK by reading live on-chain state.
|
|
95
|
+
*
|
|
96
|
+
* @param options - Attach configuration.
|
|
97
|
+
* @throws {@link SdkAlreadyAttachedError} if already attached.
|
|
98
|
+
*/
|
|
99
|
+
async attach(options) {
|
|
100
|
+
if (this.#attached) {
|
|
101
|
+
throw new SdkAlreadyAttachedError();
|
|
102
|
+
}
|
|
103
|
+
const {
|
|
104
|
+
addressProvider = ADDRESS_PROVIDER_V310,
|
|
105
|
+
blockNumber,
|
|
106
|
+
ignoreUpdateablePrices,
|
|
107
|
+
ignoreMarkets,
|
|
108
|
+
marketConfigurators: mcs,
|
|
109
|
+
redstone,
|
|
110
|
+
pyth
|
|
111
|
+
} = options ?? {};
|
|
112
|
+
const marketConfigurators = mcs ?? TypedObjectUtils.keys(
|
|
113
|
+
this.client.chain.defaultMarketConfigurators
|
|
114
|
+
);
|
|
115
|
+
this.logger?.info(
|
|
116
|
+
{
|
|
117
|
+
networkType: this.networkType,
|
|
118
|
+
chainId: this.chainId,
|
|
119
|
+
addressProvider,
|
|
120
|
+
marketConfigurators,
|
|
121
|
+
blockNumber,
|
|
122
|
+
ignoreMarkets
|
|
123
|
+
},
|
|
124
|
+
"attaching sdk"
|
|
125
|
+
);
|
|
126
|
+
const time = Date.now();
|
|
127
|
+
const block = await this.client.getBlock(
|
|
128
|
+
blockNumber ? { blockNumber: BigInt(blockNumber) } : { blockTag: "latest" }
|
|
129
|
+
);
|
|
130
|
+
this.#currentBlock = block.number;
|
|
131
|
+
this.#timestamp = block.timestamp;
|
|
132
|
+
if (!!blockNumber && !redstone?.historicTimestamp && time - Number(block.timestamp) * 1e3 > 60 * 1e3) {
|
|
133
|
+
this.logger?.warn(
|
|
134
|
+
"attaching to fixed block number, but redstone historicTimestamp is not set. price updates might fail"
|
|
135
|
+
);
|
|
136
|
+
}
|
|
137
|
+
if (!!blockNumber && !pyth?.historicTimestamp && time - Number(block.timestamp) * 1e3 > 60 * 1e3) {
|
|
138
|
+
this.logger?.warn(
|
|
139
|
+
"attaching to fixed block number, but pyth historicTimestamp is not set. price updates might fail"
|
|
140
|
+
);
|
|
141
|
+
}
|
|
142
|
+
this.#priceFeeds = new PriceFeedRegister(this, { redstone, pyth });
|
|
143
|
+
this.logger?.debug(
|
|
144
|
+
`attach block number ${this.currentBlock} timestamp ${this.timestamp}`
|
|
145
|
+
);
|
|
146
|
+
this.#addressProvider = await createAddressProvider(this, addressProvider);
|
|
147
|
+
this.logger?.debug(
|
|
148
|
+
`address provider version: ${this.#addressProvider.version}`
|
|
149
|
+
);
|
|
150
|
+
await this.#addressProvider.syncState(this.currentBlock);
|
|
151
|
+
this.#marketRegister = new MarketRegister(this, ignoreMarkets);
|
|
152
|
+
await this.#marketRegister.loadMarkets(
|
|
153
|
+
marketConfigurators,
|
|
154
|
+
ignoreUpdateablePrices
|
|
155
|
+
);
|
|
156
|
+
const pluginsList = TypedObjectUtils.entries(this.plugins);
|
|
157
|
+
const pluginResponse = await Promise.allSettled(
|
|
158
|
+
pluginsList.map(([name, plugin]) => {
|
|
159
|
+
if (plugin.attach) {
|
|
160
|
+
this.logger?.debug(`attaching plugin ${name}`);
|
|
161
|
+
return plugin.attach();
|
|
162
|
+
}
|
|
163
|
+
return void 0;
|
|
164
|
+
})
|
|
165
|
+
);
|
|
166
|
+
pluginResponse.forEach((r, i) => {
|
|
167
|
+
const [name, plugin] = pluginsList[i];
|
|
168
|
+
if (plugin.attach && r.status === "fulfilled") {
|
|
169
|
+
this.logger?.debug(`attached plugin ${name}`);
|
|
170
|
+
} else if (plugin.attach && r.status === "rejected") {
|
|
171
|
+
this.logger?.error(r.reason, `failed to attach plugin ${name}`);
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
this.logger?.info(`attach time: ${Date.now() - time} ms`);
|
|
175
|
+
this.#attached = true;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Restores SDK state from a previously serialised {@link GearboxState}
|
|
179
|
+
* snapshot, without making any on-chain calls.
|
|
180
|
+
*
|
|
181
|
+
* @param state - Serialised state obtained from {@link OnchainSDK.state}.
|
|
182
|
+
* @param options - Hydrate configuration.
|
|
183
|
+
* @throws {@link SdkAlreadyAttachedError} if already attached.
|
|
184
|
+
* @throws {@link SdkStateVersionMismatchError} if snapshot version doesn't match.
|
|
185
|
+
* @throws {@link SdkChainMismatchError} if snapshot network doesn't match.
|
|
186
|
+
*/
|
|
187
|
+
hydrate(state, options) {
|
|
188
|
+
if (this.#attached) {
|
|
189
|
+
throw new SdkAlreadyAttachedError();
|
|
190
|
+
}
|
|
191
|
+
if (state.version !== STATE_VERSION) {
|
|
192
|
+
throw new SdkStateVersionMismatchError(STATE_VERSION, state.version);
|
|
193
|
+
}
|
|
194
|
+
if (state.network !== this.networkType) {
|
|
195
|
+
throw new SdkChainMismatchError(this.networkType, state.network);
|
|
196
|
+
}
|
|
197
|
+
const { ignoreMarkets, redstone, pyth } = options ?? {};
|
|
198
|
+
this.logger?.info({ networkType: this.networkType }, "hydrating sdk state");
|
|
199
|
+
this.#currentBlock = state.currentBlock;
|
|
200
|
+
this.#timestamp = state.timestamp;
|
|
201
|
+
this.#priceFeeds = new PriceFeedRegister(this, { redstone, pyth });
|
|
202
|
+
this.#addressProvider = hydrateAddressProvider(this, state.addressProvider);
|
|
203
|
+
this.logger?.debug(
|
|
204
|
+
`address provider version: ${this.#addressProvider.version}`
|
|
205
|
+
);
|
|
206
|
+
this.#marketRegister = new MarketRegister(this, ignoreMarkets);
|
|
207
|
+
this.#marketRegister.hydrate(state.markets);
|
|
208
|
+
for (const [name, plugin] of TypedObjectUtils.entries(this.plugins)) {
|
|
209
|
+
const pluginState = state.plugins[name];
|
|
210
|
+
if (plugin.hydrate && pluginState) {
|
|
211
|
+
if (!pluginState.loaded) {
|
|
212
|
+
this.logger?.debug(
|
|
213
|
+
`skipping hydrating plugin ${name} state: not loaded`
|
|
214
|
+
);
|
|
215
|
+
continue;
|
|
216
|
+
}
|
|
217
|
+
if (pluginState.version !== plugin.version) {
|
|
218
|
+
throw new PluginStateVersionError(plugin, pluginState);
|
|
219
|
+
}
|
|
220
|
+
plugin.hydrate(pluginState);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
this.logger?.info("hydrated sdk state");
|
|
224
|
+
this.#attached = true;
|
|
225
|
+
}
|
|
226
|
+
/** Gearbox network type the SDK is connected to (e.g. `"Mainnet"`, `"Arbitrum"`). */
|
|
227
|
+
get networkType() {
|
|
228
|
+
return this.client.chain.network;
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Returns a human-readable snapshot of the entire SDK state.
|
|
232
|
+
* @param raw - When `true`, include raw numeric values alongside formatted ones.
|
|
233
|
+
*/
|
|
234
|
+
stateHuman(raw = true) {
|
|
235
|
+
return {
|
|
236
|
+
network: this.networkType,
|
|
237
|
+
block: Number(this.currentBlock),
|
|
238
|
+
timestamp: formatTimestamp(Number(this.timestamp), raw),
|
|
239
|
+
core: {
|
|
240
|
+
addressProviderV3: this.addressProvider.stateHuman(raw)
|
|
241
|
+
},
|
|
242
|
+
tokens: this.tokensMeta.values(),
|
|
243
|
+
plugins: Object.fromEntries(
|
|
244
|
+
TypedObjectUtils.entries(this.plugins).map(([name, plugin]) => [
|
|
245
|
+
name,
|
|
246
|
+
plugin.loaded ? plugin.stateHuman?.(raw) : void 0
|
|
247
|
+
])
|
|
248
|
+
),
|
|
249
|
+
...this.marketRegister.stateHuman(raw)
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
/** Serialisable snapshot of the current SDK state. */
|
|
253
|
+
get state() {
|
|
254
|
+
return {
|
|
255
|
+
version: STATE_VERSION,
|
|
256
|
+
network: this.networkType,
|
|
257
|
+
chainId: this.chainId,
|
|
258
|
+
currentBlock: this.currentBlock,
|
|
259
|
+
timestamp: this.timestamp,
|
|
260
|
+
addressProvider: this.addressProvider.state,
|
|
261
|
+
markets: this.marketRegister.state,
|
|
262
|
+
plugins: Object.fromEntries(
|
|
263
|
+
TypedObjectUtils.entries(this.plugins).map(([name, plugin]) => [
|
|
264
|
+
name,
|
|
265
|
+
plugin.loaded ? { version: plugin.version, loaded: true, ...plugin.state } : { version: plugin.version, loaded: false }
|
|
266
|
+
])
|
|
267
|
+
)
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Incrementally updates SDK state by replaying on-chain events.
|
|
272
|
+
*
|
|
273
|
+
* @param opts - Target block and sync behaviour.
|
|
274
|
+
* @returns `true` if the sync completed successfully.
|
|
275
|
+
*/
|
|
276
|
+
async syncState(opts) {
|
|
277
|
+
let { blockNumber, timestamp, ignoreUpdateablePrices } = opts ?? {};
|
|
278
|
+
if (this.priceFeeds.historical && !ignoreUpdateablePrices) {
|
|
279
|
+
this.logger?.warn(
|
|
280
|
+
"syncState is not supported with redstone or pyth historicTimestamp"
|
|
281
|
+
);
|
|
282
|
+
}
|
|
283
|
+
if (!blockNumber || !timestamp) {
|
|
284
|
+
const block = await this.client.getBlock({
|
|
285
|
+
blockTag: "latest"
|
|
286
|
+
});
|
|
287
|
+
blockNumber = block.number;
|
|
288
|
+
timestamp = block.timestamp;
|
|
289
|
+
}
|
|
290
|
+
if (blockNumber <= this.currentBlock) {
|
|
291
|
+
return false;
|
|
292
|
+
}
|
|
293
|
+
if (this.#syncing) {
|
|
294
|
+
this.logger?.warn(
|
|
295
|
+
`cannot sync to ${blockNumber}, already syncing at ${this.currentBlock}`
|
|
296
|
+
);
|
|
297
|
+
return false;
|
|
298
|
+
}
|
|
299
|
+
this.#syncing = true;
|
|
300
|
+
const prevBlock = this.currentBlock;
|
|
301
|
+
const prevTimestamp = this.timestamp;
|
|
302
|
+
let success = false;
|
|
303
|
+
try {
|
|
304
|
+
let delta = Math.floor(Date.now() / 1e3) - Number(timestamp);
|
|
305
|
+
this.logger?.debug(
|
|
306
|
+
`syncing state to block ${blockNumber} (delta ${delta}s )...`
|
|
307
|
+
);
|
|
308
|
+
const watchAddresses = [
|
|
309
|
+
...Array.from(this.marketRegister.watchAddresses),
|
|
310
|
+
this.addressProvider.address
|
|
311
|
+
];
|
|
312
|
+
const fromBlock = this.currentBlock + 1n;
|
|
313
|
+
this.logger?.debug(
|
|
314
|
+
`getting logs from ${watchAddresses.length} addresses in [${fromBlock}:${blockNumber}]`
|
|
315
|
+
);
|
|
316
|
+
const logs = await getLogsSafe(this.client, {
|
|
317
|
+
fromBlock,
|
|
318
|
+
toBlock: blockNumber,
|
|
319
|
+
address: watchAddresses
|
|
320
|
+
});
|
|
321
|
+
for (const log of logs) {
|
|
322
|
+
const contract = this.getContract(log.address);
|
|
323
|
+
if (contract) {
|
|
324
|
+
const event = parseEventLogs({
|
|
325
|
+
abi: contract.abi,
|
|
326
|
+
logs: [log]
|
|
327
|
+
})[0];
|
|
328
|
+
contract.processLog(event);
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
this.#currentBlock = blockNumber;
|
|
332
|
+
this.#timestamp = timestamp;
|
|
333
|
+
await this.marketRegister.syncState(ignoreUpdateablePrices);
|
|
334
|
+
const pluginsList = TypedObjectUtils.entries(this.plugins);
|
|
335
|
+
const pluginResponse = await Promise.allSettled(
|
|
336
|
+
pluginsList.map(([name, plugin]) => {
|
|
337
|
+
if (plugin.syncState) {
|
|
338
|
+
this.logger?.debug(`syncing plugin ${name}`);
|
|
339
|
+
return plugin.syncState();
|
|
340
|
+
}
|
|
341
|
+
return void 0;
|
|
342
|
+
})
|
|
343
|
+
);
|
|
344
|
+
pluginResponse.forEach((r, i) => {
|
|
345
|
+
const [name, plugin] = pluginsList[i];
|
|
346
|
+
if (plugin.syncState && r.status === "fulfilled") {
|
|
347
|
+
this.logger?.debug(`synced plugin ${name}`);
|
|
348
|
+
} else if (plugin.syncState && r.status === "rejected") {
|
|
349
|
+
this.logger?.error(r.reason, `failed to sync plugin ${name}`);
|
|
350
|
+
}
|
|
351
|
+
});
|
|
352
|
+
delta = Math.floor(Date.now() / 1e3) - Number(timestamp);
|
|
353
|
+
this.logger?.debug(
|
|
354
|
+
`synced state to block ${blockNumber} (delta ${delta}s)`
|
|
355
|
+
);
|
|
356
|
+
success = true;
|
|
357
|
+
} catch (e) {
|
|
358
|
+
this.logger?.error(
|
|
359
|
+
`sync state to block ${blockNumber} with ts ${timestamp} failed, reverting to old block ${prevBlock} with ts ${prevTimestamp}: ${e}`
|
|
360
|
+
);
|
|
361
|
+
this.#currentBlock = prevBlock;
|
|
362
|
+
this.#timestamp = prevTimestamp;
|
|
363
|
+
} finally {
|
|
364
|
+
this.#syncing = false;
|
|
365
|
+
}
|
|
366
|
+
return success;
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Block number that the SDK state corresponds to.
|
|
370
|
+
* @throws {@link SdkNotAttachedError} if not attached.
|
|
371
|
+
*/
|
|
372
|
+
get currentBlock() {
|
|
373
|
+
if (this.#currentBlock === void 0) {
|
|
374
|
+
throw new SdkNotAttachedError();
|
|
375
|
+
}
|
|
376
|
+
return this.#currentBlock;
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* Block timestamp (Unix epoch seconds) corresponding to {@link currentBlock}.
|
|
380
|
+
* @throws {@link SdkNotAttachedError} if not attached.
|
|
381
|
+
*/
|
|
382
|
+
get timestamp() {
|
|
383
|
+
if (this.#timestamp === void 0) {
|
|
384
|
+
throw new SdkNotAttachedError();
|
|
385
|
+
}
|
|
386
|
+
return this.#timestamp;
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Global registry of all price feeds known to the SDK.
|
|
390
|
+
* @throws {@link SdkNotAttachedError} if not attached.
|
|
391
|
+
*/
|
|
392
|
+
get priceFeeds() {
|
|
393
|
+
if (this.#priceFeeds === void 0) {
|
|
394
|
+
throw new SdkNotAttachedError();
|
|
395
|
+
}
|
|
396
|
+
return this.#priceFeeds;
|
|
397
|
+
}
|
|
398
|
+
/** GEAR governance token address, or `undefined` if not listed. */
|
|
399
|
+
get gear() {
|
|
400
|
+
try {
|
|
401
|
+
const g = this.addressProvider.getAddress(AP_GEAR_TOKEN, NO_VERSION);
|
|
402
|
+
return g;
|
|
403
|
+
} catch (e) {
|
|
404
|
+
this.logger?.warn(e);
|
|
405
|
+
return void 0;
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* The chain's address provider contract.
|
|
410
|
+
* @throws {@link SdkNotAttachedError} if not attached.
|
|
411
|
+
*/
|
|
412
|
+
get addressProvider() {
|
|
413
|
+
if (this.#addressProvider === void 0) {
|
|
414
|
+
throw new SdkNotAttachedError();
|
|
415
|
+
}
|
|
416
|
+
return this.#addressProvider;
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* Registry of all loaded markets.
|
|
420
|
+
* @throws {@link SdkNotAttachedError} if not attached.
|
|
421
|
+
*/
|
|
422
|
+
get marketRegister() {
|
|
423
|
+
if (this.#marketRegister === void 0) {
|
|
424
|
+
throw new SdkNotAttachedError();
|
|
425
|
+
}
|
|
426
|
+
return this.#marketRegister;
|
|
427
|
+
}
|
|
428
|
+
/**
|
|
429
|
+
* Resolves the appropriate router contract for a given credit manager,
|
|
430
|
+
* credit facade, or explicit version range.
|
|
431
|
+
*/
|
|
432
|
+
routerFor(params) {
|
|
433
|
+
let routerRange;
|
|
434
|
+
if (Array.isArray(params)) {
|
|
435
|
+
routerRange = params;
|
|
436
|
+
} else {
|
|
437
|
+
let facadeAddr;
|
|
438
|
+
if ("creditFacade" in params) {
|
|
439
|
+
facadeAddr = toAddress(params.creditFacade);
|
|
440
|
+
} else {
|
|
441
|
+
const cm = this.marketRegister.findCreditManager(
|
|
442
|
+
toAddress(params.creditManager)
|
|
443
|
+
);
|
|
444
|
+
facadeAddr = cm.creditFacade.address;
|
|
445
|
+
}
|
|
446
|
+
const facadeV = this.mustGetContract(facadeAddr).version;
|
|
447
|
+
if (isV310(facadeV)) {
|
|
448
|
+
routerRange = VERSION_RANGE_310;
|
|
449
|
+
} else {
|
|
450
|
+
throw new Error(`Unsupported credit facade version ${facadeV}`);
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
const routerEntry = this.addressProvider.getLatest(AP_ROUTER, routerRange);
|
|
454
|
+
if (!routerEntry) {
|
|
455
|
+
throw new Error(`router not found in version range ${routerRange}`);
|
|
456
|
+
}
|
|
457
|
+
const [routerAddr, routerV] = routerEntry;
|
|
458
|
+
return createRouter(this, routerAddr, routerV);
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
export {
|
|
462
|
+
OnchainSDK,
|
|
463
|
+
STATE_VERSION
|
|
464
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { BaseError } from "viem";
|
|
2
|
+
class SdkNotAttachedError extends BaseError {
|
|
3
|
+
name = "SdkNotAttachedError";
|
|
4
|
+
constructor() {
|
|
5
|
+
super("SDK is not attached \u2014 call attach() or hydrate() first");
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
class SdkAlreadyAttachedError extends BaseError {
|
|
9
|
+
name = "SdkAlreadyAttachedError";
|
|
10
|
+
constructor() {
|
|
11
|
+
super("SDK is already attached");
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
class SdkStateVersionMismatchError extends BaseError {
|
|
15
|
+
name = "SdkStateVersionMismatchError";
|
|
16
|
+
constructor(expected, actual) {
|
|
17
|
+
super(`State version mismatch: expected ${expected}, got ${actual}`);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
class SdkChainMismatchError extends BaseError {
|
|
21
|
+
name = "SdkChainMismatchError";
|
|
22
|
+
constructor(expected, actual) {
|
|
23
|
+
super(`Chain mismatch: expected ${expected}, got ${actual}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
class SdkMissingChainStateError extends BaseError {
|
|
27
|
+
name = "SdkMissingChainStateError";
|
|
28
|
+
constructor(network) {
|
|
29
|
+
super(`Hydration state missing for configured chain: ${network}`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
class SdkSyncFailedError extends BaseError {
|
|
33
|
+
name = "SdkSyncFailedError";
|
|
34
|
+
perChainErrors;
|
|
35
|
+
constructor(perChainErrors) {
|
|
36
|
+
const chains = Object.keys(perChainErrors).join(", ");
|
|
37
|
+
super(`syncState failed for chains: ${chains}`);
|
|
38
|
+
this.perChainErrors = perChainErrors;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export {
|
|
42
|
+
SdkAlreadyAttachedError,
|
|
43
|
+
SdkChainMismatchError,
|
|
44
|
+
SdkMissingChainStateError,
|
|
45
|
+
SdkNotAttachedError,
|
|
46
|
+
SdkStateVersionMismatchError,
|
|
47
|
+
SdkSyncFailedError
|
|
48
|
+
};
|
package/dist/esm/sdk/index.js
CHANGED
|
@@ -3,8 +3,9 @@ export * from "./base/index.js";
|
|
|
3
3
|
export * from "./chain/index.js";
|
|
4
4
|
export * from "./constants/index.js";
|
|
5
5
|
export * from "./core/index.js";
|
|
6
|
-
export * from "./
|
|
6
|
+
export * from "./MultichainSDK.js";
|
|
7
7
|
export * from "./market/index.js";
|
|
8
|
+
export * from "./OnchainSDK.js";
|
|
8
9
|
export * from "./options.js";
|
|
9
10
|
export * from "./plugins/index.js";
|
|
10
11
|
export * from "./pools/index.js";
|
|
@@ -328,6 +328,13 @@ class PriceFeedRegister extends SDKConstruct {
|
|
|
328
328
|
get latestUpdate() {
|
|
329
329
|
return this.#latestUpdate;
|
|
330
330
|
}
|
|
331
|
+
/**
|
|
332
|
+
* @internal
|
|
333
|
+
* Returns true if any of the updaters are in historical mode
|
|
334
|
+
*/
|
|
335
|
+
get historical() {
|
|
336
|
+
return this.#updaters.some((u) => u.historical);
|
|
337
|
+
}
|
|
331
338
|
}
|
|
332
339
|
export {
|
|
333
340
|
PriceFeedRegister
|
|
@@ -30,6 +30,9 @@ const PythOptions = z.object({
|
|
|
30
30
|
});
|
|
31
31
|
class PythUpdater extends SDKConstruct {
|
|
32
32
|
#cache;
|
|
33
|
+
/**
|
|
34
|
+
* Fixed pyth historic timestamp in seconds
|
|
35
|
+
*/
|
|
33
36
|
#historicalTimestamp;
|
|
34
37
|
#apiProxy;
|
|
35
38
|
#failOnMissingFeeds;
|
|
@@ -44,10 +47,7 @@ class PythUpdater extends SDKConstruct {
|
|
|
44
47
|
`using historical timestamp ${this.#historicalTimestamp}`
|
|
45
48
|
);
|
|
46
49
|
}
|
|
47
|
-
this.#cache = new PriceUpdatesCache({
|
|
48
|
-
// currently staleness period is 240 seconds on all networks, add some buffer
|
|
49
|
-
// this period of 4 minutes is selected based on time that is required for user to sign transaction with wallet
|
|
50
|
-
// so it's unlikely to decrease
|
|
50
|
+
this.#cache = opts.cache ?? new PriceUpdatesCache({
|
|
51
51
|
ttl: cacheTTL ?? 225 * 1e3,
|
|
52
52
|
historical: !!historicTimestamp
|
|
53
53
|
});
|
|
@@ -96,6 +96,9 @@ class PythUpdater extends SDKConstruct {
|
|
|
96
96
|
);
|
|
97
97
|
return results;
|
|
98
98
|
}
|
|
99
|
+
get historical() {
|
|
100
|
+
return !!this.#historicalTimestamp;
|
|
101
|
+
}
|
|
99
102
|
/**
|
|
100
103
|
* Gets pyth payloads
|
|
101
104
|
* @param dataFeedsIds
|
|
@@ -52,10 +52,7 @@ class RedstoneUpdater extends SDKConstruct {
|
|
|
52
52
|
`using historical timestamp ${this.#historicalTimestampMs}`
|
|
53
53
|
);
|
|
54
54
|
}
|
|
55
|
-
this.#cache = new PriceUpdatesCache({
|
|
56
|
-
// currently staleness period is 240 seconds on all networks, add some buffer
|
|
57
|
-
// this period of 4 minutes is selected based on time that is required for user to sign transaction with wallet
|
|
58
|
-
// so it's unlikely to decrease
|
|
55
|
+
this.#cache = opts.cache ?? new PriceUpdatesCache({
|
|
59
56
|
ttl: opts.cacheTTL ?? 225 * 1e3,
|
|
60
57
|
historical: !!ts
|
|
61
58
|
});
|
|
@@ -126,6 +123,9 @@ class RedstoneUpdater extends SDKConstruct {
|
|
|
126
123
|
);
|
|
127
124
|
return results;
|
|
128
125
|
}
|
|
126
|
+
get historical() {
|
|
127
|
+
return !!this.#historicalTimestampMs;
|
|
128
|
+
}
|
|
129
129
|
/**
|
|
130
130
|
* Gets payloads, retries once if it has expired while inflight
|
|
131
131
|
* @param dataServiceId
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export * from "./fetchPythPayloads.js";
|
|
2
2
|
export * from "./fetchRedstonePayloads.js";
|
|
3
|
+
import { PriceUpdatesCache } from "./PriceUpdatesCache.js";
|
|
3
4
|
import { PythOptions, PythUpdater } from "./PythUpdater.js";
|
|
4
5
|
import { RedstoneOptions, RedstoneUpdater } from "./RedstoneUpdater.js";
|
|
5
6
|
export {
|
|
7
|
+
PriceUpdatesCache,
|
|
6
8
|
PythOptions,
|
|
7
9
|
PythUpdater,
|
|
8
10
|
RedstoneOptions,
|
package/dist/esm/sdk/options.js
CHANGED
|
@@ -4,53 +4,13 @@ import {
|
|
|
4
4
|
RedstoneOptions
|
|
5
5
|
} from "./market/pricefeeds/updates/index.js";
|
|
6
6
|
import { ZodAddress } from "./utils/index.js";
|
|
7
|
-
const
|
|
8
|
-
/**
|
|
9
|
-
* Override address of the Gearbox AddressProvider contract.
|
|
10
|
-
* If not set, uses default universal address provider address {@link ADDRESS_PROVIDER_V310}
|
|
11
|
-
**/
|
|
12
|
-
addressProvider: ZodAddress().optional(),
|
|
13
|
-
/**
|
|
14
|
-
* Addresses of market configurator contracts to load.
|
|
15
|
-
* If not set, all default market configurators for the chain are loaded
|
|
16
|
-
* (from {@link GearboxChain.defaultMarketConfigurators})
|
|
17
|
-
**/
|
|
18
|
-
marketConfigurators: z.array(ZodAddress()).optional(),
|
|
19
|
-
/**
|
|
20
|
-
* Pin SDK to a specific block number during attach.
|
|
21
|
-
* When set, all on-chain reads use this block instead of `latest`.
|
|
22
|
-
**/
|
|
23
|
-
blockNumber: z.union([z.bigint().nonnegative(), z.number().int().nonnegative()]).optional(),
|
|
24
|
-
/**
|
|
25
|
-
* Skip fetching updatable price feeds on attach and sync.
|
|
26
|
-
* Speeds up initialisation when prices are not needed.
|
|
27
|
-
**/
|
|
28
|
-
ignoreUpdateablePrices: z.boolean().optional(),
|
|
29
|
-
/**
|
|
30
|
-
* Pool addresses whose markets should be skipped during attach/hydrate/sync.
|
|
31
|
-
**/
|
|
32
|
-
ignoreMarkets: z.array(ZodAddress()).optional(),
|
|
33
|
-
/**
|
|
34
|
-
* When `true`, throw on unrecognised contract types instead of falling
|
|
35
|
-
* back to a generic contract wrapper.
|
|
36
|
-
**/
|
|
7
|
+
const OnchainSDKOptionsSchema = z.object({
|
|
8
|
+
/** When `true`, throw on unrecognised contract types. */
|
|
37
9
|
strictContractTypes: z.boolean().optional(),
|
|
38
|
-
/**
|
|
39
|
-
* Plugins that extend SDK functionality.
|
|
40
|
-
**/
|
|
10
|
+
/** Plugins that extend SDK functionality. */
|
|
41
11
|
plugins: z.record(z.string(), z.any()).optional(),
|
|
42
|
-
/**
|
|
43
|
-
* Custom logger implementation.
|
|
44
|
-
**/
|
|
12
|
+
/** Custom logger implementation. */
|
|
45
13
|
logger: z.any(),
|
|
46
|
-
/**
|
|
47
|
-
* Options for Redstone price-feed updates.
|
|
48
|
-
**/
|
|
49
|
-
redstone: RedstoneOptions.optional(),
|
|
50
|
-
/**
|
|
51
|
-
* Options for Pyth price-feed updates.
|
|
52
|
-
**/
|
|
53
|
-
pyth: PythOptions.optional(),
|
|
54
14
|
/**
|
|
55
15
|
* Explicit gas limit for read-only `eth_call` requests.
|
|
56
16
|
* `null` disables the gas limit entirely; `undefined` uses the SDK default.
|
|
@@ -58,6 +18,23 @@ const SDKOptions = z.object({
|
|
|
58
18
|
**/
|
|
59
19
|
gasLimit: z.bigint().nonnegative().nullable().optional()
|
|
60
20
|
});
|
|
21
|
+
const AttachOptionsSchema = z.object({
|
|
22
|
+
/** Override address of the Gearbox AddressProvider contract. */
|
|
23
|
+
addressProvider: ZodAddress().optional(),
|
|
24
|
+
/** Addresses of market configurator contracts to load. */
|
|
25
|
+
marketConfigurators: z.array(ZodAddress()).optional(),
|
|
26
|
+
/** Pin SDK to a specific block number during attach. */
|
|
27
|
+
blockNumber: z.union([z.bigint().nonnegative(), z.number().int().nonnegative()]).optional(),
|
|
28
|
+
/** Skip fetching updatable price feeds on attach and sync. */
|
|
29
|
+
ignoreUpdateablePrices: z.boolean().optional(),
|
|
30
|
+
/** Pool addresses whose markets should be skipped. */
|
|
31
|
+
ignoreMarkets: z.array(ZodAddress()).optional(),
|
|
32
|
+
/** Options for Redstone price-feed updates. */
|
|
33
|
+
redstone: RedstoneOptions.optional(),
|
|
34
|
+
/** Options for Pyth price-feed updates. */
|
|
35
|
+
pyth: PythOptions.optional()
|
|
36
|
+
});
|
|
61
37
|
export {
|
|
62
|
-
|
|
38
|
+
AttachOptionsSchema,
|
|
39
|
+
OnchainSDKOptionsSchema
|
|
63
40
|
};
|