@lombard.finance/sdk 4.3.1 → 4.4.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 (241) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/LICENSE +21 -0
  3. package/README.md +6 -6
  4. package/dist/api-functions/generateDepositBtcAddress/generateDepositBtcAddress.d.ts.map +1 -1
  5. package/dist/api-functions/getDepositBtcAddress/getDepositBtcAddress.d.ts.map +1 -1
  6. package/dist/api.cjs +1 -1
  7. package/dist/api.js +29 -29
  8. package/dist/bridge.cjs +1 -1
  9. package/dist/bridge.js +7 -7
  10. package/dist/btc.cjs +1 -1
  11. package/dist/btc.js +10 -10
  12. package/dist/chains/btc/actions/deposit/BtcDeposit.d.ts +10 -6
  13. package/dist/chains/btc/actions/deposit/BtcDeposit.d.ts.map +1 -1
  14. package/dist/chains/btc/actions/deposit/config/index.d.ts +16 -8
  15. package/dist/chains/btc/actions/deposit/config/index.d.ts.map +1 -1
  16. package/dist/chains/btc/actions/deposit/config/solana.d.ts +20 -0
  17. package/dist/chains/btc/actions/deposit/config/solana.d.ts.map +1 -0
  18. package/dist/chains/btc/actions/deposit/config/types.d.ts +4 -3
  19. package/dist/chains/btc/actions/deposit/config/types.d.ts.map +1 -1
  20. package/dist/chains/btc/actions/deposit/types.d.ts +1 -1
  21. package/dist/chains/btc/actions/deposit/types.d.ts.map +1 -1
  22. package/dist/chains/btc/actions/depositAndDeploy/BtcDepositAndDeploy.d.ts +3 -2
  23. package/dist/chains/btc/actions/depositAndDeploy/BtcDepositAndDeploy.d.ts.map +1 -1
  24. package/dist/chains/btc/actions/depositAndDeploy/types.d.ts +1 -1
  25. package/dist/chains/btc/actions/depositAndDeploy/types.d.ts.map +1 -1
  26. package/dist/chains/btc/actions/shared/BaseBtcAction.d.ts +3 -2
  27. package/dist/chains/btc/actions/shared/BaseBtcAction.d.ts.map +1 -1
  28. package/dist/chains/btc/actions/stake/BtcStake.d.ts +3 -2
  29. package/dist/chains/btc/actions/stake/BtcStake.d.ts.map +1 -1
  30. package/dist/chains/btc/actions/stake/types.d.ts +1 -1
  31. package/dist/chains/btc/actions/stake/types.d.ts.map +1 -1
  32. package/dist/chains/btc/actions/stakeAndDeploy/BtcStakeAndDeploy.d.ts +3 -2
  33. package/dist/chains/btc/actions/stakeAndDeploy/BtcStakeAndDeploy.d.ts.map +1 -1
  34. package/dist/chains/btc/actions/stakeAndDeploy/types.d.ts +1 -1
  35. package/dist/chains/btc/actions/stakeAndDeploy/types.d.ts.map +1 -1
  36. package/dist/chains/evm/EvmActions.d.ts +4 -4
  37. package/dist/chains/evm/actions/deposit/config/evm.d.ts +3 -3
  38. package/dist/chains/evm/actions/deposit/config/evm.d.ts.map +1 -1
  39. package/dist/chains/evm/actions/deposit/config/types.d.ts +1 -1
  40. package/dist/chains/evm/actions/deposit/config/types.d.ts.map +1 -1
  41. package/dist/chains/evm/actions/deposit/factory.d.ts +1 -1
  42. package/dist/chains/evm/actions/deposit/types.d.ts +1 -1
  43. package/dist/chains/evm/actions/deposit/types.d.ts.map +1 -1
  44. package/dist/chains/evm/actions/redeem/EvmRedeem.d.ts.map +1 -1
  45. package/dist/chains/evm/actions/unstake/EvmUnstake.d.ts.map +1 -1
  46. package/dist/chains/solana/SolanaActions.d.ts +10 -0
  47. package/dist/chains/solana/SolanaActions.d.ts.map +1 -1
  48. package/dist/chains/solana/actions/index.d.ts +1 -0
  49. package/dist/chains/solana/actions/index.d.ts.map +1 -1
  50. package/dist/chains/solana/actions/redeem/SolanaRedeem.d.ts +37 -0
  51. package/dist/chains/solana/actions/redeem/SolanaRedeem.d.ts.map +1 -0
  52. package/dist/chains/solana/actions/redeem/config/index.d.ts +8 -0
  53. package/dist/chains/solana/actions/redeem/config/index.d.ts.map +1 -0
  54. package/dist/chains/solana/actions/redeem/config/solana.d.ts +22 -0
  55. package/dist/chains/solana/actions/redeem/config/solana.d.ts.map +1 -0
  56. package/dist/chains/solana/actions/redeem/config/types.d.ts +35 -0
  57. package/dist/chains/solana/actions/redeem/config/types.d.ts.map +1 -0
  58. package/dist/chains/solana/actions/redeem/factory.d.ts +12 -0
  59. package/dist/chains/solana/actions/redeem/factory.d.ts.map +1 -0
  60. package/dist/chains/solana/actions/redeem/index.d.ts +9 -0
  61. package/dist/chains/solana/actions/redeem/index.d.ts.map +1 -0
  62. package/dist/chains/solana/actions/redeem/types.d.ts +52 -0
  63. package/dist/chains/solana/actions/redeem/types.d.ts.map +1 -0
  64. package/dist/chains/solana/utils.d.ts +15 -0
  65. package/dist/chains/solana/utils.d.ts.map +1 -0
  66. package/dist/chunks/BtcActions-BOVJrdTI.cjs +2 -0
  67. package/dist/chunks/BtcActions-BOVJrdTI.cjs.map +1 -0
  68. package/dist/chunks/{BtcActions-1_ZaUpvL.js → BtcActions-_a8r3Q7c.js} +479 -432
  69. package/dist/chunks/BtcActions-_a8r3Q7c.js.map +1 -0
  70. package/dist/chunks/{EvmActions-fH7CLc6N.js → EvmActions-D4vFpbYk.js} +163 -173
  71. package/dist/chunks/EvmActions-D4vFpbYk.js.map +1 -0
  72. package/dist/chunks/EvmActions-VrDbgMDy.cjs +2 -0
  73. package/dist/chunks/EvmActions-VrDbgMDy.cjs.map +1 -0
  74. package/dist/chunks/ReferralsClient-Cmrjo9bN.cjs +2 -0
  75. package/dist/chunks/ReferralsClient-Cmrjo9bN.cjs.map +1 -0
  76. package/dist/chunks/{ReferralsClient-DbFWWtVi.js → ReferralsClient-DvEsA3II.js} +160 -160
  77. package/dist/chunks/ReferralsClient-DvEsA3II.js.map +1 -0
  78. package/dist/chunks/{api-config-CtcP3TVl.js → api-config-Dm6dR85f.js} +6 -6
  79. package/dist/chunks/{api-config-CtcP3TVl.js.map → api-config-Dm6dR85f.js.map} +1 -1
  80. package/dist/chunks/{approveLBTC-CZiZmdcX.cjs → approveLBTC-CUXEC3kw.cjs} +2 -2
  81. package/dist/chunks/{approveLBTC-CZiZmdcX.cjs.map → approveLBTC-CUXEC3kw.cjs.map} +1 -1
  82. package/dist/chunks/approveLBTC-Du2El1tW.js +26 -0
  83. package/dist/chunks/{approveLBTC-B5-ZWqct.js.map → approveLBTC-Du2El1tW.js.map} +1 -1
  84. package/dist/chunks/{array-Cev6kyLJ.js → array-DYttUPf5.js} +7 -7
  85. package/dist/chunks/{array-Cev6kyLJ.js.map → array-DYttUPf5.js.map} +1 -1
  86. package/dist/chunks/{blockchain-identifier-BzMQWh-C.cjs → blockchain-identifier-BTPGxLio.cjs} +2 -2
  87. package/dist/chunks/{blockchain-identifier-BzMQWh-C.cjs.map → blockchain-identifier-BTPGxLio.cjs.map} +1 -1
  88. package/dist/chunks/{blockchain-identifier-BmadkNtK.js → blockchain-identifier-CTVaEPpY.js} +24 -24
  89. package/dist/chunks/{blockchain-identifier-BmadkNtK.js.map → blockchain-identifier-CTVaEPpY.js.map} +1 -1
  90. package/dist/chunks/{bridge-CTsiodO1.js → bridge-DqGabhIY.js} +13 -13
  91. package/dist/chunks/{bridge-CTsiodO1.js.map → bridge-DqGabhIY.js.map} +1 -1
  92. package/dist/chunks/{bridge-BzRlY9pP.cjs → bridge-dWaKrMKm.cjs} +2 -2
  93. package/dist/chunks/{bridge-BzRlY9pP.cjs.map → bridge-dWaKrMKm.cjs.map} +1 -1
  94. package/dist/chunks/{config-hFKqUyg3.js → config-DghboRx0.js} +10 -10
  95. package/dist/chunks/{config-hFKqUyg3.js.map → config-DghboRx0.js.map} +1 -1
  96. package/dist/chunks/{config-l4ZaZw_g.cjs → config-DmCmanM_.cjs} +2 -2
  97. package/dist/chunks/{config-l4ZaZw_g.cjs.map → config-DmCmanM_.cjs.map} +1 -1
  98. package/dist/chunks/constants-D1FnS2Z8.js +6 -0
  99. package/dist/chunks/constants-D1FnS2Z8.js.map +1 -0
  100. package/dist/chunks/constants-ueShGH9R.cjs +2 -0
  101. package/dist/chunks/constants-ueShGH9R.cjs.map +1 -0
  102. package/dist/chunks/{defi-registry-BIRv_zkp.cjs → defi-registry-DDNavtO1.cjs} +2 -2
  103. package/dist/chunks/{defi-registry-BIRv_zkp.cjs.map → defi-registry-DDNavtO1.cjs.map} +1 -1
  104. package/dist/chunks/{defi-registry-wNFN3qyB.js → defi-registry-DxjjBQTV.js} +13 -13
  105. package/dist/chunks/{defi-registry-wNFN3qyB.js.map → defi-registry-DxjjBQTV.js.map} +1 -1
  106. package/dist/chunks/{depositStatus-DM7fRmbN.js → depositStatus-05_X7FVs.js} +42 -42
  107. package/dist/chunks/{depositStatus-DM7fRmbN.js.map → depositStatus-05_X7FVs.js.map} +1 -1
  108. package/dist/chunks/{depositStatus-C3-EgT2a.cjs → depositStatus-CUjHpXFJ.cjs} +2 -2
  109. package/dist/chunks/{depositStatus-C3-EgT2a.cjs.map → depositStatus-CUjHpXFJ.cjs.map} +1 -1
  110. package/dist/chunks/events-5c8IHjEF.cjs +2 -0
  111. package/dist/chunks/events-5c8IHjEF.cjs.map +1 -0
  112. package/dist/chunks/{events-bwurClEA.js → events-rgJZNpHd.js} +416 -304
  113. package/dist/chunks/events-rgJZNpHd.js.map +1 -0
  114. package/dist/chunks/evm-by-btc-address-CZvE15lx.js +39 -0
  115. package/dist/chunks/{evm-by-btc-address-CwLiENtM.js.map → evm-by-btc-address-CZvE15lx.js.map} +1 -1
  116. package/dist/chunks/fee-requirements-CCNsxAvJ.js +14 -0
  117. package/dist/chunks/{fee-requirements-x8-8mpJ7.js.map → fee-requirements-CCNsxAvJ.js.map} +1 -1
  118. package/dist/chunks/get-exchange-ratio-B-xzYND1.js +20 -0
  119. package/dist/chunks/{get-exchange-ratio-NtnkG1kZ.js.map → get-exchange-ratio-B-xzYND1.js.map} +1 -1
  120. package/dist/chunks/{get-exchange-ratio-C-7DadfD.cjs → get-exchange-ratio-BEhD4gLB.cjs} +2 -2
  121. package/dist/chunks/{get-exchange-ratio-C-7DadfD.cjs.map → get-exchange-ratio-BEhD4gLB.cjs.map} +1 -1
  122. package/dist/chunks/{get-positions-summary-DkZZYbGP.cjs → get-positions-summary-Dh1QPLYO.cjs} +2 -2
  123. package/dist/chunks/{get-positions-summary-DkZZYbGP.cjs.map → get-positions-summary-Dh1QPLYO.cjs.map} +1 -1
  124. package/dist/chunks/{get-positions-summary-B_MmGHLv.js → get-positions-summary-iYshN1RQ.js} +28 -28
  125. package/dist/chunks/{get-positions-summary-B_MmGHLv.js.map → get-positions-summary-iYshN1RQ.js.map} +1 -1
  126. package/dist/chunks/{get-vault-tvl-YAXePAW3.js → get-vault-tvl-Ct_Zkg7C.js} +41 -41
  127. package/dist/chunks/{get-vault-tvl-YAXePAW3.js.map → get-vault-tvl-Ct_Zkg7C.js.map} +1 -1
  128. package/dist/chunks/{get-vault-tvl-DmTUbOY7.cjs → get-vault-tvl-D_tQIDAs.cjs} +2 -2
  129. package/dist/chunks/{get-vault-tvl-DmTUbOY7.cjs.map → get-vault-tvl-D_tQIDAs.cjs.map} +1 -1
  130. package/dist/chunks/{get-vault-withdrawals-CWcYy_sH.cjs → get-vault-withdrawals-8ALlEiAC.cjs} +2 -2
  131. package/dist/chunks/{get-vault-withdrawals-CWcYy_sH.cjs.map → get-vault-withdrawals-8ALlEiAC.cjs.map} +1 -1
  132. package/dist/chunks/get-vault-withdrawals-jk7Sv4S4.js +161 -0
  133. package/dist/chunks/{get-vault-withdrawals-BrpZlt6s.js.map → get-vault-withdrawals-jk7Sv4S4.js.map} +1 -1
  134. package/dist/chunks/{getSharesByAddress-BEgOf1C0.cjs → getSharesByAddress-D8hehnP1.cjs} +2 -2
  135. package/dist/chunks/{getSharesByAddress-BEgOf1C0.cjs.map → getSharesByAddress-D8hehnP1.cjs.map} +1 -1
  136. package/dist/chunks/{getSharesByAddress-BiruCDp6.js → getSharesByAddress-_tBaIBsw.js} +38 -38
  137. package/dist/chunks/{getSharesByAddress-BiruCDp6.js.map → getSharesByAddress-_tBaIBsw.js.map} +1 -1
  138. package/dist/chunks/getUserStakeAndBakeSignature-CSEyzgMc.cjs +2 -0
  139. package/dist/chunks/getUserStakeAndBakeSignature-CSEyzgMc.cjs.map +1 -0
  140. package/dist/chunks/getUserStakeAndBakeSignature-Su-k10ap.js +125 -0
  141. package/dist/chunks/getUserStakeAndBakeSignature-Su-k10ap.js.map +1 -0
  142. package/dist/chunks/lbtc-addresses-D8MYCdsx.js +10 -0
  143. package/dist/chunks/{lbtc-addresses-BLRmtR3c.js.map → lbtc-addresses-D8MYCdsx.js.map} +1 -1
  144. package/dist/chunks/{lbtc-addresses-xyTYV7hx.cjs → lbtc-addresses-Kil252DX.cjs} +2 -2
  145. package/dist/chunks/{lbtc-addresses-xyTYV7hx.cjs.map → lbtc-addresses-Kil252DX.cjs.map} +1 -1
  146. package/dist/chunks/numbers-CclN2Ohk.js +15 -0
  147. package/dist/chunks/{numbers-CM-lcmt4.js.map → numbers-CclN2Ohk.js.map} +1 -1
  148. package/dist/chunks/parameters-C_16L5ft.js +11 -0
  149. package/dist/chunks/{parameters-CDV-6Hk5.js.map → parameters-C_16L5ft.js.map} +1 -1
  150. package/dist/chunks/satoshi-CSoJBXc6.js +19 -0
  151. package/dist/chunks/{satoshi-Ch6y8aYG.js.map → satoshi-CSoJBXc6.js.map} +1 -1
  152. package/dist/chunks/statusConstants-Cri7yswV.cjs +2 -0
  153. package/dist/chunks/statusConstants-Cri7yswV.cjs.map +1 -0
  154. package/dist/chunks/{statusConstants-CZi3v4OC.js → statusConstants-Zii1786K.js} +1134 -1113
  155. package/dist/chunks/statusConstants-Zii1786K.js.map +1 -0
  156. package/dist/chunks/{storeNetworkFeeSignature-BZGL2Zn_.js → storeNetworkFeeSignature-BODIpq3Y.js} +26 -26
  157. package/dist/chunks/{storeNetworkFeeSignature-BZGL2Zn_.js.map → storeNetworkFeeSignature-BODIpq3Y.js.map} +1 -1
  158. package/dist/chunks/{storeNetworkFeeSignature-D7yo6lDV.cjs → storeNetworkFeeSignature-Buk4091C.cjs} +2 -2
  159. package/dist/chunks/{storeNetworkFeeSignature-D7yo6lDV.cjs.map → storeNetworkFeeSignature-Buk4091C.cjs.map} +1 -1
  160. package/dist/chunks/time-Sa5gggPG.js +24 -0
  161. package/dist/chunks/{time-QPeEEEnQ.js.map → time-Sa5gggPG.js.map} +1 -1
  162. package/dist/chunks/{token-addresses-FKpA3uc4.js → token-addresses-D0v5cR1j.js} +174 -163
  163. package/dist/chunks/{token-addresses-FKpA3uc4.js.map → token-addresses-D0v5cR1j.js.map} +1 -1
  164. package/dist/chunks/{token-addresses-DRBecUa7.cjs → token-addresses-nzvTOi24.cjs} +2 -2
  165. package/dist/chunks/{token-addresses-DRBecUa7.cjs.map → token-addresses-nzvTOi24.cjs.map} +1 -1
  166. package/dist/chunks/{tokens-D_HeVB5p.cjs → tokens-BkvA0Gp1.cjs} +2 -2
  167. package/dist/chunks/{tokens-D_HeVB5p.cjs.map → tokens-BkvA0Gp1.cjs.map} +1 -1
  168. package/dist/chunks/{tokens-C6qZHzph.js → tokens-DgC1hfkm.js} +18 -18
  169. package/dist/chunks/{tokens-C6qZHzph.js.map → tokens-DgC1hfkm.js.map} +1 -1
  170. package/dist/chunks/{unstakeLBTC-H0zdYQa6.cjs → unstakeLBTC-CmoCaGX9.cjs} +2 -2
  171. package/dist/chunks/{unstakeLBTC-H0zdYQa6.cjs.map → unstakeLBTC-CmoCaGX9.cjs.map} +1 -1
  172. package/dist/chunks/{unstakeLBTC-DAIR9NO_.js → unstakeLBTC-DtvVbpbU.js} +50 -50
  173. package/dist/chunks/{unstakeLBTC-DAIR9NO_.js.map → unstakeLBTC-DtvVbpbU.js.map} +1 -1
  174. package/dist/chunks/{withdraw-hHueI2p7.js → withdraw-DgjuaUN3.js} +45 -45
  175. package/dist/chunks/{withdraw-hHueI2p7.js.map → withdraw-DgjuaUN3.js.map} +1 -1
  176. package/dist/chunks/{withdraw-C1fMFSwy.cjs → withdraw-i0AueZ_C.cjs} +2 -2
  177. package/dist/chunks/{withdraw-C1fMFSwy.cjs.map → withdraw-i0AueZ_C.cjs.map} +1 -1
  178. package/dist/common/constants.d.ts +1 -0
  179. package/dist/common/constants.d.ts.map +1 -1
  180. package/dist/contracts.cjs +1 -1
  181. package/dist/contracts.js +16 -16
  182. package/dist/core/assets/catalog.d.ts.map +1 -1
  183. package/dist/core.cjs +1 -1
  184. package/dist/core.js +85 -85
  185. package/dist/debug.js +4 -4
  186. package/dist/defi.cjs +1 -1
  187. package/dist/defi.js +10 -10
  188. package/dist/evm.cjs +1 -1
  189. package/dist/evm.js +34 -34
  190. package/dist/index.cjs +1 -1
  191. package/dist/index.d.ts +2 -1
  192. package/dist/index.d.ts.map +1 -1
  193. package/dist/index.js +287 -283
  194. package/dist/index.js.map +1 -1
  195. package/dist/metrics.cjs +1 -1
  196. package/dist/metrics.js +6 -6
  197. package/dist/services/ApiService.d.ts.map +1 -1
  198. package/dist/stories/arg-types.d.ts +1 -0
  199. package/dist/stories/arg-types.d.ts.map +1 -1
  200. package/dist/tokens/token-addresses.d.ts +2 -2
  201. package/dist/tokens/token-addresses.d.ts.map +1 -1
  202. package/dist/utils/chain.d.ts +7 -0
  203. package/dist/utils/chain.d.ts.map +1 -1
  204. package/dist/utils.cjs +1 -1
  205. package/dist/utils.js +76 -76
  206. package/dist/vaults.cjs +1 -1
  207. package/dist/vaults.js +14 -14
  208. package/package.json +19 -6
  209. package/dist/chunks/BtcActions-1_ZaUpvL.js.map +0 -1
  210. package/dist/chunks/BtcActions-DH_wPOz5.cjs +0 -2
  211. package/dist/chunks/BtcActions-DH_wPOz5.cjs.map +0 -1
  212. package/dist/chunks/EvmActions-CjExg-28.cjs +0 -2
  213. package/dist/chunks/EvmActions-CjExg-28.cjs.map +0 -1
  214. package/dist/chunks/EvmActions-fH7CLc6N.js.map +0 -1
  215. package/dist/chunks/ReferralsClient-BC-1wT1q.cjs +0 -2
  216. package/dist/chunks/ReferralsClient-BC-1wT1q.cjs.map +0 -1
  217. package/dist/chunks/ReferralsClient-DbFWWtVi.js.map +0 -1
  218. package/dist/chunks/approveLBTC-B5-ZWqct.js +0 -26
  219. package/dist/chunks/constants-BBK-JNcY.cjs +0 -2
  220. package/dist/chunks/constants-BBK-JNcY.cjs.map +0 -1
  221. package/dist/chunks/constants-CuT4axsy.js +0 -5
  222. package/dist/chunks/constants-CuT4axsy.js.map +0 -1
  223. package/dist/chunks/events-DURabzL2.cjs +0 -2
  224. package/dist/chunks/events-DURabzL2.cjs.map +0 -1
  225. package/dist/chunks/events-bwurClEA.js.map +0 -1
  226. package/dist/chunks/evm-by-btc-address-CwLiENtM.js +0 -39
  227. package/dist/chunks/fee-requirements-x8-8mpJ7.js +0 -14
  228. package/dist/chunks/get-exchange-ratio-NtnkG1kZ.js +0 -20
  229. package/dist/chunks/get-vault-withdrawals-BrpZlt6s.js +0 -161
  230. package/dist/chunks/getUserStakeAndBakeSignature-BxRq2cI1.cjs +0 -2
  231. package/dist/chunks/getUserStakeAndBakeSignature-BxRq2cI1.cjs.map +0 -1
  232. package/dist/chunks/getUserStakeAndBakeSignature-NGGblnJl.js +0 -120
  233. package/dist/chunks/getUserStakeAndBakeSignature-NGGblnJl.js.map +0 -1
  234. package/dist/chunks/lbtc-addresses-BLRmtR3c.js +0 -10
  235. package/dist/chunks/numbers-CM-lcmt4.js +0 -15
  236. package/dist/chunks/parameters-CDV-6Hk5.js +0 -11
  237. package/dist/chunks/satoshi-Ch6y8aYG.js +0 -19
  238. package/dist/chunks/statusConstants-CZi3v4OC.js.map +0 -1
  239. package/dist/chunks/statusConstants-JFhg-q-u.cjs +0 -2
  240. package/dist/chunks/statusConstants-JFhg-q-u.cjs.map +0 -1
  241. package/dist/chunks/time-QPeEEEnQ.js +0 -24
