@lombard.finance/sdk 4.7.1 → 5.0.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 (320) hide show
  1. package/CHANGELOG.md +91 -2
  2. package/README.md +22 -21
  3. package/dist/api-functions/generateDepositBtcAddress/generateDepositBtcAddress.d.ts.map +1 -1
  4. package/dist/api-functions/getDepositBtcAddress/getDepositBtcAddress.d.ts.map +1 -1
  5. package/dist/api.cjs +1 -1
  6. package/dist/api.js +5 -5
  7. package/dist/bridge.cjs +1 -1
  8. package/dist/bridge.js +1 -1
  9. package/dist/btc.cjs +1 -1
  10. package/dist/btc.js +2 -2
  11. package/dist/chains/btc/actions/deposit/BtcDeposit.d.ts.map +1 -1
  12. package/dist/chains/btc/actions/deposit/config/evm.d.ts.map +1 -1
  13. package/dist/chains/btc/actions/deposit/config/solana.d.ts.map +1 -1
  14. package/dist/chains/btc/actions/depositAndDeploy/config/index.d.ts.map +1 -1
  15. package/dist/chains/btc/actions/depositAndDeploy/types.d.ts.map +1 -1
  16. package/dist/chains/btc/actions/stake/BtcStake.d.ts.map +1 -1
  17. package/dist/chains/btc/actions/stake/config/evm.d.ts.map +1 -1
  18. package/dist/chains/btc/actions/stake/config/solana.d.ts.map +1 -1
  19. package/dist/chains/btc/actions/stakeAndDeploy/config/index.d.ts.map +1 -1
  20. package/dist/chains/btc/actions/stakeAndDeploy/types.d.ts.map +1 -1
  21. package/dist/chains/btc/client/getCurrentBlockHeight.d.ts.map +1 -1
  22. package/dist/chains/evm/actions/deploy/EvmDeploy.d.ts +19 -4
  23. package/dist/chains/evm/actions/deploy/EvmDeploy.d.ts.map +1 -1
  24. package/dist/chains/evm/actions/deploy/index.d.ts.map +1 -1
  25. package/dist/chains/evm/actions/deploy/types.d.ts.map +1 -1
  26. package/dist/chains/evm/actions/deposit/config/evm.d.ts.map +1 -1
  27. package/dist/chains/evm/actions/deposit/index.d.ts.map +1 -1
  28. package/dist/chains/evm/actions/redeem/EvmRedeem.d.ts.map +1 -1
  29. package/dist/chains/evm/actions/redeem/config/evm.d.ts.map +1 -1
  30. package/dist/chains/evm/actions/redeem/index.d.ts.map +1 -1
  31. package/dist/chains/evm/actions/redeem/types.d.ts.map +1 -1
  32. package/dist/chains/evm/actions/stake/config/index.d.ts.map +1 -1
  33. package/dist/chains/evm/actions/stake/config/types.d.ts.map +1 -1
  34. package/dist/chains/evm/actions/stake/index.d.ts.map +1 -1
  35. package/dist/chains/evm/actions/stake/types.d.ts.map +1 -1
  36. package/dist/chains/evm/actions/unstake/EvmUnstake.d.ts.map +1 -1
  37. package/dist/chains/evm/actions/unstake/index.d.ts.map +1 -1
  38. package/dist/chains/evm/actions/unstake/types.d.ts.map +1 -1
  39. package/dist/chains/evm/actions/withdraw/EvmCancelWithdraw.d.ts.map +1 -1
  40. package/dist/chains/evm/actions/withdraw/EvmWithdraw.d.ts +6 -0
  41. package/dist/chains/evm/actions/withdraw/EvmWithdraw.d.ts.map +1 -1
  42. package/dist/chains/evm/actions/withdraw/config/types.d.ts.map +1 -1
  43. package/dist/chains/evm/actions/withdraw/types.d.ts.map +1 -1
  44. package/dist/chains/solana/SolanaActions.d.ts.map +1 -1
  45. package/dist/chains/solana/actions/redeem/SolanaRedeem.d.ts.map +1 -1
  46. package/dist/chains/solana/actions/redeem/types.d.ts.map +1 -1
  47. package/dist/chains/solana/actions/stake/SolanaStake.d.ts.map +1 -1
  48. package/dist/chains/solana/actions/stake/types.d.ts.map +1 -1
  49. package/dist/chains/solana/actions/unstake/SolanaUnstake.d.ts.map +1 -1
  50. package/dist/chains/solana/actions/unstake/factory.d.ts.map +1 -1
  51. package/dist/chains/solana/actions/unstake/types.d.ts.map +1 -1
  52. package/dist/chains/solana/utils.d.ts.map +1 -1
  53. package/dist/chains/starknet/actions/unstake/config/index.d.ts.map +1 -1
  54. package/dist/chains/starknet/actions/unstake/factory.d.ts.map +1 -1
  55. package/dist/chains/starknet/actions/unstake/types.d.ts.map +1 -1
  56. package/dist/chains/sui/actions/unstake/config/index.d.ts.map +1 -1
  57. package/dist/chains/sui/actions/unstake/factory.d.ts.map +1 -1
  58. package/dist/chains/sui/actions/unstake/types.d.ts.map +1 -1
  59. package/dist/chunks/{BtcActions-BczTnzRn.js → BtcActions-CFGiDxtv.js} +20 -22
  60. package/dist/chunks/BtcActions-CFGiDxtv.js.map +1 -0
  61. package/dist/chunks/BtcActions-DJJmmyzi.cjs +2 -0
  62. package/dist/chunks/BtcActions-DJJmmyzi.cjs.map +1 -0
  63. package/dist/chunks/EvmActions-CUKBeiUw.js +1508 -0
  64. package/dist/chunks/EvmActions-CUKBeiUw.js.map +1 -0
  65. package/dist/chunks/EvmActions-CxipDb7X.cjs +7 -0
  66. package/dist/chunks/EvmActions-CxipDb7X.cjs.map +1 -0
  67. package/dist/chunks/{ReferralsClient-W-0-383w.js → ReferralsClient-BRa26dYS.js} +4 -4
  68. package/dist/chunks/ReferralsClient-BRa26dYS.js.map +1 -0
  69. package/dist/chunks/{ReferralsClient-D8dHEk_X.cjs → ReferralsClient-o-3AUm7s.cjs} +2 -2
  70. package/dist/chunks/ReferralsClient-o-3AUm7s.cjs.map +1 -0
  71. package/dist/chunks/{approveLBTC-BMC4cZEk.cjs → approveLBTC-BBl3KcT2.cjs} +2 -2
  72. package/dist/chunks/{approveLBTC-BMC4cZEk.cjs.map → approveLBTC-BBl3KcT2.cjs.map} +1 -1
  73. package/dist/chunks/{approveLBTC-BkdT1N3V.js → approveLBTC-DnCt6ZZF.js} +3 -3
  74. package/dist/chunks/{approveLBTC-BkdT1N3V.js.map → approveLBTC-DnCt6ZZF.js.map} +1 -1
  75. package/dist/chunks/{blockchain-identifier-BLPnwbIN.js → blockchain-identifier-BkASqCgZ.js} +2 -2
  76. package/dist/chunks/blockchain-identifier-BkASqCgZ.js.map +1 -0
  77. package/dist/chunks/{blockchain-identifier-Bp-LTIdG.cjs → blockchain-identifier-DWfC3Es2.cjs} +2 -2
  78. package/dist/chunks/blockchain-identifier-DWfC3Es2.cjs.map +1 -0
  79. package/dist/chunks/{bridge-DbB23m2a.js → bridge-DV4fOcHe.js} +4 -4
  80. package/dist/chunks/bridge-DV4fOcHe.js.map +1 -0
  81. package/dist/chunks/{bridge-7Eq_Jmi2.cjs → bridge-DZp5x4Yb.cjs} +2 -2
  82. package/dist/chunks/bridge-DZp5x4Yb.cjs.map +1 -0
  83. package/dist/chunks/{config-ow9X5H0c.cjs → config-BfX8lrdO.cjs} +2 -2
  84. package/dist/chunks/config-BfX8lrdO.cjs.map +1 -0
  85. package/dist/chunks/{config-C8BfN_9P.js → config-wnjPtnjd.js} +46 -53
  86. package/dist/chunks/config-wnjPtnjd.js.map +1 -0
  87. package/dist/chunks/{defi-registry-B8V6dRVB.cjs → defi-registry-CyMKVT3z.cjs} +2 -2
  88. package/dist/chunks/defi-registry-CyMKVT3z.cjs.map +1 -0
  89. package/dist/chunks/{defi-registry-CD8EUcNu.js → defi-registry-DULXbu3D.js} +9 -9
  90. package/dist/chunks/defi-registry-DULXbu3D.js.map +1 -0
  91. package/dist/chunks/{depositStatus-BJA7tNqc.cjs → depositStatus-B9P1YXEU.cjs} +2 -2
  92. package/dist/chunks/depositStatus-B9P1YXEU.cjs.map +1 -0
  93. package/dist/chunks/{depositStatus-HosfExLl.js → depositStatus-Cgd_GDUt.js} +5 -5
  94. package/dist/chunks/depositStatus-Cgd_GDUt.js.map +1 -0
  95. package/dist/chunks/events-B9b3YdgM.cjs +2 -0
  96. package/dist/chunks/events-B9b3YdgM.cjs.map +1 -0
  97. package/dist/chunks/{events-BlzP_SCT.js → events-DU2wYlt_.js} +189 -191
  98. package/dist/chunks/events-DU2wYlt_.js.map +1 -0
  99. package/dist/chunks/{get-exchange-ratio-Bl6pt546.js → get-exchange-ratio-BvPUfcIQ.js} +2 -2
  100. package/dist/chunks/{get-exchange-ratio-Bl6pt546.js.map → get-exchange-ratio-BvPUfcIQ.js.map} +1 -1
  101. package/dist/chunks/{get-exchange-ratio-t1PW8I6_.cjs → get-exchange-ratio-DGztGO7i.cjs} +2 -2
  102. package/dist/chunks/{get-exchange-ratio-t1PW8I6_.cjs.map → get-exchange-ratio-DGztGO7i.cjs.map} +1 -1
  103. package/dist/chunks/{get-positions-summary-DdZvBmCN.cjs → get-positions-summary-CC7BDtlY.cjs} +2 -2
  104. package/dist/chunks/get-positions-summary-CC7BDtlY.cjs.map +1 -0
  105. package/dist/chunks/{get-positions-summary-CaX2BCHp.js → get-positions-summary-DxAgmaMl.js} +2 -2
  106. package/dist/chunks/get-positions-summary-DxAgmaMl.js.map +1 -0
  107. package/dist/chunks/get-vault-tvl-B6rSrGi_.js +203 -0
  108. package/dist/chunks/get-vault-tvl-B6rSrGi_.js.map +1 -0
  109. package/dist/chunks/get-vault-tvl-dvEPPxvT.cjs +2 -0
  110. package/dist/chunks/get-vault-tvl-dvEPPxvT.cjs.map +1 -0
  111. package/dist/chunks/get-vault-withdrawals-Cgx7VsM1.cjs +2 -0
  112. package/dist/chunks/get-vault-withdrawals-Cgx7VsM1.cjs.map +1 -0
  113. package/dist/chunks/get-vault-withdrawals-W5CgNbqE.js +154 -0
  114. package/dist/chunks/get-vault-withdrawals-W5CgNbqE.js.map +1 -0
  115. package/dist/chunks/{getUserStakeAndBakeSignature-CqlrwA0t.js → getUserStakeAndBakeSignature-BRhWFYyY.js} +4 -4
  116. package/dist/chunks/getUserStakeAndBakeSignature-BRhWFYyY.js.map +1 -0
  117. package/dist/chunks/{getUserStakeAndBakeSignature-BmY5j0OM.cjs → getUserStakeAndBakeSignature-VlC_GHmz.cjs} +2 -2
  118. package/dist/chunks/getUserStakeAndBakeSignature-VlC_GHmz.cjs.map +1 -0
  119. package/dist/chunks/hex-BiCL4CPh.js +11 -0
  120. package/dist/chunks/hex-BiCL4CPh.js.map +1 -0
  121. package/dist/chunks/hex-DeJtv8eu.cjs +2 -0
  122. package/dist/chunks/hex-DeJtv8eu.cjs.map +1 -0
  123. package/dist/chunks/{lbtc-addresses-BlyGFWnW.js → lbtc-addresses-ClXt-tuB.js} +2 -2
  124. package/dist/chunks/{lbtc-addresses-BlyGFWnW.js.map → lbtc-addresses-ClXt-tuB.js.map} +1 -1
  125. package/dist/chunks/{lbtc-addresses-DjsipX5Q.cjs → lbtc-addresses-D3jG1VUC.cjs} +2 -2
  126. package/dist/chunks/{lbtc-addresses-DjsipX5Q.cjs.map → lbtc-addresses-D3jG1VUC.cjs.map} +1 -1
  127. package/dist/chunks/parameters-CcpaKGU2.js +24 -0
  128. package/dist/chunks/parameters-CcpaKGU2.js.map +1 -0
  129. package/dist/chunks/parameters-YNWmaAho.cjs +2 -0
  130. package/dist/chunks/parameters-YNWmaAho.cjs.map +1 -0
  131. package/dist/chunks/{statusConstants-BJIXJNIC.cjs → statusConstants-B-7VEYgO.cjs} +2 -2
  132. package/dist/chunks/statusConstants-B-7VEYgO.cjs.map +1 -0
  133. package/dist/chunks/{statusConstants-BQna5LGH.js → statusConstants-C3JHNUTC.js} +15 -17
  134. package/dist/chunks/statusConstants-C3JHNUTC.js.map +1 -0
  135. package/dist/chunks/{storeNetworkFeeSignature-tprCigR1.js → storeNetworkFeeSignature-CY_Z-Wtn.js} +2 -2
  136. package/dist/chunks/{storeNetworkFeeSignature-tprCigR1.js.map → storeNetworkFeeSignature-CY_Z-Wtn.js.map} +1 -1
  137. package/dist/chunks/{storeNetworkFeeSignature-CLm8I2pf.cjs → storeNetworkFeeSignature-DJgBfZp7.cjs} +2 -2
  138. package/dist/chunks/{storeNetworkFeeSignature-CLm8I2pf.cjs.map → storeNetworkFeeSignature-DJgBfZp7.cjs.map} +1 -1
  139. package/dist/chunks/token-addresses-C7H9E4qz.cjs +2 -0
  140. package/dist/chunks/token-addresses-C7H9E4qz.cjs.map +1 -0
  141. package/dist/chunks/{token-addresses-Ddar0FyS.js → token-addresses-DVnRPyu4.js} +16 -14
  142. package/dist/chunks/token-addresses-DVnRPyu4.js.map +1 -0
  143. package/dist/chunks/{tokens-HhVpKe3K.js → tokens-Btl3GXbc.js} +3 -3
  144. package/dist/chunks/tokens-Btl3GXbc.js.map +1 -0
  145. package/dist/chunks/{tokens-CBsz6l_2.cjs → tokens-DEYY7W7O.cjs} +2 -2
  146. package/dist/chunks/tokens-DEYY7W7O.cjs.map +1 -0
  147. package/dist/chunks/unwrapBtceToLbtcv-C4OxoVVU.js +321 -0
  148. package/dist/chunks/unwrapBtceToLbtcv-C4OxoVVU.js.map +1 -0
  149. package/dist/chunks/unwrapBtceToLbtcv-Dg-yUGpg.cjs +2 -0
  150. package/dist/chunks/unwrapBtceToLbtcv-Dg-yUGpg.cjs.map +1 -0
  151. package/dist/chunks/withdrawEarn-CTtVruit.cjs +7 -0
  152. package/dist/chunks/withdrawEarn-CTtVruit.cjs.map +1 -0
  153. package/dist/chunks/{unstakeLBTC-Bg8OsAMV.js → withdrawEarn-QFaMhs0t.js} +965 -612
  154. package/dist/chunks/withdrawEarn-QFaMhs0t.js.map +1 -0
  155. package/dist/client/ApiNamespace.d.ts +3 -6
  156. package/dist/client/ApiNamespace.d.ts.map +1 -1
  157. package/dist/common/blockchain-identifier.d.ts.map +1 -1
  158. package/dist/common/chains.d.ts +1 -1
  159. package/dist/common/chains.d.ts.map +1 -1
  160. package/dist/common/feature-config.d.ts.map +1 -1
  161. package/dist/contract-functions/cancelEarnWithdrawal/cancelEarnWithdrawal.d.ts +19 -0
  162. package/dist/contract-functions/cancelEarnWithdrawal/cancelEarnWithdrawal.d.ts.map +1 -0
  163. package/dist/contract-functions/cancelEarnWithdrawal/index.d.ts +2 -0
  164. package/dist/contract-functions/cancelEarnWithdrawal/index.d.ts.map +1 -0
  165. package/dist/contract-functions/depositEarn/depositEarn.d.ts +36 -0
  166. package/dist/contract-functions/depositEarn/depositEarn.d.ts.map +1 -0
  167. package/dist/contract-functions/depositEarn/index.d.ts +2 -0
  168. package/dist/contract-functions/depositEarn/index.d.ts.map +1 -0
  169. package/dist/contract-functions/getBasculeDepositStatus/getBasculeDepositStatus.d.ts.map +1 -1
  170. package/dist/contract-functions/getEarnPosition/getEarnPosition.d.ts +17 -16
  171. package/dist/contract-functions/getEarnPosition/getEarnPosition.d.ts.map +1 -1
  172. package/dist/contract-functions/getShareValue/getShareValue.d.ts +5 -15
  173. package/dist/contract-functions/getShareValue/getShareValue.d.ts.map +1 -1
  174. package/dist/contract-functions/getSharesByAddress/getSharesByAddress.d.ts +5 -20
  175. package/dist/contract-functions/getSharesByAddress/getSharesByAddress.d.ts.map +1 -1
  176. package/dist/contract-functions/index.d.ts +4 -2
  177. package/dist/contract-functions/index.d.ts.map +1 -1
  178. package/dist/contract-functions/previewWithdrawEarn/index.d.ts +2 -0
  179. package/dist/contract-functions/previewWithdrawEarn/index.d.ts.map +1 -0
  180. package/dist/contract-functions/previewWithdrawEarn/previewWithdrawEarn.d.ts +38 -0
  181. package/dist/contract-functions/previewWithdrawEarn/previewWithdrawEarn.d.ts.map +1 -0
  182. package/dist/contract-functions/signStakeAndBake/validation.d.ts.map +1 -1
  183. package/dist/contract-functions/withdrawEarn/index.d.ts +2 -0
  184. package/dist/contract-functions/withdrawEarn/index.d.ts.map +1 -0
  185. package/dist/contract-functions/withdrawEarn/withdrawEarn.d.ts +46 -0
  186. package/dist/contract-functions/withdrawEarn/withdrawEarn.d.ts.map +1 -0
  187. package/dist/contract-functions/wrapToBtce/wrapToBtce.d.ts.map +1 -1
  188. package/dist/contracts.cjs +1 -1
  189. package/dist/contracts.js +32 -30
  190. package/dist/core/assets/catalog.d.ts.map +1 -1
  191. package/dist/core/assets/utils.d.ts.map +1 -1
  192. package/dist/core/chains/utils.d.ts.map +1 -1
  193. package/dist/core.cjs +1 -1
  194. package/dist/core.js +19 -19
  195. package/dist/defi/defi-registry.d.ts.map +1 -1
  196. package/dist/defi/index.d.ts +1 -1
  197. package/dist/defi/index.d.ts.map +1 -1
  198. package/dist/defi.cjs +1 -1
  199. package/dist/defi.js +4 -4
  200. package/dist/entries/api.d.ts +14 -14
  201. package/dist/entries/api.d.ts.map +1 -1
  202. package/dist/entries/contracts.d.ts +4 -2
  203. package/dist/entries/contracts.d.ts.map +1 -1
  204. package/dist/entries/defi.d.ts +1 -1
  205. package/dist/entries/defi.d.ts.map +1 -1
  206. package/dist/entries/evm.d.ts +7 -7
  207. package/dist/entries/evm.d.ts.map +1 -1
  208. package/dist/entries/utils.d.ts +9 -9
  209. package/dist/entries/utils.d.ts.map +1 -1
  210. package/dist/entries/vaults.d.ts +1 -1
  211. package/dist/entries/vaults.d.ts.map +1 -1
  212. package/dist/evm.cjs +1 -1
  213. package/dist/evm.js +4 -4
  214. package/dist/index.cjs +1 -1
  215. package/dist/index.d.ts +67 -65
  216. package/dist/index.d.ts.map +1 -1
  217. package/dist/index.js +171 -174
  218. package/dist/index.js.map +1 -1
  219. package/dist/metrics.cjs +1 -1
  220. package/dist/metrics.js +1 -1
  221. package/dist/services/EvmService.d.ts.map +1 -1
  222. package/dist/shared/actions/BaseAction.d.ts.map +1 -1
  223. package/dist/shared/deposits/depositStatus.d.ts.map +1 -1
  224. package/dist/shared/validation/index.d.ts.map +1 -1
  225. package/dist/tokens/tokens.d.ts.map +1 -1
  226. package/dist/utils/chain.d.ts.map +1 -1
  227. package/dist/utils/consoleLogger.d.ts.map +1 -1
  228. package/dist/utils.cjs +1 -1
  229. package/dist/utils.js +16 -16
  230. package/dist/vaults/index.d.ts +8 -10
  231. package/dist/vaults/index.d.ts.map +1 -1
  232. package/dist/vaults/lib/config.d.ts +148 -150
  233. package/dist/vaults/lib/config.d.ts.map +1 -1
  234. package/dist/vaults/lib/metrics/get-vault-apy.d.ts +2 -4
  235. package/dist/vaults/lib/metrics/get-vault-apy.d.ts.map +1 -1
  236. package/dist/vaults/lib/metrics/get-vault-points.d.ts +2 -5
  237. package/dist/vaults/lib/metrics/get-vault-points.d.ts.map +1 -1
  238. package/dist/vaults/lib/metrics/get-vault-tvl.d.ts +5 -8
  239. package/dist/vaults/lib/metrics/get-vault-tvl.d.ts.map +1 -1
  240. package/dist/vaults/lib/ops/deposit.d.ts +5 -14
  241. package/dist/vaults/lib/ops/deposit.d.ts.map +1 -1
  242. package/dist/vaults/lib/ops/get-vault-deposits.d.ts +9 -13
  243. package/dist/vaults/lib/ops/get-vault-deposits.d.ts.map +1 -1
  244. package/dist/vaults/lib/ops/get-vault-minimum-deposit.d.ts +4 -7
  245. package/dist/vaults/lib/ops/get-vault-minimum-deposit.d.ts.map +1 -1
  246. package/dist/vaults/lib/ops/get-vault-withdrawals.d.ts +14 -18
  247. package/dist/vaults/lib/ops/get-vault-withdrawals.d.ts.map +1 -1
  248. package/dist/vaults/lib/ops/preview-vault-deposit.d.ts +4 -8
  249. package/dist/vaults/lib/ops/preview-vault-deposit.d.ts.map +1 -1
  250. package/dist/vaults/lib/ops/withdraw.d.ts +11 -27
  251. package/dist/vaults/lib/ops/withdraw.d.ts.map +1 -1
  252. package/dist/vaults.cjs +1 -1
  253. package/dist/vaults.cjs.map +1 -1
  254. package/dist/vaults.js +91 -103
  255. package/dist/vaults.js.map +1 -1
  256. package/package.json +1 -1
  257. package/dist/chunks/BtcActions-BczTnzRn.js.map +0 -1
  258. package/dist/chunks/BtcActions-PyJhuiZN.cjs +0 -2
  259. package/dist/chunks/BtcActions-PyJhuiZN.cjs.map +0 -1
  260. package/dist/chunks/EvmActions-D3RAK9_Z.cjs +0 -2
  261. package/dist/chunks/EvmActions-D3RAK9_Z.cjs.map +0 -1
  262. package/dist/chunks/EvmActions-DSKThOAy.js +0 -1341
  263. package/dist/chunks/EvmActions-DSKThOAy.js.map +0 -1
  264. package/dist/chunks/ReferralsClient-D8dHEk_X.cjs.map +0 -1
  265. package/dist/chunks/ReferralsClient-W-0-383w.js.map +0 -1
  266. package/dist/chunks/blockchain-identifier-BLPnwbIN.js.map +0 -1
  267. package/dist/chunks/blockchain-identifier-Bp-LTIdG.cjs.map +0 -1
  268. package/dist/chunks/bridge-7Eq_Jmi2.cjs.map +0 -1
  269. package/dist/chunks/bridge-DbB23m2a.js.map +0 -1
  270. package/dist/chunks/config-C8BfN_9P.js.map +0 -1
  271. package/dist/chunks/config-ow9X5H0c.cjs.map +0 -1
  272. package/dist/chunks/defi-registry-B8V6dRVB.cjs.map +0 -1
  273. package/dist/chunks/defi-registry-CD8EUcNu.js.map +0 -1
  274. package/dist/chunks/depositStatus-BJA7tNqc.cjs.map +0 -1
  275. package/dist/chunks/depositStatus-HosfExLl.js.map +0 -1
  276. package/dist/chunks/events-BlzP_SCT.js.map +0 -1
  277. package/dist/chunks/events-DNehj45M.cjs +0 -2
  278. package/dist/chunks/events-DNehj45M.cjs.map +0 -1
  279. package/dist/chunks/get-positions-summary-CaX2BCHp.js.map +0 -1
  280. package/dist/chunks/get-positions-summary-DdZvBmCN.cjs.map +0 -1
  281. package/dist/chunks/get-vault-tvl-CihHEkqK.js +0 -226
  282. package/dist/chunks/get-vault-tvl-CihHEkqK.js.map +0 -1
  283. package/dist/chunks/get-vault-tvl-DZ-xzehy.cjs +0 -2
  284. package/dist/chunks/get-vault-tvl-DZ-xzehy.cjs.map +0 -1
  285. package/dist/chunks/get-vault-withdrawals-DLwFMQEB.cjs +0 -2
  286. package/dist/chunks/get-vault-withdrawals-DLwFMQEB.cjs.map +0 -1
  287. package/dist/chunks/get-vault-withdrawals-QJOdxB5Z.js +0 -161
  288. package/dist/chunks/get-vault-withdrawals-QJOdxB5Z.js.map +0 -1
  289. package/dist/chunks/getUserStakeAndBakeSignature-BmY5j0OM.cjs.map +0 -1
  290. package/dist/chunks/getUserStakeAndBakeSignature-CqlrwA0t.js.map +0 -1
  291. package/dist/chunks/parameters-C_16L5ft.js +0 -11
  292. package/dist/chunks/parameters-C_16L5ft.js.map +0 -1
  293. package/dist/chunks/parameters-DK9cYCAH.cjs +0 -2
  294. package/dist/chunks/parameters-DK9cYCAH.cjs.map +0 -1
  295. package/dist/chunks/statusConstants-BJIXJNIC.cjs.map +0 -1
  296. package/dist/chunks/statusConstants-BQna5LGH.js.map +0 -1
  297. package/dist/chunks/time-I-BeyUkG.cjs +0 -2
  298. package/dist/chunks/time-I-BeyUkG.cjs.map +0 -1
  299. package/dist/chunks/time-Sa5gggPG.js +0 -24
  300. package/dist/chunks/time-Sa5gggPG.js.map +0 -1
  301. package/dist/chunks/token-addresses-Ddar0FyS.js.map +0 -1
  302. package/dist/chunks/token-addresses-DvY-Mw7b.cjs +0 -2
  303. package/dist/chunks/token-addresses-DvY-Mw7b.cjs.map +0 -1
  304. package/dist/chunks/tokens-CBsz6l_2.cjs.map +0 -1
  305. package/dist/chunks/tokens-HhVpKe3K.js.map +0 -1
  306. package/dist/chunks/unstakeLBTC-Bg8OsAMV.js.map +0 -1
  307. package/dist/chunks/unstakeLBTC-BmHvDxBN.cjs +0 -2
  308. package/dist/chunks/unstakeLBTC-BmHvDxBN.cjs.map +0 -1
  309. package/dist/chunks/withdraw-Bkp5-2dG.cjs +0 -12
  310. package/dist/chunks/withdraw-Bkp5-2dG.cjs.map +0 -1
  311. package/dist/chunks/withdraw-kf8mYbYH.js +0 -209
  312. package/dist/chunks/withdraw-kf8mYbYH.js.map +0 -1
  313. package/dist/chunks/wrapToBtce-By2mh503.js +0 -298
  314. package/dist/chunks/wrapToBtce-By2mh503.js.map +0 -1
  315. package/dist/chunks/wrapToBtce-DDeIlv3d.cjs +0 -2
  316. package/dist/chunks/wrapToBtce-DDeIlv3d.cjs.map +0 -1
  317. package/dist/contract-functions/getShareValue/index.d.ts +0 -2
  318. package/dist/contract-functions/getShareValue/index.d.ts.map +0 -1
  319. package/dist/contract-functions/getSharesByAddress/index.d.ts +0 -2
  320. package/dist/contract-functions/getSharesByAddress/index.d.ts.map +0 -1
