@babylonlabs-io/ts-sdk 0.48.0 → 0.48.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist/{PayoutManager-BbemBIo9.js → PayoutManager-D02AePm4.js} +78 -65
  2. package/dist/PayoutManager-D02AePm4.js.map +1 -0
  3. package/dist/PayoutManager-DD1audlx.cjs +2 -0
  4. package/dist/PayoutManager-DD1audlx.cjs.map +1 -0
  5. package/dist/{PeginManager-BMO6R9I9.js → PeginManager-6seoi9mV.js} +217 -198
  6. package/dist/PeginManager-6seoi9mV.js.map +1 -0
  7. package/dist/PeginManager-CHZieoEQ.cjs +2 -0
  8. package/dist/PeginManager-CHZieoEQ.cjs.map +1 -0
  9. package/dist/buildAndBroadcastRefund-Bi07LxuY.cjs +2 -0
  10. package/dist/buildAndBroadcastRefund-Bi07LxuY.cjs.map +1 -0
  11. package/dist/{buildAndBroadcastRefund-sfl7Aac9.js → buildAndBroadcastRefund-DXHs6unL.js} +412 -362
  12. package/dist/buildAndBroadcastRefund-DXHs6unL.js.map +1 -0
  13. package/dist/{challengeAssert-1fy_EzAi.js → challengeAssert-ChvLypwc.js} +7 -7
  14. package/dist/{challengeAssert-1fy_EzAi.js.map → challengeAssert-ChvLypwc.js.map} +1 -1
  15. package/dist/challengeAssert-Culc7DoS.cjs +2 -0
  16. package/dist/{challengeAssert-DEw-z3n9.cjs.map → challengeAssert-Culc7DoS.cjs.map} +1 -1
  17. package/dist/index.cjs +1 -1
  18. package/dist/index.js +170 -169
  19. package/dist/noPayout-CA4-x5vZ.js +174 -0
  20. package/dist/noPayout-CA4-x5vZ.js.map +1 -0
  21. package/dist/noPayout-CJ_Acpl_.cjs +2 -0
  22. package/dist/noPayout-CJ_Acpl_.cjs.map +1 -0
  23. package/dist/tbv/core/index.cjs +1 -1
  24. package/dist/tbv/core/index.js +168 -167
  25. package/dist/tbv/core/managers/PayoutManager.d.ts.map +1 -1
  26. package/dist/tbv/core/managers/PeginManager.d.ts.map +1 -1
  27. package/dist/tbv/core/managers/index.cjs +1 -1
  28. package/dist/tbv/core/managers/index.js +2 -2
  29. package/dist/tbv/core/primitives/index.cjs +1 -1
  30. package/dist/tbv/core/primitives/index.d.ts +8 -7
  31. package/dist/tbv/core/primitives/index.d.ts.map +1 -1
  32. package/dist/tbv/core/primitives/index.js +30 -29
  33. package/dist/tbv/core/primitives/psbt/__tests__/verifyScriptPathSchnorrSignature.test.d.ts +14 -0
  34. package/dist/tbv/core/primitives/psbt/__tests__/verifyScriptPathSchnorrSignature.test.d.ts.map +1 -0
  35. package/dist/tbv/core/primitives/psbt/refund.d.ts.map +1 -1
  36. package/dist/tbv/core/primitives/psbt/verifyScriptPathSchnorrSignature.d.ts +53 -0
  37. package/dist/tbv/core/primitives/psbt/verifyScriptPathSchnorrSignature.d.ts.map +1 -0
  38. package/dist/tbv/core/services/deposit/signDepositorGraph.d.ts.map +1 -1
  39. package/dist/tbv/core/services/index.cjs +1 -1
  40. package/dist/tbv/core/services/index.js +2 -2
  41. package/dist/tbv/core/services/refund/buildAndBroadcastRefund.d.ts +20 -0
  42. package/dist/tbv/core/services/refund/buildAndBroadcastRefund.d.ts.map +1 -1
  43. package/dist/tbv/index.cjs +1 -1
  44. package/dist/tbv/index.js +168 -167
  45. package/dist/tbv/integrations/aave/clients/__tests__/hub.test.d.ts +2 -0
  46. package/dist/tbv/integrations/aave/clients/__tests__/hub.test.d.ts.map +1 -0
  47. package/dist/tbv/integrations/aave/clients/abis/AaveHub.abi.json.d.ts +24 -0
  48. package/dist/tbv/integrations/aave/clients/hub.d.ts +28 -0
  49. package/dist/tbv/integrations/aave/clients/hub.d.ts.map +1 -0
  50. package/dist/tbv/integrations/aave/clients/index.d.ts +1 -0
  51. package/dist/tbv/integrations/aave/clients/index.d.ts.map +1 -1
  52. package/dist/tbv/integrations/aave/index.cjs +1 -1
  53. package/dist/tbv/integrations/aave/index.cjs.map +1 -1
  54. package/dist/tbv/integrations/aave/index.d.ts +1 -1
  55. package/dist/tbv/integrations/aave/index.d.ts.map +1 -1
  56. package/dist/tbv/integrations/aave/index.js +246 -193
  57. package/dist/tbv/integrations/aave/index.js.map +1 -1
  58. package/dist/verifyScriptPathSchnorrSignature-D43cncKJ.cjs +2 -0
  59. package/dist/verifyScriptPathSchnorrSignature-D43cncKJ.cjs.map +1 -0
  60. package/dist/verifyScriptPathSchnorrSignature-DFJAEleY.js +563 -0
  61. package/dist/verifyScriptPathSchnorrSignature-DFJAEleY.js.map +1 -0
  62. package/package.json +3 -3
  63. package/dist/PayoutManager-BLpgkfOS.cjs +0 -2
  64. package/dist/PayoutManager-BLpgkfOS.cjs.map +0 -1
  65. package/dist/PayoutManager-BbemBIo9.js.map +0 -1
  66. package/dist/PeginManager-BMO6R9I9.js.map +0 -1
  67. package/dist/PeginManager-CfkjDMy7.cjs +0 -2
  68. package/dist/PeginManager-CfkjDMy7.cjs.map +0 -1
  69. package/dist/assertPsbtUnsignedTxMatches-BHyBdtxs.js +0 -481
  70. package/dist/assertPsbtUnsignedTxMatches-BHyBdtxs.js.map +0 -1
  71. package/dist/assertPsbtUnsignedTxMatches-s9H0Qqkl.cjs +0 -2
  72. package/dist/assertPsbtUnsignedTxMatches-s9H0Qqkl.cjs.map +0 -1
  73. package/dist/buildAndBroadcastRefund-sfl7Aac9.js.map +0 -1
  74. package/dist/buildAndBroadcastRefund-tR9sGPwy.cjs +0 -2
  75. package/dist/buildAndBroadcastRefund-tR9sGPwy.cjs.map +0 -1
  76. package/dist/challengeAssert-DEw-z3n9.cjs +0 -2
  77. package/dist/noPayout-5-wtWQ_f.js +0 -154
  78. package/dist/noPayout-5-wtWQ_f.js.map +0 -1
  79. package/dist/noPayout-DNevEzJR.cjs +0 -2
  80. package/dist/noPayout-DNevEzJR.cjs.map +0 -1
