@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,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';