@@ -0,0 +1,7 @@
1
+ "use strict";const y=require("./tokens-DEYY7W7O.cjs"),r=require("./token-addresses-C7H9E4qz.cjs"),H=require("./satoshi-CZEsHl5X.cjs"),$=require("./index-BKzxeh1Y.cjs"),h=require("viem"),S=require("./defi-registry-CyMKVT3z.cjs"),w=require("bignumber.js"),_=require("./parameters-YNWmaAho.cjs"),ye=require("./get-exchange-ratio-DGztGO7i.cjs"),I=require("./numbers-3LtmxfD8.cjs"),A=require("./config-BfX8lrdO.cjs"),Q=require("./hex-DeJtv8eu.cjs"),P=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AccessControlBadConfirmation",type:"error"},{inputs:[{internalType:"uint48",name:"schedule",type:"uint48"}],name:"AccessControlEnforcedDefaultAdminDelay",type:"error"},{inputs:[],name:"AccessControlEnforcedDefaultAdminRules",type:"error"},{inputs:[{internalType:"address",name:"defaultAdmin",type:"address"}],name:"AccessControlInvalidDefaultAdmin",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"bytes32",name:"neededRole",type:"bytes32"}],name:"AccessControlUnauthorizedAccount",type:"error"},{inputs:[{internalType:"uint256",name:"dustLimit",type:"uint256"}],name:"AmountBelowMinLimit",type:"error"},{inputs:[{internalType:"uint256",name:"fee",type:"uint256"}],name:"AmountLessThanCommission",type:"error"},{inputs:[],name:"AssertRouter_UnauthorizedAccount",type:"error"},{inputs:[],name:"AssertRouter_WrongRedeemDestinationChain",type:"error"},{inputs:[],name:"AssertRouter_WrongRouteType",type:"error"},{inputs:[],name:"AssertRouter_WrongToken",type:"error"},{inputs:[],name:"AssetOperation_DepositNotAllowed",type:"error"},{inputs:[],name:"AssetOperation_RedeemNotAllowed",type:"error"},{inputs:[],name:"AssetRouter_FeeGreaterThanAmount",type:"error"},{inputs:[],name:"AssetRouter_MailboxExpected",type:"error"},{inputs:[],name:"AssetRouter_MintProcessingError",type:"error"},{inputs:[],name:"AssetRouter_PayloadAlreadyUsed",type:"error"},{inputs:[],name:"AssetRouter_Unauthorized",type:"error"},{inputs:[],name:"AssetRouter_WrongNativeToken",type:"error"},{inputs:[],name:"AssetRouter_WrongOperation",type:"error"},{inputs:[],name:"AssetRouter_WrongSender",type:"error"},{inputs:[],name:"AssetRouter_ZeroAddress",type:"error"},{inputs:[],name:"AssetRouter_ZeroMailbox",type:"error"},{inputs:[{internalType:"uint256",name:"expected",type:"uint256"},{internalType:"uint256",name:"actual",type:"uint256"}],name:"Assets_InvalidPayloadSize",type:"error"},{inputs:[{internalType:"bytes4",name:"expected",type:"bytes4"},{internalType:"bytes4",name:"actual",type:"bytes4"}],name:"Assets_InvalidSelector",type:"error"},{inputs:[],name:"Assets_ZeroAmount",type:"error"},{inputs:[],name:"Assets_ZeroRecipient",type:"error"},{inputs:[],name:"Assets_ZeroToToken",type:"error"},{inputs:[],name:"ECDSAInvalidSignature",type:"error"},{inputs:[{internalType:"uint256",name:"length",type:"uint256"}],name:"ECDSAInvalidSignatureLength",type:"error"},{inputs:[{internalType:"bytes32",name:"s",type:"bytes32"}],name:"ECDSAInvalidSignatureS",type:"error"},{inputs:[],name:"GMP_InvalidAddess",type:"error"},{inputs:[{internalType:"bytes4",name:"expected",type:"bytes4"},{internalType:"bytes4",name:"actual",type:"bytes4"}],name:"InvalidAction",type:"error"},{inputs:[],name:"InvalidFeeApprovalSignature",type:"error"},{inputs:[],name:"InvalidInitialization",type:"error"},{inputs:[{internalType:"uint256",name:"expected",type:"uint256"},{internalType:"uint256",name:"actual",type:"uint256"}],name:"InvalidPayloadSize",type:"error"},{inputs:[{internalType:"uint256",name:"a",type:"uint256"},{internalType:"uint256",name:"b",type:"uint256"}],name:"NonEqualLength",type:"error"},{inputs:[],name:"NotInitializing",type:"error"},{inputs:[],name:"NotStakingToken",type:"error"},{inputs:[],name:"ReentrancyGuardReentrantCall",type:"error"},{inputs:[{internalType:"uint8",name:"bits",type:"uint8"},{internalType:"uint256",name:"value",type:"uint256"}],name:"SafeCastOverflowedUintDowncast",type:"error"},{inputs:[],name:"ScriptPubkeyUnsupported",type:"error"},{inputs:[{internalType:"uint256",name:"expiry",type:"uint256"}],name:"UserSignatureExpired",type:"error"},{inputs:[],name:"ZeroFee",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"prevVal",type:"address"},{indexed:!0,internalType:"address",name:"newVal",type:"address"}],name:"AssetRouter_BasculeChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"payloadHash",type:"bytes32"},{indexed:!1,internalType:"string",name:"reason",type:"string"},{indexed:!1,internalType:"bytes",name:"customError",type:"bytes"}],name:"AssetRouter_BatchMintError",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"oldRate",type:"uint256"},{indexed:!0,internalType:"uint256",name:"newRate",type:"uint256"}],name:"AssetRouter_DustFeeRateChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"bytes",name:"userSignature",type:"bytes"}],name:"AssetRouter_FeeCharged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"prevVal",type:"address"},{indexed:!0,internalType:"address",name:"newVal",type:"address"}],name:"AssetRouter_MailboxChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"oldFee",type:"uint256"},{indexed:!0,internalType:"uint256",name:"newFee",type:"uint256"}],name:"AssetRouter_MintFeeChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAddress",type:"address"},{indexed:!0,internalType:"address",name:"newAddress",type:"address"}],name:"AssetRouter_NativeTokenChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"prevVal",type:"address"},{indexed:!0,internalType:"address",name:"newVal",type:"address"}],name:"AssetRouter_OracleChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"bool",name:"enabled",type:"bool"}],name:"AssetRouter_RedeemEnabled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"oldFee",type:"uint256"},{indexed:!1,internalType:"uint256",name:"newFee",type:"uint256"}],name:"AssetRouter_RedeemFeeChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"oldMinAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"newMinAmount",type:"uint256"}],name:"AssetRouter_RedeemForBtcMinAmountChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"fromToken",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"fromChainId",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"toToken",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"toChainId",type:"bytes32"}],name:"AssetRouter_RouteRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"fromToken",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"fromChainId",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"toToken",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"toChainId",type:"bytes32"},{indexed:!1,internalType:"enum IAssetRouter.RouteType",name:"routeType",type:"uint8"}],name:"AssetRouter_RouteSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"oldCommission",type:"uint256"},{indexed:!0,internalType:"uint256",name:"newCommission",type:"uint256"}],name:"AssetRouter_ToNativeCommissionChanged",type:"event"},{anonymous:!1,inputs:[],name:"DefaultAdminDelayChangeCanceled",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint48",name:"newDelay",type:"uint48"},{indexed:!1,internalType:"uint48",name:"effectSchedule",type:"uint48"}],name:"DefaultAdminDelayChangeScheduled",type:"event"},{anonymous:!1,inputs:[],name:"DefaultAdminTransferCanceled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newAdmin",type:"address"},{indexed:!1,internalType:"uint48",name:"acceptSchedule",type:"uint48"}],name:"DefaultAdminTransferScheduled",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint64",name:"version",type:"uint64"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{inputs:[],name:"CALLER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"CLAIMER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"OPERATOR_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"acceptDefaultAdminTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"bascule",outputs:[{internalType:"contract IBascule",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes[]",name:"payload",type:"bytes[]"},{internalType:"bytes[]",name:"proof",type:"bytes[]"}],name:"batchMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes[]",name:"mintPayload",type:"bytes[]"},{internalType:"bytes[]",name:"proof",type:"bytes[]"},{internalType:"bytes[]",name:"feePayload",type:"bytes[]"},{internalType:"bytes[]",name:"userSignature",type:"bytes[]"}],name:"batchMintWithFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAdmin",type:"address"}],name:"beginDefaultAdminTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"bitcoinChainId",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"bytes",name:"scriptPubkey",type:"bytes"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"calcUnstakeRequestAmount",outputs:[{internalType:"uint256",name:"amountAfterFee",type:"uint256"},{internalType:"bool",name:"isAboveMinLimit",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"cancelDefaultAdminTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newVal",type:"address"}],name:"changeBascule",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint48",name:"newDelay",type:"uint48"}],name:"changeDefaultAdminDelay",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newVal",type:"address"}],name:"changeMailbox",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newValue",type:"address"}],name:"changeNativeToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"newVal",type:"address"}],name:"changeOracle",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"fee",type:"uint256"}],name:"changeRedeemFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"fee",type:"uint256"}],name:"changeRedeemFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"minAmount",type:"uint256"}],name:"changeRedeemForBtcMinAmount",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"minAmount",type:"uint256"}],name:"changeRedeemForBtcMinAmount",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint64",name:"newValue",type:"uint64"}],name:"changeToNativeCommission",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"redeemFee",type:"uint256"},{internalType:"uint256",name:"redeemForBtcMinAmount",type:"uint256"},{internalType:"bool",name:"redeemEnabled",type:"bool"}],name:"changeTokenConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"redeemFee",type:"uint256"},{internalType:"uint256",name:"redeemForBtcMinAmount",type:"uint256"},{internalType:"address",name:"oracle_",type:"address"},{internalType:"uint256",name:"maximumMintCommission_",type:"uint256"},{internalType:"uint64",name:"toNativeCommission_",type:"uint64"}],name:"changeTokenConfigExt",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"defaultAdmin",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"defaultAdminDelay",outputs:[{internalType:"uint48",name:"",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[],name:"defaultAdminDelayIncreaseWait",outputs:[{internalType:"uint48",name:"",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"fromAddress",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"tolChainId",type:"bytes32"},{internalType:"bytes32",name:"toToken",type:"bytes32"},{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"getRate",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"fromToken",type:"bytes32"},{internalType:"bytes32",name:"fromChainId",type:"bytes32"},{internalType:"bytes32",name:"toChainId",type:"bytes32"},{internalType:"bytes32",name:"toToken",type:"bytes32"}],name:"getRouteType",outputs:[{internalType:"enum IAssetRouter.RouteType",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32",name:"msgPath",type:"bytes32"},{internalType:"uint256",name:"msgNonce",type:"uint256"},{internalType:"bytes32",name:"msgSender",type:"bytes32"},{internalType:"address",name:"msgRecipient",type:"address"},{internalType:"address",name:"msgDestinationCaller",type:"address"},{internalType:"bytes",name:"msgBody",type:"bytes"}],internalType:"struct GMPUtils.Payload",name:"payload",type:"tuple"}],name:"handlePayload",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner_",type:"address"},{internalType:"uint48",name:"initialOwnerDelay_",type:"uint48"},{internalType:"bytes32",name:"ledgerChainId_",type:"bytes32"},{internalType:"bytes32",name:"bitcoinChainId_",type:"bytes32"},{internalType:"address",name:"mailbox_",type:"address"},{internalType:"address",name:"bascule_",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"mailbox",outputs:[{internalType:"contract IMailbox",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"maxMintCommission",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"rawPayload",type:"bytes"},{internalType:"bytes",name:"proof",type:"bytes"}],name:"mint",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"mintPayload",type:"bytes"},{internalType:"bytes",name:"proof",type:"bytes"},{internalType:"bytes",name:"feePayload",type:"bytes"},{internalType:"bytes",name:"userSignature",type:"bytes"}],name:"mintWithFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"nativeToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"oracle",outputs:[{internalType:"contract IOracle",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pendingDefaultAdmin",outputs:[{internalType:"address",name:"newAdmin",type:"address"},{internalType:"uint48",name:"schedule",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[],name:"pendingDefaultAdminDelay",outputs:[{internalType:"uint48",name:"newDelay",type:"uint48"},{internalType:"uint48",name:"schedule",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"ratio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"fromAddress",type:"address"},{internalType:"address",name:"fromToken",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"redeem",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"fromAddress",type:"address"},{internalType:"bytes32",name:"tolChainId",type:"bytes32"},{internalType:"address",name:"fromToken",type:"address"},{internalType:"bytes32",name:"toToken",type:"bytes32"},{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"redeem",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"fromAddress",type:"address"},{internalType:"address",name:"fromToken",type:"address"},{internalType:"bytes",name:"recipient",type:"bytes"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"redeemForBtc",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"fromToken",type:"bytes32"},{internalType:"bytes32",name:"fromChainId",type:"bytes32"},{internalType:"bytes32",name:"toToken",type:"bytes32"},{internalType:"bytes32",name:"toChainId",type:"bytes32"}],name:"removeRoute",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"rollbackDefaultAdminDelay",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"fee",type:"uint256"}],name:"setMaxMintCommission",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"fromToken",type:"bytes32"},{internalType:"bytes32",name:"fromChainId",type:"bytes32"},{internalType:"bytes32",name:"toToken",type:"bytes32"},{internalType:"bytes32",name:"toChainId",type:"bytes32"},{internalType:"enum IAssetRouter.RouteType",name:"routeType",type:"uint8"}],name:"setRoute",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"toNativeCommission",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"toggleRedeem",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"tokenConfig",outputs:[{internalType:"uint256",name:"redeemFee",type:"uint256"},{internalType:"uint256",name:"redeemForBtcMinAmount",type:"uint256"},{internalType:"bool",name:"isRedeemEnabled",type:"bool"}],stateMutability:"view",type:"function"}];async function de(e){return J({token:r.Token.LBTC,...e})}async function le(e){return q({token:r.Token.LBTC,...e})}async function J({token:e,chainId:a,rpcUrl:n,env:t}){if(![r.Token.LBTC,r.Token.BTCK,r.Token.BTCb].includes(e))throw new Error(`Unsupported token: ${e}`);const o=t||y.determineEnv(a),u=y.makePublicClient({chainId:a,rpcUrl:n,env:o}),i=await y.getTokenContractInfo(e,a,o,r.AddressKind.Adapter),p=i.abi;let s=0n;if(y.isUpgradedAbi(p)||e===r.Token.BTCb){const d=await u.readContract({abi:p,address:i.address,functionName:"getAssetRouter"}),l={abi:P,address:d};s=await u.readContract({abi:l.abi,address:l.address,functionName:"maxMintCommission",args:[i.address]})}else s=await u.readContract({abi:i.abi,address:i.address,functionName:"getMintFee"});return H.fromSatoshi(String(s))}async function q({token:e,chainId:a,rpcUrl:n,env:t}){if(![r.Token.LBTC,r.Token.BTCK,r.Token.BTCb].includes(e))throw new Error(`Unsupported token: ${e}`);const o=t||y.determineEnv(a),u=y.makePublicClient({chainId:a,rpcUrl:n,env:o}),i=await y.getTokenContractInfo(e,a,o,r.AddressKind.Adapter);let p=0n;if(y.isUpgradedAbi(i.abi)||e===r.Token.BTCb){const s=await u.readContract({abi:i.abi,address:i.address,functionName:"getAssetRouter"}),d={abi:P,address:s},l=await u.readContract({abi:d.abi,address:d.address,functionName:"toNativeCommission",args:[i.address]}),[c]=await u.readContract({abi:d.abi,address:d.address,functionName:"tokenConfig",args:[i.address]});p=l+c}else p=await u.readContract({abi:i.abi,address:i.address,functionName:"getBurnCommission"});return H.fromSatoshi(String(p))}async function X({token:e,chainId:a,rpcUrl:n,env:t}){if(![r.Token.LBTC,r.Token.BTCK,r.Token.BTCb].includes(e))throw new Error(`Unsupported token: ${e}`);const o=t||y.determineEnv(a),u=y.makePublicClient({chainId:a,rpcUrl:n,env:o}),i=await y.getTokenContractInfo(e,a,o,r.AddressKind.Adapter);let p=0n;if(y.isUpgradedAbi(i.abi)||e===r.Token.BTCb){const s=await u.readContract({abi:i.abi,address:i.address,functionName:"getAssetRouter"}),d={abi:P,address:s},[,l]=await u.readContract({abi:d.abi,address:d.address,functionName:"tokenConfig",args:[i.address]});p=l}else p=2000n;return H.fromSatoshi(String(p))}async function me(e){const[a,n]=await Promise.all([q(e),X(e)]);return a.plus(n)}class O extends Error{constructor(a,n,t){super(n),this.code=a,this.context=t,this.name="StakeAndBakeValidationError"}}function K(e,a,n,t){const o=S.DEFI_REGISTRY[e];if(!o)throw new O("UNSUPPORTED_VAULT",`Vault ${e} not found in DeFi registry`,{protocol:e});const u=o[a];if(!u)throw new O("UNSUPPORTED_TOKEN",`Token ${a} is not supported for stake and bake on vault ${e}. Supported tokens: ${Object.keys(o).join(", ")}`,{protocol:e,token:a,supportedTokens:Object.keys(o)});const i=u[t];if(!i)throw new O("UNSUPPORTED_ENV",`Environment ${t} is not supported for token ${a} on vault ${e}`,{protocol:e,token:a,env:t});const p=i[n];if(!p)throw new O("UNSUPPORTED_TOKEN_CHAIN",`Token ${a} is not supported on chain ${n} for vault ${e} in ${t}. Supported chains: ${Object.keys(i).join(", ")}`,{protocol:e,token:a,chainId:n,env:t,supportedChains:Object.keys(i)});return{protocol:e,token:a,env:t,chainId:n,...p}}const ce={[S.DefiProtocol.Veda]:r.Token.LBTC,[S.DefiProtocol.Silo]:r.Token.BTCb};async function Te({protocol:e=S.DefiProtocol.Veda,token:a,chainId:n,env:t=$.p,rpcUrl:o}){const u=S.DefiProtocols[e];if(!u)throw new Error(`Unknown protocol: ${e}`);const i=a??ce[e];try{const s=K(e,i,n,t).spenderContract;if(!s)throw new Error(`Could not retrieve the stake and bake contract for ${e} on chain ${n}.`);const d=y.makePublicClient({chainId:n,rpcUrl:o}),c=await h.getContract({abi:s.abi,address:s.address,client:d}).read.getStakeAndBakeFee();return H.fromSatoshi(String(c))}catch(p){const s=y.getErrorMessage(p);throw new Error(`Failed to get stake and bake fee for ${u.name}: ${s}`)}}function ee(e){return`destination chain id is ${e}`}async function be({account:e,chainId:a,provider:n}){const t=r.makeWalletClient({chainId:a,provider:n}),o=ee(a);return await t.signMessage({account:e,message:o})}async function fe({fee:e,expiry:a=_.toUnix(_.now()+_.DAY),account:n,chainId:t,provider:o,env:u,token:i=r.Token.LBTC}){const p=await y.getTokenContractInfo(i,t,u),s=r.makeWalletClient({chainId:t,provider:o}),d={account:n,domain:{name:i===r.Token.BTCb?"Bitcoin":"Lombard Staked Bitcoin",version:"1",chainId:t,verifyingContract:p.address},message:{chainId:t,fee:BigInt(w(e).toFixed()),expiry:a},primaryType:"feeApproval",types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],feeApproval:[{name:"chainId",type:"uint256"},{name:"fee",type:"uint256"},{name:"expiry",type:"uint256"}]}};return{signature:await s.signTypedData(d),typedData:JSON.stringify(d,(c,T)=>typeof T=="bigint"?T.toString():T)}}async function te({owner:e,chainId:a,rpcUrl:n,env:t=$.p}){const o=t||y.determineEnv(a),u=y.makePublicClient({chainId:a,rpcUrl:n}),i=await y.getTokenContractInfo(r.Token.LBTC,a,o),p=await u.readContract({abi:i.abi,address:i.address,functionName:"nonces",args:[e]});return String(p)}const we=[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],ne=[{name:"owner",type:"address"},{name:"spender",type:"address"},{name:"value",type:"uint256"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}],Ce=ne;function Ae(e){const a=e.mode==="permit"?"Permit":"Approve";return{account:e.account,domain:{name:e.domainName,version:e.domainVersion,chainId:BigInt(e.chainId),verifyingContract:e.verifyingContract},types:{EIP712Domain:we,[a]:e.mode==="permit"?ne:Ce},primaryType:a,message:{owner:e.account,spender:e.spender,value:e.value,nonce:e.nonce,deadline:e.deadline}}}function ae(e){return JSON.stringify(e,(a,n)=>typeof n=="bigint"?n.toString():n)}async function ge(e){const{account:a,chainId:n,provider:t,rpcUrl:o,tokenAddress:u,tokenAbi:i,spenderAddress:p,typedData:s,requiredAmount:d}=e,l=y.makePublicClient({chainId:n,rpcUrl:o}),c=r.makeWalletClient({chainId:n,provider:t}),T=await l.readContract({address:u,abi:i,functionName:"allowance",args:[a,p]});let m;if(T<d){const b=await c.writeContract({address:u,abi:i,functionName:"approve",args:[p,d],account:a,chain:null});if((await l.waitForTransactionReceipt({hash:b})).status!=="success")throw new Error(`Approve transaction failed: ${b}. Please try again or contact support.`);m=b}return{mode:"approve",signature:"",typedData:ae(s),approvalTxHash:m}}async function he(e){const{chainId:a,provider:n,typedData:t}=e;return{mode:"permit",signature:await r.makeWalletClient({chainId:a,provider:n}).signTypedData(t),typedData:ae(t)}}const Me=async(e,a,n)=>!e||e==="BTC"||e===r.Token.LBTC?await y.getTokenContractInfo(r.Token.LBTC,a,n):await y.getTokenContractInfo(e,a,n,r.AddressKind.Token);async function ve(e,a){var n;try{const o=((n=(await ye.getExchangeRatio({env:a})).LBTC)==null?void 0:n.BTCTokenRatio)||new w(1);return new w(e).dividedBy(o)}catch{throw new Error("Failed to get exchange ratio for stake and bake")}}async function ke({account:e,expiry:a=_.toUnix(_.now()+_.DAY),value:n,vaultKey:t=S.DefiProtocol.Veda,token:o="BTC",chainId:u,provider:i,rpcUrl:p,env:s=$.p}){const d=K(t,o,u,s),l=d.spenderContract.address,c=d.amountStrategy==="btcToLbtc"?await ve(n,s):new w(n),T=await Me(o,u,s),m=T.address,b=T.abi,f=d.approval.deadlineStrategy==="zero"?0n:BigInt(a),M=d.approval.nonceStrategy==="chain"?BigInt(await te({owner:e,chainId:u,rpcUrl:p,env:s})):0n,C=Ae({mode:d.approval.mode,account:e,chainId:u,verifyingContract:m,domainName:d.approval.domainName,domainVersion:d.approval.domainVersion,spender:l,value:BigInt(c.toFixed(0,w.ROUND_DOWN)),nonce:M,deadline:f});return d.approval.mode==="approve"?ge({account:e,chainId:u,provider:i,rpcUrl:p,tokenAddress:m,tokenAbi:b,spenderAddress:l,typedData:C,requiredAmount:BigInt(c.toFixed(0,w.ROUND_DOWN))}):he({chainId:u,provider:i,typedData:C})}async function se({tokenAddress:e,amount:a,tokenDecimals:n,receiver:t,minimumMint:o=0,account:u,chainId:i,provider:p,rpcUrl:s}){if(!h.isAddress(e,{strict:!1}))throw new Error(`Invalid token address: ${e}`);if(!A.isBtceVaultChain(i))throw new Error(`BTCe is not supported on chain ${i}. Supported chains: ${A.BTCE_VAULT.chains.join(", ")}.`);const d=w(a);if(!d.isGreaterThan(0))throw new Error(`Wrap amount must be greater than zero. Received: ${d.toFixed()}.`);const l=I.toBigInt(y.toBaseDenomination(d,n)),c=I.toBigInt(y.toBaseDenomination(w(o),A.BTCE_VAULT_DECIMALS)),T=y.makePublicClient({chainId:i,rpcUrl:s}),m=r.makeWalletClient({provider:p,chainId:i});try{const{request:b}=await T.simulateContract({account:u,chain:r.CHAIN_ID_TO_VIEM_CHAIN_MAP[i],abi:A.BTCE_VAULT.abi,address:A.BTCE_VAULT.contracts[i],functionName:"deposit",args:[e,l,t??u,c]});return await m.writeContract(b)}catch(b){const f=y.getErrorMessage(b);throw new Error(f)}}async function De({token:e=r.Token.LBTC,amount:a,receiver:n,minimumMint:t=0,approve:o=!0,account:u,chainId:i,provider:p,rpcUrl:s,env:d}){if(!A.isBtceVaultChain(i))throw new Error(`BTCe is not supported on chain ${i}. Supported chains: ${A.BTCE_VAULT.chains.join(", ")}.`);const l=w(a);if(!l.isGreaterThan(0))throw new Error(`Deposit amount must be greater than zero. Received: ${l.toFixed()}.`);const c=await y.getTokenInfo(e,i,d,s);if(!c)throw new Error(`Could not resolve token info for ${e} on chain ${i}.`);const T=y.makePublicClient({chainId:i,rpcUrl:s}),m=r.makeWalletClient({provider:p,chainId:i}),b=A.BTCE_VAULT.contracts[i],f=I.toBigInt(y.toBaseDenomination(l,c.decimals));if(await T.readContract({address:c.address,abi:h.erc20Abi,functionName:"allowance",args:[u,b]})<f){if(!o)throw new Error(`Deposit amount ${l.toFixed()} exceeds allowance for ${e} -> BTCe. Re-run with approve: true or pre-approve the BTCe contract.`);try{const{request:C}=await T.simulateContract({account:u,chain:r.CHAIN_ID_TO_VIEM_CHAIN_MAP[i],address:c.address,abi:h.erc20Abi,functionName:"approve",args:[b,f]}),D=await m.writeContract(C);await T.waitForTransactionReceipt({hash:D})}catch(C){throw new Error(`Approval of ${e} for BTCe failed: ${y.getErrorMessage(C)}`)}}return se({tokenAddress:c.address,amount:l,tokenDecimals:c.decimals,receiver:n,minimumMint:t,account:u,chainId:i,provider:p,rpcUrl:s})}class g extends Error{constructor(a,n,t){super(n),this.code=a,this.context=t,this.name="SignerError"}}function z(e,a="transaction"){if(!e.from)throw new g("MISSING_FROM_ADDRESS",`Missing 'from' address for ${a}`,{transaction:e,operation:a});if(!e.to)throw new g("MISSING_TO_ADDRESS",`Missing 'to' address for ${a}`,{transaction:e,operation:a});if(e.data!==void 0&&!h.isHex(e.data))throw new g("INVALID_DATA",`Transaction data must be valid hex string for ${a}`,{transaction:e,operation:a,data:e.data});if(e.chainId&&!/^0x[0-9a-fA-F]+$/.test(e.chainId))throw new g("INVALID_CHAIN_ID",`Chain ID must be a hex string (e.g., "0x1") for ${a}`,{transaction:e,operation:a,chainId:e.chainId})}function ie(e,a,n){const t=r.CHAIN_ID_TO_VIEM_CHAIN_MAP[n];if(!t)throw new g("UNSUPPORTED_CHAIN",`Chain ID ${n} is not supported`,{chainId:n,availableChains:Object.keys(r.CHAIN_ID_TO_VIEM_CHAIN_MAP)});return{address:a,type:"local",publicKey:"0x0000000000000000000000000000000000000000000000000000000000000000",source:"custom",async signTransaction(u){const i={from:a,to:u.to??void 0,data:u.data,value:u.value,gas:u.gas,maxFeePerGas:u.maxFeePerGas,maxPriorityFeePerGas:u.maxPriorityFeePerGas,chainId:u.chainId?`0x${u.chainId.toString(16)}`:`0x${t.id.toString(16)}`,nonce:u.nonce};z(i,"signTransaction");let p;if(await e.sign(i,async s=>(p=s,s)),!p)throw new g("SIGNING_FAILED","Signer did not return a signed transaction",{transaction:i});return p},async signMessage(){throw new g("NOT_IMPLEMENTED","Message signing is not supported by this adapter",{method:"signMessage"})},async signTypedData(){throw new g("NOT_IMPLEMENTED","Typed data signing is not supported by this adapter",{method:"signTypedData"})}}}function Ee(e,a,n){const t=r.CHAIN_ID_TO_VIEM_CHAIN_MAP[n];if(!t)throw new g("UNSUPPORTED_CHAIN",`Chain ID ${n} is not supported`,{chainId:n});const o=ie(e,a,n);return h.createWalletClient({account:o,chain:t,transport:h.http()})}async function U({params:e,publicClient:a,walletClient:n,simulateArgs:t,operation:o}){if(!_.isProviderFlow(e)&&!_.isSignerFlow(e))throw new g("INVALID_PARAMETERS",'Must provide either "provider" or "signer" in parameters',{params:e,operation:o});let u;try{u=await a.simulateContract(t)}catch(s){throw new g("SIMULATION_FAILED",`Failed to simulate ${o} transaction: ${s instanceof Error?s.message:"Unknown error"}`,{operation:o,simulateArgs:t,error:s instanceof Error?s.message:String(s)})}const{request:i}=u;if(!i.account)throw new g("INVALID_SIMULATION",`Simulation succeeded but no account was set for ${o}`,{operation:o,request:i});if(!i.address)throw new g("INVALID_SIMULATION",`Simulation succeeded but no target address was set for ${o}`,{operation:o,request:i});let p;if(_.isProviderFlow(e)){if(!n)throw new g("MISSING_WALLET_CLIENT","Provider flow requires a wallet client",{operation:o,params:e});try{p=await n.writeContract(i)}catch(s){throw new g("PROVIDER_TRANSACTION_FAILED",`Failed to execute ${o} via provider: ${s instanceof Error?s.message:"Unknown error"}`,{operation:o,request:i,error:s instanceof Error?s.message:String(s)})}}else try{const s=r.CHAIN_ID_TO_VIEM_CHAIN_MAP[e.chainId];if(!s)throw new g("UNSUPPORTED_CHAIN",`Chain ${e.chainId} not supported`,{chainId:e.chainId});const d=h.encodeFunctionData({abi:t.abi,functionName:t.functionName,args:t.args}),l={from:e.account,to:i.address,data:d,value:i.value,gas:i.gas,maxFeePerGas:i.maxFeePerGas,maxPriorityFeePerGas:i.maxPriorityFeePerGas,chainId:`0x${s.id.toString(16)}`};z(l,o),p=await e.signer.sign(l,async c=>await a.sendRawTransaction({serializedTransaction:c}))}catch(s){throw new g("SIGNER_TRANSACTION_FAILED",`Failed to execute ${o} via signer: ${s instanceof Error?s.message:"Unknown error"}`,{operation:o,request:i,error:s instanceof Error?s.message:String(s)})}return{txHash:p,request:i}}async function re(e,a,n){try{const t=await e.waitForTransactionReceipt({hash:a});if(t.status==="reverted")throw new g("TRANSACTION_REVERTED",`${n} transaction reverted`,{operation:n,txHash:a,receipt:{blockNumber:t.blockNumber,gasUsed:t.gasUsed}});return t}catch(t){throw t instanceof g?t:new g("RECEIPT_WAIT_FAILED",`Failed to wait for ${n} transaction receipt: ${t instanceof Error?t.message:"Unknown error"}`,{operation:n,txHash:a,error:t instanceof Error?t.message:String(t)})}}const Y="0xe288fb4a",Z="0x155b6b13",Re={type:"function",name:"MessageV1",inputs:[{name:"msgPath",type:"bytes32"},{name:"msgNonce",type:"uint256"},{name:"msgSender",type:"bytes32"},{name:"msgRecipient",type:"bytes32"},{name:"msgDestinationCaller",type:"bytes32"},{name:"msgBody",type:"bytes"}]},xe={type:"function",name:"mint",inputs:[{name:"toToken",type:"bytes32"},{name:"recipient",type:"bytes32"},{name:"amount",type:"uint256"}]};function _e(e){if(!e.startsWith("0x"))throw new Error("Payload must be 0x-prefixed hex");const a=e.slice(0,10);if(a.toLowerCase()!==Y.toLowerCase())throw new Error(`Invalid GMP selector: expected ${Y}, got ${a}`);const n=h.decodeFunctionData({abi:[Re],data:e});if(!n.args)throw new Error("Failed to decode GMP payload: args is undefined");const t=n.args[0],o=n.args[1],u=n.args[2],i=n.args[3],p=n.args[4],s=n.args[5];if(typeof s!="string"||!s.startsWith("0x"))throw new Error("msgBody is not valid hex");const d=s.slice(0,10);if(d.toLowerCase()!==Z.toLowerCase())throw new Error(`Invalid mint selector in body: expected ${Z}, got ${d}`);const l=h.decodeFunctionData({abi:[xe],data:s});if(!l.args)throw new Error("Failed to decode mint body: args is undefined");const c=l.args[0],T=l.args[1],m=l.args[2];return{selector:a,msgPath:t,msgNonce:o,msgSender:u,msgRecipient:i,msgDestinationCaller:p,rawBody:s,mint:{selector:d,toToken:c,recipient:T,amount:m}}}function Ie(e,a){const{msgNonce:n,mint:t}=e,o=h.encodeAbiParameters([{name:"nonce",type:"uint256"},{name:"chainId",type:"uint256"},{name:"recipient",type:"bytes32"},{name:"toToken",type:"bytes32"},{name:"amount",type:"uint256"}],[BigInt(n),BigInt(a),t.recipient,t.toToken,BigInt(t.amount)]);return h.keccak256(o)}const Be=[{inputs:[{internalType:"address",name:"aDefaultAdmin",type:"address"},{internalType:"address",name:"aPauser",type:"address"},{internalType:"address",name:"aMintReporter",type:"address"},{internalType:"address",name:"aMintValidator",type:"address"},{internalType:"uint256",name:"aMaxMints",type:"uint256"},{internalType:"address",name:"aTrustedSigner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AccessControlBadConfirmation",type:"error"},{inputs:[{internalType:"uint48",name:"schedule",type:"uint48"}],name:"AccessControlEnforcedDefaultAdminDelay",type:"error"},{inputs:[],name:"AccessControlEnforcedDefaultAdminRules",type:"error"},{inputs:[{internalType:"address",name:"defaultAdmin",type:"address"}],name:"AccessControlInvalidDefaultAdmin",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"bytes32",name:"neededRole",type:"bytes32"}],name:"AccessControlUnauthorizedAccount",type:"error"},{inputs:[{internalType:"bytes32",name:"mintID",type:"bytes32"},{internalType:"uint256",name:"mintAmount",type:"uint256"}],name:"AlreadyMinted",type:"error"},{inputs:[],name:"BadMintProofsSize",type:"error"},{inputs:[],name:"BadMintReport",type:"error"},{inputs:[{internalType:"uint256",name:"index",type:"uint256"},{internalType:"bytes32",name:"mintID",type:"bytes32"},{internalType:"bytes",name:"proof",type:"bytes"}],name:"BadProof",type:"error"},{inputs:[],name:"EnforcedPause",type:"error"},{inputs:[],name:"ExpectedPause",type:"error"},{inputs:[{internalType:"bytes32",name:"mintID",type:"bytes32"},{internalType:"uint256",name:"mintAmount",type:"uint256"}],name:"MintFailedValidation",type:"error"},{inputs:[{internalType:"bytes32",name:"mintID",type:"bytes32"}],name:"NotReported",type:"error"},{inputs:[{internalType:"uint8",name:"bits",type:"uint8"},{internalType:"uint256",name:"value",type:"uint256"}],name:"SafeCastOverflowedUintDowncast",type:"error"},{inputs:[],name:"SameValidationThreshold",type:"error"},{inputs:[],name:"ZeroTrustedAddress",type:"error"},{anonymous:!1,inputs:[],name:"DefaultAdminDelayChangeCanceled",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint48",name:"newDelay",type:"uint48"},{indexed:!1,internalType:"uint48",name:"effectSchedule",type:"uint48"}],name:"DefaultAdminDelayChangeScheduled",type:"event"},{anonymous:!1,inputs:[],name:"DefaultAdminTransferCanceled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newAdmin",type:"address"},{indexed:!1,internalType:"uint48",name:"acceptSchedule",type:"uint48"}],name:"DefaultAdminTransferScheduled",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"numMints",type:"uint256"}],name:"MaxMintsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"mintID",type:"bytes32"}],name:"MintAlreadyReportedOrProcessed",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"mintID",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"mintAmount",type:"uint256"}],name:"MintNotValidated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"mintID",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"mintAmount",type:"uint256"}],name:"MintValidated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"reportId",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"numMints",type:"uint256"}],name:"MintsReported",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"trustedSigner",type:"address"}],name:"TrustedSignerUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"oldThreshold",type:"uint256"},{indexed:!1,internalType:"uint256",name:"newThreshold",type:"uint256"}],name:"UpdateValidateThreshold",type:"event"},{inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"MINT_REPORTER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"MINT_VALIDATOR_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"PAUSER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"VALIDATION_GUARDIAN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"acceptDefaultAdminTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAdmin",type:"address"}],name:"beginDefaultAdminTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"cancelDefaultAdminTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint48",name:"newDelay",type:"uint48"}],name:"changeDefaultAdminDelay",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"defaultAdmin",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"defaultAdminDelay",outputs:[{internalType:"uint48",name:"",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[],name:"defaultAdminDelayIncreaseWait",outputs:[{internalType:"uint48",name:"",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"maxMints",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"mintID",type:"bytes32"}],name:"mintHistory",outputs:[{components:[{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct IGMPBascule.Message",name:"msg",type:"tuple"},{internalType:"enum GMPBasculeV1.MintState",name:"status",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"pendingDefaultAdmin",outputs:[{internalType:"address",name:"newAdmin",type:"address"},{internalType:"uint48",name:"schedule",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[],name:"pendingDefaultAdminDelay",outputs:[{internalType:"uint48",name:"newDelay",type:"uint48"},{internalType:"uint48",name:"schedule",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"reportId",type:"bytes32"},{components:[{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct IGMPBascule.Message[]",name:"mints",type:"tuple[]"},{internalType:"bytes[]",name:"proofs",type:"bytes[]"}],name:"reportMints",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"rollbackDefaultAdminDelay",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"aMaxMints",type:"uint256"}],name:"setMaxMints",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"aTrustedSigner",type:"address"}],name:"setTrustedSigner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"trustedSigner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"newThreshold",type:"uint256"}],name:"updateValidateThreshold",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct IGMPBascule.Message",name:"mintMsg",type:"tuple"}],name:"validateMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"validateThreshold",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],Ne=JSON.parse('[{"inputs":[{"internalType":"address","name":"aDefaultAdmin","type":"address"},{"internalType":"address","name":"aPauser","type":"address"},{"internalType":"address","name":"aDepositReporter","type":"address"},{"internalType":"address","name":"aWithdrawalValidator","type":"address"},{"internalType":"uint256","name":"aMaxDeposits","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"uint48","name":"schedule","type":"uint48"}],"name":"AccessControlEnforcedDefaultAdminDelay","type":"error"},{"inputs":[],"name":"AccessControlEnforcedDefaultAdminRules","type":"error"},{"inputs":[{"internalType":"address","name":"defaultAdmin","type":"address"}],"name":"AccessControlInvalidDefaultAdmin","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"bytes32","name":"depositID","type":"bytes32"}],"name":"AlreadyReported","type":"error"},{"inputs":[{"internalType":"bytes32","name":"depositID","type":"bytes32"},{"internalType":"uint256","name":"withdrawalAmount","type":"uint256"}],"name":"AlreadyWithdrawn","type":"error"},{"inputs":[],"name":"BadDepositReport","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[],"name":"SameValidationThreshold","type":"error"},{"inputs":[{"internalType":"bytes32","name":"depositID","type":"bytes32"},{"internalType":"uint256","name":"withdrawalAmount","type":"uint256"}],"name":"WithdrawalFailedValidation","type":"error"},{"anonymous":false,"inputs":[],"name":"DefaultAdminDelayChangeCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint48","name":"newDelay","type":"uint48"},{"indexed":false,"internalType":"uint48","name":"effectSchedule","type":"uint48"}],"name":"DefaultAdminDelayChangeScheduled","type":"event"},{"anonymous":false,"inputs":[],"name":"DefaultAdminTransferCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAdmin","type":"address"},{"indexed":false,"internalType":"uint48","name":"acceptSchedule","type":"uint48"}],"name":"DefaultAdminTransferScheduled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"reportId","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"numDeposits","type":"uint256"}],"name":"DepositsReported","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"numDeposits","type":"uint256"}],"name":"MaxDepositsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newThreshold","type":"uint256"}],"name":"UpdateValidateThreshold","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"depositID","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"withdrawalAmount","type":"uint256"}],"name":"WithdrawalNotValidated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"depositID","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"withdrawalAmount","type":"uint256"}],"name":"WithdrawalValidated","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEPOSIT_REPORTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAUSER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"VALIDATION_GUARDIAN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WITHDRAWAL_VALIDATOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptDefaultAdminTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"beginDefaultAdminTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cancelDefaultAdminTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint48","name":"newDelay","type":"uint48"}],"name":"changeDefaultAdminDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"defaultAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"defaultAdminDelay","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"defaultAdminDelayIncreaseWait","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"depositID","type":"bytes32"}],"name":"depositHistory","outputs":[{"internalType":"enum Bascule.DepositState","name":"status","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxDeposits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingDefaultAdmin","outputs":[{"internalType":"address","name":"newAdmin","type":"address"},{"internalType":"uint48","name":"schedule","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingDefaultAdminDelay","outputs":[{"internalType":"uint48","name":"newDelay","type":"uint48"},{"internalType":"uint48","name":"schedule","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"reportId","type":"bytes32"},{"internalType":"bytes32[]","name":"depositIDs","type":"bytes32[]"}],"name":"reportDeposits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rollbackDefaultAdminDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"aMaxDeposits","type":"uint256"}],"name":"setMaxDeposits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newThreshold","type":"uint256"}],"name":"updateValidateThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"validateThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"depositID","type":"bytes32"},{"internalType":"uint256","name":"withdrawalAmount","type":"uint256"}],"name":"validateWithdrawal","outputs":[],"stateMutability":"nonpayable","type":"function"}]');var L=(e=>(e[e.UNREPORTED=0]="UNREPORTED",e[e.REPORTED=1]="REPORTED",e[e.WITHDRAWN=2]="WITHDRAWN",e))(L||{});async function oe({deposit:e,rawPayload:a,provider:n,chainId:t,rpcUrl:o,env:u=$.p,token:i=r.Token.LBTC}){const p=(e==null?void 0:e.rawPayload)||a;if(!p)throw new Error("No 'rawPayload' or 'deposit' data provided. Please provide 'rawPayload' or 'deposit' parameter.");const s=y.makePublicClient({chainId:t,rpcUrl:o,env:u}),d=await y.getTokenContractInfo(i,t,u,r.AddressKind.Adapter);let l;if(i===r.Token.BTCb&&(t===r.ChainId.avalanche||t===r.ChainId.avalancheFuji))l=await s.readContract({abi:d.abi,address:d.address,functionName:"getBascule"});else if(y.isUpgradedAbi(d.abi)&&i===r.Token.LBTC){const m=await s.readContract({abi:d.abi,address:d.address,functionName:"getAssetRouter"});l=await s.readContract({abi:P,address:m,functionName:"bascule"})}else l=await s.readContract({abi:d.abi,address:d.address,functionName:"Bascule"});if(l===h.zeroAddress)return 1;let c;if(n?c=r.makeWalletClient({provider:n,chainId:t}):c=y.makePublicClient({chainId:t,rpcUrl:o}),!c)throw new Error("Could not determine the client for the contract interactions. Please provide the 'provider' and 'chainId' parameters or 'chainId' and optionally the 'rpcUrl' parameter.");const T=(r.isKatanaChain(t)||r.isMonadChain(t)||r.isEthereumChain(t)||r.isStableChain(t)||r.isMegaethChain(t))&&i===r.Token.LBTC;try{if(T){const M=p.startsWith("0x")?p:`0x${p}`,C=_e(M),D=Ie(C,t),[,R]=await s.readContract({abi:Be,address:l,functionName:"mintHistory",args:[D]});return R}const m=h.keccak256(Buffer.from(p.slice(8),"hex"));return await h.getContract({abi:Ne,address:l,client:s}).read.depositHistory([m])}catch(m){throw new Error(y.getErrorMessage(m))}}async function Pe({account:e,token:a,spender:n,amount:t,chainId:o,provider:u,rpcUrl:i,env:p}){const s=y.makePublicClient({chainId:o,rpcUrl:i,env:p}),d=r.makeWalletClient({chainId:o,provider:u}),l=await y.getTokenInfo(a,o,p,i);if(!l)throw new Error(`Token info not found for ${a} on chain ${o}`);const c=I.toBigInt(y.toBaseDenomination(w(t),l.decimals)),{request:T}=await s.simulateContract({address:l.address,account:e,chain:r.CHAIN_ID_TO_VIEM_CHAIN_MAP[o],abi:l.abi,functionName:"approve",args:[n,c]});return await d.writeContract(T)}async function Se({token:e,owner:a,spender:n,chainId:t,rpcUrl:o,env:u}){const i=y.makePublicClient({chainId:t,rpcUrl:o,env:u}),p=await y.getTokenInfo(e,t,u,o);if(!p)throw new Error(`Token info not found for ${e} on chain ${t}`);const s=await i.readContract({address:p.address,abi:p.abi,functionName:"allowance",args:[a,n]});return y.fromBaseDenomination(s.toString(),p.decimals)}const V=async(e,a,n)=>{const t=await e.estimateFeesPerGas(),o=w(String(t.maxFeePerGas)).dividedBy(String(t.maxPriorityFeePerGas)),u=n||t.maxPriorityFeePerGas,i=n?BigInt(w(String(u)).multipliedBy(o).toFixed(0)):t.maxFeePerGas;return{gas:await e.estimateContractGas(a),maxFeePerGas:i,maxPriorityFeePerGas:u}};async function ue({data:e,proofSignature:a,account:n,chainId:t,provider:o,rpcUrl:u,env:i,token:p=r.Token.LBTC}){if(![r.Token.LBTC,r.Token.BTCK,r.Token.BTCb].includes(p))throw new Error("Unsupported token");if(p===r.Token.BTCK&&!r.isKatanaChain(t))throw new Error("Operation not permitted");const s=await y.getTokenContractInfo(p,t,i,r.AddressKind.Adapter),d=await oe({chainId:t,rawPayload:e,env:i,token:p});if(d!==L.REPORTED)switch(d){case L.UNREPORTED:throw new Error("The deposit cannot be claimed because it is unreported or potentially still pending, please try again later.");case L.WITHDRAWN:throw new Error("The deposit cannot be claimed because it is withdrawn already.");default:throw new Error("The deposit cannot be claimed because it is blocked by bridge security.")}const l=y.makePublicClient({chainId:t,rpcUrl:u,env:i}),c=r.makeWalletClient({chainId:t,provider:o}),T={address:s.address,account:n,chain:r.CHAIN_ID_TO_VIEM_CHAIN_MAP[t],abi:s.abi,functionName:p===r.Token.BTCK||p===r.Token.BTCb?"mintV1":"mint",args:[Q.ensureHex(e),Q.ensureHex(a)]},m=r.isKatanaChain(t)?await V(l,T,h.parseGwei("1")):{},{request:b}=await l.simulateContract({...T,...m});return await c.writeContract(b)}async function Fe({data:e,proofSignature:a,account:n,chainId:t,provider:o,rpcUrl:u,env:i}){return ue({data:e,proofSignature:a,account:n,chainId:t,provider:o,rpcUrl:u,env:i,token:r.Token.LBTC})}const Le=[{tokenIn:r.Token.BTCb,tokenOut:r.Token.LBTC}];async function $e({tokenIn:e,chainId:a,env:n,rpcUrl:t}){const o=y.makePublicClient({chainId:a,rpcUrl:t,env:n}),u=await y.getTokenContractInfo(e,a,n,r.AddressKind.Adapter);return await o.readContract({address:u.address,abi:u.abi,functionName:"getAssetRouter"})}async function Oe({account:e,amount:a,chainId:n,env:t,provider:o,rpcUrl:u,tokenIn:i=r.Token.BTCb,tokenOut:p=r.Token.LBTC}){if(!Le.find(N=>N.tokenIn===i&&N.tokenOut===p))throw new y.UnsupportedTokenFlow(i,p,n,t);const d=y.makePublicClient({chainId:n,rpcUrl:u,env:t}),l=r.makeWalletClient({provider:o,chainId:n}),c=await y.getTokenContractInfo(i,n,t,r.AddressKind.Adapter),T=await y.getTokenContractInfo(i,n,t,r.AddressKind.Token),m=await y.getTokenContractInfo(p,n,t,r.AddressKind.Token),b=await y.retrieveTokenProperties(d,T);if(!b)throw new Error(`Could not retrieve the properties of ${i} on ${n}`);const f=await d.readContract({address:c.address,abi:c.abi,functionName:"getAssetRouter"}),M=w(a),C=I.toBigInt(y.toBaseDenomination(M,b.decimals)),D=await d.readContract({address:b.address,abi:b.abi,functionName:"balanceOf",args:[e]}),R=y.fromBaseDenomination(D,b.decimals);if(M.isGreaterThan(R))throw new Error(`Unable to deposit ${M.toString()} ${b.symbol} because the amount exceeds the account's balance of ${R.toString()} ${b.symbol}`);return await l.writeContract({address:f,abi:P,chain:r.CHAIN_ID_TO_VIEM_CHAIN_MAP[n],functionName:"deposit",args:[e,m.address,C],account:e})}const Ue=[{tokenIn:r.Token.LBTC},{tokenIn:r.Token.BTCb},{tokenIn:r.Token.BTCK},{tokenIn:r.Token.LBTC,tokenOut:r.Token.BTCb},{tokenIn:r.Token.LBTC,tokenOut:r.Token.BTCK}];async function pe(e){const{account:a,amount:n,btcAddress:t,chainId:o,env:u,rpcUrl:i,tokenIn:p=r.Token.LBTC,tokenOut:s}=e;if(!Ue.find(E=>E.tokenIn===p&&E.tokenOut===s))throw new y.UnsupportedTokenFlow(p,s||"BTC",o,u);const l=y.makePublicClient({chainId:o,rpcUrl:i,env:u}),c=_.isProviderFlow(e)?r.makeWalletClient({provider:e.provider,chainId:o}):void 0,T=await y.getTokenContractInfo(p,o,u,r.AddressKind.Token),m=await y.retrieveTokenProperties(l,T);if(!m)throw new Error(`Could not retrieve the properties of ${p} on ${o}`);const b=y.toBaseDenomination(n,m.decimals),f=await l.readContract({address:m.address,abi:m.abi,functionName:"balanceOf",args:[a]}),M=y.fromBaseDenomination(f,m.decimals);if(b.isGreaterThan(f))throw new Error(`Unable to redeem ${String(n)} ${m.symbol} because the amount exceeds the account's balance of ${M.toString()} ${m.symbol}`);if(!s){if(!t)throw new Error("Missing parameter: `btcAddress`.");const E=await $.d(t,u);if(p===r.Token.BTCb&&(o===r.ChainId.avalanche||o===r.ChainId.avalancheFuji)){const k=await y.getTokenContractInfo(p,o,u,r.AddressKind.Adapter),x=await l.readContract({address:k.address,abi:k.abi,functionName:"getAssetRouter"}),W=await l.readContract({address:m.address,abi:m.abi,functionName:"allowance",args:[a,k.address]});if(b.isGreaterThan(W)){const{txHash:v}=await U({params:e,publicClient:l,walletClient:c,simulateArgs:{address:m.address,abi:m.abi,account:a,functionName:"approve",args:[k.address,I.toBigInt(b)]},operation:"BTC.b approval"}),j=await re(l,v,"BTC.b approval");console.info(`Approved adapter (${k.address}) for ${new w(n).toString()} ${m.symbol}`,j.transactionHash,j.status)}const{txHash:G}=await U({params:e,publicClient:l,walletClient:c,simulateArgs:{address:x,abi:P,account:a,functionName:"redeemForBtc",args:[a,k.address,E,I.toBigInt(b)]},operation:"BTC.b redeemForBtc"});return G}const N={abi:m.abi,address:m.address,account:a,chain:r.CHAIN_ID_TO_VIEM_CHAIN_MAP[o],functionName:y.isUpgradedAbi(m.abi)||p===r.Token.BTCb?"redeemForBtc":"redeem",args:[E,I.toBigInt(b)]},F=r.isKatanaChain(o)?await V(l,N,h.parseGwei("1")):{},{txHash:B}=await U({params:e,publicClient:l,walletClient:c,simulateArgs:{...N,account:a,...F},operation:`${p} redeem to BTC`});return B}if(!y.isUpgradedAbi(m.abi))throw new Error(`The ${p} contract (${m.address}) doesn't support redemptions to ${s}.`);const C={abi:m.abi,address:m.address,account:a,chain:r.CHAIN_ID_TO_VIEM_CHAIN_MAP[o],functionName:"redeem",args:[I.toBigInt(b)]},D=r.isKatanaChain(o)?await V(l,C,h.parseGwei("1")):{},{txHash:R}=await U({params:e,publicClient:l,walletClient:c,simulateArgs:{...C,account:a,...D},operation:`${p} redeem to ${s}`});return R}async function Ve(e){return pe({...e,tokenIn:r.Token.LBTC,tokenOut:void 0})}async function He({amount:e,approve:a=!0,token:n=r.Token.LBTC,account:t,chainId:o,provider:u,rpcUrl:i,env:p}){const s=A.EARN_VAULT;if(!A.isEarnChain(o))throw new Error(`Unsupported chain id: ${o}. Please switch to one of the supported chains: ${s.chains.join(", ")}`);const d=y.makePublicClient({chainId:o,rpcUrl:i}),l=r.makeWalletClient({provider:u,chainId:o}),c=await y.getTokenInfo(n,o,p,i);if(!c)throw new Error(`Unknown withdraw token: ${n}`);const T=w(e),m=I.toBigInt(y.toBaseDenomination(T,s.decimals)),b=await d.readContract({address:s.lensContract.address,abi:s.lensContract.abi,functionName:"balanceOf",args:[t,s.vaultContract.address]}),f=y.fromBaseDenomination(String(b),s.decimals),M=await d.readContract({address:s.vaultContract.address,abi:s.vaultContract.abi,functionName:"allowance",args:[t,s.withdrawQueueContracts[o].address]}),C=y.fromBaseDenomination(String(M),s.decimals);if(T.isGreaterThan(f))throw new Error(`The withdraw amount exceeds the account's balance.
2
+ Withdraw amount: ${T.toFixed()}
3
+ Balance: ${f.toFixed()}`);if(T.isGreaterThan(C)){const F=`The withdraw amount exceeds allowance.
4
+ Withdraw amount: ${T.toFixed()}
5
+ Allowance: ${C.toFixed()}`;if(!a)throw new Error(F);try{console.info(`Trying to approve ${m}`);const{request:B}=await d.simulateContract({account:t,chain:r.CHAIN_ID_TO_VIEM_CHAIN_MAP[o],address:s.vaultContract.address,abi:s.vaultContract.abi,functionName:"approve",args:[s.withdrawQueueContracts[o].address,m]}),k=await l.writeContract(B);console.info(`Approve tx hash: ${k}`),console.info(`Approved ${m} for ${s.vaultContract.address}`)}catch(B){const k=y.getErrorMessage(B);throw new Error(`Could not approve ${m} for ${s.vaultContract.address}.
6
+ Reason: ${k}`)}}const D=w(Date.now()).dividedBy(1e3).plus(w(s.queueWithdrawDaysValid).multipliedBy(_.DAY/1e3)).decimalPlaces(0,w.ROUND_DOWN),R=w(s.queueWithdrawDiscountPercent).multipliedBy(1e4),{request:E}=await d.simulateContract({account:t,chain:r.CHAIN_ID_TO_VIEM_CHAIN_MAP[o],address:s.withdrawQueueContracts[o].address,abi:s.withdrawQueueContracts[o].abi,functionName:"safeUpdateAtomicRequest",args:[s.vaultContract.address,c.address,[D.toFixed(0),0n,m,!1],s.accountantContract.address,R.toFixed(0)]});return await l.writeContract(E)}async function We({token:e=r.Token.LBTC,account:a,chainId:n,provider:t,rpcUrl:o,env:u}){const i=A.EARN_VAULT;if(!A.isEarnChain(n))throw new Error(`Unsupported chain id: ${n}. Please switch to one of the supported chains: ${i.chains.join(", ")}`);const p=y.makePublicClient({chainId:n,rpcUrl:o}),s=r.makeWalletClient({provider:t,chainId:n}),d=await y.getTokenInfo(e,n,u,o);if(!d)throw new Error(`Unknown withdraw token: ${e}`);const{request:l}=await p.simulateContract({account:a,chain:r.CHAIN_ID_TO_VIEM_CHAIN_MAP[n],address:i.withdrawQueueContracts[n].address,abi:i.withdrawQueueContracts[n].abi,functionName:"updateAtomicRequest",args:[i.vaultContract.address,d.address,[0,0,0,!1]]});return await s.writeContract(l)}async function Ge({amount:e,withdrawalAsset:a=r.Token.LBTC,account:n,chainId:t,provider:o,rpcUrl:u,env:i}){if(!A.isEarnChain(t))throw new Error(`Unsupported chain ${t}. Earn withdrawals are supported on: ${A.EARN_VAULT.chains.join(", ")}.`);const p=w(e);if(!p.isGreaterThan(0))throw new Error(`Withdraw amount must be greater than zero. Received: ${p.toFixed()}.`);const s=A.EARN_VAULT,d=s.vaultContract.address,l=s.accountantContract.address,c=s.lensContract.address,T=s.withdrawQueueContracts[t].address,m=s.withdrawQueueContracts[t].abi,b=await y.getTokenInfo(a,t,i,u);if(!b)throw new Error(`Could not resolve withdrawal asset ${a} on chain ${t}.`);const f=y.makePublicClient({chainId:t,rpcUrl:u}),M=r.makeWalletClient({provider:o,chainId:t}),C=I.toBigInt(y.toBaseDenomination(p,s.decimals)),D=A.isBtceVaultChain(t),R=await Promise.all([f.readContract({address:c,abi:s.lensContract.abi,functionName:"balanceOf",args:[n,d]}),D?f.readContract({address:A.BTCE_VAULT.contracts[t],abi:A.BTCE_VAULT.abi,functionName:"balanceOf",args:[n]}):Promise.resolve(0n),f.readContract({address:d,abi:h.erc20Abi,functionName:"allowance",args:[n,T]})]),E=R[0],N=R[1],F=R[2];if(C>E+N)throw new Error(`InsufficientPositionError: requested ${p.toFixed()} exceeds total position. underlyingBalance=${E.toString()}, btceBalance=${N.toString()}, amount=${C.toString()}.`);const B=C>E?C-E:0n;let k=0n;if(D&&B>0n){const v=await f.readContract({address:A.BTCE_VAULT.contracts[t],abi:A.BTCE_VAULT.abi,functionName:"maxWithdraw",args:[n]});if(v<B)throw new Error(`InsufficientUnwrappableError: needed ${B.toString()} but BTCe.maxWithdraw(${n}) returned ${v.toString()}. The wrapper position may have shrunk between balance read and unwrap. No transactions sent.`);k=B}const x={queueTxHash:"0x"};if(F<C)try{const{request:v}=await f.simulateContract({account:n,chain:r.CHAIN_ID_TO_VIEM_CHAIN_MAP[t],address:d,abi:h.erc20Abi,functionName:"approve",args:[T,h.maxUint256]});x.approveTxHash=await M.writeContract(v),await f.waitForTransactionReceipt({hash:x.approveTxHash})}catch(v){throw new Error(`Approval of underlying share for withdraw queue failed: ${y.getErrorMessage(v)}`)}if(k>0n&&D)try{const{request:v}=await f.simulateContract({account:n,chain:r.CHAIN_ID_TO_VIEM_CHAIN_MAP[t],address:A.BTCE_VAULT.contracts[t],abi:A.BTCE_VAULT.abi,functionName:"withdraw",args:[k,n,n]});x.unwrapTxHash=await M.writeContract(v),await f.waitForTransactionReceipt({hash:x.unwrapTxHash})}catch(v){throw new Error(`Unwrap from BTCe to underlying share failed: ${y.getErrorMessage(v)}. Approval${x.approveTxHash?` (${x.approveTxHash})`:""} may already be in place.`)}const W=w(Date.now()).dividedBy(1e3).plus(w(s.queueWithdrawDaysValid).multipliedBy(_.DAY/1e3)).decimalPlaces(0,w.ROUND_DOWN),G=w(s.queueWithdrawDiscountPercent).multipliedBy(1e4);try{const{request:v}=await f.simulateContract({account:n,chain:r.CHAIN_ID_TO_VIEM_CHAIN_MAP[t],address:T,abi:m,functionName:"safeUpdateAtomicRequest",args:[d,b.address,[BigInt(W.toFixed(0)),0n,C,!1],l,BigInt(G.toFixed(0))]});x.queueTxHash=await M.writeContract(v)}catch(v){throw new Error(`Queue withdrawal failed: ${y.getErrorMessage(v)}. Prior steps may have completed: approve=${x.approveTxHash??"n/a"}, unwrap=${x.unwrapTxHash??"n/a"}.`)}return x}exports.ASSET_ROUTER_ABI=P;exports.BasculeDepositStatus=L;exports.SignerError=g;exports.approveToken=Pe;exports.cancelWithdrawInternal=We;exports.claimLBTC=Fe;exports.createAccountFromSigner=ie;exports.createWalletClientFromSigner=Ee;exports.depositEarn=De;exports.depositToken=Oe;exports.estimateGasFees=V;exports.getAddressConfirmationMessage=ee;exports.getAssetRouterAddress=$e;exports.getBasculeDepositStatus=oe;exports.getLBTCBurningFee=le;exports.getLBTCMintingFee=de;exports.getMinRedeemAmount=X;exports.getMinRedeemAmountWithFee=me;exports.getMintingFee=J;exports.getPermitNonce=te;exports.getRedeemFee=q;exports.getStakeAndBakeConfig=K;exports.getStakeAndBakeFee=Te;exports.getTokenAllowance=Se;exports.mintToken=ue;exports.queueWithdrawInternal=He;exports.redeemToken=pe;exports.signLbtcDestinationAddr=be;exports.signNetworkFee=fe;exports.signStakeAndBake=ke;exports.unstakeLBTC=Ve;exports.validateTransactionRequest=z;exports.waitForTransactionReceipt=re;exports.withdrawEarn=Ge;exports.wrapToBtce=se;
7
+ //# sourceMappingURL=withdrawEarn-CTtVruit.cjs.map