@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,302 +0,0 @@
1
- /**
2
- * API Namespace
3
- *
4
- * Provides convenient access to Lombard API data-fetching operations,
5
- * with environment pre-configured from SDK initialization.
6
- *
7
- * All API-related read operations are namespaced under `sdk.api.*`
8
- *
9
- * @example
10
- * ```ts
11
- * const sdk = new LombardSDK({ env: Env.prod, providers: {...} });
12
- *
13
- * // Fetch deposits for an address
14
- * const deposits = await sdk.api.deposits('0x...');
15
- *
16
- * // Fetch unstakes with options
17
- * const unstakes = await sdk.api.unstakes('0x...', { show_redeems: true });
18
- *
19
- * // Fetch points (defaults to current season)
20
- * const points = await sdk.api.points('0x...');
21
- *
22
- * // Fetch LBTC exchange rate
23
- * const rate = await sdk.api.exchangeRatio();
24
- *
25
- * // Get existing BTC deposit address
26
- * const depositAddr = await sdk.api.depositAddress('0x...', ChainId.ethereum);
27
- * ```
28
- *
29
- * @module client/ApiNamespace
30
- */
31
-
32
- import { DEFAULT_ENV, Env } from '@lombard.finance/sdk-common';
33
- import type BigNumber from 'bignumber.js';
34
-
35
- import { getDepositBtcAddress } from '../api-functions/getDepositBtcAddress/getDepositBtcAddress';
36
- import {
37
- type Deposit,
38
- getDepositsByAddress,
39
- } from '../api-functions/getDepositsByAddress/getDepositsByAddress';
40
- import { getExchangeRatio } from '../api-functions/getLBTCExchangeRate/get-exchange-ratio';
41
- import {
42
- getPointsByAddress,
43
- type IPointsByAddressSeason1,
44
- type IPointsByAddressSeason2,
45
- } from '../api-functions/getPointsByAddress/getPointsByAddress';
46
- import {
47
- getUnstakesByAddress,
48
- type Unstake,
49
- } from '../api-functions/getUnstakesByAddress/getUnstakesByAddress';
50
- import type { ChainId, SolanaChain, StarknetChainId, SuiChain } from '../common/chains';
51
- import type { Token } from '../tokens/token-addresses';
52
-
53
- /* -------------------------------------------------------------------------- */
54
- /* Types */
55
- /* -------------------------------------------------------------------------- */
56
-
57
- /** Supported API versions (for future v2 migration) */
58
- export type ApiVersion = 'v1' | 'v2';
59
-
60
- /** Options for fetching unstakes */
61
- export interface UnstakeOptions {
62
- /** Include redeem operations */
63
- show_redeems?: boolean;
64
- /** Include unstake operations */
65
- show_unstakes?: boolean;
66
- /** Filter for native chain redemptions */
67
- to_native?: boolean;
68
- }
69
-
70
- /** Options for fetching exchange rate */
71
- export interface ExchangeRateOptions {
72
- /** Chain ID (exchange rate is same for all chains, defaults to Ethereum) */
73
- chainId?: ChainId;
74
- /** Amount in satoshis to calculate exchange for */
75
- amount?: BigNumber.Value;
76
- }
77
-
78
- /** Options for fetching deposit address */
79
- export interface DepositAddressOptions {
80
- /** Partner ID for the deposit address */
81
- partnerId?: string;
82
- /** Token type (LBTC, BTCK, BTCb) */
83
- token?: Token;
84
- }
85
-
86
- /** Destination chain types for deposit address */
87
- export type DestinationChain = ChainId | SuiChain | SolanaChain | StarknetChainId;
88
-
89
- /* -------------------------------------------------------------------------- */
90
- /* ApiNamespace */
91
- /* -------------------------------------------------------------------------- */
92
-
93
- /**
94
- * API Namespace Class
95
- *
96
- * Provides convenient wrappers around Lombard API functions with
97
- * environment pre-bound from SDK configuration.
98
- *
99
- * Designed for easy migration to API v2 when available (January 2025).
100
- */
101
- export class ApiNamespace {
102
- /**
103
- * Internal API version flag for future v2 migration.
104
- * When v2 is ready, we can switch implementations transparently.
105
- */
106
- private readonly apiVersion: ApiVersion = 'v1';
107
-
108
- constructor(private readonly env: Env = DEFAULT_ENV) {}
109
-
110
- /* -------------------------------------------------------------------------- */
111
- /* Deposits */
112
- /* -------------------------------------------------------------------------- */
113
-
114
- /**
115
- * Fetch all deposits for an address.
116
- *
117
- * Returns deposits from both Direct BTC Deposits and Native Deposits APIs,
118
- * unified into a single list sorted by block time (newest first).
119
- *
120
- * @param address - The EVM/BTC address to fetch deposits for
121
- * @returns Promise resolving to array of Deposit objects
122
- *
123
- * @example
124
- * ```ts
125
- * const deposits = await sdk.api.deposits('0x1234...');
126
- * deposits.forEach(d => {
127
- * console.log(`${d.amount} BTC deposited at block ${d.blockHeight}`);
128
- * });
129
- * ```
130
- */
131
- async deposits(address: string): Promise<Deposit[]> {
132
- // Future: if (this.apiVersion === 'v2') return this.depositsV2(address);
133
- return getDepositsByAddress({ address, env: this.env });
134
- }
135
-
136
- /* -------------------------------------------------------------------------- */
137
- /* Unstakes */
138
- /* -------------------------------------------------------------------------- */
139
-
140
- /**
141
- * Fetch all unstakes/redemptions for an address.
142
- *
143
- * Returns unstake records for both direct BTC unstakes and
144
- * native blockchain redemptions.
145
- *
146
- * @param address - The address that initiated the unstakes
147
- * @param options - Optional filters (show_redeems, show_unstakes, to_native)
148
- * @returns Promise resolving to array of Unstake objects
149
- *
150
- * @example
151
- * ```ts
152
- * // Get all unstakes
153
- * const unstakes = await sdk.api.unstakes('0x1234...');
154
- *
155
- * // Get only native chain redemptions
156
- * const redeems = await sdk.api.unstakes('0x1234...', { to_native: true });
157
- * ```
158
- */
159
- async unstakes(address: string, options?: UnstakeOptions): Promise<Unstake[]> {
160
- // Future: if (this.apiVersion === 'v2') return this.unstakesV2(address, options);
161
- return getUnstakesByAddress({ address, env: this.env, options });
162
- }
163
-
164
- /* -------------------------------------------------------------------------- */
165
- /* Points */
166
- /* -------------------------------------------------------------------------- */
167
-
168
- /**
169
- * Fetch Lux points for an address (Season 1).
170
- *
171
- * @param address - The wallet address
172
- * @param season - Season number (1)
173
- * @returns Promise resolving to Season 1 points breakdown
174
- */
175
- async points(
176
- address: string,
177
- season: 1,
178
- ): Promise<IPointsByAddressSeason1>;
179
-
180
- /**
181
- * Fetch Lux points for an address (Season 2).
182
- *
183
- * @param address - The wallet address
184
- * @param season - Season number (2)
185
- * @returns Promise resolving to Season 2 points breakdown
186
- */
187
- async points(
188
- address: string,
189
- season: 2,
190
- ): Promise<IPointsByAddressSeason2>;
191
-
192
- /**
193
- * Fetch Lux points for an address (defaults to current season).
194
- *
195
- * @param address - The wallet address
196
- * @param season - Optional season number (defaults to current)
197
- * @returns Promise resolving to points breakdown
198
- *
199
- * @example
200
- * ```ts
201
- * // Get current season points
202
- * const points = await sdk.api.points('0x1234...');
203
- * console.log(`Total: ${points.totalPoints}, Holding: ${points.holdingPoints}`);
204
- *
205
- * // Get Season 1 points
206
- * const s1 = await sdk.api.points('0x1234...', 1);
207
- * ```
208
- */
209
- async points(
210
- address: string,
211
- season?: number,
212
- ): Promise<IPointsByAddressSeason1 | IPointsByAddressSeason2>;
213
-
214
- async points(
215
- address: string,
216
- season?: number,
217
- ): Promise<IPointsByAddressSeason1 | IPointsByAddressSeason2> {
218
- // Future: if (this.apiVersion === 'v2') return this.pointsV2(address, season);
219
- return getPointsByAddress({ address, env: this.env, season });
220
- }
221
-
222
- /* -------------------------------------------------------------------------- */
223
- /* Token Exchange Ratios */
224
- /* -------------------------------------------------------------------------- */
225
-
226
- /**
227
- * Fetch the current exchange ratios for all supported tokens.
228
- *
229
- * Returns Token:BTC and BTC:Token ratios for LBTC and other supported tokens.
230
- * This is the recommended method for getting exchange rate information.
231
- *
232
- * @returns Promise resolving to exchange ratio info for each token
233
- *
234
- * @example
235
- * ```ts
236
- * const ratios = await sdk.api.exchangeRatio();
237
- *
238
- * // Access LBTC ratios
239
- * const lbtcRatio = ratios.LBTC;
240
- * console.log(`LBTC:BTC = ${lbtcRatio.tokenBTCRatio}`); // How many LBTC per 1 BTC
241
- * console.log(`BTC:LBTC = ${lbtcRatio.BTCTokenRatio}`); // How many BTC per 1 LBTC
242
- * ```
243
- */
244
- async exchangeRatio() {
245
- return getExchangeRatio({ env: this.env });
246
- }
247
-
248
- /* -------------------------------------------------------------------------- */
249
- /* Deposit Address */
250
- /* -------------------------------------------------------------------------- */
251
-
252
- /**
253
- * Get an existing BTC deposit address for a recipient.
254
- *
255
- * Returns the most recent non-deprecated deposit address for the
256
- * given recipient address and destination chain.
257
- *
258
- * @param address - The destination address where LBTC will be claimed
259
- * @param chainId - The destination chain
260
- * @param options - Optional partner ID and token type
261
- * @returns Promise resolving to the BTC deposit address
262
- * @throws Error if no deposit address found
263
- *
264
- * @example
265
- * ```ts
266
- * try {
267
- * const btcAddr = await sdk.api.depositAddress('0x1234...', ChainId.ethereum);
268
- * console.log(`Send BTC to: ${btcAddr}`);
269
- * } catch (e) {
270
- * console.log('No deposit address found - need to generate one');
271
- * }
272
- * ```
273
- */
274
- async depositAddress(
275
- address: string,
276
- chainId: DestinationChain,
277
- options?: DepositAddressOptions,
278
- ): Promise<string> {
279
- // Future: if (this.apiVersion === 'v2') return this.depositAddressV2(address, chainId, options);
280
- return getDepositBtcAddress({
281
- address,
282
- chainId,
283
- env: this.env,
284
- partnerId: options?.partnerId,
285
- token: options?.token,
286
- });
287
- }
288
-
289
- /* -------------------------------------------------------------------------- */
290
- /* Utility Methods */
291
- /* -------------------------------------------------------------------------- */
292
-
293
- /**
294
- * Get the current API version being used.
295
- *
296
- * @returns The API version string ('v1' or 'v2')
297
- */
298
- getApiVersion(): ApiVersion {
299
- return this.apiVersion;
300
- }
301
- }
302
-
@@ -1,112 +0,0 @@
1
- /**
2
- * Asset Namespace
3
- *
4
- * Provides type-safe access to the asset catalog bound to an environment.
5
- * All asset-related operations are namespaced under `sdk.assets.*`
6
- *
7
- * @example
8
- * ```ts
9
- * const sdk = createLombardSDK({ env: Env.prod });
10
- *
11
- * const address = sdk.assets.getAddress(AssetId.LBTC, Chain.ETHEREUM);
12
- * const decimals = sdk.assets.getDecimals(AssetId.LBTC);
13
- * const chains = sdk.assets.getChains(AssetId.LBTC);
14
- * ```
15
- */
16
-
17
- import { DEFAULT_ENV, Env } from '@lombard.finance/sdk-common';
18
-
19
- import {
20
- ASSET_CATALOG,
21
- type AssetCatalog,
22
- type AssetId,
23
- type Chain,
24
- getAssetAddress,
25
- getAssetByAddress,
26
- getAssetChains,
27
- getAssetDecimals,
28
- getAssetEnvironments,
29
- getAssetMetadata,
30
- getAssetRouter,
31
- getBridgeAdapter,
32
- getPublicMarketMaker,
33
- getSupportedAssets,
34
- isAssetDeployed,
35
- usesAssetRouter,
36
- } from '../core';
37
-
38
- export class AssetNamespace {
39
- private readonly catalog: AssetCatalog;
40
-
41
- constructor(
42
- private readonly env: Env = DEFAULT_ENV,
43
- catalog?: AssetCatalog,
44
- ) {
45
- this.catalog = catalog ?? ASSET_CATALOG;
46
- }
47
-
48
- /** Get token contract address */
49
- getAddress(asset: AssetId, chain: Chain): string | undefined {
50
- return getAssetAddress(asset, this.env, chain, this.catalog);
51
- }
52
-
53
- /** Get token decimals */
54
- getDecimals(asset: AssetId): number {
55
- return getAssetDecimals(asset, this.catalog);
56
- }
57
-
58
- /** Get asset metadata (decimals, symbol, name) */
59
- getMetadata(asset: AssetId) {
60
- return getAssetMetadata(asset, this.catalog);
61
- }
62
-
63
- /** Check if asset uses an asset router contract */
64
- usesAssetRouter(asset: AssetId, chain: Chain): boolean {
65
- return usesAssetRouter(asset, this.env, chain, this.catalog);
66
- }
67
-
68
- /** Get asset router contract address */
69
- getAssetRouter(asset: AssetId, chain: Chain): string | undefined {
70
- return getAssetRouter(asset, this.env, chain, this.catalog);
71
- }
72
-
73
- /** Get bridge adapter address */
74
- getBridgeAdapter(asset: AssetId, chain: Chain): string | undefined {
75
- return getBridgeAdapter(asset, this.env, chain, this.catalog);
76
- }
77
-
78
- /** Get public market maker address */
79
- getPublicMarketMaker(asset: AssetId, chain: Chain): string | undefined {
80
- return getPublicMarketMaker(asset, this.env, chain, this.catalog);
81
- }
82
-
83
- /** Find asset by contract address (reverse lookup) */
84
- getByAddress(address: string, chain: Chain): AssetId | undefined {
85
- return getAssetByAddress(address, this.env, chain, this.catalog);
86
- }
87
-
88
- /** Check if asset is deployed on a chain */
89
- isDeployed(asset: AssetId, chain: Chain): boolean {
90
- return isAssetDeployed(asset, this.env, chain, this.catalog);
91
- }
92
-
93
- /** Get all chains where asset is deployed */
94
- getChains(asset: AssetId): Chain[] {
95
- return getAssetChains(asset, this.env, this.catalog);
96
- }
97
-
98
- /** Get all environments where asset is deployed on a chain */
99
- getEnvironments(asset: AssetId, chain: Chain): Env[] {
100
- return getAssetEnvironments(asset, chain, this.catalog);
101
- }
102
-
103
- /** Get all supported assets */
104
- getSupportedAssets(): AssetId[] {
105
- return getSupportedAssets(this.catalog);
106
- }
107
-
108
- /** Direct access to the asset catalog */
109
- getCatalog(): AssetCatalog {
110
- return this.catalog;
111
- }
112
- }
@@ -1,212 +0,0 @@
1
- /**
2
- * Main Lombard SDK Class
3
- *
4
- * Entry point for all Lombard operations.
5
- *
6
- * @module client/LombardSDK
7
- */
8
-
9
- import type { Env } from '@lombard.finance/sdk-common';
10
-
11
- import { BtcActions } from '../chains/btc/BtcActions';
12
- import { EvmActions } from '../chains/evm/EvmActions';
13
- import { SolanaActions } from '../chains/solana/SolanaActions';
14
- import { StarknetActions } from '../chains/starknet/StarknetActions';
15
- import { SuiActions } from '../chains/sui/SuiActions';
16
- import type {
17
- AnyProvider,
18
- BtcProvider,
19
- EvmProvider,
20
- SolanaProvider,
21
- StarknetProvider,
22
- SuiProvider,
23
- } from '../config/providers';
24
- import type { ProviderGetters, ResolvedLombardConfig } from '../config/types';
25
- import { getProviderGetter } from '../config/types';
26
- import { CapabilityRegistry } from '../modules/CapabilityRegistry';
27
- import { ReferralsClient } from '../referrals/ReferralsClient';
28
- import { LombardError, ProviderErrorCode } from '../shared/errors';
29
- import { ApiNamespace } from './ApiNamespace';
30
- import { AssetNamespace } from './AssetNamespace';
31
- import { PartnerConfiguration } from './PartnerConfiguration';
32
-
33
- type ProviderType = keyof ProviderGetters;
34
- type ProviderCache = Map<ProviderType, AnyProvider>;
35
-
36
- /**
37
- * Main Lombard SDK
38
- *
39
- * Provides access to all chain actions and features.
40
- *
41
- * **Important**: Use `createLombardSDK()` to create instances.
42
- * Direct instantiation is not recommended.
43
- *
44
- * @example
45
- * ```typescript
46
- * // Recommended: Use the async factory
47
- * const sdk = await createLombardSDK({
48
- * env: Env.prod,
49
- * providers: {
50
- * evm: (chain) => window.ethereum,
51
- * },
52
- * });
53
- *
54
- * // Access chain actions
55
- * const btcStake = sdk.chain.btc.stake({
56
- * assetOut: AssetId.LBTC,
57
- * destChain: Chain.ETHEREUM,
58
- * });
59
- * ```
60
- */
61
- export class LombardSDK<E extends Env = Env> {
62
- readonly config: ResolvedLombardConfig;
63
- readonly env: Env;
64
-
65
- /** Partner configuration manager */
66
- private partnerConfig: PartnerConfiguration;
67
-
68
- /** Provider cache */
69
- private providerCache: ProviderCache = new Map();
70
-
71
- /**
72
- * Chain actions (user-facing API)
73
- *
74
- * Access operations for each supported chain:
75
- * - btc: Bitcoin operations (stake, stakeAndDeploy, deposit)
76
- * - evm: EVM operations (deposit, stake, unstake, deploy, redeem)
77
- * - solana: Solana operations (unstake)
78
- * - sui: Sui operations (unstake)
79
- * - starknet: Starknet operations (unstake)
80
- */
81
- public readonly chain: {
82
- btc: BtcActions;
83
- evm: EvmActions;
84
- solana: SolanaActions;
85
- sui: SuiActions;
86
- starknet: StarknetActions;
87
- };
88
-
89
- public readonly assets: AssetNamespace;
90
-
91
- /**
92
- * API namespace for data-fetching operations
93
- *
94
- * Provides convenient access to Lombard API read operations:
95
- * - deposits: Fetch deposit history
96
- * - unstakes: Fetch unstake/redemption history
97
- * - points: Fetch Lux points
98
- * - exchangeRatio: Get exchange ratios for all supported tokens
99
- * - depositAddress: Get existing BTC deposit address
100
- */
101
- public readonly api: ApiNamespace;
102
-
103
- /** Feature clients */
104
- public readonly referrals: ReferralsClient;
105
-
106
- /** Capability registry (manages optional module services) */
107
- public readonly capabilities: CapabilityRegistry;
108
-
109
- constructor(config: ResolvedLombardConfig) {
110
- this.config = config;
111
- this.env = config.env as E;
112
-
113
- // Initialize partner configuration
114
- this.partnerConfig = new PartnerConfiguration(config.partner);
115
-
116
- // Initialize capability registry (config-only, no SDK reference needed)
117
- this.capabilities = new CapabilityRegistry(
118
- this.config.modules,
119
- this.config,
120
- );
121
-
122
- // Initialize chain actions with config (not SDK)
123
- this.chain = {
124
- btc: new BtcActions(this.config),
125
- evm: new EvmActions(this.config),
126
- solana: new SolanaActions(this.config),
127
- sui: new SuiActions(this.config),
128
- starknet: new StarknetActions(this.config),
129
- };
130
-
131
- // Initialize feature clients
132
- this.referrals = new ReferralsClient(this);
133
-
134
- // Initialize asset namespace
135
- this.assets = new AssetNamespace(this.env);
136
-
137
- // Initialize API namespace
138
- this.api = new ApiNamespace(this.env);
139
- }
140
-
141
- /**
142
- * Get a provider for a specific chain type
143
- *
144
- * Providers are lazily loaded and cached.
145
- *
146
- * @param type - Provider type ('evm', 'bitcoin', etc.)
147
- * @returns Provider instance
148
- * @throws LombardError if provider not configured
149
- */
150
- async getProvider(type: 'evm'): Promise<EvmProvider>;
151
- async getProvider(type: 'bitcoin'): Promise<BtcProvider>;
152
- async getProvider(type: 'solana'): Promise<SolanaProvider>;
153
- async getProvider(type: 'sui'): Promise<SuiProvider>;
154
- async getProvider(type: 'starknet'): Promise<StarknetProvider>;
155
- async getProvider(type: ProviderType): Promise<AnyProvider>;
156
- async getProvider(type: ProviderType): Promise<AnyProvider> {
157
- const cacheKey = type;
158
-
159
- // Check cache first
160
- if (this.providerCache.has(cacheKey)) {
161
- return this.providerCache.get(cacheKey) as AnyProvider;
162
- }
163
-
164
- // Get provider getter from config using safe accessor
165
- const getter = getProviderGetter<AnyProvider>(this.config.providers, type);
166
- if (!getter) {
167
- throw LombardError.providerMissing(type, type);
168
- }
169
-
170
- // Call getter to get provider
171
- const provider = await getter();
172
- if (!provider) {
173
- throw new LombardError(
174
- ProviderErrorCode.PROVIDER_INITIALIZATION_FAILED,
175
- `Failed to initialize ${type} provider`,
176
- );
177
- }
178
-
179
- // Cache and return
180
- this.providerCache.set(cacheKey, provider);
181
- return provider;
182
- }
183
-
184
- /**
185
- * Configure partner settings
186
- *
187
- * @param config - Partner configuration
188
- */
189
- configure(config: Parameters<PartnerConfiguration['update']>[0]): void {
190
- this.partnerConfig.update(config);
191
- }
192
-
193
- /**
194
- * Register a custom asset
195
- *
196
- * TODO: Implement asset registration
197
- */
198
- registerAsset(_asset: unknown): void {
199
- throw new Error('Not implemented yet');
200
- }
201
-
202
- /**
203
- * Get partner configuration
204
- */
205
- getPartnerConfig(): PartnerConfiguration {
206
- return this.partnerConfig;
207
- }
208
-
209
- getPartnerId(): string | undefined {
210
- return this.partnerConfig.getPartnerId();
211
- }
212
- }
@@ -1,50 +0,0 @@
1
- /**
2
- * Partner configuration management
3
- *
4
- * This module handles partner-specific configuration.
5
- */
6
-
7
- import type { PartnerConfig } from '../config/types';
8
-
9
- /**
10
- * Partner configuration manager
11
- *
12
- * Manages partner-specific settings.
13
- */
14
- export class PartnerConfiguration {
15
- private config: PartnerConfig | undefined;
16
-
17
- constructor(config?: PartnerConfig) {
18
- this.config = config;
19
- }
20
-
21
- /**
22
- * Get partner ID
23
- */
24
- getPartnerId(): string | undefined {
25
- return this.config?.partnerId;
26
- }
27
-
28
- /**
29
- * Check if partner is configured
30
- */
31
- isConfigured(): boolean {
32
- return this.config !== undefined;
33
- }
34
-
35
- /**
36
- * Update partner configuration
37
- *
38
- * @param config - New partner configuration
39
- */
40
- update(config: PartnerConfig): void {
41
- this.config = config;
42
- }
43
-
44
- /**
45
- * Clear partner configuration
46
- */
47
- clear(): void {
48
- this.config = undefined;
49
- }
50
- }