@lombard.finance/sdk 3.7.4 → 4.1.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 (736) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/README.md +102 -698
  3. package/dist/api-functions/getDepositAddressReferrer/getDepositAddressReferrer.d.ts +15 -0
  4. package/dist/api-functions/getDepositAddressReferrer/getDepositAddressReferrer.d.ts.map +1 -0
  5. package/dist/api-functions/getDepositAddressReferrer/index.d.ts +2 -0
  6. package/dist/api-functions/getDepositAddressReferrer/index.d.ts.map +1 -0
  7. package/dist/api-functions/getDepositBtcAddress/getDepositBtcAddress.d.ts +1 -1
  8. package/dist/api-functions/getDepositBtcAddress/getDepositBtcAddress.d.ts.map +1 -1
  9. package/dist/api-functions/getLBTCExchangeRate/getLBTCExchangeRate.d.ts +3 -0
  10. package/dist/api-functions/getLBTCExchangeRate/getLBTCExchangeRate.d.ts.map +1 -1
  11. package/dist/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.d.ts +8 -0
  12. package/dist/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.d.ts.map +1 -1
  13. package/dist/api-functions/setReferral/setReferral.d.ts +5 -1
  14. package/dist/api-functions/setReferral/setReferral.d.ts.map +1 -1
  15. package/dist/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.d.ts +5 -1
  16. package/dist/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.d.ts.map +1 -1
  17. package/dist/bridge/lib/config.d.ts +5 -5
  18. package/dist/chains/btc/BtcActions.d.ts +155 -0
  19. package/dist/chains/btc/BtcActions.d.ts.map +1 -0
  20. package/dist/chains/btc/actions/deposit/BtcDeposit.d.ts +83 -0
  21. package/dist/chains/btc/actions/deposit/BtcDeposit.d.ts.map +1 -0
  22. package/dist/chains/btc/actions/deposit/config/evm.d.ts +22 -0
  23. package/dist/chains/btc/actions/deposit/config/evm.d.ts.map +1 -0
  24. package/dist/chains/btc/actions/deposit/config/index.d.ts +27 -0
  25. package/dist/chains/btc/actions/deposit/config/index.d.ts.map +1 -0
  26. package/dist/chains/btc/actions/deposit/config/types.d.ts +90 -0
  27. package/dist/chains/btc/actions/deposit/config/types.d.ts.map +1 -0
  28. package/dist/chains/btc/actions/deposit/factory.d.ts +39 -0
  29. package/dist/chains/btc/actions/deposit/factory.d.ts.map +1 -0
  30. package/dist/chains/btc/actions/deposit/index.d.ts +11 -0
  31. package/dist/chains/btc/actions/deposit/index.d.ts.map +1 -0
  32. package/dist/chains/btc/actions/deposit/types.d.ts +94 -0
  33. package/dist/chains/btc/actions/deposit/types.d.ts.map +1 -0
  34. package/dist/chains/btc/actions/depositAndDeploy/BtcDepositAndDeploy.d.ts +69 -0
  35. package/dist/chains/btc/actions/depositAndDeploy/BtcDepositAndDeploy.d.ts.map +1 -0
  36. package/dist/chains/btc/actions/depositAndDeploy/config/evm.d.ts +19 -0
  37. package/dist/chains/btc/actions/depositAndDeploy/config/evm.d.ts.map +1 -0
  38. package/dist/chains/btc/actions/depositAndDeploy/config/index.d.ts +54 -0
  39. package/dist/chains/btc/actions/depositAndDeploy/config/index.d.ts.map +1 -0
  40. package/dist/chains/btc/actions/depositAndDeploy/config/types.d.ts +54 -0
  41. package/dist/chains/btc/actions/depositAndDeploy/config/types.d.ts.map +1 -0
  42. package/dist/chains/btc/actions/depositAndDeploy/factory.d.ts +32 -0
  43. package/dist/chains/btc/actions/depositAndDeploy/factory.d.ts.map +1 -0
  44. package/dist/chains/btc/actions/depositAndDeploy/index.d.ts +12 -0
  45. package/dist/chains/btc/actions/depositAndDeploy/index.d.ts.map +1 -0
  46. package/dist/chains/btc/actions/depositAndDeploy/types.d.ts +93 -0
  47. package/dist/chains/btc/actions/depositAndDeploy/types.d.ts.map +1 -0
  48. package/dist/chains/btc/actions/index.d.ts +9 -0
  49. package/dist/chains/btc/actions/index.d.ts.map +1 -0
  50. package/dist/chains/btc/actions/shared/BaseBtcAction.d.ts +201 -0
  51. package/dist/chains/btc/actions/shared/BaseBtcAction.d.ts.map +1 -0
  52. package/dist/chains/btc/actions/shared/index.d.ts +13 -0
  53. package/dist/chains/btc/actions/shared/index.d.ts.map +1 -0
  54. package/dist/chains/btc/actions/shared/tokenUtils.d.ts +54 -0
  55. package/dist/chains/btc/actions/shared/tokenUtils.d.ts.map +1 -0
  56. package/dist/chains/btc/actions/shared/validation.d.ts +90 -0
  57. package/dist/chains/btc/actions/shared/validation.d.ts.map +1 -0
  58. package/dist/chains/btc/actions/stake/BtcStake.d.ts +82 -0
  59. package/dist/chains/btc/actions/stake/BtcStake.d.ts.map +1 -0
  60. package/dist/chains/btc/actions/stake/config/evm.d.ts +20 -0
  61. package/dist/chains/btc/actions/stake/config/evm.d.ts.map +1 -0
  62. package/dist/chains/btc/actions/stake/config/index.d.ts +63 -0
  63. package/dist/chains/btc/actions/stake/config/index.d.ts.map +1 -0
  64. package/dist/chains/btc/actions/stake/config/solana.d.ts +20 -0
  65. package/dist/chains/btc/actions/stake/config/solana.d.ts.map +1 -0
  66. package/dist/chains/btc/actions/stake/config/starknet.d.ts +21 -0
  67. package/dist/chains/btc/actions/stake/config/starknet.d.ts.map +1 -0
  68. package/dist/chains/btc/actions/stake/config/sui.d.ts +20 -0
  69. package/dist/chains/btc/actions/stake/config/sui.d.ts.map +1 -0
  70. package/dist/chains/btc/actions/stake/config/types.d.ts +127 -0
  71. package/dist/chains/btc/actions/stake/config/types.d.ts.map +1 -0
  72. package/dist/chains/btc/actions/stake/factory.d.ts +39 -0
  73. package/dist/chains/btc/actions/stake/factory.d.ts.map +1 -0
  74. package/dist/chains/btc/actions/stake/index.d.ts +11 -0
  75. package/dist/chains/btc/actions/stake/index.d.ts.map +1 -0
  76. package/dist/chains/btc/actions/stake/types.d.ts +152 -0
  77. package/dist/chains/btc/actions/stake/types.d.ts.map +1 -0
  78. package/dist/chains/btc/actions/stakeAndDeploy/BtcStakeAndDeploy.d.ts +68 -0
  79. package/dist/chains/btc/actions/stakeAndDeploy/BtcStakeAndDeploy.d.ts.map +1 -0
  80. package/dist/chains/btc/actions/stakeAndDeploy/config/evm.d.ts +19 -0
  81. package/dist/chains/btc/actions/stakeAndDeploy/config/evm.d.ts.map +1 -0
  82. package/dist/chains/btc/actions/stakeAndDeploy/config/index.d.ts +54 -0
  83. package/dist/chains/btc/actions/stakeAndDeploy/config/index.d.ts.map +1 -0
  84. package/dist/chains/btc/actions/stakeAndDeploy/config/types.d.ts +74 -0
  85. package/dist/chains/btc/actions/stakeAndDeploy/config/types.d.ts.map +1 -0
  86. package/dist/chains/btc/actions/stakeAndDeploy/factory.d.ts +40 -0
  87. package/dist/chains/btc/actions/stakeAndDeploy/factory.d.ts.map +1 -0
  88. package/dist/chains/btc/actions/stakeAndDeploy/index.d.ts +11 -0
  89. package/dist/chains/btc/actions/stakeAndDeploy/index.d.ts.map +1 -0
  90. package/dist/chains/btc/actions/stakeAndDeploy/types.d.ts +91 -0
  91. package/dist/chains/btc/actions/stakeAndDeploy/types.d.ts.map +1 -0
  92. package/dist/chains/btc/client/getCurrentBlockHeight.d.ts +6 -0
  93. package/dist/chains/btc/client/getCurrentBlockHeight.d.ts.map +1 -0
  94. package/dist/chains/btc/client/mempool/error.d.ts +10 -0
  95. package/dist/chains/btc/client/mempool/error.d.ts.map +1 -0
  96. package/dist/chains/btc/client/mempool/mempool.d.ts +14 -0
  97. package/dist/chains/btc/client/mempool/mempool.d.ts.map +1 -0
  98. package/dist/chains/btc/index.d.ts +18 -0
  99. package/dist/chains/btc/index.d.ts.map +1 -0
  100. package/dist/chains/evm/EvmActions.d.ts +140 -0
  101. package/dist/chains/evm/EvmActions.d.ts.map +1 -0
  102. package/dist/chains/evm/actions/deploy/EvmDeploy.d.ts +40 -0
  103. package/dist/chains/evm/actions/deploy/EvmDeploy.d.ts.map +1 -0
  104. package/dist/chains/evm/actions/deploy/config/evm.d.ts +22 -0
  105. package/dist/chains/evm/actions/deploy/config/evm.d.ts.map +1 -0
  106. package/dist/chains/evm/actions/deploy/config/index.d.ts +8 -0
  107. package/dist/chains/evm/actions/deploy/config/index.d.ts.map +1 -0
  108. package/dist/chains/evm/actions/deploy/config/types.d.ts +32 -0
  109. package/dist/chains/evm/actions/deploy/config/types.d.ts.map +1 -0
  110. package/dist/chains/evm/actions/deploy/factory.d.ts +30 -0
  111. package/dist/chains/evm/actions/deploy/factory.d.ts.map +1 -0
  112. package/dist/chains/evm/actions/deploy/index.d.ts +11 -0
  113. package/dist/chains/evm/actions/deploy/index.d.ts.map +1 -0
  114. package/dist/chains/evm/actions/deploy/types.d.ts +62 -0
  115. package/dist/chains/evm/actions/deploy/types.d.ts.map +1 -0
  116. package/dist/chains/evm/actions/deposit/EvmDeposit.d.ts +38 -0
  117. package/dist/chains/evm/actions/deposit/EvmDeposit.d.ts.map +1 -0
  118. package/dist/chains/evm/actions/deposit/config/evm.d.ts +23 -0
  119. package/dist/chains/evm/actions/deposit/config/evm.d.ts.map +1 -0
  120. package/dist/chains/evm/actions/deposit/config/index.d.ts +8 -0
  121. package/dist/chains/evm/actions/deposit/config/index.d.ts.map +1 -0
  122. package/dist/chains/evm/actions/deposit/config/types.d.ts +34 -0
  123. package/dist/chains/evm/actions/deposit/config/types.d.ts.map +1 -0
  124. package/dist/chains/evm/actions/deposit/factory.d.ts +30 -0
  125. package/dist/chains/evm/actions/deposit/factory.d.ts.map +1 -0
  126. package/dist/chains/evm/actions/deposit/index.d.ts +11 -0
  127. package/dist/chains/evm/actions/deposit/index.d.ts.map +1 -0
  128. package/dist/chains/evm/actions/deposit/types.d.ts +78 -0
  129. package/dist/chains/evm/actions/deposit/types.d.ts.map +1 -0
  130. package/dist/chains/evm/actions/index.d.ts +13 -0
  131. package/dist/chains/evm/actions/index.d.ts.map +1 -0
  132. package/dist/chains/evm/actions/redeem/EvmRedeem.d.ts +57 -0
  133. package/dist/chains/evm/actions/redeem/EvmRedeem.d.ts.map +1 -0
  134. package/dist/chains/evm/actions/redeem/config/evm.d.ts +24 -0
  135. package/dist/chains/evm/actions/redeem/config/evm.d.ts.map +1 -0
  136. package/dist/chains/evm/actions/redeem/config/index.d.ts +8 -0
  137. package/dist/chains/evm/actions/redeem/config/index.d.ts.map +1 -0
  138. package/dist/chains/evm/actions/redeem/config/types.d.ts +34 -0
  139. package/dist/chains/evm/actions/redeem/config/types.d.ts.map +1 -0
  140. package/dist/chains/evm/actions/redeem/factory.d.ts +29 -0
  141. package/dist/chains/evm/actions/redeem/factory.d.ts.map +1 -0
  142. package/dist/chains/evm/actions/redeem/index.d.ts +11 -0
  143. package/dist/chains/evm/actions/redeem/index.d.ts.map +1 -0
  144. package/dist/chains/evm/actions/redeem/types.d.ts +81 -0
  145. package/dist/chains/evm/actions/redeem/types.d.ts.map +1 -0
  146. package/dist/chains/evm/actions/stake/EvmStake.d.ts +62 -0
  147. package/dist/chains/evm/actions/stake/EvmStake.d.ts.map +1 -0
  148. package/dist/chains/evm/actions/stake/config/evm.d.ts +28 -0
  149. package/dist/chains/evm/actions/stake/config/evm.d.ts.map +1 -0
  150. package/dist/chains/evm/actions/stake/config/index.d.ts +8 -0
  151. package/dist/chains/evm/actions/stake/config/index.d.ts.map +1 -0
  152. package/dist/chains/evm/actions/stake/config/types.d.ts +60 -0
  153. package/dist/chains/evm/actions/stake/config/types.d.ts.map +1 -0
  154. package/dist/chains/evm/actions/stake/factory.d.ts +38 -0
  155. package/dist/chains/evm/actions/stake/factory.d.ts.map +1 -0
  156. package/dist/chains/evm/actions/stake/index.d.ts +13 -0
  157. package/dist/chains/evm/actions/stake/index.d.ts.map +1 -0
  158. package/dist/chains/evm/actions/stake/types.d.ts +94 -0
  159. package/dist/chains/evm/actions/stake/types.d.ts.map +1 -0
  160. package/dist/chains/evm/actions/unstake/EvmUnstake.d.ts +54 -0
  161. package/dist/chains/evm/actions/unstake/EvmUnstake.d.ts.map +1 -0
  162. package/dist/chains/evm/actions/unstake/config/evm.d.ts +34 -0
  163. package/dist/chains/evm/actions/unstake/config/evm.d.ts.map +1 -0
  164. package/dist/chains/evm/actions/unstake/config/index.d.ts +8 -0
  165. package/dist/chains/evm/actions/unstake/config/index.d.ts.map +1 -0
  166. package/dist/chains/evm/actions/unstake/config/types.d.ts +32 -0
  167. package/dist/chains/evm/actions/unstake/config/types.d.ts.map +1 -0
  168. package/dist/chains/evm/actions/unstake/factory.d.ts +30 -0
  169. package/dist/chains/evm/actions/unstake/factory.d.ts.map +1 -0
  170. package/dist/chains/evm/actions/unstake/index.d.ts +11 -0
  171. package/dist/chains/evm/actions/unstake/index.d.ts.map +1 -0
  172. package/dist/chains/evm/actions/unstake/types.d.ts +75 -0
  173. package/dist/chains/evm/actions/unstake/types.d.ts.map +1 -0
  174. package/dist/chains/evm/index.d.ts +11 -0
  175. package/dist/chains/evm/index.d.ts.map +1 -0
  176. package/dist/chains/evm/shared/feeAuth.d.ts +88 -0
  177. package/dist/chains/evm/shared/feeAuth.d.ts.map +1 -0
  178. package/dist/chains/evm/shared/index.d.ts +7 -0
  179. package/dist/chains/evm/shared/index.d.ts.map +1 -0
  180. package/dist/chains/solana/SolanaActions.d.ts +42 -0
  181. package/dist/chains/solana/SolanaActions.d.ts.map +1 -0
  182. package/dist/chains/solana/actions/index.d.ts +7 -0
  183. package/dist/chains/solana/actions/index.d.ts.map +1 -0
  184. package/dist/chains/solana/actions/unstake/SolanaUnstake.d.ts +30 -0
  185. package/dist/chains/solana/actions/unstake/SolanaUnstake.d.ts.map +1 -0
  186. package/dist/chains/solana/actions/unstake/config/btc.d.ts +20 -0
  187. package/dist/chains/solana/actions/unstake/config/btc.d.ts.map +1 -0
  188. package/dist/chains/solana/actions/unstake/config/index.d.ts +8 -0
  189. package/dist/chains/solana/actions/unstake/config/index.d.ts.map +1 -0
  190. package/dist/chains/solana/actions/unstake/config/solana.d.ts +20 -0
  191. package/dist/chains/solana/actions/unstake/config/solana.d.ts.map +1 -0
  192. package/dist/chains/solana/actions/unstake/config/types.d.ts +30 -0
  193. package/dist/chains/solana/actions/unstake/config/types.d.ts.map +1 -0
  194. package/dist/chains/solana/actions/unstake/factory.d.ts +19 -0
  195. package/dist/chains/solana/actions/unstake/factory.d.ts.map +1 -0
  196. package/dist/chains/solana/actions/unstake/index.d.ts +9 -0
  197. package/dist/chains/solana/actions/unstake/index.d.ts.map +1 -0
  198. package/dist/chains/solana/actions/unstake/types.d.ts +49 -0
  199. package/dist/chains/solana/actions/unstake/types.d.ts.map +1 -0
  200. package/dist/chains/solana/index.d.ts +8 -0
  201. package/dist/chains/solana/index.d.ts.map +1 -0
  202. package/dist/chains/starknet/StarknetActions.d.ts +42 -0
  203. package/dist/chains/starknet/StarknetActions.d.ts.map +1 -0
  204. package/dist/chains/starknet/actions/index.d.ts +7 -0
  205. package/dist/chains/starknet/actions/index.d.ts.map +1 -0
  206. package/dist/chains/starknet/actions/unstake/StarknetUnstake.d.ts +30 -0
  207. package/dist/chains/starknet/actions/unstake/StarknetUnstake.d.ts.map +1 -0
  208. package/dist/chains/starknet/actions/unstake/config/btc.d.ts +18 -0
  209. package/dist/chains/starknet/actions/unstake/config/btc.d.ts.map +1 -0
  210. package/dist/chains/starknet/actions/unstake/config/index.d.ts +8 -0
  211. package/dist/chains/starknet/actions/unstake/config/index.d.ts.map +1 -0
  212. package/dist/chains/starknet/actions/unstake/config/starknet.d.ts +18 -0
  213. package/dist/chains/starknet/actions/unstake/config/starknet.d.ts.map +1 -0
  214. package/dist/chains/starknet/actions/unstake/config/types.d.ts +24 -0
  215. package/dist/chains/starknet/actions/unstake/config/types.d.ts.map +1 -0
  216. package/dist/chains/starknet/actions/unstake/factory.d.ts +17 -0
  217. package/dist/chains/starknet/actions/unstake/factory.d.ts.map +1 -0
  218. package/dist/chains/starknet/actions/unstake/index.d.ts +9 -0
  219. package/dist/chains/starknet/actions/unstake/index.d.ts.map +1 -0
  220. package/dist/chains/starknet/actions/unstake/types.d.ts +48 -0
  221. package/dist/chains/starknet/actions/unstake/types.d.ts.map +1 -0
  222. package/dist/chains/starknet/index.d.ts +8 -0
  223. package/dist/chains/starknet/index.d.ts.map +1 -0
  224. package/dist/chains/sui/SuiActions.d.ts +42 -0
  225. package/dist/chains/sui/SuiActions.d.ts.map +1 -0
  226. package/dist/chains/sui/actions/index.d.ts +7 -0
  227. package/dist/chains/sui/actions/index.d.ts.map +1 -0
  228. package/dist/chains/sui/actions/unstake/SuiUnstake.d.ts +30 -0
  229. package/dist/chains/sui/actions/unstake/SuiUnstake.d.ts.map +1 -0
  230. package/dist/chains/sui/actions/unstake/config/btc.d.ts +18 -0
  231. package/dist/chains/sui/actions/unstake/config/btc.d.ts.map +1 -0
  232. package/dist/chains/sui/actions/unstake/config/index.d.ts +8 -0
  233. package/dist/chains/sui/actions/unstake/config/index.d.ts.map +1 -0
  234. package/dist/chains/sui/actions/unstake/config/sui.d.ts +18 -0
  235. package/dist/chains/sui/actions/unstake/config/sui.d.ts.map +1 -0
  236. package/dist/chains/sui/actions/unstake/config/types.d.ts +24 -0
  237. package/dist/chains/sui/actions/unstake/config/types.d.ts.map +1 -0
  238. package/dist/chains/sui/actions/unstake/factory.d.ts +17 -0
  239. package/dist/chains/sui/actions/unstake/factory.d.ts.map +1 -0
  240. package/dist/chains/sui/actions/unstake/index.d.ts +9 -0
  241. package/dist/chains/sui/actions/unstake/index.d.ts.map +1 -0
  242. package/dist/chains/sui/actions/unstake/types.d.ts +48 -0
  243. package/dist/chains/sui/actions/unstake/types.d.ts.map +1 -0
  244. package/dist/chains/sui/index.d.ts +8 -0
  245. package/dist/chains/sui/index.d.ts.map +1 -0
  246. package/dist/client/ApiNamespace.d.ts +207 -0
  247. package/dist/client/ApiNamespace.d.ts.map +1 -0
  248. package/dist/client/AssetNamespace.d.ts +53 -0
  249. package/dist/client/AssetNamespace.d.ts.map +1 -0
  250. package/dist/client/LombardSDK.d.ts +122 -0
  251. package/dist/client/LombardSDK.d.ts.map +1 -0
  252. package/dist/client/PartnerConfiguration.d.ts +34 -0
  253. package/dist/client/PartnerConfiguration.d.ts.map +1 -0
  254. package/dist/client/createConfig.d.ts +30 -0
  255. package/dist/client/createConfig.d.ts.map +1 -0
  256. package/dist/client/createLombardSDK.d.ts +64 -0
  257. package/dist/client/createLombardSDK.d.ts.map +1 -0
  258. package/dist/clients/public-client.d.ts.map +1 -1
  259. package/dist/clients/rpc-url-config.d.ts.map +1 -1
  260. package/dist/common/api-config.d.ts +1 -2
  261. package/dist/common/api-config.d.ts.map +1 -1
  262. package/dist/common/chains.d.ts +745 -768
  263. package/dist/common/chains.d.ts.map +1 -1
  264. package/dist/common/feature-config.d.ts +44 -4
  265. package/dist/common/feature-config.d.ts.map +1 -1
  266. package/dist/common/fee-requirements.d.ts +27 -0
  267. package/dist/common/fee-requirements.d.ts.map +1 -0
  268. package/dist/config/defaults.d.ts +27 -0
  269. package/dist/config/defaults.d.ts.map +1 -0
  270. package/dist/config/index.d.ts +12 -0
  271. package/dist/config/index.d.ts.map +1 -0
  272. package/dist/config/providers.d.ts +23 -0
  273. package/dist/config/providers.d.ts.map +1 -0
  274. package/dist/config/types.d.ts +162 -0
  275. package/dist/config/types.d.ts.map +1 -0
  276. package/dist/config/validation.d.ts +21 -0
  277. package/dist/config/validation.d.ts.map +1 -0
  278. package/dist/contract-functions/signStakeAndBake/signStakeAndBake.d.ts +1 -1
  279. package/dist/contract-functions/signStakeAndBake/signStakeAndBake.d.ts.map +1 -1
  280. package/dist/contract-functions/signStakeAndBake/validation.d.ts +3 -3
  281. package/dist/contracts/abis/index.d.ts +18 -0
  282. package/dist/contracts/abis/index.d.ts.map +1 -0
  283. package/dist/contracts/index.d.ts +43 -0
  284. package/dist/contracts/index.d.ts.map +1 -0
  285. package/dist/contracts/types.d.ts +127 -0
  286. package/dist/contracts/types.d.ts.map +1 -0
  287. package/dist/contracts/utils.d.ts +106 -0
  288. package/dist/contracts/utils.d.ts.map +1 -0
  289. package/dist/core/assets/catalog.d.ts +11 -0
  290. package/dist/core/assets/catalog.d.ts.map +1 -0
  291. package/dist/core/assets/index.d.ts +12 -0
  292. package/dist/core/assets/index.d.ts.map +1 -0
  293. package/dist/core/assets/types.d.ts +93 -0
  294. package/dist/core/assets/types.d.ts.map +1 -0
  295. package/dist/core/assets/utils.d.ts +82 -0
  296. package/dist/core/assets/utils.d.ts.map +1 -0
  297. package/dist/core/chains/catalog.d.ts +14 -0
  298. package/dist/core/chains/catalog.d.ts.map +1 -0
  299. package/dist/core/chains/index.d.ts +13 -0
  300. package/dist/core/chains/index.d.ts.map +1 -0
  301. package/dist/core/chains/types.d.ts +106 -0
  302. package/dist/core/chains/types.d.ts.map +1 -0
  303. package/dist/core/chains/utils.d.ts +55 -0
  304. package/dist/core/chains/utils.d.ts.map +1 -0
  305. package/dist/core/index.d.ts +14 -0
  306. package/dist/core/index.d.ts.map +1 -0
  307. package/dist/core/types.d.ts +86 -0
  308. package/dist/core/types.d.ts.map +1 -0
  309. package/dist/defi/defi-registry.d.ts +63 -6
  310. package/dist/defi/defi-registry.d.ts.map +1 -1
  311. package/dist/defi/index.d.ts +2 -1
  312. package/dist/defi/index.d.ts.map +1 -1
  313. package/dist/index.cjs +1 -1
  314. package/dist/index.d.ts +61 -14
  315. package/dist/index.d.ts.map +1 -1
  316. package/dist/index.js +268 -155
  317. package/dist/index2.cjs +66 -66
  318. package/dist/index2.js +19781 -14368
  319. package/dist/modules/CapabilityRegistry.d.ts +58 -0
  320. package/dist/modules/CapabilityRegistry.d.ts.map +1 -0
  321. package/dist/modules/apiModule.d.ts +33 -0
  322. package/dist/modules/apiModule.d.ts.map +1 -0
  323. package/dist/modules/btcModule.d.ts +28 -0
  324. package/dist/modules/btcModule.d.ts.map +1 -0
  325. package/dist/modules/evmModule.d.ts +29 -0
  326. package/dist/modules/evmModule.d.ts.map +1 -0
  327. package/dist/modules/index.d.ts +27 -0
  328. package/dist/modules/index.d.ts.map +1 -0
  329. package/dist/referrals/ReferralsClient.d.ts +24 -0
  330. package/dist/referrals/ReferralsClient.d.ts.map +1 -0
  331. package/dist/referrals/index.d.ts +2 -0
  332. package/dist/referrals/index.d.ts.map +1 -0
  333. package/dist/services/ApiService.d.ts +52 -0
  334. package/dist/services/ApiService.d.ts.map +1 -0
  335. package/dist/services/BtcService.d.ts +21 -0
  336. package/dist/services/BtcService.d.ts.map +1 -0
  337. package/dist/services/EvmService.d.ts +48 -0
  338. package/dist/services/EvmService.d.ts.map +1 -0
  339. package/dist/services/index.d.ts +21 -0
  340. package/dist/services/index.d.ts.map +1 -0
  341. package/dist/shared/actions/BaseAction.d.ts +275 -0
  342. package/dist/shared/actions/BaseAction.d.ts.map +1 -0
  343. package/dist/shared/actions/index.d.ts +9 -0
  344. package/dist/shared/actions/index.d.ts.map +1 -0
  345. package/dist/shared/constants/statusConstants.d.ts +92 -0
  346. package/dist/shared/constants/statusConstants.d.ts.map +1 -0
  347. package/dist/shared/context/ContextBuilder.d.ts +46 -0
  348. package/dist/shared/context/ContextBuilder.d.ts.map +1 -0
  349. package/dist/shared/context/index.d.ts +8 -0
  350. package/dist/shared/context/index.d.ts.map +1 -0
  351. package/dist/shared/context/types.d.ts +122 -0
  352. package/dist/shared/context/types.d.ts.map +1 -0
  353. package/dist/shared/deposits/depositStatus.d.ts +138 -0
  354. package/dist/shared/deposits/depositStatus.d.ts.map +1 -0
  355. package/dist/shared/deposits/index.d.ts +10 -0
  356. package/dist/shared/deposits/index.d.ts.map +1 -0
  357. package/dist/shared/errors.d.ts +211 -0
  358. package/dist/shared/errors.d.ts.map +1 -0
  359. package/dist/shared/events.d.ts +209 -0
  360. package/dist/shared/events.d.ts.map +1 -0
  361. package/dist/shared/evm/switchChain.d.ts +35 -0
  362. package/dist/shared/evm/switchChain.d.ts.map +1 -0
  363. package/dist/shared/index.d.ts +12 -0
  364. package/dist/shared/index.d.ts.map +1 -0
  365. package/dist/shared/monitoring/createEventEmitter.d.ts +68 -0
  366. package/dist/shared/monitoring/createEventEmitter.d.ts.map +1 -0
  367. package/dist/shared/monitoring/createProgressEmitter.d.ts +18 -0
  368. package/dist/shared/monitoring/createProgressEmitter.d.ts.map +1 -0
  369. package/dist/shared/monitoring/depositMonitor.d.ts +107 -0
  370. package/dist/shared/monitoring/depositMonitor.d.ts.map +1 -0
  371. package/dist/shared/monitoring/index.d.ts +9 -0
  372. package/dist/shared/monitoring/index.d.ts.map +1 -0
  373. package/dist/shared/validation/index.d.ts +188 -0
  374. package/dist/shared/validation/index.d.ts.map +1 -0
  375. package/dist/stories/arg-types.d.ts.map +1 -1
  376. package/dist/stories/components/Badge.d.ts +13 -0
  377. package/dist/stories/components/Badge.d.ts.map +1 -0
  378. package/dist/stories/components/Button/Button.d.ts +2 -2
  379. package/dist/stories/components/Button/Button.d.ts.map +1 -1
  380. package/dist/stories/components/Card.d.ts +12 -0
  381. package/dist/stories/components/Card.d.ts.map +1 -0
  382. package/dist/stories/components/CodeBlock/CodeBlock.d.ts +1 -1
  383. package/dist/stories/components/CodeBlock/CodeBlock.d.ts.map +1 -1
  384. package/dist/stories/components/ConnectButton/connect-button.d.ts.map +1 -1
  385. package/dist/stories/components/JsonPreview.d.ts +23 -0
  386. package/dist/stories/components/JsonPreview.d.ts.map +1 -0
  387. package/dist/stories/components/StatsCard.d.ts +13 -0
  388. package/dist/stories/components/StatsCard.d.ts.map +1 -0
  389. package/dist/stories/components/StatusIndicator.d.ts +13 -0
  390. package/dist/stories/components/StatusIndicator.d.ts.map +1 -0
  391. package/dist/stories/components/TreeNode.d.ts +15 -0
  392. package/dist/stories/components/TreeNode.d.ts.map +1 -0
  393. package/dist/stories/components/decorators/wagmi-decorator.d.ts.map +1 -1
  394. package/dist/stories/components/index.d.ts +11 -0
  395. package/dist/stories/components/index.d.ts.map +1 -0
  396. package/dist/stories/hooks/useConnection.d.ts.map +1 -1
  397. package/dist/stories/hooks/useQuery.d.ts.map +1 -1
  398. package/dist/tokens/token-addresses.d.ts +18 -0
  399. package/dist/tokens/token-addresses.d.ts.map +1 -1
  400. package/dist/tokens/tokens.d.ts +12 -0
  401. package/dist/tokens/tokens.d.ts.map +1 -1
  402. package/dist/utils/chain.d.ts +107 -0
  403. package/dist/utils/chain.d.ts.map +1 -0
  404. package/dist/utils/consoleLogger.d.ts +71 -0
  405. package/dist/utils/consoleLogger.d.ts.map +1 -0
  406. package/dist/utils/ensureNotSanctionedAddress.d.ts +2 -0
  407. package/dist/utils/ensureNotSanctionedAddress.d.ts.map +1 -0
  408. package/dist/utils/evmAccount.d.ts +13 -0
  409. package/dist/utils/evmAccount.d.ts.map +1 -0
  410. package/dist/utils/http.d.ts +95 -0
  411. package/dist/utils/http.d.ts.map +1 -0
  412. package/dist/utils/numbers.d.ts +20 -0
  413. package/dist/utils/numbers.d.ts.map +1 -1
  414. package/dist/utils/satoshi.d.ts +17 -4
  415. package/dist/utils/satoshi.d.ts.map +1 -1
  416. package/dist/vaults/index.d.ts +1 -1
  417. package/dist/vaults/index.d.ts.map +1 -1
  418. package/dist/vaults/lib/config.d.ts +3 -3
  419. package/dist/vaults/lib/config.d.ts.map +1 -1
  420. package/dist/version.d.ts +27 -0
  421. package/dist/version.d.ts.map +1 -0
  422. package/package.json +27 -11
  423. package/dist/api-functions/generateDepositBtcAddress/generateDepositBtcAddress.stories.d.ts +0 -16
  424. package/dist/api-functions/generateDepositBtcAddress/generateDepositBtcAddress.stories.d.ts.map +0 -1
  425. package/dist/api-functions/getDepositBtcAddress/getDepositBtcAddress.stories.d.ts +0 -16
  426. package/dist/api-functions/getDepositBtcAddress/getDepositBtcAddress.stories.d.ts.map +0 -1
  427. package/dist/api-functions/getDepositBtcAddress/getDepositBtcAddress.test.d.ts +0 -2
  428. package/dist/api-functions/getDepositBtcAddress/getDepositBtcAddress.test.d.ts.map +0 -1
  429. package/dist/api-functions/getDepositBtcAddress/getDepositBtcAddresses.stories.d.ts +0 -16
  430. package/dist/api-functions/getDepositBtcAddress/getDepositBtcAddresses.stories.d.ts.map +0 -1
  431. package/dist/api-functions/getDepositsByAddress/getDepositsByAddress.stories.d.ts +0 -13
  432. package/dist/api-functions/getDepositsByAddress/getDepositsByAddress.stories.d.ts.map +0 -1
  433. package/dist/api-functions/getLBTCExchangeRate/get-exchange-ratio.stories.d.ts +0 -16
  434. package/dist/api-functions/getLBTCExchangeRate/get-exchange-ratio.stories.d.ts.map +0 -1
  435. package/dist/api-functions/getLBTCExchangeRate/getLBTCExchangeRate.stories.d.ts +0 -16
  436. package/dist/api-functions/getLBTCExchangeRate/getLBTCExchangeRate.stories.d.ts.map +0 -1
  437. package/dist/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.stories.d.ts +0 -17
  438. package/dist/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.stories.d.ts.map +0 -1
  439. package/dist/api-functions/getPointsByAddress/getPointsByAddress.stories.d.ts +0 -13
  440. package/dist/api-functions/getPointsByAddress/getPointsByAddress.stories.d.ts.map +0 -1
  441. package/dist/api-functions/getUnstakesByAddress/getUnstakesByAddress.stories.d.ts +0 -13
  442. package/dist/api-functions/getUnstakesByAddress/getUnstakesByAddress.stories.d.ts.map +0 -1
  443. package/dist/api-functions/getUserStakeAndBakeSignature/getUserStakeAndBakeSignature.stories.d.ts +0 -14
  444. package/dist/api-functions/getUserStakeAndBakeSignature/getUserStakeAndBakeSignature.stories.d.ts.map +0 -1
  445. package/dist/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.stories.d.ts +0 -14
  446. package/dist/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.stories.d.ts.map +0 -1
  447. package/dist/api-functions/storeStakeAndBakeSignature/storeStakeAndBakeSignature.stories.d.ts +0 -14
  448. package/dist/api-functions/storeStakeAndBakeSignature/storeStakeAndBakeSignature.stories.d.ts.map +0 -1
  449. package/dist/bridge/lib/bridge.stories.d.ts +0 -14
  450. package/dist/bridge/lib/bridge.stories.d.ts.map +0 -1
  451. package/dist/bridge/lib/ccip-bridge.stories.d.ts +0 -14
  452. package/dist/bridge/lib/ccip-bridge.stories.d.ts.map +0 -1
  453. package/dist/bridge/lib/oft-bridge.stories.d.ts +0 -14
  454. package/dist/bridge/lib/oft-bridge.stories.d.ts.map +0 -1
  455. package/dist/common/chains.stories.d.ts +0 -17
  456. package/dist/common/chains.stories.d.ts.map +0 -1
  457. package/dist/contract-functions/approveLBTC/approveLBTC.stories.d.ts +0 -17
  458. package/dist/contract-functions/approveLBTC/approveLBTC.stories.d.ts.map +0 -1
  459. package/dist/contract-functions/claimLBTC/claimLBTC.stories.d.ts +0 -17
  460. package/dist/contract-functions/claimLBTC/claimLBTC.stories.d.ts.map +0 -1
  461. package/dist/contract-functions/deposit/depositToken.stories.d.ts +0 -17
  462. package/dist/contract-functions/deposit/depositToken.stories.d.ts.map +0 -1
  463. package/dist/contract-functions/getBasculeDepositStatus/getBasculeDepositStatus.stories.d.ts +0 -16
  464. package/dist/contract-functions/getBasculeDepositStatus/getBasculeDepositStatus.stories.d.ts.map +0 -1
  465. package/dist/contract-functions/getLBTCMintingFee/getLBTCMintingFee.stories.d.ts +0 -17
  466. package/dist/contract-functions/getLBTCMintingFee/getLBTCMintingFee.stories.d.ts.map +0 -1
  467. package/dist/contract-functions/getLBTCTotalSupply/getLBTCTotalSupply.stories.d.ts +0 -17
  468. package/dist/contract-functions/getLBTCTotalSupply/getLBTCTotalSupply.stories.d.ts.map +0 -1
  469. package/dist/contract-functions/getPermitNonce/getPermitNonce.stories.d.ts +0 -14
  470. package/dist/contract-functions/getPermitNonce/getPermitNonce.stories.d.ts.map +0 -1
  471. package/dist/contract-functions/getShareValue/getShareValue.stories.d.ts +0 -13
  472. package/dist/contract-functions/getShareValue/getShareValue.stories.d.ts.map +0 -1
  473. package/dist/contract-functions/getSharesByAddress/getSharesByAddress.stories.d.ts +0 -13
  474. package/dist/contract-functions/getSharesByAddress/getSharesByAddress.stories.d.ts.map +0 -1
  475. package/dist/contract-functions/getStakeAndBakeFee/__tests__/getStakeAndBakeFee.test.d.ts +0 -2
  476. package/dist/contract-functions/getStakeAndBakeFee/__tests__/getStakeAndBakeFee.test.d.ts.map +0 -1
  477. package/dist/contract-functions/getStakeAndBakeFee/getStakeAndBakeFee.stories.d.ts +0 -17
  478. package/dist/contract-functions/getStakeAndBakeFee/getStakeAndBakeFee.stories.d.ts.map +0 -1
  479. package/dist/contract-functions/signLbtcDestionationAddr/signLbtcDestionationAddr.stories.d.ts +0 -9
  480. package/dist/contract-functions/signLbtcDestionationAddr/signLbtcDestionationAddr.stories.d.ts.map +0 -1
  481. package/dist/contract-functions/signNetworkFee/signNetworkFee.stories.d.ts +0 -14
  482. package/dist/contract-functions/signNetworkFee/signNetworkFee.stories.d.ts.map +0 -1
  483. package/dist/contract-functions/signStakeAndBake/__tests__/signStakeAndBake.test.d.ts +0 -17
  484. package/dist/contract-functions/signStakeAndBake/__tests__/signStakeAndBake.test.d.ts.map +0 -1
  485. package/dist/contract-functions/signStakeAndBake/signStakeAndBake.stories.d.ts +0 -50
  486. package/dist/contract-functions/signStakeAndBake/signStakeAndBake.stories.d.ts.map +0 -1
  487. package/dist/contract-functions/unstakeLBTC/unstakeLBTC.stories.d.ts +0 -17
  488. package/dist/contract-functions/unstakeLBTC/unstakeLBTC.stories.d.ts.map +0 -1
  489. package/dist/defi/defi-registry.stories.d.ts +0 -18
  490. package/dist/defi/defi-registry.stories.d.ts.map +0 -1
  491. package/dist/metrics/get-lbtc-stats.stories.d.ts +0 -17
  492. package/dist/metrics/get-lbtc-stats.stories.d.ts.map +0 -1
  493. package/dist/metrics/get-positions-summary.stories.d.ts +0 -17
  494. package/dist/metrics/get-positions-summary.stories.d.ts.map +0 -1
  495. package/dist/tokens/cross-chain-addresses.stories.d.ts +0 -60
  496. package/dist/tokens/cross-chain-addresses.stories.d.ts.map +0 -1
  497. package/dist/tokens/denomination-utils.stories.d.ts +0 -62
  498. package/dist/tokens/denomination-utils.stories.d.ts.map +0 -1
  499. package/dist/tokens/getLbtcContractAddresses.stories.d.ts +0 -59
  500. package/dist/tokens/getLbtcContractAddresses.stories.d.ts.map +0 -1
  501. package/dist/tokens/getTokenByAddress.stories.d.ts +0 -64
  502. package/dist/tokens/getTokenByAddress.stories.d.ts.map +0 -1
  503. package/dist/tokens/getTokenContractInfo.stories.d.ts +0 -52
  504. package/dist/tokens/getTokenContractInfo.stories.d.ts.map +0 -1
  505. package/dist/tokens/getTokenInfo.stories.d.ts +0 -42
  506. package/dist/tokens/getTokenInfo.stories.d.ts.map +0 -1
  507. package/dist/tokens/isUpgradedContract.stories.d.ts +0 -50
  508. package/dist/tokens/isUpgradedContract.stories.d.ts.map +0 -1
  509. package/dist/vaults/lib/metrics/get-vault-apy.stories.d.ts +0 -14
  510. package/dist/vaults/lib/metrics/get-vault-apy.stories.d.ts.map +0 -1
  511. package/dist/vaults/lib/metrics/get-vault-points.stories.d.ts +0 -14
  512. package/dist/vaults/lib/metrics/get-vault-points.stories.d.ts.map +0 -1
  513. package/dist/vaults/lib/metrics/get-vault-tvl.stories.d.ts +0 -14
  514. package/dist/vaults/lib/metrics/get-vault-tvl.stories.d.ts.map +0 -1
  515. package/dist/vaults/lib/ops/cancel-withdraw.stories.d.ts +0 -14
  516. package/dist/vaults/lib/ops/cancel-withdraw.stories.d.ts.map +0 -1
  517. package/dist/vaults/lib/ops/deposit.stories.d.ts +0 -14
  518. package/dist/vaults/lib/ops/deposit.stories.d.ts.map +0 -1
  519. package/dist/vaults/lib/ops/get-vault-deposits.stories.d.ts +0 -14
  520. package/dist/vaults/lib/ops/get-vault-deposits.stories.d.ts.map +0 -1
  521. package/dist/vaults/lib/ops/get-vault-withdrawals.stories.d.ts +0 -14
  522. package/dist/vaults/lib/ops/get-vault-withdrawals.stories.d.ts.map +0 -1
  523. package/dist/vaults/lib/ops/withdraw.stories.d.ts +0 -14
  524. package/dist/vaults/lib/ops/withdraw.stories.d.ts.map +0 -1
  525. package/src/api-functions/generateDepositBtcAddress/generateDepositBtcAddress.stories.tsx +0 -70
  526. package/src/api-functions/generateDepositBtcAddress/generateDepositBtcAddress.ts +0 -235
  527. package/src/api-functions/generateDepositBtcAddress/index.ts +0 -1
  528. package/src/api-functions/get-badges-by-address/get-badges-by-address.ts +0 -13
  529. package/src/api-functions/get-badges-by-address/index.ts +0 -1
  530. package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.stories.tsx +0 -58
  531. package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.test.ts +0 -265
  532. package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.ts +0 -166
  533. package/src/api-functions/getDepositBtcAddress/getDepositBtcAddresses.stories.tsx +0 -57
  534. package/src/api-functions/getDepositBtcAddress/index.ts +0 -1
  535. package/src/api-functions/getDepositBtcAddress/make-request.ts +0 -59
  536. package/src/api-functions/getDepositBtcAddress/types.ts +0 -106
  537. package/src/api-functions/getDepositsByAddress/getDepositsByAddress.stories.tsx +0 -50
  538. package/src/api-functions/getDepositsByAddress/getDepositsByAddress.ts +0 -502
  539. package/src/api-functions/getDepositsByAddress/index.ts +0 -1
  540. package/src/api-functions/getLBTCExchangeRate/get-exchange-ratio.stories.tsx +0 -47
  541. package/src/api-functions/getLBTCExchangeRate/get-exchange-ratio.ts +0 -59
  542. package/src/api-functions/getLBTCExchangeRate/getLBTCExchangeRate.stories.tsx +0 -54
  543. package/src/api-functions/getLBTCExchangeRate/getLBTCExchangeRate.ts +0 -72
  544. package/src/api-functions/getLBTCExchangeRate/index.ts +0 -2
  545. package/src/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.stories.tsx +0 -58
  546. package/src/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.ts +0 -98
  547. package/src/api-functions/getNetworkFeeSignature/index.ts +0 -1
  548. package/src/api-functions/getPointsByAddress/getPointsByAddress.stories.tsx +0 -50
  549. package/src/api-functions/getPointsByAddress/getPointsByAddress.ts +0 -304
  550. package/src/api-functions/getPointsByAddress/index.ts +0 -1
  551. package/src/api-functions/getUnstakesByAddress/getUnstakesByAddress.stories.tsx +0 -50
  552. package/src/api-functions/getUnstakesByAddress/getUnstakesByAddress.ts +0 -368
  553. package/src/api-functions/getUnstakesByAddress/index.ts +0 -1
  554. package/src/api-functions/getUserStakeAndBakeSignature/getUserStakeAndBakeSignature.stories.tsx +0 -69
  555. package/src/api-functions/getUserStakeAndBakeSignature/getUserStakeAndBakeSignature.ts +0 -91
  556. package/src/api-functions/getUserStakeAndBakeSignature/index.ts +0 -1
  557. package/src/api-functions/index.ts +0 -11
  558. package/src/api-functions/setReferral/index.ts +0 -1
  559. package/src/api-functions/setReferral/setReferral.ts +0 -61
  560. package/src/api-functions/storeNetworkFeeSignature/index.ts +0 -1
  561. package/src/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.stories.tsx +0 -56
  562. package/src/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.ts +0 -65
  563. package/src/api-functions/storeStakeAndBakeSignature/index.ts +0 -1
  564. package/src/api-functions/storeStakeAndBakeSignature/storeStakeAndBakeSignature.stories.tsx +0 -56
  565. package/src/api-functions/storeStakeAndBakeSignature/storeStakeAndBakeSignature.ts +0 -61
  566. package/src/bridge/abi/CCIP_BRIDGE_ADAPTER_ABI.json +0 -704
  567. package/src/bridge/abi/CCIP_ROUTER_ABI.json +0 -702
  568. package/src/bridge/abi/OFT_BRIDGE_ADAPTER_ABI.json +0 -912
  569. package/src/bridge/index.ts +0 -16
  570. package/src/bridge/lib/bridge.stories.tsx +0 -89
  571. package/src/bridge/lib/bridge.ts +0 -115
  572. package/src/bridge/lib/ccip-bridge.stories.tsx +0 -90
  573. package/src/bridge/lib/ccip-bridge.ts +0 -214
  574. package/src/bridge/lib/ccip-config.ts +0 -54
  575. package/src/bridge/lib/config.ts +0 -384
  576. package/src/bridge/lib/oft-bridge.stories.tsx +0 -89
  577. package/src/bridge/lib/oft-bridge.ts +0 -217
  578. package/src/clients/evm-signer-adapter.ts +0 -313
  579. package/src/clients/public-client.ts +0 -53
  580. package/src/clients/rpc-url-config.ts +0 -57
  581. package/src/clients/wallet-client.ts +0 -34
  582. package/src/common/api-config.ts +0 -48
  583. package/src/common/blockchain-identifier.ts +0 -217
  584. package/src/common/chains.stories.tsx +0 -67
  585. package/src/common/chains.ts +0 -436
  586. package/src/common/constants.ts +0 -1
  587. package/src/common/contract-info.ts +0 -9
  588. package/src/common/feature-config.ts +0 -18
  589. package/src/common/parameters.ts +0 -89
  590. package/src/contract-functions/approveLBTC/approveLBTC.stories.tsx +0 -78
  591. package/src/contract-functions/approveLBTC/approveLBTC.ts +0 -66
  592. package/src/contract-functions/approveLBTC/index.ts +0 -1
  593. package/src/contract-functions/approveToken/approveToken.ts +0 -126
  594. package/src/contract-functions/approveToken/index.ts +0 -1
  595. package/src/contract-functions/claimLBTC/claimLBTC.stories.tsx +0 -81
  596. package/src/contract-functions/claimLBTC/claimLBTC.ts +0 -159
  597. package/src/contract-functions/claimLBTC/index.ts +0 -1
  598. package/src/contract-functions/claimUnstakeRedeem/claimUnstakeRedeem.ts +0 -95
  599. package/src/contract-functions/claimUnstakeRedeem/index.ts +0 -1
  600. package/src/contract-functions/deposit/depositToken.stories.tsx +0 -82
  601. package/src/contract-functions/deposit/depositToken.ts +0 -214
  602. package/src/contract-functions/deposit/index.ts +0 -1
  603. package/src/contract-functions/getBasculeDepositStatus/decodeBasculeDepositStatus.ts +0 -170
  604. package/src/contract-functions/getBasculeDepositStatus/getBasculeDepositStatus.stories.tsx +0 -61
  605. package/src/contract-functions/getBasculeDepositStatus/getBasculeDepositStatus.ts +0 -211
  606. package/src/contract-functions/getBasculeDepositStatus/index.ts +0 -2
  607. package/src/contract-functions/getLBTCMintingFee/getLBTCMintingFee.stories.tsx +0 -60
  608. package/src/contract-functions/getLBTCMintingFee/getLBTCMintingFee.ts +0 -193
  609. package/src/contract-functions/getLBTCMintingFee/index.ts +0 -1
  610. package/src/contract-functions/getLBTCTotalSupply/getLBTCTotalSupply.stories.tsx +0 -50
  611. package/src/contract-functions/getLBTCTotalSupply/getLBTCTotalSupply.ts +0 -40
  612. package/src/contract-functions/getLBTCTotalSupply/index.ts +0 -1
  613. package/src/contract-functions/getPermitNonce/getPermitNonce.stories.tsx +0 -55
  614. package/src/contract-functions/getPermitNonce/getPermitNonce.ts +0 -50
  615. package/src/contract-functions/getPermitNonce/index.ts +0 -1
  616. package/src/contract-functions/getShareValue/getShareValue.stories.tsx +0 -56
  617. package/src/contract-functions/getShareValue/getShareValue.ts +0 -59
  618. package/src/contract-functions/getShareValue/index.ts +0 -1
  619. package/src/contract-functions/getSharesByAddress/getSharesByAddress.stories.tsx +0 -65
  620. package/src/contract-functions/getSharesByAddress/getSharesByAddress.ts +0 -86
  621. package/src/contract-functions/getSharesByAddress/index.ts +0 -4
  622. package/src/contract-functions/getStakeAndBakeFee/__tests__/getStakeAndBakeFee.test.ts +0 -167
  623. package/src/contract-functions/getStakeAndBakeFee/getStakeAndBakeFee.stories.tsx +0 -180
  624. package/src/contract-functions/getStakeAndBakeFee/getStakeAndBakeFee.tsx +0 -101
  625. package/src/contract-functions/getStakeAndBakeFee/index.ts +0 -1
  626. package/src/contract-functions/index.ts +0 -21
  627. package/src/contract-functions/signLbtcDestionationAddr/index.ts +0 -1
  628. package/src/contract-functions/signLbtcDestionationAddr/signLbtcDestinationAddr.ts +0 -32
  629. package/src/contract-functions/signLbtcDestionationAddr/signLbtcDestionationAddr.stories.tsx +0 -63
  630. package/src/contract-functions/signNetworkFee/getTypedData.ts +0 -41
  631. package/src/contract-functions/signNetworkFee/index.ts +0 -1
  632. package/src/contract-functions/signNetworkFee/signNetworkFee.stories.tsx +0 -93
  633. package/src/contract-functions/signNetworkFee/signNetworkFee.ts +0 -106
  634. package/src/contract-functions/signStakeAndBake/__tests__/signStakeAndBake.test.ts +0 -887
  635. package/src/contract-functions/signStakeAndBake/handleApprove.ts +0 -81
  636. package/src/contract-functions/signStakeAndBake/handlePermit.ts +0 -28
  637. package/src/contract-functions/signStakeAndBake/index.ts +0 -2
  638. package/src/contract-functions/signStakeAndBake/signStakeAndBake.stories.tsx +0 -201
  639. package/src/contract-functions/signStakeAndBake/signStakeAndBake.ts +0 -159
  640. package/src/contract-functions/signStakeAndBake/typed-data-builder.ts +0 -137
  641. package/src/contract-functions/signStakeAndBake/utils.ts +0 -61
  642. package/src/contract-functions/signStakeAndBake/validation.ts +0 -124
  643. package/src/contract-functions/unstakeLBTC/index.ts +0 -1
  644. package/src/contract-functions/unstakeLBTC/unstakeLBTC.stories.tsx +0 -91
  645. package/src/contract-functions/unstakeLBTC/unstakeLBTC.ts +0 -396
  646. package/src/debug-api/btc-script-to-address.ts +0 -20
  647. package/src/debug-api/btc-tx-info.ts +0 -32
  648. package/src/debug-api/evm-by-btc-address.ts +0 -26
  649. package/src/debug-api/index.ts +0 -3
  650. package/src/defi/README.md +0 -501
  651. package/src/defi/defi-registry.stories.tsx +0 -526
  652. package/src/defi/defi-registry.ts +0 -179
  653. package/src/defi/index.ts +0 -5
  654. package/src/index.ts +0 -84
  655. package/src/metrics/get-additional-rewards.ts +0 -69
  656. package/src/metrics/get-lbtc-apy.ts +0 -74
  657. package/src/metrics/get-lbtc-stats.stories.tsx +0 -56
  658. package/src/metrics/get-lbtc-stats.ts +0 -59
  659. package/src/metrics/get-positions-summary.stories.tsx +0 -57
  660. package/src/metrics/get-positions-summary.ts +0 -132
  661. package/src/stories/arg-types.ts +0 -37
  662. package/src/stories/components/Button/Button.css +0 -10
  663. package/src/stories/components/Button/Button.tsx +0 -50
  664. package/src/stories/components/Button/index.ts +0 -1
  665. package/src/stories/components/CodeBlock/CodeBlock.tsx +0 -26
  666. package/src/stories/components/CodeBlock/CodeBlockStyles.css +0 -3
  667. package/src/stories/components/CodeBlock/index.ts +0 -1
  668. package/src/stories/components/ConnectButton/connect-button.tsx +0 -247
  669. package/src/stories/components/ConnectButton/index.ts +0 -1
  670. package/src/stories/components/Spinner/Spinner.tsx +0 -27
  671. package/src/stories/components/Spinner/index.ts +0 -1
  672. package/src/stories/components/decorators/function-type.tsx +0 -63
  673. package/src/stories/components/decorators/index.ts +0 -2
  674. package/src/stories/components/decorators/wagmi-decorator.tsx +0 -91
  675. package/src/stories/components/error-block.tsx +0 -21
  676. package/src/stories/constants.ts +0 -3
  677. package/src/stories/hooks/useConnection.ts +0 -62
  678. package/src/stories/hooks/useQuery.ts +0 -56
  679. package/src/tokens/abi/ASSET_ROUTER_ABI.ts +0 -1966
  680. package/src/tokens/abi/BRIDGE_TOKEN_ADAPTER_ABI.ts +0 -1405
  681. package/src/tokens/abi/BTCK_ABI.ts +0 -1092
  682. package/src/tokens/abi/KATANA_BASCULE_ABI.ts +0 -653
  683. package/src/tokens/abi/LBTC_ABI.json +0 -1761
  684. package/src/tokens/abi/LBTC_ABI.ts +0 -1761
  685. package/src/tokens/abi/LBTC_BASCULE_ABI.json +0 -850
  686. package/src/tokens/abi/NATIVE_LBTC_ABI.ts +0 -1147
  687. package/src/tokens/abi/STLBTC_ABI.ts +0 -1062
  688. package/src/tokens/cross-chain-addresses.stories.tsx +0 -235
  689. package/src/tokens/denomination-utils.stories.tsx +0 -175
  690. package/src/tokens/getLbtcContractAddresses.stories.tsx +0 -157
  691. package/src/tokens/getTokenByAddress.stories.tsx +0 -171
  692. package/src/tokens/getTokenContractInfo.stories.tsx +0 -147
  693. package/src/tokens/getTokenInfo.stories.tsx +0 -132
  694. package/src/tokens/isUpgradedContract.stories.tsx +0 -123
  695. package/src/tokens/lbtc-addresses.ts +0 -18
  696. package/src/tokens/token-addresses.ts +0 -428
  697. package/src/tokens/tokens.ts +0 -235
  698. package/src/tokens/types.ts +0 -80
  699. package/src/utils/array.ts +0 -31
  700. package/src/utils/block.ts +0 -23
  701. package/src/utils/env.ts +0 -20
  702. package/src/utils/err.ts +0 -83
  703. package/src/utils/gas.ts +0 -36
  704. package/src/utils/hex.ts +0 -9
  705. package/src/utils/numbers.ts +0 -8
  706. package/src/utils/pagination.ts +0 -70
  707. package/src/utils/satoshi.ts +0 -25
  708. package/src/utils/time.ts +0 -12
  709. package/src/utils/transaction-executor.ts +0 -299
  710. package/src/vaults/abi/SILO_VAULT_SPENDER_ABI.json +0 -793
  711. package/src/vaults/abi/VEDA_VAULT_ABI.json +0 -452
  712. package/src/vaults/abi/VEDA_VAULT_ACCOUNTANT_ABI.json +0 -591
  713. package/src/vaults/abi/VEDA_VAULT_BASE_ASSET_ABI.json +0 -296
  714. package/src/vaults/abi/VEDA_VAULT_BORING_WITHDRAW_QUEUE_ABI.json +0 -502
  715. package/src/vaults/abi/VEDA_VAULT_LENS_ABI.json +0 -175
  716. package/src/vaults/abi/VEDA_VAULT_SPENDER_ABI.json +0 -408
  717. package/src/vaults/abi/VEDA_VAULT_TELLER_ABI.json +0 -700
  718. package/src/vaults/abi/index.ts +0 -4
  719. package/src/vaults/index.ts +0 -46
  720. package/src/vaults/lib/config.ts +0 -203
  721. package/src/vaults/lib/metrics/get-vault-apy.stories.tsx +0 -57
  722. package/src/vaults/lib/metrics/get-vault-apy.ts +0 -176
  723. package/src/vaults/lib/metrics/get-vault-points.stories.tsx +0 -59
  724. package/src/vaults/lib/metrics/get-vault-points.ts +0 -74
  725. package/src/vaults/lib/metrics/get-vault-tvl.stories.tsx +0 -57
  726. package/src/vaults/lib/metrics/get-vault-tvl.ts +0 -121
  727. package/src/vaults/lib/ops/cancel-withdraw.stories.tsx +0 -79
  728. package/src/vaults/lib/ops/deposit.stories.tsx +0 -81
  729. package/src/vaults/lib/ops/deposit.ts +0 -152
  730. package/src/vaults/lib/ops/get-vault-deposits.stories.tsx +0 -64
  731. package/src/vaults/lib/ops/get-vault-deposits.ts +0 -209
  732. package/src/vaults/lib/ops/get-vault-withdrawals.stories.tsx +0 -66
  733. package/src/vaults/lib/ops/get-vault-withdrawals.ts +0 -349
  734. package/src/vaults/lib/ops/withdraw.stories.tsx +0 -81
  735. package/src/vaults/lib/ops/withdraw.ts +0 -225
  736. package/src/vite-env.d.ts +0 -1
