@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
@@ -1,15 +1,16 @@
1
- import { determineEnv as U, makePublicClient as w, getTokenContractInfo as f, isUpgradedAbi as k, getErrorMessage as X, getTokenInfo as ee, toBaseDenomination as z, fromBaseDenomination as j, UnsupportedTokenFlow as te, retrieveTokenProperties as ne } from "./tokens-HhVpKe3K.js";
2
- import { Token as d, AddressKind as A, makeWalletClient as R, CHAIN_ID_TO_VIEM_CHAIN_MAP as v, ChainId as O, isKatanaChain as _, isMonadChain as Ae, isEthereumChain as ge, isStableChain as Ce, isMegaethChain as he } from "./token-addresses-Ddar0FyS.js";
3
- import { fromSatoshi as V } from "./satoshi-CSoJBXc6.js";
4
- import { p as G, d as Me } from "./index-CfcQ_g3t.js";
5
- import { getContract as ae, createWalletClient as ve, http as Re, isHex as De, encodeFunctionData as xe, decodeFunctionData as Z, encodeAbiParameters as Ee, keccak256 as se, zeroAddress as Ie, parseGwei as W } from "viem";
6
- import { DEFI_REGISTRY as ke, DefiProtocols as Se, DefiProtocol as $ } from "./defi-registry-CD8EUcNu.js";
7
- import g from "bignumber.js";
8
- import { toUnix as ie, now as re, DAY as oe, ensureHex as Y } from "./time-Sa5gggPG.js";
9
- import { getExchangeRatio as Be } from "./get-exchange-ratio-Bl6pt546.js";
10
- import { toBigInt as I } from "./numbers-CclN2Ohk.js";
11
- import { isProviderFlow as H, isSignerFlow as Ne } from "./parameters-C_16L5ft.js";
12
- const S = [
1
+ import { determineEnv as Y, makePublicClient as A, getTokenContractInfo as R, isUpgradedAbi as L, getErrorMessage as $, toBaseDenomination as F, getTokenInfo as O, fromBaseDenomination as W, UnsupportedTokenFlow as me, retrieveTokenProperties as ce } from "./tokens-Btl3GXbc.js";
2
+ import { Token as d, AddressKind as S, makeWalletClient as x, CHAIN_ID_TO_VIEM_CHAIN_MAP as C, ChainId as K, isKatanaChain as G, isMonadChain as Re, isEthereumChain as Me, isStableChain as xe, isMegaethChain as De } from "./token-addresses-DVnRPyu4.js";
3
+ import { fromSatoshi as J } from "./satoshi-CSoJBXc6.js";
4
+ import { p as X, d as Ee } from "./index-CfcQ_g3t.js";
5
+ import { getContract as be, isAddress as Be, erc20Abi as j, createWalletClient as Ne, http as Se, isHex as ke, encodeFunctionData as _e, decodeFunctionData as pe, encodeAbiParameters as Pe, keccak256 as Te, zeroAddress as Ie, parseGwei as ae, maxUint256 as $e } from "viem";
6
+ import { DEFI_REGISTRY as Fe, DefiProtocols as Le, DefiProtocol as Q } from "./defi-registry-DULXbu3D.js";
7
+ import f from "bignumber.js";
8
+ import { toUnix as fe, now as we, DAY as ee, isProviderFlow as se, isSignerFlow as Oe } from "./parameters-CcpaKGU2.js";
9
+ import { getExchangeRatio as Ue } from "./get-exchange-ratio-BvPUfcIQ.js";
10
+ import { toBigInt as _ } from "./numbers-CclN2Ohk.js";
11
+ import { isBtceVaultChain as re, BTCE_VAULT as k, BTCE_VAULT_DECIMALS as Ve, isEarnChain as oe, EARN_VAULT as Z } from "./config-wnjPtnjd.js";
12
+ import { ensureHex as ye } from "./hex-BiCL4CPh.js";
13
+ const U = [
13
14
  {
14
15
  inputs: [],
15
16
  stateMutability: "nonpayable",
@@ -1975,259 +1976,259 @@ const S = [
1975
1976
  type: "function"
1976
1977
  }
1977
1978
  ];
1978
- async function Tt(e) {
1979
- return _e({ token: d.LBTC, ...e });
1979
+ async function xt(e) {
1980
+ return We({ token: d.LBTC, ...e });
1980
1981
  }
1981
- async function ft(e) {
1982
- return pe({ token: d.LBTC, ...e });
1982
+ async function Dt(e) {
1983
+ return ge({ token: d.LBTC, ...e });
1983
1984
  }
1984
- async function _e({
1985
+ async function We({
1985
1986
  token: e,
1986
- chainId: n,
1987
- rpcUrl: a,
1987
+ chainId: a,
1988
+ rpcUrl: n,
1988
1989
  env: t
1989
1990
  }) {
1990
1991
  if (![d.LBTC, d.BTCK, d.BTCb].includes(e))
1991
1992
  throw new Error(`Unsupported token: ${e}`);
1992
- const s = t || U(n), r = w({ chainId: n, rpcUrl: a, env: s }), i = await f(
1993
+ const r = t || Y(a), o = A({ chainId: a, rpcUrl: n, env: r }), i = await R(
1993
1994
  e,
1994
- n,
1995
- s,
1996
- A.Adapter
1997
- ), p = i.abi;
1998
- let o = 0n;
1999
- if (k(p) || e === d.BTCb) {
2000
- const u = await r.readContract({
2001
- abi: p,
1995
+ a,
1996
+ r,
1997
+ S.Adapter
1998
+ ), u = i.abi;
1999
+ let s = 0n;
2000
+ if (L(u) || e === d.BTCb) {
2001
+ const p = await o.readContract({
2002
+ abi: u,
2002
2003
  address: i.address,
2003
2004
  functionName: "getAssetRouter"
2004
2005
  }), y = {
2005
- abi: S,
2006
- address: u
2006
+ abi: U,
2007
+ address: p
2007
2008
  };
2008
- o = await r.readContract({
2009
+ s = await o.readContract({
2009
2010
  abi: y.abi,
2010
2011
  address: y.address,
2011
2012
  functionName: "maxMintCommission",
2012
2013
  args: [i.address]
2013
2014
  });
2014
2015
  } else
2015
- o = await r.readContract({
2016
+ s = await o.readContract({
2016
2017
  abi: i.abi,
2017
2018
  address: i.address,
2018
2019
  functionName: "getMintFee"
2019
2020
  });
2020
- return V(String(o));
2021
+ return J(String(s));
2021
2022
  }
2022
- async function pe({
2023
+ async function ge({
2023
2024
  token: e,
2024
- chainId: n,
2025
- rpcUrl: a,
2025
+ chainId: a,
2026
+ rpcUrl: n,
2026
2027
  env: t
2027
2028
  }) {
2028
2029
  if (![d.LBTC, d.BTCK, d.BTCb].includes(e))
2029
2030
  throw new Error(`Unsupported token: ${e}`);
2030
- const s = t || U(n), r = w({ chainId: n, rpcUrl: a, env: s }), i = await f(
2031
+ const r = t || Y(a), o = A({ chainId: a, rpcUrl: n, env: r }), i = await R(
2031
2032
  e,
2032
- n,
2033
- s,
2034
- A.Adapter
2033
+ a,
2034
+ r,
2035
+ S.Adapter
2035
2036
  );
2036
- let p = 0n;
2037
- if (k(i.abi) || e === d.BTCb) {
2038
- const o = await r.readContract({
2037
+ let u = 0n;
2038
+ if (L(i.abi) || e === d.BTCb) {
2039
+ const s = await o.readContract({
2039
2040
  abi: i.abi,
2040
2041
  address: i.address,
2041
2042
  functionName: "getAssetRouter"
2042
- }), u = {
2043
- abi: S,
2044
- address: o
2045
- }, y = await r.readContract({
2046
- abi: u.abi,
2047
- address: u.address,
2043
+ }), p = {
2044
+ abi: U,
2045
+ address: s
2046
+ }, y = await o.readContract({
2047
+ abi: p.abi,
2048
+ address: p.address,
2048
2049
  functionName: "toNativeCommission",
2049
2050
  args: [i.address]
2050
2051
  }), [
2051
2052
  m
2052
2053
  /* redeemForBtcMinAmountValue, isRedeemEnabled */
2053
- ] = await r.readContract({
2054
- abi: u.abi,
2055
- address: u.address,
2054
+ ] = await o.readContract({
2055
+ abi: p.abi,
2056
+ address: p.address,
2056
2057
  functionName: "tokenConfig",
2057
2058
  args: [i.address]
2058
2059
  });
2059
- p = y + m;
2060
+ u = y + m;
2060
2061
  } else
2061
- p = await r.readContract({
2062
+ u = await o.readContract({
2062
2063
  abi: i.abi,
2063
2064
  address: i.address,
2064
2065
  functionName: "getBurnCommission"
2065
2066
  });
2066
- return V(String(p));
2067
+ return J(String(u));
2067
2068
  }
2068
- async function Pe({
2069
+ async function Ge({
2069
2070
  token: e,
2070
- chainId: n,
2071
- rpcUrl: a,
2071
+ chainId: a,
2072
+ rpcUrl: n,
2072
2073
  env: t
2073
2074
  }) {
2074
2075
  if (![d.LBTC, d.BTCK, d.BTCb].includes(e))
2075
2076
  throw new Error(`Unsupported token: ${e}`);
2076
- const s = t || U(n), r = w({ chainId: n, rpcUrl: a, env: s }), i = await f(
2077
+ const r = t || Y(a), o = A({ chainId: a, rpcUrl: n, env: r }), i = await R(
2077
2078
  e,
2078
- n,
2079
- s,
2080
- A.Adapter
2079
+ a,
2080
+ r,
2081
+ S.Adapter
2081
2082
  );
2082
- let p = 0n;
2083
- if (k(i.abi) || e === d.BTCb) {
2084
- const o = await r.readContract({
2083
+ let u = 0n;
2084
+ if (L(i.abi) || e === d.BTCb) {
2085
+ const s = await o.readContract({
2085
2086
  abi: i.abi,
2086
2087
  address: i.address,
2087
2088
  functionName: "getAssetRouter"
2088
- }), u = {
2089
- abi: S,
2090
- address: o
2091
- }, [, y] = await r.readContract({
2092
- abi: u.abi,
2093
- address: u.address,
2089
+ }), p = {
2090
+ abi: U,
2091
+ address: s
2092
+ }, [, y] = await o.readContract({
2093
+ abi: p.abi,
2094
+ address: p.address,
2094
2095
  functionName: "tokenConfig",
2095
2096
  args: [i.address]
2096
2097
  });
2097
- p = y;
2098
+ u = y;
2098
2099
  } else
2099
- p = 2000n;
2100
- return V(String(p));
2100
+ u = 2000n;
2101
+ return J(String(u));
2101
2102
  }
2102
- async function wt(e) {
2103
- const [n, a] = await Promise.all([
2104
- pe(e),
2105
- Pe(e)
2103
+ async function Et(e) {
2104
+ const [a, n] = await Promise.all([
2105
+ ge(e),
2106
+ Ge(e)
2106
2107
  ]);
2107
- return n.plus(a);
2108
+ return a.plus(n);
2108
2109
  }
2109
- class P extends Error {
2110
- constructor(n, a, t) {
2111
- super(a), this.code = n, this.context = t, this.name = "StakeAndBakeValidationError";
2110
+ class H extends Error {
2111
+ constructor(a, n, t) {
2112
+ super(n), this.code = a, this.context = t, this.name = "StakeAndBakeValidationError";
2112
2113
  }
2113
2114
  }
2114
- function ye(e, n, a, t) {
2115
- const s = ke[e];
2116
- if (!s)
2117
- throw new P(
2115
+ function Ae(e, a, n, t) {
2116
+ const r = Fe[e];
2117
+ if (!r)
2118
+ throw new H(
2118
2119
  "UNSUPPORTED_VAULT",
2119
2120
  `Vault ${e} not found in DeFi registry`,
2120
2121
  { protocol: e }
2121
2122
  );
2122
- const r = s[n];
2123
- if (!r)
2124
- throw new P(
2123
+ const o = r[a];
2124
+ if (!o)
2125
+ throw new H(
2125
2126
  "UNSUPPORTED_TOKEN",
2126
- `Token ${n} is not supported for stake and bake on vault ${e}. Supported tokens: ${Object.keys(s).join(", ")}`,
2127
- { protocol: e, token: n, supportedTokens: Object.keys(s) }
2127
+ `Token ${a} is not supported for stake and bake on vault ${e}. Supported tokens: ${Object.keys(r).join(", ")}`,
2128
+ { protocol: e, token: a, supportedTokens: Object.keys(r) }
2128
2129
  );
2129
- const i = r[t];
2130
+ const i = o[t];
2130
2131
  if (!i)
2131
- throw new P(
2132
+ throw new H(
2132
2133
  "UNSUPPORTED_ENV",
2133
- `Environment ${t} is not supported for token ${n} on vault ${e}`,
2134
- { protocol: e, token: n, env: t }
2134
+ `Environment ${t} is not supported for token ${a} on vault ${e}`,
2135
+ { protocol: e, token: a, env: t }
2135
2136
  );
2136
- const p = i[a];
2137
- if (!p)
2138
- throw new P(
2137
+ const u = i[n];
2138
+ if (!u)
2139
+ throw new H(
2139
2140
  "UNSUPPORTED_TOKEN_CHAIN",
2140
- `Token ${n} is not supported on chain ${a} for vault ${e} in ${t}. Supported chains: ${Object.keys(i).join(", ")}`,
2141
+ `Token ${a} is not supported on chain ${n} for vault ${e} in ${t}. Supported chains: ${Object.keys(i).join(", ")}`,
2141
2142
  {
2142
2143
  protocol: e,
2143
- token: n,
2144
- chainId: a,
2144
+ token: a,
2145
+ chainId: n,
2145
2146
  env: t,
2146
2147
  supportedChains: Object.keys(i)
2147
2148
  }
2148
2149
  );
2149
2150
  return {
2150
2151
  protocol: e,
2151
- token: n,
2152
+ token: a,
2152
2153
  env: t,
2153
- chainId: a,
2154
- ...p
2154
+ chainId: n,
2155
+ ...u
2155
2156
  };
2156
2157
  }
2157
- const Fe = {
2158
- [$.Veda]: d.LBTC,
2159
- [$.Silo]: d.BTCb
2158
+ const He = {
2159
+ [Q.Veda]: d.LBTC,
2160
+ [Q.Silo]: d.BTCb
2160
2161
  };
2161
- async function At({
2162
- protocol: e = $.Veda,
2163
- token: n,
2164
- chainId: a,
2165
- env: t = G,
2166
- rpcUrl: s
2162
+ async function Bt({
2163
+ protocol: e = Q.Veda,
2164
+ token: a,
2165
+ chainId: n,
2166
+ env: t = X,
2167
+ rpcUrl: r
2167
2168
  }) {
2168
- const r = Se[e];
2169
- if (!r)
2169
+ const o = Le[e];
2170
+ if (!o)
2170
2171
  throw new Error(`Unknown protocol: ${e}`);
2171
- const i = n ?? Fe[e];
2172
+ const i = a ?? He[e];
2172
2173
  try {
2173
- const o = ye(
2174
+ const s = Ae(
2174
2175
  e,
2175
2176
  i,
2176
- a,
2177
+ n,
2177
2178
  t
2178
2179
  ).spenderContract;
2179
- if (!o)
2180
+ if (!s)
2180
2181
  throw new Error(
2181
- `Could not retrieve the stake and bake contract for ${e} on chain ${a}.`
2182
+ `Could not retrieve the stake and bake contract for ${e} on chain ${n}.`
2182
2183
  );
2183
- const u = w({ chainId: a, rpcUrl: s }), m = await ae({
2184
- abi: o.abi,
2185
- address: o.address,
2186
- client: u
2184
+ const p = A({ chainId: n, rpcUrl: r }), m = await be({
2185
+ abi: s.abi,
2186
+ address: s.address,
2187
+ client: p
2187
2188
  }).read.getStakeAndBakeFee();
2188
- return V(String(m));
2189
- } catch (p) {
2190
- const o = X(p);
2189
+ return J(String(m));
2190
+ } catch (u) {
2191
+ const s = $(u);
2191
2192
  throw new Error(
2192
- `Failed to get stake and bake fee for ${r.name}: ${o}`
2193
+ `Failed to get stake and bake fee for ${o.name}: ${s}`
2193
2194
  );
2194
2195
  }
2195
2196
  }
2196
- function Le(e) {
2197
+ function qe(e) {
2197
2198
  return `destination chain id is ${e}`;
2198
2199
  }
2199
- async function gt({
2200
+ async function Nt({
2200
2201
  account: e,
2201
- chainId: n,
2202
- provider: a
2202
+ chainId: a,
2203
+ provider: n
2203
2204
  }) {
2204
- const t = R({ chainId: n, provider: a }), s = Le(n);
2205
- return await t.signMessage({ account: e, message: s });
2205
+ const t = x({ chainId: a, provider: n }), r = qe(a);
2206
+ return await t.signMessage({ account: e, message: r });
2206
2207
  }
2207
- async function Ct({
2208
+ async function St({
2208
2209
  fee: e,
2209
- expiry: n = ie(re() + oe),
2210
- account: a,
2210
+ expiry: a = fe(we() + ee),
2211
+ account: n,
2211
2212
  chainId: t,
2212
- provider: s,
2213
- env: r,
2213
+ provider: r,
2214
+ env: o,
2214
2215
  token: i = d.LBTC
2215
2216
  }) {
2216
- const p = await f(i, t, r), o = R({
2217
+ const u = await R(i, t, o), s = x({
2217
2218
  chainId: t,
2218
- provider: s
2219
- }), u = {
2220
- account: a,
2219
+ provider: r
2220
+ }), p = {
2221
+ account: n,
2221
2222
  domain: {
2222
2223
  name: i === d.BTCb ? "Bitcoin" : "Lombard Staked Bitcoin",
2223
2224
  version: "1",
2224
2225
  chainId: t,
2225
- verifyingContract: p.address
2226
+ verifyingContract: u.address
2226
2227
  },
2227
2228
  message: {
2228
2229
  chainId: t,
2229
- fee: BigInt(g(e).toFixed()),
2230
- expiry: n
2230
+ fee: BigInt(f(e).toFixed()),
2231
+ expiry: a
2231
2232
  },
2232
2233
  primaryType: "feeApproval",
2233
2234
  types: {
@@ -2245,45 +2246,45 @@ async function Ct({
2245
2246
  }
2246
2247
  };
2247
2248
  return {
2248
- signature: await o.signTypedData(u),
2249
+ signature: await s.signTypedData(p),
2249
2250
  typedData: JSON.stringify(
2250
- u,
2251
- (m, b) => typeof b == "bigint" ? b.toString() : b
2251
+ p,
2252
+ (m, c) => typeof c == "bigint" ? c.toString() : c
2252
2253
  )
2253
2254
  };
2254
2255
  }
2255
- async function Oe({
2256
+ async function ze({
2256
2257
  owner: e,
2257
- chainId: n,
2258
- rpcUrl: a,
2259
- env: t = G
2258
+ chainId: a,
2259
+ rpcUrl: n,
2260
+ env: t = X
2260
2261
  }) {
2261
- const s = t || U(n), r = w({ chainId: n, rpcUrl: a }), i = await f(
2262
+ const r = t || Y(a), o = A({ chainId: a, rpcUrl: n }), i = await R(
2262
2263
  d.LBTC,
2263
- n,
2264
- s
2265
- ), p = await r.readContract({
2264
+ a,
2265
+ r
2266
+ ), u = await o.readContract({
2266
2267
  abi: i.abi,
2267
2268
  address: i.address,
2268
2269
  functionName: "nonces",
2269
2270
  args: [e]
2270
2271
  });
2271
- return String(p);
2272
+ return String(u);
2272
2273
  }
2273
- const $e = [
2274
+ const Ke = [
2274
2275
  { name: "name", type: "string" },
2275
2276
  { name: "version", type: "string" },
2276
2277
  { name: "chainId", type: "uint256" },
2277
2278
  { name: "verifyingContract", type: "address" }
2278
- ], ue = [
2279
+ ], Ce = [
2279
2280
  { name: "owner", type: "address" },
2280
2281
  { name: "spender", type: "address" },
2281
2282
  { name: "value", type: "uint256" },
2282
2283
  { name: "nonce", type: "uint256" },
2283
2284
  { name: "deadline", type: "uint256" }
2284
- ], Ue = ue;
2285
- function Ve(e) {
2286
- const n = e.mode === "permit" ? "Permit" : "Approve";
2285
+ ], je = Ce;
2286
+ function Qe(e) {
2287
+ const a = e.mode === "permit" ? "Permit" : "Approve";
2287
2288
  return {
2288
2289
  account: e.account,
2289
2290
  domain: {
@@ -2293,10 +2294,10 @@ function Ve(e) {
2293
2294
  verifyingContract: e.verifyingContract
2294
2295
  },
2295
2296
  types: {
2296
- EIP712Domain: $e,
2297
- [n]: e.mode === "permit" ? ue : Ue
2297
+ EIP712Domain: Ke,
2298
+ [a]: e.mode === "permit" ? Ce : je
2298
2299
  },
2299
- primaryType: n,
2300
+ primaryType: a,
2300
2301
  message: {
2301
2302
  owner: e.account,
2302
2303
  spender: e.spender,
@@ -2306,147 +2307,252 @@ function Ve(e) {
2306
2307
  }
2307
2308
  };
2308
2309
  }
2309
- function de(e) {
2310
+ function he(e) {
2310
2311
  return JSON.stringify(
2311
2312
  e,
2312
- (n, a) => typeof a == "bigint" ? a.toString() : a
2313
+ (a, n) => typeof n == "bigint" ? n.toString() : n
2313
2314
  );
2314
2315
  }
2315
- async function Ge(e) {
2316
+ async function Ze(e) {
2316
2317
  const {
2317
- account: n,
2318
- chainId: a,
2318
+ account: a,
2319
+ chainId: n,
2319
2320
  provider: t,
2320
- rpcUrl: s,
2321
- tokenAddress: r,
2321
+ rpcUrl: r,
2322
+ tokenAddress: o,
2322
2323
  tokenAbi: i,
2323
- spenderAddress: p,
2324
- typedData: o,
2325
- requiredAmount: u
2326
- } = e, y = w({ chainId: a, rpcUrl: s }), m = R({ chainId: a, provider: t }), b = await y.readContract({
2327
- address: r,
2324
+ spenderAddress: u,
2325
+ typedData: s,
2326
+ requiredAmount: p
2327
+ } = e, y = A({ chainId: n, rpcUrl: r }), m = x({ chainId: n, provider: t }), c = await y.readContract({
2328
+ address: o,
2328
2329
  abi: i,
2329
2330
  functionName: "allowance",
2330
- args: [n, p]
2331
+ args: [a, u]
2331
2332
  });
2332
2333
  let l;
2333
- if (b < u) {
2334
- const c = await m.writeContract({
2335
- address: r,
2334
+ if (c < p) {
2335
+ const b = await m.writeContract({
2336
+ address: o,
2336
2337
  abi: i,
2337
2338
  functionName: "approve",
2338
- args: [p, u],
2339
- account: n,
2339
+ args: [u, p],
2340
+ account: a,
2340
2341
  chain: null
2341
2342
  });
2342
- if ((await y.waitForTransactionReceipt({ hash: c })).status !== "success")
2343
+ if ((await y.waitForTransactionReceipt({ hash: b })).status !== "success")
2343
2344
  throw new Error(
2344
- `Approve transaction failed: ${c}. Please try again or contact support.`
2345
+ `Approve transaction failed: ${b}. Please try again or contact support.`
2345
2346
  );
2346
- l = c;
2347
+ l = b;
2347
2348
  }
2348
2349
  return {
2349
2350
  mode: "approve",
2350
2351
  signature: "",
2351
- typedData: de(o),
2352
+ typedData: he(s),
2352
2353
  approvalTxHash: l
2353
2354
  };
2354
2355
  }
2355
- async function We(e) {
2356
- const { chainId: n, provider: a, typedData: t } = e;
2356
+ async function Ye(e) {
2357
+ const { chainId: a, provider: n, typedData: t } = e;
2357
2358
  return {
2358
2359
  mode: "permit",
2359
- signature: await R({ chainId: n, provider: a }).signTypedData(t),
2360
- typedData: de(t)
2360
+ signature: await x({ chainId: a, provider: n }).signTypedData(t),
2361
+ typedData: he(t)
2361
2362
  };
2362
2363
  }
2363
- const He = async (e, n, a) => !e || e === "BTC" || e === d.LBTC ? await f(d.LBTC, n, a) : await f(e, n, a, A.Token);
2364
- async function Ke(e, n) {
2365
- var a;
2364
+ const Je = async (e, a, n) => !e || e === "BTC" || e === d.LBTC ? await R(d.LBTC, a, n) : await R(e, a, n, S.Token);
2365
+ async function Xe(e, a) {
2366
+ var n;
2366
2367
  try {
2367
- const s = ((a = (await Be({ env: n })).LBTC) == null ? void 0 : a.BTCTokenRatio) || new g(1);
2368
- return new g(e).dividedBy(s);
2368
+ const r = ((n = (await Ue({ env: a })).LBTC) == null ? void 0 : n.BTCTokenRatio) || new f(1);
2369
+ return new f(e).dividedBy(r);
2369
2370
  } catch {
2370
2371
  throw new Error("Failed to get exchange ratio for stake and bake");
2371
2372
  }
2372
2373
  }
2373
- async function ht({
2374
+ async function kt({
2374
2375
  account: e,
2375
- expiry: n = ie(re() + oe),
2376
- value: a,
2376
+ expiry: a = fe(we() + ee),
2377
+ value: n,
2377
2378
  // TODO: Rename vaultKey to protocol
2378
- vaultKey: t = $.Veda,
2379
- token: s = "BTC",
2380
- chainId: r,
2379
+ vaultKey: t = Q.Veda,
2380
+ token: r = "BTC",
2381
+ chainId: o,
2381
2382
  provider: i,
2382
- rpcUrl: p,
2383
- env: o = G
2383
+ rpcUrl: u,
2384
+ env: s = X
2384
2385
  }) {
2385
- const u = ye(t, s, r, o), y = u.spenderContract.address, m = u.amountStrategy === "btcToLbtc" ? await Ke(a, o) : new g(a), b = await He(s, r, o), l = b.address, c = b.abi, C = u.approval.deadlineStrategy === "zero" ? 0n : BigInt(n), h = u.approval.nonceStrategy === "chain" ? BigInt(await Oe({ owner: e, chainId: r, rpcUrl: p, env: o })) : 0n, M = Ve({
2386
- mode: u.approval.mode,
2386
+ const p = Ae(t, r, o, s), y = p.spenderContract.address, m = p.amountStrategy === "btcToLbtc" ? await Xe(n, s) : new f(n), c = await Je(r, o, s), l = c.address, b = c.abi, T = p.approval.deadlineStrategy === "zero" ? 0n : BigInt(a), h = p.approval.nonceStrategy === "chain" ? BigInt(await ze({ owner: e, chainId: o, rpcUrl: u, env: s })) : 0n, w = Qe({
2387
+ mode: p.approval.mode,
2387
2388
  account: e,
2388
- chainId: r,
2389
+ chainId: o,
2389
2390
  verifyingContract: l,
2390
- domainName: u.approval.domainName,
2391
- domainVersion: u.approval.domainVersion,
2391
+ domainName: p.approval.domainName,
2392
+ domainVersion: p.approval.domainVersion,
2392
2393
  spender: y,
2393
- value: BigInt(m.toFixed(0, g.ROUND_DOWN)),
2394
+ value: BigInt(m.toFixed(0, f.ROUND_DOWN)),
2394
2395
  nonce: h,
2395
- deadline: C
2396
+ deadline: T
2396
2397
  });
2397
- return u.approval.mode === "approve" ? Ge({
2398
+ return p.approval.mode === "approve" ? Ze({
2398
2399
  account: e,
2399
- chainId: r,
2400
+ chainId: o,
2400
2401
  provider: i,
2401
- rpcUrl: p,
2402
+ rpcUrl: u,
2402
2403
  tokenAddress: l,
2403
- tokenAbi: c,
2404
+ tokenAbi: b,
2404
2405
  spenderAddress: y,
2405
- typedData: M,
2406
- requiredAmount: BigInt(m.toFixed(0, g.ROUND_DOWN))
2407
- }) : We({ chainId: r, provider: i, typedData: M });
2406
+ typedData: w,
2407
+ requiredAmount: BigInt(m.toFixed(0, f.ROUND_DOWN))
2408
+ }) : Ye({ chainId: o, provider: i, typedData: w });
2408
2409
  }
2409
- class T extends Error {
2410
- constructor(n, a, t) {
2411
- super(a), this.code = n, this.context = t, this.name = "SignerError";
2410
+ async function et({
2411
+ tokenAddress: e,
2412
+ amount: a,
2413
+ tokenDecimals: n,
2414
+ receiver: t,
2415
+ minimumMint: r = 0,
2416
+ account: o,
2417
+ chainId: i,
2418
+ provider: u,
2419
+ rpcUrl: s
2420
+ }) {
2421
+ if (!Be(e, { strict: !1 }))
2422
+ throw new Error(`Invalid token address: ${e}`);
2423
+ if (!re(i))
2424
+ throw new Error(
2425
+ `BTCe is not supported on chain ${i}. Supported chains: ${k.chains.join(", ")}.`
2426
+ );
2427
+ const p = f(a);
2428
+ if (!p.isGreaterThan(0))
2429
+ throw new Error(
2430
+ `Wrap amount must be greater than zero. Received: ${p.toFixed()}.`
2431
+ );
2432
+ const y = _(F(p, n)), m = _(
2433
+ F(f(r), Ve)
2434
+ ), c = A({ chainId: i, rpcUrl: s }), l = x({ provider: u, chainId: i });
2435
+ try {
2436
+ const { request: b } = await c.simulateContract({
2437
+ account: o,
2438
+ chain: C[i],
2439
+ abi: k.abi,
2440
+ address: k.contracts[i],
2441
+ functionName: "deposit",
2442
+ args: [e, y, t ?? o, m]
2443
+ });
2444
+ return await l.writeContract(b);
2445
+ } catch (b) {
2446
+ const T = $(b);
2447
+ throw new Error(T);
2412
2448
  }
2413
2449
  }
2414
- function le(e, n = "transaction") {
2450
+ async function _t({
2451
+ token: e = d.LBTC,
2452
+ amount: a,
2453
+ receiver: n,
2454
+ minimumMint: t = 0,
2455
+ approve: r = !0,
2456
+ account: o,
2457
+ chainId: i,
2458
+ provider: u,
2459
+ rpcUrl: s,
2460
+ env: p
2461
+ }) {
2462
+ if (!re(i))
2463
+ throw new Error(
2464
+ `BTCe is not supported on chain ${i}. Supported chains: ${k.chains.join(", ")}.`
2465
+ );
2466
+ const y = f(a);
2467
+ if (!y.isGreaterThan(0))
2468
+ throw new Error(
2469
+ `Deposit amount must be greater than zero. Received: ${y.toFixed()}.`
2470
+ );
2471
+ const m = await O(e, i, p, s);
2472
+ if (!m)
2473
+ throw new Error(
2474
+ `Could not resolve token info for ${e} on chain ${i}.`
2475
+ );
2476
+ const c = A({ chainId: i, rpcUrl: s }), l = x({ provider: u, chainId: i }), b = k.contracts[i], T = _(F(y, m.decimals));
2477
+ if (await c.readContract({
2478
+ address: m.address,
2479
+ abi: j,
2480
+ functionName: "allowance",
2481
+ args: [o, b]
2482
+ }) < T) {
2483
+ if (!r)
2484
+ throw new Error(
2485
+ `Deposit amount ${y.toFixed()} exceeds allowance for ${e} -> BTCe. Re-run with approve: true or pre-approve the BTCe contract.`
2486
+ );
2487
+ try {
2488
+ const { request: w } = await c.simulateContract({
2489
+ account: o,
2490
+ chain: C[i],
2491
+ address: m.address,
2492
+ abi: j,
2493
+ functionName: "approve",
2494
+ args: [b, T]
2495
+ }), D = await l.writeContract(w);
2496
+ await c.waitForTransactionReceipt({ hash: D });
2497
+ } catch (w) {
2498
+ throw new Error(
2499
+ `Approval of ${e} for BTCe failed: ${$(w)}`
2500
+ );
2501
+ }
2502
+ }
2503
+ return et({
2504
+ tokenAddress: m.address,
2505
+ amount: y,
2506
+ tokenDecimals: m.decimals,
2507
+ receiver: n,
2508
+ minimumMint: t,
2509
+ account: o,
2510
+ chainId: i,
2511
+ provider: u,
2512
+ rpcUrl: s
2513
+ });
2514
+ }
2515
+ class g extends Error {
2516
+ constructor(a, n, t) {
2517
+ super(n), this.code = a, this.context = t, this.name = "SignerError";
2518
+ }
2519
+ }
2520
+ function ve(e, a = "transaction") {
2415
2521
  if (!e.from)
2416
- throw new T(
2522
+ throw new g(
2417
2523
  "MISSING_FROM_ADDRESS",
2418
- `Missing 'from' address for ${n}`,
2419
- { transaction: e, operation: n }
2524
+ `Missing 'from' address for ${a}`,
2525
+ { transaction: e, operation: a }
2420
2526
  );
2421
2527
  if (!e.to)
2422
- throw new T(
2528
+ throw new g(
2423
2529
  "MISSING_TO_ADDRESS",
2424
- `Missing 'to' address for ${n}`,
2425
- { transaction: e, operation: n }
2530
+ `Missing 'to' address for ${a}`,
2531
+ { transaction: e, operation: a }
2426
2532
  );
2427
- if (e.data !== void 0 && !De(e.data))
2428
- throw new T(
2533
+ if (e.data !== void 0 && !ke(e.data))
2534
+ throw new g(
2429
2535
  "INVALID_DATA",
2430
- `Transaction data must be valid hex string for ${n}`,
2431
- { transaction: e, operation: n, data: e.data }
2536
+ `Transaction data must be valid hex string for ${a}`,
2537
+ { transaction: e, operation: a, data: e.data }
2432
2538
  );
2433
2539
  if (e.chainId && !/^0x[0-9a-fA-F]+$/.test(e.chainId))
2434
- throw new T(
2540
+ throw new g(
2435
2541
  "INVALID_CHAIN_ID",
2436
- `Chain ID must be a hex string (e.g., "0x1") for ${n}`,
2437
- { transaction: e, operation: n, chainId: e.chainId }
2542
+ `Chain ID must be a hex string (e.g., "0x1") for ${a}`,
2543
+ { transaction: e, operation: a, chainId: e.chainId }
2438
2544
  );
2439
2545
  }
2440
- function ze(e, n, a) {
2441
- const t = v[a];
2546
+ function tt(e, a, n) {
2547
+ const t = C[n];
2442
2548
  if (!t)
2443
- throw new T(
2549
+ throw new g(
2444
2550
  "UNSUPPORTED_CHAIN",
2445
- `Chain ID ${a} is not supported`,
2446
- { chainId: a, availableChains: Object.keys(v) }
2551
+ `Chain ID ${n} is not supported`,
2552
+ { chainId: n, availableChains: Object.keys(C) }
2447
2553
  );
2448
2554
  return {
2449
- address: n,
2555
+ address: a,
2450
2556
  type: "local",
2451
2557
  publicKey: "0x0000000000000000000000000000000000000000000000000000000000000000",
2452
2558
  source: "custom",
@@ -2454,34 +2560,34 @@ function ze(e, n, a) {
2454
2560
  * Signs a transaction using the SignerAdapter.
2455
2561
  * This is called by Viem's wallet client when executing transactions.
2456
2562
  */
2457
- async signTransaction(r) {
2563
+ async signTransaction(o) {
2458
2564
  const i = {
2459
- from: n,
2460
- to: r.to ?? void 0,
2461
- data: r.data,
2462
- value: r.value,
2463
- gas: r.gas,
2464
- maxFeePerGas: r.maxFeePerGas,
2465
- maxPriorityFeePerGas: r.maxPriorityFeePerGas,
2466
- chainId: r.chainId ? `0x${r.chainId.toString(16)}` : `0x${t.id.toString(16)}`,
2467
- nonce: r.nonce
2565
+ from: a,
2566
+ to: o.to ?? void 0,
2567
+ data: o.data,
2568
+ value: o.value,
2569
+ gas: o.gas,
2570
+ maxFeePerGas: o.maxFeePerGas,
2571
+ maxPriorityFeePerGas: o.maxPriorityFeePerGas,
2572
+ chainId: o.chainId ? `0x${o.chainId.toString(16)}` : `0x${t.id.toString(16)}`,
2573
+ nonce: o.nonce
2468
2574
  };
2469
- le(i, "signTransaction");
2470
- let p;
2471
- if (await e.sign(i, async (o) => (p = o, o)), !p)
2472
- throw new T(
2575
+ ve(i, "signTransaction");
2576
+ let u;
2577
+ if (await e.sign(i, async (s) => (u = s, s)), !u)
2578
+ throw new g(
2473
2579
  "SIGNING_FAILED",
2474
2580
  "Signer did not return a signed transaction",
2475
2581
  { transaction: i }
2476
2582
  );
2477
- return p;
2583
+ return u;
2478
2584
  },
2479
2585
  /**
2480
2586
  * Signs a message (EIP-191).
2481
2587
  * Not implemented as it's not needed for contract transactions.
2482
2588
  */
2483
2589
  async signMessage() {
2484
- throw new T(
2590
+ throw new g(
2485
2591
  "NOT_IMPLEMENTED",
2486
2592
  "Message signing is not supported by this adapter",
2487
2593
  { method: "signMessage" }
@@ -2492,7 +2598,7 @@ function ze(e, n, a) {
2492
2598
  * Not implemented as it's not needed for contract transactions.
2493
2599
  */
2494
2600
  async signTypedData() {
2495
- throw new T(
2601
+ throw new g(
2496
2602
  "NOT_IMPLEMENTED",
2497
2603
  "Typed data signing is not supported by this adapter",
2498
2604
  { method: "signTypedData" }
@@ -2500,136 +2606,136 @@ function ze(e, n, a) {
2500
2606
  }
2501
2607
  };
2502
2608
  }
2503
- function Mt(e, n, a) {
2504
- const t = v[a];
2609
+ function Pt(e, a, n) {
2610
+ const t = C[n];
2505
2611
  if (!t)
2506
- throw new T(
2612
+ throw new g(
2507
2613
  "UNSUPPORTED_CHAIN",
2508
- `Chain ID ${a} is not supported`,
2509
- { chainId: a }
2614
+ `Chain ID ${n} is not supported`,
2615
+ { chainId: n }
2510
2616
  );
2511
- const s = ze(e, n, a);
2512
- return ve({
2513
- account: s,
2617
+ const r = tt(e, a, n);
2618
+ return Ne({
2619
+ account: r,
2514
2620
  chain: t,
2515
- transport: Re()
2621
+ transport: Se()
2516
2622
  // Uses default RPC
2517
2623
  });
2518
2624
  }
2519
- async function F({
2625
+ async function q({
2520
2626
  params: e,
2521
- publicClient: n,
2522
- walletClient: a,
2627
+ publicClient: a,
2628
+ walletClient: n,
2523
2629
  simulateArgs: t,
2524
- operation: s
2630
+ operation: r
2525
2631
  }) {
2526
- if (!H(e) && !Ne(e))
2527
- throw new T(
2632
+ if (!se(e) && !Oe(e))
2633
+ throw new g(
2528
2634
  "INVALID_PARAMETERS",
2529
2635
  'Must provide either "provider" or "signer" in parameters',
2530
- { params: e, operation: s }
2636
+ { params: e, operation: r }
2531
2637
  );
2532
- let r;
2638
+ let o;
2533
2639
  try {
2534
- r = await n.simulateContract(
2640
+ o = await a.simulateContract(
2535
2641
  t
2536
2642
  );
2537
- } catch (o) {
2538
- throw new T(
2643
+ } catch (s) {
2644
+ throw new g(
2539
2645
  "SIMULATION_FAILED",
2540
- `Failed to simulate ${s} transaction: ${o instanceof Error ? o.message : "Unknown error"}`,
2646
+ `Failed to simulate ${r} transaction: ${s instanceof Error ? s.message : "Unknown error"}`,
2541
2647
  {
2542
- operation: s,
2648
+ operation: r,
2543
2649
  simulateArgs: t,
2544
- error: o instanceof Error ? o.message : String(o)
2650
+ error: s instanceof Error ? s.message : String(s)
2545
2651
  }
2546
2652
  );
2547
2653
  }
2548
- const { request: i } = r;
2654
+ const { request: i } = o;
2549
2655
  if (!i.account)
2550
- throw new T(
2656
+ throw new g(
2551
2657
  "INVALID_SIMULATION",
2552
- `Simulation succeeded but no account was set for ${s}`,
2553
- { operation: s, request: i }
2658
+ `Simulation succeeded but no account was set for ${r}`,
2659
+ { operation: r, request: i }
2554
2660
  );
2555
2661
  if (!i.address)
2556
- throw new T(
2662
+ throw new g(
2557
2663
  "INVALID_SIMULATION",
2558
- `Simulation succeeded but no target address was set for ${s}`,
2559
- { operation: s, request: i }
2664
+ `Simulation succeeded but no target address was set for ${r}`,
2665
+ { operation: r, request: i }
2560
2666
  );
2561
- let p;
2562
- if (H(e)) {
2563
- if (!a)
2564
- throw new T(
2667
+ let u;
2668
+ if (se(e)) {
2669
+ if (!n)
2670
+ throw new g(
2565
2671
  "MISSING_WALLET_CLIENT",
2566
2672
  "Provider flow requires a wallet client",
2567
- { operation: s, params: e }
2673
+ { operation: r, params: e }
2568
2674
  );
2569
2675
  try {
2570
- p = await a.writeContract(i);
2571
- } catch (o) {
2572
- throw new T(
2676
+ u = await n.writeContract(i);
2677
+ } catch (s) {
2678
+ throw new g(
2573
2679
  "PROVIDER_TRANSACTION_FAILED",
2574
- `Failed to execute ${s} via provider: ${o instanceof Error ? o.message : "Unknown error"}`,
2680
+ `Failed to execute ${r} via provider: ${s instanceof Error ? s.message : "Unknown error"}`,
2575
2681
  {
2576
- operation: s,
2682
+ operation: r,
2577
2683
  request: i,
2578
- error: o instanceof Error ? o.message : String(o)
2684
+ error: s instanceof Error ? s.message : String(s)
2579
2685
  }
2580
2686
  );
2581
2687
  }
2582
2688
  } else
2583
2689
  try {
2584
- const o = v[e.chainId];
2585
- if (!o)
2586
- throw new T(
2690
+ const s = C[e.chainId];
2691
+ if (!s)
2692
+ throw new g(
2587
2693
  "UNSUPPORTED_CHAIN",
2588
2694
  `Chain ${e.chainId} not supported`,
2589
2695
  { chainId: e.chainId }
2590
2696
  );
2591
- const u = xe({
2697
+ const p = _e({
2592
2698
  abi: t.abi,
2593
2699
  functionName: t.functionName,
2594
2700
  args: t.args
2595
2701
  }), y = {
2596
2702
  from: e.account,
2597
2703
  to: i.address,
2598
- data: u,
2704
+ data: p,
2599
2705
  value: i.value,
2600
2706
  gas: i.gas,
2601
2707
  maxFeePerGas: i.maxFeePerGas,
2602
2708
  maxPriorityFeePerGas: i.maxPriorityFeePerGas,
2603
- chainId: `0x${o.id.toString(16)}`
2709
+ chainId: `0x${s.id.toString(16)}`
2604
2710
  };
2605
- le(y, s), p = await e.signer.sign(y, async (m) => await n.sendRawTransaction({
2711
+ ve(y, r), u = await e.signer.sign(y, async (m) => await a.sendRawTransaction({
2606
2712
  serializedTransaction: m
2607
2713
  }));
2608
- } catch (o) {
2609
- throw new T(
2714
+ } catch (s) {
2715
+ throw new g(
2610
2716
  "SIGNER_TRANSACTION_FAILED",
2611
- `Failed to execute ${s} via signer: ${o instanceof Error ? o.message : "Unknown error"}`,
2717
+ `Failed to execute ${r} via signer: ${s instanceof Error ? s.message : "Unknown error"}`,
2612
2718
  {
2613
- operation: s,
2719
+ operation: r,
2614
2720
  request: i,
2615
- error: o instanceof Error ? o.message : String(o)
2721
+ error: s instanceof Error ? s.message : String(s)
2616
2722
  }
2617
2723
  );
2618
2724
  }
2619
- return { txHash: p, request: i };
2725
+ return { txHash: u, request: i };
2620
2726
  }
2621
- async function je(e, n, a) {
2727
+ async function nt(e, a, n) {
2622
2728
  try {
2623
2729
  const t = await e.waitForTransactionReceipt({
2624
- hash: n
2730
+ hash: a
2625
2731
  });
2626
2732
  if (t.status === "reverted")
2627
- throw new T(
2733
+ throw new g(
2628
2734
  "TRANSACTION_REVERTED",
2629
- `${a} transaction reverted`,
2735
+ `${n} transaction reverted`,
2630
2736
  {
2631
- operation: a,
2632
- txHash: n,
2737
+ operation: n,
2738
+ txHash: a,
2633
2739
  receipt: {
2634
2740
  blockNumber: t.blockNumber,
2635
2741
  gasUsed: t.gasUsed
@@ -2638,18 +2744,18 @@ async function je(e, n, a) {
2638
2744
  );
2639
2745
  return t;
2640
2746
  } catch (t) {
2641
- throw t instanceof T ? t : new T(
2747
+ throw t instanceof g ? t : new g(
2642
2748
  "RECEIPT_WAIT_FAILED",
2643
- `Failed to wait for ${a} transaction receipt: ${t instanceof Error ? t.message : "Unknown error"}`,
2749
+ `Failed to wait for ${n} transaction receipt: ${t instanceof Error ? t.message : "Unknown error"}`,
2644
2750
  {
2645
- operation: a,
2646
- txHash: n,
2751
+ operation: n,
2752
+ txHash: a,
2647
2753
  error: t instanceof Error ? t.message : String(t)
2648
2754
  }
2649
2755
  );
2650
2756
  }
2651
2757
  }
2652
- const J = "0xe288fb4a", Q = "0x155b6b13", qe = {
2758
+ const de = "0xe288fb4a", le = "0x155b6b13", at = {
2653
2759
  type: "function",
2654
2760
  name: "MessageV1",
2655
2761
  inputs: [
@@ -2660,7 +2766,7 @@ const J = "0xe288fb4a", Q = "0x155b6b13", qe = {
2660
2766
  { name: "msgDestinationCaller", type: "bytes32" },
2661
2767
  { name: "msgBody", type: "bytes" }
2662
2768
  ]
2663
- }, Ze = {
2769
+ }, st = {
2664
2770
  type: "function",
2665
2771
  name: "mint",
2666
2772
  inputs: [
@@ -2669,53 +2775,53 @@ const J = "0xe288fb4a", Q = "0x155b6b13", qe = {
2669
2775
  { name: "amount", type: "uint256" }
2670
2776
  ]
2671
2777
  };
2672
- function Ye(e) {
2778
+ function it(e) {
2673
2779
  if (!e.startsWith("0x"))
2674
2780
  throw new Error("Payload must be 0x-prefixed hex");
2675
- const n = e.slice(0, 10);
2676
- if (n.toLowerCase() !== J.toLowerCase())
2781
+ const a = e.slice(0, 10);
2782
+ if (a.toLowerCase() !== de.toLowerCase())
2677
2783
  throw new Error(
2678
- `Invalid GMP selector: expected ${J}, got ${n}`
2784
+ `Invalid GMP selector: expected ${de}, got ${a}`
2679
2785
  );
2680
- const a = Z({
2681
- abi: [qe],
2786
+ const n = pe({
2787
+ abi: [at],
2682
2788
  data: e
2683
2789
  });
2684
- if (!a.args)
2790
+ if (!n.args)
2685
2791
  throw new Error("Failed to decode GMP payload: args is undefined");
2686
- const t = a.args[0], s = a.args[1], r = a.args[2], i = a.args[3], p = a.args[4], o = a.args[5];
2687
- if (typeof o != "string" || !o.startsWith("0x"))
2792
+ const t = n.args[0], r = n.args[1], o = n.args[2], i = n.args[3], u = n.args[4], s = n.args[5];
2793
+ if (typeof s != "string" || !s.startsWith("0x"))
2688
2794
  throw new Error("msgBody is not valid hex");
2689
- const u = o.slice(0, 10);
2690
- if (u.toLowerCase() !== Q.toLowerCase())
2795
+ const p = s.slice(0, 10);
2796
+ if (p.toLowerCase() !== le.toLowerCase())
2691
2797
  throw new Error(
2692
- `Invalid mint selector in body: expected ${Q}, got ${u}`
2798
+ `Invalid mint selector in body: expected ${le}, got ${p}`
2693
2799
  );
2694
- const y = Z({
2695
- abi: [Ze],
2696
- data: o
2800
+ const y = pe({
2801
+ abi: [st],
2802
+ data: s
2697
2803
  });
2698
2804
  if (!y.args)
2699
2805
  throw new Error("Failed to decode mint body: args is undefined");
2700
- const m = y.args[0], b = y.args[1], l = y.args[2];
2806
+ const m = y.args[0], c = y.args[1], l = y.args[2];
2701
2807
  return {
2702
- selector: n,
2808
+ selector: a,
2703
2809
  msgPath: t,
2704
- msgNonce: s,
2705
- msgSender: r,
2810
+ msgNonce: r,
2811
+ msgSender: o,
2706
2812
  msgRecipient: i,
2707
- msgDestinationCaller: p,
2708
- rawBody: o,
2813
+ msgDestinationCaller: u,
2814
+ rawBody: s,
2709
2815
  mint: {
2710
- selector: u,
2816
+ selector: p,
2711
2817
  toToken: m,
2712
- recipient: b,
2818
+ recipient: c,
2713
2819
  amount: l
2714
2820
  }
2715
2821
  };
2716
2822
  }
2717
- function Je(e, n) {
2718
- const { msgNonce: a, mint: t } = e, s = Ee(
2823
+ function rt(e, a) {
2824
+ const { msgNonce: n, mint: t } = e, r = Pe(
2719
2825
  [
2720
2826
  { name: "nonce", type: "uint256" },
2721
2827
  { name: "chainId", type: "uint256" },
@@ -2724,9 +2830,9 @@ function Je(e, n) {
2724
2830
  { name: "amount", type: "uint256" }
2725
2831
  ],
2726
2832
  [
2727
- BigInt(a),
2728
- // self.nonce
2729
2833
  BigInt(n),
2834
+ // self.nonce
2835
+ BigInt(a),
2730
2836
  // block.chainid
2731
2837
  t.recipient,
2732
2838
  // self.recipient
@@ -2736,9 +2842,9 @@ function Je(e, n) {
2736
2842
  // self.amount
2737
2843
  ]
2738
2844
  );
2739
- return se(s);
2845
+ return Te(r);
2740
2846
  }
2741
- const Qe = [
2847
+ const ot = [
2742
2848
  {
2743
2849
  inputs: [
2744
2850
  { internalType: "address", name: "aDefaultAdmin", type: "address" },
@@ -3390,172 +3496,172 @@ const Qe = [
3390
3496
  stateMutability: "view",
3391
3497
  type: "function"
3392
3498
  }
3393
- ], Xe = /* @__PURE__ */ 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"}]');
3394
- var L = /* @__PURE__ */ ((e) => (e[e.UNREPORTED = 0] = "UNREPORTED", e[e.REPORTED = 1] = "REPORTED", e[e.WITHDRAWN = 2] = "WITHDRAWN", e))(L || {});
3395
- async function et({
3499
+ ], ut = /* @__PURE__ */ 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"}]');
3500
+ var z = /* @__PURE__ */ ((e) => (e[e.UNREPORTED = 0] = "UNREPORTED", e[e.REPORTED = 1] = "REPORTED", e[e.WITHDRAWN = 2] = "WITHDRAWN", e))(z || {});
3501
+ async function pt({
3396
3502
  deposit: e,
3397
- rawPayload: n,
3398
- provider: a,
3503
+ rawPayload: a,
3504
+ provider: n,
3399
3505
  chainId: t,
3400
- rpcUrl: s,
3401
- env: r = G,
3506
+ rpcUrl: r,
3507
+ env: o = X,
3402
3508
  token: i = d.LBTC
3403
3509
  }) {
3404
- const p = (e == null ? void 0 : e.rawPayload) || n;
3405
- if (!p)
3510
+ const u = (e == null ? void 0 : e.rawPayload) || a;
3511
+ if (!u)
3406
3512
  throw new Error(
3407
3513
  "No 'rawPayload' or 'deposit' data provided. Please provide 'rawPayload' or 'deposit' parameter."
3408
3514
  );
3409
- const o = w({ chainId: t, rpcUrl: s, env: r }), u = await f(
3515
+ const s = A({ chainId: t, rpcUrl: r, env: o }), p = await R(
3410
3516
  i,
3411
3517
  t,
3412
- r,
3413
- A.Adapter
3518
+ o,
3519
+ S.Adapter
3414
3520
  );
3415
3521
  let y;
3416
- if (i === d.BTCb && (t === O.avalanche || t === O.avalancheFuji))
3417
- y = await o.readContract({
3418
- abi: u.abi,
3419
- address: u.address,
3522
+ if (i === d.BTCb && (t === K.avalanche || t === K.avalancheFuji))
3523
+ y = await s.readContract({
3524
+ abi: p.abi,
3525
+ address: p.address,
3420
3526
  functionName: "getBascule"
3421
3527
  });
3422
- else if (k(u.abi) && i === d.LBTC) {
3423
- const l = await o.readContract({
3424
- abi: u.abi,
3425
- address: u.address,
3528
+ else if (L(p.abi) && i === d.LBTC) {
3529
+ const l = await s.readContract({
3530
+ abi: p.abi,
3531
+ address: p.address,
3426
3532
  functionName: "getAssetRouter"
3427
3533
  });
3428
- y = await o.readContract({
3429
- abi: S,
3534
+ y = await s.readContract({
3535
+ abi: U,
3430
3536
  address: l,
3431
3537
  functionName: "bascule"
3432
3538
  });
3433
3539
  } else
3434
- y = await o.readContract({
3435
- abi: u.abi,
3436
- address: u.address,
3540
+ y = await s.readContract({
3541
+ abi: p.abi,
3542
+ address: p.address,
3437
3543
  functionName: "Bascule"
3438
3544
  });
3439
3545
  if (y === Ie)
3440
3546
  return 1;
3441
3547
  let m;
3442
- if (a ? m = R({ provider: a, chainId: t }) : m = w({ chainId: t, rpcUrl: s }), !m)
3548
+ if (n ? m = x({ provider: n, chainId: t }) : m = A({ chainId: t, rpcUrl: r }), !m)
3443
3549
  throw new Error(
3444
3550
  "Could not determine the client for the contract interactions. Please provide the 'provider' and 'chainId' parameters or 'chainId' and optionally the 'rpcUrl' parameter."
3445
3551
  );
3446
- const b = (_(t) || Ae(t) || ge(t) || Ce(t) || he(t)) && i === d.LBTC;
3552
+ const c = (G(t) || Re(t) || Me(t) || xe(t) || De(t)) && i === d.LBTC;
3447
3553
  try {
3448
- if (b) {
3449
- const h = p.startsWith("0x") ? p : `0x${p}`, M = Ye(h), B = Je(M, t), [, D] = await o.readContract({
3450
- abi: Qe,
3554
+ if (c) {
3555
+ const h = u.startsWith("0x") ? u : `0x${u}`, w = it(h), D = rt(w, t), [, B] = await s.readContract({
3556
+ abi: ot,
3451
3557
  address: y,
3452
3558
  functionName: "mintHistory",
3453
- args: [B]
3559
+ args: [D]
3454
3560
  });
3455
- return D;
3561
+ return B;
3456
3562
  }
3457
- const l = se(
3458
- Buffer.from(p.slice(8), "hex")
3563
+ const l = Te(
3564
+ Buffer.from(u.slice(8), "hex")
3459
3565
  );
3460
- return await ae({
3461
- abi: Xe,
3566
+ return await be({
3567
+ abi: ut,
3462
3568
  address: y,
3463
- client: o
3569
+ client: s
3464
3570
  }).read.depositHistory([
3465
3571
  l
3466
3572
  ]);
3467
3573
  } catch (l) {
3468
- throw new Error(X(l));
3574
+ throw new Error($(l));
3469
3575
  }
3470
3576
  }
3471
- async function vt({
3577
+ async function It({
3472
3578
  account: e,
3473
- token: n,
3474
- spender: a,
3579
+ token: a,
3580
+ spender: n,
3475
3581
  amount: t,
3476
- chainId: s,
3477
- provider: r,
3582
+ chainId: r,
3583
+ provider: o,
3478
3584
  rpcUrl: i,
3479
- env: p
3585
+ env: u
3480
3586
  }) {
3481
- const o = w({ chainId: s, rpcUrl: i, env: p }), u = R({ chainId: s, provider: r }), y = await ee(n, s, p, i);
3587
+ const s = A({ chainId: r, rpcUrl: i, env: u }), p = x({ chainId: r, provider: o }), y = await O(a, r, u, i);
3482
3588
  if (!y)
3483
- throw new Error(`Token info not found for ${n} on chain ${s}`);
3484
- const m = I(
3485
- z(g(t), y.decimals)
3486
- ), { request: b } = await o.simulateContract({
3589
+ throw new Error(`Token info not found for ${a} on chain ${r}`);
3590
+ const m = _(
3591
+ F(f(t), y.decimals)
3592
+ ), { request: c } = await s.simulateContract({
3487
3593
  address: y.address,
3488
3594
  account: e,
3489
- chain: v[s],
3595
+ chain: C[r],
3490
3596
  abi: y.abi,
3491
3597
  functionName: "approve",
3492
- args: [a, m]
3598
+ args: [n, m]
3493
3599
  });
3494
- return await u.writeContract(b);
3600
+ return await p.writeContract(c);
3495
3601
  }
3496
- async function Rt({
3602
+ async function $t({
3497
3603
  token: e,
3498
- owner: n,
3499
- spender: a,
3604
+ owner: a,
3605
+ spender: n,
3500
3606
  chainId: t,
3501
- rpcUrl: s,
3502
- env: r
3607
+ rpcUrl: r,
3608
+ env: o
3503
3609
  }) {
3504
- const i = w({ chainId: t, rpcUrl: s, env: r }), p = await ee(e, t, r, s);
3505
- if (!p)
3610
+ const i = A({ chainId: t, rpcUrl: r, env: o }), u = await O(e, t, o, r);
3611
+ if (!u)
3506
3612
  throw new Error(`Token info not found for ${e} on chain ${t}`);
3507
- const o = await i.readContract({
3508
- address: p.address,
3509
- abi: p.abi,
3613
+ const s = await i.readContract({
3614
+ address: u.address,
3615
+ abi: u.abi,
3510
3616
  functionName: "allowance",
3511
- args: [n, a]
3617
+ args: [a, n]
3512
3618
  });
3513
- return j(o.toString(), p.decimals);
3619
+ return W(s.toString(), u.decimals);
3514
3620
  }
3515
- const K = async (e, n, a) => {
3516
- const t = await e.estimateFeesPerGas(), s = g(String(t.maxFeePerGas)).dividedBy(
3621
+ const ie = async (e, a, n) => {
3622
+ const t = await e.estimateFeesPerGas(), r = f(String(t.maxFeePerGas)).dividedBy(
3517
3623
  String(t.maxPriorityFeePerGas)
3518
- ), r = a || t.maxPriorityFeePerGas, i = a ? BigInt(
3519
- g(String(r)).multipliedBy(s).toFixed(0)
3624
+ ), o = n || t.maxPriorityFeePerGas, i = n ? BigInt(
3625
+ f(String(o)).multipliedBy(r).toFixed(0)
3520
3626
  ) : t.maxFeePerGas;
3521
3627
  return {
3522
- gas: await e.estimateContractGas(n),
3628
+ gas: await e.estimateContractGas(a),
3523
3629
  maxFeePerGas: i,
3524
- maxPriorityFeePerGas: r
3630
+ maxPriorityFeePerGas: o
3525
3631
  };
3526
3632
  };
3527
- async function tt({
3633
+ async function yt({
3528
3634
  data: e,
3529
- proofSignature: n,
3530
- account: a,
3635
+ proofSignature: a,
3636
+ account: n,
3531
3637
  chainId: t,
3532
- provider: s,
3533
- rpcUrl: r,
3638
+ provider: r,
3639
+ rpcUrl: o,
3534
3640
  env: i,
3535
- token: p = d.LBTC
3641
+ token: u = d.LBTC
3536
3642
  }) {
3537
- if (![d.LBTC, d.BTCK, d.BTCb].includes(p))
3643
+ if (![d.LBTC, d.BTCK, d.BTCb].includes(u))
3538
3644
  throw new Error("Unsupported token");
3539
- if (p === d.BTCK && !_(t))
3645
+ if (u === d.BTCK && !G(t))
3540
3646
  throw new Error("Operation not permitted");
3541
- const o = await f(
3542
- p,
3647
+ const s = await R(
3648
+ u,
3543
3649
  t,
3544
3650
  i,
3545
- A.Adapter
3546
- ), u = await et({
3651
+ S.Adapter
3652
+ ), p = await pt({
3547
3653
  chainId: t,
3548
3654
  rawPayload: e,
3549
3655
  env: i,
3550
- token: p
3656
+ token: u
3551
3657
  });
3552
- if (u !== L.REPORTED)
3553
- switch (u) {
3554
- case L.UNREPORTED:
3658
+ if (p !== z.REPORTED)
3659
+ switch (p) {
3660
+ case z.UNREPORTED:
3555
3661
  throw new Error(
3556
3662
  "The deposit cannot be claimed because it is unreported or potentially still pending, please try again later."
3557
3663
  );
3558
- case L.WITHDRAWN:
3664
+ case z.WITHDRAWN:
3559
3665
  throw new Error(
3560
3666
  "The deposit cannot be claimed because it is withdrawn already."
3561
3667
  );
@@ -3564,121 +3670,121 @@ async function tt({
3564
3670
  "The deposit cannot be claimed because it is blocked by bridge security."
3565
3671
  );
3566
3672
  }
3567
- const y = w({ chainId: t, rpcUrl: r, env: i }), m = R({ chainId: t, provider: s }), b = {
3568
- address: o.address,
3569
- account: a,
3570
- chain: v[t],
3571
- abi: o.abi,
3572
- functionName: p === d.BTCK || p === d.BTCb ? "mintV1" : "mint",
3573
- args: [Y(e), Y(n)]
3574
- }, l = _(t) ? await K(y, b, W("1")) : {}, { request: c } = await y.simulateContract({
3575
- ...b,
3673
+ const y = A({ chainId: t, rpcUrl: o, env: i }), m = x({ chainId: t, provider: r }), c = {
3674
+ address: s.address,
3675
+ account: n,
3676
+ chain: C[t],
3677
+ abi: s.abi,
3678
+ functionName: u === d.BTCK || u === d.BTCb ? "mintV1" : "mint",
3679
+ args: [ye(e), ye(a)]
3680
+ }, l = G(t) ? await ie(y, c, ae("1")) : {}, { request: b } = await y.simulateContract({
3681
+ ...c,
3576
3682
  ...l
3577
3683
  });
3578
- return await m.writeContract(c);
3684
+ return await m.writeContract(b);
3579
3685
  }
3580
- async function Dt({
3686
+ async function Ft({
3581
3687
  data: e,
3582
- proofSignature: n,
3583
- account: a,
3688
+ proofSignature: a,
3689
+ account: n,
3584
3690
  chainId: t,
3585
- provider: s,
3586
- rpcUrl: r,
3691
+ provider: r,
3692
+ rpcUrl: o,
3587
3693
  env: i
3588
3694
  }) {
3589
- return tt({
3695
+ return yt({
3590
3696
  data: e,
3591
- proofSignature: n,
3592
- account: a,
3697
+ proofSignature: a,
3698
+ account: n,
3593
3699
  chainId: t,
3594
- provider: s,
3595
- rpcUrl: r,
3700
+ provider: r,
3701
+ rpcUrl: o,
3596
3702
  env: i,
3597
3703
  token: d.LBTC
3598
3704
  });
3599
3705
  }
3600
- const nt = [
3706
+ const dt = [
3601
3707
  {
3602
3708
  tokenIn: d.BTCb,
3603
3709
  tokenOut: d.LBTC
3604
3710
  }
3605
3711
  ];
3606
- async function xt({
3712
+ async function Lt({
3607
3713
  tokenIn: e,
3608
- chainId: n,
3609
- env: a,
3714
+ chainId: a,
3715
+ env: n,
3610
3716
  rpcUrl: t
3611
3717
  }) {
3612
- const s = w({ chainId: n, rpcUrl: t, env: a }), r = await f(
3718
+ const r = A({ chainId: a, rpcUrl: t, env: n }), o = await R(
3613
3719
  e,
3614
- n,
3615
3720
  a,
3616
- A.Adapter
3721
+ n,
3722
+ S.Adapter
3617
3723
  );
3618
- return await s.readContract({
3619
- address: r.address,
3620
- abi: r.abi,
3724
+ return await r.readContract({
3725
+ address: o.address,
3726
+ abi: o.abi,
3621
3727
  functionName: "getAssetRouter"
3622
3728
  });
3623
3729
  }
3624
- async function Et({
3730
+ async function Ot({
3625
3731
  account: e,
3626
- amount: n,
3627
- chainId: a,
3732
+ amount: a,
3733
+ chainId: n,
3628
3734
  env: t,
3629
- provider: s,
3630
- rpcUrl: r,
3735
+ provider: r,
3736
+ rpcUrl: o,
3631
3737
  tokenIn: i = d.BTCb,
3632
- tokenOut: p = d.LBTC
3738
+ tokenOut: u = d.LBTC
3633
3739
  }) {
3634
- if (!nt.find(
3635
- (N) => N.tokenIn === i && N.tokenOut === p
3740
+ if (!dt.find(
3741
+ (I) => I.tokenIn === i && I.tokenOut === u
3636
3742
  ))
3637
- throw new te(i, p, a, t);
3638
- const u = w({ chainId: a, rpcUrl: r, env: t }), y = R({ provider: s, chainId: a }), m = await f(
3743
+ throw new me(i, u, n, t);
3744
+ const p = A({ chainId: n, rpcUrl: o, env: t }), y = x({ provider: r, chainId: n }), m = await R(
3639
3745
  i,
3640
- a,
3746
+ n,
3641
3747
  t,
3642
- A.Adapter
3643
- ), b = await f(
3748
+ S.Adapter
3749
+ ), c = await R(
3644
3750
  i,
3645
- a,
3751
+ n,
3646
3752
  t,
3647
- A.Token
3648
- ), l = await f(
3649
- p,
3650
- a,
3753
+ S.Token
3754
+ ), l = await R(
3755
+ u,
3756
+ n,
3651
3757
  t,
3652
- A.Token
3653
- ), c = await ne(u, b);
3654
- if (!c)
3758
+ S.Token
3759
+ ), b = await ce(p, c);
3760
+ if (!b)
3655
3761
  throw new Error(
3656
- `Could not retrieve the properties of ${i} on ${a}`
3762
+ `Could not retrieve the properties of ${i} on ${n}`
3657
3763
  );
3658
- const C = await u.readContract({
3764
+ const T = await p.readContract({
3659
3765
  address: m.address,
3660
3766
  abi: m.abi,
3661
3767
  functionName: "getAssetRouter"
3662
- }), h = g(n), M = I(z(h, c.decimals)), B = await u.readContract({
3663
- address: c.address,
3664
- abi: c.abi,
3768
+ }), h = f(a), w = _(F(h, b.decimals)), D = await p.readContract({
3769
+ address: b.address,
3770
+ abi: b.abi,
3665
3771
  functionName: "balanceOf",
3666
3772
  args: [e]
3667
- }), D = j(B, c.decimals);
3668
- if (h.isGreaterThan(D))
3773
+ }), B = W(D, b.decimals);
3774
+ if (h.isGreaterThan(B))
3669
3775
  throw new Error(
3670
- `Unable to deposit ${h.toString()} ${c.symbol} because the amount exceeds the account's balance of ${D.toString()} ${c.symbol}`
3776
+ `Unable to deposit ${h.toString()} ${b.symbol} because the amount exceeds the account's balance of ${B.toString()} ${b.symbol}`
3671
3777
  );
3672
3778
  return await y.writeContract({
3673
- address: C,
3674
- abi: S,
3675
- chain: v[a],
3779
+ address: T,
3780
+ abi: U,
3781
+ chain: C[n],
3676
3782
  functionName: "deposit",
3677
- args: [e, l.address, M],
3783
+ args: [e, l.address, w],
3678
3784
  account: e
3679
3785
  });
3680
3786
  }
3681
- const at = [
3787
+ const lt = [
3682
3788
  // Redeem to BTC
3683
3789
  { tokenIn: d.LBTC },
3684
3790
  // -> BTC
@@ -3692,188 +3798,435 @@ const at = [
3692
3798
  { tokenIn: d.LBTC, tokenOut: d.BTCK }
3693
3799
  // -> Native LBTC
3694
3800
  ];
3695
- async function st(e) {
3801
+ async function mt(e) {
3696
3802
  const {
3697
- account: n,
3698
- amount: a,
3803
+ account: a,
3804
+ amount: n,
3699
3805
  btcAddress: t,
3700
- chainId: s,
3701
- env: r,
3806
+ chainId: r,
3807
+ env: o,
3702
3808
  rpcUrl: i,
3703
- tokenIn: p = d.LBTC,
3704
- tokenOut: o
3809
+ tokenIn: u = d.LBTC,
3810
+ tokenOut: s
3705
3811
  } = e;
3706
- if (!at.find(
3707
- (x) => x.tokenIn === p && x.tokenOut === o
3812
+ if (!lt.find(
3813
+ (E) => E.tokenIn === u && E.tokenOut === s
3708
3814
  ))
3709
- throw new te(p, o || "BTC", s, r);
3710
- const y = w({ chainId: s, rpcUrl: i, env: r }), m = H(e) ? R({ provider: e.provider, chainId: s }) : void 0, b = await f(
3711
- p,
3712
- s,
3815
+ throw new me(u, s || "BTC", r, o);
3816
+ const y = A({ chainId: r, rpcUrl: i, env: o }), m = se(e) ? x({ provider: e.provider, chainId: r }) : void 0, c = await R(
3817
+ u,
3713
3818
  r,
3714
- A.Token
3819
+ o,
3820
+ S.Token
3715
3821
  // get the token contract, not adapter
3716
- ), l = await ne(y, b);
3822
+ ), l = await ce(y, c);
3717
3823
  if (!l)
3718
3824
  throw new Error(
3719
- `Could not retrieve the properties of ${p} on ${s}`
3825
+ `Could not retrieve the properties of ${u} on ${r}`
3720
3826
  );
3721
- const c = z(a, l.decimals), C = await y.readContract({
3827
+ const b = F(n, l.decimals), T = await y.readContract({
3722
3828
  address: l.address,
3723
3829
  abi: l.abi,
3724
3830
  functionName: "balanceOf",
3725
- args: [n]
3726
- }), h = j(C, l.decimals);
3727
- if (c.isGreaterThan(C))
3831
+ args: [a]
3832
+ }), h = W(T, l.decimals);
3833
+ if (b.isGreaterThan(T))
3728
3834
  throw new Error(
3729
- `Unable to redeem ${String(a)} ${l.symbol} because the amount exceeds the account's balance of ${h.toString()} ${l.symbol}`
3835
+ `Unable to redeem ${String(n)} ${l.symbol} because the amount exceeds the account's balance of ${h.toString()} ${l.symbol}`
3730
3836
  );
3731
- if (!o) {
3837
+ if (!s) {
3732
3838
  if (!t)
3733
3839
  throw new Error("Missing parameter: `btcAddress`.");
3734
- const x = await Me(t, r);
3735
- if (p === d.BTCb && (s === O.avalanche || s === O.avalancheFuji)) {
3736
- const E = await f(
3737
- p,
3738
- s,
3840
+ const E = await Ee(t, o);
3841
+ if (u === d.BTCb && (r === K.avalanche || r === K.avalancheFuji)) {
3842
+ const M = await R(
3843
+ u,
3739
3844
  r,
3740
- A.Adapter
3741
- ), be = await y.readContract({
3742
- address: E.address,
3743
- abi: E.abi,
3845
+ o,
3846
+ S.Adapter
3847
+ ), N = await y.readContract({
3848
+ address: M.address,
3849
+ abi: M.abi,
3744
3850
  functionName: "getAssetRouter"
3745
- }), Te = await y.readContract({
3851
+ }), te = await y.readContract({
3746
3852
  address: l.address,
3747
3853
  abi: l.abi,
3748
3854
  functionName: "allowance",
3749
- args: [n, E.address]
3855
+ args: [a, M.address]
3750
3856
  });
3751
- if (c.isGreaterThan(Te)) {
3752
- const { txHash: we } = await F({
3857
+ if (b.isGreaterThan(te)) {
3858
+ const { txHash: v } = await q({
3753
3859
  params: e,
3754
3860
  publicClient: y,
3755
3861
  walletClient: m,
3756
3862
  simulateArgs: {
3757
3863
  address: l.address,
3758
3864
  abi: l.abi,
3759
- account: n,
3865
+ account: a,
3760
3866
  functionName: "approve",
3761
- args: [E.address, I(c)]
3867
+ args: [M.address, _(b)]
3762
3868
  },
3763
3869
  operation: "BTC.b approval"
3764
- }), q = await je(
3870
+ }), ue = await nt(
3765
3871
  y,
3766
- we,
3872
+ v,
3767
3873
  "BTC.b approval"
3768
3874
  );
3769
3875
  console.info(
3770
- `Approved adapter (${E.address}) for ${new g(a).toString()} ${l.symbol}`,
3771
- q.transactionHash,
3772
- q.status
3876
+ `Approved adapter (${M.address}) for ${new f(n).toString()} ${l.symbol}`,
3877
+ ue.transactionHash,
3878
+ ue.status
3773
3879
  );
3774
3880
  }
3775
- const { txHash: fe } = await F({
3881
+ const { txHash: ne } = await q({
3776
3882
  params: e,
3777
3883
  publicClient: y,
3778
3884
  walletClient: m,
3779
3885
  simulateArgs: {
3780
- address: be,
3781
- abi: S,
3782
- account: n,
3886
+ address: N,
3887
+ abi: U,
3888
+ account: a,
3783
3889
  functionName: "redeemForBtc",
3784
3890
  args: [
3785
- n,
3786
- E.address,
3787
- x,
3788
- I(c)
3891
+ a,
3892
+ M.address,
3893
+ E,
3894
+ _(b)
3789
3895
  ]
3790
3896
  },
3791
3897
  operation: "BTC.b redeemForBtc"
3792
3898
  });
3793
- return fe;
3899
+ return ne;
3794
3900
  }
3795
- const N = {
3901
+ const I = {
3796
3902
  abi: l.abi,
3797
3903
  address: l.address,
3798
- account: n,
3799
- chain: v[s],
3800
- functionName: k(l.abi) || p === d.BTCb ? "redeemForBtc" : "redeem",
3904
+ account: a,
3905
+ chain: C[r],
3906
+ functionName: L(l.abi) || u === d.BTCb ? "redeemForBtc" : "redeem",
3801
3907
  // legacy
3802
- args: [x, I(c)]
3803
- }, me = _(s) ? await K(y, N, W("1")) : {}, { txHash: ce } = await F({
3908
+ args: [E, _(b)]
3909
+ }, V = G(r) ? await ie(y, I, ae("1")) : {}, { txHash: P } = await q({
3804
3910
  params: e,
3805
3911
  publicClient: y,
3806
3912
  walletClient: m,
3807
3913
  simulateArgs: {
3808
- ...N,
3809
- account: n,
3810
- ...me
3914
+ ...I,
3915
+ account: a,
3916
+ ...V
3811
3917
  },
3812
- operation: `${p} redeem to BTC`
3918
+ operation: `${u} redeem to BTC`
3813
3919
  });
3814
- return ce;
3920
+ return P;
3815
3921
  }
3816
- if (!k(l.abi))
3922
+ if (!L(l.abi))
3817
3923
  throw new Error(
3818
- `The ${p} contract (${l.address}) doesn't support redemptions to ${o}.`
3924
+ `The ${u} contract (${l.address}) doesn't support redemptions to ${s}.`
3819
3925
  );
3820
- const M = {
3926
+ const w = {
3821
3927
  abi: l.abi,
3822
3928
  address: l.address,
3823
- account: n,
3824
- chain: v[s],
3929
+ account: a,
3930
+ chain: C[r],
3825
3931
  functionName: "redeem",
3826
- args: [I(c)]
3827
- }, B = _(s) ? await K(y, M, W("1")) : {}, { txHash: D } = await F({
3932
+ args: [_(b)]
3933
+ }, D = G(r) ? await ie(y, w, ae("1")) : {}, { txHash: B } = await q({
3828
3934
  params: e,
3829
3935
  publicClient: y,
3830
3936
  walletClient: m,
3831
3937
  simulateArgs: {
3832
- ...M,
3833
- account: n,
3834
- ...B
3938
+ ...w,
3939
+ account: a,
3940
+ ...D
3835
3941
  },
3836
- operation: `${p} redeem to ${o}`
3942
+ operation: `${u} redeem to ${s}`
3837
3943
  });
3838
- return D;
3944
+ return B;
3839
3945
  }
3840
- async function It(e) {
3841
- return st({
3946
+ async function Ut(e) {
3947
+ return mt({
3842
3948
  ...e,
3843
3949
  tokenIn: d.LBTC,
3844
3950
  tokenOut: void 0
3845
3951
  });
3846
3952
  }
3953
+ async function Vt({
3954
+ amount: e,
3955
+ approve: a = !0,
3956
+ token: n = d.LBTC,
3957
+ account: t,
3958
+ chainId: r,
3959
+ provider: o,
3960
+ rpcUrl: i,
3961
+ env: u
3962
+ }) {
3963
+ const s = Z;
3964
+ if (!oe(r))
3965
+ throw new Error(
3966
+ `Unsupported chain id: ${r}. Please switch to one of the supported chains: ${s.chains.join(", ")}`
3967
+ );
3968
+ const p = A({ chainId: r, rpcUrl: i }), y = x({ provider: o, chainId: r }), m = await O(n, r, u, i);
3969
+ if (!m)
3970
+ throw new Error(`Unknown withdraw token: ${n}`);
3971
+ const c = f(e), l = _(F(c, s.decimals)), b = await p.readContract({
3972
+ address: s.lensContract.address,
3973
+ abi: s.lensContract.abi,
3974
+ functionName: "balanceOf",
3975
+ args: [t, s.vaultContract.address]
3976
+ }), T = W(String(b), s.decimals), h = await p.readContract({
3977
+ address: s.vaultContract.address,
3978
+ abi: s.vaultContract.abi,
3979
+ functionName: "allowance",
3980
+ args: [t, s.withdrawQueueContracts[r].address]
3981
+ }), w = W(String(h), s.decimals);
3982
+ if (c.isGreaterThan(T))
3983
+ throw new Error(
3984
+ `The withdraw amount exceeds the account's balance.
3985
+ Withdraw amount: ${c.toFixed()}
3986
+ Balance: ${T.toFixed()}`
3987
+ );
3988
+ if (c.isGreaterThan(w)) {
3989
+ const V = `The withdraw amount exceeds allowance.
3990
+ Withdraw amount: ${c.toFixed()}
3991
+ Allowance: ${w.toFixed()}`;
3992
+ if (!a)
3993
+ throw new Error(V);
3994
+ try {
3995
+ console.info(`Trying to approve ${l}`);
3996
+ const { request: P } = await p.simulateContract({
3997
+ account: t,
3998
+ chain: C[r],
3999
+ address: s.vaultContract.address,
4000
+ abi: s.vaultContract.abi,
4001
+ functionName: "approve",
4002
+ args: [s.withdrawQueueContracts[r].address, l]
4003
+ }), M = await y.writeContract(P);
4004
+ console.info(`Approve tx hash: ${M}`), console.info(`Approved ${l} for ${s.vaultContract.address}`);
4005
+ } catch (P) {
4006
+ const M = $(P);
4007
+ throw new Error(
4008
+ `Could not approve ${l} for ${s.vaultContract.address}.
4009
+ Reason: ${M}`
4010
+ );
4011
+ }
4012
+ }
4013
+ const D = f(Date.now()).dividedBy(1e3).plus(f(s.queueWithdrawDaysValid).multipliedBy(ee / 1e3)).decimalPlaces(0, f.ROUND_DOWN), B = f(s.queueWithdrawDiscountPercent).multipliedBy(
4014
+ 1e4
4015
+ // 1% = 10000
4016
+ ), { request: E } = await p.simulateContract({
4017
+ account: t,
4018
+ chain: C[r],
4019
+ address: s.withdrawQueueContracts[r].address,
4020
+ abi: s.withdrawQueueContracts[r].abi,
4021
+ functionName: "safeUpdateAtomicRequest",
4022
+ args: [
4023
+ s.vaultContract.address,
4024
+ m.address,
4025
+ [D.toFixed(0), 0n, l, !1],
4026
+ s.accountantContract.address,
4027
+ B.toFixed(0)
4028
+ ]
4029
+ });
4030
+ return await y.writeContract(E);
4031
+ }
4032
+ async function Wt({
4033
+ token: e = d.LBTC,
4034
+ account: a,
4035
+ chainId: n,
4036
+ provider: t,
4037
+ rpcUrl: r,
4038
+ env: o
4039
+ }) {
4040
+ const i = Z;
4041
+ if (!oe(n))
4042
+ throw new Error(
4043
+ `Unsupported chain id: ${n}. Please switch to one of the supported chains: ${i.chains.join(", ")}`
4044
+ );
4045
+ const u = A({ chainId: n, rpcUrl: r }), s = x({ provider: t, chainId: n }), p = await O(e, n, o, r);
4046
+ if (!p)
4047
+ throw new Error(`Unknown withdraw token: ${e}`);
4048
+ const { request: y } = await u.simulateContract({
4049
+ account: a,
4050
+ chain: C[n],
4051
+ address: i.withdrawQueueContracts[n].address,
4052
+ abi: i.withdrawQueueContracts[n].abi,
4053
+ functionName: "updateAtomicRequest",
4054
+ args: [
4055
+ i.vaultContract.address,
4056
+ p.address,
4057
+ [0, 0, 0, !1]
4058
+ ]
4059
+ });
4060
+ return await s.writeContract(y);
4061
+ }
4062
+ async function Gt({
4063
+ amount: e,
4064
+ withdrawalAsset: a = d.LBTC,
4065
+ account: n,
4066
+ chainId: t,
4067
+ provider: r,
4068
+ rpcUrl: o,
4069
+ env: i
4070
+ }) {
4071
+ if (!oe(t))
4072
+ throw new Error(
4073
+ `Unsupported chain ${t}. Earn withdrawals are supported on: ${Z.chains.join(", ")}.`
4074
+ );
4075
+ const u = f(e);
4076
+ if (!u.isGreaterThan(0))
4077
+ throw new Error(
4078
+ `Withdraw amount must be greater than zero. Received: ${u.toFixed()}.`
4079
+ );
4080
+ const s = Z, p = s.vaultContract.address, y = s.accountantContract.address, m = s.lensContract.address, c = s.withdrawQueueContracts[t].address, l = s.withdrawQueueContracts[t].abi, b = await O(
4081
+ a,
4082
+ t,
4083
+ i,
4084
+ o
4085
+ );
4086
+ if (!b)
4087
+ throw new Error(
4088
+ `Could not resolve withdrawal asset ${a} on chain ${t}.`
4089
+ );
4090
+ const T = A({ chainId: t, rpcUrl: o }), h = x({ provider: r, chainId: t }), w = _(F(u, s.decimals)), D = re(t), B = await Promise.all([
4091
+ T.readContract({
4092
+ address: m,
4093
+ abi: s.lensContract.abi,
4094
+ functionName: "balanceOf",
4095
+ args: [n, p]
4096
+ }),
4097
+ D ? T.readContract({
4098
+ address: k.contracts[t],
4099
+ abi: k.abi,
4100
+ functionName: "balanceOf",
4101
+ args: [n]
4102
+ }) : Promise.resolve(0n),
4103
+ T.readContract({
4104
+ address: p,
4105
+ abi: j,
4106
+ functionName: "allowance",
4107
+ args: [n, c]
4108
+ })
4109
+ ]), E = B[0], I = B[1], V = B[2];
4110
+ if (w > E + I)
4111
+ throw new Error(
4112
+ `InsufficientPositionError: requested ${u.toFixed()} exceeds total position. underlyingBalance=${E.toString()}, btceBalance=${I.toString()}, amount=${w.toString()}.`
4113
+ );
4114
+ const P = w > E ? w - E : 0n;
4115
+ let M = 0n;
4116
+ if (D && P > 0n) {
4117
+ const v = await T.readContract({
4118
+ address: k.contracts[t],
4119
+ abi: k.abi,
4120
+ functionName: "maxWithdraw",
4121
+ args: [n]
4122
+ });
4123
+ if (v < P)
4124
+ throw new Error(
4125
+ `InsufficientUnwrappableError: needed ${P.toString()} but BTCe.maxWithdraw(${n}) returned ${v.toString()}. The wrapper position may have shrunk between balance read and unwrap. No transactions sent.`
4126
+ );
4127
+ M = P;
4128
+ }
4129
+ const N = {
4130
+ queueTxHash: "0x"
4131
+ // overwritten below
4132
+ };
4133
+ if (V < w)
4134
+ try {
4135
+ const { request: v } = await T.simulateContract({
4136
+ account: n,
4137
+ chain: C[t],
4138
+ address: p,
4139
+ abi: j,
4140
+ functionName: "approve",
4141
+ args: [c, $e]
4142
+ });
4143
+ N.approveTxHash = await h.writeContract(v), await T.waitForTransactionReceipt({
4144
+ hash: N.approveTxHash
4145
+ });
4146
+ } catch (v) {
4147
+ throw new Error(
4148
+ `Approval of underlying share for withdraw queue failed: ${$(v)}`
4149
+ );
4150
+ }
4151
+ if (M > 0n && D)
4152
+ try {
4153
+ const { request: v } = await T.simulateContract({
4154
+ account: n,
4155
+ chain: C[t],
4156
+ address: k.contracts[t],
4157
+ abi: k.abi,
4158
+ functionName: "withdraw",
4159
+ args: [M, n, n]
4160
+ });
4161
+ N.unwrapTxHash = await h.writeContract(v), await T.waitForTransactionReceipt({
4162
+ hash: N.unwrapTxHash
4163
+ });
4164
+ } catch (v) {
4165
+ throw new Error(
4166
+ `Unwrap from BTCe to underlying share failed: ${$(v)}. Approval${N.approveTxHash ? ` (${N.approveTxHash})` : ""} may already be in place.`
4167
+ );
4168
+ }
4169
+ const te = f(Date.now()).dividedBy(1e3).plus(f(s.queueWithdrawDaysValid).multipliedBy(ee / 1e3)).decimalPlaces(0, f.ROUND_DOWN), ne = f(s.queueWithdrawDiscountPercent).multipliedBy(
4170
+ 1e4
4171
+ );
4172
+ try {
4173
+ const { request: v } = await T.simulateContract({
4174
+ account: n,
4175
+ chain: C[t],
4176
+ address: c,
4177
+ abi: l,
4178
+ functionName: "safeUpdateAtomicRequest",
4179
+ args: [
4180
+ p,
4181
+ b.address,
4182
+ [BigInt(te.toFixed(0)), 0n, w, !1],
4183
+ y,
4184
+ BigInt(ne.toFixed(0))
4185
+ ]
4186
+ });
4187
+ N.queueTxHash = await h.writeContract(v);
4188
+ } catch (v) {
4189
+ throw new Error(
4190
+ `Queue withdrawal failed: ${$(v)}. Prior steps may have completed: approve=${N.approveTxHash ?? "n/a"}, unwrap=${N.unwrapTxHash ?? "n/a"}.`
4191
+ );
4192
+ }
4193
+ return N;
4194
+ }
3847
4195
  export {
3848
- S as ASSET_ROUTER_ABI,
3849
- L as BasculeDepositStatus,
3850
- T as SignerError,
3851
- vt as approveToken,
3852
- Dt as claimLBTC,
3853
- ze as createAccountFromSigner,
3854
- Mt as createWalletClientFromSigner,
3855
- Et as depositToken,
3856
- K as estimateGasFees,
3857
- Le as getAddressConfirmationMessage,
3858
- xt as getAssetRouterAddress,
3859
- et as getBasculeDepositStatus,
3860
- ft as getLBTCBurningFee,
3861
- Tt as getLBTCMintingFee,
3862
- Pe as getMinRedeemAmount,
3863
- wt as getMinRedeemAmountWithFee,
3864
- _e as getMintingFee,
3865
- Oe as getPermitNonce,
3866
- pe as getRedeemFee,
3867
- ye as getStakeAndBakeConfig,
3868
- At as getStakeAndBakeFee,
3869
- Rt as getTokenAllowance,
3870
- tt as mintToken,
3871
- st as redeemToken,
3872
- gt as signLbtcDestinationAddr,
3873
- Ct as signNetworkFee,
3874
- ht as signStakeAndBake,
3875
- It as unstakeLBTC,
3876
- le as validateTransactionRequest,
3877
- je as waitForTransactionReceipt
4196
+ U as ASSET_ROUTER_ABI,
4197
+ z as BasculeDepositStatus,
4198
+ g as SignerError,
4199
+ It as approveToken,
4200
+ Wt as cancelWithdrawInternal,
4201
+ Ft as claimLBTC,
4202
+ tt as createAccountFromSigner,
4203
+ Pt as createWalletClientFromSigner,
4204
+ _t as depositEarn,
4205
+ Ot as depositToken,
4206
+ ie as estimateGasFees,
4207
+ qe as getAddressConfirmationMessage,
4208
+ Lt as getAssetRouterAddress,
4209
+ pt as getBasculeDepositStatus,
4210
+ Dt as getLBTCBurningFee,
4211
+ xt as getLBTCMintingFee,
4212
+ Ge as getMinRedeemAmount,
4213
+ Et as getMinRedeemAmountWithFee,
4214
+ We as getMintingFee,
4215
+ ze as getPermitNonce,
4216
+ ge as getRedeemFee,
4217
+ Ae as getStakeAndBakeConfig,
4218
+ Bt as getStakeAndBakeFee,
4219
+ $t as getTokenAllowance,
4220
+ yt as mintToken,
4221
+ Vt as queueWithdrawInternal,
4222
+ mt as redeemToken,
4223
+ Nt as signLbtcDestinationAddr,
4224
+ St as signNetworkFee,
4225
+ kt as signStakeAndBake,
4226
+ Ut as unstakeLBTC,
4227
+ ve as validateTransactionRequest,
4228
+ nt as waitForTransactionReceipt,
4229
+ Gt as withdrawEarn,
4230
+ et as wrapToBtce
3878
4231
  };
3879
- //# sourceMappingURL=unstakeLBTC-Bg8OsAMV.js.map
4232
+ //# sourceMappingURL=withdrawEarn-QFaMhs0t.js.map