@@ -8,29 +8,29 @@ const F = {
8
8
  REPAY: "repayToCorePosition",
9
9
  /** Reorder vault prefix ordering for liquidation priority */
10
10
  REORDER_VAULTS: "reorderVaults"
11
- }, pe = 8, oe = 6, ye = 100, K = 1e4, Y = 26, J = 53, X = 18, Z = 1.5, le = 1.05, $ = 200n, de = 1 / Number($), S = /* @__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 me(e, t, n) {
13
- const a = await e.readContract({
11
+ }, oe = 8, ye = 6, le = 100, K = 1e4, Y = 26, J = 53, X = 18, Z = 1.5, de = 1.05, $ = 200n, me = 1 / Number($), w = /* @__PURE__ */ JSON.parse('[{"type":"constructor","inputs":[{"name":"vaultBTC_","type":"address","internalType":"address"},{"name":"coreSpoke_","type":"address","internalType":"address"},{"name":"btcVaultRegistry_","type":"address","internalType":"address"},{"name":"applicationRegistry_","type":"address","internalType":"address"},{"name":"proxyManager_","type":"address","internalType":"address"},{"name":"coreVaultBtcReserveId_","type":"uint256","internalType":"uint256"},{"name":"coreWbtcReserveId_","type":"uint256","internalType":"uint256"},{"name":"protocolParams_","type":"address","internalType":"address"},{"name":"llpRegistry_","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"APP_REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IApplicationRegistry"}],"stateMutability":"view"},{"type":"function","name":"BTC_VAULT_CORE_SPOKE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ITBVAaveSpoke"}],"stateMutability":"view"},{"type":"function","name":"BTC_VAULT_CORE_VAULT_BTC_RESERVE_ID","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"BTC_VAULT_CORE_WBTC_RESERVE_ID","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"BTC_VAULT_REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IBTCVaultRegistry"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"TIMELOCK_UPGRADER","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"VAULT_BTC","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IVaultBTC"}],"stateMutability":"view"},{"type":"function","name":"activateVault","inputs":[{"name":"vaultId","type":"bytes32","internalType":"bytes32"},{"name":"vault","type":"tuple","internalType":"struct IBTCVaultRegistry.BTCVault","components":[{"name":"depositor","type":"address","internalType":"address"},{"name":"depositorBtcPubKey","type":"bytes32","internalType":"bytes32"},{"name":"depositorSignedPeginTx","type":"bytes","internalType":"bytes"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"vaultProvider","type":"address","internalType":"address"},{"name":"status","type":"uint8","internalType":"enum IBTCVaultRegistry.BTCVaultStatus"},{"name":"applicationEntryPoint","type":"address","internalType":"address"},{"name":"universalChallengersVersion","type":"uint16","internalType":"uint16"},{"name":"appVaultKeepersVersion","type":"uint16","internalType":"uint16"},{"name":"offchainParamsVersion","type":"uint16","internalType":"uint16"},{"name":"createdAt","type":"uint256","internalType":"uint256"},{"name":"verifiedAt","type":"uint256","internalType":"uint256"},{"name":"depositorWotsPkHash","type":"bytes32","internalType":"bytes32"},{"name":"hashlock","type":"bytes32","internalType":"bytes32"},{"name":"htlcVout","type":"uint8","internalType":"uint8"},{"name":"depositorPopSignature","type":"bytes","internalType":"bytes"},{"name":"prePeginTxHash","type":"bytes32","internalType":"bytes32"}]},{"name":"activationMetadata","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"applicationRecipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"borrowFromCorePosition","inputs":[{"name":"debtReserveId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"receiver","type":"address","internalType":"address"}],"outputs":[{"name":"borrowedShares","type":"uint256","internalType":"uint256"},{"name":"borrowedAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"freeze","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fullPause","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getFairnessPaymentTokenConfig","inputs":[],"outputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getInterestFeeIndex","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"interestFeeIndex","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPosition","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"position","type":"tuple","internalType":"struct IAaveIntegrationAdapter.MarketPosition","components":[{"name":"vaultIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"totalCollateralBTC","type":"uint256","internalType":"uint256"},{"name":"proxyContract","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getPositionSizeParams","inputs":[],"outputs":[{"name":"maxPositionBTC","type":"uint256","internalType":"uint256"},{"name":"maxVaultsPerPosition","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getVaultUsageStatus","inputs":[{"name":"vaultId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"status","type":"uint8","internalType":"enum AaveVaultHandler.VaultUsageStatus"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"initialTBVAdmin","type":"address","internalType":"address"},{"name":"_applicationRecipient","type":"address","internalType":"address"},{"name":"_liquidationRedemptionFeeBps","type":"uint256","internalType":"uint256"},{"name":"_initialInterestFeeBps","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"interestFeeBps","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"isValidPositionResolver","inputs":[{"name":"resolver","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"liquidate","inputs":[{"name":"borrower","type":"address","internalType":"address"},{"name":"directBtcRedeemKey","type":"bytes32","internalType":"bytes32"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"priorityOrder","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"vaultIds","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"liquidateWithLLP","inputs":[{"name":"borrower","type":"address","internalType":"address"},{"name":"llp","type":"address","internalType":"address"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"priorityOrder","type":"uint256[]","internalType":"uint256[]"},{"name":"requestedTokens","type":"tuple[]","internalType":"struct TokenAmountLib.TokenAmount[]","components":[{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"vaultIds","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"liquidationRedemptionFeeBps","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"pauseState","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum ITBVPausable.PauseState"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"redeemVaultFromLLP","inputs":[{"name":"vaultId","type":"bytes32","internalType":"bytes32"},{"name":"btcRedeemKey","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerResolver","inputs":[{"name":"resolver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeResolver","inputs":[{"name":"resolver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"reorderVaults","inputs":[{"name":"permuted","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"repayToCorePosition","inputs":[{"name":"borrower","type":"address","internalType":"address"},{"name":"debtReserveId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"repaidFee","type":"uint256","internalType":"uint256"},{"name":"repaidShares","type":"uint256","internalType":"uint256"},{"name":"repaidAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApplicationRecipient","inputs":[{"name":"_applicationRecipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setInterestFeeBps","inputs":[{"name":"feeBps","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setLiquidationRedemptionFeeBps","inputs":[{"name":"feeBps","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPositionSizeParams","inputs":[{"name":"params","type":"tuple","internalType":"struct IAaveIntegrationAdapter.PositionSizeParams","components":[{"name":"maxPositionBTC","type":"uint256","internalType":"uint256"},{"name":"maxVaultsPerPosition","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"unfreeze","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unpause","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"vaultOwner","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"withdrawCollaterals","inputs":[{"name":"vaultsToWithdraw","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"amountWithdrawn","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"event","name":"AdapterApplicationRecipientUpdated","inputs":[{"name":"applicationFeeRecipient","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AdapterLiquidationRedemptionFeeUpdated","inputs":[{"name":"liquidationRedemptionFeeBps","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"AdapterPositionResolverAdded","inputs":[{"name":"positionResolver","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AdapterPositionResolverRemoved","inputs":[{"name":"positionResolver","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BTCVaultCoreSpokeLiquidated","inputs":[{"name":"depositor","type":"address","indexed":true,"internalType":"address"},{"name":"liquidator","type":"address","indexed":true,"internalType":"address"},{"name":"amountCollateralSeized","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"valueCollateralSeized","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"valueDebtRepaid","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BorrowedFromPosition","inputs":[{"name":"borrower","type":"address","indexed":true,"internalType":"address"},{"name":"debtReserveId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"receiver","type":"address","indexed":true,"internalType":"address"},{"name":"borrowAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CollateralAdded","inputs":[{"name":"positionAccount","type":"address","indexed":true,"internalType":"address"},{"name":"vaultId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"CollateralWithdrawn","inputs":[{"name":"positionAccount","type":"address","indexed":true,"internalType":"address"},{"name":"vaultId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"FairnessPaymentFailed","inputs":[{"name":"positionAccount","type":"address","indexed":true,"internalType":"address"},{"name":"liquidator","type":"address","indexed":true,"internalType":"address"},{"name":"protocolRecipient","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"FairnessPaymentPaid","inputs":[{"name":"positionAccount","type":"address","indexed":true,"internalType":"address"},{"name":"liquidator","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"InterestFeeUpdated","inputs":[{"name":"newInterestFeeBps","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"LiquidationSettledViaLLP","inputs":[{"name":"llp","type":"address","indexed":true,"internalType":"address"},{"name":"liquidator","type":"address","indexed":true,"internalType":"address"},{"name":"borrower","type":"address","indexed":true,"internalType":"address"},{"name":"vaultIds","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"payouts","type":"tuple[]","indexed":false,"internalType":"struct TokenAmountLib.TokenAmount[]","components":[{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}]}],"anonymous":false},{"type":"event","name":"PausedWith","inputs":[{"name":"state","type":"uint8","indexed":true,"internalType":"enum ITBVPausable.PauseState"},{"name":"pauser","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PositionSizeParamsUpdated","inputs":[{"name":"newParams","type":"tuple","indexed":false,"internalType":"struct IAaveIntegrationAdapter.PositionSizeParams","components":[{"name":"maxPositionBTC","type":"uint256","internalType":"uint256"},{"name":"maxVaultsPerPosition","type":"uint256","internalType":"uint256"}]}],"anonymous":false},{"type":"event","name":"RepaidFromPosition","inputs":[{"name":"borrower","type":"address","indexed":true,"internalType":"address"},{"name":"debtReserveId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"repayAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Unfrozen","inputs":[{"name":"pauser","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Unpaused","inputs":[{"name":"pauser","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UserProxyCreated","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"proxy","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"VaultLiquidated","inputs":[{"name":"vaultId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"liquidator","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"VaultMarkedCollateralized","inputs":[{"name":"vaultId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"VaultMarkedLLPOwned","inputs":[{"name":"vaultId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"VaultMarkedRedeemed","inputs":[{"name":"vaultId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"VaultOwnershipChanged","inputs":[{"name":"vaultId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"VaultsReordered","inputs":[{"name":"borrower","type":"address","indexed":true,"internalType":"address"},{"name":"newVaults","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"EmptyArray","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"FairnessDebtRepaymentTargetNotMet","inputs":[{"name":"target","type":"uint256","internalType":"uint256"},{"name":"actual","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"IncompleteWithdrawal","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"actual","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidActivationMetadataVersion","inputs":[]},{"type":"error","name":"InvalidAmount","inputs":[]},{"type":"error","name":"InvalidAmountsLength","inputs":[{"name":"amountsLength","type":"uint256","internalType":"uint256"},{"name":"reserveCount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidInterestFeeBps","inputs":[]},{"type":"error","name":"InvalidOraclePrice","inputs":[]},{"type":"error","name":"InvalidPositionResolver","inputs":[]},{"type":"error","name":"InvalidPriorityOrderLength","inputs":[{"name":"priorityOrderLength","type":"uint256","internalType":"uint256"},{"name":"amountsLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidProxyContract","inputs":[]},{"type":"error","name":"InvalidReserveId","inputs":[{"name":"reserveId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidVaultStatus","inputs":[]},{"type":"error","name":"InvalidVaultsPermutation","inputs":[]},{"type":"error","name":"InvalidVaultsToRemove","inputs":[]},{"type":"error","name":"LLPDisabled","inputs":[{"name":"llp","type":"address","internalType":"address"}]},{"type":"error","name":"MaxPositionBelowVaultMin","inputs":[{"name":"maxPositionBTC","type":"uint256","internalType":"uint256"},{"name":"minimumPegInAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NoDebtToLiquidate","inputs":[]},{"type":"error","name":"OnlyApplicationEntryPoint","inputs":[]},{"type":"error","name":"PositionAboveMaximum","inputs":[{"name":"actual","type":"uint256","internalType":"uint256"},{"name":"maximum","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PositionMaxBelowVaultMax","inputs":[{"name":"maxPositionBTC","type":"uint256","internalType":"uint256"},{"name":"vaultMaximum","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PositionNotLiquidatable","inputs":[]},{"type":"error","name":"PrefixLengthExceedsArray","inputs":[]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"TBV_AlreadyFrozen","inputs":[]},{"type":"error","name":"TBV_AlreadyPaused","inputs":[]},{"type":"error","name":"TBV_Frozen","inputs":[]},{"type":"error","name":"TBV_NotFrozen","inputs":[]},{"type":"error","name":"TBV_NotPaused","inputs":[]},{"type":"error","name":"TBV_Paused","inputs":[]},{"type":"error","name":"TBV_Unauthorized","inputs":[]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"VaultCountExceedsMaximum","inputs":[{"name":"actual","type":"uint256","internalType":"uint256"},{"name":"maximum","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ZeroAddress","inputs":[]},{"type":"error","name":"ZeroAmount","inputs":[]},{"type":"error","name":"ZeroBorrowAmount","inputs":[]},{"type":"error","name":"ZeroBtcKey","inputs":[]}]');
12
+ async function ce(e, t, n) {
13
+ const i = await e.readContract({
14
14
  address: t,
15
- abi: S,
15
+ abi: w,
16
16
  functionName: "getPosition",
17
17
  args: [n]
18
18
  });
19
- return a.proxyContract === W ? null : {
20
- proxyContract: a.proxyContract,
21
- vaultIds: a.vaultIds,
22
- totalCollateralBTC: a.totalCollateralBTC
19
+ return i.proxyContract === W ? null : {
20
+ proxyContract: i.proxyContract,
21
+ vaultIds: i.vaultIds,
22
+ totalCollateralBTC: i.totalCollateralBTC
23
23
  };
24
24
  }
25
- async function ce(e, t) {
25
+ async function Te(e, t) {
26
26
  const n = await e.readContract({
27
27
  address: t,
28
- abi: S,
28
+ abi: w,
29
29
  functionName: "getPositionSizeParams"
30
- }), [i, a] = n;
30
+ }), [a, i] = n;
31
31
  return {
32
- maxPositionBTC: i,
33
- maxVaultsPerPosition: a
32
+ maxPositionBTC: a,
33
+ maxVaultsPerPosition: i
34
34
  };
35
35
  }