@@ -1,887 +0,0 @@
1
- /**
2
- * Tests for signStakeAndBake function
3
- *
4
- * These tests encode the CURRENT expected behavior before refactoring.
5
- * They serve as a safety net to ensure refactoring doesn't break existing functionality.
6
- *
7
- * Test Coverage:
8
- * 1. LBTC Permit Flow (standard EIP-2612)
9
- * 2. BTC → LBTC Conversion + Permit
10
- * 3. BTCb Approve Flow (Avalanche special case)
11
- * 4. Validation Errors
12
- * 5. Typed Data Structure
13
- * 6. Nonce Handling
14
- * 7. Expiry Behavior
15
- */
16
-
17
- import { Env } from '@lombard.finance/sdk-common';
18
- import BigNumber from 'bignumber.js';
19
- import type { EIP1193Provider } from 'viem';
20
- import type { Mock } from 'vitest';
21
- import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
22
-
23
- import { ChainId } from '../../../common/chains';
24
- import { DefiProtocol } from '../../../defi/defi-registry';
25
- import { Token } from '../../../tokens/token-addresses';
26
- import { signStakeAndBake } from '../signStakeAndBake';
27
- import { calculateStakeAndBakeLBTCAmount } from '../utils';
28
- import { StakeAndBakeValidationError } from '../validation';
29
-
30
- // Mock dependencies
31
- vi.mock('../../../clients/wallet-client', () => ({
32
- makeWalletClient: vi.fn(() => ({
33
- signTypedData: vi.fn(async _typedData => {
34
- // Return a mock signature - can't JSON.stringify BigInt values
35
- return '0xmocksignature1234567890abcdef';
36
- }),
37
- writeContract: vi.fn(async _params => {
38
- // Return a mock transaction hash for approve transactions
39
- return '0xapprovetxhash1234567890abcdef';
40
- }),
41
- })),
42
- }));
43
-
44
- vi.mock('../../../clients/public-client', () => ({
45
- makePublicClient: vi.fn(() => ({
46
- readContract: vi.fn(async ({ functionName }) => {
47
- // Mock nonce response
48
- if (functionName === 'nonces') {
49
- return 5n; // Mock nonce value
50
- }
51
- // Mock allowance response (return 0 to trigger approve tx)
52
- if (functionName === 'allowance') {
53
- return 0n; // Zero allowance triggers approve transaction
54
- }
55
- return 0n;
56
- }),
57
- waitForTransactionReceipt: vi.fn(async ({ hash }) => {
58
- // Mock successful transaction receipt
59
- return {
60
- status: 'success',
61
- transactionHash: hash,
62
- blockNumber: 1n,
63
- blockHash: '0xblockhash',
64
- };
65
- }),
66
- })),
67
- }));
68
-
69
- vi.mock('../../../tokens/tokens', () => ({
70
- getTokenContractInfo: vi.fn(async (token, chainId, _env, _addressKind) => {
71
- // Return mock contract info based on token
72
- if (token === Token.LBTC) {
73
- return {
74
- address: '0xLBTC_CONTRACT_ADDRESS',
75
- abi: [],
76
- chainId,
77
- };
78
- }
79
- if (token === Token.BTCb) {
80
- return {
81
- address: '0xBTCB_CONTRACT_ADDRESS',
82
- abi: [],
83
- chainId,
84
- };
85
- }
86
- throw new Error(`Unknown token: ${token}`);
87
- }),
88
- }));
89
-
90
- vi.mock(
91
- '../../../api-functions/getLBTCExchangeRate/get-exchange-ratio',
92
- () => ({
93
- getExchangeRatio: vi.fn(async () => ({
94
- LBTC: {
95
- BTCTokenRatio: new BigNumber('1.05'), // 1 BTC = 0.952381 LBTC
96
- },
97
- })),
98
- }),
99
- );
100
-
101
- // Test data
102
- const MOCK_ACCOUNT = '0x1234567890123456789012345678901234567890';
103
- const MOCK_PROVIDER = {} as EIP1193Provider;
104
- const MOCK_EXPIRY = 1700000000;
105
-
106
- describe('signStakeAndBake - Current Behavior Tests', () => {
107
- beforeEach(() => {
108
- vi.clearAllMocks();
109
- });
110
-
111
- afterEach(() => {
112
- vi.restoreAllMocks();
113
- });
114
-
115
- describe('LBTC Permit Flow (Standard EIP-2612)', () => {
116
- it('should generate valid permit signature for LBTC on Ethereum', async () => {
117
- const result = await signStakeAndBake({
118
- account: MOCK_ACCOUNT,
119
- value: new BigNumber('1'),
120
- token: Token.LBTC,
121
- vaultKey: DefiProtocol.Veda,
122
- chainId: ChainId.ethereum,
123
- provider: MOCK_PROVIDER,
124
- expiry: MOCK_EXPIRY,
125
- env: Env.prod,
126
- });
127
-
128
- // Should be permit mode
129
- expect(result.mode).toBe('permit');
130
-
131
- // Should return a signature
132
- expect(result.signature).toBeTruthy();
133
- expect(result.signature).toMatch(/^0x/);
134
-
135
- // Should have typed data
136
- expect(result.typedData).toBeTruthy();
137
- const typedData = JSON.parse(result.typedData);
138
-
139
- // Verify EIP-712 domain
140
- expect(typedData.domain).toEqual({
141
- name: 'Lombard Staked Bitcoin',
142
- version: '1',
143
- chainId: ChainId.ethereum.toString(),
144
- verifyingContract: '0xLBTC_CONTRACT_ADDRESS',
145
- });
146
-
147
- // Verify primary type
148
- expect(typedData.primaryType).toBe('Permit');
149
-
150
- // Verify message structure
151
- expect(typedData.message).toMatchObject({
152
- owner: MOCK_ACCOUNT,
153
- spender: expect.any(String),
154
- value: expect.any(String),
155
- nonce: '5', // Mocked nonce
156
- deadline: MOCK_EXPIRY.toString(),
157
- });
158
- });
159
-
160
- it('should generate permit for LBTC on BSC', async () => {
161
- const result = await signStakeAndBake({
162
- account: MOCK_ACCOUNT,
163
- value: new BigNumber('0.5'),
164
- token: Token.LBTC,
165
- vaultKey: DefiProtocol.Veda,
166
- chainId: ChainId.binanceSmartChain,
167
- provider: MOCK_PROVIDER,
168
- expiry: MOCK_EXPIRY,
169
- env: Env.prod,
170
- });
171
-
172
- expect(result.signature).toBeTruthy();
173
- const typedData = JSON.parse(result.typedData);
174
- expect(typedData.primaryType).toBe('Permit');
175
- expect(typedData.domain.name).toBe('Lombard Staked Bitcoin');
176
- });
177
-
178
- it('should use default expiry of 24 hours if not provided', async () => {
179
- const beforeCall = Math.floor(Date.now() / 1000);
180
-
181
- const result = await signStakeAndBake({
182
- account: MOCK_ACCOUNT,
183
- value: new BigNumber('1'),
184
- token: Token.LBTC,
185
- vaultKey: DefiProtocol.Veda,
186
- chainId: ChainId.ethereum,
187
- provider: MOCK_PROVIDER,
188
- // No expiry provided
189
- env: Env.prod,
190
- });
191
-
192
- const typedData = JSON.parse(result.typedData);
193
- const deadline = Number(typedData.message.deadline);
194
- const afterCall = Math.floor(Date.now() / 1000);
195
-
196
- // Should be approximately 24 hours from now
197
- const expectedExpiry = beforeCall + 86400; // 24 hours
198
- expect(deadline).toBeGreaterThanOrEqual(expectedExpiry - 5);
199
- expect(deadline).toBeLessThanOrEqual(afterCall + 86400 + 5);
200
- });
201
-
202
- it('should fetch nonce from contract', async () => {
203
- const { makePublicClient } = await import(
204
- '../../../clients/public-client'
205
- );
206
-
207
- await signStakeAndBake({
208
- account: MOCK_ACCOUNT,
209
- value: new BigNumber('1'),
210
- token: Token.LBTC,
211
- vaultKey: DefiProtocol.Veda,
212
- chainId: ChainId.ethereum,
213
- provider: MOCK_PROVIDER,
214
- env: Env.prod,
215
- });
216
-
217
- // Verify nonce was fetched
218
- expect(makePublicClient).toHaveBeenCalledWith(
219
- expect.objectContaining({ chainId: ChainId.ethereum }),
220
- );
221
- });
222
- });
223
-
224
- describe('BTC → LBTC Conversion + Permit', () => {
225
- it('should convert BTC amount to LBTC using exchange ratio', async () => {
226
- const btcAmount = new BigNumber('1');
227
- const expectedLBTC = new BigNumber('1').dividedBy(new BigNumber('1.05'));
228
-
229
- const result = await signStakeAndBake({
230
- account: MOCK_ACCOUNT,
231
- value: btcAmount,
232
- token: 'BTC',
233
- vaultKey: DefiProtocol.Veda,
234
- chainId: ChainId.ethereum,
235
- provider: MOCK_PROVIDER,
236
- expiry: MOCK_EXPIRY,
237
- env: Env.prod,
238
- });
239
-
240
- const typedData = JSON.parse(result.typedData);
241
- const permitValue = new BigNumber(typedData.message.value);
242
-
243
- // Should use converted LBTC amount
244
- expect(permitValue.toFixed(0)).toBe(
245
- expectedLBTC.toFixed(0, BigNumber.ROUND_DOWN),
246
- );
247
- });
248
-
249
- it('should default to BTC token when no token specified', async () => {
250
- const result = await signStakeAndBake({
251
- account: MOCK_ACCOUNT,
252
- value: new BigNumber('1'),
253
- // token not specified - should default to 'BTC'
254
- vaultKey: DefiProtocol.Veda,
255
- chainId: ChainId.ethereum,
256
- provider: MOCK_PROVIDER,
257
- env: Env.prod,
258
- });
259
-
260
- // Should still generate LBTC permit after conversion
261
- const typedData = JSON.parse(result.typedData);
262
- expect(typedData.domain.name).toBe('Lombard Staked Bitcoin');
263
- expect(typedData.primaryType).toBe('Permit');
264
- });
265
-
266
- it('calculateStakeAndBakeLBTCAmount should apply ratio correctly', async () => {
267
- const btcAmount = new BigNumber('2.5');
268
- const lbtcAmount = await calculateStakeAndBakeLBTCAmount(
269
- btcAmount,
270
- Env.prod,
271
- );
272
-
273
- // Expected: 2.5 / 1.05 = 2.380952...
274
- expect(lbtcAmount.toFixed(6)).toBe('2.380952');
275
- });
276
- });
277
-
278
- describe('BTCb Approve Flow (Avalanche Special Case)', () => {
279
- it('should return empty signature for BTCb on Avalanche Fuji', async () => {
280
- const result = await signStakeAndBake({
281
- account: MOCK_ACCOUNT,
282
- value: new BigNumber('1'),
283
- token: Token.BTCb,
284
- vaultKey: DefiProtocol.Silo,
285
- chainId: ChainId.avalancheFuji,
286
- provider: MOCK_PROVIDER,
287
- expiry: MOCK_EXPIRY,
288
- env: Env.testnet,
289
- });
290
-
291
- // Should be approve mode
292
- expect(result.mode).toBe('approve');
293
-
294
- // Approve mode returns empty signature
295
- expect(result.signature).toBe('');
296
-
297
- // But should have typed data
298
- expect(result.typedData).toBeTruthy();
299
-
300
- // Should have approval transaction hash
301
- expect(result.approvalTxHash).toBeTruthy();
302
- expect(result.approvalTxHash).toMatch(/^0x/);
303
- });
304
-
305
- it('should use "Approve" primary type for BTCb on Avalanche', async () => {
306
- const result = await signStakeAndBake({
307
- account: MOCK_ACCOUNT,
308
- value: new BigNumber('1'),
309
- token: Token.BTCb,
310
- vaultKey: DefiProtocol.Silo,
311
- chainId: ChainId.avalancheFuji,
312
- provider: MOCK_PROVIDER,
313
- env: Env.testnet,
314
- });
315
-
316
- const typedData = JSON.parse(result.typedData);
317
-
318
- // Should use Approve, not Permit
319
- expect(typedData.primaryType).toBe('Approve');
320
- });
321
-
322
- it('should use "Bitcoin" domain name for BTCb', async () => {
323
- const result = await signStakeAndBake({
324
- account: MOCK_ACCOUNT,
325
- value: new BigNumber('1'),
326
- token: Token.BTCb,
327
- vaultKey: DefiProtocol.Silo,
328
- chainId: ChainId.avalancheFuji,
329
- provider: MOCK_PROVIDER,
330
- env: Env.testnet,
331
- });
332
-
333
- const typedData = JSON.parse(result.typedData);
334
-
335
- expect(typedData.domain.name).toBe('Bitcoin');
336
- expect(typedData.domain.version).toBe('1');
337
- });
338
-
339
- it('should use zero nonce and deadline for BTCb approve', async () => {
340
- const result = await signStakeAndBake({
341
- account: MOCK_ACCOUNT,
342
- value: new BigNumber('1'),
343
- token: Token.BTCb,
344
- vaultKey: DefiProtocol.Silo,
345
- chainId: ChainId.avalancheFuji,
346
- provider: MOCK_PROVIDER,
347
- expiry: MOCK_EXPIRY, // Should be ignored
348
- env: Env.testnet,
349
- });
350
-
351
- const typedData = JSON.parse(result.typedData);
352
-
353
- // BTCb approve uses zero nonce and deadline
354
- expect(typedData.message.nonce).toBe('0');
355
- expect(typedData.message.deadline).toBe('0');
356
- });
357
-
358
- it('should handle BTCb on Avalanche Fuji testnet', async () => {
359
- // NOTE: Avalanche Fuji is currently not configured in Silo vault
360
- // This test documents expected behavior if/when it's added
361
-
362
- // Skip this test for now since Fuji isn't configured
363
- // Once Silo adds Fuji support, this test should pass
364
- expect(true).toBe(true); // Placeholder
365
-
366
- /* Future test when Fuji is added to Silo:
367
- const result = await signStakeAndBake({
368
- account: MOCK_ACCOUNT,
369
- value: new BigNumber('0.1'),
370
- token: Token.BTCb,
371
- vaultKey: DefiProtocolKey.Silo,
372
- chainId: ChainId.avalancheFuji,
373
- provider: MOCK_PROVIDER,
374
- env: Env.testnet,
375
- });
376
-
377
- expect(result.signature).toBe('');
378
- const typedData = JSON.parse(result.typedData);
379
- expect(typedData.primaryType).toBe('Approve');
380
- expect(typedData.domain.name).toBe('Bitcoin');
381
- */
382
- });
383
-
384
- it('should throw validation error for BTCb on unsupported vault/chain', async () => {
385
- // BTCb is only configured for Silo vault on Avalanche
386
- // Attempting to use it with Veda vault or on other chains should fail validation
387
-
388
- await expect(
389
- signStakeAndBake({
390
- account: MOCK_ACCOUNT,
391
- value: new BigNumber('1'),
392
- token: Token.BTCb,
393
- vaultKey: DefiProtocol.Veda, // BTCb not configured for Veda
394
- chainId: ChainId.holesky, // BTCb not configured for Holesky
395
- provider: MOCK_PROVIDER,
396
- env: Env.testnet,
397
- }),
398
- ).rejects.toThrow(StakeAndBakeValidationError);
399
- });
400
- });
401
-
402
- describe('Validation Errors', () => {
403
- it('should throw error for unknown vault', async () => {
404
- await expect(
405
- signStakeAndBake({
406
- account: MOCK_ACCOUNT,
407
- value: new BigNumber('1'),
408
- vaultKey: 'nonexistent' as DefiProtocol,
409
- chainId: ChainId.ethereum,
410
- provider: MOCK_PROVIDER,
411
- env: Env.prod,
412
- }),
413
- ).rejects.toThrow(StakeAndBakeValidationError);
414
- });
415
-
416
- it('should throw error for unsupported chain', async () => {
417
- await expect(
418
- signStakeAndBake({
419
- account: MOCK_ACCOUNT,
420
- value: new BigNumber('1'),
421
- vaultKey: DefiProtocol.Veda,
422
- chainId: ChainId.avalanche, // Not supported by Veda
423
- provider: MOCK_PROVIDER,
424
- env: Env.prod,
425
- }),
426
- ).rejects.toThrow(StakeAndBakeValidationError);
427
- });
428
-
429
- it('should throw error when spender contract missing', async () => {
430
- // Create a scenario where chain is in stakeAndBakeChains but no spender contract
431
- // This is a defensive check in the current code
432
-
433
- await expect(
434
- signStakeAndBake({
435
- account: MOCK_ACCOUNT,
436
- value: new BigNumber('1'),
437
- vaultKey: DefiProtocol.Veda,
438
- chainId: 99999 as ChainId, // Invalid chain
439
- provider: MOCK_PROVIDER,
440
- env: Env.prod,
441
- }),
442
- ).rejects.toThrow();
443
- });
444
-
445
- it('should include supported chains in error message', async () => {
446
- try {
447
- await signStakeAndBake({
448
- account: MOCK_ACCOUNT,
449
- value: new BigNumber('1'),
450
- vaultKey: DefiProtocol.Veda,
451
- chainId: ChainId.avalanche,
452
- provider: MOCK_PROVIDER,
453
- env: Env.prod,
454
- });
455
- expect.fail('Should have thrown error');
456
- } catch (error: unknown) {
457
- const err = error as Error;
458
- expect(err.message).toMatch(/supported chains/i);
459
- // Should list at least Ethereum
460
- expect(err.message).toContain(ChainId.ethereum.toString());
461
- }
462
- });
463
- });
464
-
465
- describe('Typed Data Structure Validation', () => {
466
- it('should have correct EIP-712 domain fields', async () => {
467
- const result = await signStakeAndBake({
468
- account: MOCK_ACCOUNT,
469
- value: new BigNumber('1'),
470
- token: Token.LBTC,
471
- vaultKey: DefiProtocol.Veda,
472
- chainId: ChainId.ethereum,
473
- provider: MOCK_PROVIDER,
474
- env: Env.prod,
475
- });
476
-
477
- const typedData = JSON.parse(result.typedData);
478
-
479
- expect(typedData.domain).toHaveProperty('name');
480
- expect(typedData.domain).toHaveProperty('version');
481
- expect(typedData.domain).toHaveProperty('chainId');
482
- expect(typedData.domain).toHaveProperty('verifyingContract');
483
- });
484
-
485
- it('should have correct EIP712Domain type definition', async () => {
486
- const result = await signStakeAndBake({
487
- account: MOCK_ACCOUNT,
488
- value: new BigNumber('1'),
489
- token: Token.LBTC,
490
- vaultKey: DefiProtocol.Veda,
491
- chainId: ChainId.ethereum,
492
- provider: MOCK_PROVIDER,
493
- env: Env.prod,
494
- });
495
-
496
- const typedData = JSON.parse(result.typedData);
497
- const domainType = typedData.types.EIP712Domain;
498
-
499
- expect(domainType).toEqual([
500
- { name: 'name', type: 'string' },
501
- { name: 'version', type: 'string' },
502
- { name: 'chainId', type: 'uint256' },
503
- { name: 'verifyingContract', type: 'address' },
504
- ]);
505
- });
506
-
507
- it('should have correct Permit message type definition', async () => {
508
- const result = await signStakeAndBake({
509
- account: MOCK_ACCOUNT,
510
- value: new BigNumber('1'),
511
- token: Token.LBTC,
512
- vaultKey: DefiProtocol.Veda,
513
- chainId: ChainId.ethereum,
514
- provider: MOCK_PROVIDER,
515
- env: Env.prod,
516
- });
517
-
518
- const typedData = JSON.parse(result.typedData);
519
- const permitType = typedData.types.Permit;
520
-
521
- expect(permitType).toEqual([
522
- { name: 'owner', type: 'address' },
523
- { name: 'spender', type: 'address' },
524
- { name: 'value', type: 'uint256' },
525
- { name: 'nonce', type: 'uint256' },
526
- { name: 'deadline', type: 'uint256' },
527
- ]);
528
- });
529
-
530
- it('should have correct message field values', async () => {
531
- const testValue = new BigNumber('1.5');
532
-
533
- const result = await signStakeAndBake({
534
- account: MOCK_ACCOUNT,
535
- value: testValue,
536
- token: Token.LBTC,
537
- vaultKey: DefiProtocol.Veda,
538
- chainId: ChainId.ethereum,
539
- provider: MOCK_PROVIDER,
540
- expiry: MOCK_EXPIRY,
541
- env: Env.prod,
542
- });
543
-
544
- const typedData = JSON.parse(result.typedData);
545
- const message = typedData.message;
546
-
547
- expect(message.owner).toBe(MOCK_ACCOUNT);
548
- expect(message.spender).toBeTruthy();
549
- expect(message.spender).toMatch(/^0x/);
550
- expect(message.value).toBeTruthy();
551
- expect(message.nonce).toBe('5');
552
- expect(message.deadline).toBe(MOCK_EXPIRY.toString());
553
- });
554
-
555
- it('should serialize BigInt values to strings in typedData', async () => {
556
- const result = await signStakeAndBake({
557
- account: MOCK_ACCOUNT,
558
- value: new BigNumber('1'),
559
- token: Token.LBTC,
560
- vaultKey: DefiProtocol.Veda,
561
- chainId: ChainId.ethereum,
562
- provider: MOCK_PROVIDER,
563
- env: Env.prod,
564
- });
565
-
566
- // Typed data should be serializable JSON
567
- expect(() => JSON.parse(result.typedData)).not.toThrow();
568
-
569
- const typedData = JSON.parse(result.typedData);
570
-
571
- // All numeric values should be strings
572
- expect(typeof typedData.domain.chainId).toBe('string');
573
- expect(typeof typedData.message.value).toBe('string');
574
- expect(typeof typedData.message.nonce).toBe('string');
575
- expect(typeof typedData.message.deadline).toBe('string');
576
- });
577
- });
578
-
579
- describe('Value Precision Handling', () => {
580
- it('should round down value to integer', async () => {
581
- const result = await signStakeAndBake({
582
- account: MOCK_ACCOUNT,
583
- value: new BigNumber('1.123456789'),
584
- token: Token.LBTC,
585
- vaultKey: DefiProtocol.Veda,
586
- chainId: ChainId.ethereum,
587
- provider: MOCK_PROVIDER,
588
- env: Env.prod,
589
- });
590
-
591
- const typedData = JSON.parse(result.typedData);
592
- const value = typedData.message.value;
593
-
594
- // Should be rounded down, no decimals
595
- expect(value).toBe('1');
596
- });
597
-
598
- it('should handle very large values', async () => {
599
- const largeValue = new BigNumber('21000000'); // 21M BTC in satoshis
600
-
601
- const result = await signStakeAndBake({
602
- account: MOCK_ACCOUNT,
603
- value: largeValue,
604
- token: Token.LBTC,
605
- vaultKey: DefiProtocol.Veda,
606
- chainId: ChainId.ethereum,
607
- provider: MOCK_PROVIDER,
608
- env: Env.prod,
609
- });
610
-
611
- const typedData = JSON.parse(result.typedData);
612
- expect(typedData.message.value).toBe(largeValue.toFixed(0));
613
- });
614
-
615
- it('should handle very small values', async () => {
616
- const smallValue = new BigNumber('0.00000001'); // 1 satoshi
617
-
618
- const result = await signStakeAndBake({
619
- account: MOCK_ACCOUNT,
620
- value: smallValue,
621
- token: Token.LBTC,
622
- vaultKey: DefiProtocol.Veda,
623
- chainId: ChainId.ethereum,
624
- provider: MOCK_PROVIDER,
625
- env: Env.prod,
626
- });
627
-
628
- const typedData = JSON.parse(result.typedData);
629
- // Should be 0 when rounded down
630
- expect(typedData.message.value).toBe('0');
631
- });
632
- });
633
-
634
- describe('Spender Contract Selection', () => {
635
- it('should use correct spender contract for Veda on Ethereum', async () => {
636
- const result = await signStakeAndBake({
637
- account: MOCK_ACCOUNT,
638
- value: new BigNumber('1'),
639
- token: Token.LBTC,
640
- vaultKey: DefiProtocol.Veda,
641
- chainId: ChainId.ethereum,
642
- provider: MOCK_PROVIDER,
643
- env: Env.prod,
644
- });
645
-
646
- const typedData = JSON.parse(result.typedData);
647
-
648
- // Should match Veda spender contract for Ethereum
649
- expect(typedData.message.spender).toBe(
650
- '0xC8bbF6153D7Ba105f1399D992ebd32B0541996ef',
651
- );
652
- });
653
-
654
- it('should use correct spender contract for Veda on BSC', async () => {
655
- const result = await signStakeAndBake({
656
- account: MOCK_ACCOUNT,
657
- value: new BigNumber('1'),
658
- token: Token.LBTC,
659
- vaultKey: DefiProtocol.Veda,
660
- chainId: ChainId.binanceSmartChain,
661
- provider: MOCK_PROVIDER,
662
- env: Env.prod,
663
- });
664
-
665
- const typedData = JSON.parse(result.typedData);
666
- expect(typedData.message.spender).toBe(
667
- '0xC8bbF6153D7Ba105f1399D992ebd32B0541996ef',
668
- );
669
- });
670
-
671
- it('should use correct spender contract for Silo on Avalanche Fuji', async () => {
672
- const result = await signStakeAndBake({
673
- account: MOCK_ACCOUNT,
674
- value: new BigNumber('1'),
675
- token: Token.BTCb,
676
- vaultKey: DefiProtocol.Silo,
677
- chainId: ChainId.avalancheFuji,
678
- provider: MOCK_PROVIDER,
679
- env: Env.testnet,
680
- });
681
-
682
- const typedData = JSON.parse(result.typedData);
683
- expect(typedData.message.spender).toBe(
684
- '0xFe1e76D9e065e879A9D1914482f0F13d85F39877',
685
- );
686
- });
687
- });
688
-
689
- describe('Environment Handling', () => {
690
- it('should use testnet configuration when env is testnet', async () => {
691
- const result = await signStakeAndBake({
692
- account: MOCK_ACCOUNT,
693
- value: new BigNumber('1'),
694
- token: Token.LBTC,
695
- vaultKey: DefiProtocol.Veda,
696
- chainId: ChainId.holesky,
697
- provider: MOCK_PROVIDER,
698
- env: Env.testnet,
699
- });
700
-
701
- expect(result.signature).toBeTruthy();
702
- });
703
-
704
- it('should default to production env', async () => {
705
- const result = await signStakeAndBake({
706
- account: MOCK_ACCOUNT,
707
- value: new BigNumber('1'),
708
- token: Token.LBTC,
709
- vaultKey: DefiProtocol.Veda,
710
- chainId: ChainId.ethereum,
711
- provider: MOCK_PROVIDER,
712
- // No env specified
713
- });
714
-
715
- expect(result.signature).toBeTruthy();
716
- });
717
- });
718
-
719
- describe('Token Contract Address Selection', () => {
720
- it('should use LBTC contract for BTC token (after conversion)', async () => {
721
- const { getTokenContractInfo } = await import('../../../tokens/tokens');
722
-
723
- await signStakeAndBake({
724
- account: MOCK_ACCOUNT,
725
- value: new BigNumber('1'),
726
- token: 'BTC',
727
- vaultKey: DefiProtocol.Veda,
728
- chainId: ChainId.ethereum,
729
- provider: MOCK_PROVIDER,
730
- env: Env.prod,
731
- });
732
-
733
- // Should fetch LBTC contract for 'BTC' token
734
- expect(getTokenContractInfo).toHaveBeenCalledWith(
735
- Token.LBTC,
736
- ChainId.ethereum,
737
- Env.prod,
738
- );
739
- });
740
-
741
- it('should use LBTC contract for LBTC token', async () => {
742
- const { getTokenContractInfo } = await import('../../../tokens/tokens');
743
-
744
- await signStakeAndBake({
745
- account: MOCK_ACCOUNT,
746
- value: new BigNumber('1'),
747
- token: Token.LBTC,
748
- vaultKey: DefiProtocol.Veda,
749
- chainId: ChainId.ethereum,
750
- provider: MOCK_PROVIDER,
751
- env: Env.prod,
752
- });
753
-
754
- expect(getTokenContractInfo).toHaveBeenCalledWith(
755
- Token.LBTC,
756
- ChainId.ethereum,
757
- Env.prod,
758
- );
759
- });
760
-
761
- it('should use BTCb token contract (AddressKind.Token) for BTCb', async () => {
762
- const { getTokenContractInfo } = await import('../../../tokens/tokens');
763
-
764
- await signStakeAndBake({
765
- account: MOCK_ACCOUNT,
766
- value: new BigNumber('1'),
767
- token: Token.BTCb,
768
- vaultKey: DefiProtocol.Silo,
769
- chainId: ChainId.avalancheFuji,
770
- provider: MOCK_PROVIDER,
771
- env: Env.testnet,
772
- });
773
-
774
- // Should use AddressKind.Token for permit signature
775
- const { AddressKind } = await import('../../../tokens/token-addresses');
776
- expect(getTokenContractInfo).toHaveBeenCalledWith(
777
- Token.BTCb,
778
- ChainId.avalancheFuji,
779
- Env.testnet,
780
- AddressKind.Token,
781
- );
782
- });
783
- });
784
-
785
- describe('Exchange Ratio Error Handling', () => {
786
- it('should throw error if exchange ratio fetch fails', async () => {
787
- const { getExchangeRatio } = await import(
788
- '../../../api-functions/getLBTCExchangeRate/get-exchange-ratio'
789
- );
790
-
791
- const mockedGetExchangeRatio = getExchangeRatio as Mock;
792
- mockedGetExchangeRatio.mockRejectedValueOnce(new Error('API error'));
793
-
794
- await expect(
795
- calculateStakeAndBakeLBTCAmount(new BigNumber('1'), Env.prod),
796
- ).rejects.toThrow('Failed to get exchange ratio');
797
- });
798
-
799
- it('should use ratio of 1 if BTCTokenRatio is missing', async () => {
800
- const { getExchangeRatio } = await import(
801
- '../../../api-functions/getLBTCExchangeRate/get-exchange-ratio'
802
- );
803
-
804
- const mockedGetExchangeRatio = getExchangeRatio as Mock;
805
- mockedGetExchangeRatio.mockResolvedValueOnce({
806
- LBTC: {},
807
- });
808
-
809
- const result = await calculateStakeAndBakeLBTCAmount(
810
- new BigNumber('2'),
811
- Env.prod,
812
- );
813
-
814
- // Should use 1:1 ratio
815
- expect(result.toString()).toBe('2');
816
- });
817
- });
818
-
819
- describe('Integration: Full Flow Tests', () => {
820
- it('should complete full permit flow for LBTC', async () => {
821
- const result = await signStakeAndBake({
822
- account: '0xUser123',
823
- value: new BigNumber('0.5'),
824
- token: Token.LBTC,
825
- vaultKey: DefiProtocol.Veda,
826
- chainId: ChainId.ethereum,
827
- provider: MOCK_PROVIDER,
828
- expiry: 1700000000,
829
- env: Env.prod,
830
- });
831
-
832
- // Verify complete result
833
- expect(result).toMatchObject({
834
- mode: 'permit',
835
- signature: expect.stringMatching(/^0x/),
836
- typedData: expect.any(String),
837
- });
838
-
839
- // Verify typedData is valid JSON
840
- const typedData = JSON.parse(result.typedData);
841
- expect(typedData).toMatchObject({
842
- account: '0xUser123',
843
- domain: expect.objectContaining({
844
- name: 'Lombard Staked Bitcoin',
845
- }),
846
- primaryType: 'Permit',
847
- message: expect.objectContaining({
848
- owner: '0xUser123',
849
- value: expect.any(String),
850
- }),
851
- });
852
- });
853
-
854
- it('should complete full approve flow for BTCb on Avalanche Fuji', async () => {
855
- const result = await signStakeAndBake({
856
- account: '0xUser456',
857
- value: new BigNumber('1.5'),
858
- token: Token.BTCb,
859
- vaultKey: DefiProtocol.Silo,
860
- chainId: ChainId.avalancheFuji,
861
- provider: MOCK_PROVIDER,
862
- env: Env.testnet,
863
- });
864
-
865
- // Verify approve result
866
- expect(result).toMatchObject({
867
- mode: 'approve',
868
- signature: '', // Empty for approve
869
- typedData: expect.any(String),
870
- approvalTxHash: expect.stringMatching(/^0x/), // Should have tx hash
871
- });
872
-
873
- const typedData = JSON.parse(result.typedData);
874
- expect(typedData).toMatchObject({
875
- domain: expect.objectContaining({
876
- name: 'Bitcoin',
877
- }),
878
- primaryType: 'Approve',
879
- message: expect.objectContaining({
880
- owner: '0xUser456',
881
- nonce: '0',
882
- deadline: '0',
883
- }),
884
- });
885
- });
886
- });
887
- });