@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 +0,0 @@
1
- {"version":3,"file":"withdraw-Bkp5-2dG.cjs","sources":["../../src/vaults/lib/ops/deposit.ts","../../src/vaults/lib/ops/withdraw.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\n\nimport { makePublicClient } from '../../../clients/public-client';\nimport { makeWalletClient } from '../../../clients/wallet-client';\nimport { CHAIN_ID_TO_VIEM_CHAIN_MAP } from '../../../common/chains';\nimport { CommonWriteParameters } from '../../../common/parameters';\nimport { Token } from '../../../tokens/token-addresses';\nimport {\n fromBaseDenomination,\n getTokenInfo,\n toBaseDenomination,\n} from '../../../tokens/tokens';\nimport { getErrorMessage } from '../../../utils/err';\nimport toBigInt from '../../../utils/numbers';\nimport { isVedaVaultChain, Vault, VAULTS } from '../config';\n\nexport type DepositParameters = {\n /** The amount to be deposited into the DeFi vault. */\n amount: BigNumber.Value;\n /**\n * A flag determining whether the amount should be approved within\n * the execution of this function. If set to `false` it will\n * throw an error when the deposit amount exceeds allowance.\n */\n approve?: boolean;\n /** The optional deposit asset. */\n token?: Token;\n /** The vault identifier. */\n vaultKey?: Vault;\n} & CommonWriteParameters;\n\n/**\n * Deposits specified amount to the chosen DeFi vault.\n * @param {DepositParameters} parameters\n * @param {BigNumber.Value} parameters.amount - The deposit amount.\n * @param {boolean} parameters.approve - The optional flag determining whether approve actions should be performed.\n * @param {Token} parameters.token - The optional deposit asset.\n * @param {Vault} parameters.vaultKey - The vault identifier.\n * @param {Address} parameters.account - The EVM account address.\n * @param {ChainId} parameters.chainId - The chain id.\n * @param {EIP1193Provider} parameters.provider - The EIP1193 provider.\n * @param {string} parameters.rpcUrl - The optional rpc url.\n *\n * @returns {Promise<Hash>}\n */\nexport async function deposit({\n amount: amountRaw,\n approve = true,\n token = Token.LBTC,\n vaultKey = Vault.Veda,\n account,\n chainId,\n provider,\n rpcUrl,\n env,\n}: DepositParameters) {\n const vault = VAULTS[vaultKey];\n if (!vault) {\n throw new Error(`Unknown vault key: ${vaultKey}`);\n }\n\n if (!isVedaVaultChain(chainId)) {\n throw new Error(\n `Unsupported chain id: ${chainId}. Please switch to one of the supported chains: ${vault.chains.join(', ')}`,\n );\n }\n\n const publicClient = makePublicClient({ chainId, rpcUrl });\n const walletClient = makeWalletClient({ provider, chainId });\n\n const depositToken = await getTokenInfo(token, chainId, env, rpcUrl);\n if (!depositToken) {\n throw new Error(`Unknown deposit token: ${token}`);\n }\n\n const amount = BigNumber(amountRaw);\n const amountBase = toBigInt(\n toBaseDenomination(amount, depositToken.decimals),\n );\n\n const allowanceRaw = await publicClient.readContract({\n address: depositToken.address,\n abi: depositToken.abi,\n functionName: 'allowance',\n args: [account, vault.vaultContract.address],\n });\n const allowance = fromBaseDenomination(\n String(allowanceRaw),\n depositToken.decimals,\n );\n\n const balanceRaw = await publicClient.readContract({\n address: depositToken.address,\n abi: depositToken.abi,\n functionName: 'balanceOf',\n args: [account],\n });\n const balance = fromBaseDenomination(\n String(balanceRaw),\n depositToken.decimals,\n );\n\n // check if amount exceeds balance\n if (amount.isGreaterThan(balance)) {\n throw new Error(\n `The deposit amount exceeds the account's balance. \\nDeposit amount: ${amount.toFixed()} \\nBalance: ${balance.toFixed()}`,\n );\n }\n\n // check if amount exceeds allowance\n if (amount.isGreaterThan(allowance)) {\n const exceededMessage = `The deposit amount exceeds allowance. \\nDeposit amount: ${amount.toFixed()} \\nAllowance: ${allowance.toFixed()}`;\n if (!approve) {\n throw new Error(exceededMessage);\n }\n\n // try to approve new amount\n console.info(exceededMessage);\n try {\n console.info(`Trying to approve ${amountBase}`);\n const { request } = await publicClient.simulateContract({\n account,\n chain: CHAIN_ID_TO_VIEM_CHAIN_MAP[chainId],\n address: depositToken.address,\n abi: depositToken.abi,\n functionName: 'approve',\n args: [vault.vaultContract.address, amountBase],\n });\n\n const txHash = await walletClient.writeContract(request);\n console.info(`Approve tx hash: ${txHash}`);\n console.info(`Approved ${amountBase} for ${vault.vaultContract.address}`);\n } catch (err) {\n const msg = getErrorMessage(err);\n throw new Error(\n `Could not approve ${amountBase} for ${vault.vaultContract.address}. \\nReason: ${msg}`,\n );\n }\n }\n\n // deposit funds via the teller contract\n const { request } = await publicClient.simulateContract({\n account,\n chain: CHAIN_ID_TO_VIEM_CHAIN_MAP[chainId],\n address: vault.tellerContracts[chainId].address,\n abi: vault.tellerContracts[chainId].abi,\n functionName: 'deposit',\n args: [depositToken.address, amountBase, 0n],\n });\n const txHash = await walletClient.writeContract(request);\n return txHash;\n}\n","import BigNumber from 'bignumber.js';\n\nimport { makePublicClient } from '../../../clients/public-client';\nimport { makeWalletClient } from '../../../clients/wallet-client';\nimport { CHAIN_ID_TO_VIEM_CHAIN_MAP } from '../../../common/chains';\nimport { CommonWriteParameters } from '../../../common/parameters';\nimport { Token } from '../../../tokens/token-addresses';\nimport {\n fromBaseDenomination,\n getTokenInfo,\n toBaseDenomination,\n} from '../../../tokens/tokens';\nimport { getErrorMessage } from '../../../utils/err';\nimport toBigInt from '../../../utils/numbers';\nimport { DAY } from '../../../utils/time';\nimport { isVedaVaultChain, Vault, VAULTS } from '../config';\n\nexport type QueueWithdrawParameters = {\n /** The amount to be withdrawn from the DeFi vault. */\n amount: BigNumber.Value;\n /**\n * A flag determining whether the amount should be approved within\n * the execution of this function. If set to `false` it will\n * throw an error when the withdraw amount exceeds allowance.\n */\n approve?: boolean;\n /** The optional deposit asset. */\n token?: Token;\n /** The vault identifier. */\n vaultKey?: Vault;\n} & CommonWriteParameters;\n\n/**\n * Queues withdrawal from the DeFi vault.\n * @param {QueueWithdrawParameters} parameters - The parameters.\n * @param {BigNumber.Value} parameters.amount - The deposit amount.\n * @param {boolean} parameters.approve - The optional flag determining whether approve actions should be performed.\n * @param {Token} parameters.token - The optional deposit asset.\n * @param {Vault} parameters.vaultKey - The vault identifier.\n * @param {Address} parameters.account - The EVM account address.\n * @param {ChainId} parameters.chainId - The chain id.\n * @param {EIP1193Provider} parameters.provider - The EIP1193 provider.\n * @param {string} parameters.rpcUrl - The optional rpc url.\n *\n * @returns {Promise<Hash>}\n */\nexport async function queueWithdraw({\n amount: amountRaw,\n approve = true,\n token = Token.LBTC,\n vaultKey = Vault.Veda,\n account,\n chainId,\n provider,\n rpcUrl,\n env,\n}: QueueWithdrawParameters) {\n const vault = VAULTS[vaultKey];\n if (!vault) {\n throw new Error(`Unknown vault key: ${vaultKey}`);\n }\n\n if (!isVedaVaultChain(chainId)) {\n throw new Error(\n `Unsupported chain id: ${chainId}. Please switch to one of the supported chains: ${vault.chains.join(', ')}`,\n );\n }\n\n const publicClient = makePublicClient({ chainId, rpcUrl });\n const walletClient = makeWalletClient({ provider, chainId });\n\n const withdrawToken = await getTokenInfo(token, chainId, env, rpcUrl);\n if (!withdrawToken) {\n throw new Error(`Unknown withdraw token: ${token}`);\n }\n\n const amount = BigNumber(amountRaw);\n const amountBase = toBigInt(toBaseDenomination(amount, vault.decimals));\n\n const balanceRaw = await publicClient.readContract({\n address: vault.lensContract.address,\n abi: vault.lensContract.abi,\n functionName: 'balanceOf',\n args: [account, vault.vaultContract.address],\n });\n const balance = fromBaseDenomination(String(balanceRaw), vault.decimals);\n\n const allowanceRaw = await publicClient.readContract({\n address: vault.vaultContract.address,\n abi: vault.vaultContract.abi,\n functionName: 'allowance',\n args: [account, vault.withdrawQueueContracts[chainId].address],\n });\n const allowance = fromBaseDenomination(String(allowanceRaw), vault.decimals);\n\n // check if amount exceeds balance\n if (amount.isGreaterThan(balance)) {\n throw new Error(\n `The withdraw amount exceeds the account's balance. \\nWithdraw amount: ${amount.toFixed()} \\nBalance: ${balance.toFixed()}`,\n );\n }\n\n // check if amount exceeds allowance\n if (amount.isGreaterThan(allowance)) {\n const exceededMessage = `The withdraw amount exceeds allowance. \\nWithdraw amount: ${amount.toFixed()} \\nAllowance: ${allowance.toFixed()}`;\n if (!approve) {\n throw new Error(exceededMessage);\n }\n\n // try to approve new amount\n try {\n console.info(`Trying to approve ${amountBase}`);\n const { request } = await publicClient.simulateContract({\n account,\n chain: CHAIN_ID_TO_VIEM_CHAIN_MAP[chainId],\n address: vault.vaultContract.address,\n abi: vault.vaultContract.abi,\n functionName: 'approve',\n args: [vault.withdrawQueueContracts[chainId].address, amountBase],\n });\n\n const txHash = await walletClient.writeContract(request);\n console.info(`Approve tx hash: ${txHash}`);\n console.info(`Approved ${amountBase} for ${vault.vaultContract.address}`);\n } catch (err) {\n const msg = getErrorMessage(err);\n throw new Error(\n `Could not approve ${amountBase} for ${vault.vaultContract.address}. \\nReason: ${msg}`,\n );\n }\n }\n\n // queue withdraw vault token to wihdraw token via the withdraw queue contract\n const expiry = BigNumber(Date.now())\n .dividedBy(1000)\n .plus(BigNumber(vault.queueWithdrawDaysValid).multipliedBy(DAY / 1000))\n .decimalPlaces(0, BigNumber.ROUND_DOWN); // expiry = now(seconds) + days(seconds)\n\n const discount = BigNumber(vault.queueWithdrawDiscountPercent).multipliedBy(\n 10000, // 1% = 10000\n );\n\n const { request } = await publicClient.simulateContract({\n account,\n chain: CHAIN_ID_TO_VIEM_CHAIN_MAP[chainId],\n address: vault.withdrawQueueContracts[chainId].address,\n abi: vault.withdrawQueueContracts[chainId].abi,\n functionName: 'safeUpdateAtomicRequest',\n args: [\n vault.vaultContract.address,\n withdrawToken.address,\n [expiry.toFixed(0), 0n, amountBase, false],\n vault.accountantContract.address,\n discount.toFixed(0),\n ],\n });\n\n const txHash = await walletClient.writeContract(request);\n return txHash;\n}\n\nexport type CancelWithdrawParameters = Pick<\n QueueWithdrawParameters,\n 'token' | 'vaultKey'\n> &\n CommonWriteParameters;\n\n/**\n * Cancels queued withdrawal.\n * @param {CancelWithdrawParameters} parameters - The parameters.\n * @param {Token} parameters.token - The optional deposit asset.\n * @param {Vault} parameters.vaultKey - The vault identifier.\n * @param {Address} parameters.account - The EVM account address.\n * @param {ChainId} parameters.chainId - The chain id.\n * @param {EIP1193Provider} parameters.provider - The EIP1193 provider.\n * @param {string} parameters.rpcUrl - The optional rpc url.\n *\n * @returns {Promise<Hash>}\n * @returns\n */\nexport async function cancelWithdraw({\n token = Token.LBTC,\n vaultKey = Vault.Veda,\n account,\n chainId,\n provider,\n rpcUrl,\n env,\n}: CancelWithdrawParameters) {\n const vault = VAULTS[vaultKey];\n if (!vault) {\n throw new Error(`Unknown vault key: ${vaultKey}`);\n }\n\n if (!isVedaVaultChain(chainId)) {\n throw new Error(\n `Unsupported chain id: ${chainId}. Please switch to one of the supported chains: ${vault.chains.join(', ')}`,\n );\n }\n\n const publicClient = makePublicClient({ chainId, rpcUrl });\n const walletClient = makeWalletClient({ provider, chainId });\n\n const withdrawToken = await getTokenInfo(token, chainId, env, rpcUrl);\n if (!withdrawToken) {\n throw new Error(`Unknown withdraw token: ${token}`);\n }\n\n // cancel withdrawal via withdraw queue contract\n const { request } = await publicClient.simulateContract({\n account,\n chain: CHAIN_ID_TO_VIEM_CHAIN_MAP[chainId],\n address: vault.withdrawQueueContracts[chainId].address,\n abi: vault.withdrawQueueContracts[chainId].abi,\n functionName: 'updateAtomicRequest',\n args: [\n vault.vaultContract.address,\n withdrawToken.address,\n [0, 0, 0, false],\n ],\n });\n\n const txHash = await walletClient.writeContract(request);\n return txHash;\n}\n"],"names":["deposit","amountRaw","approve","token","Token","vaultKey","Vault","account","chainId","provider","rpcUrl","env","vault","VAULTS","isVedaVaultChain","publicClient","makePublicClient","walletClient","makeWalletClient","depositToken","getTokenInfo","amount","BigNumber","amountBase","toBigInt","toBaseDenomination","allowanceRaw","allowance","fromBaseDenomination","balanceRaw","balance","exceededMessage","request","CHAIN_ID_TO_VIEM_CHAIN_MAP","txHash","err","msg","getErrorMessage","queueWithdraw","withdrawToken","expiry","DAY","discount","cancelWithdraw"],"mappings":"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"}
@@ -1,209 +0,0 @@
1
- import m from "bignumber.js";
2
- import { makePublicClient as A, getTokenInfo as q, toBaseDenomination as V, fromBaseDenomination as g, getErrorMessage as W } from "./tokens-HhVpKe3K.js";
3
- import { makeWalletClient as y, Token as D, CHAIN_ID_TO_VIEM_CHAIN_MAP as b } from "./token-addresses-Ddar0FyS.js";
4
- import { toBigInt as P } from "./numbers-CclN2Ohk.js";
5
- import { Vault as F, isVedaVaultChain as H, VAULTS as R } from "./config-C8BfN_9P.js";
6
- import { DAY as Q } from "./time-Sa5gggPG.js";
7
- async function j({
8
- amount: l,
9
- approve: u = !0,
10
- token: d = D.LBTC,
11
- vaultKey: o = F.Veda,
12
- account: n,
13
- chainId: a,
14
- provider: f,
15
- rpcUrl: s,
16
- env: C
17
- }) {
18
- const t = R[o];
19
- if (!t)
20
- throw new Error(`Unknown vault key: ${o}`);
21
- if (!H(a))
22
- throw new Error(
23
- `Unsupported chain id: ${a}. Please switch to one of the supported chains: ${t.chains.join(", ")}`
24
- );
25
- const r = A({ chainId: a, rpcUrl: s }), w = y({ provider: f, chainId: a }), e = await q(d, a, C, s);
26
- if (!e)
27
- throw new Error(`Unknown deposit token: ${d}`);
28
- const i = m(l), c = P(
29
- V(i, e.decimals)
30
- ), T = await r.readContract({
31
- address: e.address,
32
- abi: e.abi,
33
- functionName: "allowance",
34
- args: [n, t.vaultContract.address]
35
- }), h = g(
36
- String(T),
37
- e.decimals
38
- ), E = await r.readContract({
39
- address: e.address,
40
- abi: e.abi,
41
- functionName: "balanceOf",
42
- args: [n]
43
- }), p = g(
44
- String(E),
45
- e.decimals
46
- );
47
- if (i.isGreaterThan(p))
48
- throw new Error(
49
- `The deposit amount exceeds the account's balance.
50
- Deposit amount: ${i.toFixed()}
51
- Balance: ${p.toFixed()}`
52
- );
53
- if (i.isGreaterThan(h)) {
54
- const x = `The deposit amount exceeds allowance.
55
- Deposit amount: ${i.toFixed()}
56
- Allowance: ${h.toFixed()}`;
57
- if (!u)
58
- throw new Error(x);
59
- console.info(x);
60
- try {
61
- console.info(`Trying to approve ${c}`);
62
- const { request: v } = await r.simulateContract({
63
- account: n,
64
- chain: b[a],
65
- address: e.address,
66
- abi: e.abi,
67
- functionName: "approve",
68
- args: [t.vaultContract.address, c]
69
- }), $ = await w.writeContract(v);
70
- console.info(`Approve tx hash: ${$}`), console.info(`Approved ${c} for ${t.vaultContract.address}`);
71
- } catch (v) {
72
- const $ = W(v);
73
- throw new Error(
74
- `Could not approve ${c} for ${t.vaultContract.address}.
75
- Reason: ${$}`
76
- );
77
- }
78
- }
79
- const { request: k } = await r.simulateContract({
80
- account: n,
81
- chain: b[a],
82
- address: t.tellerContracts[a].address,
83
- abi: t.tellerContracts[a].abi,
84
- functionName: "deposit",
85
- args: [e.address, c, 0n]
86
- });
87
- return await w.writeContract(k);
88
- }
89
- async function Y({
90
- amount: l,
91
- approve: u = !0,
92
- token: d = D.LBTC,
93
- vaultKey: o = F.Veda,
94
- account: n,
95
- chainId: a,
96
- provider: f,
97
- rpcUrl: s,
98
- env: C
99
- }) {
100
- const t = R[o];
101
- if (!t)
102
- throw new Error(`Unknown vault key: ${o}`);
103
- if (!H(a))
104
- throw new Error(
105
- `Unsupported chain id: ${a}. Please switch to one of the supported chains: ${t.chains.join(", ")}`
106
- );
107
- const r = A({ chainId: a, rpcUrl: s }), w = y({ provider: f, chainId: a }), e = await q(d, a, C, s);
108
- if (!e)
109
- throw new Error(`Unknown withdraw token: ${d}`);
110
- const i = m(l), c = P(V(i, t.decimals)), T = await r.readContract({
111
- address: t.lensContract.address,
112
- abi: t.lensContract.abi,
113
- functionName: "balanceOf",
114
- args: [n, t.vaultContract.address]
115
- }), h = g(String(T), t.decimals), E = await r.readContract({
116
- address: t.vaultContract.address,
117
- abi: t.vaultContract.abi,
118
- functionName: "allowance",
119
- args: [n, t.withdrawQueueContracts[a].address]
120
- }), p = g(String(E), t.decimals);
121
- if (i.isGreaterThan(h))
122
- throw new Error(
123
- `The withdraw amount exceeds the account's balance.
124
- Withdraw amount: ${i.toFixed()}
125
- Balance: ${h.toFixed()}`
126
- );
127
- if (i.isGreaterThan(p)) {
128
- const $ = `The withdraw amount exceeds allowance.
129
- Withdraw amount: ${i.toFixed()}
130
- Allowance: ${p.toFixed()}`;
131
- if (!u)
132
- throw new Error($);
133
- try {
134
- console.info(`Trying to approve ${c}`);
135
- const { request: B } = await r.simulateContract({
136
- account: n,
137
- chain: b[a],
138
- address: t.vaultContract.address,
139
- abi: t.vaultContract.abi,
140
- functionName: "approve",
141
- args: [t.withdrawQueueContracts[a].address, c]
142
- }), N = await w.writeContract(B);
143
- console.info(`Approve tx hash: ${N}`), console.info(`Approved ${c} for ${t.vaultContract.address}`);
144
- } catch (B) {
145
- const N = W(B);
146
- throw new Error(
147
- `Could not approve ${c} for ${t.vaultContract.address}.
148
- Reason: ${N}`
149
- );
150
- }
151
- }
152
- const k = m(Date.now()).dividedBy(1e3).plus(m(t.queueWithdrawDaysValid).multipliedBy(Q / 1e3)).decimalPlaces(0, m.ROUND_DOWN), U = m(t.queueWithdrawDiscountPercent).multipliedBy(
153
- 1e4
154
- // 1% = 10000
155
- ), { request: x } = await r.simulateContract({
156
- account: n,
157
- chain: b[a],
158
- address: t.withdrawQueueContracts[a].address,
159
- abi: t.withdrawQueueContracts[a].abi,
160
- functionName: "safeUpdateAtomicRequest",
161
- args: [
162
- t.vaultContract.address,
163
- e.address,
164
- [k.toFixed(0), 0n, c, !1],
165
- t.accountantContract.address,
166
- U.toFixed(0)
167
- ]
168
- });
169
- return await w.writeContract(x);
170
- }
171
- async function z({
172
- token: l = D.LBTC,
173
- vaultKey: u = F.Veda,
174
- account: d,
175
- chainId: o,
176
- provider: n,
177
- rpcUrl: a,
178
- env: f
179
- }) {
180
- const s = R[u];
181
- if (!s)
182
- throw new Error(`Unknown vault key: ${u}`);
183
- if (!H(o))
184
- throw new Error(
185
- `Unsupported chain id: ${o}. Please switch to one of the supported chains: ${s.chains.join(", ")}`
186
- );
187
- const C = A({ chainId: o, rpcUrl: a }), t = y({ provider: n, chainId: o }), r = await q(l, o, f, a);
188
- if (!r)
189
- throw new Error(`Unknown withdraw token: ${l}`);
190
- const { request: w } = await C.simulateContract({
191
- account: d,
192
- chain: b[o],
193
- address: s.withdrawQueueContracts[o].address,
194
- abi: s.withdrawQueueContracts[o].abi,
195
- functionName: "updateAtomicRequest",
196
- args: [
197
- s.vaultContract.address,
198
- r.address,
199
- [0, 0, 0, !1]
200
- ]
201
- });
202
- return await t.writeContract(w);
203
- }
204
- export {
205
- z as cancelWithdraw,
206
- j as deposit,
207
- Y as queueWithdraw
208
- };
209
- //# sourceMappingURL=withdraw-kf8mYbYH.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"withdraw-kf8mYbYH.js","sources":["../../src/vaults/lib/ops/deposit.ts","../../src/vaults/lib/ops/withdraw.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\n\nimport { makePublicClient } from '../../../clients/public-client';\nimport { makeWalletClient } from '../../../clients/wallet-client';\nimport { CHAIN_ID_TO_VIEM_CHAIN_MAP } from '../../../common/chains';\nimport { CommonWriteParameters } from '../../../common/parameters';\nimport { Token } from '../../../tokens/token-addresses';\nimport {\n fromBaseDenomination,\n getTokenInfo,\n toBaseDenomination,\n} from '../../../tokens/tokens';\nimport { getErrorMessage } from '../../../utils/err';\nimport toBigInt from '../../../utils/numbers';\nimport { isVedaVaultChain, Vault, VAULTS } from '../config';\n\nexport type DepositParameters = {\n /** The amount to be deposited into the DeFi vault. */\n amount: BigNumber.Value;\n /**\n * A flag determining whether the amount should be approved within\n * the execution of this function. If set to `false` it will\n * throw an error when the deposit amount exceeds allowance.\n */\n approve?: boolean;\n /** The optional deposit asset. */\n token?: Token;\n /** The vault identifier. */\n vaultKey?: Vault;\n} & CommonWriteParameters;\n\n/**\n * Deposits specified amount to the chosen DeFi vault.\n * @param {DepositParameters} parameters\n * @param {BigNumber.Value} parameters.amount - The deposit amount.\n * @param {boolean} parameters.approve - The optional flag determining whether approve actions should be performed.\n * @param {Token} parameters.token - The optional deposit asset.\n * @param {Vault} parameters.vaultKey - The vault identifier.\n * @param {Address} parameters.account - The EVM account address.\n * @param {ChainId} parameters.chainId - The chain id.\n * @param {EIP1193Provider} parameters.provider - The EIP1193 provider.\n * @param {string} parameters.rpcUrl - The optional rpc url.\n *\n * @returns {Promise<Hash>}\n */\nexport async function deposit({\n amount: amountRaw,\n approve = true,\n token = Token.LBTC,\n vaultKey = Vault.Veda,\n account,\n chainId,\n provider,\n rpcUrl,\n env,\n}: DepositParameters) {\n const vault = VAULTS[vaultKey];\n if (!vault) {\n throw new Error(`Unknown vault key: ${vaultKey}`);\n }\n\n if (!isVedaVaultChain(chainId)) {\n throw new Error(\n `Unsupported chain id: ${chainId}. Please switch to one of the supported chains: ${vault.chains.join(', ')}`,\n );\n }\n\n const publicClient = makePublicClient({ chainId, rpcUrl });\n const walletClient = makeWalletClient({ provider, chainId });\n\n const depositToken = await getTokenInfo(token, chainId, env, rpcUrl);\n if (!depositToken) {\n throw new Error(`Unknown deposit token: ${token}`);\n }\n\n const amount = BigNumber(amountRaw);\n const amountBase = toBigInt(\n toBaseDenomination(amount, depositToken.decimals),\n );\n\n const allowanceRaw = await publicClient.readContract({\n address: depositToken.address,\n abi: depositToken.abi,\n functionName: 'allowance',\n args: [account, vault.vaultContract.address],\n });\n const allowance = fromBaseDenomination(\n String(allowanceRaw),\n depositToken.decimals,\n );\n\n const balanceRaw = await publicClient.readContract({\n address: depositToken.address,\n abi: depositToken.abi,\n functionName: 'balanceOf',\n args: [account],\n });\n const balance = fromBaseDenomination(\n String(balanceRaw),\n depositToken.decimals,\n );\n\n // check if amount exceeds balance\n if (amount.isGreaterThan(balance)) {\n throw new Error(\n `The deposit amount exceeds the account's balance. \\nDeposit amount: ${amount.toFixed()} \\nBalance: ${balance.toFixed()}`,\n );\n }\n\n // check if amount exceeds allowance\n if (amount.isGreaterThan(allowance)) {\n const exceededMessage = `The deposit amount exceeds allowance. \\nDeposit amount: ${amount.toFixed()} \\nAllowance: ${allowance.toFixed()}`;\n if (!approve) {\n throw new Error(exceededMessage);\n }\n\n // try to approve new amount\n console.info(exceededMessage);\n try {\n console.info(`Trying to approve ${amountBase}`);\n const { request } = await publicClient.simulateContract({\n account,\n chain: CHAIN_ID_TO_VIEM_CHAIN_MAP[chainId],\n address: depositToken.address,\n abi: depositToken.abi,\n functionName: 'approve',\n args: [vault.vaultContract.address, amountBase],\n });\n\n const txHash = await walletClient.writeContract(request);\n console.info(`Approve tx hash: ${txHash}`);\n console.info(`Approved ${amountBase} for ${vault.vaultContract.address}`);\n } catch (err) {\n const msg = getErrorMessage(err);\n throw new Error(\n `Could not approve ${amountBase} for ${vault.vaultContract.address}. \\nReason: ${msg}`,\n );\n }\n }\n\n // deposit funds via the teller contract\n const { request } = await publicClient.simulateContract({\n account,\n chain: CHAIN_ID_TO_VIEM_CHAIN_MAP[chainId],\n address: vault.tellerContracts[chainId].address,\n abi: vault.tellerContracts[chainId].abi,\n functionName: 'deposit',\n args: [depositToken.address, amountBase, 0n],\n });\n const txHash = await walletClient.writeContract(request);\n return txHash;\n}\n","import BigNumber from 'bignumber.js';\n\nimport { makePublicClient } from '../../../clients/public-client';\nimport { makeWalletClient } from '../../../clients/wallet-client';\nimport { CHAIN_ID_TO_VIEM_CHAIN_MAP } from '../../../common/chains';\nimport { CommonWriteParameters } from '../../../common/parameters';\nimport { Token } from '../../../tokens/token-addresses';\nimport {\n fromBaseDenomination,\n getTokenInfo,\n toBaseDenomination,\n} from '../../../tokens/tokens';\nimport { getErrorMessage } from '../../../utils/err';\nimport toBigInt from '../../../utils/numbers';\nimport { DAY } from '../../../utils/time';\nimport { isVedaVaultChain, Vault, VAULTS } from '../config';\n\nexport type QueueWithdrawParameters = {\n /** The amount to be withdrawn from the DeFi vault. */\n amount: BigNumber.Value;\n /**\n * A flag determining whether the amount should be approved within\n * the execution of this function. If set to `false` it will\n * throw an error when the withdraw amount exceeds allowance.\n */\n approve?: boolean;\n /** The optional deposit asset. */\n token?: Token;\n /** The vault identifier. */\n vaultKey?: Vault;\n} & CommonWriteParameters;\n\n/**\n * Queues withdrawal from the DeFi vault.\n * @param {QueueWithdrawParameters} parameters - The parameters.\n * @param {BigNumber.Value} parameters.amount - The deposit amount.\n * @param {boolean} parameters.approve - The optional flag determining whether approve actions should be performed.\n * @param {Token} parameters.token - The optional deposit asset.\n * @param {Vault} parameters.vaultKey - The vault identifier.\n * @param {Address} parameters.account - The EVM account address.\n * @param {ChainId} parameters.chainId - The chain id.\n * @param {EIP1193Provider} parameters.provider - The EIP1193 provider.\n * @param {string} parameters.rpcUrl - The optional rpc url.\n *\n * @returns {Promise<Hash>}\n */\nexport async function queueWithdraw({\n amount: amountRaw,\n approve = true,\n token = Token.LBTC,\n vaultKey = Vault.Veda,\n account,\n chainId,\n provider,\n rpcUrl,\n env,\n}: QueueWithdrawParameters) {\n const vault = VAULTS[vaultKey];\n if (!vault) {\n throw new Error(`Unknown vault key: ${vaultKey}`);\n }\n\n if (!isVedaVaultChain(chainId)) {\n throw new Error(\n `Unsupported chain id: ${chainId}. Please switch to one of the supported chains: ${vault.chains.join(', ')}`,\n );\n }\n\n const publicClient = makePublicClient({ chainId, rpcUrl });\n const walletClient = makeWalletClient({ provider, chainId });\n\n const withdrawToken = await getTokenInfo(token, chainId, env, rpcUrl);\n if (!withdrawToken) {\n throw new Error(`Unknown withdraw token: ${token}`);\n }\n\n const amount = BigNumber(amountRaw);\n const amountBase = toBigInt(toBaseDenomination(amount, vault.decimals));\n\n const balanceRaw = await publicClient.readContract({\n address: vault.lensContract.address,\n abi: vault.lensContract.abi,\n functionName: 'balanceOf',\n args: [account, vault.vaultContract.address],\n });\n const balance = fromBaseDenomination(String(balanceRaw), vault.decimals);\n\n const allowanceRaw = await publicClient.readContract({\n address: vault.vaultContract.address,\n abi: vault.vaultContract.abi,\n functionName: 'allowance',\n args: [account, vault.withdrawQueueContracts[chainId].address],\n });\n const allowance = fromBaseDenomination(String(allowanceRaw), vault.decimals);\n\n // check if amount exceeds balance\n if (amount.isGreaterThan(balance)) {\n throw new Error(\n `The withdraw amount exceeds the account's balance. \\nWithdraw amount: ${amount.toFixed()} \\nBalance: ${balance.toFixed()}`,\n );\n }\n\n // check if amount exceeds allowance\n if (amount.isGreaterThan(allowance)) {\n const exceededMessage = `The withdraw amount exceeds allowance. \\nWithdraw amount: ${amount.toFixed()} \\nAllowance: ${allowance.toFixed()}`;\n if (!approve) {\n throw new Error(exceededMessage);\n }\n\n // try to approve new amount\n try {\n console.info(`Trying to approve ${amountBase}`);\n const { request } = await publicClient.simulateContract({\n account,\n chain: CHAIN_ID_TO_VIEM_CHAIN_MAP[chainId],\n address: vault.vaultContract.address,\n abi: vault.vaultContract.abi,\n functionName: 'approve',\n args: [vault.withdrawQueueContracts[chainId].address, amountBase],\n });\n\n const txHash = await walletClient.writeContract(request);\n console.info(`Approve tx hash: ${txHash}`);\n console.info(`Approved ${amountBase} for ${vault.vaultContract.address}`);\n } catch (err) {\n const msg = getErrorMessage(err);\n throw new Error(\n `Could not approve ${amountBase} for ${vault.vaultContract.address}. \\nReason: ${msg}`,\n );\n }\n }\n\n // queue withdraw vault token to wihdraw token via the withdraw queue contract\n const expiry = BigNumber(Date.now())\n .dividedBy(1000)\n .plus(BigNumber(vault.queueWithdrawDaysValid).multipliedBy(DAY / 1000))\n .decimalPlaces(0, BigNumber.ROUND_DOWN); // expiry = now(seconds) + days(seconds)\n\n const discount = BigNumber(vault.queueWithdrawDiscountPercent).multipliedBy(\n 10000, // 1% = 10000\n );\n\n const { request } = await publicClient.simulateContract({\n account,\n chain: CHAIN_ID_TO_VIEM_CHAIN_MAP[chainId],\n address: vault.withdrawQueueContracts[chainId].address,\n abi: vault.withdrawQueueContracts[chainId].abi,\n functionName: 'safeUpdateAtomicRequest',\n args: [\n vault.vaultContract.address,\n withdrawToken.address,\n [expiry.toFixed(0), 0n, amountBase, false],\n vault.accountantContract.address,\n discount.toFixed(0),\n ],\n });\n\n const txHash = await walletClient.writeContract(request);\n return txHash;\n}\n\nexport type CancelWithdrawParameters = Pick<\n QueueWithdrawParameters,\n 'token' | 'vaultKey'\n> &\n CommonWriteParameters;\n\n/**\n * Cancels queued withdrawal.\n * @param {CancelWithdrawParameters} parameters - The parameters.\n * @param {Token} parameters.token - The optional deposit asset.\n * @param {Vault} parameters.vaultKey - The vault identifier.\n * @param {Address} parameters.account - The EVM account address.\n * @param {ChainId} parameters.chainId - The chain id.\n * @param {EIP1193Provider} parameters.provider - The EIP1193 provider.\n * @param {string} parameters.rpcUrl - The optional rpc url.\n *\n * @returns {Promise<Hash>}\n * @returns\n */\nexport async function cancelWithdraw({\n token = Token.LBTC,\n vaultKey = Vault.Veda,\n account,\n chainId,\n provider,\n rpcUrl,\n env,\n}: CancelWithdrawParameters) {\n const vault = VAULTS[vaultKey];\n if (!vault) {\n throw new Error(`Unknown vault key: ${vaultKey}`);\n }\n\n if (!isVedaVaultChain(chainId)) {\n throw new Error(\n `Unsupported chain id: ${chainId}. Please switch to one of the supported chains: ${vault.chains.join(', ')}`,\n );\n }\n\n const publicClient = makePublicClient({ chainId, rpcUrl });\n const walletClient = makeWalletClient({ provider, chainId });\n\n const withdrawToken = await getTokenInfo(token, chainId, env, rpcUrl);\n if (!withdrawToken) {\n throw new Error(`Unknown withdraw token: ${token}`);\n }\n\n // cancel withdrawal via withdraw queue contract\n const { request } = await publicClient.simulateContract({\n account,\n chain: CHAIN_ID_TO_VIEM_CHAIN_MAP[chainId],\n address: vault.withdrawQueueContracts[chainId].address,\n abi: vault.withdrawQueueContracts[chainId].abi,\n functionName: 'updateAtomicRequest',\n args: [\n vault.vaultContract.address,\n withdrawToken.address,\n [0, 0, 0, false],\n ],\n });\n\n const txHash = await walletClient.writeContract(request);\n return txHash;\n}\n"],"names":["deposit","amountRaw","approve","token","Token","vaultKey","Vault","account","chainId","provider","rpcUrl","env","vault","VAULTS","isVedaVaultChain","publicClient","makePublicClient","walletClient","makeWalletClient","depositToken","getTokenInfo","amount","BigNumber","amountBase","toBigInt","toBaseDenomination","allowanceRaw","allowance","fromBaseDenomination","balanceRaw","balance","exceededMessage","request","CHAIN_ID_TO_VIEM_CHAIN_MAP","txHash","err","msg","getErrorMessage","queueWithdraw","withdrawToken","expiry","DAY","discount","cancelWithdraw"],"mappings":"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"}
@@ -1,298 +0,0 @@
1
- import { determineEnv as M, makePublicClient as d, getTokenContractInfo as V, getErrorMessage as E, toBaseDenomination as T } from "./tokens-HhVpKe3K.js";
2
- import { Token as k, makeWalletClient as y, AddressKind as O, CHAIN_ID_TO_VIEM_CHAIN_MAP as R, isKatanaChain as P } from "./token-addresses-Ddar0FyS.js";
3
- import { fromSatoshi as C } from "./satoshi-CSoJBXc6.js";
4
- import { p as j } from "./index-CfcQ_g3t.js";
5
- import { zeroAddress as D, parseGwei as F, isAddress as h, getContract as B } from "viem";
6
- import { estimateGasFees as H, ASSET_ROUTER_ABI as W } from "./unstakeLBTC-Bg8OsAMV.js";
7
- import { ensureHex as A } from "./time-Sa5gggPG.js";
8
- import { isBtceVaultChain as S, BTCE_VAULT as w, Vault as _, isVedaVaultChain as L, VAULTS as N, BTCE_VAULT_DECIMALS as v } from "./config-C8BfN_9P.js";
9
- import g from "bignumber.js";
10
- import { toBigInt as $ } from "./numbers-CclN2Ohk.js";
11
- async function nt({
12
- chainId: t,
13
- rpcUrl: n,
14
- env: a
15
- }) {
16
- const r = a || M(t), e = d({ chainId: t, rpcUrl: n, env: r }), o = await V(
17
- k.LBTC,
18
- t,
19
- r
20
- ), s = await e.readContract({
21
- abi: o.abi,
22
- address: o.address,
23
- functionName: "totalSupply"
24
- });
25
- return C(String(s));
26
- }
27
- async function ot({
28
- data: t,
29
- proofSignature: n,
30
- account: a,
31
- chainId: r,
32
- provider: e,
33
- rpcUrl: o,
34
- env: s = j
35
- }) {
36
- const c = d({ chainId: r, rpcUrl: o, env: s }), l = y({ chainId: r, provider: e }), i = await V(
37
- k.BTCb,
38
- r,
39
- s,
40
- O.Adapter
41
- ), u = await c.readContract({
42
- address: i.address,
43
- abi: i.abi,
44
- functionName: "getAssetRouter"
45
- });
46
- if (!u || u === D)
47
- throw new Error("AssetRouter address not found in token adapter");
48
- const m = {
49
- address: u,
50
- account: a,
51
- chain: R[r],
52
- abi: W,
53
- functionName: "mint",
54
- args: [A(t), A(n)]
55
- }, b = P(r) ? await H(c, m, F("1")) : {}, { request: p } = await c.simulateContract({
56
- ...m,
57
- ...b
58
- });
59
- return await l.writeContract(p);
60
- }
61
- async function st({
62
- chainId: t,
63
- rpcUrl: n,
64
- address: a
65
- }) {
66
- if (!h(a))
67
- throw new Error(`Invalid address: ${a}`);
68
- if (!S(t))
69
- throw new Error(
70
- `BTCe is not supported on chain ${t}. Supported chains: ${w.chains.join(", ")}.`
71
- );
72
- try {
73
- const r = d({ chainId: t, rpcUrl: n }), o = await B({
74
- abi: w.abi,
75
- address: w.contracts[t],
76
- client: r
77
- }).read.balanceOf([
78
- a
79
- ]);
80
- return C(String(o));
81
- } catch (r) {
82
- throw new Error(E(r));
83
- }
84
- }
85
- async function q({
86
- chainId: t,
87
- rpcUrl: n,
88
- vaultKey: a = _.Veda
89
- }) {
90
- const r = N[a];
91
- if (!r)
92
- throw new Error(`Unknown vault key: ${a}`);
93
- if (!L(t))
94
- throw new Error(
95
- `Unsupported chain id: ${t}. Please switch to one of the supported chains: ${r.chains.join(", ")}`
96
- );
97
- try {
98
- const e = d({ chainId: t, rpcUrl: n }), s = await B({
99
- abi: r.accountantContract.abi,
100
- address: r.accountantContract.address,
101
- client: e
102
- }).read.getRate();
103
- return C(String(s));
104
- } catch (e) {
105
- const o = E(e);
106
- throw new Error(o);
107
- }
108
- }
109
- async function G({
110
- chainId: t,
111
- rpcUrl: n,
112
- address: a,
113
- vaultKey: r = _.Veda
114
- }) {
115
- const e = N[r];
116
- if (!e)
117
- throw new Error(`Unknown vault key: ${r}`);
118
- if (!L(t))
119
- throw new Error(
120
- `Unsupported chain id: ${t}. Please switch to one of the supported chains: ${e.chains.join(", ")}`
121
- );
122
- try {
123
- const o = d({ chainId: t, rpcUrl: n }), c = await B({
124
- abi: e.lensContract.abi,
125
- address: e.lensContract.address,
126
- client: o
127
- }).read.balanceOf([
128
- a,
129
- e.vaultContract.address
130
- ]), l = C(String(c)), i = await q({ chainId: t, rpcUrl: n, vaultKey: r });
131
- return {
132
- balance: l,
133
- exchangeRate: i,
134
- balanceLbtc: l.multipliedBy(i)
135
- };
136
- } catch (o) {
137
- const s = E(o);
138
- throw new Error(s);
139
- }
140
- }
141
- const x = new g(0);
142
- async function ct({
143
- chainId: t,
144
- rpcUrl: n,
145
- address: a
146
- }) {
147
- if (!h(a))
148
- throw new Error(`Invalid address: ${a}`);
149
- const r = S(t), [e, o] = await Promise.all([
150
- G({ chainId: t, rpcUrl: n, address: a }),
151
- r ? z({ chainId: t, rpcUrl: n, address: a }) : Promise.resolve(0n)
152
- ]);
153
- let s = x, c = x;
154
- if (r && o > 0n) {
155
- s = C(String(o));
156
- const b = await Z({
157
- chainId: t,
158
- rpcUrl: n,
159
- shares: o
160
- });
161
- c = C(String(b));
162
- }
163
- const l = e.balance, i = e.exchangeRate, u = l.plus(c), m = u.multipliedBy(i);
164
- return {
165
- lbtcvShares: l,
166
- btceShares: s,
167
- btceSharesInLbtcv: c,
168
- totalShares: u,
169
- exchangeRate: i,
170
- position: m
171
- };
172
- }
173
- async function z({
174
- chainId: t,
175
- rpcUrl: n,
176
- address: a
177
- }) {
178
- const r = d({ chainId: t, rpcUrl: n });
179
- return await B({
180
- abi: w.abi,
181
- address: w.contracts[t],
182
- client: r
183
- }).read.balanceOf([a]);
184
- }
185
- async function Z({
186
- chainId: t,
187
- rpcUrl: n,
188
- shares: a
189
- }) {
190
- const r = d({ chainId: t, rpcUrl: n });
191
- return await B({
192
- abi: w.abi,
193
- address: w.contracts[t],
194
- client: r
195
- }).read.convertToAssets([a]);
196
- }
197
- async function it({
198
- amount: t,
199
- receiver: n,
200
- owner: a,
201
- account: r,
202
- chainId: e,
203
- provider: o,
204
- rpcUrl: s
205
- }) {
206
- if (!S(e))
207
- throw new Error(
208
- `BTCe is not supported on chain ${e}. Supported chains: ${w.chains.join(", ")}.`
209
- );
210
- if (n !== void 0 && !h(n, { strict: !1 }))
211
- throw new Error(`Invalid receiver address: ${n}`);
212
- if (a !== void 0 && !h(a, { strict: !1 }))
213
- throw new Error(`Invalid owner address: ${a}`);
214
- const c = g(t);
215
- if (!c.isGreaterThan(0))
216
- throw new Error(
217
- `Unwrap amount must be greater than zero. Received: ${c.toFixed()}.`
218
- );
219
- const l = n ?? r, i = a ?? r, u = d({ chainId: e, rpcUrl: s }), m = y({ provider: o, chainId: e }), b = $(T(c, v)), p = await u.readContract({
220
- abi: w.abi,
221
- address: w.contracts[e],
222
- functionName: "maxWithdraw",
223
- args: [i]
224
- });
225
- if (b > p)
226
- throw new Error(
227
- `Unwrap amount ${c.toFixed()} exceeds maxWithdraw ${g(p.toString()).shiftedBy(-v).toFixed()} for owner ${i}.`
228
- );
229
- try {
230
- const { request: f } = await u.simulateContract({
231
- account: r,
232
- chain: R[e],
233
- abi: w.abi,
234
- address: w.contracts[e],
235
- functionName: "withdraw",
236
- args: [b, l, i]
237
- });
238
- return await m.writeContract(f);
239
- } catch (f) {
240
- throw new Error(E(f));
241
- }
242
- }
243
- async function wt({
244
- tokenAddress: t,
245
- amount: n,
246
- tokenDecimals: a,
247
- receiver: r,
248
- minimumMint: e = 0,
249
- account: o,
250
- chainId: s,
251
- provider: c,
252
- rpcUrl: l
253
- }) {
254
- if (!h(t, { strict: !1 }))
255
- throw new Error(`Invalid token address: ${t}`);
256
- if (!S(s))
257
- throw new Error(
258
- `BTCe is not supported on chain ${s}. Supported chains: ${w.chains.join(", ")}.`
259
- );
260
- const i = g(n);
261
- if (!i.isGreaterThan(0))
262
- throw new Error(
263
- `Wrap amount must be greater than zero. Received: ${i.toFixed()}.`
264
- );
265
- const u = $(T(i, a)), m = $(
266
- T(g(e), v)
267
- ), b = d({ chainId: s, rpcUrl: l }), p = y({ provider: c, chainId: s });
268
- try {
269
- const { request: f } = await b.simulateContract({
270
- account: o,
271
- chain: R[s],
272
- abi: w.abi,
273
- address: w.contracts[s],
274
- functionName: "deposit",
275
- args: [
276
- t,
277
- u,
278
- r ?? o,
279
- m
280
- ]
281
- });
282
- return await p.writeContract(f);
283
- } catch (f) {
284
- const U = E(f);
285
- throw new Error(U);
286
- }
287
- }
288
- export {
289
- ot as claimUnstakeRedeem,
290
- st as getBtceShares,
291
- ct as getEarnPosition,
292
- nt as getLBTCTotalSupply,
293
- q as getShareValue,
294
- G as getSharesByAddress,
295
- it as unwrapBtceToLbtcv,
296
- wt as wrapToBtce
297
- };
298
- //# sourceMappingURL=wrapToBtce-By2mh503.js.map