@gearbox-protocol/sdk 13.6.0-kyc.7 → 14.0.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/dev/AccountOpener.js +5 -45
- 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/plugins/adapters/abi/actionAbi.js +1 -1
- package/dist/cjs/plugins/adapters/abi/conctructorAbi.js +1 -1
- package/dist/cjs/plugins/adapters/createAdapter.js +1 -1
- package/dist/cjs/plugins/adapters/types.js +1 -1
- package/dist/cjs/sdk/MultichainSDK.js +223 -0
- package/dist/cjs/sdk/OnchainSDK.js +470 -0
- package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +16 -324
- package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +1 -7
- package/dist/cjs/sdk/base/TokensMeta.js +43 -32
- package/dist/cjs/sdk/base/token-types.js +0 -9
- package/dist/cjs/sdk/chain/chains.js +32 -17
- package/dist/cjs/sdk/constants/address-provider.js +0 -3
- 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/MarketRegister.js +116 -70
- package/dist/cjs/sdk/market/MarketSuite.js +0 -3
- package/dist/cjs/sdk/market/index.js +0 -2
- package/dist/cjs/sdk/market/pool/PoolSuite.js +0 -3
- package/dist/cjs/sdk/market/pool/PoolV310Contract.js +2 -11
- package/dist/cjs/sdk/market/pool/index.js +0 -2
- package/dist/cjs/sdk/market/pricefeeds/PriceFeedsRegister.js +10 -3
- 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 +25 -53
- package/dist/cjs/sdk/plugins/BasePlugin.js +11 -4
- package/dist/cjs/sdk/pools/PoolService.js +12 -104
- package/dist/cjs/sdk/utils/viem/index.js +3 -3
- package/dist/cjs/sdk/utils/viem/simulateWithPriceUpdates.js +39 -2
- package/dist/cjs/sdk/utils/viem/watchBlocksAsync.js +76 -0
- package/dist/esm/dev/AccountOpener.js +6 -47
- 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/plugins/adapters/abi/actionAbi.js +1 -1
- package/dist/esm/plugins/adapters/abi/conctructorAbi.js +1 -1
- package/dist/esm/plugins/adapters/createAdapter.js +1 -1
- package/dist/esm/plugins/adapters/types.js +1 -1
- package/dist/esm/sdk/MultichainSDK.js +208 -0
- package/dist/esm/sdk/OnchainSDK.js +464 -0
- package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +17 -328
- package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +1 -7
- package/dist/esm/sdk/base/TokensMeta.js +45 -32
- package/dist/esm/sdk/base/token-types.js +0 -6
- package/dist/esm/sdk/chain/chains.js +32 -17
- package/dist/esm/sdk/constants/address-provider.js +0 -2
- 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/MarketRegister.js +118 -74
- package/dist/esm/sdk/market/MarketSuite.js +0 -3
- package/dist/esm/sdk/market/index.js +0 -1
- package/dist/esm/sdk/market/pool/PoolSuite.js +0 -3
- package/dist/esm/sdk/market/pool/PoolV310Contract.js +2 -11
- package/dist/esm/sdk/market/pool/index.js +0 -1
- package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +10 -3
- 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 +23 -52
- package/dist/esm/sdk/plugins/BasePlugin.js +11 -4
- package/dist/esm/sdk/pools/PoolService.js +13 -109
- package/dist/esm/sdk/utils/viem/index.js +1 -1
- package/dist/esm/sdk/utils/viem/simulateWithPriceUpdates.js +41 -2
- 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}/adapters/types.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/{plugins → src/plugins}/pools-history/Pools7DAgoPlugin.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 +4 -54
- package/dist/types/{sdk → src/sdk}/accounts/CreditAccountsServiceV310.d.ts +1 -1
- package/dist/types/{sdk → src/sdk}/accounts/createCreditAccountService.d.ts +2 -2
- package/dist/types/{sdk → src/sdk}/accounts/types.d.ts +15 -95
- package/dist/types/{sdk → src/sdk}/base/SDKConstruct.d.ts +4 -4
- package/dist/types/{sdk → src/sdk}/base/TokensMeta.d.ts +3 -14
- package/dist/types/src/sdk/base/token-types.d.ts +13 -0
- package/dist/types/{sdk → src/sdk}/base/types.d.ts +11 -116
- package/dist/types/{sdk → src/sdk}/chain/chains.d.ts +5 -5
- package/dist/types/{sdk → src/sdk}/constants/address-provider.d.ts +0 -1
- 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 +11 -8
- package/dist/types/{sdk → src/sdk}/market/MarketSuite.d.ts +2 -4
- 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/index.d.ts +0 -1
- 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 +5 -6
- 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/oracle/types.d.ts +10 -3
- package/dist/types/{sdk → src/sdk}/market/pool/PoolSuite.d.ts +2 -4
- package/dist/types/{sdk → src/sdk}/market/pool/PoolV310Contract.d.ts +2 -6
- 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/pool/index.d.ts +0 -1
- package/dist/types/{sdk → src/sdk}/market/pricefeeds/PriceFeedsRegister.d.ts +8 -3
- 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}/market/types.d.ts +1 -1
- package/dist/types/{sdk → src/sdk}/options.d.ts +15 -16
- 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}/pools/PoolService.d.ts +8 -8
- package/dist/types/{sdk → src/sdk}/pools/types.d.ts +1 -1
- 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 -2
- package/dist/types/{sdk → src/sdk}/types/state.d.ts +14 -8
- 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 -1
- package/dist/types/src/sdk/utils/viem/watchBlocksAsync.d.ts +74 -0
- package/package.json +8 -8
- package/dist/cjs/abi/kyc/iDSRegistryService.js +0 -70
- package/dist/cjs/abi/kyc/iDSToken.js +0 -71
- package/dist/cjs/abi/kyc/iKYCCompressor.js +0 -196
- package/dist/cjs/abi/kyc/iKYCFactory.js +0 -122
- package/dist/cjs/abi/kyc/iKYCUnderlying.js +0 -401
- package/dist/cjs/abi/kyc/iSecuritizeDegenNFT.js +0 -326
- package/dist/cjs/abi/kyc/iSecuritizeKYCFactory.js +0 -319
- package/dist/cjs/dev/CachedStateSubscriber.js +0 -78
- package/dist/cjs/sdk/GearboxSDK.js +0 -696
- package/dist/cjs/sdk/market/kyc/KYCRegistry.js +0 -269
- package/dist/cjs/sdk/market/kyc/index.js +0 -26
- package/dist/cjs/sdk/market/kyc/securitize/SecuritizeKYCFactory.js +0 -244
- package/dist/cjs/sdk/market/kyc/securitize/constants.js +0 -28
- package/dist/cjs/sdk/market/kyc/securitize/index.js +0 -26
- package/dist/cjs/sdk/market/kyc/securitize/types.js +0 -16
- package/dist/cjs/sdk/market/kyc/types.js +0 -34
- package/dist/cjs/sdk/utils/viem/executeDelegatedMulticalls.js +0 -38
- package/dist/esm/abi/kyc/iDSRegistryService.js +0 -46
- package/dist/esm/abi/kyc/iDSToken.js +0 -47
- package/dist/esm/abi/kyc/iKYCCompressor.js +0 -172
- package/dist/esm/abi/kyc/iKYCFactory.js +0 -98
- package/dist/esm/abi/kyc/iKYCUnderlying.js +0 -377
- package/dist/esm/abi/kyc/iSecuritizeDegenNFT.js +0 -302
- package/dist/esm/abi/kyc/iSecuritizeKYCFactory.js +0 -295
- package/dist/esm/dev/CachedStateSubscriber.js +0 -54
- package/dist/esm/sdk/GearboxSDK.js +0 -689
- package/dist/esm/sdk/market/kyc/KYCRegistry.js +0 -253
- package/dist/esm/sdk/market/kyc/index.js +0 -3
- package/dist/esm/sdk/market/kyc/securitize/SecuritizeKYCFactory.js +0 -220
- package/dist/esm/sdk/market/kyc/securitize/constants.js +0 -4
- package/dist/esm/sdk/market/kyc/securitize/index.js +0 -3
- package/dist/esm/sdk/market/kyc/securitize/types.js +0 -0
- package/dist/esm/sdk/market/kyc/types.js +0 -9
- package/dist/esm/sdk/utils/viem/executeDelegatedMulticalls.js +0 -14
- package/dist/types/abi/kyc/iDSRegistryService.d.ts +0 -71
- package/dist/types/abi/kyc/iDSToken.d.ts +0 -67
- package/dist/types/abi/kyc/iKYCCompressor.d.ts +0 -228
- package/dist/types/abi/kyc/iKYCFactory.d.ts +0 -139
- package/dist/types/abi/kyc/iKYCUnderlying.d.ts +0 -548
- package/dist/types/abi/kyc/iSecuritizeDegenNFT.d.ts +0 -404
- package/dist/types/abi/kyc/iSecuritizeKYCFactory.d.ts +0 -376
- package/dist/types/dev/CachedStateSubscriber.d.ts +0 -21
- package/dist/types/sdk/GearboxSDK.d.ts +0 -324
- package/dist/types/sdk/base/token-types.d.ts +0 -53
- package/dist/types/sdk/market/kyc/KYCRegistry.d.ts +0 -52
- package/dist/types/sdk/market/kyc/index.d.ts +0 -3
- package/dist/types/sdk/market/kyc/securitize/SecuritizeKYCFactory.d.ts +0 -428
- package/dist/types/sdk/market/kyc/securitize/constants.d.ts +0 -1
- package/dist/types/sdk/market/kyc/securitize/index.d.ts +0 -3
- package/dist/types/sdk/market/kyc/securitize/types.d.ts +0 -127
- package/dist/types/sdk/market/kyc/types.d.ts +0 -170
- package/dist/types/sdk/plugins/errors.d.ts +0 -4
- package/dist/types/sdk/utils/viem/executeDelegatedMulticalls.d.ts +0 -28
- /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}/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/{plugins → src/plugins}/pools-history/index.d.ts +0 -0
- /package/dist/types/{plugins → src/plugins}/pools-history/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/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/errors.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/base/index.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/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/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/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/TumblerContract.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}/plugins/index.d.ts +0 -0
- /package/dist/types/{sdk → src/sdk}/pools/index.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,689 +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 { KYCRegistry } from "./market/kyc/index.js";
|
|
20
|
-
import { MarketRegister } from "./market/MarketRegister.js";
|
|
21
|
-
import { PriceFeedRegister } from "./market/pricefeeds/index.js";
|
|
22
|
-
import {
|
|
23
|
-
PluginStateVersionError
|
|
24
|
-
} from "./plugins/index.js";
|
|
25
|
-
import { createRouter } from "./router/index.js";
|
|
26
|
-
import { formatTimestamp, TypedObjectUtils, toAddress } from "./utils/index.js";
|
|
27
|
-
import { Hooks } from "./utils/internal/index.js";
|
|
28
|
-
import {
|
|
29
|
-
executeDelegatedMulticalls,
|
|
30
|
-
getLogsSafe
|
|
31
|
-
} from "./utils/viem/index.js";
|
|
32
|
-
const ERR_NOT_ATTACHED = new Error("Gearbox SDK not attached");
|
|
33
|
-
const STATE_VERSION = 1;
|
|
34
|
-
function createClient(opts, network) {
|
|
35
|
-
let transport;
|
|
36
|
-
if ("client" in opts) {
|
|
37
|
-
return opts.client;
|
|
38
|
-
}
|
|
39
|
-
if ("transport" in opts) {
|
|
40
|
-
transport = opts.transport;
|
|
41
|
-
} else {
|
|
42
|
-
const rpcs = opts.rpcURLs.map(
|
|
43
|
-
(url) => http(url, {
|
|
44
|
-
...opts.httpTransportOptions,
|
|
45
|
-
timeout: opts.timeout,
|
|
46
|
-
retryCount: opts.retryCount
|
|
47
|
-
})
|
|
48
|
-
);
|
|
49
|
-
transport = rpcs.length > 1 ? fallback(rpcs) : rpcs[0];
|
|
50
|
-
}
|
|
51
|
-
const chain = network ? defineChain({
|
|
52
|
-
...getChain(network.networkType),
|
|
53
|
-
id: network.chainId
|
|
54
|
-
}) : void 0;
|
|
55
|
-
return createPublicClient({ transport, chain });
|
|
56
|
-
}
|
|
57
|
-
async function attachClient(options, network) {
|
|
58
|
-
let { chainId, networkType } = network;
|
|
59
|
-
const attachClient2 = createClient(options);
|
|
60
|
-
if (networkType) {
|
|
61
|
-
if (!chainId) {
|
|
62
|
-
chainId = getChain(networkType).id;
|
|
63
|
-
}
|
|
64
|
-
} else {
|
|
65
|
-
networkType = await detectNetwork(attachClient2);
|
|
66
|
-
if (!chainId) {
|
|
67
|
-
chainId = await attachClient2.getChainId();
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
return createClient(options, { networkType, chainId });
|
|
71
|
-
}
|
|
72
|
-
class GearboxSDK extends ChainContractsRegister {
|
|
73
|
-
#hooks = new Hooks();
|
|
74
|
-
/**
|
|
75
|
-
* Registered plugin instances, keyed by plugin name.
|
|
76
|
-
**/
|
|
77
|
-
plugins;
|
|
78
|
-
#currentBlock;
|
|
79
|
-
#timestamp;
|
|
80
|
-
#syncing = false;
|
|
81
|
-
#addressProvider;
|
|
82
|
-
#attachConfig;
|
|
83
|
-
#marketRegister;
|
|
84
|
-
#kyc;
|
|
85
|
-
#priceFeeds;
|
|
86
|
-
/**
|
|
87
|
-
* Gas limit applied to read-only `eth_call` requests.
|
|
88
|
-
* `undefined` means that gas limit will not be set on read-only calls,
|
|
89
|
-
* leaving it to rpc provider to decide.
|
|
90
|
-
**/
|
|
91
|
-
gasLimit;
|
|
92
|
-
/**
|
|
93
|
-
* When `true`, the SDK throws on unrecognised contract types instead of
|
|
94
|
-
* falling back to a generic contract wrapper.
|
|
95
|
-
**/
|
|
96
|
-
strictContractTypes;
|
|
97
|
-
/**
|
|
98
|
-
* Registers a callback for an SDK lifecycle event.
|
|
99
|
-
*
|
|
100
|
-
* @see {@link SDKHooks} for available event names.
|
|
101
|
-
**/
|
|
102
|
-
addHook = this.#hooks.addHook.bind(this.#hooks);
|
|
103
|
-
/**
|
|
104
|
-
* Removes a previously registered lifecycle callback.
|
|
105
|
-
*
|
|
106
|
-
* @see {@link SDKHooks} for available event names.
|
|
107
|
-
**/
|
|
108
|
-
removeHook = this.#hooks.removeHook.bind(this.#hooks);
|
|
109
|
-
/**
|
|
110
|
-
* Creates and initialises a new SDK instance by reading live on-chain state.
|
|
111
|
-
*
|
|
112
|
-
* This is the primary way to bootstrap the SDK. The method connects to the
|
|
113
|
-
* chain, discovers the address provider and all configured markets, and
|
|
114
|
-
* attaches any supplied plugins.
|
|
115
|
-
*
|
|
116
|
-
* @param options - Combined SDK, client, and (optional) network options.
|
|
117
|
-
* @returns A fully initialised SDK instance.
|
|
118
|
-
**/
|
|
119
|
-
static async attach(options) {
|
|
120
|
-
const {
|
|
121
|
-
logger,
|
|
122
|
-
plugins,
|
|
123
|
-
blockNumber,
|
|
124
|
-
redstone,
|
|
125
|
-
pyth,
|
|
126
|
-
ignoreUpdateablePrices,
|
|
127
|
-
ignoreMarkets,
|
|
128
|
-
marketConfigurators: mcs,
|
|
129
|
-
kycFactories: kfs,
|
|
130
|
-
strictContractTypes,
|
|
131
|
-
gasLimit
|
|
132
|
-
} = options;
|
|
133
|
-
let { addressProvider } = options;
|
|
134
|
-
const client = await attachClient(options, options);
|
|
135
|
-
if (!addressProvider) {
|
|
136
|
-
addressProvider = ADDRESS_PROVIDER_V310;
|
|
137
|
-
}
|
|
138
|
-
const marketConfigurators = mcs ?? TypedObjectUtils.keys(client.chain.defaultMarketConfigurators);
|
|
139
|
-
const kycFactories = kfs ?? client.chain.kycFactories;
|
|
140
|
-
return new GearboxSDK({
|
|
141
|
-
client,
|
|
142
|
-
logger,
|
|
143
|
-
plugins,
|
|
144
|
-
strictContractTypes,
|
|
145
|
-
gasLimit
|
|
146
|
-
}).#attach({
|
|
147
|
-
addressProvider,
|
|
148
|
-
blockNumber,
|
|
149
|
-
ignoreUpdateablePrices,
|
|
150
|
-
ignoreMarkets,
|
|
151
|
-
marketConfigurators,
|
|
152
|
-
kycFactories,
|
|
153
|
-
redstone,
|
|
154
|
-
pyth
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
/**
|
|
158
|
-
* Creates a new SDK instance from a previously serialised {@link GearboxState}
|
|
159
|
-
* snapshot, without making any on-chain calls.
|
|
160
|
-
*
|
|
161
|
-
* Use this for fast startup when a recent state snapshot is available
|
|
162
|
-
* (e.g. loaded from a file or received from a backend service).
|
|
163
|
-
*
|
|
164
|
-
* @param options - SDK and client options (block number and address provider
|
|
165
|
-
* are taken from the snapshot).
|
|
166
|
-
* @param state - Serialised state obtained from {@link GearboxSDK.state}.
|
|
167
|
-
* @returns A fully initialised SDK instance.
|
|
168
|
-
* @throws If the snapshot's {@link STATE_VERSION} does not match.
|
|
169
|
-
**/
|
|
170
|
-
static hydrate(options, state) {
|
|
171
|
-
const { logger, plugins, strictContractTypes, gasLimit, ...rest } = options;
|
|
172
|
-
const client = createClient(options, {
|
|
173
|
-
networkType: state.network,
|
|
174
|
-
chainId: state.chainId
|
|
175
|
-
});
|
|
176
|
-
return new GearboxSDK({
|
|
177
|
-
client,
|
|
178
|
-
plugins,
|
|
179
|
-
logger,
|
|
180
|
-
strictContractTypes,
|
|
181
|
-
gasLimit
|
|
182
|
-
}).#hydrate(rest, state);
|
|
183
|
-
}
|
|
184
|
-
constructor(options) {
|
|
185
|
-
super(options.client, options.logger);
|
|
186
|
-
this.strictContractTypes = options.strictContractTypes ?? false;
|
|
187
|
-
this.plugins = options.plugins ?? {};
|
|
188
|
-
for (const plugin of Object.values(this.plugins)) {
|
|
189
|
-
plugin.sdk = this;
|
|
190
|
-
}
|
|
191
|
-
if (options.gasLimit !== null) {
|
|
192
|
-
this.gasLimit = options.gasLimit || 550000000n;
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
async #attach(opts) {
|
|
196
|
-
const {
|
|
197
|
-
addressProvider,
|
|
198
|
-
blockNumber,
|
|
199
|
-
ignoreUpdateablePrices,
|
|
200
|
-
ignoreMarkets,
|
|
201
|
-
marketConfigurators,
|
|
202
|
-
kycFactories,
|
|
203
|
-
redstone,
|
|
204
|
-
pyth
|
|
205
|
-
} = opts;
|
|
206
|
-
const re = this.#attachConfig ? "re" : "";
|
|
207
|
-
this.logger?.info(
|
|
208
|
-
{
|
|
209
|
-
networkType: this.networkType,
|
|
210
|
-
chainId: this.chainId,
|
|
211
|
-
addressProvider,
|
|
212
|
-
marketConfigurators,
|
|
213
|
-
kycFactories,
|
|
214
|
-
blockNumber,
|
|
215
|
-
ignoreMarkets
|
|
216
|
-
},
|
|
217
|
-
`${re}attaching gearbox sdk`
|
|
218
|
-
);
|
|
219
|
-
if (!!blockNumber && !opts.redstone?.historicTimestamp) {
|
|
220
|
-
this.logger?.warn(
|
|
221
|
-
`${re}attaching to fixed block number, but redstone historicTimestamp is not set. price updates might fail`
|
|
222
|
-
);
|
|
223
|
-
}
|
|
224
|
-
if (!!blockNumber && !opts.pyth?.historicTimestamp) {
|
|
225
|
-
this.logger?.warn(
|
|
226
|
-
`${re}attaching to fixed block number, but pyth historicTimestamp is not set. price updates might fail`
|
|
227
|
-
);
|
|
228
|
-
}
|
|
229
|
-
this.#attachConfig = opts;
|
|
230
|
-
const time = Date.now();
|
|
231
|
-
const block = await this.client.getBlock(
|
|
232
|
-
blockNumber ? { blockNumber: BigInt(blockNumber) } : {
|
|
233
|
-
blockTag: "latest"
|
|
234
|
-
}
|
|
235
|
-
);
|
|
236
|
-
this.#currentBlock = block.number;
|
|
237
|
-
this.#timestamp = block.timestamp;
|
|
238
|
-
this.#priceFeeds = new PriceFeedRegister(this, { redstone, pyth });
|
|
239
|
-
this.logger?.debug(
|
|
240
|
-
`${re}attach block number ${this.currentBlock} timestamp ${this.timestamp}`
|
|
241
|
-
);
|
|
242
|
-
this.#addressProvider = await createAddressProvider(this, addressProvider);
|
|
243
|
-
this.logger?.debug(
|
|
244
|
-
`address provider version: ${this.#addressProvider.version}`
|
|
245
|
-
);
|
|
246
|
-
await this.#addressProvider.syncState(this.currentBlock);
|
|
247
|
-
this.#marketRegister = new MarketRegister(this, ignoreMarkets);
|
|
248
|
-
this.#kyc = new KYCRegistry(this);
|
|
249
|
-
if (!marketConfigurators.length) {
|
|
250
|
-
this.logger?.warn(
|
|
251
|
-
"no market configurators provided, skipping market loading"
|
|
252
|
-
);
|
|
253
|
-
} else {
|
|
254
|
-
const delegated = [
|
|
255
|
-
...this.#marketRegister.getLoadMulticalls(marketConfigurators),
|
|
256
|
-
...this.#kyc.getLoadMulticalls(marketConfigurators, kycFactories)
|
|
257
|
-
];
|
|
258
|
-
let txs = [];
|
|
259
|
-
if (!ignoreUpdateablePrices) {
|
|
260
|
-
const updatables = await this.#priceFeeds.getPartialUpdatablePriceFeeds(
|
|
261
|
-
marketConfigurators
|
|
262
|
-
);
|
|
263
|
-
const updates = await this.#priceFeeds.generatePriceFeedsUpdateTxs(updatables);
|
|
264
|
-
txs = updates.txs;
|
|
265
|
-
}
|
|
266
|
-
this.logger?.debug(
|
|
267
|
-
{ configurators: marketConfigurators },
|
|
268
|
-
`calling getMarkets with ${txs.length} price updates in block ${this.currentBlock}`
|
|
269
|
-
);
|
|
270
|
-
await executeDelegatedMulticalls(this.client, delegated, {
|
|
271
|
-
priceUpdates: txs,
|
|
272
|
-
blockNumber: this.currentBlock,
|
|
273
|
-
gas: this.gasLimit
|
|
274
|
-
});
|
|
275
|
-
}
|
|
276
|
-
const pluginsList = TypedObjectUtils.entries(this.plugins);
|
|
277
|
-
const pluginResponse = await Promise.allSettled(
|
|
278
|
-
pluginsList.map(([name, plugin]) => {
|
|
279
|
-
if (plugin.attach) {
|
|
280
|
-
this.logger?.debug(`${re}attaching plugin ${name}`);
|
|
281
|
-
return plugin.attach();
|
|
282
|
-
}
|
|
283
|
-
return void 0;
|
|
284
|
-
})
|
|
285
|
-
);
|
|
286
|
-
pluginResponse.forEach((r, i) => {
|
|
287
|
-
const [name, plugin] = pluginsList[i];
|
|
288
|
-
if (plugin.attach && r.status === "fulfilled") {
|
|
289
|
-
this.logger?.debug(`${re}attached plugin ${name}`);
|
|
290
|
-
} else if (plugin.attach && r.status === "rejected") {
|
|
291
|
-
this.logger?.error(r.reason, `failed to ${re}attach plugin ${name}`);
|
|
292
|
-
}
|
|
293
|
-
});
|
|
294
|
-
this.logger?.info(`${re}attach time: ${Date.now() - time} ms`);
|
|
295
|
-
return this;
|
|
296
|
-
}
|
|
297
|
-
#hydrate(options, state) {
|
|
298
|
-
const { logger: _logger, ignoreMarkets, ...opts } = options;
|
|
299
|
-
if (state.version !== STATE_VERSION) {
|
|
300
|
-
throw new Error(
|
|
301
|
-
`hydrated state version is ${state.version}, but expected ${STATE_VERSION}`
|
|
302
|
-
);
|
|
303
|
-
}
|
|
304
|
-
const re = this.#attachConfig ? "re" : "";
|
|
305
|
-
this.logger?.info(
|
|
306
|
-
{ networkType: this.networkType },
|
|
307
|
-
`${re}hydrating sdk state`
|
|
308
|
-
);
|
|
309
|
-
this.#currentBlock = state.currentBlock;
|
|
310
|
-
this.#timestamp = state.timestamp;
|
|
311
|
-
this.#priceFeeds = new PriceFeedRegister(this, {
|
|
312
|
-
redstone: opts.redstone,
|
|
313
|
-
pyth: opts.pyth
|
|
314
|
-
});
|
|
315
|
-
this.#addressProvider = hydrateAddressProvider(this, state.addressProvider);
|
|
316
|
-
this.logger?.debug(
|
|
317
|
-
`address provider version: ${this.#addressProvider.version}`
|
|
318
|
-
);
|
|
319
|
-
this.#marketRegister = new MarketRegister(this, ignoreMarkets);
|
|
320
|
-
this.#marketRegister.hydrate(state.markets);
|
|
321
|
-
this.#kyc = new KYCRegistry(this);
|
|
322
|
-
this.#kyc.setState(state.kyc);
|
|
323
|
-
this.#attachConfig = {
|
|
324
|
-
...opts,
|
|
325
|
-
addressProvider: this.addressProvider.address,
|
|
326
|
-
marketConfigurators: this.marketRegister.marketConfigurators.map(
|
|
327
|
-
(m) => m.address
|
|
328
|
-
),
|
|
329
|
-
kycFactories: this.kyc.factories.map((f) => f.address),
|
|
330
|
-
blockNumber: this.currentBlock
|
|
331
|
-
};
|
|
332
|
-
for (const [name, plugin] of TypedObjectUtils.entries(this.plugins)) {
|
|
333
|
-
const pluginState = state.plugins[name];
|
|
334
|
-
if (plugin.hydrate && pluginState) {
|
|
335
|
-
if (!pluginState.loaded) {
|
|
336
|
-
this.logger?.debug(
|
|
337
|
-
`skipping ${re}hydrating plugin ${name} state: not loaded`
|
|
338
|
-
);
|
|
339
|
-
continue;
|
|
340
|
-
}
|
|
341
|
-
if (pluginState.version !== plugin.version) {
|
|
342
|
-
throw new PluginStateVersionError(plugin, pluginState);
|
|
343
|
-
}
|
|
344
|
-
plugin.hydrate(pluginState);
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
this.logger?.info(`${re}hydrated sdk state`);
|
|
348
|
-
return this;
|
|
349
|
-
}
|
|
350
|
-
/**
|
|
351
|
-
* Re-attaches the SDK using the same configuration, discarding all cached
|
|
352
|
-
* state and re-reading everything from the chain.
|
|
353
|
-
*
|
|
354
|
-
* Useful when the SDK needs a full refresh (e.g. after a protocol upgrade).
|
|
355
|
-
* Note that if the original `blockNumber` was pinned, the same block is
|
|
356
|
-
* re-used — call {@link syncState} instead if you want to advance.
|
|
357
|
-
*
|
|
358
|
-
* @throws If the SDK has not been attached yet.
|
|
359
|
-
**/
|
|
360
|
-
async reattach() {
|
|
361
|
-
if (!this.#attachConfig) {
|
|
362
|
-
throw new Error("cannot reattach, attach config is not set");
|
|
363
|
-
}
|
|
364
|
-
await this.#attach(this.#attachConfig);
|
|
365
|
-
}
|
|
366
|
-
/**
|
|
367
|
-
* Replaces the SDK's in-memory state with a new serialised snapshot
|
|
368
|
-
* without re-creating the instance.
|
|
369
|
-
*
|
|
370
|
-
* After hydration the `rehydrate` hook is triggered so that listeners
|
|
371
|
-
* can react to the state change.
|
|
372
|
-
*
|
|
373
|
-
* @param state - Serialised state obtained from {@link GearboxSDK.state}.
|
|
374
|
-
* @throws If the SDK has not been attached or hydrated yet.
|
|
375
|
-
**/
|
|
376
|
-
async rehydrate(state) {
|
|
377
|
-
if (!this.#attachConfig) {
|
|
378
|
-
throw new Error("cannot rehydrate, attach config is not set");
|
|
379
|
-
}
|
|
380
|
-
const opts = {
|
|
381
|
-
ignoreUpdateablePrices: this.#attachConfig.ignoreUpdateablePrices,
|
|
382
|
-
redstone: this.#attachConfig.redstone,
|
|
383
|
-
pyth: this.#attachConfig.pyth
|
|
384
|
-
};
|
|
385
|
-
this.#hydrate(opts, state);
|
|
386
|
-
await this.#hooks.triggerHooks("rehydrate", {
|
|
387
|
-
blockNumber: state.currentBlock,
|
|
388
|
-
timestamp: state.timestamp
|
|
389
|
-
});
|
|
390
|
-
}
|
|
391
|
-
/**
|
|
392
|
-
* Gearbox network type the SDK is connected to (e.g. `"Mainnet"`, `"Arbitrum"`).
|
|
393
|
-
**/
|
|
394
|
-
get networkType() {
|
|
395
|
-
return this.client.chain.network;
|
|
396
|
-
}
|
|
397
|
-
/**
|
|
398
|
-
* Returns a human-readable snapshot of the entire SDK state, suitable
|
|
399
|
-
* for logging or diagnostic inspection.
|
|
400
|
-
*
|
|
401
|
-
* @param raw - When `true`, include raw numeric values alongside
|
|
402
|
-
* formatted ones.
|
|
403
|
-
* @default true
|
|
404
|
-
**/
|
|
405
|
-
stateHuman(raw = true) {
|
|
406
|
-
return {
|
|
407
|
-
block: Number(this.currentBlock),
|
|
408
|
-
timestamp: formatTimestamp(Number(this.timestamp), raw),
|
|
409
|
-
core: {
|
|
410
|
-
addressProviderV3: this.addressProvider.stateHuman(raw)
|
|
411
|
-
},
|
|
412
|
-
tokens: this.tokensMeta.values(),
|
|
413
|
-
kyc: this.kyc.stateHuman(raw),
|
|
414
|
-
plugins: Object.fromEntries(
|
|
415
|
-
TypedObjectUtils.entries(this.plugins).map(([name, plugin]) => [
|
|
416
|
-
name,
|
|
417
|
-
plugin.loaded ? plugin.stateHuman?.(raw) : void 0
|
|
418
|
-
])
|
|
419
|
-
),
|
|
420
|
-
...this.marketRegister.stateHuman(raw)
|
|
421
|
-
};
|
|
422
|
-
}
|
|
423
|
-
/**
|
|
424
|
-
* Serialisable snapshot of the current SDK state.
|
|
425
|
-
*
|
|
426
|
-
* The returned object can be persisted (e.g. written to a file) and later
|
|
427
|
-
* passed to {@link GearboxSDK.hydrate} for instant restoration without
|
|
428
|
-
* on-chain reads.
|
|
429
|
-
**/
|
|
430
|
-
get state() {
|
|
431
|
-
return {
|
|
432
|
-
version: STATE_VERSION,
|
|
433
|
-
network: this.networkType,
|
|
434
|
-
chainId: this.chainId,
|
|
435
|
-
currentBlock: this.currentBlock,
|
|
436
|
-
timestamp: this.timestamp,
|
|
437
|
-
addressProvider: this.addressProvider.state,
|
|
438
|
-
markets: this.marketRegister.state,
|
|
439
|
-
kyc: this.kyc.state,
|
|
440
|
-
plugins: Object.fromEntries(
|
|
441
|
-
TypedObjectUtils.entries(this.plugins).map(([name, plugin]) => [
|
|
442
|
-
name,
|
|
443
|
-
plugin.loaded ? { version: plugin.version, loaded: true, ...plugin.state } : { version: plugin.version, loaded: false }
|
|
444
|
-
])
|
|
445
|
-
)
|
|
446
|
-
};
|
|
447
|
-
}
|
|
448
|
-
/**
|
|
449
|
-
* Incrementally updates the SDK state by replaying on-chain events from the
|
|
450
|
-
* last processed block up to the target block (defaults to `latest`).
|
|
451
|
-
*
|
|
452
|
-
* Use the to periodically update sdk state on cron, or subscribe to new blocks
|
|
453
|
-
* using viem's `watchBlocks`
|
|
454
|
-
*
|
|
455
|
-
* On failure the SDK reverts to the previous block/timestamp so that
|
|
456
|
-
* subsequent calls can retry.
|
|
457
|
-
*
|
|
458
|
-
* @param opts - Target block and sync behaviour. When omitted the latest
|
|
459
|
-
* block is fetched automatically.
|
|
460
|
-
* @returns `true` if the sync completed successfully, `false` if it was
|
|
461
|
-
* skipped or failed.
|
|
462
|
-
**/
|
|
463
|
-
async syncState(opts) {
|
|
464
|
-
let {
|
|
465
|
-
blockNumber,
|
|
466
|
-
timestamp,
|
|
467
|
-
ignoreUpdateablePrices = this.#attachConfig?.ignoreUpdateablePrices
|
|
468
|
-
} = opts ?? {};
|
|
469
|
-
if (this.#attachConfig?.redstone?.historicTimestamp || this.#attachConfig?.pyth?.historicTimestamp) {
|
|
470
|
-
throw new Error(
|
|
471
|
-
"syncState is not supported with redstone or pyth historicTimestamp"
|
|
472
|
-
);
|
|
473
|
-
}
|
|
474
|
-
if (!blockNumber || !timestamp) {
|
|
475
|
-
const block = await this.client.getBlock({
|
|
476
|
-
blockTag: "latest"
|
|
477
|
-
});
|
|
478
|
-
blockNumber = block.number;
|
|
479
|
-
timestamp = block.timestamp;
|
|
480
|
-
}
|
|
481
|
-
if (blockNumber <= this.currentBlock) {
|
|
482
|
-
return false;
|
|
483
|
-
}
|
|
484
|
-
if (this.#syncing) {
|
|
485
|
-
this.logger?.warn(
|
|
486
|
-
`cannot sync to ${blockNumber}, already syncing at ${this.currentBlock}`
|
|
487
|
-
);
|
|
488
|
-
return false;
|
|
489
|
-
}
|
|
490
|
-
this.#syncing = true;
|
|
491
|
-
const prevBlock = this.currentBlock;
|
|
492
|
-
const prevTimestamp = this.timestamp;
|
|
493
|
-
let success = false;
|
|
494
|
-
try {
|
|
495
|
-
let delta = Math.floor(Date.now() / 1e3) - Number(timestamp);
|
|
496
|
-
this.logger?.debug(
|
|
497
|
-
`syncing state to block ${blockNumber} (delta ${delta}s )...`
|
|
498
|
-
);
|
|
499
|
-
const watchAddresses = [
|
|
500
|
-
...Array.from(this.marketRegister.watchAddresses),
|
|
501
|
-
this.addressProvider.address
|
|
502
|
-
];
|
|
503
|
-
const fromBlock = this.currentBlock + 1n;
|
|
504
|
-
this.logger?.debug(
|
|
505
|
-
`getting logs from ${watchAddresses.length} addresses in [${fromBlock}:${blockNumber}]`
|
|
506
|
-
);
|
|
507
|
-
const logs = await getLogsSafe(this.client, {
|
|
508
|
-
fromBlock,
|
|
509
|
-
toBlock: blockNumber,
|
|
510
|
-
address: watchAddresses
|
|
511
|
-
});
|
|
512
|
-
for (const log of logs) {
|
|
513
|
-
const contract = this.getContract(log.address);
|
|
514
|
-
if (contract) {
|
|
515
|
-
const event = parseEventLogs({
|
|
516
|
-
abi: contract.abi,
|
|
517
|
-
logs: [log]
|
|
518
|
-
})[0];
|
|
519
|
-
contract.processLog(event);
|
|
520
|
-
}
|
|
521
|
-
}
|
|
522
|
-
this.#currentBlock = blockNumber;
|
|
523
|
-
this.#timestamp = timestamp;
|
|
524
|
-
await this.marketRegister.syncState(ignoreUpdateablePrices);
|
|
525
|
-
await this.#hooks.triggerHooks("syncState", {
|
|
526
|
-
blockNumber,
|
|
527
|
-
timestamp,
|
|
528
|
-
ignoreUpdateablePrices
|
|
529
|
-
});
|
|
530
|
-
const pluginsList = TypedObjectUtils.entries(this.plugins);
|
|
531
|
-
const pluginResponse = await Promise.allSettled(
|
|
532
|
-
pluginsList.map(([name, plugin]) => {
|
|
533
|
-
if (plugin.syncState) {
|
|
534
|
-
this.logger?.debug(`syncing plugin ${name}`);
|
|
535
|
-
return plugin.syncState();
|
|
536
|
-
}
|
|
537
|
-
return void 0;
|
|
538
|
-
})
|
|
539
|
-
);
|
|
540
|
-
pluginResponse.forEach((r, i) => {
|
|
541
|
-
const [name, plugin] = pluginsList[i];
|
|
542
|
-
if (plugin.syncState && r.status === "fulfilled") {
|
|
543
|
-
this.logger?.debug(`synced plugin ${name}`);
|
|
544
|
-
} else if (plugin.syncState && r.status === "rejected") {
|
|
545
|
-
this.logger?.error(r.reason, `failed to sync plugin ${name}`);
|
|
546
|
-
}
|
|
547
|
-
});
|
|
548
|
-
delta = Math.floor(Date.now() / 1e3) - Number(timestamp);
|
|
549
|
-
this.logger?.debug(
|
|
550
|
-
`synced state to block ${blockNumber} (delta ${delta}s)`
|
|
551
|
-
);
|
|
552
|
-
success = true;
|
|
553
|
-
} catch (e) {
|
|
554
|
-
this.logger?.error(
|
|
555
|
-
`sync state to block ${blockNumber} with ts ${timestamp} failed, reverting to old block ${prevBlock} with ts ${prevTimestamp}: ${e}`
|
|
556
|
-
);
|
|
557
|
-
this.#currentBlock = prevBlock;
|
|
558
|
-
this.#timestamp = prevTimestamp;
|
|
559
|
-
} finally {
|
|
560
|
-
this.#syncing = false;
|
|
561
|
-
}
|
|
562
|
-
return success;
|
|
563
|
-
}
|
|
564
|
-
/**
|
|
565
|
-
* Block number that the SDK state corresponds to.
|
|
566
|
-
*
|
|
567
|
-
* @throws If the SDK has not been attached or hydrated yet.
|
|
568
|
-
**/
|
|
569
|
-
get currentBlock() {
|
|
570
|
-
if (this.#currentBlock === void 0) {
|
|
571
|
-
throw ERR_NOT_ATTACHED;
|
|
572
|
-
}
|
|
573
|
-
return this.#currentBlock;
|
|
574
|
-
}
|
|
575
|
-
/**
|
|
576
|
-
* Block timestamp (Unix epoch seconds) corresponding to {@link currentBlock}.
|
|
577
|
-
*
|
|
578
|
-
* @throws If the SDK has not been attached or hydrated yet.
|
|
579
|
-
**/
|
|
580
|
-
get timestamp() {
|
|
581
|
-
if (this.#timestamp === void 0) {
|
|
582
|
-
throw ERR_NOT_ATTACHED;
|
|
583
|
-
}
|
|
584
|
-
return this.#timestamp;
|
|
585
|
-
}
|
|
586
|
-
/**
|
|
587
|
-
* Global registry of all price feeds known to the SDK (on all markets).
|
|
588
|
-
*
|
|
589
|
-
* Unlike per-oracle price feed references, this register does not carry
|
|
590
|
-
* oracle-specific metadata (staleness period, main/reserve designation, etc.).
|
|
591
|
-
*
|
|
592
|
-
* @throws If the SDK has not been attached or hydrated yet.
|
|
593
|
-
**/
|
|
594
|
-
get priceFeeds() {
|
|
595
|
-
if (this.#priceFeeds === void 0) {
|
|
596
|
-
throw ERR_NOT_ATTACHED;
|
|
597
|
-
}
|
|
598
|
-
return this.#priceFeeds;
|
|
599
|
-
}
|
|
600
|
-
/**
|
|
601
|
-
* Address of the GEAR governance token on this chain, or `undefined`
|
|
602
|
-
* if the address provider does not list it.
|
|
603
|
-
**/
|
|
604
|
-
get gear() {
|
|
605
|
-
try {
|
|
606
|
-
const g = this.addressProvider.getAddress(AP_GEAR_TOKEN, NO_VERSION);
|
|
607
|
-
return g;
|
|
608
|
-
} catch (e) {
|
|
609
|
-
this.logger?.warn(e);
|
|
610
|
-
return void 0;
|
|
611
|
-
}
|
|
612
|
-
}
|
|
613
|
-
/**
|
|
614
|
-
* The chain's address provider contract, the central directory for all
|
|
615
|
-
* protocol-wide Gearbox protocol addresses.
|
|
616
|
-
*
|
|
617
|
-
* @throws If the SDK has not been attached or hydrated yet.
|
|
618
|
-
**/
|
|
619
|
-
get addressProvider() {
|
|
620
|
-
if (this.#addressProvider === void 0) {
|
|
621
|
-
throw ERR_NOT_ATTACHED;
|
|
622
|
-
}
|
|
623
|
-
return this.#addressProvider;
|
|
624
|
-
}
|
|
625
|
-
/**
|
|
626
|
-
* Registry of all loaded markets (pools, credit managers, oracles, etc.).
|
|
627
|
-
*
|
|
628
|
-
* @throws If the SDK has not been attached or hydrated yet.
|
|
629
|
-
**/
|
|
630
|
-
get marketRegister() {
|
|
631
|
-
if (this.#marketRegister === void 0) {
|
|
632
|
-
throw ERR_NOT_ATTACHED;
|
|
633
|
-
}
|
|
634
|
-
return this.#marketRegister;
|
|
635
|
-
}
|
|
636
|
-
/**
|
|
637
|
-
* KYC register for KYC-wrapped underlying tokens and factories.
|
|
638
|
-
*
|
|
639
|
-
* @throws If the SDK has not been attached or hydrated yet.
|
|
640
|
-
**/
|
|
641
|
-
get kyc() {
|
|
642
|
-
if (this.#kyc === void 0) {
|
|
643
|
-
throw ERR_NOT_ATTACHED;
|
|
644
|
-
}
|
|
645
|
-
return this.#kyc;
|
|
646
|
-
}
|
|
647
|
-
/**
|
|
648
|
-
* Resolves the appropriate router contract for a given credit manager,
|
|
649
|
-
* credit facade, or explicit version range.
|
|
650
|
-
*
|
|
651
|
-
* @param params - Identifies the context: a credit manager address/state,
|
|
652
|
-
* a credit facade address/state, or a {@link VersionRange}.
|
|
653
|
-
* @returns The matching router contract instance.
|
|
654
|
-
* @throws If the credit facade version is unsupported or no router is
|
|
655
|
-
* registered for the resolved version range.
|
|
656
|
-
**/
|
|
657
|
-
routerFor(params) {
|
|
658
|
-
let routerRange;
|
|
659
|
-
if (Array.isArray(params)) {
|
|
660
|
-
routerRange = params;
|
|
661
|
-
} else {
|
|
662
|
-
let facadeAddr;
|
|
663
|
-
if ("creditFacade" in params) {
|
|
664
|
-
facadeAddr = toAddress(params.creditFacade);
|
|
665
|
-
} else {
|
|
666
|
-
const cm = this.marketRegister.findCreditManager(
|
|
667
|
-
toAddress(params.creditManager)
|
|
668
|
-
);
|
|
669
|
-
facadeAddr = cm.creditFacade.address;
|
|
670
|
-
}
|
|
671
|
-
const facadeV = this.mustGetContract(facadeAddr).version;
|
|
672
|
-
if (isV310(facadeV)) {
|
|
673
|
-
routerRange = VERSION_RANGE_310;
|
|
674
|
-
} else {
|
|
675
|
-
throw new Error(`Unsupported credit facade version ${facadeV}`);
|
|
676
|
-
}
|
|
677
|
-
}
|
|
678
|
-
const routerEntry = this.addressProvider.getLatest(AP_ROUTER, routerRange);
|
|
679
|
-
if (!routerEntry) {
|
|
680
|
-
throw new Error(`router not found in version range ${routerRange}`);
|
|
681
|
-
}
|
|
682
|
-
const [routerAddr, routerV] = routerEntry;
|
|
683
|
-
return createRouter(this, routerAddr, routerV);
|
|
684
|
-
}
|
|
685
|
-
}
|
|
686
|
-
export {
|
|
687
|
-
GearboxSDK,
|
|
688
|
-
STATE_VERSION
|
|
689
|
-
};
|