@@ -1 +1 @@
1
- {"version":3,"file":"BtcStake.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/stake/BtcStake.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EACR,OAAO,EACP,WAAW,EACX,eAAe,EACf,QAAQ,EACX,MAAM,2BAA2B,CAAC;AAMnC,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,EAEH,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,cAAc,EACtB,MAAM,WAAW,CAAC;AAUnB,OAAO,KAAK,EAAE,QAAQ,IAAI,SAAS,EAAC,cAAc,EAAE,MAAM,SAAS,CAAC;AAMpE,KAAK,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,GAAG,eAAe,CAAC;AAgBrE;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,QACX,SAAQ,aAAa,CAAC,aAAa,EAAE,eAAe,EAAE,cAAc,CACpE,YAAW,SAAS;IAEpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6C;IAEvE,kEAAkE;IAClE,OAAO,CAAC,aAAa,CAA8B;gBAEvC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc;IA8CvD,SAAS,CAAC,gBAAgB,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAI/C,SAAS,CAAC,eAAe,IAAI,YAAY,CAAC,eAAe,CAAC;IAQ1D,SAAS,CAAC,eAAe,IAAI,cAAc;IAQ3C,SAAS,CAAC,YAAY,IAAI,OAAO;IAIjC,SAAS,CAAC,UAAU,IAAI,UAAU;IAIlC,SAAS,CAAC,uBAAuB;;;;;;;;;;IAuBjC;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAIpC,SAAS,CAAC,sBAAsB,IAAI,MAAM;IAQ1C,sEAAsE;IACtE,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAMK,OAAO,CAAC,MAAM,EAAE;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiGX,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAyC1B,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;IAyCzC,OAAO,IAAI,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAI/D,cAAc,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAQ5D,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,kBAAkB;CAM3B"}
1
+ {"version":3,"file":"BtcStake.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/stake/BtcStake.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EACR,OAAO,EACP,WAAW,EACX,eAAe,EACf,QAAQ,EACX,MAAM,2BAA2B,CAAC;AAMnC,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,EAEH,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,cAAc,EACtB,MAAM,WAAW,CAAC;AAUnB,OAAO,KAAK,EAAE,QAAQ,IAAI,SAAS,EAAC,cAAc,EAAE,MAAM,SAAS,CAAC;AAMpE,KAAK,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,GAAG,eAAe,CAAC;AAgBrE;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,QACX,SAAQ,aAAa,CAAC,aAAa,EAAE,eAAe,EAAE,cAAc,CACpE,YAAW,SAAS;IAEpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6C;IAEvE,kEAAkE;IAClE,OAAO,CAAC,aAAa,CAA8B;gBAEvC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc;IA8CvD,SAAS,CAAC,gBAAgB,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAI/C,SAAS,CAAC,eAAe,IAAI,YAAY,CAAC,eAAe,CAAC;IAQ1D,SAAS,CAAC,eAAe,IAAI,cAAc;IAQ3C,SAAS,CAAC,YAAY,IAAI,OAAO;IAIjC,SAAS,CAAC,UAAU,IAAI,UAAU;IAIlC,SAAS,CAAC,uBAAuB,CAAC,YAAY,CAAC,EAAE,MAAM;;;;;;;;;;;IAwBvD;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAIpC,SAAS,CAAC,sBAAsB,IAAI,MAAM;IAQ1C,sEAAsE;IACtE,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAMK,OAAO,CAAC,MAAM,EAAE;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiGX,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAyC1B,sBAAsB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAyC9D,OAAO,IAAI,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAI/D,cAAc,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAQ5D,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,kBAAkB;CAM3B"}
@@ -126,7 +126,7 @@ export interface BtcStake extends MonitorableAction {
126
126
  * @returns BTC deposit address (bc1...)
127
127
  * @throws LombardError if not authorized or API fails
128
128
  */
129
- generateDepositAddress(): Promise<string>;
129
+ generateDepositAddress(captchaToken?: string): Promise<string>;
130
130
  /**
131
131
  * Execute the stake operation
132
132
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/stake/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,UAAU,EACV,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,0BAA0B;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,wCAAwC;IACxC,SAAS,EAAE,KAAK,CAAC;IACjB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,OAAO,KAAK,CAAC,eAAe,GAAG,OAAO,KAAK,CAAC,cAAc,CAAC;CAC1E;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB,CAAC,eAAe,CAAC;IACzE,qBAAqB;IACrB,MAAM,EAAE,eAAe,CAAC;IAExB,oBAAoB;IACpB,KAAK,EAAE;QACL,OAAO,EAAE,UAAU,CAAC;QACpB,SAAS,EAAE,UAAU,CAAC;QACtB,OAAO,EAAE,UAAU,CAAC;KACrB,CAAC;IAEF,sCAAsC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,uCAAuC;IACvC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,yCAAyC;IACzC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,oCAAoC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,QAAS,SAAQ,iBAAiB;IACjD,qBAAqB;IACrB,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAEjC,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,6CAA6C;IAC7C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAEjC,qDAAqD;IACrD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,EAAE;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB;;;;;;;;OAQG;IACH,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B;;;;;;;;OAQG;IACH,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE1C;;;;;;;OAOG;IACH,OAAO,IAAI,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEhE;;;;;;;OAOG;IACH,cAAc,CAAC,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;CACzD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/stake/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,UAAU,EACV,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,0BAA0B;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,wCAAwC;IACxC,SAAS,EAAE,KAAK,CAAC;IACjB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,OAAO,KAAK,CAAC,eAAe,GAAG,OAAO,KAAK,CAAC,cAAc,CAAC;CAC1E;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB,CAAC,eAAe,CAAC;IACzE,qBAAqB;IACrB,MAAM,EAAE,eAAe,CAAC;IAExB,oBAAoB;IACpB,KAAK,EAAE;QACL,OAAO,EAAE,UAAU,CAAC;QACpB,SAAS,EAAE,UAAU,CAAC;QACtB,OAAO,EAAE,UAAU,CAAC;KACrB,CAAC;IAEF,sCAAsC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,uCAAuC;IACvC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,yCAAyC;IACzC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,oCAAoC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,QAAS,SAAQ,iBAAiB;IACjD,qBAAqB;IACrB,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAEjC,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,6CAA6C;IAC7C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAEjC,qDAAqD;IACrD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,EAAE;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB;;;;;;;;OAQG;IACH,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B;;;;;;;;OAQG;IACH,sBAAsB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/D;;;;;;;OAOG;IACH,OAAO,IAAI,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEhE;;;;;;;OAOG;IACH,cAAc,CAAC,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;CACzD"}
@@ -40,7 +40,7 @@ export declare class BtcStakeAndDeploy extends BaseBtcAction<StakeAndDeployEvent
40
40
  protected getInitialSteps(): StepDefinition;
41
41
  protected isAuthorized(): boolean;
42
42
  protected getChainId(): ChainId;
43
- protected getDepositAddressParams(): {
43
+ protected getDepositAddressParams(captchaToken?: string): {
44
44
  address: string;
45
45
  chainId: ChainId;
46
46
  signature: string;
@@ -48,6 +48,7 @@ export declare class BtcStakeAndDeploy extends BaseBtcAction<StakeAndDeployEvent
48
48
  signatureData: string | undefined;
49
49
  partnerId: string | undefined;
50
50
  referrerCode: string | undefined;
51
+ captchaToken: string | undefined;
51
52
  };
52
53
  /**
53
54
  * Get expected token for this action (LBTC by default for StakeAndDeploy)
@@ -58,7 +59,7 @@ export declare class BtcStakeAndDeploy extends BaseBtcAction<StakeAndDeployEvent
58
59
  get fee(): string | undefined;
59
60
  prepare(params: BtcStakeAndDeployPrepareParams): Promise<void>;
60
61
  authorizeDeposit(): Promise<void>;
61
- generateDepositAddress(): Promise<string>;
62
+ generateDepositAddress(captchaToken?: string): Promise<string>;
62
63
  execute(): Promise<{
63
64
  depositAddress: string;
64
65
  txHash?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"BtcStakeAndDeploy.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/stakeAndDeploy/BtcStakeAndDeploy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,+BAA+B,CAAC;AAIvC,OAAO,EAEL,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,WAAW,CAAC;AASnB,OAAO,EACL,eAAe,EACf,KAAK,iBAAiB,IAAI,kBAAkB,EAC5C,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACpC,MAAM,SAAS,CAAC;AAiBjB;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,iBACX,SAAQ,aAAa,CACnB,sBAAsB,EACtB,eAAe,EACf,uBAAuB,CAEzB,YAAW,kBAAkB;IAE7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;gBAElD,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,uBAAuB;IAkDhE,SAAS,CAAC,gBAAgB,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAI/C,SAAS,CAAC,eAAe,IAAI,YAAY,CAAC,eAAe,CAAC;IAQ1D,SAAS,CAAC,eAAe,IAAI,cAAc;IAS3C,SAAS,CAAC,YAAY,IAAI,OAAO;IAIjC,SAAS,CAAC,UAAU,IAAI,OAAO;IAI/B,SAAS,CAAC,uBAAuB;;;;;;;;;IAcjC;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAIpC,SAAS,CAAC,sBAAsB,IAAI,MAAM;IAQ1C,yDAAyD;IACzD,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAE5B;IAMK,OAAO,CAAC,MAAM,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAyE9D,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwCjC,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;IA+BzC,OAAO,IAAI,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAgB/D,cAAc,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;CAiD7D"}
1
+ {"version":3,"file":"BtcStakeAndDeploy.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/stakeAndDeploy/BtcStakeAndDeploy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,+BAA+B,CAAC;AAIvC,OAAO,EAEL,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,WAAW,CAAC;AASnB,OAAO,EACL,eAAe,EACf,KAAK,iBAAiB,IAAI,kBAAkB,EAC5C,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACpC,MAAM,SAAS,CAAC;AAiBjB;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,iBACX,SAAQ,aAAa,CACnB,sBAAsB,EACtB,eAAe,EACf,uBAAuB,CAEzB,YAAW,kBAAkB;IAE7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;gBAElD,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,uBAAuB;IAkDhE,SAAS,CAAC,gBAAgB,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAI/C,SAAS,CAAC,eAAe,IAAI,YAAY,CAAC,eAAe,CAAC;IAQ1D,SAAS,CAAC,eAAe,IAAI,cAAc;IAS3C,SAAS,CAAC,YAAY,IAAI,OAAO;IAIjC,SAAS,CAAC,UAAU,IAAI,OAAO;IAI/B,SAAS,CAAC,uBAAuB,CAAC,YAAY,CAAC,EAAE,MAAM;;;;;;;;;;IAevD;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAIpC,SAAS,CAAC,sBAAsB,IAAI,MAAM;IAQ1C,yDAAyD;IACzD,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAE5B;IAMK,OAAO,CAAC,MAAM,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAyE9D,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwCjC,sBAAsB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA+B9D,OAAO,IAAI,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAgB/D,cAAc,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;CAiD7D"}
@@ -75,7 +75,7 @@ export interface BtcStakeAndDeploy extends MonitorableAction {
75
75
  /**
76
76
  * Generate BTC deposit address
77
77
  */
78
- generateDepositAddress(): Promise<string>;
78
+ generateDepositAddress(captchaToken?: string): Promise<string>;
79
79
  /**
80
80
  * Execute the operation
81
81
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/stakeAndDeploy/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,cAAc,EACd,UAAU,EACV,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,EAAE,eAAe,EAAE,CAAC;AAM3B;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,wBAAwB;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uCAAuC;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,OAAO,KAAK,CAAC,eAAe,GAAG,OAAO,KAAK,CAAC,cAAc,CAAC;IACzE,2CAA2C;IAC3C,SAAS,EAAE,KAAK,CAAC;IACjB,kCAAkC;IAClC,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD;;GAEG;AACH,MAAM,WAAW,yBACf,SAAQ,gBAAgB,CAAC,eAAe,CAAC;IACzC,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE;QACL,OAAO,EAAE,UAAU,CAAC;QACpB,SAAS,EAAE,UAAU,CAAC;QACtB,OAAO,EAAE,UAAU,CAAC;QACpB,UAAU,EAAE,UAAU,CAAC;KACxB,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAMD;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/D;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE1C;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEhE;;OAEG;IACH,cAAc,CAAC,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;CACzD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/stakeAndDeploy/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,cAAc,EACd,UAAU,EACV,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,EAAE,eAAe,EAAE,CAAC;AAM3B;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,wBAAwB;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uCAAuC;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,OAAO,KAAK,CAAC,eAAe,GAAG,OAAO,KAAK,CAAC,cAAc,CAAC;IACzE,2CAA2C;IAC3C,SAAS,EAAE,KAAK,CAAC;IACjB,kCAAkC;IAClC,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD;;GAEG;AACH,MAAM,WAAW,yBACf,SAAQ,gBAAgB,CAAC,eAAe,CAAC;IACzC,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE;QACL,OAAO,EAAE,UAAU,CAAC;QACpB,SAAS,EAAE,UAAU,CAAC;QACtB,OAAO,EAAE,UAAU,CAAC;QACpB,UAAU,EAAE,UAAU,CAAC;KACxB,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAMD;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/D;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,sBAAsB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/D;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEhE;;OAEG;IACH,cAAc,CAAC,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;CACzD"}
@@ -6,7 +6,7 @@
6
6
  * Operations:
7
7
  * - stake: BTC.b → LBTC (stake wrapped BTC to get LBTC)
8
8
  * - unstake: LBTC → BTC (cross-chain) or LBTC → BTC.b (same-chain)
9
- * - deposit: Claim LBTC with notarized proof
9
+ * - deposit: BTCb LBTC (deposit BTC.b to receive LBTC)
10
10
  * - deploy: LBTC/BTC.b → DeFi protocols (Veda, Silo)
11
11
  * - withdraw: Queue withdrawal from DeFi protocols
12
12
  * - cancelWithdraw: Cancel pending withdrawal from DeFi protocols
@@ -83,14 +83,14 @@ export declare class EvmActions {
83
83
  */
84
84
  unstake(params: EvmUnstakeParams): IEvmUnstake;
85
85
  /**
86
- * Deposit wrapped BTC to get LBTC
86
+ * Deposit BTCb to get LBTC
87
87
  *
88
- * Deposits WBTC or BTCb to receive LBTC.
88
+ * Deposits BTC.b to receive LBTC via the claim flow.
89
89
  *
90
90
  * @example
91
91
  * ```typescript
92
92
  * const deposit = evm.deposit({
93
- * assetIn: AssetId.WBTC,
93
+ * assetIn: AssetId.BTCb,
94
94
  * assetOut: AssetId.LBTC,
95
95
  * sourceChain: Chain.ETHEREUM,
96
96
  * destChain: Chain.ETHEREUM,
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * EVM Chain Configuration for Deposit
3
3
  *
4
- * Handles depositing wrapped BTC (WBTC, BTCb) to get LBTC.
4
+ * Handles depositing BTCb to get LBTC.
5
5
  * Routes are derived from ASSET_CATALOG to ensure consistency.
6
6
  *
7
7
  * @module chains/evm/actions/deposit/config/evm
@@ -12,8 +12,8 @@ import type { ChainConfig } from './types';
12
12
  /**
13
13
  * EVM deposit configuration
14
14
  *
15
- * Supports depositing WBTC/BTCb to get LBTC on EVM chains.
16
- * Source chains derived from WBTC/BTCb deployments.
15
+ * Supports depositing BTCb to get LBTC on EVM chains.
16
+ * Source chains derived from BTCb deployments.
17
17
  * Dest chains derived from LBTC deployments.
18
18
  */
19
19
  export declare const evmConfig: ChainConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../../../../../src/chains/evm/actions/deposit/config/evm.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAElD,OAAO,EACL,OAAO,EACP,KAAK,EAEN,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAqC3C;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,EAAE,WAuBvB,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,KAAK,EAClB,GAAG,EAAE,GAAG,GACP,OAAO,CAOT"}
1
+ {"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../../../../../src/chains/evm/actions/deposit/config/evm.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAElD,OAAO,EACL,OAAO,EACP,KAAK,EAEN,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA0B3C;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,EAAE,WAuBvB,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,KAAK,EAClB,GAAG,EAAE,GAAG,GACP,OAAO,CAOT"}
@@ -10,7 +10,7 @@ import type { AssetId, Chain, ChainType } from '../../../../../core';
10
10
  * Route definition for EVM deposit operations
11
11
  */
12
12
  export interface RouteDefinition {
13
- /** Supported input assets (e.g., WBTC, BTCb) */
13
+ /** Supported input assets (e.g., BTCb) */
14
14
  assetsIn: AssetId[];
15
15
  /** Output asset (e.g., LBTC) */
16
16
  assetOut: AssetId;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/chains/evm/actions/deposit/config/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,gCAAgC;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,8BAA8B;IAC9B,YAAY,EAAE,KAAK,EAAE,CAAC;IACtB,mCAAmC;IACnC,UAAU,EAAE,KAAK,EAAE,CAAC;IACpB,6BAA6B;IAC7B,IAAI,EAAE,GAAG,EAAE,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,4BAA4B;IAC5B,SAAS,EAAE,SAAS,CAAC;IAErB,2CAA2C;IAC3C,MAAM,EAAE,eAAe,EAAE,CAAC;IAE1B,oCAAoC;IACpC,aAAa,EAAE,CAAC,CAAC,SAAS,CAAC;CAC5B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/chains/evm/actions/deposit/config/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0CAA0C;IAC1C,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,gCAAgC;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,8BAA8B;IAC9B,YAAY,EAAE,KAAK,EAAE,CAAC;IACtB,mCAAmC;IACnC,UAAU,EAAE,KAAK,EAAE,CAAC;IACpB,6BAA6B;IAC7B,IAAI,EAAE,GAAG,EAAE,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,4BAA4B;IAC5B,SAAS,EAAE,SAAS,CAAC;IAErB,2CAA2C;IAC3C,MAAM,EAAE,eAAe,EAAE,CAAC;IAE1B,oCAAoC;IACpC,aAAa,EAAE,CAAC,CAAC,SAAS,CAAC;CAC5B"}
@@ -17,7 +17,7 @@ import type { EvmDepositParams } from './types';
17
17
  * const sdk = await createLombardSDK({ env: Env.prod, providers: { evm: () => window.ethereum } });
18
18
  * const deposit = sdk.chain.evm.deposit({
19
19
  * sourceChain: Chain.ETHEREUM,
20
- * assetIn: AssetId.WBTC,
20
+ * assetIn: AssetId.BTCb,
21
21
  * });
22
22
  * await deposit.prepare({ amount: '0.1' });
23
23
  * ```
@@ -27,7 +27,7 @@ export declare enum EvmDepositStatus {
27
27
  * EVM Deposit parameters
28
28
  */
29
29
  export interface EvmDepositParams {
30
- /** Input asset (WBTC, BTCb) */
30
+ /** Input asset (BTCb) */
31
31
  assetIn: AssetId;
32
32
  /** Output asset (LBTC) */
33
33
  assetOut: AssetId;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/chains/evm/actions/deposit/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,UAAU,EACV,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;;;;;;;;GASG;AACH,oBAAY,gBAAgB;IAC1B,IAAI,SAAS;IACb,cAAc,mBAAmB;IACjC,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,SAAS,cAAc;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,0BAA0B;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,mBAAmB;IACnB,WAAW,EAAE,KAAK,CAAC;IACnB,wBAAwB;IACxB,SAAS,EAAE,KAAK,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB,CAAC,gBAAgB,CAAC;IAC5E,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE;QACL,QAAQ,EAAE,UAAU,CAAC;QACrB,SAAS,EAAE,UAAU,CAAC;QACtB,QAAQ,CAAC,EAAE,UAAU,CAAC;KACvB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,iBAAiB;IACpD,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB,wEAAwE;IACxE,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACzD,OAAO,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/chains/evm/actions/deposit/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,UAAU,EACV,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;;;;;;;;GASG;AACH,oBAAY,gBAAgB;IAC1B,IAAI,SAAS;IACb,cAAc,mBAAmB;IACjC,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,SAAS,cAAc;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yBAAyB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,0BAA0B;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,mBAAmB;IACnB,WAAW,EAAE,KAAK,CAAC;IACnB,wBAAwB;IACxB,SAAS,EAAE,KAAK,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB,CAAC,gBAAgB,CAAC;IAC5E,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE;QACL,QAAQ,EAAE,UAAU,CAAC;QACrB,SAAS,EAAE,UAAU,CAAC;QACtB,QAAQ,CAAC,EAAE,UAAU,CAAC;KACvB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,iBAAiB;IACpD,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB,wEAAwE;IACxE,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACzD,OAAO,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EvmRedeem.d.ts","sourceRoot":"","sources":["../../../../../src/chains/evm/actions/redeem/EvmRedeem.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAQH,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAMhE,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EACtB,UAAU,EACX,MAAM,SAAS,CAAC;AAEjB,qBAAa,SACX,SAAQ,UAAU,CAAC,cAAc,EAAE,kBAAkB,CACrD,YAAW,UAAU;IASnB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IARzB,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,QAAQ,CAA6C;gBAG1C,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,eAAe;IAK1C,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,+CAA+C;IAC/C,IAAI,OAAO,IAAI,YAAY,CAE1B;IAEK,OAAO,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2D5D;;;;;OAKG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAwC7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAYxB,OAAO,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAkD5C,OAAO,KAAK,aAAa,GAKxB;CACF"}
1
+ {"version":3,"file":"EvmRedeem.d.ts","sourceRoot":"","sources":["../../../../../src/chains/evm/actions/redeem/EvmRedeem.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAQH,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAMhE,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EACtB,UAAU,EACX,MAAM,SAAS,CAAC;AAEjB,qBAAa,SACX,SAAQ,UAAU,CAAC,cAAc,EAAE,kBAAkB,CACrD,YAAW,UAAU;IASnB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IARzB,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,QAAQ,CAA6C;gBAG1C,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,eAAe;IAK1C,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,+CAA+C;IAC/C,IAAI,OAAO,IAAI,YAAY,CAE1B;IAEK,OAAO,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6D5D;;;;;OAKG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAwC7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAYxB,OAAO,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAkD5C,OAAO,KAAK,aAAa,GAKxB;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"EvmUnstake.d.ts","sourceRoot":"","sources":["../../../../../src/chains/evm/actions/unstake/EvmUnstake.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAQH,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAMjE,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EACV,gBAAgB,EAChB,uBAAuB,EACvB,WAAW,EACZ,MAAM,SAAS,CAAC;AAEjB,qBAAa,UACX,SAAQ,UAAU,CAAC,eAAe,EAAE,kBAAkB,CACtD,YAAW,WAAW;IAQpB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPzB,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,QAAQ,CAA6C;gBAG1C,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,gBAAgB;IAK3C,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,+CAA+C;IAC/C,IAAI,OAAO,IAAI,YAAY,CAE1B;IAED,yEAAyE;IACzE,OAAO,KAAK,YAAY,GAEvB;IAEK,OAAO,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6D7D;;;;;OAKG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAwC7B,OAAO,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAuD5C,OAAO,KAAK,aAAa,GAOxB;CACF"}
1
+ {"version":3,"file":"EvmUnstake.d.ts","sourceRoot":"","sources":["../../../../../src/chains/evm/actions/unstake/EvmUnstake.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAQH,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAMjE,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EACV,gBAAgB,EAChB,uBAAuB,EACvB,WAAW,EACZ,MAAM,SAAS,CAAC;AAEjB,qBAAa,UACX,SAAQ,UAAU,CAAC,eAAe,EAAE,kBAAkB,CACtD,YAAW,WAAW;IAQpB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPzB,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,QAAQ,CAA6C;gBAG1C,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,gBAAgB;IAK3C,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,+CAA+C;IAC/C,IAAI,OAAO,IAAI,YAAY,CAE1B;IAED,yEAAyE;IACzE,OAAO,KAAK,YAAY,GAEvB;IAEK,OAAO,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+D7D;;;;;OAKG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAwC7B,OAAO,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAuD5C,OAAO,KAAK,aAAa,GAOxB;CACF"}
@@ -14,6 +14,7 @@
14
14
  * ```
15
15
  */
16
16
  import type { LombardConfig } from '../../config/types';
17
+ import type { ISolanaRedeem, SolanaRedeemParams } from './actions/redeem/types';
17
18
  import type { ISolanaUnstake, SolanaUnstakeParams } from './actions/unstake/types';
18
19
  /**
19
20
  * Solana Actions
@@ -34,6 +35,15 @@ export declare class SolanaActions {
34
35
  * @throws LombardError if solana module is not registered
35
36
  */
36
37
  unstake(params: SolanaUnstakeParams): ISolanaUnstake;
38
+ /**
39
+ * Redeem BTC.b → BTC
40
+ *
41
+ * Burns BTC.b on Solana and releases BTC to a Bitcoin address via GMP.
42
+ *
43
+ * @throws LombardError if solana module is not registered
44
+ * @throws LombardError if route is not supported
45
+ */
46
+ redeem(params: SolanaRedeemParams): ISolanaRedeem;
37
47
  }
38
48
  /**
39
49
  * Create Solana actions from config
@@ -1 +1 @@
1
- {"version":3,"file":"SolanaActions.d.ts","sourceRoot":"","sources":["../../../src/chains/solana/SolanaActions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAKxD,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;AAsBjC;;;;;GAKG;AACH,qBAAa,aAAa;IAGZ,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,IAAI,CAAkC;gBAEjB,MAAM,EAAE,aAAa;IAElD,OAAO,KAAK,GAAG,GAKd;IAED;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,EAAE,mBAAmB,GAAG,cAAc;CAGrD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CAElE"}
1
+ {"version":3,"file":"SolanaActions.d.ts","sourceRoot":"","sources":["../../../src/chains/solana/SolanaActions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAKxD,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;AAsBjC;;;;;GAKG;AACH,qBAAa,aAAa;IAGZ,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,IAAI,CAAkC;gBAEjB,MAAM,EAAE,aAAa;IAElD,OAAO,KAAK,GAAG,GAKd;IAED;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,EAAE,mBAAmB,GAAG,cAAc;IAIpD;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,aAAa;CAGlD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CAElE"}
@@ -3,5 +3,6 @@
3
3
  *
4
4
  * @module chains/solana/actions
5
5
  */
6
+ export * from './redeem';
6
7
  export * from './unstake';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/chains/solana/actions/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/chains/solana/actions/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Solana Redeem Action
3
+ *
4
+ * Redeems BTC.b on Solana → BTC on Bitcoin via Asset Router + GMP.
5
+ *
6
+ * **Flow:**
7
+ * IDLE → READY → CONFIRMING
8
+ *
9
+ * The flow ends at CONFIRMING because the Solana-side burn and GMP dispatch
10
+ * are complete, but the Bitcoin-side BTC release is a cross-chain async
11
+ * process that the SDK cannot track.
12
+ *
13
+ * @module chains/solana/actions/redeem/SolanaRedeem
14
+ */
15
+ import { BaseAction } from '../../../../shared/actions/BaseAction';
16
+ import { NonEvmUnstakeStatus } from '../../../../shared/constants/statusConstants';
17
+ import type { SolanaCoreContext } from '../../../../shared/context';
18
+ import type { RedeemEventMap } from '../../../../shared/events';
19
+ import type { ISolanaRedeem, SolanaRedeemParams, SolanaRedeemPrepareParams } from './types';
20
+ export declare class SolanaRedeem extends BaseAction<RedeemEventMap, NonEvmUnstakeStatus> implements ISolanaRedeem {
21
+ private readonly ctx;
22
+ private readonly params;
23
+ private _amount?;
24
+ private _recipient?;
25
+ private _txHash?;
26
+ private readonly env;
27
+ constructor(ctx: SolanaCoreContext, params: SolanaRedeemParams);
28
+ get amount(): string | undefined;
29
+ get recipient(): string | undefined;
30
+ get txHash(): string | undefined;
31
+ prepare(params: SolanaRedeemPrepareParams): Promise<void>;
32
+ execute(): Promise<{
33
+ txHash: string;
34
+ }>;
35
+ private get prepareSchema();
36
+ }
37
+ //# sourceMappingURL=SolanaRedeem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolanaRedeem.d.ts","sourceRoot":"","sources":["../../../../../src/chains/solana/actions/redeem/SolanaRedeem.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAQhE,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AAGjB,qBAAa,YACX,SAAQ,UAAU,CAAC,cAAc,EAAE,mBAAmB,CACtD,YAAW,aAAa;IAQtB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPzB,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;gBAGP,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE,kBAAkB;IAuB7C,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAEK,OAAO,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBzD,OAAO,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAwC5C,OAAO,KAAK,aAAa,GAKxB;CACF"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Solana Redeem Chain Configuration Registry
3
+ *
4
+ * @module chains/solana/actions/redeem/config
5
+ */
6
+ export { isRedeemSupported, solanaRedeemConfig } from './solana';
7
+ export type { ChainConfig, RouteDefinition } from './types';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/chains/solana/actions/redeem/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACjE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Solana Redeem Configuration
3
+ *
4
+ * Handles redeeming BTC.b on Solana → BTC on Bitcoin via Asset Router + GMP.
5
+ *
6
+ * @module chains/solana/actions/redeem/config/solana
7
+ */
8
+ import { Env } from '@lombard.finance/sdk-common';
9
+ import { AssetId, Chain } from '../../../../../core';
10
+ import type { ChainConfig } from './types';
11
+ /**
12
+ * BTC.b → BTC redeem configuration on Solana
13
+ *
14
+ * Burns BTC.b via the Asset Router program and sends a GMP message
15
+ * to trigger a BTC payout on the Bitcoin network.
16
+ */
17
+ export declare const solanaRedeemConfig: ChainConfig;
18
+ /**
19
+ * Check if BTC.b → BTC redeem is supported for the full route
20
+ */
21
+ export declare function isRedeemSupported(sourceChain: Chain, destChain: Chain, assetIn: AssetId, assetOut: AssetId, env: Env): boolean;
22
+ //# sourceMappingURL=solana.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../../../../../src/chains/solana/actions/redeem/config/solana.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAchC,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,KAAK,EAClB,SAAS,EAAE,KAAK,EAChB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,OAAO,EACjB,GAAG,EAAE,GAAG,GACP,OAAO,CAST"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Solana Redeem Chain Configuration Types
3
+ *
4
+ * @module chains/solana/actions/redeem/config/types
5
+ */
6
+ import type { Env } from '@lombard.finance/sdk-common';
7
+ import type { z } from 'zod';
8
+ import type { AssetId, Chain, ChainType } from '../../../../../core';
9
+ /**
10
+ * Route definition for Solana redeem operations (LBTC → BTC.b)
11
+ */
12
+ export interface RouteDefinition {
13
+ /** Source chain (Solana network) */
14
+ sourceChains: Chain[];
15
+ /** Destination chain (same as source for same-chain redeem) */
16
+ destChain: Chain;
17
+ /** Asset being redeemed */
18
+ assetIn: AssetId;
19
+ /** Asset received */
20
+ assetOut: AssetId;
21
+ /** Supported environments */
22
+ envs: Env[];
23
+ }
24
+ /**
25
+ * Chain-specific configuration for Solana redeem operations
26
+ */
27
+ export interface ChainConfig {
28
+ /** Chain type identifier */
29
+ chainType: ChainType;
30
+ /** Supported routes for this chain type */
31
+ routes: RouteDefinition[];
32
+ /** Recipient address validation Zod schema */
33
+ recipientSchema: z.ZodType<string>;
34
+ }
35
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/chains/solana/actions/redeem/config/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,YAAY,EAAE,KAAK,EAAE,CAAC;IACtB,+DAA+D;IAC/D,SAAS,EAAE,KAAK,CAAC;IACjB,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,qBAAqB;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,6BAA6B;IAC7B,IAAI,EAAE,GAAG,EAAE,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,4BAA4B;IAC5B,SAAS,EAAE,SAAS,CAAC;IAErB,2CAA2C;IAC3C,MAAM,EAAE,eAAe,EAAE,CAAC;IAE1B,8CAA8C;IAC9C,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;CACpC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Solana Redeem Factory Functions
3
+ *
4
+ * @module chains/solana/actions/redeem/factory
5
+ */
6
+ import type { SolanaCoreContext } from '../../../../shared/context';
7
+ import type { ISolanaRedeem, SolanaRedeemParams } from './types';
8
+ /**
9
+ * Create Solana redeem from context
10
+ */
11
+ export declare function createSolanaRedeem(ctx: SolanaCoreContext, params: SolanaRedeemParams): ISolanaRedeem;
12
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../../src/chains/solana/actions/redeem/factory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEjE;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE,kBAAkB,GACzB,aAAa,CAEf"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Solana Redeem Action
3
+ *
4
+ * @module chains/solana/actions/redeem
5
+ */
6
+ export { createSolanaRedeem } from './factory';
7
+ export { SolanaRedeem } from './SolanaRedeem';
8
+ export type { ISolanaRedeem, SolanaRedeemParams, SolanaRedeemPrepareParams, SolanaRedeemProgress, } from './types';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/chains/solana/actions/redeem/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,SAAS,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Solana Redeem Action Types
3
+ *
4
+ * Redeems BTC.b on Solana → BTC on Bitcoin via Asset Router + GMP.
5
+ *
6
+ * @module chains/solana/actions/redeem/types
7
+ */
8
+ import type { AssetId, Chain, StepStatus, StrategyProgress } from '../../../../core';
9
+ import type { MonitorableAction } from '../../../../shared/actions/BaseAction';
10
+ import type { NonEvmUnstakeStatus } from '../../../../shared/constants/statusConstants';
11
+ /**
12
+ * Solana Redeem parameters
13
+ */
14
+ export interface SolanaRedeemParams {
15
+ assetIn: AssetId;
16
+ assetOut: AssetId;
17
+ sourceChain: Chain;
18
+ destChain: Chain;
19
+ }
20
+ /**
21
+ * Solana Redeem progress
22
+ */
23
+ export interface SolanaRedeemProgress extends StrategyProgress<NonEvmUnstakeStatus> {
24
+ status: NonEvmUnstakeStatus;
25
+ steps: {
26
+ burning: StepStatus;
27
+ releasing: StepStatus;
28
+ };
29
+ txHash?: string;
30
+ }
31
+ /**
32
+ * Solana Redeem prepare params
33
+ */
34
+ export interface SolanaRedeemPrepareParams {
35
+ amount: string;
36
+ /** Bitcoin address to receive BTC */
37
+ recipient: string;
38
+ }
39
+ /**
40
+ * Solana Redeem interface
41
+ */
42
+ export interface ISolanaRedeem extends MonitorableAction {
43
+ readonly status: NonEvmUnstakeStatus;
44
+ readonly amount?: string;
45
+ readonly recipient?: string;
46
+ readonly txHash?: string;
47
+ prepare(params: SolanaRedeemPrepareParams): Promise<void>;
48
+ execute(): Promise<{
49
+ txHash: string;
50
+ }>;
51
+ }
52
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/chains/solana/actions/redeem/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,UAAU,EACV,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,KAAK,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,oBACf,SAAQ,gBAAgB,CAAC,mBAAmB,CAAC;IAC7C,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,EAAE;QACL,OAAO,EAAE,UAAU,CAAC;QACpB,SAAS,EAAE,UAAU,CAAC;KACvB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB,OAAO,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,OAAO,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Solana shared utilities
3
+ *
4
+ * @module chains/solana/utils
5
+ */
6
+ import type { Env } from '@lombard.finance/sdk-common';
7
+ /**
8
+ * Map a Lombard environment to the Solana network string expected by
9
+ * sdk-solana functions (e.g. SolanaNetwork enum values).
10
+ *
11
+ * NOTE: SolanaUnstake.ts contains an identical copy pending a follow-up
12
+ * cleanup PR (unstake was not part of this branch).
13
+ */
14
+ export declare function envToSolanaNetwork(env: Env): string;
15
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/chains/solana/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAEvD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAYnD"}
@@ -0,0 +1,2 @@
1
+ "use strict";var z=Object.defineProperty;var H=(s,r,i)=>r in s?z(s,r,{enumerable:!0,configurable:!0,writable:!0,value:i}):s[r]=i;var p=(s,r,i)=>H(s,typeof r!="symbol"?r+"":r,i);const Y=require("axios"),t=require("./statusConstants-Cri7yswV.cjs"),A=require("./token-addresses-nzvTOi24.cjs"),u=require("./index-BKzxeh1Y.cjs"),l=require("./tokens-BkvA0Gp1.cjs"),D=require("./satoshi-CZEsHl5X.cjs"),c=require("./defi-registry-DDNavtO1.cjs"),R=require("./getUserStakeAndBakeSignature-CSEyzgMc.cjs"),$=require("./config-DmCmanM_.cjs"),q=require("viem"),U="ERR_NETWORK",G="This may be due to your Adblocker. Please disable any Adblocker and refresh the page to restore full functionality.";function j(s){const{code:r,message:i}=s;throw r===U?new Error(G):new Error(i)}const K={mempoolApiUrl:"https://mempool.space/signet"},Z={mempoolApiUrl:"https://mempool.space"},W=s=>s==="mainnet"?Z:K;async function X(s){const{mempoolApiUrl:r}=W(s),i=Math.floor(Date.now()/1e3),e=`${r}/api/v1/mining/blocks/timestamp/${i}`;try{const{data:a}=await Y.get(e);return a.height}catch(a){j(a)}}class J{async getCurrentBlockHeight(r){return X(r)}}function Q(){return{id:"btc",chain:"btc",register(){return new J}}}async function y(s){const{fetchDeposit:r,network:i,btcService:e,requiredConfirmations:a=6,onProgress:n,onComplete:o}=s,h=await r();if(!h)return;const d=h.blockHeight;if(typeof d!="number")return;const T=await e.getCurrentBlockHeight(i),_=Math.max(0,T-d),N=_>=a,w=h.isClaimed??!1,B={confirmations:_,requiredConfirmations:a,hasEnoughConfirmations:N,isClaimed:w,steps:{created:t.StepStatus.COMPLETE,verifying:N?t.StepStatus.COMPLETE:t.StepStatus.PENDING,issuing:w?t.StepStatus.COMPLETE:t.StepStatus.PENDING}};return n==null||n(B),w&&(o==null||o()),B}function f(s){if(s===R.SANCTIONED_ADDRESS)throw new t.LombardError(t.ValidationErrorCode.INVALID_PARAMETER,"Destination address is under sanctions")}class I extends t.BaseAction{constructor(i,e,a){super(a);p(this,"_amount");p(this,"_recipient");p(this,"_depositAddress");p(this,"_referralCode");p(this,"_chainId");this.ctx=i,this.params=e}get amount(){return this._amount}get recipient(){return this._recipient}get depositAddress(){return this._depositAddress}get referralCode(){return this._referralCode}get bitcoinNetwork(){return this.params.sourceChain===t.Chain.BITCOIN_MAINNET?"mainnet":"testnet"}get prepareSchema(){return t.objectType({amount:t.btcStakeAmountSchema,recipient:this.getAddressSchema(),referralCode:t.referralCodeSchema})}validatePrepareParams(i){return t.validatePrepareParams(this.prepareSchema,i,{destChain:this.params.destChain})}ensureRecipient(){if(!this._recipient)throw t.LombardError.missingParameter("recipient");return this._recipient}ensureAmount(){if(!this._amount)throw t.LombardError.missingParameter("amount");return this._amount}ensureDepositAddress(){if(!this._depositAddress)throw new t.LombardError(t.ValidationErrorCode.INVALID_PARAMETER,"Deposit address not generated. Call generateDepositAddress() first.");return this._depositAddress}getAuthRequiredMessage(){return"Authorization required. Complete the authorization step first."}ensureAuthorized(){if(!this.isAuthorized())throw new t.LombardError(t.ValidationErrorCode.INVALID_PARAMETER,this.getAuthRequiredMessage())}async resumeFromExistingDeposit(i){try{const e=await this.ctx.api.getDepositAddress({address:i,chainId:this.getChainId(),token:this.getExpectedToken(),partnerId:this.ctx.partner.getPartnerId()});return e?(this._depositAddress=e,!0):!1}catch{return!1}}async generateDepositAddressImpl(i){const e=this.getStatusConfig();return this.assertStatus(e.ready,"generateDepositAddress"),this.ensureAuthorized(),this._depositAddress?this._depositAddress:this.act(async()=>{const a=this.getDepositAddressParams(i),n=await this.ctx.api.generateDepositAddress(a);f(n),this._depositAddress=n;const o=this.getInitialSteps(),h=Object.fromEntries(Object.entries(o).map(([d],T)=>[d,T===0?t.StepStatus.COMPLETE:t.StepStatus.IDLE]));return this.emitProgress({status:e.addressReady,steps:h,metadata:{depositAddress:n}}),n},e.addressReady)}async executeImpl(){const i=this.getStatusConfig();return this.act(async()=>{this.assertStatus(i.addressReady,"execute"),this._depositAddress||await this.generateDepositAddressImpl();const e=this.ensureDepositAddress(),a=await this.trySendBitcoin(e);return a?{depositAddress:e,txHash:a}:{depositAddress:e}})}emitInitialProgress(){this.emitProgress({status:this.status,steps:this.getInitialSteps()})}async monitorDeposit(){const i=this._depositAddress,e=this._recipient;if(!i||!e)throw t.LombardError.missingParameter("depositAddress or recipient");return await y({network:this.bitcoinNetwork,btcService:this.ctx.btc,fetchDeposit:async()=>{const o=(await this.ctx.api.getDeposits(e)).find(h=>h.depositAddress===i);if(o)return{blockHeight:o.blockHeight,isClaimed:o.isClaimed}},onProgress:n=>{this.emitProgress({status:this.status,steps:n.steps,confirmations:n.confirmations,requiredConfirmations:n.requiredConfirmations,metadata:{isClaimed:n.isClaimed}})},onComplete:()=>{this.emitCompleted()}})}async trySendBitcoin(i){const e=this._amount;if(e)try{const a=await this.ctx.getProvider("bitcoin");if(!a)return;const n=a;if(n.sendBitcoin){const o=D.toSatoshi(e).toNumber();return n.sendBitcoin(i,o)}}catch{}}}function E(s,r=A.Token.LBTC){switch(s){case c.AssetId.LBTC:return A.Token.LBTC;case c.AssetId.BTCb:return A.Token.BTCb;default:return r}}async function tt(s,r){try{await s.request({method:"wallet_switchEthereumChain",params:[{chainId:`0x${r.toString(16)}`}]})}catch(i){const e=i;if(e.code===4902)try{await A.addChain({provider:s,chainId:r}),await s.request({method:"wallet_switchEthereumChain",params:[{chainId:`0x${r.toString(16)}`}]});return}catch(a){const n=a;throw n.code===4001?new t.LombardError(t.ValidationErrorCode.INVALID_PARAMETER,"User rejected adding chain to wallet."):new t.LombardError(t.ValidationErrorCode.INVALID_CHAIN,`Failed to add chain ${r} to wallet: ${n.message||"Unknown error"}`)}throw e.code===4001?new t.LombardError(t.ValidationErrorCode.INVALID_PARAMETER,"User rejected chain switch request."):new t.LombardError(t.ValidationErrorCode.INVALID_CHAIN,`Failed to switch to chain ${r}: ${e.message||"Unknown error"}`)}}async function et(s){const r=await s.request({method:"eth_chainId"});return parseInt(r,16)}async function C(s,r){await et(s)!==r&&await tt(s,r)}const st=[t.Chain.ETHEREUM,t.Chain.SEPOLIA],it={async getMintingFee(s,r){return s.capabilities.require("evm").getMintingFee(r,A.Token.BTCb)},async restoreFeeSignature(s,r,i){const e=await l.getTokenContractInfo(A.Token.BTCb,r,s.env),a=await s.api.getFeeSignature({address:i,chainId:r,tokenAddress:e.address});return!a.hasSignature||a.expirationDate&&new Date(Number(a.expirationDate)*1e3)<new Date?null:{hasSignature:!0,signature:a.signature,typedData:a.typedData}},async authorizeFee(s,{chainId:r,recipient:i,fee:e}){const a=s.capabilities.require("evm"),n=await s.getProvider("evm");if(!n)throw t.LombardError.providerMissing(String(r),"evm");await C(n,r);const o=D.toSatoshi(e).toString(),h=await l.getTokenContractInfo(A.Token.BTCb,r,s.env),d=await a.signNetworkFee({fee:o,account:i,chainId:r,provider:n,token:A.Token.BTCb});return await s.api.storeFeeSignature({address:i,signature:d.signature,typedData:d.typedData,tokenAddress:h.address}),{signature:d.signature,typedData:d.typedData}}},rt={chainType:"evm",routes:[{sourceChains:[t.Chain.BITCOIN_MAINNET],envs:[u.r.prod]},{sourceChains:[t.Chain.BITCOIN_SIGNET],envs:[u.r.stage,u.r.dev,u.r.testnet,u.r.ibc]}],destChains:t.getAllAssetChains(c.AssetId.BTCb).filter(s=>t.isEvmChain(s)),supportedAssetsOut:[c.AssetId.BTCb],addressSchema:t.evmAddressSchema,getFeeAuthConfig(s){return st.includes(s)?it:null},async signDestination(s,r,i){const e=s.capabilities.require("evm"),a=await s.getProvider("evm");if(!a)throw t.LombardError.providerMissing(String(i),"evm");return await C(a,i),{signature:(await e.signLbtcDestination({address:r,chainId:i,provider:a})).signature}}},m=s=>`${s}${t.CAIP2_SEPARATOR}`;function nt(s){return String(s).startsWith(m(t.CHAIN_PREFIXES.EIP155))}function b(s){return String(s).startsWith(m(t.CHAIN_PREFIXES.SOLANA))}function at(s){return String(s).startsWith(m(t.CHAIN_PREFIXES.SUI))}function ot(s){return String(s).startsWith(m(t.CHAIN_PREFIXES.STARKNET))}function ut(s){const r={[t.Chain.SOLANA_MAINNET]:"mainnet-beta",[t.Chain.SOLANA_DEVNET]:"devnet",[t.Chain.SOLANA_TESTNET]:"testnet","solana:mainnet-beta":"mainnet-beta","solana:devnet":"devnet","solana:testnet":"testnet"},i=r[s];if(!i)throw new t.LombardError(t.ValidationErrorCode.INVALID_CHAIN,`Unknown Solana chain: ${s}. Expected one of: ${Object.keys(r).join(", ")}`);return i}const dt={chainType:"solana",routes:[{sourceChains:[t.Chain.BITCOIN_SIGNET],envs:[u.r.stage,u.r.dev]}],destChains:t.getAllAssetChains(c.AssetId.BTCb).filter(s=>b(s)),supportedAssetsOut:[c.AssetId.BTCb],addressSchema:t.solanaAddressSchema,getFeeAuthConfig:()=>null,async signDestination(s,r,i){const e=s.capabilities.require("solana"),a=ut(i),{signature:n}=await e.signLbtcDestination({network:a});return{signature:n}}},ct={evm:rt,solana:dt};function ht(s){return ct[s]}function pt(s,r){return s.destChains.includes(r)}function At(s,r){return s.supportedAssetsOut.includes(r)}function St(s,r,i){return s.routes.some(e=>e.envs.includes(i)&&(!r||e.sourceChains.includes(r)))}class k extends I{constructor(i,e){super(i,e,t.BtcActionStatus.IDLE);p(this,"config");p(this,"chainId");p(this,"authState",{authorized:!1});p(this,"feeAuthConfig",null);const a=t.getChainType(e.destChain),n=ht(a);if(!n)throw new t.LombardError(t.ValidationErrorCode.INVALID_CHAIN,`Unsupported destination chain type: ${a} (${e.destChain})`);if(!At(n,e.assetOut))throw new t.LombardError(t.ValidationErrorCode.INVALID_ASSET,`Asset ${e.assetOut} is not supported for BTC deposits. BTC Deposit produces BTC.b. For LBTC, use BtcStake instead.`);if(!pt(n,e.destChain))throw new t.LombardError(t.ValidationErrorCode.INVALID_CHAIN,`Destination chain ${e.destChain} is not supported for ${a} BTC deposits`);if(!St(n,e.sourceChain,i.env))throw t.LombardError.routeNotFound({assetOut:e.assetOut,sourceChain:e.sourceChain,destChain:e.destChain,env:i.env});this.config=n,this.chainId=t.parseChainIdentifier(e.destChain)}getAddressSchema(){return this.config.addressSchema}getStatusConfig(){return{idle:t.BtcActionStatus.IDLE,ready:t.BtcActionStatus.READY,addressReady:t.BtcActionStatus.ADDRESS_READY}}getInitialSteps(){return{created:t.StepStatus.IDLE,verifying:t.StepStatus.IDLE,issuing:t.StepStatus.IDLE}}isAuthorized(){return this.authState.authorized}getChainId(){return this.chainId}get mintingFee(){return this.authState.mintingFee}getDepositAddressParams(i){return{address:this.ensureRecipient(),chainId:this.chainId,signature:this.authState.signature,token:this.getExpectedToken(),eip712Data:this.authState.typedData,partnerId:this.ctx.partner.getPartnerId(),referrerCode:this._referralCode,captchaToken:i}}async generateDepositAddress(i){if(!this.authState.signature){const e=await this.config.signDestination(this.ctx,this.ensureRecipient(),this.chainId);this.authState.signature=e.signature,this.authState.typedData=e.typedData}return this.generateDepositAddressImpl(i)}getExpectedToken(){return E(this.params.assetOut,A.Token.BTCb)}getAuthRequiredMessage(){return this.feeAuthConfig?"Fee authorization required. Call authorizeFee() first.":"Address confirmation required. Call confirmAddress() first."}async prepare(i){return this.assertStatus(t.BtcActionStatus.IDLE,"prepare"),this.act(async()=>{const e=this.validatePrepareParams(i);if(this._amount=e.amount,this._recipient=e.recipient,this._referralCode=e.referralCode,this.feeAuthConfig=this.config.getFeeAuthConfig(this.params.destChain),await this.resumeFromExistingDeposit(e.recipient)){if(this.feeAuthConfig){const n=await this.feeAuthConfig.restoreFeeSignature(this.ctx,this.chainId,e.recipient);if(!(n!=null&&n.hasSignature)){this.authState.mintingFee=await this.feeAuthConfig.getMintingFee(this.ctx,this.chainId),this.updateStatus(t.BtcActionStatus.NEEDS_FEE_AUTHORIZATION),this.emitInitialProgress();return}n.signature&&(this.authState.signature=n.signature,this.authState.typedData=n.typedData),this.authState.authorized=!0}this.updateStatus(t.BtcActionStatus.ADDRESS_READY),this.emitInitialProgress();return}if(this.feeAuthConfig){const n=await this.feeAuthConfig.restoreFeeSignature(this.ctx,this.chainId,e.recipient);if(n!=null&&n.hasSignature){n.signature&&(this.authState.signature=n.signature,this.authState.typedData=n.typedData),this.authState.authorized=!0,this.updateStatus(t.BtcActionStatus.READY),this.emitInitialProgress();return}this.authState.mintingFee=await this.feeAuthConfig.getMintingFee(this.ctx,this.chainId),this.updateStatus(t.BtcActionStatus.NEEDS_FEE_AUTHORIZATION)}else this.updateStatus(t.BtcActionStatus.NEEDS_ADDRESS_CONFIRMATION);this.emitInitialProgress()})}async authorizeFee(){if(this.assertStatus([t.BtcActionStatus.NEEDS_FEE_AUTHORIZATION,t.BtcActionStatus.READY],"authorizeFee"),this.status===t.BtcActionStatus.READY)return;if(!this.feeAuthConfig)throw new t.LombardError(t.ValidationErrorCode.INVALID_PARAMETER,"Fee authorization is not required for this destination chain. Use confirmAddress() instead.");const i=this.ensureRecipient();if(!this.authState.mintingFee)throw new t.LombardError(t.ValidationErrorCode.INVALID_STATE,"Minting fee not available. Call prepare() first.");return this.act(async()=>{const e=await this.feeAuthConfig.authorizeFee(this.ctx,{chainId:this.chainId,recipient:i,fee:this.authState.mintingFee});this.authState.signature=e.signature,this.authState.typedData=e.typedData,this.authState.authorized=!0},t.BtcActionStatus.READY)}async confirmAddress(){if(this.assertStatus([t.BtcActionStatus.NEEDS_ADDRESS_CONFIRMATION,t.BtcActionStatus.READY],"confirmAddress"),this.status===t.BtcActionStatus.READY)return;if(this.feeAuthConfig)throw new t.LombardError(t.ValidationErrorCode.INVALID_PARAMETER,"This destination chain requires fee authorization. Use authorizeFee() instead.");const i=this.ensureRecipient();return this.act(async()=>{const e=await this.config.signDestination(this.ctx,i,this.chainId);this.authState.signature=e.signature,this.authState.typedData=e.typedData,this.authState.authorized=!0},t.BtcActionStatus.READY)}async execute(){return this.executeImpl()}async monitorDeposit(){return super.monitorDeposit()}}const gt=$.VEDA_VAULT_STAKE_AND_BAKE_CHAINS.map(s=>t.evmChainIdToChain(s)),Ct={chainType:"evm",routes:[{sourceChains:[t.Chain.BITCOIN_MAINNET],envs:[u.r.prod]},{sourceChains:[t.Chain.BITCOIN_SIGNET],envs:[u.r.stage,u.r.dev,u.r.testnet,u.r.ibc]}],destChains:gt,supportedAssetsOut:[c.AssetId.LBTC],supportedProtocols:yt(c.AssetId.LBTC),addressSchema:t.evmAddressSchema,async getStakeAndBakeFee(s,r,i){return s.capabilities.require("evm").getStakeAndBakeFee(r,i)},async authorizeStakeAndBake(s,{chainId:r,recipient:i,amount:e,vaultKey:a,token:n}){const o=s.capabilities.require("evm"),h=await s.getProvider("evm");if(!h)throw t.LombardError.providerMissing(String(r),"evm");await C(h,r);const d=await o.signStakeAndBake({value:e,account:i,chainId:r,provider:h,vaultKey:a,token:n});return await s.api.storeStakeAndBakeSignature({signature:d.signature,typedData:d.typedData}),{signature:d.signature,typedData:d.typedData}},async restoreStakeAndBakeSignature(s,r,i){try{const e=await R.getUserStakeAndBakeSignature({userDestinationAddress:i,chainId:r,env:s.env});return!(e.signature||e.expirationDate)||e.expirationDate&&Number(e.expirationDate)*1e3<Date.now()?null:{hasSignature:!0,signature:e.signature,depositAmount:e.depositAmount,expirationDate:e.expirationDate}}catch{return null}}},S=Ct;function Et(s){return S.destChains.includes(s)}function Dt(s){return S.supportedAssetsOut.includes(s)}function lt(s,r){return s?S.routes.some(i=>i.sourceChains.includes(s)&&i.envs.includes(r)):!0}function O(s){return s in c.DEFI_REGISTRY}function ft(s){if(!O(s)){const r=Object.keys(c.DEFI_REGISTRY).join(", ");throw new Error(`Unsupported protocol: ${s}. Supported protocols: ${r}`)}return s}function It(s){return Object.entries(c.DEFI_REGISTRY).filter(([r,i])=>s in i).map(([r])=>r)}const v={mainnet:[t.Chain.AVALANCHE],testnet:[t.Chain.AVALANCHE_FUJI]},mt={chainType:"evm",routes:[{sourceChains:[t.Chain.BITCOIN_MAINNET],envs:[u.r.prod]},{sourceChains:[t.Chain.BITCOIN_SIGNET],envs:[u.r.stage,u.r.dev,u.r.testnet,u.r.ibc]}],destChains:[...v.mainnet,...v.testnet],supportedAssetsOut:[c.AssetId.BTCb],supportedProtocols:It(c.AssetId.BTCb),addressSchema:t.evmAddressSchema,async getDepositAndDeployFee(s,r,i){return s.capabilities.require("evm").getStakeAndBakeFee(r,i)},async authorizeDepositAndDeploy(s,{chainId:r,recipient:i,amount:e,vaultKey:a,token:n}){const o=s.capabilities.require("evm"),h=await s.getProvider("evm");if(!h)throw t.LombardError.providerMissing(String(r),"evm");await C(h,r);const d=await o.signStakeAndBake({value:e,account:i,chainId:r,provider:h,vaultKey:a,token:n});return await s.api.storeStakeAndBakeSignature({signature:d.signature,typedData:d.typedData}),{signature:d.signature,typedData:d.typedData,approvalTxHash:d.approvalTxHash}}},g=mt;function Tt(s){return g.destChains.includes(s)}function wt(s){return g.supportedAssetsOut.includes(s)}function P(s){return s in c.DEFI_REGISTRY}function L(s){if(!P(s)){const r=Object.keys(c.DEFI_REGISTRY).join(", ");throw new Error(`Unsupported protocol: ${s}. Supported protocols: ${r}`)}return s}function yt(s){return Object.entries(c.DEFI_REGISTRY).filter(([r,i])=>s in i).map(([r])=>r)}function _t(s,r){return g.routes.some(i=>i.sourceChains.includes(s)&&i.envs.includes(r))}class F extends I{constructor(i,e){super(i,e,t.BtcActionStatus.IDLE);p(this,"chainId");p(this,"authState",{authorized:!1});if(!wt(e.assetOut))throw new t.LombardError(t.ValidationErrorCode.INVALID_ASSET,`Asset ${e.assetOut} is not supported for deposit and deploy. DepositAndDeploy produces BTC.b which is then deployed to a vault like Silo.`);if(!Tt(e.destChain))throw new t.LombardError(t.ValidationErrorCode.INVALID_CHAIN,`Destination chain ${e.destChain} is not supported for deposit and deploy. Supported chains: Avalanche, Avalanche Fuji`);if(!P(e.protocol))throw new t.LombardError(t.ValidationErrorCode.INVALID_PARAMETER,`Protocol ${e.protocol} is not supported for deposit and deploy. DepositAndDeploy with BTC.b only supports Silo protocol.`);const a=e.sourceChain??t.Chain.BITCOIN_MAINNET;if(!_t(a,i.env))throw t.LombardError.routeNotFound({assetOut:e.assetOut,sourceChain:a,destChain:e.destChain,env:i.env});const n=t.parseChainIdentifier(e.destChain);if(typeof n!="number"||!A.isValidChain(n))throw new t.LombardError(t.ValidationErrorCode.INVALID_CHAIN,`Unsupported EVM chain: ${e.destChain}`);this.chainId=n}getAddressSchema(){return g.addressSchema}getStatusConfig(){return{idle:t.BtcActionStatus.IDLE,ready:t.BtcActionStatus.READY,addressReady:t.BtcActionStatus.ADDRESS_READY}}getInitialSteps(){return{created:t.StepStatus.IDLE,verifying:t.StepStatus.IDLE,wrapping:t.StepStatus.IDLE,depositing:t.StepStatus.IDLE}}isAuthorized(){return this.authState.authorized}getChainId(){return this.chainId}getDepositAddressParams(i){return{address:this.ensureRecipient(),chainId:this.chainId,signature:this.authState.signature,token:this.getExpectedToken(),signatureData:this.authState.typedData,partnerId:this.ctx.partner.getPartnerId(),referrerCode:this._referralCode,captchaToken:i}}getExpectedToken(){return E(this.params.assetOut,A.Token.BTCb)}getAuthRequiredMessage(){return"Deposit authorization required. Call authorizeDeposit() first."}get fee(){return this.authState.fee}async prepare(i){return this.assertStatus(t.BtcActionStatus.IDLE,"prepare"),this.act(async()=>{const e=this.validatePrepareParams(i);this._amount=e.amount,this._recipient=e.recipient,this._referralCode=e.referralCode,this.authState.fee=await g.getDepositAndDeployFee(this.ctx,this.chainId,L(this.params.protocol)),this.updateStatus(t.BtcActionStatus.NEEDS_DEPLOY_AUTHORIZATION),this.emitInitialProgress()},t.BtcActionStatus.NEEDS_DEPLOY_AUTHORIZATION)}async authorizeDeposit(){if(this.assertStatus([t.BtcActionStatus.NEEDS_DEPLOY_AUTHORIZATION,t.BtcActionStatus.READY],"authorizeDeposit"),this.status===t.BtcActionStatus.READY)return;const i=this.ensureRecipient(),e=this.ensureAmount();return this.act(async()=>{const a=D.toSatoshi(e),n=E(this.params.assetOut,A.Token.BTCb),o=await g.authorizeDepositAndDeploy(this.ctx,{chainId:this.chainId,recipient:i,amount:a.toString(),vaultKey:L(this.params.protocol),token:n});this.authState.signature=o.signature,this.authState.typedData=o.typedData,this.authState.authorized=!0},t.BtcActionStatus.READY)}async generateDepositAddress(i){return this.assertStatus(t.BtcActionStatus.READY,"generateDepositAddress"),this.ensureAuthorized(),this._depositAddress?this._depositAddress:this.act(async()=>{const e=this.getDepositAddressParams(i),a=await this.ctx.api.generateDepositAddress(e);return f(a),this._depositAddress=a,this.emitProgress({status:t.BtcActionStatus.ADDRESS_READY,steps:{created:t.StepStatus.COMPLETE,verifying:t.StepStatus.IDLE,wrapping:t.StepStatus.IDLE,depositing:t.StepStatus.IDLE},metadata:{depositAddress:a}}),a},t.BtcActionStatus.ADDRESS_READY)}async execute(){return this.act(async()=>{this.assertStatus(t.BtcActionStatus.ADDRESS_READY,"execute"),this._depositAddress||await this.generateDepositAddress();const i=this.ensureDepositAddress(),e=await this.trySendBitcoin(i);return e?{depositAddress:i,txHash:e}:{depositAddress:i}})}async monitorDeposit(){const i=this._depositAddress,e=this._recipient;if(!i||!e)throw t.LombardError.missingParameter("depositAddress or recipient");return await y({network:this.bitcoinNetwork,btcService:this.ctx.btc,fetchDeposit:async()=>{const o=(await this.ctx.api.getDeposits(e)).find(h=>h.depositAddress===i);if(o)return{blockHeight:o.blockHeight,isClaimed:o.isClaimed}},onProgress:n=>{this.emitProgress({status:this.status,steps:{created:t.StepStatus.COMPLETE,verifying:n.hasEnoughConfirmations?t.StepStatus.COMPLETE:t.StepStatus.PENDING,wrapping:n.isClaimed?t.StepStatus.COMPLETE:t.StepStatus.PENDING,depositing:t.StepStatus.PENDING},confirmations:n.confirmations,requiredConfirmations:n.requiredConfirmations,metadata:{isClaimed:n.isClaimed}})},onComplete:()=>{this.emitCompleted()}})}}const Nt=[t.Chain.ETHEREUM,t.Chain.SEPOLIA],Bt={async getMintingFee(s,r){return s.capabilities.require("evm").getMintingFee(r)},async restoreFeeSignature(s,r,i){const e=await l.getTokenContractInfo(A.Token.LBTC,r,s.env),a=await s.api.getFeeSignature({address:i,chainId:r,tokenAddress:e.address});return!a.hasSignature||a.expirationDate&&new Date(Number(a.expirationDate)*1e3)<new Date?null:{hasSignature:!0,signature:a.signature,typedData:a.typedData}},async authorizeFee(s,{chainId:r,recipient:i,fee:e}){const a=s.capabilities.require("evm"),n=await s.getProvider("evm");if(!n)throw t.LombardError.providerMissing(String(r),"evm");await C(n,r);const o=D.toSatoshi(e).toString(),h=await l.getTokenContractInfo(A.Token.LBTC,r,s.env),d=await a.signNetworkFee({fee:o,account:i,chainId:r,provider:n,token:A.Token.LBTC});return await s.api.storeFeeSignature({address:i,signature:d.signature,typedData:d.typedData,tokenAddress:h.address}),{signature:d.signature,typedData:d.typedData}}},vt={chainType:"evm",routes:[{sourceChains:[t.Chain.BITCOIN_MAINNET],envs:[u.r.prod]},{sourceChains:[t.Chain.BITCOIN_SIGNET],envs:[u.r.testnet,u.r.stage,u.r.dev,u.r.ibc]}],destChains:t.getAllAssetChains(c.AssetId.LBTC).filter(s=>nt(s)),supportedAssetsOut:[c.AssetId.LBTC],addressSchema:t.evmAddressSchema,getFeeAuthConfig(s){return Nt.includes(s)?Bt:null},async getSignature(s,r,i){const e=s.capabilities.require("evm"),a=await s.getProvider("evm");if(!a)throw t.LombardError.providerMissing(String(i),"evm");return await C(a,i),e.signLbtcDestination({chainId:i,address:r,provider:a})}};function Lt(s){const r={[t.Chain.SOLANA_MAINNET]:"mainnet-beta",[t.Chain.SOLANA_DEVNET]:"devnet",[t.Chain.SOLANA_TESTNET]:"testnet","solana:mainnet-beta":"mainnet-beta","solana:devnet":"devnet","solana:testnet":"testnet"},i=r[s];if(!i)throw new t.LombardError(t.ValidationErrorCode.INVALID_CHAIN,`Unknown Solana chain: ${s}. Expected one of: ${Object.keys(r).join(", ")}`);return i}const Rt={chainType:"solana",routes:[{sourceChains:[t.Chain.BITCOIN_MAINNET],envs:[u.r.prod]},{sourceChains:[t.Chain.BITCOIN_SIGNET],envs:[u.r.testnet,u.r.stage,u.r.dev,u.r.ibc]}],destChains:t.getAllAssetChains(c.AssetId.LBTC).filter(s=>b(s)),supportedAssetsOut:[c.AssetId.LBTC],addressSchema:t.solanaAddressSchema,getFeeAuthConfig:()=>null,async getSignature(s,r,i){const e=s.capabilities.require("solana"),a=Lt(i),{signature:n}=await e.signLbtcDestination({network:a});return{signature:n}}},bt={chainType:"starknet",routes:[{sourceChains:[t.Chain.BITCOIN_MAINNET],envs:[u.r.prod]},{sourceChains:[t.Chain.BITCOIN_SIGNET],envs:[u.r.testnet,u.r.stage,u.r.dev,u.r.ibc]}],destChains:t.getAllAssetChains(c.AssetId.LBTC).filter(s=>ot(s)),supportedAssetsOut:[c.AssetId.LBTC],addressSchema:t.starknetAddressSchema,getFeeAuthConfig:()=>null,async getSignature(s,r,i){const e=s.capabilities.require("starknet"),{signature:a,pubKey:n}=await e.signLbtcDestination({chainId:i}),o=q.pad(r,{size:32});return{signature:a,pubKey:n,paddedAddress:o}}},kt={chainType:"sui",routes:[{sourceChains:[t.Chain.BITCOIN_MAINNET],envs:[u.r.prod]},{sourceChains:[t.Chain.BITCOIN_SIGNET],envs:[u.r.testnet,u.r.stage,u.r.dev,u.r.ibc]}],destChains:t.getAllAssetChains(c.AssetId.LBTC).filter(s=>at(s)),supportedAssetsOut:[c.AssetId.LBTC],addressSchema:t.suiAddressSchema,getFeeAuthConfig:()=>null,async getSignature(s,r,i){const e=s.capabilities.require("sui"),{signature:a}=await e.signLbtcDestination({chainId:i});return{signature:a}}},Ot={evm:vt,solana:Rt,sui:kt,starknet:bt};function Pt(s){return Ot[s]}function Ft(s,r,i){return r?s.routes.some(e=>e.sourceChains.includes(r)&&e.envs.includes(i)):!0}function xt(s,r){return s.destChains.includes(r)}function Mt(s,r){return s.supportedAssetsOut.includes(r)}class x extends I{constructor(i,e){super(i,e,t.BtcActionStatus.IDLE);p(this,"config");p(this,"chainId");p(this,"authState",{authorized:!1});p(this,"feeAuthConfig",null);const a=t.getChainType(e.destChain),n=Pt(a);if(!n)throw new t.LombardError(t.ValidationErrorCode.INVALID_CHAIN,`Unsupported destination chain type: ${a} (${e.destChain})`);if(!Mt(n,e.assetOut))throw new t.LombardError(t.ValidationErrorCode.INVALID_ASSET,`Asset ${e.assetOut} is not supported for BTC staking. BTC Stake produces LBTC. For BTC.b, use BtcDeposit instead.`);if(!xt(n,e.destChain))throw new t.LombardError(t.ValidationErrorCode.INVALID_CHAIN,`Destination chain ${e.destChain} is not supported for ${a}`);if(!Ft(n,e.sourceChain,i.env))throw t.LombardError.routeNotFound({assetOut:e.assetOut,sourceChain:e.sourceChain,destChain:e.destChain,env:i.env});this.config=n,this.chainId=t.parseChainIdentifier(e.destChain)}getAddressSchema(){return this.config.addressSchema}getStatusConfig(){return{idle:t.BtcActionStatus.IDLE,ready:t.BtcActionStatus.READY,addressReady:t.BtcActionStatus.ADDRESS_READY}}getInitialSteps(){return{created:t.StepStatus.IDLE,verifying:t.StepStatus.IDLE,issuing:t.StepStatus.IDLE}}isAuthorized(){return this.authState.authorized}getChainId(){return this.chainId}getDepositAddressParams(i){var n;const e=this.ensureRecipient(),a=this.getActiveSignature();if(!a)throw new t.LombardError(t.ValidationErrorCode.INVALID_PARAMETER,"Missing signature. Complete authorization first.");return{address:a.paddedAddress??e,chainId:this.chainId,signature:a.signature,token:this.getExpectedToken(),eip712Data:(n=this.authState.networkFee)==null?void 0:n.typedData,pubKey:a.pubKey,partnerId:this.ctx.partner.getPartnerId(),referrerCode:this._referralCode,captchaToken:i}}getExpectedToken(){return E(this.params.assetOut,A.Token.LBTC)}getAuthRequiredMessage(){return"Authorization required. Call authorize() first."}get mintingFee(){return this.authState.mintingFee}async prepare(i){return this.assertStatus(t.BtcActionStatus.IDLE,"prepare"),this.act(async()=>{const e=this.validatePrepareParams(i);if(this._amount=e.amount,this._recipient=e.recipient,this._referralCode=e.referralCode,this.feeAuthConfig=this.config.getFeeAuthConfig(this.params.destChain),await this.resumeFromExistingDeposit(e.recipient)){if(this.feeAuthConfig){const n=await this.feeAuthConfig.restoreFeeSignature(this.ctx,this.chainId,e.recipient);if(!(n!=null&&n.hasSignature)){this.authState.mintingFee=await this.feeAuthConfig.getMintingFee(this.ctx,this.chainId),this.updateStatus(t.BtcActionStatus.NEEDS_FEE_AUTHORIZATION),this.emitInitialProgress();return}n.signature&&(this.authState.networkFee={signature:n.signature,typedData:n.typedData}),this.authState.authorized=!0}this.updateStatus(t.BtcActionStatus.ADDRESS_READY),this.emitInitialProgress();return}if(this.feeAuthConfig){const n=await this.feeAuthConfig.restoreFeeSignature(this.ctx,this.chainId,e.recipient);if(n!=null&&n.hasSignature){n.signature&&(this.authState.networkFee={signature:n.signature,typedData:n.typedData}),this.authState.authorized=!0,this.updateStatus(t.BtcActionStatus.READY),this.emitInitialProgress();return}this.authState.mintingFee=await this.feeAuthConfig.getMintingFee(this.ctx,this.chainId),this.updateStatus(t.BtcActionStatus.NEEDS_FEE_AUTHORIZATION)}else this.updateStatus(t.BtcActionStatus.NEEDS_ADDRESS_CONFIRMATION);this.emitInitialProgress()})}async authorize(){if(this.assertStatus([t.BtcActionStatus.NEEDS_FEE_AUTHORIZATION,t.BtcActionStatus.NEEDS_ADDRESS_CONFIRMATION,t.BtcActionStatus.READY],"authorize"),this.status===t.BtcActionStatus.READY)return;const i=this.ensureRecipient(),e=this.feeAuthConfig!==null;return this.act(async()=>{if(e){const a=this.ensureMintingFee(),n=await this.feeAuthConfig.authorizeFee(this.ctx,{chainId:this.chainId,recipient:i,fee:a});this.authState.networkFee={signature:n.signature,typedData:n.typedData}}else this.authState.destinationSignature=await this.config.getSignature(this.ctx,i,this.chainId);this.authState.authorized=!0},t.BtcActionStatus.READY)}async generateDepositAddress(i){if(this.assertStatus(t.BtcActionStatus.READY,"generateDepositAddress"),this.ensureAuthorized(),this._depositAddress)return this._depositAddress;if(!this.getActiveSignature()){const e=await this.config.getSignature(this.ctx,this.ensureRecipient(),this.chainId);this.authState.destinationSignature=e}return this.act(async()=>{const e=this.getDepositAddressParams(i),a=await this.ctx.api.generateDepositAddress(e);return f(a),this._depositAddress=a,this.emitProgress({status:t.BtcActionStatus.ADDRESS_READY,steps:{created:t.StepStatus.COMPLETE,verifying:t.StepStatus.IDLE,issuing:t.StepStatus.IDLE},metadata:{depositAddress:a}}),a},t.BtcActionStatus.ADDRESS_READY)}async execute(){return this.executeImpl()}async monitorDeposit(){return super.monitorDeposit()}ensureMintingFee(){if(!this.authState.mintingFee)throw new t.LombardError(t.ValidationErrorCode.INVALID_PARAMETER,"Minting fee not fetched. Call prepare() first.");return this.authState.mintingFee}getActiveSignature(){var i;return(i=this.authState.networkFee)!=null&&i.signature?{signature:this.authState.networkFee.signature}:this.authState.destinationSignature}}class M extends I{constructor(i,e){super(i,e,t.BtcActionStatus.IDLE);p(this,"chainId");p(this,"authState",{authorized:!1});if(!Dt(e.assetOut))throw new t.LombardError(t.ValidationErrorCode.INVALID_ASSET,`Asset ${e.assetOut} is not supported for stake and deploy. StakeAndDeploy produces LBTC which is then deployed to a vault.`);if(!Et(e.destChain))throw new t.LombardError(t.ValidationErrorCode.INVALID_CHAIN,`Destination chain ${e.destChain} is not supported for stake and deploy`);if(!O(e.protocol))throw new t.LombardError(t.ValidationErrorCode.INVALID_PARAMETER,`Protocol ${e.protocol} is not supported for stake and deploy`);if(!lt(e.sourceChain,i.env))throw t.LombardError.routeNotFound({assetOut:e.assetOut,sourceChain:e.sourceChain,destChain:e.destChain,env:i.env});const a=t.parseChainIdentifier(e.destChain);if(typeof a!="number"||!A.isValidChain(a))throw new t.LombardError(t.ValidationErrorCode.INVALID_CHAIN,`Unsupported EVM chain: ${e.destChain}`);this.chainId=a}getAddressSchema(){return S.addressSchema}getStatusConfig(){return{idle:t.BtcActionStatus.IDLE,ready:t.BtcActionStatus.READY,addressReady:t.BtcActionStatus.ADDRESS_READY}}getInitialSteps(){return{created:t.StepStatus.IDLE,verifying:t.StepStatus.IDLE,issuing:t.StepStatus.IDLE,depositing:t.StepStatus.IDLE}}isAuthorized(){return this.authState.authorized}getChainId(){return this.chainId}getDepositAddressParams(i){return{address:this.ensureRecipient(),chainId:this.chainId,signature:this.authState.signature,token:this.getExpectedToken(),signatureData:this.authState.typedData,partnerId:this.ctx.partner.getPartnerId(),referrerCode:this._referralCode,captchaToken:i}}getExpectedToken(){return E(this.params.assetOut,A.Token.LBTC)}getAuthRequiredMessage(){return"Deposit authorization required. Call authorizeDeposit() first."}get fee(){return this.authState.fee}async prepare(i){return this.assertStatus(t.BtcActionStatus.IDLE,"prepare"),this.act(async()=>{const e=this.validatePrepareParams(i);if(this._amount=e.amount,this._recipient=e.recipient,this._referralCode=e.referralCode,this.authState.fee=await S.getStakeAndBakeFee(this.ctx,this.chainId,this.params.protocol),await this.resumeFromExistingDeposit(e.recipient)){const o=await S.restoreStakeAndBakeSignature(this.ctx,this.chainId,e.recipient);if(o!=null&&o.hasSignature){o.signature&&(this.authState.signature=o.signature),this.authState.authorized=!0,this.updateStatus(t.BtcActionStatus.ADDRESS_READY),this.emitInitialProgress();return}this.updateStatus(t.BtcActionStatus.NEEDS_DEPLOY_AUTHORIZATION),this.emitInitialProgress();return}const n=await S.restoreStakeAndBakeSignature(this.ctx,this.chainId,e.recipient);if(n!=null&&n.hasSignature){n.signature&&(this.authState.signature=n.signature),this.authState.authorized=!0,this.updateStatus(t.BtcActionStatus.READY),this.emitInitialProgress();return}this.updateStatus(t.BtcActionStatus.NEEDS_DEPLOY_AUTHORIZATION),this.emitInitialProgress()})}async authorizeDeposit(){if(this.assertStatus([t.BtcActionStatus.NEEDS_DEPLOY_AUTHORIZATION,t.BtcActionStatus.READY],"authorizeDeposit"),this.status===t.BtcActionStatus.READY)return;const i=this.ensureRecipient(),e=this.ensureAmount();return this.act(async()=>{const a=D.toSatoshi(e),n=this.params.assetIn??c.AssetId.BTC,o=await S.authorizeStakeAndBake(this.ctx,{chainId:this.chainId,recipient:i,amount:a.toString(),vaultKey:ft(this.params.protocol),token:n});this.authState.signature=o.signature,this.authState.typedData=o.typedData,this.authState.authorized=!0},t.BtcActionStatus.READY)}async generateDepositAddress(i){return this.assertStatus(t.BtcActionStatus.READY,"generateDepositAddress"),this.ensureAuthorized(),this._depositAddress?this._depositAddress:this.act(async()=>{const e=this.getDepositAddressParams(i),a=await this.ctx.api.generateDepositAddress(e);return f(a),this._depositAddress=a,this.emitProgress({status:t.BtcActionStatus.ADDRESS_READY,steps:{created:t.StepStatus.COMPLETE,verifying:t.StepStatus.IDLE,issuing:t.StepStatus.IDLE,depositing:t.StepStatus.IDLE},metadata:{depositAddress:a}}),a},t.BtcActionStatus.ADDRESS_READY)}async execute(){return this.act(async()=>{this.assertStatus(t.BtcActionStatus.ADDRESS_READY,"execute"),this._depositAddress||await this.generateDepositAddress();const i=this.ensureDepositAddress(),e=await this.trySendBitcoin(i);return e?{depositAddress:i,txHash:e}:{depositAddress:i}})}async monitorDeposit(){const i=this._depositAddress,e=this._recipient;if(!i||!e)throw t.LombardError.missingParameter("depositAddress or recipient");return await y({network:this.bitcoinNetwork,btcService:this.ctx.btc,fetchDeposit:async()=>{const o=(await this.ctx.api.getDeposits(e)).find(h=>h.depositAddress===i);if(o)return{blockHeight:o.blockHeight,isClaimed:o.isClaimed}},onProgress:n=>{this.emitProgress({status:this.status,steps:{created:t.StepStatus.COMPLETE,verifying:n.hasEnoughConfirmations?t.StepStatus.COMPLETE:t.StepStatus.PENDING,issuing:n.isClaimed?t.StepStatus.COMPLETE:t.StepStatus.PENDING,depositing:t.StepStatus.PENDING},confirmations:n.confirmations,requiredConfirmations:n.requiredConfirmations,metadata:{isClaimed:n.isClaimed}})},onComplete:()=>{this.emitCompleted()}})}}class V{constructor(r){p(this,"ctx");this.ctx=t.createBtcCoreContext(r)}stake(r){return new x(this.ctx,r)}stakeAndDeploy(r){return new M(this.ctx,r)}deposit(r){return new k(this.ctx,r)}depositAndDeploy(r){return new F(this.ctx,r)}}function Vt(s){return new V(s)}exports.BtcActions=V;exports.BtcDeposit=k;exports.BtcDepositAndDeploy=F;exports.BtcStake=x;exports.BtcStakeAndDeploy=M;exports.btcActions=Vt;exports.btcModule=Q;
2
+ //# sourceMappingURL=BtcActions-BOVJrdTI.cjs.map