36
36
  function j(e) {
@@ -57,99 +57,99 @@ function k(e) {
57
57
  borrowCount: e.borrowCount
58
58
  };
59
59
  }
60
- async function Te(e, t, n) {
61
- const i = await e.readContract({
60
+ async function be(e, t, n) {
61
+ const a = await e.readContract({
62
62
  address: t,
63
63
  abi: f,
64
64
  functionName: "getUserAccountData",
65
65
  args: [n]
66
66
  });
67
- return k(i);
67
+ return k(a);
68
68
  }
69
- async function be(e, t, n, i) {
70
- const [a, r] = await e.multicall({
69
+ async function fe(e, t, n, a) {
70
+ const [i, r] = await e.multicall({
71
71
  contracts: [
72
72
  {
73
73
  address: t,
74
74
  abi: f,
75
75
  functionName: "getUserPosition",
76
- args: [n, i]
76
+ args: [n, a]
77
77
  },
78
78
  {
79
79
  address: t,
80
80
  abi: f,
81
81
  functionName: "getUserAccountData",
82
- args: [i]
82
+ args: [a]
83
83
  }
84
84
  ],
85
85
  allowFailure: !1
86
86
  });
87
87
  return {
88
- position: L(a),
88
+ position: L(i),
89
89
  accountData: k(
90
90
  r
91
91
  )
92
92
  };
93
93
  }
94
- async function q(e, t, n, i) {
95
- const a = await e.readContract({
94
+ async function q(e, t, n, a) {
95
+ const i = await e.readContract({
96
96
  address: t,
97
97
  abi: f,
98
98
  functionName: "getUserPosition",
99
- args: [n, i]
99
+ args: [n, a]
100
100
  });
101
- return L(a);
101
+ return L(i);
102
102
  }
103
- async function fe(e, t, n, i) {
104
- const a = await q(
103
+ async function ve(e, t, n, a) {
104
+ const i = await q(
105
105
  e,
106
106
  t,
107
107
  n,
108
- i
108
+ a
109
109
  );
110
- return j(a);
110
+ return j(i);
111
111
  }
112
- async function ve(e, t, n, i) {
112
+ async function ge(e, t, n, a) {
113
113
  return (await q(
114
114
  e,
115
115
  t,
116
116
  n,
117
- i
117
+ a
118
118
  )).suppliedShares > 0n;
119
119
  }
120
- async function ge(e, t, n, i) {
120
+ async function Re(e, t, n, a) {
121
121
  return await e.readContract({
122
122
  address: t,
123
123
  abi: f,
124
124
  functionName: "getUserTotalDebt",
125
- args: [n, i]
125
+ args: [n, a]
126
126
  });
127
127
  }
128
- async function Re(e, t, n, i) {
128
+ async function Ie(e, t, n, a) {
129
129
  return n.length === 0 ? [] : (await e.multicall({
130
130
  contracts: n.map((r) => ({
131
131
  address: t,
132
132
  abi: f,
133
133
  functionName: "getUserPosition",
134
- args: [r, i]
134
+ args: [r, a]
135
135
  })),
136
136
  allowFailure: !0
137
137
  })).map(
138
138
  (r) => r.status === "success" ? L(r.result) : null
139
139
  );
140
140
  }
141
- async function Ie(e, t, n, i) {
141
+ async function Ae(e, t, n, a) {
142
142
  return n.length === 0 ? [] : await e.multicall({
143
143
  contracts: n.map((r) => ({
144
144
  address: t,
145
145
  abi: f,
146
146
  functionName: "getUserTotalDebt",
147
- args: [r, i]
147
+ args: [r, a]
148
148
  })),
149
149
  allowFailure: !1
150
150
  });
151
151
  }
152
- async function Ae(e, t, n) {
152
+ async function Ce(e, t, n) {
153
153
  return await e.readContract({
154
154
  address: t,
155
155
  abi: f,
@@ -157,19 +157,19 @@ async function Ae(e, t, n) {
157
157
  args: [n]
158
158
  });
159
159
  }
160
- async function Ce(e, t) {
160
+ async function Me(e, t) {
161
161
  return (await e.readContract({
162
162
  address: t,
163
163
  abi: f,
164
164
  functionName: "getLiquidationConfig"
165
165
  })).targetHealthFactor;
166
166
  }
167
- async function Me(e, t, n, i) {
167
+ async function we(e, t, n, a) {
168
168
  return await e.readContract({
169
169
  address: t,
170
170
  abi: f,
171
171
  functionName: "getDynamicReserveConfig",
172
- args: [n, i]
172
+ args: [n, a]
173
173
  });
174
174
  }
175
175
  const H = [
@@ -247,7 +247,7 @@ async function Se(e, t) {
247
247
  functionName: "ORACLE"
248
248
  });
249
249
  }
250
- async function we(e, t, n) {
250
+ async function he(e, t, n) {
251
251
  return await e.readContract({
252
252
  address: t,
253
253
  abi: H,
@@ -255,40 +255,92 @@ async function we(e, t, n) {
255
255
  args: [n]
256
256
  });
257
257
  }
258
- async function he(e, t, n) {
258
+ async function Pe(e, t, n) {
259
259
  if (n.length === 0) return [];
260
- let i;
260
+ let a;
261
261
  try {
262
- i = await e.multicall({
263
- contracts: n.map((a) => ({
262
+ a = await e.multicall({
263
+ contracts: n.map((i) => ({
264
264
  address: t,
265
265
  abi: H,
266
266
  functionName: "getReservesPrices",
267
- args: [[a]]
267
+ args: [[i]]
268
268
  })),
269
269
  allowFailure: !0
270
270
  });
271
- } catch (a) {
272
- const r = a instanceof Error ? a : new Error(String(a));
271
+ } catch (i) {
272
+ const r = i instanceof Error ? i : new Error(String(i));
273
273
  return n.map((s) => ({
274
274
  reserveId: s,
275
275
  priceRaw: null,
276
276
  error: r
277
277
  }));
278
278
  }
279
- return i.map((a, r) => {
279
+ return a.map((i, r) => {
280
280
  const s = n[r];
281
- if (a.status !== "success") {
282
- const o = a.error instanceof Error ? a.error : new Error(String(a.error ?? "getReservesPrices reverted"));
281
+ if (i.status !== "success") {
282
+ const o = i.error instanceof Error ? i.error : new Error(String(i.error ?? "getReservesPrices reverted"));
283
283
  return { reserveId: s, priceRaw: null, error: o };
284
284
  }
285
- const [u] = a.result;
285
+ const [u] = i.result;
286
286
  return { reserveId: s, priceRaw: u, error: null };
287
287
  });
288
288
  }
289
- function Pe(e, t) {
289
+ const Q = [
290
+ {
291
+ type: "function",
292
+ name: "getAssetDrawnRate",
293
+ inputs: [
294
+ {
295
+ name: "assetId",
296
+ type: "uint256",
297
+ internalType: "uint256"
298
+ }
299
+ ],
300
+ outputs: [
301
+ {
302
+ name: "",
303
+ type: "uint256",
304
+ internalType: "uint256"
305
+ }
306
+ ],
307
+ stateMutability: "view"
308
+ }
309
+ ];
310
+ async function Be(e, t) {
311
+ if (t.length === 0) return [];
312
+ let n;
313
+ try {
314
+ n = await e.multicall({
315
+ contracts: t.map(({ hub: a, assetId: i }) => ({
316
+ address: a,
317
+ abi: Q,
318
+ functionName: "getAssetDrawnRate",
319
+ args: [BigInt(i)]
320
+ })),
321
+ allowFailure: !0
322
+ });
323
+ } catch (a) {
324
+ const i = a instanceof Error ? a : new Error(String(a));
325
+ return t.map(({ hub: r, assetId: s }) => ({
326
+ hub: r,
327
+ assetId: s,
328
+ rateRay: null,
329
+ error: i
330
+ }));
331
+ }
332
+ return n.map((a, i) => {
333
+ const { hub: r, assetId: s } = t[i];
334
+ if (a.status !== "success") {
335
+ const u = a.error instanceof Error ? a.error : new Error(String(a.error ?? "getAssetDrawnRate reverted"));
336
+ return { hub: r, assetId: s, rateRay: null, error: u };
337
+ }
338
+ return { hub: r, assetId: s, rateRay: a.result, error: null };
339
+ });
340
+ }
341
+ function xe(e, t) {
290
342
  const n = x({
291
- abi: S,
343
+ abi: w,
292
344
  functionName: F.REORDER_VAULTS,
293
345
  args: [t]
294
346
  });
@@ -297,9 +349,9 @@ function Pe(e, t) {
297
349
  data: n
298
350
  };
299
351
  }
300
- function Be(e, t) {
352
+ function Fe(e, t) {
301
353
  const n = x({
302
- abi: S,
354
+ abi: w,
303
355
  functionName: F.WITHDRAW_COLLATERALS,
304
356
  args: [t]
305
357
  });
@@ -308,80 +360,80 @@ function Be(e, t) {
308
360
  data: n
309
361
  };
310
362
  }
311
- function xe(e, t, n, i) {
312
- const a = x({
313
- abi: S,
363
+ function Ve(e, t, n, a) {
364
+ const i = x({
365
+ abi: w,
314
366
  functionName: F.BORROW,
315
- args: [t, n, i]
367
+ args: [t, n, a]
316
368
  });
317
369
  return {
318
370
  to: e,
319
- data: a
371
+ data: i
320
372
  };
321
373
  }
322
- function Fe(e, t, n, i) {
323
- const a = x({
324
- abi: S,
374
+ function Ee(e, t, n, a) {
375
+ const i = x({
376
+ abi: w,
325
377
  functionName: F.REPAY,
326
- args: [t, n, i]
378
+ args: [t, n, a]
327
379
  });
328
380
  return {
329
381
  to: e,
330
- data: a
382
+ data: i
331
383
  };
332
384
  }
333
- function Ve(e) {
385
+ function _e(e) {
334
386
  return Number(e) / 10 ** Y;
335
387
  }
336
- function Ee(e) {
388
+ function Le(e) {
337
389
  return Number(e) / 10 ** J;
338
390
  }
339
- function _e(e) {
391
+ function De(e) {
340
392
  return Number(e) / 10 ** X;
341
393
  }
342
- function Le(e, t) {
394
+ function Ue(e, t) {
343
395
  return t <= 0 ? "0%" : `${(e / t * 100).toFixed(1)}%`;
344
396
  }
345
- function Q(e, t) {
397
+ function ee(e, t) {
346
398
  return t ? e === null ? "safe" : e < 1 ? "danger" : e < Z ? "warning" : "safe" : "no_debt";
347
399
  }
348
- function Ue(e) {
400
+ function Ne(e) {
349
401
  return e === null ? !0 : e >= 1;
350
402
  }
351
- function De(e) {
403
+ function Oe(e) {
352
404
  const t = isFinite(e), n = isFinite(e) ? e : null;
353
- return Q(n, t);
405
+ return ee(n, t);
354
406
  }
355
- function Ne(e, t, n) {
407
+ function ze(e, t, n) {
356
408
  return t <= 0 ? 1 / 0 : e * (n / K) / t;
357
409
  }
358
- function Oe(e, t) {
410
+ function ke(e, t) {
359
411
  if (t <= 0)
360
412
  return { vaultIds: [], actualAmount: 0 };
361
- const n = [...e].sort((r, s) => s.amount - r.amount), i = [];
362
- let a = 0;
413
+ const n = [...e].sort((r, s) => s.amount - r.amount), a = [];
414
+ let i = 0;
363
415
  for (const r of n) {
364
- if (a >= t) break;
365
- i.push(r.id), a += r.amount;
416
+ if (i >= t) break;
417
+ a.push(r.id), i += r.amount;
366
418
  }
367
- return { vaultIds: i, actualAmount: a };
419
+ return { vaultIds: a, actualAmount: i };
368
420
  }
369
- function ze(e) {
421
+ function qe(e) {
370
422
  return e.reduce((t, n) => t + n.amount, 0);
371
423
  }
372
- const ke = 0.01, ee = 20, te = 0.01;
373
- function qe(e, t, n) {
424
+ const He = 0.01, te = 20, ne = 0.01;
425
+ function Ge(e, t, n) {
374
426
  if (e.length === 0) return [];
375
- const a = e.reduce((u, o) => u + o.btc, 0) * t * (1 - n);
427
+ const i = e.reduce((u, o) => u + o.btc, 0) * t * (1 - n);
376
428
  let r = 0, s = 0;
377
- for (; s < e.length && r < a; )
429
+ for (; s < e.length && r < i; )
378
430
  r += e[s].btc, s++;
379
431
  return e.slice(0, s);
380
432
  }
381
- function ne(e, t, n, i, a, r, s, u, o) {
382
- const y = u * r, l = n / (t * r), d = t * a, T = Math.max(0, e - d), m = s - y, c = m === 0 ? n : n * ((s - o) / m);
433
+ function ae(e, t, n, a, i, r, s, u, o) {
434
+ const y = u * r, l = n / (t * r), d = t * i, T = Math.max(0, e - d), m = s - y, c = m === 0 ? n : n * ((s - o) / m);
383
435
  let v;
384
- if (i)
436
+ if (a)
385
437
  v = 0;
386
438
  else {
387
439
  const g = T * l / u, b = Math.min(g, n - c);
@@ -389,27 +441,27 @@ function ne(e, t, n, i, a, r, s, u, o) {
389
441
  }
390
442
  return { debtAfter: v, btcAfter: Math.max(0, t - e) };
391
443
  }
392
- function O(e, t, n, i, a, r, s, u) {
444
+ function O(e, t, n, a, i, r, s, u) {
393
445
  let o = [...e], y = t;
394
446
  const l = e.reduce((c, v) => c + v.btc, 0);
395
447
  let d = -1, T = 0, m = 0;
396
- for (; o.length > 0 && y > te && m < ee; ) {
397
- const c = o.reduce((h, p) => h + p.btc, 0), v = c * n * (1 - i);
448
+ for (; o.length > 0 && y > ne && m < te; ) {
449
+ const c = o.reduce((h, p) => h + p.btc, 0), v = c * n * (1 - a);
398
450
  let g = 0, b = 0;
399
451
  for (; b < o.length && g < v; )
400
452
  g += o[b].btc, b++;
401
- const E = b >= o.length, { debtAfter: w } = ne(
453
+ const E = b >= o.length, { debtAfter: S } = ae(
402
454
  g,
403
455
  c,
404
456
  y,
405
457
  E,
406
458
  n,
407
- a,
459
+ i,
408
460
  r,
409
461
  s,
410
462
  u
411
463
  );
412
- o = o.slice(b), y = w;
464
+ o = o.slice(b), y = S;
413
465
  const C = c - g;
414
466
  T += C, d < 0 && (d = C), m++;
415
467
  }
@@ -418,16 +470,16 @@ function O(e, t, n, i, a, r, s, u) {
418
470
  btcAfterG1: d < 0 ? l : d
419
471
  };
420
472
  }
421
- const ae = 10;
422
- function ie(e, t) {
423
- const n = e.map((i) => ({
424
- vaults: [i],
425
- sum: i.btc
473
+ const ie = 10;
474
+ function re(e, t) {
475
+ const n = e.map((a) => ({
476
+ vaults: [a],
477
+ sum: a.btc
426
478
  }));
427
- for (n.sort((i, a) => a.sum - i.sum); n.length > t; ) {
428
- const i = n.pop(), a = n.pop(), r = {
429
- vaults: [...i.vaults, ...a.vaults],
430
- sum: i.sum + a.sum
479
+ for (n.sort((a, i) => i.sum - a.sum); n.length > t; ) {
480
+ const a = n.pop(), i = n.pop(), r = {
481
+ vaults: [...a.vaults, ...i.vaults],
482
+ sum: a.sum + i.sum
431
483
  };
432
484
  let s = !1;
433
485
  for (let u = 0; u < n.length; u++)
@@ -437,11 +489,11 @@ function ie(e, t) {
437
489
  }
438
490
  s || n.push(r);
439
491
  }
440
- for (const i of n)
441
- i.vaults.sort((a, r) => r.btc - a.btc);
492
+ for (const a of n)
493
+ a.vaults.sort((i, r) => r.btc - i.btc);
442
494
  return n;
443
495
  }
444
- function He(e, t, n, i, a, r, s, u) {
496
+ function We(e, t, n, a, i, r, s, u) {
445
497
  if (e.length === 0)
446
498
  return { order: [], sumBtcAfterEvents: 0, btcAfterG1: 0 };
447
499
  if (e.length === 1) {
@@ -449,15 +501,15 @@ function He(e, t, n, i, a, r, s, u) {
449
501
  e,
450
502
  t,
451
503
  n,
452
- i,
453
504
  a,
505
+ i,
454
506
  r,
455
507
  s,
456
508
  u
457
509
  );
458
510
  return { order: [...e], ...p };
459
511
  }
460
- const o = ie(e, ae), y = o.length, l = 1 << y, d = o.reduce((p, R) => p + R.sum, 0), T = n * (1 - i), m = new Float64Array(l);
512
+ const o = re(e, ie), y = o.length, l = 1 << y, d = o.reduce((p, R) => p + R.sum, 0), T = n * (1 - a), m = new Float64Array(l);
461
513
  for (let p = 1; p < l; p++) {
462
514
  const R = p & -p, I = 31 - Math.clz32(R);
463
515
  m[p] = m[p ^ R] + o[I].sum;
@@ -469,26 +521,26 @@ function He(e, t, n, i, a, r, s, u) {
469
521
  const R = d - m[p];
470
522
  let I = -1 / 0, A = -1 / 0, P = -1;
471
523
  for (let M = p; M > 0; M = M - 1 & p) {
472
- const B = p ^ M, D = c[B];
473
- if (D === -1 / 0) continue;
524
+ const B = p ^ M, U = c[B];
525
+ if (U === -1 / 0) continue;
474
526
  const G = d - m[B];
475
527
  if (m[M] < G * T) continue;
476
- const _ = D + R, N = B === 0 ? d - m[M] : v[B];
528
+ const _ = U + R, N = B === 0 ? d - m[M] : v[B];
477
529
  (_ > I + b || Math.abs(_ - I) <= b && N > A + b) && (I = _, A = N, P = M);
478
530
  }
479
531
  c[p] = I, v[p] = A, g[p] = P;
480
532
  }
481
- const E = l - 1, w = [];
533
+ const E = l - 1, S = [];
482
534
  for (let p = E; p > 0; ) {
483
535
  const R = g[p];
484
536
  if (R === -1) break;
485
537
  const I = [];
486
538
  for (let A = 0; A < y; A++)
487
539
  R & 1 << A && I.push(...o[A].vaults);
488
- I.sort((A, P) => P.btc - A.btc), w.push(I), p ^= R;
540
+ I.sort((A, P) => P.btc - A.btc), S.push(I), p ^= R;
489
541
  }
490
- w.reverse();
491
- const C = w.flat();
542
+ S.reverse();
543
+ const C = S.flat();
492
544
  if (C.length !== e.length)
493
545
  throw new Error(
494
546
  `DP reconstruction failed — expected ${e.length} vaults in order, got ${C.length}.`
@@ -497,8 +549,8 @@ function He(e, t, n, i, a, r, s, u) {
497
549
  C,
498
550
  t,
499
551
  n,
500
- i,
501
552
  a,
553
+ i,
502
554
  r,
503
555
  s,
504
556
  u
@@ -509,30 +561,30 @@ function He(e, t, n, i, a, r, s, u) {
509
561
  btcAfterG1: h.btcAfterG1
510
562
  };
511
563
  }
512
- const re = BigInt(Number.MAX_SAFE_INTEGER), z = 2000n;
564
+ const se = BigInt(Number.MAX_SAFE_INTEGER), z = 2000n;
513
565
  function V(e, t) {
514
- if (e > re)
566
+ if (e > se)
515
567
  throw new RangeError(
516
568
  `${t} (${e}) exceeds Number.MAX_SAFE_INTEGER; precision would be lost`
517
569
  );
518
570
  }
519
- function se(e, t, n, i) {
520
- if (i <= 0)
571
+ function ue(e, t, n, a) {
572
+ if (a <= 0)
521
573
  return { seizedFraction: 1, seizedFractionRaw: 1 / 0 };
522
- const a = t * e;
523
- if (n <= a)
574
+ const i = t * e;
575
+ if (n <= i)
524
576
  return { seizedFraction: 1, seizedFractionRaw: 1 / 0 };
525
- const r = e * (n - i) / (n - a) * (t / i);
577
+ const r = e * (n - a) / (n - i) * (t / a);
526
578
  return {
527
579
  seizedFraction: Math.max(0, Math.min(1, r)),
528
580
  seizedFractionRaw: r
529
581
  };
530
582
  }
531
- function U(e, t, n, i) {
532
- return se(e, t, n, i).seizedFraction;
583
+ function D(e, t, n, a) {
584
+ return ue(e, t, n, a).seizedFraction;
533
585
  }
534
- function Ge(e) {
535
- const { totalBtc: t, CF: n, LB: i, THF: a, expectedHF: r, safetyMargin: s } = e;
586
+ function Ke(e) {
587
+ const { totalBtc: t, CF: n, LB: a, THF: i, expectedHF: r, safetyMargin: s } = e;
536
588
  if (t <= 0n)
537
589
  return {
538
590
  sacrificialVault: 0n,
@@ -541,7 +593,7 @@ function Ge(e) {
541
593
  targetSeizureBtc: 0n
542
594
  };
543
595
  V(t, "totalBtc");
544
- const u = U(n, i, a, r), o = Number(t), y = BigInt(Math.ceil(o * u)), l = BigInt(
596
+ const u = D(n, a, i, r), o = Number(t), y = BigInt(Math.ceil(o * u)), l = BigInt(
545
597
  Math.ceil(o * u * s)
546
598
  ), d = l > t ? t : l, T = t - d;
547
599
  return d > 0n && d < z || T > 0n && T < z ? {
@@ -556,17 +608,17 @@ function Ge(e) {
556
608
  targetSeizureBtc: y
557
609
  };
558
610
  }
559
- function We(e) {
560
- const { minPegin: t, seizedFraction: n, safetyMargin: i } = e;
611
+ function Ye(e) {
612
+ const { minPegin: t, seizedFraction: n, safetyMargin: a } = e;
561
613
  V(t, "minPegin");
562
- const a = n * i;
563
- if (a >= 1 || a <= 0)
614
+ const i = n * a;
615
+ if (i >= 1 || i <= 0)
564
616
  return 0n;
565
- const r = 1 - a, s = Math.ceil(Number(t) / r), u = Math.ceil(Number(t) / a);
617
+ const r = 1 - i, s = Math.ceil(Number(t) / r), u = Math.ceil(Number(t) / i);
566
618
  return BigInt(Math.max(s, u));
567
619
  }
568
- function Ke(e) {
569
- const { vaultAmounts: t, CF: n, LB: i, THF: a, expectedHF: r, safetyMargin: s } = e;
620
+ function Je(e) {
621
+ const { vaultAmounts: t, CF: n, LB: a, THF: i, expectedHF: r, safetyMargin: s } = e;
570
622
  if (t.length === 0)
571
623
  return {
572
624
  needsRebalance: !1,
@@ -576,7 +628,7 @@ function Ke(e) {
576
628
  };
577
629
  const u = t.reduce((T, m) => T + m, 0n);
578
630
  V(u, "totalBtc");
579
- const o = U(n, i, a, r), y = BigInt(
631
+ const o = D(n, a, i, r), y = BigInt(
580
632
  Math.ceil(Number(u) * o * s)
581
633
  ), l = t[0], d = y > l ? y - l : 0n;
582
634
  return {
@@ -586,15 +638,15 @@ function Ke(e) {
586
638
  targetCoverage: y
587
639
  };
588
640
  }
589
- function Ye(e) {
590
- const { totalCollateralSats: t, CF: n, LB: i, THF: a, expectedHF: r } = e;
641
+ function Xe(e) {
642
+ const { totalCollateralSats: t, CF: n, LB: a, THF: i, expectedHF: r } = e;
591
643
  if (t <= 0n)
592
644
  return 0n;
593
645
  V(t, "totalCollateralSats");
594
- const s = U(n, i, a, r);
646
+ const s = D(n, a, i, r);
595
647
  return BigInt(Math.ceil(Number(t) * s));
596
648
  }
597
- function Je(e) {
649
+ function Ze(e) {
598
650
  const { orderedVaults: t, targetSeizureSats: n } = e;
599
651
  if (t.length === 0)
600
652
  throw new Error("orderedVaults must not be empty");
@@ -602,18 +654,18 @@ function Je(e) {
602
654
  throw new Error(
603
655
  "targetSeizureSats must be positive; use computeTargetSeizureSats to derive it"
604
656
  );
605
- let i = 0n, a = t.length;
657
+ let a = 0n, i = t.length;
606
658
  for (let y = 0; y < t.length; y++)
607
- if (i += t[y].amountSats, i >= n) {
608
- a = y + 1;
659
+ if (a += t[y].amountSats, a >= n) {
660
+ i = y + 1;
609
661
  break;
610
662
  }
611
- const r = t.slice(0, a), s = t.slice(a), u = i, o = u > n ? u - n : 0n;
663
+ const r = t.slice(0, i), s = t.slice(i), u = a, o = u > n ? u - n : 0n;
612
664
  return {
613
665
  seizedVaults: r,
614
666
  protectedVaults: s,
615
667
  overSeizureSats: o,
616
- cutoffIndex: a,
668
+ cutoffIndex: i,
617
669
  totalSeizedSats: u
618
670
  };
619
671
  }
@@ -621,60 +673,61 @@ export {
621
673
  Y as AAVE_BASE_CURRENCY_DECIMALS,
622
674
  J as AAVE_BASE_CURRENCY_RAY_DECIMALS,
623
675
  F as AAVE_FUNCTION_NAMES,
624
- S as AaveIntegrationAdapterABI,
676
+ w as AaveIntegrationAdapterABI,
625
677
  f as AaveSpokeABI,
626
678
  K as BPS_SCALE,
627
- ye as BPS_TO_PERCENT_DIVISOR,
628
- pe as BTC_DECIMALS,
679
+ le as BPS_TO_PERCENT_DIVISOR,
680
+ oe as BTC_DECIMALS,
629
681
  $ as FULL_REPAY_BUFFER_DIVISOR,
630
- de as FULL_REPAY_BUFFER_FRACTION,
682
+ me as FULL_REPAY_BUFFER_FRACTION,
631
683
  Z as HEALTH_FACTOR_WARNING_THRESHOLD,
632
- ee as MAX_GROUPS,
633
- te as MIN_DEBT_THRESHOLD,
634
- le as MIN_HEALTH_FACTOR_FOR_BORROW,
635
- ke as SEIZURE_TOL,
636
- oe as USDC_DECIMALS,
684
+ te as MAX_GROUPS,
685
+ ne as MIN_DEBT_THRESHOLD,
686
+ de as MIN_HEALTH_FACTOR_FOR_BORROW,
687
+ He as SEIZURE_TOL,
688
+ ye as USDC_DECIMALS,
637
689
  X as WAD_DECIMALS,
638
- Ee as aaveRayValueToUsd,
639
- Ve as aaveValueToUsd,
640
- xe as buildBorrowTx,
641
- Pe as buildReorderVaultsTx,
642
- Fe as buildRepayTx,
643
- Be as buildWithdrawCollateralsTx,
644
- Le as calculateBorrowRatio,
645
- Ne as calculateHealthFactor,
646
- ze as calculateTotalVaultAmount,
647
- Ke as checkRebalanceNeeded,
648
- We as computeMinDepositForSplit,
649
- He as computeOptimalOrder,
650
- Ge as computeOptimalSplit,
651
- U as computeSeizedFraction,
652
- se as computeSeizedFractionDetailed,
653
- Ye as computeTargetSeizureSats,
654
- Me as getDynamicReserveConfig,
655
- qe as getGroup1FromOrder,
656
- Q as getHealthFactorStatus,
657
- De as getHealthFactorStatusFromValue,
690
+ Le as aaveRayValueToUsd,
691
+ _e as aaveValueToUsd,
692
+ Ve as buildBorrowTx,
693
+ xe as buildReorderVaultsTx,
694
+ Ee as buildRepayTx,
695
+ Fe as buildWithdrawCollateralsTx,
696
+ Ue as calculateBorrowRatio,
697
+ ze as calculateHealthFactor,
698
+ qe as calculateTotalVaultAmount,
699
+ Je as checkRebalanceNeeded,
700
+ Ye as computeMinDepositForSplit,
701
+ We as computeOptimalOrder,
702
+ Ke as computeOptimalSplit,
703
+ D as computeSeizedFraction,
704
+ ue as computeSeizedFractionDetailed,
705
+ Xe as computeTargetSeizureSats,
706
+ Be as getAssetDrawnRatesSafe,
707
+ we as getDynamicReserveConfig,
708
+ Ge as getGroup1FromOrder,
709
+ ee as getHealthFactorStatus,
710
+ Oe as getHealthFactorStatusFromValue,
658
711
  Se as getOracleAddress,
659
- me as getPosition,
660
- ce as getPositionSizeParams,
661
- Ae as getReserve,
662
- we as getReservesPrices,
663
- he as getReservesPricesSafe,
664
- Ce as getTargetHealthFactor,
665
- Te as getUserAccountData,
712
+ ce as getPosition,
713
+ Te as getPositionSizeParams,
714
+ Ce as getReserve,
715
+ he as getReservesPrices,
716
+ Pe as getReservesPricesSafe,
717
+ Me as getTargetHealthFactor,
718
+ be as getUserAccountData,
666
719
  q as getUserPosition,
667
- be as getUserPositionAndAccountData,
668
- Re as getUserPositions,
669
- ge as getUserTotalDebt,
670
- Ie as getUserTotalDebts,
671
- ve as hasCollateral,
672
- fe as hasDebt,
720
+ fe as getUserPositionAndAccountData,
721
+ Ie as getUserPositions,
722
+ Re as getUserTotalDebt,
723
+ Ae as getUserTotalDebts,
724
+ ge as hasCollateral,
725
+ ve as hasDebt,
673
726
  j as hasDebtFromPosition,
674
- Ue as isHealthFactorHealthy,
675
- Oe as selectVaultsForAmount,
727
+ Ne as isHealthFactorHealthy,
728
+ ke as selectVaultsForAmount,
676
729
  O as simulateCascade,
677
- Je as simulatePrefixSeizure,
678
- _e as wadToNumber
730
+ Ze as simulatePrefixSeizure,
731
+ De as wadToNumber
679
732
  };
680
733
  //# sourceMappingURL=index.js.map