@babylonlabs-io/ts-sdk 0.40.0 → 0.41.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.
Files changed (33) hide show
  1. package/dist/PayoutManager-B5bovfkD.cjs.map +1 -1
  2. package/dist/PayoutManager-DChODEOJ.js.map +1 -1
  3. package/dist/assertPsbtUnsignedTxMatches-CzVv57QF.js.map +1 -1
  4. package/dist/assertPsbtUnsignedTxMatches-r1svclbd.cjs.map +1 -1
  5. package/dist/bitcoin-B5aNKtsk.js.map +1 -1
  6. package/dist/bitcoin-CHfKAhcI.cjs.map +1 -1
  7. package/dist/tbv/core/clients/vault-provider/auth/serverIdentity.d.ts +0 -7
  8. package/dist/tbv/core/clients/vault-provider/auth/serverIdentity.d.ts.map +1 -1
  9. package/dist/tbv/core/managers/pegin/assertAuthAnchorOpReturn.d.ts +0 -17
  10. package/dist/tbv/core/managers/pegin/assertAuthAnchorOpReturn.d.ts.map +1 -1
  11. package/dist/tbv/core/managers/pegin/index.d.ts +1 -1
  12. package/dist/tbv/core/managers/pegin/index.d.ts.map +1 -1
  13. package/dist/tbv/core/primitives/psbt/constants.d.ts +0 -4
  14. package/dist/tbv/core/primitives/psbt/constants.d.ts.map +1 -1
  15. package/dist/tbv/core/primitives/utils/bitcoin.d.ts +0 -5
  16. package/dist/tbv/core/primitives/utils/bitcoin.d.ts.map +1 -1
  17. package/dist/tbv/integrations/aave/index.cjs +1 -1
  18. package/dist/tbv/integrations/aave/index.cjs.map +1 -1
  19. package/dist/tbv/integrations/aave/index.js +265 -270
  20. package/dist/tbv/integrations/aave/index.js.map +1 -1
  21. package/dist/tbv/integrations/aave/utils/cascadeSimulation.d.ts +9 -0
  22. package/dist/tbv/integrations/aave/utils/cascadeSimulation.d.ts.map +1 -1
  23. package/dist/tbv/integrations/aave/utils/optimalOrder.d.ts +20 -3
  24. package/dist/tbv/integrations/aave/utils/optimalOrder.d.ts.map +1 -1
  25. package/dist/types-0bvDGR4x.js.map +1 -1
  26. package/dist/types-Be3sAYzr.cjs.map +1 -1
  27. package/package.json +1 -1
  28. package/dist/tbv/core/primitives/psbt/index.d.ts +0 -34
  29. package/dist/tbv/core/primitives/psbt/index.d.ts.map +0 -1
  30. package/dist/tbv/core/primitives/scripts/index.d.ts +0 -10
  31. package/dist/tbv/core/primitives/scripts/index.d.ts.map +0 -1
  32. package/dist/tbv/core/primitives/utils/index.d.ts +0 -9
  33. package/dist/tbv/core/primitives/utils/index.d.ts.map +0 -1
