@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
@@ -208,7 +208,7 @@ export declare const VAULTS: {
208
208
  readonly tellerContracts: Record<1 | 8453 | 56 | 21000000, ContractInfo>;
209
209
  readonly withdrawQueueContracts: Record<1 | 8453 | 56 | 21000000, ContractInfo>;
210
210
  readonly queueWithdrawDiscountPercent: "0.01";
211
- readonly queueWithdrawDaysValid: "3";
211
+ readonly queueWithdrawDaysValid: "14";
212
212
  };
213
213
  };
214
214
  export {};
package/package.json CHANGED
@@ -1,11 +1,10 @@
1
1
  {
2
2
  "name": "@lombard.finance/sdk",
3
- "version": "4.0.0",
3
+ "version": "4.1.2",
4
4
  "dependencies": {
5
5
  "@lombard.finance/sdk-common": "^3.3.1",
6
6
  "isows": "^1.0.7",
7
- "viem": "^2.23.15",
8
- "vite": "^6.3.5"
7
+ "viem": "^2.23.15"
9
8
  },
10
9
  "devDependencies": {
11
10
  "@chromatic-com/storybook": "1.6.1",
@@ -26,11 +25,12 @@
26
25
  "storybook": "^8.2.9",
27
26
  "typedoc": "^0.26.6",
28
27
  "typescript": "^5.4.5",
28
+ "vite": "^6.3.5",
29
29
  "vitest": "^3.2.4",
30
30
  "wagmi": "^2.14.15"
31
31
  },
32
32
  "engines": {
33
- "node": ">= 22.14.0"
33
+ "node": ">= 18.0.0"
34
34
  },
35
35
  "exports": {
36
36
  ".": {
@@ -51,16 +51,15 @@
51
51
  },
52
52
  "files": [
53
53
  "dist",
54
- "src",
55
54
  "CHANGELOG.md"
56
55
  ],
57
56
  "license": "MIT",
58
57
  "peerDependencies": {
59
- "@bitcoinerlab/secp256k1": "1.2.0",
60
- "@layerzerolabs/lz-v2-utilities": "3.0.17",
58
+ "@bitcoinerlab/secp256k1": "^1.2.0",
59
+ "@layerzerolabs/lz-v2-utilities": "^3.0.17",
61
60
  "axios": "^1",
62
61
  "bignumber.js": "^9",
63
- "bitcoinjs-lib": "6.1.5"
62
+ "bitcoinjs-lib": "^6.1.5"
64
63
  },
65
64
  "scripts": {
66
65
  "build": "yarn types && vite build && yarn build-types",
@@ -1,234 +0,0 @@
1
- /**
2
- * AssetNamespace Tests
3
- *
4
- * Tests the new namespaced asset API
5
- */
6
-
7
- import { Env } from '@lombard.finance/sdk-common';
8
- import { describe, expect, it } from 'vitest';
9
-
10
- import { LombardSDK } from '../client/LombardSDK';
11
- import { AssetId, Chain } from '../core';
12
- import { createTestConfig } from './helpers/createTestConfig';
13
-
14
- describe('AssetNamespace', () => {
15
- describe('SDK Integration', () => {
16
- it('should be accessible via sdk.assets', () => {
17
- const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
18
- expect(sdk.assets).toBeDefined();
19
- });
20
-
21
- it('should respect SDK environment', () => {
22
- const prodSdk = new LombardSDK(createTestConfig({ env: Env.prod }));
23
- const testnetSdk = new LombardSDK(createTestConfig({ env: Env.testnet }));
24
-
25
- const prodAddress = prodSdk.assets.getAddress(
26
- AssetId.LBTC,
27
- Chain.ETHEREUM,
28
- );
29
- const testnetAddress = testnetSdk.assets.getAddress(
30
- AssetId.LBTC,
31
- Chain.SEPOLIA,
32
- );
33
-
34
- expect(prodAddress).toBe('0x8236a87084f8b84306f72007f36f2618a5634494');
35
- expect(testnetAddress).toBe('0xc47e4b3124597fdf8dd07843d4a7052f2ee80c30');
36
- });
37
- });
38
-
39
- describe('getConfig', () => {
40
- it('should return config with specific type inference', () => {
41
- const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
42
- expect(sdk.assets.getAddress(AssetId.LBTC, Chain.ETHEREUM)).toBe(
43
- '0x8236a87084f8b84306f72007f36f2618a5634494',
44
- );
45
- expect(sdk.assets.getDecimals(AssetId.LBTC)).toBe(8);
46
- // EVM chains don't use asset router - only Starknet does
47
- expect(sdk.assets.usesAssetRouter(AssetId.LBTC, Chain.ETHEREUM)).toBe(
48
- false,
49
- );
50
- });
51
-
52
- it('should return undefined for non-deployed asset', () => {
53
- const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
54
- expect(
55
- sdk.assets.getAddress(AssetId.LBTC, Chain.SEPOLIA),
56
- ).toBeUndefined();
57
- });
58
- });
59
-
60
- describe('getAddress', () => {
61
- it('should return token address', () => {
62
- const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
63
- const address = sdk.assets.getAddress(AssetId.LBTC, Chain.ETHEREUM);
64
-
65
- expect(address).toBe('0x8236a87084f8b84306f72007f36f2618a5634494');
66
- });
67
-
68
- it('should return undefined for non-deployed asset', () => {
69
- const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
70
- const address = sdk.assets.getAddress(AssetId.LBTC, Chain.SEPOLIA);
71
-
72
- expect(address).toBeUndefined();
73
- });
74
- });
75
-
76
- describe('getDecimals', () => {
77
- it('should return token decimals', () => {
78
- const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
79
- expect(sdk.assets.getDecimals(AssetId.LBTC)).toBe(8);
80
- });
81
-
82
- it('should return 8 for non-deployed asset (default)', () => {
83
- const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
84
- expect(sdk.assets.getDecimals(AssetId.LBTC)).toBe(8);
85
- });
86
- });
87
-
88
- describe('usesAssetRouter', () => {
89
- it('should return true for LBTC on Starknet (has asset router)', () => {
90
- const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
91
- const usesRouter = sdk.assets.usesAssetRouter(
92
- AssetId.LBTC,
93
- Chain.STARKNET_MAINNET,
94
- );
95
-
96
- expect(usesRouter).toBe(true);
97
- });
98
-
99
- it('should return false for LBTC on Ethereum (no asset router)', () => {
100
- const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
101
- const usesRouter = sdk.assets.usesAssetRouter(
102
- AssetId.LBTC,
103
- Chain.ETHEREUM,
104
- );
105
-
106
- expect(usesRouter).toBe(false);
107
- });
108
- });
109
-
110
- describe('getAssetRouter', () => {
111
- it('should return asset router for Starknet mainnet', () => {
112
- const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
113
- const router = sdk.assets.getAssetRouter(
114
- AssetId.LBTC,
115
- Chain.STARKNET_MAINNET,
116
- );
117
-
118
- expect(router).toBe(
119
- '0x05b1886d0f844ab930fc0ee066f1655a873437f15a5d2c41ee3e884fd5299976',
120
- );
121
- });
122
-
123
- it('should return undefined for EVM chains', () => {
124
- const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
125
- const router = sdk.assets.getAssetRouter(AssetId.LBTC, Chain.ETHEREUM);
126
-
127
- expect(router).toBeUndefined();
128
- });
129
- });
130
-
131
- describe('getBridgeAdapter', () => {
132
- it('should return bridge adapter for BTCb on Avalanche Fuji', () => {
133
- const sdk = new LombardSDK(createTestConfig({ env: Env.dev }));
134
- const adapter = sdk.assets.getBridgeAdapter(
135
- AssetId.BTCb,
136
- Chain.AVALANCHE_FUJI,
137
- );
138
-
139
- expect(adapter).toBe('0x0A65C37d07c32E5eA8ea40495b7f249cdE26935e');
140
- });
141
-
142
- it('should return undefined for assets without bridge adapter', () => {
143
- const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
144
- const adapter = sdk.assets.getBridgeAdapter(AssetId.LBTC, Chain.ETHEREUM);
145
-
146
- expect(adapter).toBeUndefined();
147
- });
148
- });
149
-
150
- describe('getByAddress', () => {
151
- it('should find asset by address (reverse lookup)', () => {
152
- const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
153
- const asset = sdk.assets.getByAddress(
154
- '0x8236a87084f8b84306f72007f36f2618a5634494',
155
- Chain.ETHEREUM,
156
- );
157
-
158
- expect(asset).toBe(AssetId.LBTC);
159
- });
160
-
161
- it('should return undefined for unknown address', () => {
162
- const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
163
- const asset = sdk.assets.getByAddress('0x1234567890', Chain.ETHEREUM);
164
-
165
- expect(asset).toBeUndefined();
166
- });
167
- });
168
-
169
- describe('isDeployed', () => {
170
- it('should return true for deployed asset', () => {
171
- const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
172
- const deployed = sdk.assets.isDeployed(AssetId.LBTC, Chain.ETHEREUM);
173
-
174
- expect(deployed).toBe(true);
175
- });
176
-
177
- it('should return false for non-deployed asset', () => {
178
- const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
179
- const deployed = sdk.assets.isDeployed(AssetId.LBTC, Chain.SEPOLIA);
180
-
181
- expect(deployed).toBe(false);
182
- });
183
- });
184
-
185
- describe('getChains', () => {
186
- it('should return all chains where LBTC is deployed in prod', () => {
187
- const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
188
- const chains = sdk.assets.getChains(AssetId.LBTC);
189
-
190
- expect(chains).toContain(Chain.ETHEREUM);
191
- expect(chains).toContain(Chain.BASE);
192
- expect(chains).toContain(Chain.BSC);
193
- expect(chains).toContain(Chain.SOLANA_MAINNET);
194
- expect(chains.length).toBeGreaterThan(5);
195
- });
196
- });
197
-
198
- describe('getEnvironments', () => {
199
- it('should return all environments where LBTC is deployed on Ethereum', () => {
200
- const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
201
- const envs = sdk.assets.getEnvironments(AssetId.LBTC, Chain.ETHEREUM);
202
-
203
- expect(envs).toContain(Env.prod);
204
- expect(envs.length).toBe(1); // Only prod on Ethereum mainnet
205
- });
206
-
207
- it('should return multiple environments for Sepolia', () => {
208
- const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
209
- const envs = sdk.assets.getEnvironments(AssetId.LBTC, Chain.SEPOLIA);
210
-
211
- expect(envs).toContain(Env.testnet);
212
- expect(envs).toContain(Env.stage);
213
- expect(envs).toContain(Env.dev);
214
- });
215
- });
216
-
217
- describe('registry', () => {
218
- it('should provide direct registry access', () => {
219
- const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
220
- const catalog = sdk.assets.getCatalog();
221
-
222
- // Catalog structure: { version, assets: { [AssetId]: AssetEntry } }
223
- expect(catalog.version).toBeDefined();
224
- expect(catalog.assets).toBeDefined();
225
- expect(Object.keys(catalog.assets)).toContain(AssetId.LBTC);
226
-
227
- const asset = catalog.assets[AssetId.LBTC];
228
- expect(asset).toBeDefined();
229
- expect(asset?.decimals).toBe(8);
230
- expect(asset?.deployments).toBeDefined();
231
- expect(asset?.deployments.length).toBeGreaterThan(0);
232
- });
233
- });
234
- });
@@ -1,90 +0,0 @@
1
- /**
2
- * Test Configuration Helper
3
- *
4
- * Provides a synchronous config creation for tests.
5
- * Uses bundled catalog directly to avoid async in test setup.
6
- *
7
- * @module __tests__/helpers/createTestConfig
8
- */
9
-
10
- import type { AnyModule, ProviderKey } from '@lombard.finance/sdk-common';
11
-
12
- import type {
13
- CreateConfigOptions,
14
- ResolvedLombardConfig,
15
- } from '../../config/types';
16
- import { ASSET_CATALOG } from '../../core/assets/catalog';
17
- import { apiModule } from '../../modules/apiModule';
18
- import { btcModule } from '../../modules/btcModule';
19
- import { evmModule } from '../../modules/evmModule';
20
- import { LombardError } from '../../shared/errors';
21
-
22
- function mergeModules(provided: readonly AnyModule[] | undefined): AnyModule[] {
23
- const modules = new Map<string, AnyModule>();
24
- const builtIns: AnyModule[] = [btcModule(), evmModule(), apiModule()];
25
- for (const mod of builtIns) {
26
- modules.set(mod.id, mod);
27
- }
28
- if (provided) {
29
- for (const mod of provided) {
30
- modules.set(mod.id, mod);
31
- }
32
- }
33
- return Array.from(modules.values());
34
- }
35
-
36
- function hasProvider(
37
- config: Pick<ResolvedLombardConfig, 'providers'>,
38
- key: ProviderKey,
39
- ): boolean {
40
- return Boolean(config.providers?.[key]);
41
- }
42
-
43
- function ensureProviders(
44
- modules: readonly AnyModule[],
45
- config: Pick<ResolvedLombardConfig, 'providers'>,
46
- ): void {
47
- for (const mod of modules) {
48
- for (const key of mod.requiresProviders ?? []) {
49
- if (!hasProvider(config, key)) {
50
- throw LombardError.providerMissing(key, key);
51
- }
52
- }
53
- }
54
- }
55
-
56
- /**
57
- * Create SDK config synchronously for tests
58
- *
59
- * This creates a ResolvedLombardConfig with the bundled catalog directly.
60
- * Only use this in tests - production code should use createLombardSDK().
61
- *
62
- * @param options - Configuration options
63
- * @returns ResolvedLombardConfig with bundled catalog
64
- */
65
- export function createTestConfig(
66
- options: CreateConfigOptions,
67
- ): ResolvedLombardConfig {
68
- if (!options.env) {
69
- throw LombardError.missingParameter('env');
70
- }
71
-
72
- const modules = mergeModules(
73
- options.modules as readonly AnyModule[] | undefined,
74
- );
75
-
76
- const config: ResolvedLombardConfig = {
77
- env: options.env,
78
- providers: options.providers || {},
79
- modules,
80
- catalog: ASSET_CATALOG,
81
- };
82
-
83
- if (options.partner) {
84
- config.partner = options.partner;
85
- }
86
-
87
- ensureProviders(modules, config);
88
-
89
- return config;
90
- }
@@ -1,74 +0,0 @@
1
- /**
2
- * Automint Fee Contract Read Verification
3
- *
4
- * Validates that automint fees are non-zero where expected using read-only
5
- * contract calls (no signing or funds required).
6
- *
7
- * @module __tests__/integration/automint-fee.integration.test.ts
8
- */
9
-
10
- import { Env } from '@lombard.finance/sdk-common';
11
- import BigNumber from 'bignumber.js';
12
- import { describe, expect, it } from 'vitest';
13
-
14
- import { ChainId } from '../../common/chains';
15
- import { getMintingFee } from '../../contract-functions/getLBTCMintingFee/getLBTCMintingFee';
16
- import { Token,TOKEN_ADDRESSES } from '../../tokens/token-addresses';
17
-
18
- const RUN_CONTRACT_CHECKS = process.env.ENABLE_CONTRACT_CHECKS === 'true';
19
- const runIfEnabled = RUN_CONTRACT_CHECKS ? describe : describe.skip;
20
-
21
- const TIMEOUT = 90_000;
22
-
23
- function expectNonZeroFee(fee: BigNumber, label: string) {
24
- expect(fee.isGreaterThan(0), `${label} should be > 0 BTC`).toBe(true);
25
- }
26
-
27
- function hasTokenAddress(token: Token, chainId: ChainId, env: Env): boolean {
28
- const entry = TOKEN_ADDRESSES[token]?.[env]?.[chainId];
29
- return Boolean(entry);
30
- }
31
-
32
- runIfEnabled('Automint Fee Contract Reads', () => {
33
- it(
34
- 'returns non-zero LBTC minting fee on Sepolia stage and Ethereum prod',
35
- async () => {
36
- if (hasTokenAddress(Token.LBTC, ChainId.sepolia, Env.stage)) {
37
- const sepoliaStageFee = await getMintingFee({
38
- token: Token.LBTC,
39
- chainId: ChainId.sepolia,
40
- env: Env.stage,
41
- });
42
- expectNonZeroFee(sepoliaStageFee, 'Sepolia (stage) LBTC');
43
- }
44
-
45
- if (hasTokenAddress(Token.LBTC, ChainId.ethereum, Env.prod)) {
46
- const ethereumProdFee = await getMintingFee({
47
- token: Token.LBTC,
48
- chainId: ChainId.ethereum,
49
- env: Env.prod,
50
- });
51
- expectNonZeroFee(ethereumProdFee, 'Ethereum (prod) LBTC');
52
- }
53
- },
54
- TIMEOUT,
55
- );
56
-
57
- it(
58
- 'returns non-zero BTC.b minting fee on Sepolia stage when configured',
59
- async () => {
60
- if (!hasTokenAddress(Token.BTCb, ChainId.sepolia, Env.stage)) {
61
- return;
62
- }
63
-
64
- const sepoliaStageFee = await getMintingFee({
65
- token: Token.BTCb,
66
- chainId: ChainId.sepolia,
67
- env: Env.stage,
68
- });
69
-
70
- expectNonZeroFee(sepoliaStageFee, 'Sepolia (stage) BTC.b');
71
- },
72
- TIMEOUT,
73
- );
74
- });
@@ -1,109 +0,0 @@
1
- /**
2
- * BTC Deposit Integration Tests
3
- *
4
- * Tests BTC Deposit action with mocked API responses.
5
- *
6
- * @module __tests__/integration/btc-deposit.integration.test.ts
7
- */
8
-
9
- import { Env } from '@lombard.finance/sdk-common';
10
- import { beforeEach,describe, expect, it, vi } from 'vitest';
11
-
12
- import { btcDeposit } from '../../chains/btc/actions/deposit';
13
- import { AssetId, Chain } from '../../index';
14
- import { createTestConfig as createConfig } from '../helpers/createTestConfig';
15
-
16
- // Mock EIP1193 Provider
17
- const createMockProvider = () => ({
18
- // EIP-1193 event methods required by the EvmProvider type
19
- on: vi.fn(),
20
- removeListener: vi.fn(),
21
- request: vi.fn().mockImplementation(async ({ method }) => {
22
- switch (method) {
23
- case 'eth_chainId':
24
- return '0xa869'; // Avalanche Fuji
25
- case 'eth_accounts':
26
- return ['0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0'];
27
- case 'personal_sign':
28
- case 'eth_signTypedData_v4':
29
- return '0xmocksignature';
30
- default:
31
- return null;
32
- }
33
- }),
34
- });
35
-
36
- describe('BTC Deposit Integration', () => {
37
- let mockProvider: ReturnType<typeof createMockProvider>;
38
-
39
- beforeEach(() => {
40
- vi.clearAllMocks();
41
- mockProvider = createMockProvider();
42
- });
43
-
44
- describe('Action Creation', () => {
45
- it('should create BTC deposit action for Avalanche Fuji', () => {
46
- const config = createConfig({
47
- env: Env.testnet,
48
- providers: { evm: () => mockProvider },
49
- });
50
-
51
- const deposit = btcDeposit(config, {
52
- assetOut: AssetId.BTCb,
53
- destChain: Chain.AVALANCHE_FUJI,
54
- });
55
-
56
- expect(deposit).toBeDefined();
57
- expect(deposit.status).toBe('idle');
58
- });
59
-
60
- it('should reject LBTC as output asset', () => {
61
- const config = createConfig({
62
- env: Env.testnet,
63
- providers: { evm: () => mockProvider },
64
- });
65
-
66
- expect(() => {
67
- btcDeposit(config, {
68
- assetOut: AssetId.LBTC,
69
- destChain: Chain.AVALANCHE_FUJI,
70
- });
71
- }).toThrow(/not supported for BTC deposits/);
72
- });
73
- });
74
-
75
- describe('Status Transitions', () => {
76
- it('should start in idle status', () => {
77
- const config = createConfig({
78
- env: Env.testnet,
79
- providers: { evm: () => mockProvider },
80
- });
81
-
82
- const deposit = btcDeposit(config, {
83
- assetOut: AssetId.BTCb,
84
- destChain: Chain.AVALANCHE_FUJI,
85
- });
86
-
87
- expect(deposit.status).toBe('idle');
88
- expect(deposit.isLoading).toBe(false);
89
- expect(deposit.error).toBeNull();
90
- });
91
- });
92
-
93
- describe('Property Access', () => {
94
- it('should expose action params', () => {
95
- const config = createConfig({
96
- env: Env.testnet,
97
- providers: { evm: () => mockProvider },
98
- });
99
-
100
- const deposit = btcDeposit(config, {
101
- assetOut: AssetId.BTCb,
102
- destChain: Chain.AVALANCHE_FUJI,
103
- });
104
-
105
- expect(deposit.status).toBe('idle');
106
- });
107
- });
108
- });
109
-
@@ -1,96 +0,0 @@
1
- /**
2
- * BTC Stake And Deploy Integration Tests
3
- *
4
- * Tests BTC Stake And Deploy action with mocked API responses.
5
- *
6
- * @module __tests__/integration/btc-stake-and-deploy.integration.test.ts
7
- */
8
-
9
- import { Env } from '@lombard.finance/sdk-common';
10
- import { beforeEach,describe, expect, it, vi } from 'vitest';
11
-
12
- import { btcStakeAndDeploy } from '../../chains/btc/actions/stakeAndDeploy';
13
- import { AssetId, Chain } from '../../index';
14
- import { createTestConfig as createConfig } from '../helpers/createTestConfig';
15
-
16
- // Mock EIP1193 Provider
17
- const createMockProvider = () => ({
18
- // EIP-1193 event methods required by the EvmProvider type
19
- on: vi.fn(),
20
- removeListener: vi.fn(),
21
- request: vi.fn().mockImplementation(async ({ method }) => {
22
- switch (method) {
23
- case 'eth_chainId':
24
- return '0x1'; // Ethereum mainnet
25
- case 'eth_accounts':
26
- return ['0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0'];
27
- case 'personal_sign':
28
- case 'eth_signTypedData_v4':
29
- return '0xmocksignature';
30
- default:
31
- return null;
32
- }
33
- }),
34
- });
35
-
36
- describe('BTC Stake And Deploy Integration', () => {
37
- let mockProvider: ReturnType<typeof createMockProvider>;
38
-
39
- beforeEach(() => {
40
- vi.clearAllMocks();
41
- mockProvider = createMockProvider();
42
- });
43
-
44
- describe('Action Creation', () => {
45
- it('should create stake and deploy action for Ethereum', () => {
46
- const config = createConfig({
47
- env: Env.prod,
48
- providers: { evm: () => mockProvider },
49
- });
50
-
51
- const stakeAndDeploy = btcStakeAndDeploy(config, {
52
- assetOut: AssetId.LBTC,
53
- destChain: Chain.ETHEREUM,
54
- protocol: 'veda', // Use Veda protocol from DefiRegistry
55
- });
56
-
57
- expect(stakeAndDeploy).toBeDefined();
58
- expect(stakeAndDeploy.status).toBe('idle');
59
- });
60
-
61
- it('should reject BTCb as output asset', () => {
62
- const config = createConfig({
63
- env: Env.prod,
64
- providers: { evm: () => mockProvider },
65
- });
66
-
67
- expect(() => {
68
- btcStakeAndDeploy(config, {
69
- assetOut: AssetId.BTCb,
70
- destChain: Chain.ETHEREUM,
71
- protocol: 'veda', // Use Veda protocol from DefiRegistry
72
- });
73
- }).toThrow(/not supported/);
74
- });
75
- });
76
-
77
- describe('Status Transitions', () => {
78
- it('should start in idle status', () => {
79
- const config = createConfig({
80
- env: Env.prod,
81
- providers: { evm: () => mockProvider },
82
- });
83
-
84
- const stakeAndDeploy = btcStakeAndDeploy(config, {
85
- assetOut: AssetId.LBTC,
86
- destChain: Chain.ETHEREUM,
87
- protocol: 'veda', // Use Veda protocol from DefiRegistry
88
- });
89
-
90
- expect(stakeAndDeploy.status).toBe('idle');
91
- expect(stakeAndDeploy.isLoading).toBe(false);
92
- expect(stakeAndDeploy.error).toBeNull();
93
- });
94
- });
95
- });
96
-