@lombard.finance/sdk 4.0.0 → 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 (467) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/common/feature-config.d.ts.map +1 -1
  3. package/dist/index2.cjs +6 -6
  4. package/dist/index2.js +762 -754
  5. package/package.json +7 -8
  6. package/src/__tests__/AssetNamespace.spec.ts +0 -234
  7. package/src/__tests__/helpers/createTestConfig.ts +0 -90
  8. package/src/__tests__/integration/automint-fee.integration.test.ts +0 -74
  9. package/src/__tests__/integration/btc-deposit.integration.test.ts +0 -109
  10. package/src/__tests__/integration/btc-stake-and-deploy.integration.test.ts +0 -96
  11. package/src/__tests__/integration/btc-stake.integration.test.ts +0 -466
  12. package/src/__tests__/integration/evm-actions.integration.test.ts +0 -932
  13. package/src/__tests__/integration/evm-deploy.integration.test.ts +0 -122
  14. package/src/__tests__/integration/evm-redeem.integration.test.ts +0 -157
  15. package/src/__tests__/integration/faq-patterns.integration.test.ts +0 -465
  16. package/src/__tests__/integration/getLBTCMintingFee.integration.test.ts +0 -195
  17. package/src/__tests__/real-wallet/btc/btc-stake.real.test.ts +0 -70
  18. package/src/__tests__/real-wallet/evm/evm-stake.real.test.ts +0 -47
  19. package/src/__tests__/real-wallet/evm/evm-unstake.real.test.ts +0 -49
  20. package/src/__tests__/real-wallet/non-evm/solana-unstake.real.test.ts +0 -19
  21. package/src/__tests__/real-wallet/non-evm/starknet-unstake.real.test.ts +0 -19
  22. package/src/__tests__/real-wallet/non-evm/sui-unstake.real.test.ts +0 -19
  23. package/src/__tests__/services/ApiService.test.ts +0 -62
  24. package/src/__tests__/services/BtcService.test.ts +0 -30
  25. package/src/__tests__/services/EvmService.test.ts +0 -39
  26. package/src/__tests__/setup.ts +0 -16
  27. package/src/__tests__/test-utils/eip1193-adapter.ts +0 -48
  28. package/src/__tests__/test-utils/evm-wallet.ts +0 -38
  29. package/src/__tests__/test-utils/solana-wallet.ts +0 -22
  30. package/src/__tests__/test-utils/starknet-wallet.ts +0 -9
  31. package/src/__tests__/test-utils/sui-wallet.ts +0 -14
  32. package/src/__tests__/test-utils/test-constraints.ts +0 -110
  33. package/src/__tests__/unit/btc/BtcDeposit.test.ts +0 -253
  34. package/src/__tests__/unit/btc/BtcDepositAndDeploy.test.ts +0 -174
  35. package/src/__tests__/unit/btc/BtcDepositConfig.test.ts +0 -143
  36. package/src/__tests__/unit/btc/BtcDepositStatusTransition.test.ts +0 -221
  37. package/src/__tests__/unit/btc/BtcStakeAndDeploy.test.ts +0 -194
  38. package/src/__tests__/unit/btc/ExistingSignatureHandling.test.ts +0 -301
  39. package/src/__tests__/unit/btc/StakeAndBakeRatioConversion.test.ts +0 -200
  40. package/src/__tests__/unit/btc/StakeAndBakeSignatureRestore.test.ts +0 -216
  41. package/src/__tests__/unit/btc/TokenParameterConsistency.test.ts +0 -184
  42. package/src/__tests__/unit/btc/btc-deposit-token.test.ts +0 -191
  43. package/src/__tests__/unit/catalog/AssetCatalog.test.ts +0 -293
  44. package/src/__tests__/unit/config/ChainConfig.test.ts +0 -47
  45. package/src/__tests__/unit/config/FeeAuthConfig.test.ts +0 -76
  46. package/src/__tests__/unit/contract-functions/getLBTCMintingFee.test.ts +0 -128
  47. package/src/__tests__/unit/core/chain-parsing.test.ts +0 -257
  48. package/src/__tests__/unit/defi/AvailableProtocols.test.ts +0 -100
  49. package/src/__tests__/unit/defi/DefiRegistry.test.ts +0 -25
  50. package/src/__tests__/unit/evm/EvmDeploy.test.ts +0 -224
  51. package/src/__tests__/unit/evm/EvmRedeem.test.ts +0 -207
  52. package/src/__tests__/unit/evm/EvmRedeemFeeAuth.test.ts +0 -93
  53. package/src/__tests__/unit/evm/EvmStake.test.ts +0 -207
  54. package/src/__tests__/unit/evm/EvmStakeFeeAuth.test.ts +0 -193
  55. package/src/__tests__/unit/evm/EvmUnstakeAllowance.test.ts +0 -69
  56. package/src/__tests__/unit/evm/EvmUnstakeConfig.test.ts +0 -203
  57. package/src/__tests__/unit/fee-signature-expiration.test.ts +0 -76
  58. package/src/__tests__/unit/modules/CapabilityRegistry.test.ts +0 -55
  59. package/src/__tests__/unit/shared/BaseAction.test.ts +0 -122
  60. package/src/__tests__/unit/shared/BaseBtcAction.test.ts +0 -114
  61. package/src/__tests__/unit/solana/SolanaUnstake.test.ts +0 -314
  62. package/src/__tests__/unit/starknet/StarknetUnstake.test.ts +0 -318
  63. package/src/__tests__/unit/sui/SuiUnstake.test.ts +0 -310
  64. package/src/__tests__/unit/utils/satoshi.test.ts +0 -27
  65. package/src/__tests__/unit/validation/address-validation.test.ts +0 -350
  66. package/src/api-functions/generateDepositBtcAddress/generateDepositBtcAddress.stories.tsx +0 -71
  67. package/src/api-functions/generateDepositBtcAddress/generateDepositBtcAddress.ts +0 -235
  68. package/src/api-functions/generateDepositBtcAddress/index.ts +0 -1
  69. package/src/api-functions/get-badges-by-address/get-badges-by-address.ts +0 -13
  70. package/src/api-functions/get-badges-by-address/index.ts +0 -1
  71. package/src/api-functions/getDepositAddressReferrer/getDepositAddressReferrer.ts +0 -38
  72. package/src/api-functions/getDepositAddressReferrer/index.ts +0 -1
  73. package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.stories.tsx +0 -59
  74. package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.test.ts +0 -265
  75. package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.ts +0 -167
  76. package/src/api-functions/getDepositBtcAddress/getDepositBtcAddresses.stories.tsx +0 -58
  77. package/src/api-functions/getDepositBtcAddress/index.ts +0 -1
  78. package/src/api-functions/getDepositBtcAddress/make-request.ts +0 -59
  79. package/src/api-functions/getDepositBtcAddress/types.ts +0 -106
  80. package/src/api-functions/getDepositsByAddress/getDepositsByAddress.stories.tsx +0 -51
  81. package/src/api-functions/getDepositsByAddress/getDepositsByAddress.ts +0 -502
  82. package/src/api-functions/getDepositsByAddress/index.ts +0 -1
  83. package/src/api-functions/getLBTCExchangeRate/get-exchange-ratio.stories.tsx +0 -48
  84. package/src/api-functions/getLBTCExchangeRate/get-exchange-ratio.ts +0 -59
  85. package/src/api-functions/getLBTCExchangeRate/getLBTCExchangeRate.stories.tsx +0 -55
  86. package/src/api-functions/getLBTCExchangeRate/getLBTCExchangeRate.ts +0 -75
  87. package/src/api-functions/getLBTCExchangeRate/index.ts +0 -2
  88. package/src/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.stories.tsx +0 -59
  89. package/src/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.ts +0 -116
  90. package/src/api-functions/getNetworkFeeSignature/index.ts +0 -1
  91. package/src/api-functions/getPointsByAddress/getPointsByAddress.stories.tsx +0 -51
  92. package/src/api-functions/getPointsByAddress/getPointsByAddress.ts +0 -304
  93. package/src/api-functions/getPointsByAddress/index.ts +0 -1
  94. package/src/api-functions/getUnstakesByAddress/getUnstakesByAddress.stories.tsx +0 -51
  95. package/src/api-functions/getUnstakesByAddress/getUnstakesByAddress.ts +0 -368
  96. package/src/api-functions/getUnstakesByAddress/index.ts +0 -1
  97. package/src/api-functions/getUserStakeAndBakeSignature/getUserStakeAndBakeSignature.stories.tsx +0 -70
  98. package/src/api-functions/getUserStakeAndBakeSignature/getUserStakeAndBakeSignature.ts +0 -91
  99. package/src/api-functions/getUserStakeAndBakeSignature/index.ts +0 -1
  100. package/src/api-functions/index.ts +0 -11
  101. package/src/api-functions/setReferral/index.ts +0 -1
  102. package/src/api-functions/setReferral/setReferral.ts +0 -67
  103. package/src/api-functions/storeNetworkFeeSignature/index.ts +0 -1
  104. package/src/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.stories.tsx +0 -57
  105. package/src/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.ts +0 -75
  106. package/src/api-functions/storeStakeAndBakeSignature/index.ts +0 -1
  107. package/src/api-functions/storeStakeAndBakeSignature/storeStakeAndBakeSignature.stories.tsx +0 -57
  108. package/src/api-functions/storeStakeAndBakeSignature/storeStakeAndBakeSignature.ts +0 -61
  109. package/src/bridge/abi/CCIP_BRIDGE_ADAPTER_ABI.json +0 -704
  110. package/src/bridge/abi/CCIP_ROUTER_ABI.json +0 -702
  111. package/src/bridge/abi/OFT_BRIDGE_ADAPTER_ABI.json +0 -912
  112. package/src/bridge/index.ts +0 -16
  113. package/src/bridge/lib/bridge.stories.tsx +0 -90
  114. package/src/bridge/lib/bridge.ts +0 -115
  115. package/src/bridge/lib/ccip-bridge.stories.tsx +0 -91
  116. package/src/bridge/lib/ccip-bridge.ts +0 -214
  117. package/src/bridge/lib/ccip-config.ts +0 -54
  118. package/src/bridge/lib/config.ts +0 -384
  119. package/src/bridge/lib/oft-bridge.stories.tsx +0 -90
  120. package/src/bridge/lib/oft-bridge.ts +0 -217
  121. package/src/chains/btc/BtcActions.ts +0 -192
  122. package/src/chains/btc/actions/deposit/BtcDeposit.ts +0 -388
  123. package/src/chains/btc/actions/deposit/config/evm.ts +0 -197
  124. package/src/chains/btc/actions/deposit/config/index.ts +0 -53
  125. package/src/chains/btc/actions/deposit/config/types.ts +0 -108
  126. package/src/chains/btc/actions/deposit/factory.ts +0 -53
  127. package/src/chains/btc/actions/deposit/index.ts +0 -23
  128. package/src/chains/btc/actions/deposit/types.ts +0 -120
  129. package/src/chains/btc/actions/depositAndDeploy/BtcDepositAndDeploy.ts +0 -366
  130. package/src/chains/btc/actions/depositAndDeploy/config/evm.ts +0 -105
  131. package/src/chains/btc/actions/depositAndDeploy/config/index.ts +0 -111
  132. package/src/chains/btc/actions/depositAndDeploy/config/types.ts +0 -67
  133. package/src/chains/btc/actions/depositAndDeploy/factory.ts +0 -38
  134. package/src/chains/btc/actions/depositAndDeploy/index.ts +0 -24
  135. package/src/chains/btc/actions/depositAndDeploy/types.ts +0 -120
  136. package/src/chains/btc/actions/index.ts +0 -14
  137. package/src/chains/btc/actions/shared/BaseBtcAction.ts +0 -495
  138. package/src/chains/btc/actions/shared/index.ts +0 -28
  139. package/src/chains/btc/actions/shared/tokenUtils.ts +0 -68
  140. package/src/chains/btc/actions/shared/validation.ts +0 -180
  141. package/src/chains/btc/actions/stake/BtcStake.ts +0 -433
  142. package/src/chains/btc/actions/stake/__tests__/BtcStake.test.ts +0 -247
  143. package/src/chains/btc/actions/stake/config/evm.ts +0 -183
  144. package/src/chains/btc/actions/stake/config/index.ts +0 -122
  145. package/src/chains/btc/actions/stake/config/solana.ts +0 -96
  146. package/src/chains/btc/actions/stake/config/starknet.ts +0 -66
  147. package/src/chains/btc/actions/stake/config/sui.ts +0 -61
  148. package/src/chains/btc/actions/stake/config/types.ts +0 -165
  149. package/src/chains/btc/actions/stake/factory.ts +0 -53
  150. package/src/chains/btc/actions/stake/index.ts +0 -22
  151. package/src/chains/btc/actions/stake/types.ts +0 -175
  152. package/src/chains/btc/actions/stakeAndDeploy/BtcStakeAndDeploy.ts +0 -415
  153. package/src/chains/btc/actions/stakeAndDeploy/config/evm.ts +0 -135
  154. package/src/chains/btc/actions/stakeAndDeploy/config/index.ts +0 -119
  155. package/src/chains/btc/actions/stakeAndDeploy/config/types.ts +0 -93
  156. package/src/chains/btc/actions/stakeAndDeploy/factory.ts +0 -54
  157. package/src/chains/btc/actions/stakeAndDeploy/index.ts +0 -26
  158. package/src/chains/btc/actions/stakeAndDeploy/types.ts +0 -118
  159. package/src/chains/btc/client/getCurrentBlockHeight.ts +0 -28
  160. package/src/chains/btc/client/mempool/error.ts +0 -24
  161. package/src/chains/btc/client/mempool/mempool.ts +0 -23
  162. package/src/chains/btc/index.ts +0 -71
  163. package/src/chains/evm/EvmActions.ts +0 -185
  164. package/src/chains/evm/actions/deploy/EvmDeploy.ts +0 -256
  165. package/src/chains/evm/actions/deploy/config/evm.ts +0 -80
  166. package/src/chains/evm/actions/deploy/config/index.ts +0 -8
  167. package/src/chains/evm/actions/deploy/config/types.ts +0 -43
  168. package/src/chains/evm/actions/deploy/factory.ts +0 -44
  169. package/src/chains/evm/actions/deploy/index.ts +0 -17
  170. package/src/chains/evm/actions/deploy/types.ts +0 -74
  171. package/src/chains/evm/actions/deposit/EvmDeposit.ts +0 -159
  172. package/src/chains/evm/actions/deposit/config/evm.ts +0 -100
  173. package/src/chains/evm/actions/deposit/config/index.ts +0 -8
  174. package/src/chains/evm/actions/deposit/config/types.ts +0 -39
  175. package/src/chains/evm/actions/deposit/factory.ts +0 -44
  176. package/src/chains/evm/actions/deposit/index.ts +0 -17
  177. package/src/chains/evm/actions/deposit/types.ts +0 -87
  178. package/src/chains/evm/actions/index.ts +0 -67
  179. package/src/chains/evm/actions/redeem/EvmRedeem.ts +0 -263
  180. package/src/chains/evm/actions/redeem/config/evm.ts +0 -85
  181. package/src/chains/evm/actions/redeem/config/index.ts +0 -8
  182. package/src/chains/evm/actions/redeem/config/types.ts +0 -39
  183. package/src/chains/evm/actions/redeem/factory.ts +0 -43
  184. package/src/chains/evm/actions/redeem/index.ts +0 -17
  185. package/src/chains/evm/actions/redeem/types.ts +0 -93
  186. package/src/chains/evm/actions/stake/EvmStake.ts +0 -339
  187. package/src/chains/evm/actions/stake/config/evm.ts +0 -89
  188. package/src/chains/evm/actions/stake/config/index.ts +0 -8
  189. package/src/chains/evm/actions/stake/config/types.ts +0 -89
  190. package/src/chains/evm/actions/stake/factory.ts +0 -52
  191. package/src/chains/evm/actions/stake/index.ts +0 -30
  192. package/src/chains/evm/actions/stake/types.ts +0 -104
  193. package/src/chains/evm/actions/unstake/EvmUnstake.ts +0 -258
  194. package/src/chains/evm/actions/unstake/config/evm.ts +0 -123
  195. package/src/chains/evm/actions/unstake/config/index.ts +0 -13
  196. package/src/chains/evm/actions/unstake/config/types.ts +0 -37
  197. package/src/chains/evm/actions/unstake/factory.ts +0 -44
  198. package/src/chains/evm/actions/unstake/index.ts +0 -22
  199. package/src/chains/evm/actions/unstake/types.ts +0 -87
  200. package/src/chains/evm/index.ts +0 -16
  201. package/src/chains/evm/shared/feeAuth.ts +0 -198
  202. package/src/chains/evm/shared/index.ts +0 -7
  203. package/src/chains/solana/SolanaActions.ts +0 -85
  204. package/src/chains/solana/actions/index.ts +0 -7
  205. package/src/chains/solana/actions/unstake/SolanaUnstake.ts +0 -151
  206. package/src/chains/solana/actions/unstake/config/btc.ts +0 -47
  207. package/src/chains/solana/actions/unstake/config/index.ts +0 -8
  208. package/src/chains/solana/actions/unstake/config/solana.ts +0 -47
  209. package/src/chains/solana/actions/unstake/config/types.ts +0 -35
  210. package/src/chains/solana/actions/unstake/factory.ts +0 -34
  211. package/src/chains/solana/actions/unstake/index.ts +0 -14
  212. package/src/chains/solana/actions/unstake/types.ts +0 -58
  213. package/src/chains/solana/index.ts +0 -8
  214. package/src/chains/starknet/StarknetActions.ts +0 -85
  215. package/src/chains/starknet/actions/index.ts +0 -7
  216. package/src/chains/starknet/actions/unstake/StarknetUnstake.ts +0 -128
  217. package/src/chains/starknet/actions/unstake/config/btc.ts +0 -43
  218. package/src/chains/starknet/actions/unstake/config/index.ts +0 -8
  219. package/src/chains/starknet/actions/unstake/config/starknet.ts +0 -43
  220. package/src/chains/starknet/actions/unstake/config/types.ts +0 -27
  221. package/src/chains/starknet/actions/unstake/factory.ts +0 -32
  222. package/src/chains/starknet/actions/unstake/index.ts +0 -14
  223. package/src/chains/starknet/actions/unstake/types.ts +0 -57
  224. package/src/chains/starknet/index.ts +0 -8
  225. package/src/chains/sui/SuiActions.ts +0 -82
  226. package/src/chains/sui/actions/index.ts +0 -7
  227. package/src/chains/sui/actions/unstake/SuiUnstake.ts +0 -146
  228. package/src/chains/sui/actions/unstake/config/btc.ts +0 -43
  229. package/src/chains/sui/actions/unstake/config/index.ts +0 -8
  230. package/src/chains/sui/actions/unstake/config/sui.ts +0 -43
  231. package/src/chains/sui/actions/unstake/config/types.ts +0 -27
  232. package/src/chains/sui/actions/unstake/factory.ts +0 -32
  233. package/src/chains/sui/actions/unstake/index.ts +0 -14
  234. package/src/chains/sui/actions/unstake/types.ts +0 -57
  235. package/src/chains/sui/index.ts +0 -8
  236. package/src/client/ApiNamespace.ts +0 -302
  237. package/src/client/AssetNamespace.ts +0 -112
  238. package/src/client/LombardSDK.ts +0 -212
  239. package/src/client/PartnerConfiguration.ts +0 -50
  240. package/src/client/createConfig.ts +0 -90
  241. package/src/client/createLombardSDK.ts +0 -130
  242. package/src/clients/evm-signer-adapter.ts +0 -313
  243. package/src/clients/public-client.ts +0 -49
  244. package/src/clients/rpc-url-config.ts +0 -64
  245. package/src/clients/wallet-client.ts +0 -34
  246. package/src/common/api-config.ts +0 -48
  247. package/src/common/blockchain-identifier.ts +0 -217
  248. package/src/common/chains.stories.tsx +0 -68
  249. package/src/common/chains.ts +0 -449
  250. package/src/common/constants.ts +0 -1
  251. package/src/common/contract-info.ts +0 -9
  252. package/src/common/feature-config.ts +0 -79
  253. package/src/common/fee-requirements.ts +0 -34
  254. package/src/common/parameters.ts +0 -89
  255. package/src/config/defaults.ts +0 -49
  256. package/src/config/index.ts +0 -12
  257. package/src/config/providers.ts +0 -81
  258. package/src/config/types.ts +0 -216
  259. package/src/config/validation.ts +0 -69
  260. package/src/contract-functions/approveLBTC/approveLBTC.stories.tsx +0 -79
  261. package/src/contract-functions/approveLBTC/approveLBTC.ts +0 -66
  262. package/src/contract-functions/approveLBTC/index.ts +0 -1
  263. package/src/contract-functions/approveToken/approveToken.ts +0 -126
  264. package/src/contract-functions/approveToken/index.ts +0 -1
  265. package/src/contract-functions/claimLBTC/claimLBTC.stories.tsx +0 -82
  266. package/src/contract-functions/claimLBTC/claimLBTC.ts +0 -159
  267. package/src/contract-functions/claimLBTC/index.ts +0 -1
  268. package/src/contract-functions/claimUnstakeRedeem/claimUnstakeRedeem.ts +0 -95
  269. package/src/contract-functions/claimUnstakeRedeem/index.ts +0 -1
  270. package/src/contract-functions/deposit/depositToken.stories.tsx +0 -83
  271. package/src/contract-functions/deposit/depositToken.ts +0 -214
  272. package/src/contract-functions/deposit/index.ts +0 -1
  273. package/src/contract-functions/getBasculeDepositStatus/decodeBasculeDepositStatus.ts +0 -170
  274. package/src/contract-functions/getBasculeDepositStatus/getBasculeDepositStatus.stories.tsx +0 -62
  275. package/src/contract-functions/getBasculeDepositStatus/getBasculeDepositStatus.ts +0 -211
  276. package/src/contract-functions/getBasculeDepositStatus/index.ts +0 -2
  277. package/src/contract-functions/getLBTCMintingFee/getLBTCMintingFee.stories.tsx +0 -61
  278. package/src/contract-functions/getLBTCMintingFee/getLBTCMintingFee.ts +0 -193
  279. package/src/contract-functions/getLBTCMintingFee/index.ts +0 -1
  280. package/src/contract-functions/getLBTCTotalSupply/getLBTCTotalSupply.stories.tsx +0 -51
  281. package/src/contract-functions/getLBTCTotalSupply/getLBTCTotalSupply.ts +0 -40
  282. package/src/contract-functions/getLBTCTotalSupply/index.ts +0 -1
  283. package/src/contract-functions/getPermitNonce/getPermitNonce.stories.tsx +0 -56
  284. package/src/contract-functions/getPermitNonce/getPermitNonce.ts +0 -50
  285. package/src/contract-functions/getPermitNonce/index.ts +0 -1
  286. package/src/contract-functions/getShareValue/getShareValue.stories.tsx +0 -58
  287. package/src/contract-functions/getShareValue/getShareValue.ts +0 -59
  288. package/src/contract-functions/getShareValue/index.ts +0 -1
  289. package/src/contract-functions/getSharesByAddress/getSharesByAddress.stories.tsx +0 -65
  290. package/src/contract-functions/getSharesByAddress/getSharesByAddress.ts +0 -86
  291. package/src/contract-functions/getSharesByAddress/index.ts +0 -4
  292. package/src/contract-functions/getStakeAndBakeFee/__tests__/getStakeAndBakeFee.test.ts +0 -167
  293. package/src/contract-functions/getStakeAndBakeFee/getStakeAndBakeFee.stories.tsx +0 -180
  294. package/src/contract-functions/getStakeAndBakeFee/getStakeAndBakeFee.tsx +0 -101
  295. package/src/contract-functions/getStakeAndBakeFee/index.ts +0 -1
  296. package/src/contract-functions/index.ts +0 -21
  297. package/src/contract-functions/signLbtcDestionationAddr/index.ts +0 -1
  298. package/src/contract-functions/signLbtcDestionationAddr/signLbtcDestinationAddr.ts +0 -32
  299. package/src/contract-functions/signLbtcDestionationAddr/signLbtcDestionationAddr.stories.tsx +0 -64
  300. package/src/contract-functions/signNetworkFee/getTypedData.ts +0 -41
  301. package/src/contract-functions/signNetworkFee/index.ts +0 -1
  302. package/src/contract-functions/signNetworkFee/signNetworkFee.stories.tsx +0 -94
  303. package/src/contract-functions/signNetworkFee/signNetworkFee.ts +0 -106
  304. package/src/contract-functions/signStakeAndBake/__tests__/signStakeAndBake.test.ts +0 -888
  305. package/src/contract-functions/signStakeAndBake/handleApprove.ts +0 -81
  306. package/src/contract-functions/signStakeAndBake/handlePermit.ts +0 -28
  307. package/src/contract-functions/signStakeAndBake/index.ts +0 -2
  308. package/src/contract-functions/signStakeAndBake/signStakeAndBake.stories.tsx +0 -202
  309. package/src/contract-functions/signStakeAndBake/signStakeAndBake.ts +0 -160
  310. package/src/contract-functions/signStakeAndBake/typed-data-builder.ts +0 -137
  311. package/src/contract-functions/signStakeAndBake/utils.ts +0 -61
  312. package/src/contract-functions/signStakeAndBake/validation.ts +0 -124
  313. package/src/contract-functions/unstakeLBTC/index.ts +0 -1
  314. package/src/contract-functions/unstakeLBTC/unstakeLBTC.stories.tsx +0 -92
  315. package/src/contract-functions/unstakeLBTC/unstakeLBTC.ts +0 -396
  316. package/src/contracts/abis/index.ts +0 -29
  317. package/src/contracts/index.ts +0 -63
  318. package/src/contracts/types.ts +0 -143
  319. package/src/contracts/utils.ts +0 -288
  320. package/src/core/assets/catalog.ts +0 -343
  321. package/src/core/assets/index.ts +0 -40
  322. package/src/core/assets/types.ts +0 -142
  323. package/src/core/assets/utils.ts +0 -287
  324. package/src/core/chains/catalog.ts +0 -396
  325. package/src/core/chains/index.ts +0 -39
  326. package/src/core/chains/types.ts +0 -193
  327. package/src/core/chains/utils.ts +0 -245
  328. package/src/core/index.ts +0 -72
  329. package/src/core/types.ts +0 -126
  330. package/src/debug-api/btc-script-to-address.ts +0 -20
  331. package/src/debug-api/btc-tx-info.ts +0 -32
  332. package/src/debug-api/evm-by-btc-address.ts +0 -26
  333. package/src/debug-api/index.ts +0 -3
  334. package/src/defi/README.md +0 -517
  335. package/src/defi/defi-registry.stories.tsx +0 -527
  336. package/src/defi/defi-registry.ts +0 -295
  337. package/src/defi/index.ts +0 -17
  338. package/src/index.ts +0 -336
  339. package/src/metrics/get-additional-rewards.ts +0 -69
  340. package/src/metrics/get-lbtc-apy.ts +0 -74
  341. package/src/metrics/get-lbtc-stats.stories.tsx +0 -57
  342. package/src/metrics/get-lbtc-stats.ts +0 -59
  343. package/src/metrics/get-positions-summary.stories.tsx +0 -58
  344. package/src/metrics/get-positions-summary.ts +0 -132
  345. package/src/modules/CapabilityRegistry.ts +0 -125
  346. package/src/modules/apiModule.ts +0 -51
  347. package/src/modules/btcModule.ts +0 -43
  348. package/src/modules/evmModule.ts +0 -48
  349. package/src/modules/index.ts +0 -60
  350. package/src/referrals/ReferralsClient.ts +0 -34
  351. package/src/referrals/index.ts +0 -1
  352. package/src/services/ApiService.ts +0 -152
  353. package/src/services/BtcService.ts +0 -29
  354. package/src/services/EvmService.ts +0 -127
  355. package/src/services/index.ts +0 -43
  356. package/src/shared/__tests__/errors.test.ts +0 -185
  357. package/src/shared/__tests__/events.test.ts +0 -120
  358. package/src/shared/__tests__/types.test.ts +0 -155
  359. package/src/shared/actions/BaseAction.ts +0 -497
  360. package/src/shared/actions/__tests__/BaseAction.test.ts +0 -292
  361. package/src/shared/actions/index.ts +0 -9
  362. package/src/shared/constants/statusConstants.ts +0 -108
  363. package/src/shared/context/ContextBuilder.ts +0 -149
  364. package/src/shared/context/index.ts +0 -8
  365. package/src/shared/context/types.ts +0 -156
  366. package/src/shared/deposits/depositStatus.ts +0 -402
  367. package/src/shared/deposits/index.ts +0 -29
  368. package/src/shared/errors.ts +0 -405
  369. package/src/shared/events.ts +0 -260
  370. package/src/shared/evm/switchChain.ts +0 -109
  371. package/src/shared/index.ts +0 -54
  372. package/src/shared/monitoring/__tests__/createEventEmitter.test.ts +0 -150
  373. package/src/shared/monitoring/createEventEmitter.ts +0 -160
  374. package/src/shared/monitoring/createProgressEmitter.ts +0 -46
  375. package/src/shared/monitoring/depositMonitor.ts +0 -211
  376. package/src/shared/monitoring/index.ts +0 -25
  377. package/src/shared/validation/index.ts +0 -411
  378. package/src/stories/arg-types.ts +0 -38
  379. package/src/stories/components/Badge.tsx +0 -27
  380. package/src/stories/components/Button/Button.css +0 -10
  381. package/src/stories/components/Button/Button.tsx +0 -52
  382. package/src/stories/components/Button/index.ts +0 -1
  383. package/src/stories/components/Card.tsx +0 -18
  384. package/src/stories/components/CodeBlock/CodeBlock.tsx +0 -27
  385. package/src/stories/components/CodeBlock/CodeBlockStyles.css +0 -3
  386. package/src/stories/components/CodeBlock/index.ts +0 -1
  387. package/src/stories/components/ConnectButton/connect-button.tsx +0 -248
  388. package/src/stories/components/ConnectButton/index.ts +0 -1
  389. package/src/stories/components/JsonPreview.tsx +0 -84
  390. package/src/stories/components/Spinner/Spinner.tsx +0 -27
  391. package/src/stories/components/Spinner/index.ts +0 -1
  392. package/src/stories/components/StatsCard.tsx +0 -30
  393. package/src/stories/components/StatusIndicator.tsx +0 -37
  394. package/src/stories/components/TreeNode.tsx +0 -47
  395. package/src/stories/components/decorators/function-type.tsx +0 -63
  396. package/src/stories/components/decorators/index.ts +0 -2
  397. package/src/stories/components/decorators/wagmi-decorator.tsx +0 -92
  398. package/src/stories/components/error-block.tsx +0 -21
  399. package/src/stories/components/index.ts +0 -11
  400. package/src/stories/constants.ts +0 -3
  401. package/src/stories/hooks/useConnection.ts +0 -63
  402. package/src/stories/hooks/useQuery.ts +0 -57
  403. package/src/tokens/__tests__/token-addresses.test.ts +0 -551
  404. package/src/tokens/abi/ASSET_ROUTER_ABI.ts +0 -1966
  405. package/src/tokens/abi/BRIDGE_TOKEN_ADAPTER_ABI.ts +0 -1405
  406. package/src/tokens/abi/BTCK_ABI.ts +0 -1092
  407. package/src/tokens/abi/KATANA_BASCULE_ABI.ts +0 -653
  408. package/src/tokens/abi/LBTC_ABI.json +0 -1761
  409. package/src/tokens/abi/LBTC_ABI.ts +0 -1761
  410. package/src/tokens/abi/LBTC_BASCULE_ABI.json +0 -850
  411. package/src/tokens/abi/NATIVE_LBTC_ABI.ts +0 -1147
  412. package/src/tokens/abi/STLBTC_ABI.ts +0 -1062
  413. package/src/tokens/cross-chain-addresses.stories.tsx +0 -236
  414. package/src/tokens/denomination-utils.stories.tsx +0 -176
  415. package/src/tokens/getLbtcContractAddresses.stories.tsx +0 -158
  416. package/src/tokens/getTokenByAddress.stories.tsx +0 -172
  417. package/src/tokens/getTokenContractInfo.stories.tsx +0 -148
  418. package/src/tokens/getTokenInfo.stories.tsx +0 -133
  419. package/src/tokens/isUpgradedContract.stories.tsx +0 -124
  420. package/src/tokens/lbtc-addresses.ts +0 -18
  421. package/src/tokens/token-addresses.ts +0 -477
  422. package/src/tokens/tokens.ts +0 -249
  423. package/src/tokens/types.ts +0 -80
  424. package/src/utils/array.ts +0 -31
  425. package/src/utils/block.ts +0 -23
  426. package/src/utils/chain.ts +0 -152
  427. package/src/utils/consoleLogger.ts +0 -140
  428. package/src/utils/ensureNotSanctionedAddress.ts +0 -11
  429. package/src/utils/env.ts +0 -20
  430. package/src/utils/err.ts +0 -83
  431. package/src/utils/evmAccount.ts +0 -47
  432. package/src/utils/gas.ts +0 -36
  433. package/src/utils/hex.ts +0 -9
  434. package/src/utils/http.ts +0 -224
  435. package/src/utils/numbers.ts +0 -37
  436. package/src/utils/pagination.ts +0 -70
  437. package/src/utils/satoshi.ts +0 -41
  438. package/src/utils/time.ts +0 -12
  439. package/src/utils/transaction-executor.ts +0 -299
  440. package/src/vaults/abi/SILO_VAULT_SPENDER_ABI.json +0 -793
  441. package/src/vaults/abi/VEDA_VAULT_ABI.json +0 -452
  442. package/src/vaults/abi/VEDA_VAULT_ACCOUNTANT_ABI.json +0 -591
  443. package/src/vaults/abi/VEDA_VAULT_BASE_ASSET_ABI.json +0 -296
  444. package/src/vaults/abi/VEDA_VAULT_BORING_WITHDRAW_QUEUE_ABI.json +0 -502
  445. package/src/vaults/abi/VEDA_VAULT_LENS_ABI.json +0 -175
  446. package/src/vaults/abi/VEDA_VAULT_SPENDER_ABI.json +0 -408
  447. package/src/vaults/abi/VEDA_VAULT_TELLER_ABI.json +0 -700
  448. package/src/vaults/abi/index.ts +0 -4
  449. package/src/vaults/index.ts +0 -46
  450. package/src/vaults/lib/config.ts +0 -184
  451. package/src/vaults/lib/metrics/get-vault-apy.stories.tsx +0 -58
  452. package/src/vaults/lib/metrics/get-vault-apy.ts +0 -176
  453. package/src/vaults/lib/metrics/get-vault-points.stories.tsx +0 -60
  454. package/src/vaults/lib/metrics/get-vault-points.ts +0 -74
  455. package/src/vaults/lib/metrics/get-vault-tvl.stories.tsx +0 -58
  456. package/src/vaults/lib/metrics/get-vault-tvl.ts +0 -121
  457. package/src/vaults/lib/ops/cancel-withdraw.stories.tsx +0 -80
  458. package/src/vaults/lib/ops/deposit.stories.tsx +0 -82
  459. package/src/vaults/lib/ops/deposit.ts +0 -152
  460. package/src/vaults/lib/ops/get-vault-deposits.stories.tsx +0 -65
  461. package/src/vaults/lib/ops/get-vault-deposits.ts +0 -209
  462. package/src/vaults/lib/ops/get-vault-withdrawals.stories.tsx +0 -67
  463. package/src/vaults/lib/ops/get-vault-withdrawals.ts +0 -349
  464. package/src/vaults/lib/ops/withdraw.stories.tsx +0 -82
  465. package/src/vaults/lib/ops/withdraw.ts +0 -225
  466. package/src/version.ts +0 -56
  467. package/src/vite-env.d.ts +0 -1
