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