@lombard.finance/sdk 4.0.0 → 4.1.2

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 (474) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/bridge/lib/ccip-config.d.ts.map +1 -1
  3. package/dist/bridge/lib/config.d.ts +3 -3
  4. package/dist/bridge/lib/config.d.ts.map +1 -1
  5. package/dist/common/chains.d.ts +2 -2
  6. package/dist/common/chains.d.ts.map +1 -1
  7. package/dist/common/feature-config.d.ts.map +1 -1
  8. package/dist/contract-functions/getBasculeDepositStatus/getBasculeDepositStatus.d.ts.map +1 -1
  9. package/dist/index2.cjs +6 -6
  10. package/dist/index2.js +792 -759
  11. package/dist/vaults/lib/config.d.ts +1 -1
  12. package/package.json +7 -8
  13. package/src/__tests__/AssetNamespace.spec.ts +0 -234
  14. package/src/__tests__/helpers/createTestConfig.ts +0 -90
  15. package/src/__tests__/integration/automint-fee.integration.test.ts +0 -74
  16. package/src/__tests__/integration/btc-deposit.integration.test.ts +0 -109
  17. package/src/__tests__/integration/btc-stake-and-deploy.integration.test.ts +0 -96
  18. package/src/__tests__/integration/btc-stake.integration.test.ts +0 -466
  19. package/src/__tests__/integration/evm-actions.integration.test.ts +0 -932
  20. package/src/__tests__/integration/evm-deploy.integration.test.ts +0 -122
  21. package/src/__tests__/integration/evm-redeem.integration.test.ts +0 -157
  22. package/src/__tests__/integration/faq-patterns.integration.test.ts +0 -465
  23. package/src/__tests__/integration/getLBTCMintingFee.integration.test.ts +0 -195
  24. package/src/__tests__/real-wallet/btc/btc-stake.real.test.ts +0 -70
  25. package/src/__tests__/real-wallet/evm/evm-stake.real.test.ts +0 -47
  26. package/src/__tests__/real-wallet/evm/evm-unstake.real.test.ts +0 -49
  27. package/src/__tests__/real-wallet/non-evm/solana-unstake.real.test.ts +0 -19
  28. package/src/__tests__/real-wallet/non-evm/starknet-unstake.real.test.ts +0 -19
  29. package/src/__tests__/real-wallet/non-evm/sui-unstake.real.test.ts +0 -19
  30. package/src/__tests__/services/ApiService.test.ts +0 -62
  31. package/src/__tests__/services/BtcService.test.ts +0 -30
  32. package/src/__tests__/services/EvmService.test.ts +0 -39
  33. package/src/__tests__/setup.ts +0 -16
  34. package/src/__tests__/test-utils/eip1193-adapter.ts +0 -48
  35. package/src/__tests__/test-utils/evm-wallet.ts +0 -38
  36. package/src/__tests__/test-utils/solana-wallet.ts +0 -22
  37. package/src/__tests__/test-utils/starknet-wallet.ts +0 -9
  38. package/src/__tests__/test-utils/sui-wallet.ts +0 -14
  39. package/src/__tests__/test-utils/test-constraints.ts +0 -110
  40. package/src/__tests__/unit/btc/BtcDeposit.test.ts +0 -253
  41. package/src/__tests__/unit/btc/BtcDepositAndDeploy.test.ts +0 -174
  42. package/src/__tests__/unit/btc/BtcDepositConfig.test.ts +0 -143
  43. package/src/__tests__/unit/btc/BtcDepositStatusTransition.test.ts +0 -221
  44. package/src/__tests__/unit/btc/BtcStakeAndDeploy.test.ts +0 -194
  45. package/src/__tests__/unit/btc/ExistingSignatureHandling.test.ts +0 -301
  46. package/src/__tests__/unit/btc/StakeAndBakeRatioConversion.test.ts +0 -200
  47. package/src/__tests__/unit/btc/StakeAndBakeSignatureRestore.test.ts +0 -216
  48. package/src/__tests__/unit/btc/TokenParameterConsistency.test.ts +0 -184
  49. package/src/__tests__/unit/btc/btc-deposit-token.test.ts +0 -191
  50. package/src/__tests__/unit/catalog/AssetCatalog.test.ts +0 -293
  51. package/src/__tests__/unit/config/ChainConfig.test.ts +0 -47
  52. package/src/__tests__/unit/config/FeeAuthConfig.test.ts +0 -76
  53. package/src/__tests__/unit/contract-functions/getLBTCMintingFee.test.ts +0 -128
  54. package/src/__tests__/unit/core/chain-parsing.test.ts +0 -257
  55. package/src/__tests__/unit/defi/AvailableProtocols.test.ts +0 -100
  56. package/src/__tests__/unit/defi/DefiRegistry.test.ts +0 -25
  57. package/src/__tests__/unit/evm/EvmDeploy.test.ts +0 -224
  58. package/src/__tests__/unit/evm/EvmRedeem.test.ts +0 -207
  59. package/src/__tests__/unit/evm/EvmRedeemFeeAuth.test.ts +0 -93
  60. package/src/__tests__/unit/evm/EvmStake.test.ts +0 -207
  61. package/src/__tests__/unit/evm/EvmStakeFeeAuth.test.ts +0 -193
  62. package/src/__tests__/unit/evm/EvmUnstakeAllowance.test.ts +0 -69
  63. package/src/__tests__/unit/evm/EvmUnstakeConfig.test.ts +0 -203
  64. package/src/__tests__/unit/fee-signature-expiration.test.ts +0 -76
  65. package/src/__tests__/unit/modules/CapabilityRegistry.test.ts +0 -55
  66. package/src/__tests__/unit/shared/BaseAction.test.ts +0 -122
  67. package/src/__tests__/unit/shared/BaseBtcAction.test.ts +0 -114
  68. package/src/__tests__/unit/solana/SolanaUnstake.test.ts +0 -314
  69. package/src/__tests__/unit/starknet/StarknetUnstake.test.ts +0 -318
  70. package/src/__tests__/unit/sui/SuiUnstake.test.ts +0 -310
  71. package/src/__tests__/unit/utils/satoshi.test.ts +0 -27
  72. package/src/__tests__/unit/validation/address-validation.test.ts +0 -350
  73. package/src/api-functions/generateDepositBtcAddress/generateDepositBtcAddress.stories.tsx +0 -71
  74. package/src/api-functions/generateDepositBtcAddress/generateDepositBtcAddress.ts +0 -235
  75. package/src/api-functions/generateDepositBtcAddress/index.ts +0 -1
  76. package/src/api-functions/get-badges-by-address/get-badges-by-address.ts +0 -13
  77. package/src/api-functions/get-badges-by-address/index.ts +0 -1
  78. package/src/api-functions/getDepositAddressReferrer/getDepositAddressReferrer.ts +0 -38
  79. package/src/api-functions/getDepositAddressReferrer/index.ts +0 -1
  80. package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.stories.tsx +0 -59
  81. package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.test.ts +0 -265
  82. package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.ts +0 -167
  83. package/src/api-functions/getDepositBtcAddress/getDepositBtcAddresses.stories.tsx +0 -58
  84. package/src/api-functions/getDepositBtcAddress/index.ts +0 -1
  85. package/src/api-functions/getDepositBtcAddress/make-request.ts +0 -59
  86. package/src/api-functions/getDepositBtcAddress/types.ts +0 -106
  87. package/src/api-functions/getDepositsByAddress/getDepositsByAddress.stories.tsx +0 -51
  88. package/src/api-functions/getDepositsByAddress/getDepositsByAddress.ts +0 -502
  89. package/src/api-functions/getDepositsByAddress/index.ts +0 -1
  90. package/src/api-functions/getLBTCExchangeRate/get-exchange-ratio.stories.tsx +0 -48
  91. package/src/api-functions/getLBTCExchangeRate/get-exchange-ratio.ts +0 -59
  92. package/src/api-functions/getLBTCExchangeRate/getLBTCExchangeRate.stories.tsx +0 -55
  93. package/src/api-functions/getLBTCExchangeRate/getLBTCExchangeRate.ts +0 -75
  94. package/src/api-functions/getLBTCExchangeRate/index.ts +0 -2
  95. package/src/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.stories.tsx +0 -59
  96. package/src/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.ts +0 -116
  97. package/src/api-functions/getNetworkFeeSignature/index.ts +0 -1
  98. package/src/api-functions/getPointsByAddress/getPointsByAddress.stories.tsx +0 -51
  99. package/src/api-functions/getPointsByAddress/getPointsByAddress.ts +0 -304
  100. package/src/api-functions/getPointsByAddress/index.ts +0 -1
  101. package/src/api-functions/getUnstakesByAddress/getUnstakesByAddress.stories.tsx +0 -51
  102. package/src/api-functions/getUnstakesByAddress/getUnstakesByAddress.ts +0 -368
  103. package/src/api-functions/getUnstakesByAddress/index.ts +0 -1
  104. package/src/api-functions/getUserStakeAndBakeSignature/getUserStakeAndBakeSignature.stories.tsx +0 -70
  105. package/src/api-functions/getUserStakeAndBakeSignature/getUserStakeAndBakeSignature.ts +0 -91
  106. package/src/api-functions/getUserStakeAndBakeSignature/index.ts +0 -1
  107. package/src/api-functions/index.ts +0 -11
  108. package/src/api-functions/setReferral/index.ts +0 -1
  109. package/src/api-functions/setReferral/setReferral.ts +0 -67
  110. package/src/api-functions/storeNetworkFeeSignature/index.ts +0 -1
  111. package/src/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.stories.tsx +0 -57
  112. package/src/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.ts +0 -75
  113. package/src/api-functions/storeStakeAndBakeSignature/index.ts +0 -1
  114. package/src/api-functions/storeStakeAndBakeSignature/storeStakeAndBakeSignature.stories.tsx +0 -57
  115. package/src/api-functions/storeStakeAndBakeSignature/storeStakeAndBakeSignature.ts +0 -61
  116. package/src/bridge/abi/CCIP_BRIDGE_ADAPTER_ABI.json +0 -704
  117. package/src/bridge/abi/CCIP_ROUTER_ABI.json +0 -702
  118. package/src/bridge/abi/OFT_BRIDGE_ADAPTER_ABI.json +0 -912
  119. package/src/bridge/index.ts +0 -16
  120. package/src/bridge/lib/bridge.stories.tsx +0 -90
  121. package/src/bridge/lib/bridge.ts +0 -115
  122. package/src/bridge/lib/ccip-bridge.stories.tsx +0 -91
  123. package/src/bridge/lib/ccip-bridge.ts +0 -214
  124. package/src/bridge/lib/ccip-config.ts +0 -54
  125. package/src/bridge/lib/config.ts +0 -384
  126. package/src/bridge/lib/oft-bridge.stories.tsx +0 -90
  127. package/src/bridge/lib/oft-bridge.ts +0 -217
  128. package/src/chains/btc/BtcActions.ts +0 -192
  129. package/src/chains/btc/actions/deposit/BtcDeposit.ts +0 -388
  130. package/src/chains/btc/actions/deposit/config/evm.ts +0 -197
  131. package/src/chains/btc/actions/deposit/config/index.ts +0 -53
  132. package/src/chains/btc/actions/deposit/config/types.ts +0 -108
  133. package/src/chains/btc/actions/deposit/factory.ts +0 -53
  134. package/src/chains/btc/actions/deposit/index.ts +0 -23
  135. package/src/chains/btc/actions/deposit/types.ts +0 -120
  136. package/src/chains/btc/actions/depositAndDeploy/BtcDepositAndDeploy.ts +0 -366
  137. package/src/chains/btc/actions/depositAndDeploy/config/evm.ts +0 -105
  138. package/src/chains/btc/actions/depositAndDeploy/config/index.ts +0 -111
  139. package/src/chains/btc/actions/depositAndDeploy/config/types.ts +0 -67
  140. package/src/chains/btc/actions/depositAndDeploy/factory.ts +0 -38
  141. package/src/chains/btc/actions/depositAndDeploy/index.ts +0 -24
  142. package/src/chains/btc/actions/depositAndDeploy/types.ts +0 -120
  143. package/src/chains/btc/actions/index.ts +0 -14
  144. package/src/chains/btc/actions/shared/BaseBtcAction.ts +0 -495
  145. package/src/chains/btc/actions/shared/index.ts +0 -28
  146. package/src/chains/btc/actions/shared/tokenUtils.ts +0 -68
  147. package/src/chains/btc/actions/shared/validation.ts +0 -180
  148. package/src/chains/btc/actions/stake/BtcStake.ts +0 -433
  149. package/src/chains/btc/actions/stake/__tests__/BtcStake.test.ts +0 -247
  150. package/src/chains/btc/actions/stake/config/evm.ts +0 -183
  151. package/src/chains/btc/actions/stake/config/index.ts +0 -122
  152. package/src/chains/btc/actions/stake/config/solana.ts +0 -96
  153. package/src/chains/btc/actions/stake/config/starknet.ts +0 -66
  154. package/src/chains/btc/actions/stake/config/sui.ts +0 -61
  155. package/src/chains/btc/actions/stake/config/types.ts +0 -165
  156. package/src/chains/btc/actions/stake/factory.ts +0 -53
  157. package/src/chains/btc/actions/stake/index.ts +0 -22
  158. package/src/chains/btc/actions/stake/types.ts +0 -175
  159. package/src/chains/btc/actions/stakeAndDeploy/BtcStakeAndDeploy.ts +0 -415
  160. package/src/chains/btc/actions/stakeAndDeploy/config/evm.ts +0 -135
  161. package/src/chains/btc/actions/stakeAndDeploy/config/index.ts +0 -119
  162. package/src/chains/btc/actions/stakeAndDeploy/config/types.ts +0 -93
  163. package/src/chains/btc/actions/stakeAndDeploy/factory.ts +0 -54
  164. package/src/chains/btc/actions/stakeAndDeploy/index.ts +0 -26
  165. package/src/chains/btc/actions/stakeAndDeploy/types.ts +0 -118
  166. package/src/chains/btc/client/getCurrentBlockHeight.ts +0 -28
  167. package/src/chains/btc/client/mempool/error.ts +0 -24
  168. package/src/chains/btc/client/mempool/mempool.ts +0 -23
  169. package/src/chains/btc/index.ts +0 -71
  170. package/src/chains/evm/EvmActions.ts +0 -185
  171. package/src/chains/evm/actions/deploy/EvmDeploy.ts +0 -256
  172. package/src/chains/evm/actions/deploy/config/evm.ts +0 -80
  173. package/src/chains/evm/actions/deploy/config/index.ts +0 -8
  174. package/src/chains/evm/actions/deploy/config/types.ts +0 -43
  175. package/src/chains/evm/actions/deploy/factory.ts +0 -44
  176. package/src/chains/evm/actions/deploy/index.ts +0 -17
  177. package/src/chains/evm/actions/deploy/types.ts +0 -74
  178. package/src/chains/evm/actions/deposit/EvmDeposit.ts +0 -159
  179. package/src/chains/evm/actions/deposit/config/evm.ts +0 -100
  180. package/src/chains/evm/actions/deposit/config/index.ts +0 -8
  181. package/src/chains/evm/actions/deposit/config/types.ts +0 -39
  182. package/src/chains/evm/actions/deposit/factory.ts +0 -44
  183. package/src/chains/evm/actions/deposit/index.ts +0 -17
  184. package/src/chains/evm/actions/deposit/types.ts +0 -87
  185. package/src/chains/evm/actions/index.ts +0 -67
  186. package/src/chains/evm/actions/redeem/EvmRedeem.ts +0 -263
  187. package/src/chains/evm/actions/redeem/config/evm.ts +0 -85
  188. package/src/chains/evm/actions/redeem/config/index.ts +0 -8
  189. package/src/chains/evm/actions/redeem/config/types.ts +0 -39
  190. package/src/chains/evm/actions/redeem/factory.ts +0 -43
  191. package/src/chains/evm/actions/redeem/index.ts +0 -17
  192. package/src/chains/evm/actions/redeem/types.ts +0 -93
  193. package/src/chains/evm/actions/stake/EvmStake.ts +0 -339
  194. package/src/chains/evm/actions/stake/config/evm.ts +0 -89
  195. package/src/chains/evm/actions/stake/config/index.ts +0 -8
  196. package/src/chains/evm/actions/stake/config/types.ts +0 -89
  197. package/src/chains/evm/actions/stake/factory.ts +0 -52
  198. package/src/chains/evm/actions/stake/index.ts +0 -30
  199. package/src/chains/evm/actions/stake/types.ts +0 -104
  200. package/src/chains/evm/actions/unstake/EvmUnstake.ts +0 -258
  201. package/src/chains/evm/actions/unstake/config/evm.ts +0 -123
  202. package/src/chains/evm/actions/unstake/config/index.ts +0 -13
  203. package/src/chains/evm/actions/unstake/config/types.ts +0 -37
  204. package/src/chains/evm/actions/unstake/factory.ts +0 -44
  205. package/src/chains/evm/actions/unstake/index.ts +0 -22
  206. package/src/chains/evm/actions/unstake/types.ts +0 -87
  207. package/src/chains/evm/index.ts +0 -16
  208. package/src/chains/evm/shared/feeAuth.ts +0 -198
  209. package/src/chains/evm/shared/index.ts +0 -7
  210. package/src/chains/solana/SolanaActions.ts +0 -85
  211. package/src/chains/solana/actions/index.ts +0 -7
  212. package/src/chains/solana/actions/unstake/SolanaUnstake.ts +0 -151
  213. package/src/chains/solana/actions/unstake/config/btc.ts +0 -47
  214. package/src/chains/solana/actions/unstake/config/index.ts +0 -8
  215. package/src/chains/solana/actions/unstake/config/solana.ts +0 -47
  216. package/src/chains/solana/actions/unstake/config/types.ts +0 -35
  217. package/src/chains/solana/actions/unstake/factory.ts +0 -34
  218. package/src/chains/solana/actions/unstake/index.ts +0 -14
  219. package/src/chains/solana/actions/unstake/types.ts +0 -58
  220. package/src/chains/solana/index.ts +0 -8
  221. package/src/chains/starknet/StarknetActions.ts +0 -85
  222. package/src/chains/starknet/actions/index.ts +0 -7
  223. package/src/chains/starknet/actions/unstake/StarknetUnstake.ts +0 -128
  224. package/src/chains/starknet/actions/unstake/config/btc.ts +0 -43
  225. package/src/chains/starknet/actions/unstake/config/index.ts +0 -8
  226. package/src/chains/starknet/actions/unstake/config/starknet.ts +0 -43
  227. package/src/chains/starknet/actions/unstake/config/types.ts +0 -27
  228. package/src/chains/starknet/actions/unstake/factory.ts +0 -32
  229. package/src/chains/starknet/actions/unstake/index.ts +0 -14
  230. package/src/chains/starknet/actions/unstake/types.ts +0 -57
  231. package/src/chains/starknet/index.ts +0 -8
  232. package/src/chains/sui/SuiActions.ts +0 -82
  233. package/src/chains/sui/actions/index.ts +0 -7
  234. package/src/chains/sui/actions/unstake/SuiUnstake.ts +0 -146
  235. package/src/chains/sui/actions/unstake/config/btc.ts +0 -43
  236. package/src/chains/sui/actions/unstake/config/index.ts +0 -8
  237. package/src/chains/sui/actions/unstake/config/sui.ts +0 -43
  238. package/src/chains/sui/actions/unstake/config/types.ts +0 -27
  239. package/src/chains/sui/actions/unstake/factory.ts +0 -32
  240. package/src/chains/sui/actions/unstake/index.ts +0 -14
  241. package/src/chains/sui/actions/unstake/types.ts +0 -57
  242. package/src/chains/sui/index.ts +0 -8
  243. package/src/client/ApiNamespace.ts +0 -302
  244. package/src/client/AssetNamespace.ts +0 -112
  245. package/src/client/LombardSDK.ts +0 -212
  246. package/src/client/PartnerConfiguration.ts +0 -50
  247. package/src/client/createConfig.ts +0 -90
  248. package/src/client/createLombardSDK.ts +0 -130
  249. package/src/clients/evm-signer-adapter.ts +0 -313
  250. package/src/clients/public-client.ts +0 -49
  251. package/src/clients/rpc-url-config.ts +0 -64
  252. package/src/clients/wallet-client.ts +0 -34
  253. package/src/common/api-config.ts +0 -48
  254. package/src/common/blockchain-identifier.ts +0 -217
  255. package/src/common/chains.stories.tsx +0 -68
  256. package/src/common/chains.ts +0 -449
  257. package/src/common/constants.ts +0 -1
  258. package/src/common/contract-info.ts +0 -9
  259. package/src/common/feature-config.ts +0 -79
  260. package/src/common/fee-requirements.ts +0 -34
  261. package/src/common/parameters.ts +0 -89
  262. package/src/config/defaults.ts +0 -49
  263. package/src/config/index.ts +0 -12
  264. package/src/config/providers.ts +0 -81
  265. package/src/config/types.ts +0 -216
  266. package/src/config/validation.ts +0 -69
  267. package/src/contract-functions/approveLBTC/approveLBTC.stories.tsx +0 -79
  268. package/src/contract-functions/approveLBTC/approveLBTC.ts +0 -66
  269. package/src/contract-functions/approveLBTC/index.ts +0 -1
  270. package/src/contract-functions/approveToken/approveToken.ts +0 -126
  271. package/src/contract-functions/approveToken/index.ts +0 -1
  272. package/src/contract-functions/claimLBTC/claimLBTC.stories.tsx +0 -82
  273. package/src/contract-functions/claimLBTC/claimLBTC.ts +0 -159
  274. package/src/contract-functions/claimLBTC/index.ts +0 -1
  275. package/src/contract-functions/claimUnstakeRedeem/claimUnstakeRedeem.ts +0 -95
  276. package/src/contract-functions/claimUnstakeRedeem/index.ts +0 -1
  277. package/src/contract-functions/deposit/depositToken.stories.tsx +0 -83
  278. package/src/contract-functions/deposit/depositToken.ts +0 -214
  279. package/src/contract-functions/deposit/index.ts +0 -1
  280. package/src/contract-functions/getBasculeDepositStatus/decodeBasculeDepositStatus.ts +0 -170
  281. package/src/contract-functions/getBasculeDepositStatus/getBasculeDepositStatus.stories.tsx +0 -62
  282. package/src/contract-functions/getBasculeDepositStatus/getBasculeDepositStatus.ts +0 -211
  283. package/src/contract-functions/getBasculeDepositStatus/index.ts +0 -2
  284. package/src/contract-functions/getLBTCMintingFee/getLBTCMintingFee.stories.tsx +0 -61
  285. package/src/contract-functions/getLBTCMintingFee/getLBTCMintingFee.ts +0 -193
  286. package/src/contract-functions/getLBTCMintingFee/index.ts +0 -1
  287. package/src/contract-functions/getLBTCTotalSupply/getLBTCTotalSupply.stories.tsx +0 -51
  288. package/src/contract-functions/getLBTCTotalSupply/getLBTCTotalSupply.ts +0 -40
  289. package/src/contract-functions/getLBTCTotalSupply/index.ts +0 -1
  290. package/src/contract-functions/getPermitNonce/getPermitNonce.stories.tsx +0 -56
  291. package/src/contract-functions/getPermitNonce/getPermitNonce.ts +0 -50
  292. package/src/contract-functions/getPermitNonce/index.ts +0 -1
  293. package/src/contract-functions/getShareValue/getShareValue.stories.tsx +0 -58
  294. package/src/contract-functions/getShareValue/getShareValue.ts +0 -59
  295. package/src/contract-functions/getShareValue/index.ts +0 -1
  296. package/src/contract-functions/getSharesByAddress/getSharesByAddress.stories.tsx +0 -65
  297. package/src/contract-functions/getSharesByAddress/getSharesByAddress.ts +0 -86
  298. package/src/contract-functions/getSharesByAddress/index.ts +0 -4
  299. package/src/contract-functions/getStakeAndBakeFee/__tests__/getStakeAndBakeFee.test.ts +0 -167
  300. package/src/contract-functions/getStakeAndBakeFee/getStakeAndBakeFee.stories.tsx +0 -180
  301. package/src/contract-functions/getStakeAndBakeFee/getStakeAndBakeFee.tsx +0 -101
  302. package/src/contract-functions/getStakeAndBakeFee/index.ts +0 -1
  303. package/src/contract-functions/index.ts +0 -21
  304. package/src/contract-functions/signLbtcDestionationAddr/index.ts +0 -1
  305. package/src/contract-functions/signLbtcDestionationAddr/signLbtcDestinationAddr.ts +0 -32
  306. package/src/contract-functions/signLbtcDestionationAddr/signLbtcDestionationAddr.stories.tsx +0 -64
  307. package/src/contract-functions/signNetworkFee/getTypedData.ts +0 -41
  308. package/src/contract-functions/signNetworkFee/index.ts +0 -1
  309. package/src/contract-functions/signNetworkFee/signNetworkFee.stories.tsx +0 -94
  310. package/src/contract-functions/signNetworkFee/signNetworkFee.ts +0 -106
  311. package/src/contract-functions/signStakeAndBake/__tests__/signStakeAndBake.test.ts +0 -888
  312. package/src/contract-functions/signStakeAndBake/handleApprove.ts +0 -81
  313. package/src/contract-functions/signStakeAndBake/handlePermit.ts +0 -28
  314. package/src/contract-functions/signStakeAndBake/index.ts +0 -2
  315. package/src/contract-functions/signStakeAndBake/signStakeAndBake.stories.tsx +0 -202
  316. package/src/contract-functions/signStakeAndBake/signStakeAndBake.ts +0 -160
  317. package/src/contract-functions/signStakeAndBake/typed-data-builder.ts +0 -137
  318. package/src/contract-functions/signStakeAndBake/utils.ts +0 -61
  319. package/src/contract-functions/signStakeAndBake/validation.ts +0 -124
  320. package/src/contract-functions/unstakeLBTC/index.ts +0 -1
  321. package/src/contract-functions/unstakeLBTC/unstakeLBTC.stories.tsx +0 -92
  322. package/src/contract-functions/unstakeLBTC/unstakeLBTC.ts +0 -396
  323. package/src/contracts/abis/index.ts +0 -29
  324. package/src/contracts/index.ts +0 -63
  325. package/src/contracts/types.ts +0 -143
  326. package/src/contracts/utils.ts +0 -288
  327. package/src/core/assets/catalog.ts +0 -343
  328. package/src/core/assets/index.ts +0 -40
  329. package/src/core/assets/types.ts +0 -142
  330. package/src/core/assets/utils.ts +0 -287
  331. package/src/core/chains/catalog.ts +0 -396
  332. package/src/core/chains/index.ts +0 -39
  333. package/src/core/chains/types.ts +0 -193
  334. package/src/core/chains/utils.ts +0 -245
  335. package/src/core/index.ts +0 -72
  336. package/src/core/types.ts +0 -126
  337. package/src/debug-api/btc-script-to-address.ts +0 -20
  338. package/src/debug-api/btc-tx-info.ts +0 -32
  339. package/src/debug-api/evm-by-btc-address.ts +0 -26
  340. package/src/debug-api/index.ts +0 -3
  341. package/src/defi/README.md +0 -517
  342. package/src/defi/defi-registry.stories.tsx +0 -527
  343. package/src/defi/defi-registry.ts +0 -295
  344. package/src/defi/index.ts +0 -17
  345. package/src/index.ts +0 -336
  346. package/src/metrics/get-additional-rewards.ts +0 -69
  347. package/src/metrics/get-lbtc-apy.ts +0 -74
  348. package/src/metrics/get-lbtc-stats.stories.tsx +0 -57
  349. package/src/metrics/get-lbtc-stats.ts +0 -59
  350. package/src/metrics/get-positions-summary.stories.tsx +0 -58
  351. package/src/metrics/get-positions-summary.ts +0 -132
  352. package/src/modules/CapabilityRegistry.ts +0 -125
  353. package/src/modules/apiModule.ts +0 -51
  354. package/src/modules/btcModule.ts +0 -43
  355. package/src/modules/evmModule.ts +0 -48
  356. package/src/modules/index.ts +0 -60
  357. package/src/referrals/ReferralsClient.ts +0 -34
  358. package/src/referrals/index.ts +0 -1
  359. package/src/services/ApiService.ts +0 -152
  360. package/src/services/BtcService.ts +0 -29
  361. package/src/services/EvmService.ts +0 -127
  362. package/src/services/index.ts +0 -43
  363. package/src/shared/__tests__/errors.test.ts +0 -185
  364. package/src/shared/__tests__/events.test.ts +0 -120
  365. package/src/shared/__tests__/types.test.ts +0 -155
  366. package/src/shared/actions/BaseAction.ts +0 -497
  367. package/src/shared/actions/__tests__/BaseAction.test.ts +0 -292
  368. package/src/shared/actions/index.ts +0 -9
  369. package/src/shared/constants/statusConstants.ts +0 -108
  370. package/src/shared/context/ContextBuilder.ts +0 -149
  371. package/src/shared/context/index.ts +0 -8
  372. package/src/shared/context/types.ts +0 -156
  373. package/src/shared/deposits/depositStatus.ts +0 -402
  374. package/src/shared/deposits/index.ts +0 -29
  375. package/src/shared/errors.ts +0 -405
  376. package/src/shared/events.ts +0 -260
  377. package/src/shared/evm/switchChain.ts +0 -109
  378. package/src/shared/index.ts +0 -54
  379. package/src/shared/monitoring/__tests__/createEventEmitter.test.ts +0 -150
  380. package/src/shared/monitoring/createEventEmitter.ts +0 -160
  381. package/src/shared/monitoring/createProgressEmitter.ts +0 -46
  382. package/src/shared/monitoring/depositMonitor.ts +0 -211
  383. package/src/shared/monitoring/index.ts +0 -25
  384. package/src/shared/validation/index.ts +0 -411
  385. package/src/stories/arg-types.ts +0 -38
  386. package/src/stories/components/Badge.tsx +0 -27
  387. package/src/stories/components/Button/Button.css +0 -10
  388. package/src/stories/components/Button/Button.tsx +0 -52
  389. package/src/stories/components/Button/index.ts +0 -1
  390. package/src/stories/components/Card.tsx +0 -18
  391. package/src/stories/components/CodeBlock/CodeBlock.tsx +0 -27
  392. package/src/stories/components/CodeBlock/CodeBlockStyles.css +0 -3
  393. package/src/stories/components/CodeBlock/index.ts +0 -1
  394. package/src/stories/components/ConnectButton/connect-button.tsx +0 -248
  395. package/src/stories/components/ConnectButton/index.ts +0 -1
  396. package/src/stories/components/JsonPreview.tsx +0 -84
  397. package/src/stories/components/Spinner/Spinner.tsx +0 -27
  398. package/src/stories/components/Spinner/index.ts +0 -1
  399. package/src/stories/components/StatsCard.tsx +0 -30
  400. package/src/stories/components/StatusIndicator.tsx +0 -37
  401. package/src/stories/components/TreeNode.tsx +0 -47
  402. package/src/stories/components/decorators/function-type.tsx +0 -63
  403. package/src/stories/components/decorators/index.ts +0 -2
  404. package/src/stories/components/decorators/wagmi-decorator.tsx +0 -92
  405. package/src/stories/components/error-block.tsx +0 -21
  406. package/src/stories/components/index.ts +0 -11
  407. package/src/stories/constants.ts +0 -3
  408. package/src/stories/hooks/useConnection.ts +0 -63
  409. package/src/stories/hooks/useQuery.ts +0 -57
  410. package/src/tokens/__tests__/token-addresses.test.ts +0 -551
  411. package/src/tokens/abi/ASSET_ROUTER_ABI.ts +0 -1966
  412. package/src/tokens/abi/BRIDGE_TOKEN_ADAPTER_ABI.ts +0 -1405
  413. package/src/tokens/abi/BTCK_ABI.ts +0 -1092
  414. package/src/tokens/abi/KATANA_BASCULE_ABI.ts +0 -653
  415. package/src/tokens/abi/LBTC_ABI.json +0 -1761
  416. package/src/tokens/abi/LBTC_ABI.ts +0 -1761
  417. package/src/tokens/abi/LBTC_BASCULE_ABI.json +0 -850
  418. package/src/tokens/abi/NATIVE_LBTC_ABI.ts +0 -1147
  419. package/src/tokens/abi/STLBTC_ABI.ts +0 -1062
  420. package/src/tokens/cross-chain-addresses.stories.tsx +0 -236
  421. package/src/tokens/denomination-utils.stories.tsx +0 -176
  422. package/src/tokens/getLbtcContractAddresses.stories.tsx +0 -158
  423. package/src/tokens/getTokenByAddress.stories.tsx +0 -172
  424. package/src/tokens/getTokenContractInfo.stories.tsx +0 -148
  425. package/src/tokens/getTokenInfo.stories.tsx +0 -133
  426. package/src/tokens/isUpgradedContract.stories.tsx +0 -124
  427. package/src/tokens/lbtc-addresses.ts +0 -18
  428. package/src/tokens/token-addresses.ts +0 -477
  429. package/src/tokens/tokens.ts +0 -249
  430. package/src/tokens/types.ts +0 -80
  431. package/src/utils/array.ts +0 -31
  432. package/src/utils/block.ts +0 -23
  433. package/src/utils/chain.ts +0 -152
  434. package/src/utils/consoleLogger.ts +0 -140
  435. package/src/utils/ensureNotSanctionedAddress.ts +0 -11
  436. package/src/utils/env.ts +0 -20
  437. package/src/utils/err.ts +0 -83
  438. package/src/utils/evmAccount.ts +0 -47
  439. package/src/utils/gas.ts +0 -36
  440. package/src/utils/hex.ts +0 -9
  441. package/src/utils/http.ts +0 -224
  442. package/src/utils/numbers.ts +0 -37
  443. package/src/utils/pagination.ts +0 -70
  444. package/src/utils/satoshi.ts +0 -41
  445. package/src/utils/time.ts +0 -12
  446. package/src/utils/transaction-executor.ts +0 -299
  447. package/src/vaults/abi/SILO_VAULT_SPENDER_ABI.json +0 -793
  448. package/src/vaults/abi/VEDA_VAULT_ABI.json +0 -452
  449. package/src/vaults/abi/VEDA_VAULT_ACCOUNTANT_ABI.json +0 -591
  450. package/src/vaults/abi/VEDA_VAULT_BASE_ASSET_ABI.json +0 -296
  451. package/src/vaults/abi/VEDA_VAULT_BORING_WITHDRAW_QUEUE_ABI.json +0 -502
  452. package/src/vaults/abi/VEDA_VAULT_LENS_ABI.json +0 -175
  453. package/src/vaults/abi/VEDA_VAULT_SPENDER_ABI.json +0 -408
  454. package/src/vaults/abi/VEDA_VAULT_TELLER_ABI.json +0 -700
  455. package/src/vaults/abi/index.ts +0 -4
  456. package/src/vaults/index.ts +0 -46
  457. package/src/vaults/lib/config.ts +0 -184
  458. package/src/vaults/lib/metrics/get-vault-apy.stories.tsx +0 -58
  459. package/src/vaults/lib/metrics/get-vault-apy.ts +0 -176
  460. package/src/vaults/lib/metrics/get-vault-points.stories.tsx +0 -60
  461. package/src/vaults/lib/metrics/get-vault-points.ts +0 -74
  462. package/src/vaults/lib/metrics/get-vault-tvl.stories.tsx +0 -58
  463. package/src/vaults/lib/metrics/get-vault-tvl.ts +0 -121
  464. package/src/vaults/lib/ops/cancel-withdraw.stories.tsx +0 -80
  465. package/src/vaults/lib/ops/deposit.stories.tsx +0 -82
  466. package/src/vaults/lib/ops/deposit.ts +0 -152
  467. package/src/vaults/lib/ops/get-vault-deposits.stories.tsx +0 -65
  468. package/src/vaults/lib/ops/get-vault-deposits.ts +0 -209
  469. package/src/vaults/lib/ops/get-vault-withdrawals.stories.tsx +0 -67
  470. package/src/vaults/lib/ops/get-vault-withdrawals.ts +0 -349
  471. package/src/vaults/lib/ops/withdraw.stories.tsx +0 -82
  472. package/src/vaults/lib/ops/withdraw.ts +0 -225
  473. package/src/version.ts +0 -56
  474. package/src/vite-env.d.ts +0 -1