@@ -1,5 +1,5 @@
1
- import { zeroAddress as L, encodeFunctionData as S } from "viem";
2
- const h = {
1
+ import { zeroAddress as q, encodeFunctionData as x } from "viem";
2
+ const F = {
3
3
  /** Withdraw selected vaults from position (partial withdrawal) */
4
4
  WITHDRAW_COLLATERALS: "withdrawCollaterals",
5
5
  /** Borrow from Core Spoke position */
@@ -8,24 +8,24 @@ const h = {
8
8
  REPAY: "repayToCorePosition",
9
9
  /** Reorder vault prefix ordering for liquidation priority */
10
10
  REORDER_VAULTS: "reorderVaults"
11
- }, Q = 8, ee = 6, te = 100, O = 1e4, U = 26, D = 53, N = 18, k = 1.5, ne = 1.2, z = 200n, ae = 1 / Number(z), R = /* @__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 ie(e, t, n) {
11
+ }, se = 8, pe = 6, ue = 100, H = 1e4, G = 26, W = 53, K = 18, Y = 1.5, oe = 1.2, J = 200n, ye = 1 / Number(J), M = /* @__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 le(e, t, n) {
13
13
  const a = await e.readContract({
14
14
  address: t,
15
- abi: R,
15
+ abi: M,
16
16
  functionName: "getPosition",
17
17
  args: [n]
18
18
  });
19
- return a.proxyContract === L ? null : {
19
+ return a.proxyContract === q ? null : {
20
20
  proxyContract: a.proxyContract,
21
21
  vaultIds: a.vaultIds,
22
22
  totalCollateralBTC: a.totalCollateralBTC
23
23
  };
24
24
  }
25
- async function re(e, t) {
25
+ async function de(e, t) {
26
26
  const n = await e.readContract({
27
27
  address: t,
28
- abi: R,
28
+ abi: M,
29
29
  functionName: "getPositionSizeParams"
30
30
  }), [i, a] = n;
31
31
  return {
@@ -33,11 +33,11 @@ async function re(e, t) {
33
33
  maxVaultsPerPosition: a
34
34
  };
35
35
  }
36
- function q(e) {
36
+ function X(e) {
37
37
  return e.drawnShares > 0n || e.premiumShares > 0n;
38
38
  }
39
- const I = /* @__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
- function H(e) {
39
+ const S = /* @__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
+ function Z(e) {
41
41
  return {
42
42
  drawnShares: e.drawnShares,
43
43
  premiumShares: e.premiumShares,
@@ -46,10 +46,10 @@ function H(e) {
46
46
  dynamicConfigKey: e.dynamicConfigKey
47
47
  };
48
48
  }
49
- async function se(e, t, n) {
49
+ async function me(e, t, n) {
50
50
  const a = await e.readContract({
51
51
  address: t,
52
- abi: I,
52
+ abi: S,
53
53
  functionName: "getUserAccountData",
54
54
  args: [n]
55
55
  });
@@ -63,67 +63,67 @@ async function se(e, t, n) {
63
63
  borrowCount: a.borrowCount
64
64
  };
65
65
  }
66
- async function _(e, t, n, i) {
66
+ async function z(e, t, n, i) {
67
67
  const a = await e.readContract({
68
68
  address: t,
69
- abi: I,
69
+ abi: S,
70
70
  functionName: "getUserPosition",
71
71
  args: [n, i]
72
72
  });
73
- return H(a);
73
+ return Z(a);
74
74
  }
75
- async function pe(e, t, n, i) {
76
- const a = await _(
75
+ async function ce(e, t, n, i) {
76
+ const a = await z(
77
77
  e,
78
78
  t,
79
79
  n,
80
80
  i
81
81
  );
82
- return q(a);
82
+ return X(a);
83
83
  }
84
- async function ue(e, t, n, i) {
85
- return (await _(
84
+ async function Te(e, t, n, i) {
85
+ return (await z(
86
86
  e,
87
87
  t,
88
88
  n,
89
89
  i
90
90
  )).suppliedShares > 0n;
91
91
  }
92
- async function oe(e, t, n, i) {
92
+ async function be(e, t, n, i) {
93
93
  return await e.readContract({
94
94
  address: t,
95
- abi: I,
95
+ abi: S,
96
96
  functionName: "getUserTotalDebt",
97
97
  args: [n, i]
98
98
  });
99
99
  }
100
- async function ye(e, t, n) {
100
+ async function fe(e, t, n) {
101
101
  return await e.readContract({
102
102
  address: t,
103
- abi: I,
103
+ abi: S,
104
104
  functionName: "getReserve",
105
105
  args: [n]
106
106
  });
107
107
  }
108
- async function le(e, t) {
108
+ async function ve(e, t) {
109
109
  return (await e.readContract({
110
110
  address: t,
111
- abi: I,
111
+ abi: S,
112
112
  functionName: "getLiquidationConfig"
113
113
  })).targetHealthFactor;
114
114
  }
115
- async function de(e, t, n, i) {
115
+ async function ge(e, t, n, i) {
116
116
  return await e.readContract({
117
117
  address: t,
118
- abi: I,
118
+ abi: S,
119
119
  functionName: "getDynamicReserveConfig",
120
120
  args: [n, i]
121
121
  });
122
122
  }
123
- function me(e, t) {
124
- const n = S({
125
- abi: R,
126
- functionName: h.REORDER_VAULTS,
123
+ function Re(e, t) {
124
+ const n = x({
125
+ abi: M,
126
+ functionName: F.REORDER_VAULTS,
127
127
  args: [t]
128
128
  });
129
129
  return {
@@ -131,10 +131,10 @@ function me(e, t) {
131
131
  data: n
132
132
  };
133
133
  }
134
- function ce(e, t) {
135
- const n = S({
136
- abi: R,
137
- functionName: h.WITHDRAW_COLLATERALS,
134
+ function Ie(e, t) {
135
+ const n = x({
136
+ abi: M,
137
+ functionName: F.WITHDRAW_COLLATERALS,
138
138
  args: [t]
139
139
  });
140
140
  return {
@@ -142,10 +142,10 @@ function ce(e, t) {
142
142
  data: n
143
143
  };
144
144
  }
145
- function Te(e, t, n, i) {
146
- const a = S({
147
- abi: R,
148
- functionName: h.BORROW,
145
+ function Ae(e, t, n, i) {
146
+ const a = x({
147
+ abi: M,
148
+ functionName: F.BORROW,
149
149
  args: [t, n, i]
150
150
  });
151
151
  return {
@@ -153,10 +153,10 @@ function Te(e, t, n, i) {
153
153
  data: a
154
154
  };
155
155
  }
156
- function be(e, t, n, i) {
157
- const a = S({
158
- abi: R,
159
- functionName: h.REPAY,
156
+ function Ce(e, t, n, i) {
157
+ const a = x({
158
+ abi: M,
159
+ functionName: F.REPAY,
160
160
  args: [t, n, i]
161
161
  });
162
162
  return {
@@ -164,35 +164,35 @@ function be(e, t, n, i) {
164
164
  data: a
165
165
  };
166
166
  }
167
- function fe(e) {
168
- return Number(e) / 10 ** U;
167
+ function Me(e) {
168
+ return Number(e) / 10 ** G;
169
169
  }
170
- function ve(e) {
171
- return Number(e) / 10 ** D;
170
+ function Se(e) {
171
+ return Number(e) / 10 ** W;
172
172
  }
173
- function ge(e) {
174
- return Number(e) / 10 ** N;
173
+ function he(e) {
174
+ return Number(e) / 10 ** K;
175
175
  }
176
- function Re(e, t) {
176
+ function we(e, t) {
177
177
  return t <= 0 ? "0%" : `${(e / t * 100).toFixed(1)}%`;
178
178
  }
179
- function G(e, t) {
180
- return t ? e === null ? "safe" : e < 1 ? "danger" : e < k ? "warning" : "safe" : "no_debt";
179
+ function $(e, t) {
180
+ return t ? e === null ? "safe" : e < 1 ? "danger" : e < Y ? "warning" : "safe" : "no_debt";
181
181
  }
182
- function Ie(e) {
182
+ function Pe(e) {
183
183
  return e === null ? !0 : e >= 1;
184
184
  }
185
- function Ae(e) {
185
+ function Be(e) {
186
186
  const t = isFinite(e), n = isFinite(e) ? e : null;
187
- return G(n, t);
187
+ return $(n, t);
188
188
  }
189
- function Ce(e, t, n) {
190
- return t <= 0 ? 1 / 0 : e * (n / O) / t;
189
+ function xe(e, t, n) {
190
+ return t <= 0 ? 1 / 0 : e * (n / H) / t;
191
191
  }
192
- function Me(e, t) {
192
+ function Fe(e, t) {
193
193
  if (t <= 0)
194
194
  return { vaultIds: [], actualAmount: 0 };
195
- const n = [...e].sort((r, o) => o.amount - r.amount), i = [];
195
+ const n = [...e].sort((r, p) => p.amount - r.amount), i = [];
196
196
  let a = 0;
197
197
  for (const r of n) {
198
198
  if (a >= t) break;
@@ -200,162 +200,157 @@ function Me(e, t) {
200
200
  }
201
201
  return { vaultIds: i, actualAmount: a };
202
202
  }
203
- function Se(e) {
203
+ function Ve(e) {
204
204
  return e.reduce((t, n) => t + n.amount, 0);
205
205
  }
206
- const he = 0.01, W = 20, K = 0.01;
207
- function we(e, t, n) {
206
+ const _e = 0.01, j = 20, Q = 0.01;
207
+ function Ee(e, t, n) {
208
208
  if (e.length === 0) return [];
209
- const a = e.reduce((u, s) => u + s.btc, 0) * t * (1 - n);
210
- let r = 0, o = 0;
211
- for (; o < e.length && r < a; )
212
- r += e[o].btc, o++;
213
- return e.slice(0, o);
214
- }
215
- function Y(e, t, n, i, a, r, o, u, s) {
216
- const l = u * r, m = n / (t * r), p = t * a, y = Math.max(0, e - p), c = o - l, d = c === 0 ? n : n * ((o - s) / c);
217
- let T;
209
+ const a = e.reduce((s, o) => s + o.btc, 0) * t * (1 - n);
210
+ let r = 0, p = 0;
211
+ for (; p < e.length && r < a; )
212
+ r += e[p].btc, p++;
213
+ return e.slice(0, p);
214
+ }
215
+ function ee(e, t, n, i, a, r, p, s, o) {
216
+ const y = s * r, l = n / (t * r), d = t * a, T = Math.max(0, e - d), m = p - y, c = m === 0 ? n : n * ((p - o) / m);
217
+ let f;
218
218
  if (i)
219
- T = 0;
219
+ f = 0;
220
220
  else {
221
- const b = y * m / u, f = Math.min(b, n - d);
222
- T = Math.max(0, n - d - f);
221
+ const v = T * l / s, b = Math.min(v, n - c);
222
+ f = Math.max(0, n - c - b);
223
223
  }
224
- return { debtAfter: T, btcAfter: Math.max(0, t - e) };
225
- }
226
- function V(e, t, n, i, a, r, o, u) {
227
- let s = [...e], l = t;
228
- const m = e.reduce((d, T) => d + T.btc, 0);
229
- let p = -1, y = 0, c = 0;
230
- for (; s.length > 0 && l > K && c < W; ) {
231
- const d = s.reduce((v, B) => v + B.btc, 0), T = d * n * (1 - i);
232
- let b = 0, f = 0;
233
- for (; f < s.length && b < T; )
234
- b += s[f].btc, f++;
235
- const M = f >= s.length, { debtAfter: A } = Y(
236
- b,
237
- d,
238
- l,
239
- M,
224
+ return { debtAfter: f, btcAfter: Math.max(0, t - e) };
225
+ }
226
+ function O(e, t, n, i, a, r, p, s) {
227
+ let o = [...e], y = t;
228
+ const l = e.reduce((c, f) => c + f.btc, 0);
229
+ let d = -1, T = 0, m = 0;
230
+ for (; o.length > 0 && y > Q && m < j; ) {
231
+ const c = o.reduce((w, u) => w + u.btc, 0), f = c * n * (1 - i);
232
+ let v = 0, b = 0;
233
+ for (; b < o.length && v < f; )
234
+ v += o[b].btc, b++;
235
+ const _ = b >= o.length, { debtAfter: h } = ee(
236
+ v,
237
+ c,
238
+ y,
239
+ _,
240
240
  n,
241
241
  a,
242
242
  r,
243
- o,
244
- u
243
+ p,
244
+ s
245
245
  );
246
- s = s.slice(f), l = A;
247
- const C = d - b;
248
- y += C, p < 0 && (p = C), c++;
246
+ o = o.slice(b), y = h;
247
+ const A = c - v;
248
+ T += A, d < 0 && (d = A), m++;
249
249
  }
250
250
  return {
251
- sumBtcAfterEvents: y,
252
- btcAfterG1: p < 0 ? m : p
251
+ sumBtcAfterEvents: T,
252
+ btcAfterG1: d < 0 ? l : d
253
253
  };
254
254
  }
255
- const g = 1e-4, X = 5, P = 20;
256
- function Z(e, t, n) {
257
- const i = [];
258
- let a = [...e];
259
- for (; a.length > 0; ) {
260
- const r = a.reduce((p, y) => p + y.btc, 0), o = r * t * (1 - n);
261
- let u = [...a], s = r;
262
- const l = a.length;
263
- if (l <= P)
264
- for (let p = 1; p < 1 << l; p++) {
265
- let y = 0;
266
- const c = [];
267
- for (let d = 0; d < l; d++)
268
- p & 1 << d && (y += a[d].btc, c.push(a[d]));
269
- y >= o && y < s && (s = y, u = c);
255
+ const te = 10;
256
+ function ne(e, t) {
257
+ const n = e.map((i) => ({
258
+ vaults: [i],
259
+ sum: i.btc
260
+ }));
261
+ for (n.sort((i, a) => a.sum - i.sum); n.length > t; ) {
262
+ const i = n.pop(), a = n.pop(), r = {
263
+ vaults: [...i.vaults, ...a.vaults],
264
+ sum: i.sum + a.sum
265
+ };
266
+ let p = !1;
267
+ for (let s = 0; s < n.length; s++)
268
+ if (r.sum > n[s].sum) {
269
+ n.splice(s, 0, r), p = !0;
270
+ break;
270
271
  }
271
- const m = new Set(u.map((p) => p.id));
272
- i.push(...[...u].sort((p, y) => y.btc - p.btc)), a = a.filter((p) => !m.has(p.id));
272
+ p || n.push(r);
273
273
  }
274
- return i;
274
+ for (const i of n)
275
+ i.vaults.sort((a, r) => r.btc - a.btc);
276
+ return n;
275
277
  }
276
- function E(e, t, n, i, a, r, o, u) {
278
+ function Le(e, t, n, i, a, r, p, s) {
277
279
  if (e.length === 0)
278
280
  return { order: [], sumBtcAfterEvents: 0, btcAfterG1: 0 };
279
- if (e.length > P)
280
- throw new Error(
281
- `Too many vaults for exhaustive search: ${e.length} exceeds maximum of ${P}`
282
- );
283
281
  if (e.length === 1) {
284
- const d = V(
282
+ const u = O(
285
283
  e,
286
284
  t,
287
285
  n,
288
286
  i,
289
287
  a,
290
288
  r,
291
- o,
292
- u
289
+ p,
290
+ s
293
291
  );
294
- return { order: [...e], ...d };
292
+ return { order: [...e], ...u };
295
293
  }
296
- const s = e.length, m = e.reduce((d, T) => d + T.btc, 0) * n * (1 - i);
297
- let p = [...e], y = -1 / 0, c = -1 / 0;
298
- for (let d = 1; d < 1 << s; d++) {
299
- let T = 0;
300
- const b = [], f = [];
301
- for (let v = 0; v < s; v++)
302
- d & 1 << v ? (T += e[v].btc, b.push(e[v])) : f.push(e[v]);
303
- if (T < m) continue;
304
- b.sort((v, B) => B.btc - v.btc);
305
- const M = [...b, ...Z(f, n, i)], { sumBtcAfterEvents: A, btcAfterG1: C } = V(
306
- M,
307
- t,
308
- n,
309
- i,
310
- a,
311
- r,
312
- o,
313
- u
314
- );
315
- (A > y + g || Math.abs(A - y) <= g && C > c + g) && (y = A, c = C, p = M);
294
+ const o = ne(e, te), y = o.length, l = 1 << y, d = o.reduce((u, g) => u + g.sum, 0), T = n * (1 - i), m = new Float64Array(l);
295
+ for (let u = 1; u < l; u++) {
296
+ const g = u & -u, R = 31 - Math.clz32(g);
297
+ m[u] = m[u ^ g] + o[R].sum;
316
298
  }
317
- return {
318
- order: p,
319
- sumBtcAfterEvents: y,
320
- btcAfterG1: c
321
- };
322
- }
323
- function Be(e, t, n, i, a, r, o, u) {
324
- let s = E(
325
- e,
299
+ const c = new Float64Array(l), f = new Float64Array(l), v = new Int32Array(l);
300
+ c.fill(-1 / 0), v.fill(-1), c[0] = 0;
301
+ const b = 1e-9;
302
+ for (let u = 1; u < l; u++) {
303
+ const g = d - m[u];
304
+ let R = -1 / 0, I = -1 / 0, P = -1;
305
+ for (let C = u; C > 0; C = C - 1 & u) {
306
+ const B = u ^ C, U = c[B];
307
+ if (U === -1 / 0) continue;
308
+ const k = d - m[B];
309
+ if (m[C] < k * T) continue;
310
+ const E = U + g, D = B === 0 ? d - m[C] : f[B];
311
+ (E > R + b || Math.abs(E - R) <= b && D > I + b) && (R = E, I = D, P = C);
312
+ }
313
+ c[u] = R, f[u] = I, v[u] = P;
314
+ }
315
+ const _ = l - 1, h = [];
316
+ for (let u = _; u > 0; ) {
317
+ const g = v[u];
318
+ if (g === -1) break;
319
+ const R = [];
320
+ for (let I = 0; I < y; I++)
321
+ g & 1 << I && R.push(...o[I].vaults);
322
+ R.sort((I, P) => P.btc - I.btc), h.push(R), u ^= g;
323
+ }
324
+ h.reverse();
325
+ const A = h.flat();
326
+ if (A.length !== e.length)
327
+ throw new Error(
328
+ `DP reconstruction failed — expected ${e.length} vaults in order, got ${A.length}.`
329
+ );
330
+ const w = O(
331
+ A,
326
332
  t,
327
333
  n,
328
334
  i,
329
335
  a,
330
336
  r,
331
- o,
332
- u
337
+ p,
338
+ s
333
339
  );
334
- for (let l = 0; l < X; l++) {
335
- const m = E(
336
- s.order,
337
- t,
338
- n,
339
- i,
340
- a,
341
- r,
342
- o,
343
- u
344
- ), p = m.sumBtcAfterEvents > s.sumBtcAfterEvents + g, c = Math.abs(m.sumBtcAfterEvents - s.sumBtcAfterEvents) <= g && m.btcAfterG1 > s.btcAfterG1 + g;
345
- if (!p && !c)
346
- break;
347
- s = m;
348
- }
349
- return s;
340
+ return {
341
+ order: A,
342
+ sumBtcAfterEvents: w.sumBtcAfterEvents,
343
+ btcAfterG1: w.btcAfterG1
344
+ };
350
345
  }
351
- const $ = BigInt(Number.MAX_SAFE_INTEGER), F = 2000n;
352
- function w(e, t) {
353
- if (e > $)
346
+ const ae = BigInt(Number.MAX_SAFE_INTEGER), N = 2000n;
347
+ function V(e, t) {
348
+ if (e > ae)
354
349
  throw new RangeError(
355
350
  `${t} (${e}) exceeds Number.MAX_SAFE_INTEGER; precision would be lost`
356
351
  );
357
352
  }
358
- function J(e, t, n, i) {
353
+ function ie(e, t, n, i) {
359
354
  if (i <= 0)
360
355
  return { seizedFraction: 1, seizedFractionRaw: 1 / 0 };
361
356
  const a = t * e;
@@ -367,11 +362,11 @@ function J(e, t, n, i) {
367
362
  seizedFractionRaw: r
368
363
  };
369
364
  }
370
- function x(e, t, n, i) {
371
- return J(e, t, n, i).seizedFraction;
365
+ function L(e, t, n, i) {
366
+ return ie(e, t, n, i).seizedFraction;
372
367
  }
373
- function Pe(e) {
374
- const { totalBtc: t, CF: n, LB: i, THF: a, expectedHF: r, safetyMargin: o } = e;
368
+ function Ue(e) {
369
+ const { totalBtc: t, CF: n, LB: i, THF: a, expectedHF: r, safetyMargin: p } = e;
375
370
  if (t <= 0n)
376
371
  return {
377
372
  sacrificialVault: 0n,
@@ -379,33 +374,33 @@ function Pe(e) {
379
374
  seizedFraction: 0,
380
375
  targetSeizureBtc: 0n
381
376
  };
382
- w(t, "totalBtc");
383
- const u = x(n, i, a, r), s = Number(t), l = BigInt(Math.ceil(s * u)), m = BigInt(
384
- Math.ceil(s * u * o)
385
- ), p = m > t ? t : m, y = t - p;
386
- return p > 0n && p < F || y > 0n && y < F ? {
377
+ V(t, "totalBtc");
378
+ const s = L(n, i, a, r), o = Number(t), y = BigInt(Math.ceil(o * s)), l = BigInt(
379
+ Math.ceil(o * s * p)
380
+ ), d = l > t ? t : l, T = t - d;
381
+ return d > 0n && d < N || T > 0n && T < N ? {
387
382
  sacrificialVault: 0n,
388
383
  protectedVault: 0n,
389
- seizedFraction: u,
384
+ seizedFraction: s,
390
385
  targetSeizureBtc: 0n
391
386
  } : {
392
- sacrificialVault: p,
393
- protectedVault: y,
394
- seizedFraction: u,
395
- targetSeizureBtc: l
387
+ sacrificialVault: d,
388
+ protectedVault: T,
389
+ seizedFraction: s,
390
+ targetSeizureBtc: y
396
391
  };
397
392
  }
398
- function xe(e) {
393
+ function De(e) {
399
394
  const { minPegin: t, seizedFraction: n, safetyMargin: i } = e;
400
- w(t, "minPegin");
395
+ V(t, "minPegin");
401
396
  const a = n * i;
402
397
  if (a >= 1 || a <= 0)
403
398
  return 0n;
404
- const r = 1 - a, o = Math.ceil(Number(t) / r), u = Math.ceil(Number(t) / a);
405
- return BigInt(Math.max(o, u));
399
+ const r = 1 - a, p = Math.ceil(Number(t) / r), s = Math.ceil(Number(t) / a);
400
+ return BigInt(Math.max(p, s));
406
401
  }
407
- function Ve(e) {
408
- const { vaultAmounts: t, CF: n, LB: i, THF: a, expectedHF: r, safetyMargin: o } = e;
402
+ function Oe(e) {
403
+ const { vaultAmounts: t, CF: n, LB: i, THF: a, expectedHF: r, safetyMargin: p } = e;
409
404
  if (t.length === 0)
410
405
  return {
411
406
  needsRebalance: !1,
@@ -413,27 +408,27 @@ function Ve(e) {
413
408
  currentCoverage: 0n,
414
409
  targetCoverage: 0n
415
410
  };
416
- const u = t.reduce((y, c) => y + c, 0n);
417
- w(u, "totalBtc");
418
- const s = x(n, i, a, r), l = BigInt(
419
- Math.ceil(Number(u) * s * o)
420
- ), m = t[0], p = l > m ? l - m : 0n;
411
+ const s = t.reduce((T, m) => T + m, 0n);
412
+ V(s, "totalBtc");
413
+ const o = L(n, i, a, r), y = BigInt(
414
+ Math.ceil(Number(s) * o * p)
415
+ ), l = t[0], d = y > l ? y - l : 0n;
421
416
  return {
422
- needsRebalance: p > 0n,
423
- deficit: p,
424
- currentCoverage: m,
425
- targetCoverage: l
417
+ needsRebalance: d > 0n,
418
+ deficit: d,
419
+ currentCoverage: l,
420
+ targetCoverage: y
426
421
  };
427
422
  }
428
- function Ee(e) {
423
+ function Ne(e) {
429
424
  const { totalCollateralSats: t, CF: n, LB: i, THF: a, expectedHF: r } = e;
430
425
  if (t <= 0n)
431
426
  return 0n;
432
- w(t, "totalCollateralSats");
433
- const o = x(n, i, a, r);
434
- return BigInt(Math.ceil(Number(t) * o));
427
+ V(t, "totalCollateralSats");
428
+ const p = L(n, i, a, r);
429
+ return BigInt(Math.ceil(Number(t) * p));
435
430
  }
436
- function Fe(e) {
431
+ function ze(e) {
437
432
  const { orderedVaults: t, targetSeizureSats: n } = e;
438
433
  if (t.length === 0)
439
434
  throw new Error("orderedVaults must not be empty");
@@ -442,72 +437,72 @@ function Fe(e) {
442
437
  "targetSeizureSats must be positive; use computeTargetSeizureSats to derive it"
443
438
  );
444
439
  let i = 0n, a = t.length;
445
- for (let l = 0; l < t.length; l++)
446
- if (i += t[l].amountSats, i >= n) {
447
- a = l + 1;
440
+ for (let y = 0; y < t.length; y++)
441
+ if (i += t[y].amountSats, i >= n) {
442
+ a = y + 1;
448
443
  break;
449
444
  }
450
- const r = t.slice(0, a), o = t.slice(a), u = i, s = u > n ? u - n : 0n;
445
+ const r = t.slice(0, a), p = t.slice(a), s = i, o = s > n ? s - n : 0n;
451
446
  return {
452
447
  seizedVaults: r,
453
- protectedVaults: o,
454
- overSeizureSats: s,
448
+ protectedVaults: p,
449
+ overSeizureSats: o,
455
450
  cutoffIndex: a,
456
- totalSeizedSats: u
451
+ totalSeizedSats: s
457
452
  };
458
453
  }
459
454
  export {
460
- U as AAVE_BASE_CURRENCY_DECIMALS,
461
- D as AAVE_BASE_CURRENCY_RAY_DECIMALS,
462
- h as AAVE_FUNCTION_NAMES,
463
- R as AaveIntegrationAdapterABI,
464
- I as AaveSpokeABI,
465
- O as BPS_SCALE,
466
- te as BPS_TO_PERCENT_DIVISOR,
467
- Q as BTC_DECIMALS,
468
- z as FULL_REPAY_BUFFER_DIVISOR,
469
- ae as FULL_REPAY_BUFFER_FRACTION,
470
- k as HEALTH_FACTOR_WARNING_THRESHOLD,
471
- W as MAX_GROUPS,
472
- K as MIN_DEBT_THRESHOLD,
473
- ne as MIN_HEALTH_FACTOR_FOR_BORROW,
474
- he as SEIZURE_TOL,
475
- ee as USDC_DECIMALS,
476
- N as WAD_DECIMALS,
477
- ve as aaveRayValueToUsd,
478
- fe as aaveValueToUsd,
479
- Te as buildBorrowTx,
480
- me as buildReorderVaultsTx,
481
- be as buildRepayTx,
482
- ce as buildWithdrawCollateralsTx,
483
- Re as calculateBorrowRatio,
484
- Ce as calculateHealthFactor,
485
- Se as calculateTotalVaultAmount,
486
- Ve as checkRebalanceNeeded,
487
- xe as computeMinDepositForSplit,
488
- Be as computeOptimalOrder,
489
- Pe as computeOptimalSplit,
490
- x as computeSeizedFraction,
491
- J as computeSeizedFractionDetailed,
492
- Ee as computeTargetSeizureSats,
493
- de as getDynamicReserveConfig,
494
- we as getGroup1FromOrder,
495
- G as getHealthFactorStatus,
496
- Ae as getHealthFactorStatusFromValue,
497
- ie as getPosition,
498
- re as getPositionSizeParams,
499
- ye as getReserve,
500
- le as getTargetHealthFactor,
501
- se as getUserAccountData,
502
- _ as getUserPosition,
503
- oe as getUserTotalDebt,
504
- ue as hasCollateral,
505
- pe as hasDebt,
506
- q as hasDebtFromPosition,
507
- Ie as isHealthFactorHealthy,
508
- Me as selectVaultsForAmount,
509
- V as simulateCascade,
510
- Fe as simulatePrefixSeizure,
511
- ge as wadToNumber
455
+ G as AAVE_BASE_CURRENCY_DECIMALS,
456
+ W as AAVE_BASE_CURRENCY_RAY_DECIMALS,
457
+ F as AAVE_FUNCTION_NAMES,
458
+ M as AaveIntegrationAdapterABI,
459
+ S as AaveSpokeABI,
460
+ H as BPS_SCALE,
461
+ ue as BPS_TO_PERCENT_DIVISOR,
462
+ se as BTC_DECIMALS,
463
+ J as FULL_REPAY_BUFFER_DIVISOR,
464
+ ye as FULL_REPAY_BUFFER_FRACTION,
465
+ Y as HEALTH_FACTOR_WARNING_THRESHOLD,
466
+ j as MAX_GROUPS,
467
+ Q as MIN_DEBT_THRESHOLD,
468
+ oe as MIN_HEALTH_FACTOR_FOR_BORROW,
469
+ _e as SEIZURE_TOL,
470
+ pe as USDC_DECIMALS,
471
+ K as WAD_DECIMALS,
472
+ Se as aaveRayValueToUsd,
473
+ Me as aaveValueToUsd,
474
+ Ae as buildBorrowTx,
475
+ Re as buildReorderVaultsTx,
476
+ Ce as buildRepayTx,
477
+ Ie as buildWithdrawCollateralsTx,
478
+ we as calculateBorrowRatio,
479
+ xe as calculateHealthFactor,
480
+ Ve as calculateTotalVaultAmount,
481
+ Oe as checkRebalanceNeeded,
482
+ De as computeMinDepositForSplit,
483
+ Le as computeOptimalOrder,
484
+ Ue as computeOptimalSplit,
485
+ L as computeSeizedFraction,
486
+ ie as computeSeizedFractionDetailed,
487
+ Ne as computeTargetSeizureSats,
488
+ ge as getDynamicReserveConfig,
489
+ Ee as getGroup1FromOrder,
490
+ $ as getHealthFactorStatus,
491
+ Be as getHealthFactorStatusFromValue,
492
+ le as getPosition,
493
+ de as getPositionSizeParams,
494
+ fe as getReserve,
495
+ ve as getTargetHealthFactor,
496
+ me as getUserAccountData,
497
+ z as getUserPosition,
498
+ be as getUserTotalDebt,
499
+ Te as hasCollateral,
500
+ ce as hasDebt,
501
+ X as hasDebtFromPosition,
502
+ Pe as isHealthFactorHealthy,
503
+ Fe as selectVaultsForAmount,
504
+ O as simulateCascade,
505
+ ze as simulatePrefixSeizure,
506
+ he as wadToNumber
512
507
  };
513
508
  //# sourceMappingURL=index.js.map