@babylonlabs-io/ts-sdk 0.49.1 → 0.50.0

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.
@@ -1,4 +1,4 @@
1
- import { zeroAddress as W, encodeFunctionData as x } from "viem";
1
+ import { zeroAddress as H, encodeFunctionData as V } from "viem";
2
2
  const F = {
3
3
  /** Withdraw selected vaults from position (partial withdrawal) */
4
4
  WITHDRAW_COLLATERALS: "withdrawCollaterals",
@@ -8,21 +8,21 @@ const F = {
8
8
  REPAY: "repayToCorePosition",
9
9
  /** Reorder vault prefix ordering for liquidation priority */
10
10
  REORDER_VAULTS: "reorderVaults"
11
- }, oe = 8, ye = 6, le = 100, K = 1e4, Y = 26, J = 53, X = 18, Z = 1.5, de = 1.05, $ = 200n, me = 1 / Number($), w = /* @__PURE__ */ JSON.parse('[{"type":"constructor","inputs":[{"name":"vaultBTC_","type":"address","internalType":"address"},{"name":"coreSpoke_","type":"address","internalType":"address"},{"name":"btcVaultRegistry_","type":"address","internalType":"address"},{"name":"applicationRegistry_","type":"address","internalType":"address"},{"name":"proxyManager_","type":"address","internalType":"address"},{"name":"coreVaultBtcReserveId_","type":"uint256","internalType":"uint256"},{"name":"coreWbtcReserveId_","type":"uint256","internalType":"uint256"},{"name":"protocolParams_","type":"address","internalType":"address"},{"name":"llpRegistry_","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"APP_REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IApplicationRegistry"}],"stateMutability":"view"},{"type":"function","name":"BTC_VAULT_CORE_SPOKE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ITBVAaveSpoke"}],"stateMutability":"view"},{"type":"function","name":"BTC_VAULT_CORE_VAULT_BTC_RESERVE_ID","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"BTC_VAULT_CORE_WBTC_RESERVE_ID","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"BTC_VAULT_REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IBTCVaultRegistry"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"TIMELOCK_UPGRADER","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"VAULT_BTC","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IVaultBTC"}],"stateMutability":"view"},{"type":"function","name":"activateVault","inputs":[{"name":"vaultId","type":"bytes32","internalType":"bytes32"},{"name":"vault","type":"tuple","internalType":"struct IBTCVaultRegistry.BTCVault","components":[{"name":"depositor","type":"address","internalType":"address"},{"name":"depositorBtcPubKey","type":"bytes32","internalType":"bytes32"},{"name":"depositorSignedPeginTx","type":"bytes","internalType":"bytes"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"vaultProvider","type":"address","internalType":"address"},{"name":"status","type":"uint8","internalType":"enum IBTCVaultRegistry.BTCVaultStatus"},{"name":"applicationEntryPoint","type":"address","internalType":"address"},{"name":"universalChallengersVersion","type":"uint16","internalType":"uint16"},{"name":"appVaultKeepersVersion","type":"uint16","internalType":"uint16"},{"name":"offchainParamsVersion","type":"uint16","internalType":"uint16"},{"name":"createdAt","type":"uint256","internalType":"uint256"},{"name":"verifiedAt","type":"uint256","internalType":"uint256"},{"name":"depositorWotsPkHash","type":"bytes32","internalType":"bytes32"},{"name":"hashlock","type":"bytes32","internalType":"bytes32"},{"name":"htlcVout","type":"uint8","internalType":"uint8"},{"name":"depositorPopSignature","type":"bytes","internalType":"bytes"},{"name":"prePeginTxHash","type":"bytes32","internalType":"bytes32"}]},{"name":"activationMetadata","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"applicationRecipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"borrowFromCorePosition","inputs":[{"name":"debtReserveId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"receiver","type":"address","internalType":"address"}],"outputs":[{"name":"borrowedShares","type":"uint256","internalType":"uint256"},{"name":"borrowedAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"freeze","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fullPause","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getFairnessPaymentTokenConfig","inputs":[],"outputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getInterestFeeIndex","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"interestFeeIndex","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPosition","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"position","type":"tuple","internalType":"struct IAaveIntegrationAdapter.MarketPosition","components":[{"name":"vaultIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"totalCollateralBTC","type":"uint256","internalType":"uint256"},{"name":"proxyContract","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getPositionSizeParams","inputs":[],"outputs":[{"name":"maxPositionBTC","type":"uint256","internalType":"uint256"},{"name":"maxVaultsPerPosition","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getVaultUsageStatus","inputs":[{"name":"vaultId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"status","type":"uint8","internalType":"enum AaveVaultHandler.VaultUsageStatus"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"initialTBVAdmin","type":"address","internalType":"address"},{"name":"_applicationRecipient","type":"address","internalType":"address"},{"name":"_liquidationRedemptionFeeBps","type":"uint256","internalType":"uint256"},{"name":"_initialInterestFeeBps","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"interestFeeBps","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"isValidPositionResolver","inputs":[{"name":"resolver","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"liquidate","inputs":[{"name":"borrower","type":"address","internalType":"address"},{"name":"directBtcRedeemKey","type":"bytes32","internalType":"bytes32"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"priorityOrder","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"vaultIds","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"liquidateWithLLP","inputs":[{"name":"borrower","type":"address","internalType":"address"},{"name":"llp","type":"address","internalType":"address"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"priorityOrder","type":"uint256[]","internalType":"uint256[]"},{"name":"requestedTokens","type":"tuple[]","internalType":"struct TokenAmountLib.TokenAmount[]","components":[{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"vaultIds","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"liquidationRedemptionFeeBps","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"pauseState","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum ITBVPausable.PauseState"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"redeemVaultFromLLP","inputs":[{"name":"vaultId","type":"bytes32","internalType":"bytes32"},{"name":"btcRedeemKey","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerResolver","inputs":[{"name":"resolver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeResolver","inputs":[{"name":"resolver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"reorderVaults","inputs":[{"name":"permuted","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"repayToCorePosition","inputs":[{"name":"borrower","type":"address","internalType":"address"},{"name":"debtReserveId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"repaidFee","type":"uint256","internalType":"uint256"},{"name":"repaidShares","type":"uint256","internalType":"uint256"},{"name":"repaidAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApplicationRecipient","inputs":[{"name":"_applicationRecipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setInterestFeeBps","inputs":[{"name":"feeBps","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setLiquidationRedemptionFeeBps","inputs":[{"name":"feeBps","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPositionSizeParams","inputs":[{"name":"params","type":"tuple","internalType":"struct IAaveIntegrationAdapter.PositionSizeParams","components":[{"name":"maxPositionBTC","type":"uint256","internalType":"uint256"},{"name":"maxVaultsPerPosition","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"unfreeze","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unpause","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"vaultOwner","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"withdrawCollaterals","inputs":[{"name":"vaultsToWithdraw","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"amountWithdrawn","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"event","name":"AdapterApplicationRecipientUpdated","inputs":[{"name":"applicationFeeRecipient","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AdapterLiquidationRedemptionFeeUpdated","inputs":[{"name":"liquidationRedemptionFeeBps","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"AdapterPositionResolverAdded","inputs":[{"name":"positionResolver","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AdapterPositionResolverRemoved","inputs":[{"name":"positionResolver","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BTCVaultCoreSpokeLiquidated","inputs":[{"name":"depositor","type":"address","indexed":true,"internalType":"address"},{"name":"liquidator","type":"address","indexed":true,"internalType":"address"},{"name":"amountCollateralSeized","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"valueCollateralSeized","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"valueDebtRepaid","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BorrowedFromPosition","inputs":[{"name":"borrower","type":"address","indexed":true,"internalType":"address"},{"name":"debtReserveId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"receiver","type":"address","indexed":true,"internalType":"address"},{"name":"borrowAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CollateralAdded","inputs":[{"name":"positionAccount","type":"address","indexed":true,"internalType":"address"},{"name":"vaultId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"CollateralWithdrawn","inputs":[{"name":"positionAccount","type":"address","indexed":true,"internalType":"address"},{"name":"vaultId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"FairnessPaymentFailed","inputs":[{"name":"positionAccount","type":"address","indexed":true,"internalType":"address"},{"name":"liquidator","type":"address","indexed":true,"internalType":"address"},{"name":"protocolRecipient","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"FairnessPaymentPaid","inputs":[{"name":"positionAccount","type":"address","indexed":true,"internalType":"address"},{"name":"liquidator","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"InterestFeeUpdated","inputs":[{"name":"newInterestFeeBps","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"LiquidationSettledViaLLP","inputs":[{"name":"llp","type":"address","indexed":true,"internalType":"address"},{"name":"liquidator","type":"address","indexed":true,"internalType":"address"},{"name":"borrower","type":"address","indexed":true,"internalType":"address"},{"name":"vaultIds","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"payouts","type":"tuple[]","indexed":false,"internalType":"struct TokenAmountLib.TokenAmount[]","components":[{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}]}],"anonymous":false},{"type":"event","name":"PausedWith","inputs":[{"name":"state","type":"uint8","indexed":true,"internalType":"enum ITBVPausable.PauseState"},{"name":"pauser","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PositionSizeParamsUpdated","inputs":[{"name":"newParams","type":"tuple","indexed":false,"internalType":"struct IAaveIntegrationAdapter.PositionSizeParams","components":[{"name":"maxPositionBTC","type":"uint256","internalType":"uint256"},{"name":"maxVaultsPerPosition","type":"uint256","internalType":"uint256"}]}],"anonymous":false},{"type":"event","name":"RepaidFromPosition","inputs":[{"name":"borrower","type":"address","indexed":true,"internalType":"address"},{"name":"debtReserveId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"repayAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Unfrozen","inputs":[{"name":"pauser","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Unpaused","inputs":[{"name":"pauser","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UserProxyCreated","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"proxy","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"VaultLiquidated","inputs":[{"name":"vaultId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"liquidator","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"VaultMarkedCollateralized","inputs":[{"name":"vaultId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"VaultMarkedLLPOwned","inputs":[{"name":"vaultId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"VaultMarkedRedeemed","inputs":[{"name":"vaultId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"VaultOwnershipChanged","inputs":[{"name":"vaultId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"VaultsReordered","inputs":[{"name":"borrower","type":"address","indexed":true,"internalType":"address"},{"name":"newVaults","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"EmptyArray","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"FairnessDebtRepaymentTargetNotMet","inputs":[{"name":"target","type":"uint256","internalType":"uint256"},{"name":"actual","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"IncompleteWithdrawal","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"actual","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidActivationMetadataVersion","inputs":[]},{"type":"error","name":"InvalidAmount","inputs":[]},{"type":"error","name":"InvalidAmountsLength","inputs":[{"name":"amountsLength","type":"uint256","internalType":"uint256"},{"name":"reserveCount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidInterestFeeBps","inputs":[]},{"type":"error","name":"InvalidOraclePrice","inputs":[]},{"type":"error","name":"InvalidPositionResolver","inputs":[]},{"type":"error","name":"InvalidPriorityOrderLength","inputs":[{"name":"priorityOrderLength","type":"uint256","internalType":"uint256"},{"name":"amountsLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidProxyContract","inputs":[]},{"type":"error","name":"InvalidReserveId","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidVaultStatus","inputs":[]},{"type":"error","name":"InvalidVaultsPermutation","inputs":[]},{"type":"error","name":"InvalidVaultsToRemove","inputs":[]},{"type":"error","name":"LLPDisabled","inputs":[{"name":"llp","type":"address","internalType":"address"}]},{"type":"error","name":"MaxPositionBelowVaultMin","inputs":[{"name":"maxPositionBTC","type":"uint256","internalType":"uint256"},{"name":"minimumPegInAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NoDebtToLiquidate","inputs":[]},{"type":"error","name":"OnlyApplicationEntryPoint","inputs":[]},{"type":"error","name":"PositionAboveMaximum","inputs":[{"name":"actual","type":"uint256","internalType":"uint256"},{"name":"maximum","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PositionMaxBelowVaultMax","inputs":[{"name":"maxPositionBTC","type":"uint256","internalType":"uint256"},{"name":"vaultMaximum","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PositionNotLiquidatable","inputs":[]},{"type":"error","name":"PrefixLengthExceedsArray","inputs":[]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"TBV_AlreadyFrozen","inputs":[]},{"type":"error","name":"TBV_AlreadyPaused","inputs":[]},{"type":"error","name":"TBV_Frozen","inputs":[]},{"type":"error","name":"TBV_NotFrozen","inputs":[]},{"type":"error","name":"TBV_NotPaused","inputs":[]},{"type":"error","name":"TBV_Paused","inputs":[]},{"type":"error","name":"TBV_Unauthorized","inputs":[]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"VaultCountExceedsMaximum","inputs":[{"name":"actual","type":"uint256","internalType":"uint256"},{"name":"maximum","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ZeroAddress","inputs":[]},{"type":"error","name":"ZeroAmount","inputs":[]},{"type":"error","name":"ZeroBorrowAmount","inputs":[]},{"type":"error","name":"ZeroBtcKey","inputs":[]}]');
12
- async function ce(e, t, n) {
11
+ }, ue = 8, pe = 6, oe = 100, W = 1e4, K = 26, Y = 53, X = 18, Z = 1.5, ye = 1.05, $ = 200n, le = 1 / Number($), w = /* @__PURE__ */ JSON.parse('[{"type":"constructor","inputs":[{"name":"vaultBTC_","type":"address","internalType":"address"},{"name":"coreSpoke_","type":"address","internalType":"address"},{"name":"btcVaultRegistry_","type":"address","internalType":"address"},{"name":"applicationRegistry_","type":"address","internalType":"address"},{"name":"proxyManager_","type":"address","internalType":"address"},{"name":"coreVaultBtcReserveId_","type":"uint256","internalType":"uint256"},{"name":"coreWbtcReserveId_","type":"uint256","internalType":"uint256"},{"name":"protocolParams_","type":"address","internalType":"address"},{"name":"llpRegistry_","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"APP_REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IApplicationRegistry"}],"stateMutability":"view"},{"type":"function","name":"BTC_VAULT_CORE_SPOKE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ITBVAaveSpoke"}],"stateMutability":"view"},{"type":"function","name":"BTC_VAULT_CORE_VAULT_BTC_RESERVE_ID","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"BTC_VAULT_CORE_WBTC_RESERVE_ID","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"BTC_VAULT_REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IBTCVaultRegistry"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"TIMELOCK_UPGRADER","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"VAULT_BTC","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IVaultBTC"}],"stateMutability":"view"},{"type":"function","name":"activateVault","inputs":[{"name":"vaultId","type":"bytes32","internalType":"bytes32"},{"name":"vault","type":"tuple","internalType":"struct IBTCVaultRegistry.BTCVault","components":[{"name":"depositor","type":"address","internalType":"address"},{"name":"depositorBtcPubKey","type":"bytes32","internalType":"bytes32"},{"name":"depositorSignedPeginTx","type":"bytes","internalType":"bytes"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"vaultProvider","type":"address","internalType":"address"},{"name":"status","type":"uint8","internalType":"enum IBTCVaultRegistry.BTCVaultStatus"},{"name":"applicationEntryPoint","type":"address","internalType":"address"},{"name":"universalChallengersVersion","type":"uint16","internalType":"uint16"},{"name":"appVaultKeepersVersion","type":"uint16","internalType":"uint16"},{"name":"offchainParamsVersion","type":"uint16","internalType":"uint16"},{"name":"createdAt","type":"uint256","internalType":"uint256"},{"name":"verifiedAt","type":"uint256","internalType":"uint256"},{"name":"depositorWotsPkHash","type":"bytes32","internalType":"bytes32"},{"name":"hashlock","type":"bytes32","internalType":"bytes32"},{"name":"htlcVout","type":"uint8","internalType":"uint8"},{"name":"depositorPopSignature","type":"bytes","internalType":"bytes"},{"name":"prePeginTxHash","type":"bytes32","internalType":"bytes32"}]},{"name":"activationMetadata","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"applicationRecipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"borrowFromCorePosition","inputs":[{"name":"debtReserveId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"receiver","type":"address","internalType":"address"}],"outputs":[{"name":"borrowedShares","type":"uint256","internalType":"uint256"},{"name":"borrowedAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"freeze","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fullPause","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getFairnessPaymentTokenConfig","inputs":[],"outputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getInterestFeeIndex","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"interestFeeIndex","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPosition","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"position","type":"tuple","internalType":"struct IAaveIntegrationAdapter.MarketPosition","components":[{"name":"vaultIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"totalCollateralBTC","type":"uint256","internalType":"uint256"},{"name":"proxyContract","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getPositionSizeParams","inputs":[],"outputs":[{"name":"maxPositionBTC","type":"uint256","internalType":"uint256"},{"name":"maxVaultsPerPosition","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getVaultUsageStatus","inputs":[{"name":"vaultId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"status","type":"uint8","internalType":"enum AaveVaultHandler.VaultUsageStatus"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"initialTBVAdmin","type":"address","internalType":"address"},{"name":"_applicationRecipient","type":"address","internalType":"address"},{"name":"_liquidationRedemptionFeeBps","type":"uint256","internalType":"uint256"},{"name":"_initialInterestFeeBps","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"interestFeeBps","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"isValidPositionResolver","inputs":[{"name":"resolver","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"liquidate","inputs":[{"name":"borrower","type":"address","internalType":"address"},{"name":"directBtcRedeemKey","type":"bytes32","internalType":"bytes32"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"priorityOrder","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"vaultIds","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"liquidateWithLLP","inputs":[{"name":"borrower","type":"address","internalType":"address"},{"name":"llp","type":"address","internalType":"address"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"priorityOrder","type":"uint256[]","internalType":"uint256[]"},{"name":"requestedTokens","type":"tuple[]","internalType":"struct TokenAmountLib.TokenAmount[]","components":[{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"vaultIds","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"liquidationRedemptionFeeBps","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"pauseState","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum ITBVPausable.PauseState"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"redeemVaultFromLLP","inputs":[{"name":"vaultId","type":"bytes32","internalType":"bytes32"},{"name":"btcRedeemKey","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerResolver","inputs":[{"name":"resolver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeResolver","inputs":[{"name":"resolver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"reorderVaults","inputs":[{"name":"permuted","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"repayToCorePosition","inputs":[{"name":"borrower","type":"address","internalType":"address"},{"name":"debtReserveId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"repaidFee","type":"uint256","internalType":"uint256"},{"name":"repaidShares","type":"uint256","internalType":"uint256"},{"name":"repaidAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApplicationRecipient","inputs":[{"name":"_applicationRecipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setInterestFeeBps","inputs":[{"name":"feeBps","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setLiquidationRedemptionFeeBps","inputs":[{"name":"feeBps","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPositionSizeParams","inputs":[{"name":"params","type":"tuple","internalType":"struct IAaveIntegrationAdapter.PositionSizeParams","components":[{"name":"maxPositionBTC","type":"uint256","internalType":"uint256"},{"name":"maxVaultsPerPosition","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"unfreeze","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unpause","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"vaultOwner","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"withdrawCollaterals","inputs":[{"name":"vaultsToWithdraw","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"amountWithdrawn","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"event","name":"AdapterApplicationRecipientUpdated","inputs":[{"name":"applicationFeeRecipient","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AdapterLiquidationRedemptionFeeUpdated","inputs":[{"name":"liquidationRedemptionFeeBps","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"AdapterPositionResolverAdded","inputs":[{"name":"positionResolver","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AdapterPositionResolverRemoved","inputs":[{"name":"positionResolver","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BTCVaultCoreSpokeLiquidated","inputs":[{"name":"depositor","type":"address","indexed":true,"internalType":"address"},{"name":"liquidator","type":"address","indexed":true,"internalType":"address"},{"name":"amountCollateralSeized","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"valueCollateralSeized","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"valueDebtRepaid","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BorrowedFromPosition","inputs":[{"name":"borrower","type":"address","indexed":true,"internalType":"address"},{"name":"debtReserveId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"receiver","type":"address","indexed":true,"internalType":"address"},{"name":"borrowAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CollateralAdded","inputs":[{"name":"positionAccount","type":"address","indexed":true,"internalType":"address"},{"name":"vaultId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"CollateralWithdrawn","inputs":[{"name":"positionAccount","type":"address","indexed":true,"internalType":"address"},{"name":"vaultId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"FairnessPaymentFailed","inputs":[{"name":"positionAccount","type":"address","indexed":true,"internalType":"address"},{"name":"liquidator","type":"address","indexed":true,"internalType":"address"},{"name":"protocolRecipient","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"FairnessPaymentPaid","inputs":[{"name":"positionAccount","type":"address","indexed":true,"internalType":"address"},{"name":"liquidator","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"InterestFeeUpdated","inputs":[{"name":"newInterestFeeBps","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"LiquidationSettledViaLLP","inputs":[{"name":"llp","type":"address","indexed":true,"internalType":"address"},{"name":"liquidator","type":"address","indexed":true,"internalType":"address"},{"name":"borrower","type":"address","indexed":true,"internalType":"address"},{"name":"vaultIds","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"payouts","type":"tuple[]","indexed":false,"internalType":"struct TokenAmountLib.TokenAmount[]","components":[{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}]}],"anonymous":false},{"type":"event","name":"PausedWith","inputs":[{"name":"state","type":"uint8","indexed":true,"internalType":"enum ITBVPausable.PauseState"},{"name":"pauser","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PositionSizeParamsUpdated","inputs":[{"name":"newParams","type":"tuple","indexed":false,"internalType":"struct IAaveIntegrationAdapter.PositionSizeParams","components":[{"name":"maxPositionBTC","type":"uint256","internalType":"uint256"},{"name":"maxVaultsPerPosition","type":"uint256","internalType":"uint256"}]}],"anonymous":false},{"type":"event","name":"RepaidFromPosition","inputs":[{"name":"borrower","type":"address","indexed":true,"internalType":"address"},{"name":"debtReserveId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"repayAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Unfrozen","inputs":[{"name":"pauser","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Unpaused","inputs":[{"name":"pauser","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UserProxyCreated","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"proxy","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"VaultLiquidated","inputs":[{"name":"vaultId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"liquidator","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"VaultMarkedCollateralized","inputs":[{"name":"vaultId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"VaultMarkedLLPOwned","inputs":[{"name":"vaultId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"VaultMarkedRedeemed","inputs":[{"name":"vaultId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"VaultOwnershipChanged","inputs":[{"name":"vaultId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"VaultsReordered","inputs":[{"name":"borrower","type":"address","indexed":true,"internalType":"address"},{"name":"newVaults","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"EmptyArray","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"FairnessDebtRepaymentTargetNotMet","inputs":[{"name":"target","type":"uint256","internalType":"uint256"},{"name":"actual","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"IncompleteWithdrawal","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"actual","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidActivationMetadataVersion","inputs":[]},{"type":"error","name":"InvalidAmount","inputs":[]},{"type":"error","name":"InvalidAmountsLength","inputs":[{"name":"amountsLength","type":"uint256","internalType":"uint256"},{"name":"reserveCount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidInterestFeeBps","inputs":[]},{"type":"error","name":"InvalidOraclePrice","inputs":[]},{"type":"error","name":"InvalidPositionResolver","inputs":[]},{"type":"error","name":"InvalidPriorityOrderLength","inputs":[{"name":"priorityOrderLength","type":"uint256","internalType":"uint256"},{"name":"amountsLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidProxyContract","inputs":[]},{"type":"error","name":"InvalidReserveId","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidVaultStatus","inputs":[]},{"type":"error","name":"InvalidVaultsPermutation","inputs":[]},{"type":"error","name":"InvalidVaultsToRemove","inputs":[]},{"type":"error","name":"LLPDisabled","inputs":[{"name":"llp","type":"address","internalType":"address"}]},{"type":"error","name":"MaxPositionBelowVaultMin","inputs":[{"name":"maxPositionBTC","type":"uint256","internalType":"uint256"},{"name":"minimumPegInAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NoDebtToLiquidate","inputs":[]},{"type":"error","name":"OnlyApplicationEntryPoint","inputs":[]},{"type":"error","name":"PositionAboveMaximum","inputs":[{"name":"actual","type":"uint256","internalType":"uint256"},{"name":"maximum","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PositionMaxBelowVaultMax","inputs":[{"name":"maxPositionBTC","type":"uint256","internalType":"uint256"},{"name":"vaultMaximum","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PositionNotLiquidatable","inputs":[]},{"type":"error","name":"PrefixLengthExceedsArray","inputs":[]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"TBV_AlreadyFrozen","inputs":[]},{"type":"error","name":"TBV_AlreadyPaused","inputs":[]},{"type":"error","name":"TBV_Frozen","inputs":[]},{"type":"error","name":"TBV_NotFrozen","inputs":[]},{"type":"error","name":"TBV_NotPaused","inputs":[]},{"type":"error","name":"TBV_Paused","inputs":[]},{"type":"error","name":"TBV_Unauthorized","inputs":[]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"VaultCountExceedsMaximum","inputs":[{"name":"actual","type":"uint256","internalType":"uint256"},{"name":"maximum","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ZeroAddress","inputs":[]},{"type":"error","name":"ZeroAmount","inputs":[]},{"type":"error","name":"ZeroBorrowAmount","inputs":[]},{"type":"error","name":"ZeroBtcKey","inputs":[]}]');
12
+ async function de(e, t, n) {
13
13
  const i = await e.readContract({
14
14
  address: t,
15
15
  abi: w,
16
16
  functionName: "getPosition",
17
17
  args: [n]
18
18
  });
19
- return i.proxyContract === W ? null : {
19
+ return i.proxyContract === H ? null : {
20
20
  proxyContract: i.proxyContract,
21
21
  vaultIds: i.vaultIds,
22
22
  totalCollateralBTC: i.totalCollateralBTC
23
23
  };
24
24
  }
25
- async function Te(e, t) {
25
+ async function me(e, t) {
26
26
  const n = await e.readContract({
27
27
  address: t,
28
28
  abi: w,
@@ -33,10 +33,10 @@ async function Te(e, t) {
33
33
  maxVaultsPerPosition: i
34
34
  };
35
35
  }
36
- function j(e) {
36
+ function J(e) {
37
37
  return e.drawnShares > 0n || e.premiumShares > 0n;
38
38
  }
39
- const f = /* @__PURE__ */ JSON.parse('[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"ORACLE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"SET_USER_POSITION_MANAGER_TYPEHASH","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"addDynamicReserveConfig","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"dynamicConfig","type":"tuple","internalType":"struct ITBVAaveSpoke.DynamicReserveConfig","components":[{"name":"collateralFactor","type":"uint16","internalType":"uint16"},{"name":"maxLiquidationBonus","type":"uint32","internalType":"uint32"},{"name":"liquidationFee","type":"uint16","internalType":"uint16"}]}],"outputs":[{"name":"dynamicConfigKey","type":"uint32","internalType":"uint32"}],"stateMutability":"nonpayable"},{"type":"function","name":"addReserve","inputs":[{"name":"hub","type":"address","internalType":"address"},{"name":"assetId","type":"uint256","internalType":"uint256"},{"name":"priceSource","type":"address","internalType":"address"},{"name":"config","type":"tuple","internalType":"struct ITBVAaveSpoke.ReserveConfig","components":[{"name":"collateralRisk","type":"uint24","internalType":"uint24"},{"name":"paused","type":"bool","internalType":"bool"},{"name":"frozen","type":"bool","internalType":"bool"},{"name":"borrowable","type":"bool","internalType":"bool"},{"name":"receiveSharesEnabled","type":"bool","internalType":"bool"}]},{"name":"dynamicConfig","type":"tuple","internalType":"struct ITBVAaveSpoke.DynamicReserveConfig","components":[{"name":"collateralFactor","type":"uint16","internalType":"uint16"},{"name":"maxLiquidationBonus","type":"uint32","internalType":"uint32"},{"name":"liquidationFee","type":"uint16","internalType":"uint16"}]}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"borrow","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"onBehalfOf","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicReserveConfig","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"dynamicConfigKey","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ITBVAaveSpoke.DynamicReserveConfig","components":[{"name":"collateralFactor","type":"uint16","internalType":"uint16"},{"name":"maxLiquidationBonus","type":"uint32","internalType":"uint32"},{"name":"liquidationFee","type":"uint16","internalType":"uint16"}]}],"stateMutability":"view"},{"type":"function","name":"getLiquidationBonus","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"user","type":"address","internalType":"address"},{"name":"healthFactor","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLiquidationConfig","inputs":[],"outputs":[{"name":"","type":"tuple","internalType":"struct ITBVAaveSpoke.LiquidationConfig","components":[{"name":"targetHealthFactor","type":"uint128","internalType":"uint128"},{"name":"healthFactorForMaxBonus","type":"uint64","internalType":"uint64"},{"name":"liquidationBonusFactor","type":"uint16","internalType":"uint16"}]}],"stateMutability":"view"},{"type":"function","name":"getLiquidationLogic","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"getReserve","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ITBVAaveSpoke.Reserve","components":[{"name":"underlying","type":"address","internalType":"address"},{"name":"hub","type":"address","internalType":"address"},{"name":"assetId","type":"uint16","internalType":"uint16"},{"name":"decimals","type":"uint8","internalType":"uint8"},{"name":"collateralRisk","type":"uint24","internalType":"uint24"},{"name":"flags","type":"uint8","internalType":"ReserveFlags"},{"name":"dynamicConfigKey","type":"uint32","internalType":"uint32"}]}],"stateMutability":"view"},{"type":"function","name":"getReserveConfig","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ITBVAaveSpoke.ReserveConfig","components":[{"name":"collateralRisk","type":"uint24","internalType":"uint24"},{"name":"paused","type":"bool","internalType":"bool"},{"name":"frozen","type":"bool","internalType":"bool"},{"name":"borrowable","type":"bool","internalType":"bool"},{"name":"receiveSharesEnabled","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getReserveCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getReserveDebt","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getReserveSuppliedAssets","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getReserveSuppliedShares","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getReserveTotalDebt","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUserAccountData","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ITBVAaveSpoke.UserAccountData","components":[{"name":"riskPremium","type":"uint256","internalType":"uint256"},{"name":"avgCollateralFactor","type":"uint256","internalType":"uint256"},{"name":"healthFactor","type":"uint256","internalType":"uint256"},{"name":"totalCollateralValue","type":"uint256","internalType":"uint256"},{"name":"totalDebtValueRay","type":"uint256","internalType":"uint256"},{"name":"activeCollateralCount","type":"uint256","internalType":"uint256"},{"name":"borrowCount","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getUserDebt","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUserPosition","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ITBVAaveSpoke.UserPosition","components":[{"name":"drawnShares","type":"uint120","internalType":"uint120"},{"name":"premiumShares","type":"uint120","internalType":"uint120"},{"name":"premiumOffsetRay","type":"int200","internalType":"int200"},{"name":"suppliedShares","type":"uint120","internalType":"uint120"},{"name":"dynamicConfigKey","type":"uint32","internalType":"uint32"}]}],"stateMutability":"view"},{"type":"function","name":"getUserPremiumDebtRay","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUserReserveStatus","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"},{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getUserSuppliedAssets","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUserSuppliedShares","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUserTotalDebt","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"isPositionManager","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"positionManager","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPositionManagerActive","inputs":[{"name":"positionManager","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"liquidationCall","inputs":[{"name":"collateralReserveId","type":"uint256","internalType":"uint256"},{"name":"debtReserveId","type":"uint256","internalType":"uint256"},{"name":"user","type":"address","internalType":"address"},{"name":"debtToCover","type":"uint256","internalType":"uint256"},{"name":"receiveShares","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"permitReserve","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"onBehalfOf","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"permitV","type":"uint8","internalType":"uint8"},{"name":"permitR","type":"bytes32","internalType":"bytes32"},{"name":"permitS","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renouncePositionManagerRole","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"repay","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"onBehalfOf","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"setUserPositionManager","inputs":[{"name":"positionManager","type":"address","internalType":"address"},{"name":"approve","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUserPositionManagerWithSig","inputs":[{"name":"positionManager","type":"address","internalType":"address"},{"name":"user","type":"address","internalType":"address"},{"name":"approve","type":"bool","internalType":"bool"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"signature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUsingAsCollateral","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"usingAsCollateral","type":"bool","internalType":"bool"},{"name":"onBehalfOf","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supply","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"onBehalfOf","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"updateDynamicReserveConfig","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"dynamicConfigKey","type":"uint32","internalType":"uint32"},{"name":"dynamicConfig","type":"tuple","internalType":"struct ITBVAaveSpoke.DynamicReserveConfig","components":[{"name":"collateralFactor","type":"uint16","internalType":"uint16"},{"name":"maxLiquidationBonus","type":"uint32","internalType":"uint32"},{"name":"liquidationFee","type":"uint16","internalType":"uint16"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateLiquidationConfig","inputs":[{"name":"config","type":"tuple","internalType":"struct ITBVAaveSpoke.LiquidationConfig","components":[{"name":"targetHealthFactor","type":"uint128","internalType":"uint128"},{"name":"healthFactorForMaxBonus","type":"uint64","internalType":"uint64"},{"name":"liquidationBonusFactor","type":"uint16","internalType":"uint16"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePositionManager","inputs":[{"name":"positionManager","type":"address","internalType":"address"},{"name":"active","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateReserveConfig","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"params","type":"tuple","internalType":"struct ITBVAaveSpoke.ReserveConfig","components":[{"name":"collateralRisk","type":"uint24","internalType":"uint24"},{"name":"paused","type":"bool","internalType":"bool"},{"name":"frozen","type":"bool","internalType":"bool"},{"name":"borrowable","type":"bool","internalType":"bool"},{"name":"receiveSharesEnabled","type":"bool","internalType":"bool"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateReservePriceSource","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"priceSource","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateUserDynamicConfig","inputs":[{"name":"onBehalfOf","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateUserRiskPremium","inputs":[{"name":"onBehalfOf","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdraw","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"onBehalfOf","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"error","name":"AssetNotListed","inputs":[]},{"type":"error","name":"ReserveExists","inputs":[]},{"type":"error","name":"InvalidAssetId","inputs":[]},{"type":"error","name":"ReserveNotListed","inputs":[]},{"type":"error","name":"ReserveNotBorrowable","inputs":[]},{"type":"error","name":"ReservePaused","inputs":[]},{"type":"error","name":"ReserveFrozen","inputs":[]},{"type":"error","name":"HealthFactorBelowThreshold","inputs":[]},{"type":"error","name":"CollateralCannotBeLiquidated","inputs":[]},{"type":"error","name":"ReserveNotSupplied","inputs":[]},{"type":"error","name":"ReserveNotBorrowed","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"ConfigKeyUninitialized","inputs":[]},{"type":"error","name":"InactivePositionManager","inputs":[]},{"type":"error","name":"InvalidSignature","inputs":[]},{"type":"error","name":"InvalidAddress","inputs":[]},{"type":"error","name":"InvalidOracleDecimals","inputs":[]},{"type":"error","name":"InvalidCollateralRisk","inputs":[]},{"type":"error","name":"InvalidLiquidationConfig","inputs":[]},{"type":"error","name":"InvalidLiquidationFee","inputs":[]},{"type":"error","name":"InvalidCollateralFactorAndMaxLiquidationBonus","inputs":[]},{"type":"error","name":"InvalidCollateralFactor","inputs":[]},{"type":"error","name":"SelfLiquidation","inputs":[]},{"type":"error","name":"HealthFactorNotBelowThreshold","inputs":[]},{"type":"error","name":"MustNotLeaveDust","inputs":[]},{"type":"error","name":"InvalidDebtToCover","inputs":[]},{"type":"error","name":"CannotReceiveShares","inputs":[]},{"type":"error","name":"MaximumDynamicConfigKeyReached","inputs":[]}]');
39
+ const R = /* @__PURE__ */ JSON.parse('[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"ORACLE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"SET_USER_POSITION_MANAGER_TYPEHASH","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"addDynamicReserveConfig","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"dynamicConfig","type":"tuple","internalType":"struct ITBVAaveSpoke.DynamicReserveConfig","components":[{"name":"collateralFactor","type":"uint16","internalType":"uint16"},{"name":"maxLiquidationBonus","type":"uint32","internalType":"uint32"},{"name":"liquidationFee","type":"uint16","internalType":"uint16"}]}],"outputs":[{"name":"dynamicConfigKey","type":"uint32","internalType":"uint32"}],"stateMutability":"nonpayable"},{"type":"function","name":"addReserve","inputs":[{"name":"hub","type":"address","internalType":"address"},{"name":"assetId","type":"uint256","internalType":"uint256"},{"name":"priceSource","type":"address","internalType":"address"},{"name":"config","type":"tuple","internalType":"struct ITBVAaveSpoke.ReserveConfig","components":[{"name":"collateralRisk","type":"uint24","internalType":"uint24"},{"name":"paused","type":"bool","internalType":"bool"},{"name":"frozen","type":"bool","internalType":"bool"},{"name":"borrowable","type":"bool","internalType":"bool"},{"name":"receiveSharesEnabled","type":"bool","internalType":"bool"}]},{"name":"dynamicConfig","type":"tuple","internalType":"struct ITBVAaveSpoke.DynamicReserveConfig","components":[{"name":"collateralFactor","type":"uint16","internalType":"uint16"},{"name":"maxLiquidationBonus","type":"uint32","internalType":"uint32"},{"name":"liquidationFee","type":"uint16","internalType":"uint16"}]}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"borrow","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"onBehalfOf","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicReserveConfig","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"dynamicConfigKey","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ITBVAaveSpoke.DynamicReserveConfig","components":[{"name":"collateralFactor","type":"uint16","internalType":"uint16"},{"name":"maxLiquidationBonus","type":"uint32","internalType":"uint32"},{"name":"liquidationFee","type":"uint16","internalType":"uint16"}]}],"stateMutability":"view"},{"type":"function","name":"getLiquidationBonus","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"user","type":"address","internalType":"address"},{"name":"healthFactor","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLiquidationConfig","inputs":[],"outputs":[{"name":"","type":"tuple","internalType":"struct ITBVAaveSpoke.LiquidationConfig","components":[{"name":"targetHealthFactor","type":"uint128","internalType":"uint128"},{"name":"healthFactorForMaxBonus","type":"uint64","internalType":"uint64"},{"name":"liquidationBonusFactor","type":"uint16","internalType":"uint16"}]}],"stateMutability":"view"},{"type":"function","name":"getLiquidationLogic","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"getReserve","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ITBVAaveSpoke.Reserve","components":[{"name":"underlying","type":"address","internalType":"address"},{"name":"hub","type":"address","internalType":"address"},{"name":"assetId","type":"uint16","internalType":"uint16"},{"name":"decimals","type":"uint8","internalType":"uint8"},{"name":"collateralRisk","type":"uint24","internalType":"uint24"},{"name":"flags","type":"uint8","internalType":"ReserveFlags"},{"name":"dynamicConfigKey","type":"uint32","internalType":"uint32"}]}],"stateMutability":"view"},{"type":"function","name":"getReserveConfig","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ITBVAaveSpoke.ReserveConfig","components":[{"name":"collateralRisk","type":"uint24","internalType":"uint24"},{"name":"paused","type":"bool","internalType":"bool"},{"name":"frozen","type":"bool","internalType":"bool"},{"name":"borrowable","type":"bool","internalType":"bool"},{"name":"receiveSharesEnabled","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getReserveCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getReserveDebt","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getReserveSuppliedAssets","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getReserveSuppliedShares","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getReserveTotalDebt","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUserAccountData","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ITBVAaveSpoke.UserAccountData","components":[{"name":"riskPremium","type":"uint256","internalType":"uint256"},{"name":"avgCollateralFactor","type":"uint256","internalType":"uint256"},{"name":"healthFactor","type":"uint256","internalType":"uint256"},{"name":"totalCollateralValue","type":"uint256","internalType":"uint256"},{"name":"totalDebtValueRay","type":"uint256","internalType":"uint256"},{"name":"activeCollateralCount","type":"uint256","internalType":"uint256"},{"name":"borrowCount","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getUserDebt","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUserPosition","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ITBVAaveSpoke.UserPosition","components":[{"name":"drawnShares","type":"uint120","internalType":"uint120"},{"name":"premiumShares","type":"uint120","internalType":"uint120"},{"name":"premiumOffsetRay","type":"int200","internalType":"int200"},{"name":"suppliedShares","type":"uint120","internalType":"uint120"},{"name":"dynamicConfigKey","type":"uint32","internalType":"uint32"}]}],"stateMutability":"view"},{"type":"function","name":"getUserPremiumDebtRay","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUserReserveStatus","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"},{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getUserSuppliedAssets","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUserSuppliedShares","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUserTotalDebt","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"isPositionManager","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"positionManager","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPositionManagerActive","inputs":[{"name":"positionManager","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"liquidationCall","inputs":[{"name":"collateralReserveId","type":"uint256","internalType":"uint256"},{"name":"debtReserveId","type":"uint256","internalType":"uint256"},{"name":"user","type":"address","internalType":"address"},{"name":"debtToCover","type":"uint256","internalType":"uint256"},{"name":"receiveShares","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"permitReserve","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"onBehalfOf","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"permitV","type":"uint8","internalType":"uint8"},{"name":"permitR","type":"bytes32","internalType":"bytes32"},{"name":"permitS","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renouncePositionManagerRole","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"repay","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"onBehalfOf","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"setUserPositionManager","inputs":[{"name":"positionManager","type":"address","internalType":"address"},{"name":"approve","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUserPositionManagerWithSig","inputs":[{"name":"positionManager","type":"address","internalType":"address"},{"name":"user","type":"address","internalType":"address"},{"name":"approve","type":"bool","internalType":"bool"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"signature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUsingAsCollateral","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"usingAsCollateral","type":"bool","internalType":"bool"},{"name":"onBehalfOf","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supply","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"onBehalfOf","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"updateDynamicReserveConfig","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"dynamicConfigKey","type":"uint32","internalType":"uint32"},{"name":"dynamicConfig","type":"tuple","internalType":"struct ITBVAaveSpoke.DynamicReserveConfig","components":[{"name":"collateralFactor","type":"uint16","internalType":"uint16"},{"name":"maxLiquidationBonus","type":"uint32","internalType":"uint32"},{"name":"liquidationFee","type":"uint16","internalType":"uint16"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateLiquidationConfig","inputs":[{"name":"config","type":"tuple","internalType":"struct ITBVAaveSpoke.LiquidationConfig","components":[{"name":"targetHealthFactor","type":"uint128","internalType":"uint128"},{"name":"healthFactorForMaxBonus","type":"uint64","internalType":"uint64"},{"name":"liquidationBonusFactor","type":"uint16","internalType":"uint16"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePositionManager","inputs":[{"name":"positionManager","type":"address","internalType":"address"},{"name":"active","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateReserveConfig","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"params","type":"tuple","internalType":"struct ITBVAaveSpoke.ReserveConfig","components":[{"name":"collateralRisk","type":"uint24","internalType":"uint24"},{"name":"paused","type":"bool","internalType":"bool"},{"name":"frozen","type":"bool","internalType":"bool"},{"name":"borrowable","type":"bool","internalType":"bool"},{"name":"receiveSharesEnabled","type":"bool","internalType":"bool"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateReservePriceSource","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"priceSource","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateUserDynamicConfig","inputs":[{"name":"onBehalfOf","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateUserRiskPremium","inputs":[{"name":"onBehalfOf","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdraw","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"onBehalfOf","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"error","name":"AssetNotListed","inputs":[]},{"type":"error","name":"ReserveExists","inputs":[]},{"type":"error","name":"InvalidAssetId","inputs":[]},{"type":"error","name":"ReserveNotListed","inputs":[]},{"type":"error","name":"ReserveNotBorrowable","inputs":[]},{"type":"error","name":"ReservePaused","inputs":[]},{"type":"error","name":"ReserveFrozen","inputs":[]},{"type":"error","name":"HealthFactorBelowThreshold","inputs":[]},{"type":"error","name":"CollateralCannotBeLiquidated","inputs":[]},{"type":"error","name":"ReserveNotSupplied","inputs":[]},{"type":"error","name":"ReserveNotBorrowed","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"ConfigKeyUninitialized","inputs":[]},{"type":"error","name":"InactivePositionManager","inputs":[]},{"type":"error","name":"InvalidSignature","inputs":[]},{"type":"error","name":"InvalidAddress","inputs":[]},{"type":"error","name":"InvalidOracleDecimals","inputs":[]},{"type":"error","name":"InvalidCollateralRisk","inputs":[]},{"type":"error","name":"InvalidLiquidationConfig","inputs":[]},{"type":"error","name":"InvalidLiquidationFee","inputs":[]},{"type":"error","name":"InvalidCollateralFactorAndMaxLiquidationBonus","inputs":[]},{"type":"error","name":"InvalidCollateralFactor","inputs":[]},{"type":"error","name":"SelfLiquidation","inputs":[]},{"type":"error","name":"HealthFactorNotBelowThreshold","inputs":[]},{"type":"error","name":"MustNotLeaveDust","inputs":[]},{"type":"error","name":"InvalidDebtToCover","inputs":[]},{"type":"error","name":"CannotReceiveShares","inputs":[]},{"type":"error","name":"MaximumDynamicConfigKeyReached","inputs":[]}]');
40
40
  function L(e) {
41
41
  return {
42
42
  drawnShares: e.drawnShares,
@@ -57,27 +57,27 @@ function k(e) {
57
57
  borrowCount: e.borrowCount
58
58
  };
59
59
  }
60
- async function be(e, t, n) {
60
+ async function ce(e, t, n) {
61
61
  const a = await e.readContract({
62
62
  address: t,
63
- abi: f,
63
+ abi: R,
64
64
  functionName: "getUserAccountData",
65
65
  args: [n]
66
66
  });
67
67
  return k(a);
68
68
  }
69
- async function fe(e, t, n, a) {
69
+ async function Te(e, t, n, a) {
70
70
  const [i, r] = await e.multicall({
71
71
  contracts: [
72
72
  {
73
73
  address: t,
74
- abi: f,
74
+ abi: R,
75
75
  functionName: "getUserPosition",
76
76
  args: [n, a]
77
77
  },
78
78
  {
79
79
  address: t,
80
- abi: f,
80
+ abi: R,
81
81
  functionName: "getUserAccountData",
82
82
  args: [a]
83
83
  }
@@ -91,45 +91,45 @@ async function fe(e, t, n, a) {
91
91
  )
92
92
  };
93
93
  }
94
- async function q(e, t, n, a) {
94
+ async function z(e, t, n, a) {
95
95
  const i = await e.readContract({
96
96
  address: t,
97
- abi: f,
97
+ abi: R,
98
98
  functionName: "getUserPosition",
99
99
  args: [n, a]
100
100
  });
101
101
  return L(i);
102
102
  }
103
- async function ve(e, t, n, a) {
104
- const i = await q(
103
+ async function be(e, t, n, a) {
104
+ const i = await z(
105
105
  e,
106
106
  t,
107
107
  n,
108
108
  a
109
109
  );
110
- return j(i);
110
+ return J(i);
111
111
  }
112
- async function ge(e, t, n, a) {
113
- return (await q(
112
+ async function fe(e, t, n, a) {
113
+ return (await z(
114
114
  e,
115
115
  t,
116
116
  n,
117
117
  a
118
118
  )).suppliedShares > 0n;
119
119
  }
120
- async function Re(e, t, n, a) {
120
+ async function ve(e, t, n, a) {
121
121
  return await e.readContract({
122
122
  address: t,
123
- abi: f,
123
+ abi: R,
124
124
  functionName: "getUserTotalDebt",
125
125
  args: [n, a]
126
126
  });
127
127
  }
128
- async function Ie(e, t, n, a) {
128
+ async function ge(e, t, n, a) {
129
129
  return n.length === 0 ? [] : (await e.multicall({
130
130
  contracts: n.map((r) => ({
131
131
  address: t,
132
- abi: f,
132
+ abi: R,
133
133
  functionName: "getUserPosition",
134
134
  args: [r, a]
135
135
  })),
@@ -138,41 +138,41 @@ async function Ie(e, t, n, a) {
138
138
  (r) => r.status === "success" ? L(r.result) : null
139
139
  );
140
140
  }
141
- async function Ae(e, t, n, a) {
141
+ async function Re(e, t, n, a) {
142
142
  return n.length === 0 ? [] : await e.multicall({
143
143
  contracts: n.map((r) => ({
144
144
  address: t,
145
- abi: f,
145
+ abi: R,
146
146
  functionName: "getUserTotalDebt",
147
147
  args: [r, a]
148
148
  })),
149
149
  allowFailure: !1
150
150
  });
151
151
  }
152
- async function Ce(e, t, n) {
152
+ async function Ie(e, t, n) {
153
153
  return await e.readContract({
154
154
  address: t,
155
- abi: f,
155
+ abi: R,
156
156
  functionName: "getReserve",
157
157
  args: [n]
158
158
  });
159
159
  }
160
- async function Me(e, t) {
160
+ async function Ae(e, t) {
161
161
  return (await e.readContract({
162
162
  address: t,
163
- abi: f,
163
+ abi: R,
164
164
  functionName: "getLiquidationConfig"
165
165
  })).targetHealthFactor;
166
166
  }
167
- async function we(e, t, n, a) {
167
+ async function Ce(e, t, n, a) {
168
168
  return await e.readContract({
169
169
  address: t,
170
- abi: f,
170
+ abi: R,
171
171
  functionName: "getDynamicReserveConfig",
172
172
  args: [n, a]
173
173
  });
174
174
  }
175
- const H = [
175
+ const q = [
176
176
  {
177
177
  inputs: [],
178
178
  name: "decimals",
@@ -240,29 +240,29 @@ const H = [
240
240
  ]
241
241
  }
242
242
  ];
243
- async function Se(e, t) {
243
+ async function Me(e, t) {
244
244
  return await e.readContract({
245
245
  address: t,
246
- abi: f,
246
+ abi: R,
247
247
  functionName: "ORACLE"
248
248
  });
249
249
  }
250
- async function he(e, t, n) {
250
+ async function we(e, t, n) {
251
251
  return await e.readContract({
252
252
  address: t,
253
- abi: H,
253
+ abi: q,
254
254
  functionName: "getReservesPrices",
255
255
  args: [n]
256
256
  });
257
257
  }
258
- async function Pe(e, t, n) {
258
+ async function Se(e, t, n) {
259
259
  if (n.length === 0) return [];
260
260
  let a;
261
261
  try {
262
262
  a = await e.multicall({
263
263
  contracts: n.map((i) => ({
264
264
  address: t,
265
- abi: H,
265
+ abi: q,
266
266
  functionName: "getReservesPrices",
267
267
  args: [[i]]
268
268
  })),
@@ -282,11 +282,11 @@ async function Pe(e, t, n) {
282
282
  const o = i.error instanceof Error ? i.error : new Error(String(i.error ?? "getReservesPrices reverted"));
283
283
  return { reserveId: s, priceRaw: null, error: o };
284
284
  }
285
- const [u] = i.result;
286
- return { reserveId: s, priceRaw: u, error: null };
285
+ const [p] = i.result;
286
+ return { reserveId: s, priceRaw: p, error: null };
287
287
  });
288
288
  }
289
- const Q = [
289
+ const j = [
290
290
  {
291
291
  type: "function",
292
292
  name: "getAssetDrawnRate",
@@ -307,14 +307,14 @@ const Q = [
307
307
  stateMutability: "view"
308
308
  }
309
309
  ];
310
- async function Be(e, t) {
310
+ async function Pe(e, t) {
311
311
  if (t.length === 0) return [];
312
312
  let n;
313
313
  try {
314
314
  n = await e.multicall({
315
315
  contracts: t.map(({ hub: a, assetId: i }) => ({
316
316
  address: a,
317
- abi: Q,
317
+ abi: j,
318
318
  functionName: "getAssetDrawnRate",
319
319
  args: [BigInt(i)]
320
320
  })),
@@ -332,14 +332,14 @@ async function Be(e, t) {
332
332
  return n.map((a, i) => {
333
333
  const { hub: r, assetId: s } = t[i];
334
334
  if (a.status !== "success") {
335
- const u = a.error instanceof Error ? a.error : new Error(String(a.error ?? "getAssetDrawnRate reverted"));
336
- return { hub: r, assetId: s, rateRay: null, error: u };
335
+ const p = a.error instanceof Error ? a.error : new Error(String(a.error ?? "getAssetDrawnRate reverted"));
336
+ return { hub: r, assetId: s, rateRay: null, error: p };
337
337
  }
338
338
  return { hub: r, assetId: s, rateRay: a.result, error: null };
339
339
  });
340
340
  }
341
- function xe(e, t) {
342
- const n = x({
341
+ function he(e, t) {
342
+ const n = V({
343
343
  abi: w,
344
344
  functionName: F.REORDER_VAULTS,
345
345
  args: [t]
@@ -349,8 +349,8 @@ function xe(e, t) {
349
349
  data: n
350
350
  };
351
351
  }
352
- function Fe(e, t) {
353
- const n = x({
352
+ function Be(e, t) {
353
+ const n = V({
354
354
  abi: w,
355
355
  functionName: F.WITHDRAW_COLLATERALS,
356
356
  args: [t]
@@ -360,8 +360,8 @@ function Fe(e, t) {
360
360
  data: n
361
361
  };
362
362
  }
363
- function Ve(e, t, n, a) {
364
- const i = x({
363
+ function xe(e, t, n, a) {
364
+ const i = V({
365
365
  abi: w,
366
366
  functionName: F.BORROW,
367
367
  args: [t, n, a]
@@ -371,8 +371,8 @@ function Ve(e, t, n, a) {
371
371
  data: i
372
372
  };
373
373
  }
374
- function Ee(e, t, n, a) {
375
- const i = x({
374
+ function Ve(e, t, n, a) {
375
+ const i = V({
376
376
  abi: w,
377
377
  functionName: F.REPAY,
378
378
  args: [t, n, a]
@@ -382,32 +382,32 @@ function Ee(e, t, n, a) {
382
382
  data: i
383
383
  };
384
384
  }
385
- function _e(e) {
386
- return Number(e) / 10 ** Y;
385
+ function Fe(e) {
386
+ return Number(e) / 10 ** K;
387
387
  }
388
- function Le(e) {
389
- return Number(e) / 10 ** J;
388
+ function Ee(e) {
389
+ return Number(e) / 10 ** Y;
390
390
  }
391
- function De(e) {
391
+ function _e(e) {
392
392
  return Number(e) / 10 ** X;
393
393
  }
394
- function Ue(e, t) {
394
+ function Le(e, t) {
395
395
  return t <= 0 ? "0%" : `${(e / t * 100).toFixed(1)}%`;
396
396
  }
397
- function ee(e, t) {
397
+ function Q(e, t) {
398
398
  return t ? e === null ? "safe" : e < 1 ? "danger" : e < Z ? "warning" : "safe" : "no_debt";
399
399
  }
400
- function Ne(e) {
400
+ function De(e) {
401
401
  return e === null ? !0 : e >= 1;
402
402
  }
403
- function Oe(e) {
403
+ function Ue(e) {
404
404
  const t = isFinite(e), n = isFinite(e) ? e : null;
405
- return ee(n, t);
405
+ return Q(n, t);
406
406
  }
407
- function ze(e, t, n) {
408
- return t <= 0 ? 1 / 0 : e * (n / K) / t;
407
+ function Ne(e, t, n) {
408
+ return t <= 0 ? 1 / 0 : e * (n / W) / t;
409
409
  }
410
- function ke(e, t) {
410
+ function Oe(e, t) {
411
411
  if (t <= 0)
412
412
  return { vaultIds: [], actualAmount: 0 };
413
413
  const n = [...e].sort((r, s) => s.amount - r.amount), a = [];
@@ -418,86 +418,64 @@ function ke(e, t) {
418
418
  }
419
419
  return { vaultIds: a, actualAmount: i };
420
420
  }
421
- function qe(e) {
421
+ function ke(e) {
422
422
  return e.reduce((t, n) => t + n.amount, 0);
423
423
  }
424
- const He = 0.01, te = 20, ne = 0.01;
425
- function Ge(e, t, n) {
424
+ const ze = 0.01, ee = 20, te = 0.01;
425
+ function qe(e, t, n) {
426
426
  if (e.length === 0) return [];
427
- const i = e.reduce((u, o) => u + o.btc, 0) * t * (1 - n);
427
+ const i = e.reduce((p, o) => p + o.btc, 0) * t * (1 - n);
428
428
  let r = 0, s = 0;
429
429
  for (; s < e.length && r < i; )
430
430
  r += e[s].btc, s++;
431
431
  return e.slice(0, s);
432
432
  }
433
- function ae(e, t, n, a, i, r, s, u, o) {
434
- const y = u * r, l = n / (t * r), d = t * i, T = Math.max(0, e - d), m = s - y, c = m === 0 ? n : n * ((s - o) / m);
435
- let v;
433
+ function ne(e, t, n, a, i, r, s, p, o) {
434
+ const y = p * r, c = n / (t * r), d = t * i, l = Math.max(0, e - d), f = s - y, v = f === 0 ? n : n * ((s - o) / f);
435
+ let g;
436
436
  if (a)
437
- v = 0;
437
+ g = 0;
438
438
  else {
439
- const g = T * l / u, b = Math.min(g, n - c);
440
- v = Math.max(0, n - c - b);
439
+ const I = l * c / p, A = Math.min(I, n - v);
440
+ g = Math.max(0, n - v - A);
441
441
  }
442
- return { debtAfter: v, btcAfter: Math.max(0, t - e) };
442
+ return { debtAfter: g, btcAfter: Math.max(0, t - e) };
443
443
  }
444
- function O(e, t, n, a, i, r, s, u) {
444
+ function x(e, t, n, a, i, r, s, p) {
445
445
  let o = [...e], y = t;
446
- const l = e.reduce((c, v) => c + v.btc, 0);
447
- let d = -1, T = 0, m = 0;
448
- for (; o.length > 0 && y > ne && m < te; ) {
449
- const c = o.reduce((h, p) => h + p.btc, 0), v = c * n * (1 - a);
450
- let g = 0, b = 0;
451
- for (; b < o.length && g < v; )
452
- g += o[b].btc, b++;
453
- const E = b >= o.length, { debtAfter: S } = ae(
454
- g,
455
- c,
446
+ const c = e.reduce((v, g) => v + g.btc, 0);
447
+ let d = -1, l = 0, f = 0;
448
+ for (; o.length > 0 && y > te && f < ee; ) {
449
+ const v = o.reduce((u, m) => u + m.btc, 0), g = v * n * (1 - a);
450
+ let I = 0, A = 0;
451
+ for (; A < o.length && I < g; )
452
+ I += o[A].btc, A++;
453
+ const S = A >= o.length, { debtAfter: M } = ne(
454
+ I,
455
+ v,
456
456
  y,
457
- E,
457
+ S,
458
458
  n,
459
459
  i,
460
460
  r,
461
461
  s,
462
- u
462
+ p
463
463
  );
464
- o = o.slice(b), y = S;
465
- const C = c - g;
466
- T += C, d < 0 && (d = C), m++;
464
+ o = o.slice(A), y = M;
465
+ const P = v - I;
466
+ l += P, d < 0 && (d = P), f++;
467
467
  }
468
468
  return {
469
- sumBtcAfterEvents: T,
470
- btcAfterG1: d < 0 ? l : d
469
+ sumBtcAfterEvents: l,
470
+ btcAfterG1: d < 0 ? c : d
471
471
  };
472
472
  }
473
- const ie = 10;
474
- function re(e, t) {
475
- const n = e.map((a) => ({
476
- vaults: [a],
477
- sum: a.btc
478
- }));
479
- for (n.sort((a, i) => i.sum - a.sum); n.length > t; ) {
480
- const a = n.pop(), i = n.pop(), r = {
481
- vaults: [...a.vaults, ...i.vaults],
482
- sum: a.sum + i.sum
483
- };
484
- let s = !1;
485
- for (let u = 0; u < n.length; u++)
486
- if (r.sum > n[u].sum) {
487
- n.splice(u, 0, r), s = !0;
488
- break;
489
- }
490
- s || n.push(r);
491
- }
492
- for (const a of n)
493
- a.vaults.sort((i, r) => r.btc - i.btc);
494
- return n;
495
- }
496
- function We(e, t, n, a, i, r, s, u) {
497
- if (e.length === 0)
498
- return { order: [], sumBtcAfterEvents: 0, btcAfterG1: 0 };
499
- if (e.length === 1) {
500
- const p = O(
473
+ const ae = 17;
474
+ function Ge(e, t, n, a, i, r, s, p) {
475
+ const o = e.length;
476
+ if (o === 0) return { order: [], sumBtcAfterEvents: 0, btcAfterG1: 0 };
477
+ if (o === 1) {
478
+ const u = x(
501
479
  e,
502
480
  t,
503
481
  n,
@@ -505,70 +483,95 @@ function We(e, t, n, a, i, r, s, u) {
505
483
  i,
506
484
  r,
507
485
  s,
508
- u
486
+ p
509
487
  );
510
- return { order: [...e], ...p };
488
+ return { order: [...e], ...u };
511
489
  }
512
- const o = re(e, ie), y = o.length, l = 1 << y, d = o.reduce((p, R) => p + R.sum, 0), T = n * (1 - a), m = new Float64Array(l);
513
- for (let p = 1; p < l; p++) {
514
- const R = p & -p, I = 31 - Math.clz32(R);
515
- m[p] = m[p ^ R] + o[I].sum;
490
+ if (o > ae) {
491
+ const u = [...e].sort((T, b) => b.btc - T.btc), m = x(
492
+ u,
493
+ t,
494
+ n,
495
+ a,
496
+ i,
497
+ r,
498
+ s,
499
+ p
500
+ );
501
+ return { order: u, ...m };
502
+ }
503
+ const y = 1 << o, c = e.reduce((u, m) => u + m.btc, 0), d = n * (1 - a), l = new Float64Array(y);
504
+ for (let u = 1; u < y; u++) {
505
+ const m = u & -u, T = 31 - Math.clz32(m);
506
+ l[u] = l[u ^ m] + e[T].btc;
516
507
  }
517
- const c = new Float64Array(l), v = new Float64Array(l), g = new Int32Array(l);
518
- c.fill(-1 / 0), g.fill(-1), c[0] = 0;
519
- const b = 1e-9;
520
- for (let p = 1; p < l; p++) {
521
- const R = d - m[p];
522
- let I = -1 / 0, A = -1 / 0, P = -1;
523
- for (let M = p; M > 0; M = M - 1 & p) {
524
- const B = p ^ M, U = c[B];
508
+ const f = new Float64Array(y), v = new Float64Array(y), g = new Int32Array(y);
509
+ f.fill(-1 / 0), g.fill(-1), f[0] = 0;
510
+ const I = 1e-9;
511
+ for (let u = 1; u < y; u++) {
512
+ const m = c - l[u];
513
+ let T = -1 / 0, b = -1 / 0, h = -1;
514
+ for (let C = u; C > 0; C = C - 1 & u) {
515
+ const B = u ^ C, U = f[B];
525
516
  if (U === -1 / 0) continue;
526
- const G = d - m[B];
527
- if (m[M] < G * T) continue;
528
- const _ = U + R, N = B === 0 ? d - m[M] : v[B];
529
- (_ > I + b || Math.abs(_ - I) <= b && N > A + b) && (I = _, A = N, P = M);
517
+ const G = c - l[B];
518
+ if (l[C] < G * d) continue;
519
+ const _ = U + m, N = B === 0 ? c - l[C] : v[B];
520
+ (_ > T + I || Math.abs(_ - T) <= I && N > b + I) && (T = _, b = N, h = C);
530
521
  }
531
- c[p] = I, v[p] = A, g[p] = P;
522
+ f[u] = T, v[u] = b, g[u] = h;
532
523
  }
533
- const E = l - 1, S = [];
534
- for (let p = E; p > 0; ) {
535
- const R = g[p];
536
- if (R === -1) break;
537
- const I = [];
538
- for (let A = 0; A < y; A++)
539
- R & 1 << A && I.push(...o[A].vaults);
540
- I.sort((A, P) => P.btc - A.btc), S.push(I), p ^= R;
524
+ const A = y - 1, S = [];
525
+ for (let u = A; u > 0; ) {
526
+ const m = g[u];
527
+ if (m === -1) break;
528
+ const T = [];
529
+ for (let b = 0; b < o; b++)
530
+ m & 1 << b && T.push(e[b]);
531
+ T.sort((b, h) => h.btc - b.btc), S.push(T), u ^= m;
541
532
  }
542
533
  S.reverse();
543
- const C = S.flat();
544
- if (C.length !== e.length)
545
- throw new Error(
546
- `DP reconstruction failed — expected ${e.length} vaults in order, got ${C.length}.`
534
+ const M = S.flat();
535
+ if (M.length !== o) {
536
+ console.error(
537
+ `computeOptimalOrder: DP reconstruction produced ${M.length}/${o} vaults; falling back to largest-first. This indicates a DP-invariant regression.`
547
538
  );
548
- const h = O(
549
- C,
539
+ const u = [...e].sort((T, b) => b.btc - T.btc), m = x(
540
+ u,
541
+ t,
542
+ n,
543
+ a,
544
+ i,
545
+ r,
546
+ s,
547
+ p
548
+ );
549
+ return { order: u, ...m };
550
+ }
551
+ const P = x(
552
+ M,
550
553
  t,
551
554
  n,
552
555
  a,
553
556
  i,
554
557
  r,
555
558
  s,
556
- u
559
+ p
557
560
  );
558
561
  return {
559
- order: C,
560
- sumBtcAfterEvents: h.sumBtcAfterEvents,
561
- btcAfterG1: h.btcAfterG1
562
+ order: M,
563
+ sumBtcAfterEvents: P.sumBtcAfterEvents,
564
+ btcAfterG1: P.btcAfterG1
562
565
  };
563
566
  }
564
- const se = BigInt(Number.MAX_SAFE_INTEGER), z = 2000n;
565
- function V(e, t) {
566
- if (e > se)
567
+ const ie = BigInt(Number.MAX_SAFE_INTEGER), O = 2000n;
568
+ function E(e, t) {
569
+ if (e > ie)
567
570
  throw new RangeError(
568
571
  `${t} (${e}) exceeds Number.MAX_SAFE_INTEGER; precision would be lost`
569
572
  );
570
573
  }
571
- function ue(e, t, n, a) {
574
+ function re(e, t, n, a) {
572
575
  if (a <= 0)
573
576
  return { seizedFraction: 1, seizedFractionRaw: 1 / 0 };
574
577
  const i = t * e;
@@ -581,9 +584,9 @@ function ue(e, t, n, a) {
581
584
  };
582
585
  }
583
586
  function D(e, t, n, a) {
584
- return ue(e, t, n, a).seizedFraction;
587
+ return re(e, t, n, a).seizedFraction;
585
588
  }
586
- function Ke(e) {
589
+ function He(e) {
587
590
  const { totalBtc: t, CF: n, LB: a, THF: i, expectedHF: r, safetyMargin: s } = e;
588
591
  if (t <= 0n)
589
592
  return {
@@ -592,32 +595,32 @@ function Ke(e) {
592
595
  seizedFraction: 0,
593
596
  targetSeizureBtc: 0n
594
597
  };
595
- V(t, "totalBtc");
596
- const u = D(n, a, i, r), o = Number(t), y = BigInt(Math.ceil(o * u)), l = BigInt(
597
- Math.ceil(o * u * s)
598
- ), d = l > t ? t : l, T = t - d;
599
- return d > 0n && d < z || T > 0n && T < z ? {
598
+ E(t, "totalBtc");
599
+ const p = D(n, a, i, r), o = Number(t), y = BigInt(Math.ceil(o * p)), c = BigInt(
600
+ Math.ceil(o * p * s)
601
+ ), d = c > t ? t : c, l = t - d;
602
+ return d > 0n && d < O || l > 0n && l < O ? {
600
603
  sacrificialVault: 0n,
601
604
  protectedVault: 0n,
602
- seizedFraction: u,
605
+ seizedFraction: p,
603
606
  targetSeizureBtc: 0n
604
607
  } : {
605
608
  sacrificialVault: d,
606
- protectedVault: T,
607
- seizedFraction: u,
609
+ protectedVault: l,
610
+ seizedFraction: p,
608
611
  targetSeizureBtc: y
609
612
  };
610
613
  }
611
- function Ye(e) {
614
+ function We(e) {
612
615
  const { minPegin: t, seizedFraction: n, safetyMargin: a } = e;
613
- V(t, "minPegin");
616
+ E(t, "minPegin");
614
617
  const i = n * a;
615
618
  if (i >= 1 || i <= 0)
616
619
  return 0n;
617
- const r = 1 - i, s = Math.ceil(Number(t) / r), u = Math.ceil(Number(t) / i);
618
- return BigInt(Math.max(s, u));
620
+ const r = 1 - i, s = Math.ceil(Number(t) / r), p = Math.ceil(Number(t) / i);
621
+ return BigInt(Math.max(s, p));
619
622
  }
620
- function Je(e) {
623
+ function Ke(e) {
621
624
  const { vaultAmounts: t, CF: n, LB: a, THF: i, expectedHF: r, safetyMargin: s } = e;
622
625
  if (t.length === 0)
623
626
  return {
@@ -626,27 +629,27 @@ function Je(e) {
626
629
  currentCoverage: 0n,
627
630
  targetCoverage: 0n
628
631
  };
629
- const u = t.reduce((T, m) => T + m, 0n);
630
- V(u, "totalBtc");
632
+ const p = t.reduce((l, f) => l + f, 0n);
633
+ E(p, "totalBtc");
631
634
  const o = D(n, a, i, r), y = BigInt(
632
- Math.ceil(Number(u) * o * s)
633
- ), l = t[0], d = y > l ? y - l : 0n;
635
+ Math.ceil(Number(p) * o * s)
636
+ ), c = t[0], d = y > c ? y - c : 0n;
634
637
  return {
635
638
  needsRebalance: d > 0n,
636
639
  deficit: d,
637
- currentCoverage: l,
640
+ currentCoverage: c,
638
641
  targetCoverage: y
639
642
  };
640
643
  }
641
- function Xe(e) {
644
+ function Ye(e) {
642
645
  const { totalCollateralSats: t, CF: n, LB: a, THF: i, expectedHF: r } = e;
643
646
  if (t <= 0n)
644
647
  return 0n;
645
- V(t, "totalCollateralSats");
648
+ E(t, "totalCollateralSats");
646
649
  const s = D(n, a, i, r);
647
650
  return BigInt(Math.ceil(Number(t) * s));
648
651
  }
649
- function Ze(e) {
652
+ function Xe(e) {
650
653
  const { orderedVaults: t, targetSeizureSats: n } = e;
651
654
  if (t.length === 0)
652
655
  throw new Error("orderedVaults must not be empty");
@@ -660,74 +663,75 @@ function Ze(e) {
660
663
  i = y + 1;
661
664
  break;
662
665
  }
663
- const r = t.slice(0, i), s = t.slice(i), u = a, o = u > n ? u - n : 0n;
666
+ const r = t.slice(0, i), s = t.slice(i), p = a, o = p > n ? p - n : 0n;
664
667
  return {
665
668
  seizedVaults: r,
666
669
  protectedVaults: s,
667
670
  overSeizureSats: o,
668
671
  cutoffIndex: i,
669
- totalSeizedSats: u
672
+ totalSeizedSats: p
670
673
  };
671
674
  }
672
675
  export {
673
- Y as AAVE_BASE_CURRENCY_DECIMALS,
674
- J as AAVE_BASE_CURRENCY_RAY_DECIMALS,
676
+ K as AAVE_BASE_CURRENCY_DECIMALS,
677
+ Y as AAVE_BASE_CURRENCY_RAY_DECIMALS,
675
678
  F as AAVE_FUNCTION_NAMES,
676
679
  w as AaveIntegrationAdapterABI,
677
- f as AaveSpokeABI,
678
- K as BPS_SCALE,
679
- le as BPS_TO_PERCENT_DIVISOR,
680
- oe as BTC_DECIMALS,
680
+ R as AaveSpokeABI,
681
+ W as BPS_SCALE,
682
+ oe as BPS_TO_PERCENT_DIVISOR,
683
+ ue as BTC_DECIMALS,
681
684
  $ as FULL_REPAY_BUFFER_DIVISOR,
682
- me as FULL_REPAY_BUFFER_FRACTION,
685
+ le as FULL_REPAY_BUFFER_FRACTION,
683
686
  Z as HEALTH_FACTOR_WARNING_THRESHOLD,
684
- te as MAX_GROUPS,
685
- ne as MIN_DEBT_THRESHOLD,
686
- de as MIN_HEALTH_FACTOR_FOR_BORROW,
687
- He as SEIZURE_TOL,
688
- ye as USDC_DECIMALS,
687
+ ae as MAX_DP_N,
688
+ ee as MAX_GROUPS,
689
+ te as MIN_DEBT_THRESHOLD,
690
+ ye as MIN_HEALTH_FACTOR_FOR_BORROW,
691
+ ze as SEIZURE_TOL,
692
+ pe as USDC_DECIMALS,
689
693
  X as WAD_DECIMALS,
690
- Le as aaveRayValueToUsd,
691
- _e as aaveValueToUsd,
692
- Ve as buildBorrowTx,
693
- xe as buildReorderVaultsTx,
694
- Ee as buildRepayTx,
695
- Fe as buildWithdrawCollateralsTx,
696
- Ue as calculateBorrowRatio,
697
- ze as calculateHealthFactor,
698
- qe as calculateTotalVaultAmount,
699
- Je as checkRebalanceNeeded,
700
- Ye as computeMinDepositForSplit,
701
- We as computeOptimalOrder,
702
- Ke as computeOptimalSplit,
694
+ Ee as aaveRayValueToUsd,
695
+ Fe as aaveValueToUsd,
696
+ xe as buildBorrowTx,
697
+ he as buildReorderVaultsTx,
698
+ Ve as buildRepayTx,
699
+ Be as buildWithdrawCollateralsTx,
700
+ Le as calculateBorrowRatio,
701
+ Ne as calculateHealthFactor,
702
+ ke as calculateTotalVaultAmount,
703
+ Ke as checkRebalanceNeeded,
704
+ We as computeMinDepositForSplit,
705
+ Ge as computeOptimalOrder,
706
+ He as computeOptimalSplit,
703
707
  D as computeSeizedFraction,
704
- ue as computeSeizedFractionDetailed,
705
- Xe as computeTargetSeizureSats,
706
- Be as getAssetDrawnRatesSafe,
707
- we as getDynamicReserveConfig,
708
- Ge as getGroup1FromOrder,
709
- ee as getHealthFactorStatus,
710
- Oe as getHealthFactorStatusFromValue,
711
- Se as getOracleAddress,
712
- ce as getPosition,
713
- Te as getPositionSizeParams,
714
- Ce as getReserve,
715
- he as getReservesPrices,
716
- Pe as getReservesPricesSafe,
717
- Me as getTargetHealthFactor,
718
- be as getUserAccountData,
719
- q as getUserPosition,
720
- fe as getUserPositionAndAccountData,
721
- Ie as getUserPositions,
722
- Re as getUserTotalDebt,
723
- Ae as getUserTotalDebts,
724
- ge as hasCollateral,
725
- ve as hasDebt,
726
- j as hasDebtFromPosition,
727
- Ne as isHealthFactorHealthy,
728
- ke as selectVaultsForAmount,
729
- O as simulateCascade,
730
- Ze as simulatePrefixSeizure,
731
- De as wadToNumber
708
+ re as computeSeizedFractionDetailed,
709
+ Ye as computeTargetSeizureSats,
710
+ Pe as getAssetDrawnRatesSafe,
711
+ Ce as getDynamicReserveConfig,
712
+ qe as getGroup1FromOrder,
713
+ Q as getHealthFactorStatus,
714
+ Ue as getHealthFactorStatusFromValue,
715
+ Me as getOracleAddress,
716
+ de as getPosition,
717
+ me as getPositionSizeParams,
718
+ Ie as getReserve,
719
+ we as getReservesPrices,
720
+ Se as getReservesPricesSafe,
721
+ Ae as getTargetHealthFactor,
722
+ ce as getUserAccountData,
723
+ z as getUserPosition,
724
+ Te as getUserPositionAndAccountData,
725
+ ge as getUserPositions,
726
+ ve as getUserTotalDebt,
727
+ Re as getUserTotalDebts,
728
+ fe as hasCollateral,
729
+ be as hasDebt,
730
+ J as hasDebtFromPosition,
731
+ De as isHealthFactorHealthy,
732
+ Oe as selectVaultsForAmount,
733
+ x as simulateCascade,
734
+ Xe as simulatePrefixSeizure,
735
+ _e as wadToNumber
732
736
  };
733
737
  //# sourceMappingURL=index.js.map