@@ -1,66 +0,0 @@
1
- /**
2
- * Starknet Chain Configuration
3
- *
4
- * Handles Starknet destination chains (mainnet and Sepolia).
5
- * Uses Starknet wallet signing via the Starknet SDK module.
6
- * Note: Starknet requires address padding and returns a public key.
7
- *
8
- * BTC Stake: BTC → LBTC (yield-bearing staked BTC)
9
- * Supported chains derived from ASSET_CATALOG.
10
- *
11
- * @module chains/btc/actions/stake/config/starknet
12
- */
13
-
14
- import type { StarknetService } from '@lombard.finance/sdk-common';
15
- import { pad } from 'viem';
16
-
17
- import { AssetId, Chain, Env, getAllAssetChains } from '../../../../../core';
18
- import { starknetAddressSchema } from '../../../../../shared/validation';
19
- import { isStarknetChain } from '../../../../../utils/chain';
20
- import type { ChainConfig } from './types';
21
-
22
- /**
23
- * Starknet chain configuration for BTC stake
24
- *
25
- * Supports staking BTC to LBTC on Starknet.
26
- * Requires the @lombard.finance/sdk-starknet module to be installed.
27
- */
28
- export const starknetConfig: ChainConfig = {
29
- chainType: 'starknet',
30
-
31
- routes: [
32
- {
33
- sourceChains: [Chain.BITCOIN_MAINNET],
34
- envs: [Env.prod],
35
- },
36
- {
37
- sourceChains: [Chain.BITCOIN_SIGNET],
38
- envs: [Env.testnet, Env.stage, Env.dev, Env.ibc],
39
- },
40
- ],
41
-
42
- // Derived from ASSET_CATALOG - Starknet chains where LBTC is deployed
43
- destChains: getAllAssetChains(AssetId.LBTC).filter(chain =>
44
- isStarknetChain(chain),
45
- ),
46
-
47
- // BTC Stake only produces LBTC
48
- supportedAssetsOut: [AssetId.LBTC],
49
-
50
- addressSchema: starknetAddressSchema,
51
-
52
- // Starknet never requires fee authorization
53
- getFeeAuthConfig: () => null,
54
-
55
- async getSignature(ctx, recipient, chainId) {
56
- const starknet = ctx.capabilities.require('starknet') as StarknetService;
57
- const { signature, pubKey } = await starknet.signLbtcDestination({
58
- chainId: chainId as string,
59
- });
60
-
61
- // Starknet addresses need to be padded to 32 bytes
62
- const paddedAddress = pad(recipient as `0x${string}`, { size: 32 });
63
-
64
- return { signature, pubKey, paddedAddress };
65
- },
66
- };
@@ -1,61 +0,0 @@
1
- /**
2
- * Sui Chain Configuration
3
- *
4
- * Handles Sui destination chains (mainnet and testnet).
5
- * Uses Sui wallet signing via the Sui SDK module.
6
- *
7
- * BTC Stake: BTC → LBTC (yield-bearing staked BTC)
8
- * Supported chains derived from ASSET_CATALOG.
9
- *
10
- * @module chains/btc/actions/stake/config/sui
11
- */
12
-
13
- import type { SuiService } from '@lombard.finance/sdk-common';
14
-
15
- import { AssetId, Chain, Env, getAllAssetChains } from '../../../../../core';
16
- import { suiAddressSchema } from '../../../../../shared/validation';
17
- import { isSuiChain } from '../../../../../utils/chain';
18
- import type { ChainConfig } from './types';
19
-
20
- /**
21
- * Sui chain configuration for BTC stake
22
- *
23
- * Supports staking BTC to LBTC on Sui.
24
- * Requires the @lombard.finance/sdk-sui module to be installed.
25
- */
26
- export const suiConfig: ChainConfig = {
27
- chainType: 'sui',
28
-
29
- routes: [
30
- {
31
- sourceChains: [Chain.BITCOIN_MAINNET],
32
- envs: [Env.prod],
33
- },
34
- {
35
- sourceChains: [Chain.BITCOIN_SIGNET],
36
- envs: [Env.testnet, Env.stage, Env.dev, Env.ibc],
37
- },
38
- ],
39
-
40
- // Derived from ASSET_CATALOG - Sui chains where LBTC is deployed
41
- destChains: getAllAssetChains(AssetId.LBTC).filter(chain =>
42
- isSuiChain(chain),
43
- ),
44
-
45
- // BTC Stake only produces LBTC
46
- supportedAssetsOut: [AssetId.LBTC],
47
-
48
- addressSchema: suiAddressSchema,
49
-
50
- // Sui never requires fee authorization
51
- getFeeAuthConfig: () => null,
52
-
53
- async getSignature(ctx, _recipient, chainId) {
54
- const sui = ctx.capabilities.require('sui') as SuiService;
55
- const { signature } = await sui.signLbtcDestination({
56
- chainId: chainId as string,
57
- });
58
-
59
- return { signature };
60
- },
61
- };
@@ -1,165 +0,0 @@
1
- /**
2
- * Chain Configuration Types
3
- *
4
- * Defines the interface for destination chain configurations.
5
- * Each supported chain implements this interface to provide
6
- * chain-specific behavior for BTC stake operations.
7
- *
8
- * BTC Stake: BTC → LBTC (yield-bearing staked BTC)
9
- *
10
- * @module chains/btc/actions/stake/config/types
11
- */
12
-
13
- import type { z } from 'zod';
14
-
15
- import type { AssetId, Chain, ChainType, Env } from '../../../../../core';
16
- import type { BtcCoreContext } from '../../../../../shared/context';
17
-
18
- // ═══════════════════════════════════════════════════════════════════════════
19
- // Signature Result
20
- // ═══════════════════════════════════════════════════════════════════════════
21
-
22
- /**
23
- * Result from chain signature acquisition
24
- */
25
- export interface SignatureResult {
26
- /** The signature to use for deposit address generation */
27
- signature: string;
28
- /** EIP-712 typed data (for EVM fee authorization) */
29
- typedData?: string;
30
- /** Public key (required for Starknet) */
31
- pubKey?: string;
32
- /** Padded address if chain requires it (Starknet) */
33
- paddedAddress?: string;
34
- }
35
-
36
- /**
37
- * Stored fee signature result from restore operation
38
- *
39
- * Note: The API may return hasSignature: true but not the actual signature string.
40
- * The caller should check hasSignature to determine if a valid signature exists on the server.
41
- */
42
- export interface StoredFeeSignature {
43
- hasSignature: boolean;
44
- signature?: string;
45
- typedData?: string;
46
- expirationDate?: string;
47
- }
48
-
49
- /**
50
- * Fee authorization result
51
- */
52
- export interface FeeAuthResult {
53
- signature: string;
54
- typedData?: string;
55
- }
56
-
57
- // ═══════════════════════════════════════════════════════════════════════════
58
- // Route Definition
59
- // ═══════════════════════════════════════════════════════════════════════════
60
-
61
- /**
62
- * Route definition for a chain configuration
63
- */
64
- export interface RouteDefinition {
65
- /** Supported source chains (Bitcoin networks) */
66
- sourceChains: Chain[];
67
- /** Supported environments */
68
- envs: Env[];
69
- }
70
-
71
- // ═══════════════════════════════════════════════════════════════════════════
72
- // Fee Authorization Config
73
- // ═══════════════════════════════════════════════════════════════════════════
74
-
75
- /**
76
- * Fee authorization configuration
77
- *
78
- * When present, ALL methods are guaranteed to exist.
79
- * Used for chains that require fee authorization (e.g., Ethereum mainnet).
80
- */
81
- export interface FeeAuthConfig {
82
- /**
83
- * Get minting fee for display
84
- * Called in prepare() to fetch fee before authorization
85
- */
86
- getMintingFee: (ctx: BtcCoreContext, chainId: unknown) => Promise<string>;
87
-
88
- /**
89
- * Try to restore a stored fee signature (resume flow)
90
- * Called in prepare() before getMintingFee
91
- */
92
- restoreFeeSignature: (
93
- ctx: BtcCoreContext,
94
- chainId: unknown,
95
- address: string,
96
- ) => Promise<StoredFeeSignature | null>;
97
-
98
- /**
99
- * Authorize fee (EIP-712 signing)
100
- * Called in authorize() when fee auth is required
101
- */
102
- authorizeFee: (
103
- ctx: BtcCoreContext,
104
- params: { chainId: unknown; recipient: string; fee: string },
105
- ) => Promise<FeeAuthResult>;
106
- }
107
-
108
- // ═══════════════════════════════════════════════════════════════════════════
109
- // Chain Configuration
110
- // ═══════════════════════════════════════════════════════════════════════════
111
-
112
- /**
113
- * Chain-specific configuration for BTC stake operations
114
- *
115
- * Each supported destination chain type has a config that defines:
116
- * - Supported routes (source chains × environments)
117
- * - Supported destination chains
118
- * - Supported output assets (BTC Stake produces LBTC)
119
- * - How to validate addresses (via Zod schema)
120
- * - Fee authorization config (if required for this chain)
121
- * - How to acquire the destination signature
122
- */
123
- export interface ChainConfig {
124
- /** Chain type identifier */
125
- chainType: ChainType;
126
-
127
- /** Supported routes for this chain type */
128
- routes: RouteDefinition[];
129
-
130
- /** Supported destination chains */
131
- destChains: Chain[];
132
-
133
- /** Supported output assets - BTC Stake should only produce LBTC */
134
- supportedAssetsOut: AssetId[];
135
-
136
- /** Address validation Zod schema */
137
- addressSchema: z.ZodType<string>;
138
-
139
- /**
140
- * Get fee authorization config for a destination chain
141
- *
142
- * Returns FeeAuthConfig if fee auth is required for this destination,
143
- * null otherwise. When non-null, all FeeAuthConfig methods are guaranteed.
144
- *
145
- * @param destChain - Destination chain to check
146
- * @returns FeeAuthConfig or null
147
- */
148
- getFeeAuthConfig: (destChain: Chain) => FeeAuthConfig | null;
149
-
150
- /**
151
- * Acquire destination signature for deposit address generation
152
- *
153
- * Used for non-fee-auth chains or as fallback signature method.
154
- *
155
- * @param ctx - BTC core context with capabilities
156
- * @param recipient - Recipient address on destination chain
157
- * @param chainId - Parsed chain identifier
158
- * @returns Signature result with signature and optional metadata
159
- */
160
- getSignature: (
161
- ctx: BtcCoreContext,
162
- recipient: string,
163
- chainId: unknown,
164
- ) => Promise<SignatureResult>;
165
- }
@@ -1,53 +0,0 @@
1
- /**
2
- * BTC Stake Factory Functions
3
- *
4
- * Provides factory functions for creating BtcStake instances.
5
- * Separates instantiation from the main class.
6
- *
7
- * @module chains/btc/actions/stake/factory
8
- */
9
-
10
- import type { LombardConfig } from '../../../../config/types';
11
- import type { BtcCoreContext } from '../../../../shared/context';
12
- import { createBtcCoreContext } from '../../../../shared/context';
13
- import { BtcStake } from './BtcStake';
14
- import type { BtcStakeParams } from './types';
15
-
16
- /**
17
- * Create BtcStake action from config
18
- *
19
- * @internal This factory is for internal use. Use createLombardSDK() instead:
20
- *
21
- * @example
22
- * ```typescript
23
- * const sdk = await createLombardSDK({ env: Env.prod, providers: { ... } });
24
- * const stake = sdk.chain.btc.stake({
25
- * assetOut: AssetId.LBTC,
26
- * destChain: Chain.ETHEREUM,
27
- * });
28
- * await stake.prepare({ amount: '0.1', recipient: '0x...' });
29
- * ```
30
- */
31
- export function btcStake(
32
- config: LombardConfig,
33
- params: BtcStakeParams,
34
- ): BtcStake {
35
- const ctx = createBtcCoreContext(config);
36
- return new BtcStake(ctx, params);
37
- }
38
-
39
- /**
40
- * Create BtcStake action from context
41
- *
42
- * Use this when you already have a BtcCoreContext (e.g., in BtcActions).
43
- *
44
- * @param ctx - BtcCoreContext
45
- * @param params - Stake parameters
46
- * @returns BtcStake instance
47
- */
48
- export function createBtcStake(
49
- ctx: BtcCoreContext,
50
- params: BtcStakeParams,
51
- ): BtcStake {
52
- return new BtcStake(ctx, params);
53
- }
@@ -1,22 +0,0 @@
1
- /**
2
- * BTC Stake Action Exports
3
- *
4
- * @module chains/btc/actions/stake
5
- */
6
-
7
- // Main action class
8
- export { BtcStake } from './BtcStake';
9
-
10
- // Factory functions
11
- export { btcStake, createBtcStake } from './factory';
12
-
13
- // Types
14
- export type {
15
- BtcStakeParams,
16
- BtcStakeProgress,
17
- BtcStake as IBtcStake,
18
- } from './types';
19
- export { BtcActionStatus } from './types';
20
-
21
- // Configuration types (for advanced usage / extending)
22
- export type { ChainConfig, RouteDefinition, SignatureResult } from './config';
@@ -1,175 +0,0 @@
1
- /**
2
- * BTC Stake Action Types
3
- *
4
- * Defines types for the BTC → LBTC staking flow.
5
- *
6
- * @module chains/btc/actions/stake/types
7
- */
8
-
9
- import type {
10
- AssetId,
11
- Chain,
12
- StepStatus,
13
- StrategyProgress,
14
- } from '../../../../core';
15
- import type { MonitorableAction } from '../../../../shared/actions/BaseAction';
16
- import { BtcActionStatus } from '../../../../shared/constants/statusConstants';
17
- import type { MonitorProgress } from '../../../../shared/monitoring';
18
-
19
- // Re-export for convenience (single export statement avoids duplicate identifier)
20
- export { BtcActionStatus };
21
-
22
- /**
23
- * BTC Stake parameters
24
- *
25
- * Parameters for initiating a BTC stake operation.
26
- */
27
- export interface BtcStakeParams {
28
- /** Output asset (LBTC) */
29
- assetOut: AssetId;
30
- /** Destination chain to mint LBTC on */
31
- destChain: Chain;
32
- /** Source Bitcoin network (optional, defaults based on env) */
33
- sourceChain?: typeof Chain.BITCOIN_MAINNET | typeof Chain.BITCOIN_SIGNET;
34
- }
35
-
36
- /**
37
- * BTC Stake progress
38
- *
39
- * Detailed progress information for a BTC stake operation.
40
- */
41
- export interface BtcStakeProgress extends StrategyProgress<BtcActionStatus> {
42
- /** Current status */
43
- status: BtcActionStatus;
44
-
45
- /** Step statuses */
46
- steps: {
47
- created: StepStatus;
48
- verifying: StepStatus;
49
- issuing: StepStatus;
50
- };
51
-
52
- /** Optional: Current confirmations */
53
- confirmations?: number;
54
-
55
- /** Optional: Required confirmations */
56
- requiredConfirmations?: number;
57
-
58
- /** Optional: Has enough confirmations */
59
- hasEnoughConfirmations?: boolean;
60
-
61
- /** Optional: Is minting claimed */
62
- isClaimed?: boolean;
63
-
64
- /** Optional: BTC deposit address */
65
- depositAddress?: string;
66
-
67
- /** Optional: Additional metadata */
68
- metadata?: Record<string, unknown>;
69
- }
70
-
71
- /**
72
- * BTC Stake interface
73
- *
74
- * Interface for BTC → LBTC staking operations.
75
- *
76
- * Flow:
77
- * 1. prepare(amount, recipient) - Validate and store parameters
78
- * 2. authorize() - Performs any required authorization (fee or address confirmation)
79
- * 3. generateDepositAddress() - Generate BTC deposit address
80
- * 4. execute() - Returns address for user to send BTC
81
- * 5. Monitor progress via events
82
- *
83
- * @example
84
- * ```typescript
85
- * const stake = sdk.chain.btc.stake({
86
- * assetOut: AssetId.LBTC,
87
- * destChain: Chain.ETHEREUM,
88
- * });
89
- *
90
- * await stake.prepare({ amount: '0.1', recipient: '0x...' });
91
- * await stake.authorize();
92
- * const address = await stake.generateDepositAddress();
93
- *
94
- * // User sends BTC to address
95
- * // Monitor progress
96
- * stake.on('progress', (progress) => {
97
- * console.log(progress.confirmations, progress.requiredConfirmations);
98
- * });
99
- * ```
100
- */
101
- export interface BtcStake extends MonitorableAction {
102
- /** Current status */
103
- readonly status: BtcActionStatus;
104
-
105
- /** Amount to stake (human-readable BTC) */
106
- readonly amount?: string;
107
-
108
- /** Recipient address on destination chain */
109
- readonly recipient?: string;
110
-
111
- /** BTC deposit address (after generation) */
112
- readonly depositAddress?: string;
113
-
114
- /** Referral code applied during prepare(), if any */
115
- readonly referralCode?: string;
116
-
117
- /**
118
- * Prepare the stake operation
119
- *
120
- * Validates amount and recipient, checks for existing fee authorization.
121
- *
122
- * @param params - Object containing amount and recipient
123
- * @param params.amount - Amount to stake (human-readable BTC, e.g., "0.1")
124
- * @param params.recipient - Recipient address on destination chain
125
- * @param params.referralCode - Optional referral code
126
- * @throws LombardError if parameters are invalid
127
- */
128
- prepare(params: {
129
- amount: string;
130
- recipient: string;
131
- referralCode?: string;
132
- }): Promise<void>;
133
-
134
- /**
135
- * Authorize the stake operation
136
- *
137
- * Handles any required authorization step depending on destination chain.
138
- * For Ethereum destinations this requests an EIP-712 fee signature; for
139
- * other EVM chains it confirms the destination address signature.
140
- *
141
- * @throws LombardError if the user rejects or provider fails
142
- */
143
- authorize(): Promise<void>;
144
-
145
- /**
146
- * Generate BTC deposit address
147
- *
148
- * Creates a unique BTC deposit address for this stake operation.
149
- * Requires authorization to be completed first.
150
- *
151
- * @returns BTC deposit address (bc1...)
152
- * @throws LombardError if not authorized or API fails
153
- */
154
- generateDepositAddress(): Promise<string>;
155
-
156
- /**
157
- * Execute the stake operation
158
- *
159
- * Returns the deposit address. User should send BTC to this address.
160
- * Progress can be monitored via events.
161
- *
162
- * @returns Object with depositAddress and optional txHash
163
- */
164
- execute(): Promise<{ depositAddress: string; txHash?: string }>;
165
-
166
- /**
167
- * Monitor deposit progress
168
- *
169
- * Single-shot check for deposit status. Call repeatedly for continuous monitoring.
170
- * Emits progress events and completion when deposit is fully claimed.
171
- *
172
- * @returns Progress information or undefined if deposit not found yet
173
- */
174
- monitorDeposit?(): Promise<MonitorProgress | undefined>;
175
- }