@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,293 +0,0 @@
1
- /**
2
- * Asset Catalog Tests
3
- *
4
- * Tests to verify the ASSET_CATALOG has correct chain configurations.
5
- *
6
- * Related Issues:
7
- * - APP-1971: Fuji should be available for LBTC staking
8
- * - APP-1975: Holesky should NOT be available (deprecated)
9
- * - APP-1980: Berachain Bartio should NOT be available (not implemented)
10
- * - APP-1983: Base Sepolia should be available for BTC Stake
11
- *
12
- * @module __tests__/unit/catalog/AssetCatalog.test.ts
13
- */
14
-
15
- import { Env } from '@lombard.finance/sdk-common';
16
- import { describe, expect, it } from 'vitest';
17
-
18
- import { featureConfig } from '../../../common/feature-config';
19
- import { ASSET_CATALOG, AssetId, Chain, getAssetChains } from '../../../core';
20
-
21
- describe('Asset Catalog', () => {
22
- // ═══════════════════════════════════════════════════════════════════════════
23
- // LBTC Deployments
24
- // ═══════════════════════════════════════════════════════════════════════════
25
-
26
- describe('LBTC deployments', () => {
27
- describe('Testnet environment', () => {
28
- it('should include Avalanche Fuji (APP-1971)', () => {
29
- const chains = getAssetChains(AssetId.LBTC, Env.testnet);
30
- expect(chains).toContain(Chain.AVALANCHE_FUJI);
31
- });
32
-
33
- it('should include Base Sepolia (APP-1983)', () => {
34
- const chains = getAssetChains(AssetId.LBTC, Env.testnet);
35
- expect(chains).toContain(Chain.BASE_SEPOLIA);
36
- });
37
-
38
- it('should include Sepolia', () => {
39
- const chains = getAssetChains(AssetId.LBTC, Env.testnet);
40
- expect(chains).toContain(Chain.SEPOLIA);
41
- });
42
-
43
- it('should NOT include Holesky (APP-1975 - deprecated)', () => {
44
- const chains = getAssetChains(AssetId.LBTC, Env.testnet);
45
- // Holesky was removed from testnet
46
- expect(chains).not.toContain(Chain.HOLESKY);
47
- });
48
-
49
- it('should NOT include Berachain Bartio (APP-1980 - not implemented)', () => {
50
- const chains = getAssetChains(AssetId.LBTC, Env.testnet);
51
- expect(chains).not.toContain(Chain.BERACHAIN_BARTIO);
52
- });
53
-
54
- it('should NOT include Sonic (APP-2009)', () => {
55
- const chains = getAssetChains(AssetId.LBTC, Env.testnet);
56
- expect(chains).not.toContain(Chain.SONIC);
57
- });
58
- });
59
-
60
- describe('Stage environment', () => {
61
- it('should NOT include Avalanche Fuji (stage uses testnet only)', () => {
62
- const chains = getAssetChains(AssetId.LBTC, Env.stage);
63
- expect(chains).not.toContain(Chain.AVALANCHE_FUJI);
64
- });
65
-
66
- it('should include Base Sepolia', () => {
67
- const chains = getAssetChains(AssetId.LBTC, Env.stage);
68
- expect(chains).toContain(Chain.BASE_SEPOLIA);
69
- });
70
-
71
- it('should NOT include Holesky', () => {
72
- const chains = getAssetChains(AssetId.LBTC, Env.stage);
73
- expect(chains).not.toContain(Chain.HOLESKY);
74
- });
75
-
76
- it('should NOT include Berachain Bartio', () => {
77
- const chains = getAssetChains(AssetId.LBTC, Env.stage);
78
- expect(chains).not.toContain(Chain.BERACHAIN_BARTIO);
79
- });
80
-
81
- it('should NOT include Sonic (APP-2009)', () => {
82
- const chains = getAssetChains(AssetId.LBTC, Env.stage);
83
- expect(chains).not.toContain(Chain.SONIC);
84
- });
85
- });
86
-
87
- describe('Production environment', () => {
88
- it('should include Ethereum mainnet', () => {
89
- const chains = getAssetChains(AssetId.LBTC, Env.prod);
90
- expect(chains).toContain(Chain.ETHEREUM);
91
- });
92
-
93
- it('should include Base', () => {
94
- const chains = getAssetChains(AssetId.LBTC, Env.prod);
95
- expect(chains).toContain(Chain.BASE);
96
- });
97
-
98
- it('should include Stable (APP-1970)', () => {
99
- const chains = getAssetChains(AssetId.LBTC, Env.prod);
100
- expect(chains).toContain(Chain.STABLE);
101
- });
102
-
103
- it('should include Monad when enabled (APP-1970)', () => {
104
- const chains = getAssetChains(AssetId.LBTC, Env.prod);
105
- if (featureConfig.isMonadEnabled) {
106
- expect(chains).toContain(Chain.MONAD);
107
- } else {
108
- expect(chains).not.toContain(Chain.MONAD);
109
- }
110
- });
111
-
112
- it('should NOT include any testnet chains', () => {
113
- const chains = getAssetChains(AssetId.LBTC, Env.prod);
114
- expect(chains).not.toContain(Chain.SEPOLIA);
115
- expect(chains).not.toContain(Chain.HOLESKY);
116
- expect(chains).not.toContain(Chain.BASE_SEPOLIA);
117
- expect(chains).not.toContain(Chain.AVALANCHE_FUJI);
118
- });
119
- });
120
- });
121
-
122
- // ═══════════════════════════════════════════════════════════════════════════
123
- // BTC.b Deployments
124
- // ═══════════════════════════════════════════════════════════════════════════
125
-
126
- describe('BTC.b deployments', () => {
127
- it('should include Avalanche mainnet in production', () => {
128
- const chains = getAssetChains(AssetId.BTCb, Env.prod);
129
- expect(chains).toContain(Chain.AVALANCHE);
130
- });
131
-
132
- it('should include Stable in production (APP-1970)', () => {
133
- const chains = getAssetChains(AssetId.BTCb, Env.prod);
134
- expect(chains).toContain(Chain.STABLE);
135
- });
136
-
137
- it('should include Monad when enabled (APP-1970)', () => {
138
- const chains = getAssetChains(AssetId.BTCb, Env.prod);
139
- if (featureConfig.isMonadEnabled) {
140
- expect(chains).toContain(Chain.MONAD);
141
- } else {
142
- expect(chains).not.toContain(Chain.MONAD);
143
- }
144
- });
145
-
146
- it('should include Avalanche Fuji in testnet', () => {
147
- const chains = getAssetChains(AssetId.BTCb, Env.testnet);
148
- expect(chains).toContain(Chain.AVALANCHE_FUJI);
149
- });
150
- });
151
-
152
- // ═══════════════════════════════════════════════════════════════════════════
153
- // Catalog Structure
154
- // ═══════════════════════════════════════════════════════════════════════════
155
-
156
- describe('Catalog structure', () => {
157
- it('should have a version string', () => {
158
- expect(ASSET_CATALOG.version).toBeDefined();
159
- expect(typeof ASSET_CATALOG.version).toBe('string');
160
- });
161
-
162
- it('should have LBTC asset defined', () => {
163
- expect(ASSET_CATALOG.assets[AssetId.LBTC]).toBeDefined();
164
- });
165
-
166
- it('should have BTCb asset defined', () => {
167
- expect(ASSET_CATALOG.assets[AssetId.BTCb]).toBeDefined();
168
- });
169
-
170
- it('should have correct decimals for LBTC', () => {
171
- expect(ASSET_CATALOG.assets[AssetId.LBTC]?.decimals).toBe(8);
172
- });
173
-
174
- it('should have correct decimals for BTC.b', () => {
175
- expect(ASSET_CATALOG.assets[AssetId.BTCb]?.decimals).toBe(8);
176
- });
177
- });
178
-
179
- // ═══════════════════════════════════════════════════════════════════════════
180
- // Regression Prevention
181
- // ═══════════════════════════════════════════════════════════════════════════
182
-
183
- describe('Regression prevention', () => {
184
- it('testnet LBTC should have at least 3 chains', () => {
185
- const chains = getAssetChains(AssetId.LBTC, Env.testnet);
186
- expect(chains.length).toBeGreaterThanOrEqual(3);
187
- });
188
-
189
- it('stage LBTC should have at least 3 chains', () => {
190
- const chains = getAssetChains(AssetId.LBTC, Env.stage);
191
- expect(chains.length).toBeGreaterThanOrEqual(3);
192
- });
193
-
194
- it('production LBTC should have multiple chains', () => {
195
- const chains = getAssetChains(AssetId.LBTC, Env.prod);
196
- expect(chains.length).toBeGreaterThan(1);
197
- });
198
- });
199
-
200
- // ═══════════════════════════════════════════════════════════════════════════
201
- // APP-1991: Unstaking chains should include Solana, Sui, and Fuji
202
- // ═══════════════════════════════════════════════════════════════════════════
203
-
204
- describe('Unstaking chains availability (APP-1991)', () => {
205
- describe('Testnet environment', () => {
206
- it('should include Solana Testnet for LBTC unstaking', () => {
207
- const chains = getAssetChains(AssetId.LBTC, Env.testnet);
208
- expect(chains).toContain(Chain.SOLANA_TESTNET);
209
- });
210
-
211
- it('should include Sui Testnet for LBTC unstaking', () => {
212
- const chains = getAssetChains(AssetId.LBTC, Env.testnet);
213
- expect(chains).toContain(Chain.SUI_TESTNET);
214
- });
215
-
216
- it('should include Avalanche Fuji for LBTC unstaking', () => {
217
- const chains = getAssetChains(AssetId.LBTC, Env.testnet);
218
- expect(chains).toContain(Chain.AVALANCHE_FUJI);
219
- });
220
- });
221
-
222
- describe('Stage environment', () => {
223
- it('should include Solana Devnet for LBTC unstaking', () => {
224
- const chains = getAssetChains(AssetId.LBTC, Env.stage);
225
- expect(chains).toContain(Chain.SOLANA_DEVNET);
226
- });
227
-
228
- it('should include Sui Testnet for LBTC unstaking', () => {
229
- const chains = getAssetChains(AssetId.LBTC, Env.stage);
230
- expect(chains).toContain(Chain.SUI_TESTNET);
231
- });
232
-
233
- it('should NOT include Avalanche Fuji for LBTC unstaking', () => {
234
- const chains = getAssetChains(AssetId.LBTC, Env.stage);
235
- expect(chains).not.toContain(Chain.AVALANCHE_FUJI);
236
- });
237
- });
238
-
239
- describe('Production environment', () => {
240
- it('should include Solana Mainnet for LBTC unstaking', () => {
241
- const chains = getAssetChains(AssetId.LBTC, Env.prod);
242
- expect(chains).toContain(Chain.SOLANA_MAINNET);
243
- });
244
-
245
- it('should include Sui Mainnet for LBTC unstaking', () => {
246
- const chains = getAssetChains(AssetId.LBTC, Env.prod);
247
- expect(chains).toContain(Chain.SUI_MAINNET);
248
- });
249
- });
250
- });
251
-
252
- // ═══════════════════════════════════════════════════════════════════════════
253
- // APP-1970: LBTC prod should include Monad and Stable networks
254
- // ═══════════════════════════════════════════════════════════════════════════
255
-
256
- describe('Monad and Stable networks (APP-1970)', () => {
257
- it('should include Monad in LBTC production', () => {
258
- const chains = getAssetChains(AssetId.LBTC, Env.prod);
259
- expect(chains).toContain(Chain.MONAD);
260
- });
261
-
262
- it('should include Stable in LBTC production', () => {
263
- const chains = getAssetChains(AssetId.LBTC, Env.prod);
264
- expect(chains).toContain(Chain.STABLE);
265
- });
266
-
267
- it('should include Monad in BTC.b production', () => {
268
- const chains = getAssetChains(AssetId.BTCb, Env.prod);
269
- expect(chains).toContain(Chain.MONAD);
270
- });
271
-
272
- it('should include Stable in BTC.b production', () => {
273
- const chains = getAssetChains(AssetId.BTCb, Env.prod);
274
- expect(chains).toContain(Chain.STABLE);
275
- });
276
- });
277
- });
278
-
279
- describe('Asset Catalog Resolution', () => {
280
- it.skip('should fallback to bundled catalog on API failure', async () => {
281
- // Implementation pending: Asset Catalog is not yet implemented in SDK.
282
- // This test serves as a placeholder for when loadAssetCatalog is available.
283
- /*
284
- vi.spyOn(global, 'fetch').mockRejectedValue(new Error('API Down'));
285
-
286
- const catalog = await loadAssetCatalog({ env: Env.prod });
287
-
288
- expect(catalog).toBeDefined();
289
- expect(catalog.version).toBe(BUNDLED_CATALOG.version);
290
- */
291
- });
292
- });
293
-
@@ -1,47 +0,0 @@
1
- import { describe, expect,it } from 'vitest';
2
-
3
- import { getChainConfig } from '../../../chains/btc/actions/stake/config';
4
- import { Chain } from '../../../core';
5
-
6
- describe('ChainConfig', () => {
7
- it('should return EVM config for EVM chain type', () => {
8
- const config = getChainConfig('evm');
9
- expect(config).toBeDefined();
10
- expect(config?.chainType).toBe('evm');
11
- expect(config?.destChains).toContain(Chain.ETHEREUM);
12
- });
13
-
14
- it('should return Solana config for Solana chain type', () => {
15
- const config = getChainConfig('solana');
16
- expect(config).toBeDefined();
17
- expect(config?.chainType).toBe('solana');
18
- });
19
-
20
- it('should return undefined for invalid chain type', () => {
21
- // @ts-expect-error Testing invalid input
22
- const config = getChainConfig('invalid');
23
- expect(config).toBeUndefined();
24
- });
25
-
26
- describe('Address Validation', () => {
27
- it('should validate EVM addresses', () => {
28
- const config = getChainConfig('evm');
29
- const validAddr = '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0';
30
- const invalidAddr = 'invalid';
31
-
32
- expect(() => config?.addressSchema.parse(validAddr)).not.toThrow();
33
- expect(() => config?.addressSchema.parse(invalidAddr)).toThrow();
34
- });
35
-
36
- it('should validate Solana addresses', () => {
37
- const config = getChainConfig('solana');
38
- // A valid base58 address
39
- const validAddr = '5U3bH5b6XtG99aV6ce2ifLkLXLkHeHuAy46sDjr9Gf3C';
40
- const invalidAddr = 'invalid';
41
-
42
- expect(() => config?.addressSchema.parse(validAddr)).not.toThrow();
43
- expect(() => config?.addressSchema.parse(invalidAddr)).toThrow();
44
- });
45
- });
46
- });
47
-
@@ -1,76 +0,0 @@
1
- import { Env } from '@lombard.finance/sdk-common';
2
- import { describe, expect, it, vi } from 'vitest';
3
-
4
- import { getChainConfig } from '../../../chains/btc/actions/stake/config';
5
- import { ChainId } from '../../../common/chains';
6
- import { Chain } from '../../../core';
7
- import { EvmService } from '../../../services/EvmService';
8
- import { BtcCoreContext } from '../../../shared/context';
9
-
10
- // Mock context
11
- const mockEvm = {
12
- signNetworkFee: vi.fn().mockResolvedValue({
13
- signature: '0xsig',
14
- typedData: {},
15
- }),
16
- getMintingFee: vi.fn().mockResolvedValue('0.00001992'),
17
- } as unknown as EvmService;
18
-
19
- const mockCtx = {
20
- capabilities: {
21
- require: (id: string) => {
22
- if (id === 'evm') return mockEvm;
23
- throw new Error(`Capability ${id} not found`);
24
- },
25
- },
26
- api: {
27
- getFeeSignature: vi.fn().mockResolvedValue({}),
28
- storeFeeSignature: vi.fn(),
29
- },
30
- getProvider: vi.fn().mockResolvedValue({
31
- request: vi.fn().mockResolvedValue('0x1'), // Mock chainId response
32
- }),
33
- // Use prod env to match ChainId.ethereum (LBTC contract exists on mainnet in prod)
34
- env: Env.prod,
35
- } as unknown as BtcCoreContext;
36
-
37
- describe('FeeAuthConfig', () => {
38
- const evmConfig = getChainConfig('evm');
39
-
40
- it('should return FeeAuthConfig for Ethereum mainnet', () => {
41
- const feeAuth = evmConfig?.getFeeAuthConfig(Chain.ETHEREUM);
42
-
43
- expect(feeAuth).not.toBeNull();
44
- expect(feeAuth?.getMintingFee).toBeDefined();
45
- expect(feeAuth?.authorizeFee).toBeDefined();
46
- });
47
-
48
- it('should return null FeeAuthConfig for non-Ethereum EVM chains', () => {
49
- const feeAuth = evmConfig?.getFeeAuthConfig(Chain.BASE);
50
-
51
- expect(feeAuth).toBeNull();
52
- });
53
-
54
- describe('authorizeFee', () => {
55
- it('should convert fee to satoshis before signing', async () => {
56
- const feeAuth = evmConfig?.getFeeAuthConfig(Chain.ETHEREUM);
57
- expect(feeAuth).toBeDefined();
58
-
59
- if (!feeAuth) return;
60
-
61
- await feeAuth.authorizeFee(mockCtx, {
62
- chainId: ChainId.ethereum,
63
- recipient: '0x123',
64
- fee: '0.00001992', // BTC decimal
65
- });
66
-
67
- // Check if signNetworkFee was called with satoshis (1992)
68
- expect(mockEvm.signNetworkFee).toHaveBeenCalledWith(
69
- expect.objectContaining({
70
- fee: '1992', // Converted to satoshis
71
- }),
72
- );
73
- });
74
- });
75
- });
76
-
@@ -1,128 +0,0 @@
1
- /**
2
- * LBTC Minting Fee Tests
3
- *
4
- * Tests to verify the fee fetching logic works correctly.
5
- *
6
- * The minting fee (also called "network fee" or "auto-mint fee") is the amount
7
- * in satoshis that is deducted from the minted LBTC to compensate Lombard for
8
- * paying the EVM gas costs during the auto-mint process.
9
- *
10
- * Fee Structure:
11
- * - Non-subsidized chains (Ethereum, Sepolia): Have non-zero fees
12
- * - Subsidized chains (Base, BSC): Have 0 fees (Lombard absorbs gas costs)
13
- *
14
- * The fee is read from the on-chain AssetRouter.maxMintCommission() function.
15
- */
16
-
17
- import { describe, expect, it } from 'vitest';
18
-
19
- import { Token } from '../../../tokens/token-addresses';
20
- import { fromSatoshi, toSatoshi } from '../../../utils/satoshi';
21
-
22
- describe('Minting Fee Logic', () => {
23
- // ═══════════════════════════════════════════════════════════════════════════
24
- // Satoshi Conversion Tests
25
- // These are the underlying conversion functions used by getMintingFee
26
- // ═══════════════════════════════════════════════════════════════════════════
27
-
28
- describe('fromSatoshi conversion', () => {
29
- it('should convert 0 satoshis to 0 BTC', () => {
30
- const btc = fromSatoshi('0');
31
- expect(btc.toNumber()).toBe(0);
32
- expect(btc.toString()).toBe('0');
33
- });
34
-
35
- it('should convert 38 satoshis to 0.00000038 BTC', () => {
36
- // This is the actual Ethereum mainnet fee
37
- const btc = fromSatoshi('38');
38
- expect(btc.toNumber()).toBeCloseTo(0.00000038, 10);
39
- });
40
-
41
- it('should convert 1992 satoshis to 0.00001992 BTC', () => {
42
- // Example fee value
43
- const btc = fromSatoshi('1992');
44
- expect(btc.toNumber()).toBeCloseTo(0.00001992, 10);
45
- });
46
-
47
- it('should convert 100000000 satoshis to 1 BTC', () => {
48
- const btc = fromSatoshi('100000000');
49
- expect(btc.toNumber()).toBe(1);
50
- });
51
- });
52
-
53
- describe('toSatoshi conversion', () => {
54
- it('should convert 0 BTC to 0 satoshis', () => {
55
- const sats = toSatoshi('0');
56
- expect(sats.toNumber()).toBe(0);
57
- });
58
-
59
- it('should convert 0.00000038 BTC to 38 satoshis', () => {
60
- const sats = toSatoshi('0.00000038');
61
- expect(sats.toNumber()).toBe(38);
62
- });
63
-
64
- it('should convert 1 BTC to 100000000 satoshis', () => {
65
- const sats = toSatoshi('1');
66
- expect(sats.toNumber()).toBe(100000000);
67
- });
68
- });
69
-
70
- // ═══════════════════════════════════════════════════════════════════════════
71
- // Token Support
72
- // ═══════════════════════════════════════════════════════════════════════════
73
-
74
- describe('Supported tokens', () => {
75
- it('should have LBTC token defined', () => {
76
- expect(Token.LBTC).toBe('LBTC');
77
- });
78
-
79
- it('should have BTCb token defined', () => {
80
- expect(Token.BTCb).toBe('BTC.b');
81
- });
82
-
83
- it('should have BTCK token defined', () => {
84
- expect(Token.BTCK).toBe('BTCK');
85
- });
86
- });
87
-
88
- // ═══════════════════════════════════════════════════════════════════════════
89
- // Fee Behavior Documentation
90
- // ═══════════════════════════════════════════════════════════════════════════
91
-
92
- describe('Expected fee behavior (documentation)', () => {
93
- /**
94
- * The minting fee is the auto-mint commission in satoshis.
95
- *
96
- * When a user deposits BTC, Lombard automatically mints LBTC to their address.
97
- * The fee compensates Lombard for paying the EVM gas costs.
98
- *
99
- * Non-subsidized chains (Ethereum, Sepolia): Have fees configured on-chain
100
- * Subsidized chains (Base, BSC): Lombard absorbs gas costs, fee = 0
101
- */
102
-
103
- it('should document fee structure', () => {
104
- // Ethereum mainnet always has a fee (unsubsidized)
105
- const ethereumMainnetFee = 36; // satoshis
106
- expect(ethereumMainnetFee).toBeGreaterThan(0);
107
-
108
- // Sepolia (stage) has fee configured
109
- const sepoliaStageFee = 1433; // satoshis
110
- expect(sepoliaStageFee).toBeGreaterThan(0);
111
-
112
- // Base is subsidized by design
113
- const baseFee = 0;
114
- expect(baseFee).toBe(0);
115
- });
116
-
117
- it('should document which chains are subsidized vs non-subsidized', () => {
118
- // Subsidized chains (fee = 0 by design, Lombard pays gas)
119
- const subsidizedChains = ['Base', 'BSC'];
120
-
121
- // Non-subsidized chains (fee charged to user in LBTC)
122
- const nonSubsidizedChains = ['Ethereum Mainnet', 'Sepolia'];
123
-
124
- expect(subsidizedChains.length).toBeGreaterThan(0);
125
- expect(nonSubsidizedChains.length).toBeGreaterThan(0);
126
- });
127
- });
128
- });