@@ -1,292 +0,0 @@
1
- /**
2
- * Tests for BaseAction abstract class
3
- */
4
-
5
- import { describe, expect, it, vi } from 'vitest';
6
-
7
- import type { StrategyProgress } from '../../../core/types';
8
- import { ErrorCode, LombardError } from '../../errors';
9
- import { DepositEvent, type DepositEventMap } from '../../events';
10
- import { BaseAction } from '../BaseAction';
11
-
12
- // Concrete implementation for testing
13
- class TestAction extends BaseAction<DepositEventMap, string> {
14
- constructor() {
15
- super('idle');
16
- }
17
-
18
- // Expose protected methods for testing
19
- public testEmitProgress(progress: StrategyProgress<string>): void {
20
- this.emitProgress(progress);
21
- }
22
-
23
- public testUpdateStatus(status: string): void {
24
- this.updateStatus(status);
25
- }
26
-
27
- public testEmitCompleted(): void {
28
- this.updateStatus('completed');
29
- this.emitCompleted();
30
- }
31
-
32
- public testEmitFailed(): void {
33
- this.updateStatus('failed');
34
- this.emitFailed();
35
- }
36
-
37
- public testEmitError(error: LombardError): void {
38
- this._error = error;
39
- this.emitError(error);
40
- }
41
-
42
- public testAssertStatus(expected: string | string[], action: string): void {
43
- this.assertStatus(expected, action);
44
- }
45
-
46
- public testGuard<T>(fn: () => Promise<T>): Promise<T> {
47
- return this.act(fn);
48
- }
49
-
50
- public testIsFailed(): boolean {
51
- return this.isFailed;
52
- }
53
-
54
- public testClearError(): void {
55
- this.clearError();
56
- }
57
-
58
- public testClear(): void {
59
- this.clearListeners();
60
- }
61
- }
62
-
63
- describe('BaseAction', () => {
64
- it('should create an action with initial state', () => {
65
- const action = new TestAction();
66
- expect(action.status).toBe('idle');
67
- expect(action.error).toBeNull();
68
- });
69
-
70
- it('should register and call progress handlers', () => {
71
- const action = new TestAction();
72
- const handler = vi.fn();
73
-
74
- action.on(DepositEvent.Progress, handler);
75
- action.testEmitProgress({
76
- status: 'executing',
77
- steps: { approval: 'complete' },
78
- });
79
-
80
- expect(handler).toHaveBeenCalledOnce();
81
- expect(handler).toHaveBeenCalledWith({
82
- status: 'executing',
83
- steps: { approval: 'complete' },
84
- });
85
- });
86
-
87
- it('should register and call status change handlers', () => {
88
- const action = new TestAction();
89
- const handler = vi.fn();
90
-
91
- action.on(DepositEvent.StatusChange, handler);
92
- action.testUpdateStatus('ready');
93
-
94
- expect(handler).toHaveBeenCalledOnce();
95
- expect(handler).toHaveBeenCalledWith('ready');
96
- });
97
-
98
- it('should register and call completed handlers', () => {
99
- const action = new TestAction();
100
- const handler = vi.fn();
101
-
102
- action.on(DepositEvent.Completed, handler);
103
- action.testEmitCompleted();
104
-
105
- expect(handler).toHaveBeenCalledOnce();
106
- });
107
-
108
- it('should register and call failed handlers', () => {
109
- const action = new TestAction();
110
- const handler = vi.fn();
111
-
112
- action.on(DepositEvent.Failed, handler);
113
- action.testEmitFailed();
114
-
115
- expect(handler).toHaveBeenCalledOnce();
116
- });
117
-
118
- it('should register and call error handlers', () => {
119
- const action = new TestAction();
120
- const handler = vi.fn();
121
- const error = new LombardError(ErrorCode.UNKNOWN_ERROR, 'Test error');
122
-
123
- action.on(DepositEvent.Error, handler);
124
- action.testEmitError(error);
125
-
126
- expect(handler).toHaveBeenCalledOnce();
127
- expect(handler).toHaveBeenCalledWith(error);
128
- expect(action.error).toBe(error);
129
- });
130
-
131
- it('should return unsubscribe function from on()', () => {
132
- const action = new TestAction();
133
- const handler = vi.fn();
134
-
135
- const unsubscribe = action.on(DepositEvent.Progress, handler);
136
- expect(typeof unsubscribe).toBe('function');
137
-
138
- unsubscribe();
139
- action.testEmitProgress({ status: 'ready', steps: {} });
140
-
141
- expect(handler).not.toHaveBeenCalled();
142
- });
143
-
144
- it('should support multiple handlers for same event', () => {
145
- const action = new TestAction();
146
- const handler1 = vi.fn();
147
- const handler2 = vi.fn();
148
-
149
- action.on(DepositEvent.Completed, handler1);
150
- action.on(DepositEvent.Completed, handler2);
151
- action.testEmitCompleted();
152
-
153
- expect(handler1).toHaveBeenCalledOnce();
154
- expect(handler2).toHaveBeenCalledOnce();
155
- });
156
-
157
- it('should clear all listeners', () => {
158
- const action = new TestAction();
159
- const progressHandler = vi.fn();
160
- const statusHandler = vi.fn();
161
- const completedHandler = vi.fn();
162
-
163
- action.on(DepositEvent.Progress, progressHandler);
164
- action.on(DepositEvent.StatusChange, statusHandler);
165
- action.on(DepositEvent.Completed, completedHandler);
166
-
167
- action.testClear();
168
-
169
- action.testEmitProgress({ status: 'ready', steps: {} });
170
- action.testUpdateStatus('ready');
171
- action.testEmitCompleted();
172
-
173
- expect(progressHandler).not.toHaveBeenCalled();
174
- expect(statusHandler).not.toHaveBeenCalled();
175
- expect(completedHandler).not.toHaveBeenCalled();
176
- });
177
-
178
- it('should maintain status property', () => {
179
- const action = new TestAction();
180
- expect(action.status).toBe('idle');
181
-
182
- action.testUpdateStatus('preparing');
183
- expect(action.status).toBe('preparing');
184
-
185
- action.testEmitCompleted();
186
- expect(action.status).toBe('completed');
187
- });
188
-
189
- it('should maintain error property', () => {
190
- const action = new TestAction();
191
- expect(action.error).toBeNull();
192
-
193
- const error = new LombardError(ErrorCode.UNKNOWN_ERROR, 'Test error');
194
- action.testEmitError(error);
195
- expect(action.error).toBe(error);
196
- });
197
-
198
- it('should handle multiple emissions correctly', () => {
199
- const action = new TestAction();
200
- const handler = vi.fn();
201
-
202
- action.on(DepositEvent.Progress, handler);
203
-
204
- action.testEmitProgress({ status: 'preparing', steps: {} });
205
- action.testEmitProgress({ status: 'ready', steps: {} });
206
- action.testEmitProgress({ status: 'executing', steps: {} });
207
-
208
- expect(handler).toHaveBeenCalledTimes(3);
209
- });
210
-
211
- describe('assertStatus', () => {
212
- it('should pass when status matches single expected', () => {
213
- const action = new TestAction();
214
- expect(() => action.testAssertStatus('idle', 'test')).not.toThrow();
215
- });
216
-
217
- it('should pass when status matches one of expected array', () => {
218
- const action = new TestAction();
219
- expect(() =>
220
- action.testAssertStatus(['idle', 'ready'], 'test'),
221
- ).not.toThrow();
222
- });
223
-
224
- it('should throw when status does not match', () => {
225
- const action = new TestAction();
226
- expect(() => action.testAssertStatus('ready', 'test')).toThrow();
227
- });
228
- });
229
-
230
- describe('act', () => {
231
- it('should return result on success', async () => {
232
- const action = new TestAction();
233
- const result = await action.testGuard(async () => 'success');
234
- expect(result).toBe('success');
235
- });
236
-
237
- it('should preserve status on failure and set error', async () => {
238
- const action = new TestAction();
239
- const handler = vi.fn();
240
- action.on(DepositEvent.Failed, handler);
241
-
242
- // Set status to 'preparing' before the failure
243
- action.testUpdateStatus('preparing');
244
-
245
- await expect(
246
- action.testGuard(async () => {
247
- throw new Error('test error');
248
- }),
249
- ).rejects.toThrow();
250
-
251
- // Status should be preserved at 'preparing' (NOT changed to 'failed')
252
- expect(action.status).toBe('preparing');
253
- expect(action.error).not.toBeNull();
254
- expect(action.testIsFailed()).toBe(true);
255
- expect(handler).toHaveBeenCalledOnce();
256
- });
257
-
258
- it('should clear error on retry', async () => {
259
- const action = new TestAction();
260
-
261
- // First call fails
262
- await expect(
263
- action.testGuard(async () => {
264
- throw new Error('test error');
265
- }),
266
- ).rejects.toThrow();
267
-
268
- expect(action.error).not.toBeNull();
269
- expect(action.testIsFailed()).toBe(true);
270
-
271
- // Second call succeeds - error should be cleared
272
- const result = await action.testGuard(async () => 'success');
273
- expect(result).toBe('success');
274
- expect(action.error).toBeNull();
275
- expect(action.testIsFailed()).toBe(false);
276
- });
277
- });
278
-
279
- describe('isFailed', () => {
280
- it('should return false when no error', () => {
281
- const action = new TestAction();
282
- expect(action.testIsFailed()).toBe(false);
283
- });
284
-
285
- it('should return true when error is set', () => {
286
- const action = new TestAction();
287
- const error = new LombardError(ErrorCode.UNKNOWN_ERROR, 'Test error');
288
- action.testEmitError(error);
289
- expect(action.testIsFailed()).toBe(true);
290
- });
291
- });
292
- });
@@ -1,9 +0,0 @@
1
- /**
2
- * Shared Actions
3
- *
4
- * Base classes and interfaces for action implementations.
5
- *
6
- * @module shared/actions
7
- */
8
-
9
- export { BaseAction, type MonitorableAction } from './BaseAction';
@@ -1,108 +0,0 @@
1
- /**
2
- * Status constants for all action types
3
- *
4
- * These constants replace magic strings throughout the codebase
5
- * and provide type-safe status values.
6
- *
7
- * ## Error Design
8
- *
9
- * Note: There is NO 'failed' status. Error handling is separate from status:
10
- * - `status` = "What step are you at?" (flow position)
11
- * - `error` = "Did something go wrong?" (Error | null)
12
- * - `isFailed` = Derived from `error !== null`
13
- *
14
- * When an error occurs, status stays at the step where it happened.
15
- * This allows:
16
- * 1. Knowing WHERE the error occurred (status tells you)
17
- * 2. Easy retry - just call the method again
18
- * 3. Simpler state machine - status only flows forward
19
- */
20
-
21
- // ═══════════════════════════════════════════════════════════════════════════
22
- // BTC Actions - Unified Status
23
- // ═══════════════════════════════════════════════════════════════════════════
24
-
25
- /**
26
- * Unified BTC Action Status
27
- *
28
- * Single source of truth for all BTC action statuses.
29
- * All BTC actions (Stake, Deposit, StakeAndDeploy, DepositAndDeploy) use this.
30
- *
31
- * Status represents "what step are you at" - no transitional statuses.
32
- * Use `isLoading` for operation-in-progress state.
33
- *
34
- * ## Flow Examples
35
- *
36
- * **BtcStake/BtcDeposit (to Ethereum):**
37
- * IDLE → NEEDS_FEE_AUTHORIZATION → READY → ADDRESS_READY
38
- *
39
- * **BtcStake/BtcDeposit (to non-Ethereum):**
40
- * IDLE → NEEDS_ADDRESS_CONFIRMATION → READY → ADDRESS_READY
41
- *
42
- * **BtcStakeAndDeploy/BtcDepositAndDeploy:**
43
- * IDLE → NEEDS_DEPLOY_AUTHORIZATION → READY → ADDRESS_READY
44
- */
45
- export const BtcActionStatus = {
46
- /** Initial state - ready for prepare() */
47
- IDLE: 'idle',
48
-
49
- // Authorization states (mutually exclusive - action uses one based on config)
50
- /** User needs to sign fee authorization (EVM stake/deposit to Ethereum) */
51
- NEEDS_FEE_AUTHORIZATION: 'needs_fee_authorization',
52
- /** User needs to confirm destination address (non-Ethereum destinations) */
53
- NEEDS_ADDRESS_CONFIRMATION: 'needs_address_confirmation',
54
- /** User needs to sign vault deploy authorization (stake-and-deploy, deposit-and-deploy) */
55
- NEEDS_DEPLOY_AUTHORIZATION: 'needs_deploy_authorization',
56
-
57
- /** Authorization complete - ready to generate address */
58
- READY: 'ready',
59
-
60
- /** Deposit address generated - awaiting BTC deposit */
61
- ADDRESS_READY: 'address_ready',
62
- } as const;
63
-
64
- export type BtcActionStatus =
65
- (typeof BtcActionStatus)[keyof typeof BtcActionStatus];
66
-
67
- /**
68
- * EVM operation statuses (Deposit, Stake, Deploy, Unstake, Redeem)
69
- *
70
- * Simplified - use isLoading for operation-in-progress.
71
- *
72
- * ## Flow Examples
73
- *
74
- * **EVM Unstake (LBTC → BTC.b on Ethereum/Sepolia):**
75
- * IDLE → NEEDS_FEE_AUTHORIZATION → READY → COMPLETED
76
- *
77
- * **EVM Unstake (LBTC → BTC.b on Base/BSC - subsidized):**
78
- * IDLE → READY → COMPLETED
79
- *
80
- * **EVM Redeem (BTC.b → BTC on Ethereum/Sepolia):**
81
- * IDLE → NEEDS_FEE_AUTHORIZATION → READY → COMPLETED
82
- */
83
- export const EvmOperationStatus = {
84
- IDLE: 'idle',
85
- /** User needs to sign fee authorization (Ethereum/Sepolia only) */
86
- NEEDS_FEE_AUTHORIZATION: 'needs_fee_authorization',
87
- /** User needs to approve token spending */
88
- NEEDS_APPROVAL: 'needs-approval',
89
- READY: 'ready',
90
- CONFIRMING: 'confirming',
91
- COMPLETED: 'completed',
92
- } as const;
93
-
94
- export type EvmOperationStatus =
95
- (typeof EvmOperationStatus)[keyof typeof EvmOperationStatus];
96
-
97
- /**
98
- * Solana/Sui/Starknet Unstake operation statuses
99
- */
100
- export const NonEvmUnstakeStatus = {
101
- IDLE: 'idle',
102
- READY: 'ready',
103
- CONFIRMING: 'confirming',
104
- COMPLETED: 'completed',
105
- } as const;
106
-
107
- export type NonEvmUnstakeStatus =
108
- (typeof NonEvmUnstakeStatus)[keyof typeof NonEvmUnstakeStatus];
@@ -1,149 +0,0 @@
1
- /**
2
- * Context Builder
3
- *
4
- * Builds lightweight action contexts from LombardConfig.
5
- * Contexts are passed to actions instead of the full SDK instance,
6
- * improving testability and reducing coupling.
7
- *
8
- * NOTE: All context creation now works from config only.
9
- * The SDK class should pass this.config when creating actions.
10
- *
11
- * @module shared/context/ContextBuilder
12
- */
13
-
14
- import type {
15
- ApiService,
16
- BtcService,
17
- EvmService,
18
- ProviderKey,
19
- } from '@lombard.finance/sdk-common';
20
-
21
- import { PartnerConfiguration } from '../../client/PartnerConfiguration';
22
- // Note: EvmService is imported for createEvmCoreContext
23
- import type { LombardConfig } from '../../config/types';
24
- import { getProviderGetter } from '../../config/types';
25
- import { CapabilityRegistry } from '../../modules/CapabilityRegistry';
26
- import type {
27
- BtcCoreContext,
28
- CoreContext,
29
- EvmCoreContext,
30
- ProviderResolver,
31
- } from './types';
32
-
33
- // ═══════════════════════════════════════════════════════════════════════════
34
- // Provider Resolution
35
- // ═══════════════════════════════════════════════════════════════════════════
36
-
37
- /**
38
- * Create a provider resolver from config
39
- */
40
- function createProviderResolver(config: LombardConfig): ProviderResolver {
41
- return async key => {
42
- const getter = getProviderGetter(config.providers, key as ProviderKey);
43
- if (!getter) {
44
- return undefined;
45
- }
46
- return getter();
47
- };
48
- }
49
-
50
- // ═══════════════════════════════════════════════════════════════════════════
51
- // Capability Registry Cache
52
- // ═══════════════════════════════════════════════════════════════════════════
53
-
54
- // Cache capability registries by config to avoid recreating them
55
- const registryCache = new WeakMap<LombardConfig, CapabilityRegistry>();
56
-
57
- /**
58
- * Get or create capability registry from config
59
- * @internal
60
- */
61
- function getCapabilityRegistry(config: LombardConfig): CapabilityRegistry {
62
- let registry = registryCache.get(config);
63
- if (!registry) {
64
- registry = new CapabilityRegistry(config.modules, config);
65
- registryCache.set(config, registry);
66
- }
67
- return registry;
68
- }
69
-
70
- // ═══════════════════════════════════════════════════════════════════════════
71
- // Context Factories
72
- // ═══════════════════════════════════════════════════════════════════════════
73
-
74
- /**
75
- * Create core context from config
76
- * @internal
77
- */
78
- function createCoreContext(config: LombardConfig): CoreContext {
79
- return {
80
- env: config.env,
81
- partner: new PartnerConfiguration(config.partner),
82
- getProvider: createProviderResolver(config),
83
- logger: undefined,
84
- };
85
- }
86
-
87
- /**
88
- * Create BTC core context from config
89
- *
90
- * Used by BtcActions and BTC factory functions.
91
- *
92
- * @example
93
- * ```typescript
94
- * // In BtcActions
95
- * constructor(config: LombardConfig) {
96
- * this.ctx = createBtcCoreContext(config);
97
- * }
98
- *
99
- * // Or directly for factory functions
100
- * const stake = btcStake(config, params);
101
- * ```
102
- */
103
- export function createBtcCoreContext(config: LombardConfig): BtcCoreContext {
104
- const baseContext = createCoreContext(config);
105
- const registry = getCapabilityRegistry(config);
106
-
107
- // Type assertions needed because registry doesn't know module types at compile time
108
- const btc = registry.require('btc') as BtcService;
109
- const api = registry.require('api') as ApiService;
110
-
111
- return {
112
- ...baseContext,
113
- btc,
114
- api,
115
- capabilities: registry,
116
- };
117
- }
118
-
119
- /**
120
- * Create EVM core context from config
121
- *
122
- * Used by EvmActions and EVM factory functions.
123
- */
124
- export function createEvmCoreContext(config: LombardConfig): EvmCoreContext {
125
- const baseContext = createCoreContext(config);
126
- const registry = getCapabilityRegistry(config);
127
-
128
- // Type assertion needed because registry doesn't know module types at compile time
129
- const evm = registry.require('evm') as EvmService;
130
-
131
- return {
132
- ...baseContext,
133
- evm,
134
- };
135
- }
136
-
137
- // ═══════════════════════════════════════════════════════════════════════════
138
- // Legacy Exports (for backward compatibility during migration)
139
- // ═══════════════════════════════════════════════════════════════════════════
140
-
141
- /**
142
- * @deprecated Use createBtcCoreContext(config) instead
143
- */
144
- export const createBtcCoreContextFromConfig = createBtcCoreContext;
145
-
146
- /**
147
- * @deprecated Use createEvmCoreContext(config) instead
148
- */
149
- export const createEvmCoreContextFromConfig = createEvmCoreContext;
@@ -1,8 +0,0 @@
1
- /**
2
- * Strategy Context System
3
- *
4
- * Exports context types and builder functions for dependency injection.
5
- */
6
-
7
- export * from './ContextBuilder';
8
- export * from './types';