@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,295 +0,0 @@
1
- /**
2
- * DeFi Stake & Bake Registry
3
- *
4
- * Provides a strongly typed registry of staking integrations so that
5
- * protocol/token/env/chain support is declarative and composable.
6
- */
7
-
8
- import { Env } from '@lombard.finance/sdk-common';
9
- import { Abi } from 'viem';
10
-
11
- import { ChainId } from '../common/chains';
12
- import { ContractInfo } from '../common/contract-info';
13
- import { AssetId } from '../core/assets';
14
- import { Token } from '../tokens/token-addresses';
15
- import { SILO_VAULT_SPENDER_ABI } from '../vaults/abi';
16
- import {
17
- VEDA_VAULT_SPENDER_CONTRACTS,
18
- VEDA_VAULT_STAKE_AND_BAKE_CHAINS,
19
- VedaVaultStakeAndBakeChain,
20
- } from '../vaults/lib/config';
21
-
22
- /**
23
- * Approval mode for stake and bake operations.
24
- * - `permit`: Off-chain EIP-2612 signature (gasless for user, backend pays gas)
25
- * - `approve`: On-chain ERC-20 approval transaction (user pays gas)
26
- */
27
- export type ApprovalMode = 'permit' | 'approve';
28
-
29
- export type StakeAndBakeAmountStrategy = 'identity' | 'btcToLbtc';
30
- export type StakeAndBakeDeadlineStrategy = 'expiry' | 'zero';
31
- export type StakeAndBakeNonceStrategy = 'chain' | 'skip';
32
-
33
- export interface StakeAndBakeStrategyConfig {
34
- amountStrategy: StakeAndBakeAmountStrategy;
35
- approval: {
36
- mode: ApprovalMode;
37
- domainName: string;
38
- domainVersion: string;
39
- deadlineStrategy: StakeAndBakeDeadlineStrategy;
40
- nonceStrategy: StakeAndBakeNonceStrategy;
41
- };
42
- spenderContract: ContractInfo;
43
- }
44
-
45
- export interface StakeAndBakeStrategy extends StakeAndBakeStrategyConfig {
46
- protocol: DefiProtocol;
47
- token: StakeAndBakeToken;
48
- env: Env;
49
- chainId: ChainId;
50
- }
51
-
52
- type ChainStrategyMap = Partial<Record<ChainId, StakeAndBakeStrategyConfig>>;
53
- type EnvStrategyMap = Partial<Record<Env, ChainStrategyMap>>;
54
- type TokenStrategyMap = Partial<Record<StakeAndBakeToken, EnvStrategyMap>>;
55
- export type StakeAndBakeRegistry = Record<DefiProtocol, TokenStrategyMap>;
56
-
57
- const ALL_ENVS = Object.values(Env) as Env[];
58
-
59
- // Use single source of truth from vaults/lib/config.ts
60
- // VEDA_VAULT_STAKE_AND_BAKE_CHAINS is imported and used directly below
61
-
62
- export const SILO_VAULT_SPENDER_CONTRACT_GASTALD_FUJI: `0x${string}` =
63
- '0xFe1e76D9e065e879A9D1914482f0F13d85F39877';
64
-
65
- function mapChains<const C extends readonly ChainId[]>(
66
- chains: C,
67
- factory: (chain: C[number]) => StakeAndBakeStrategyConfig,
68
- ): ChainStrategyMap {
69
- return chains.reduce<ChainStrategyMap>((acc, chain) => {
70
- acc[chain] = factory(chain);
71
- return acc;
72
- }, {} as ChainStrategyMap);
73
- }
74
-
75
- function mapEnvs<const E extends readonly Env[]>(
76
- envs: E,
77
- factory: (env: E[number]) => ChainStrategyMap,
78
- ): EnvStrategyMap {
79
- return envs.reduce<EnvStrategyMap>((acc, env) => {
80
- acc[env] = factory(env);
81
- return acc;
82
- }, {} as EnvStrategyMap);
83
- }
84
-
85
- function getVedaSpenderContract(
86
- chainId: VedaVaultStakeAndBakeChain,
87
- ): ContractInfo {
88
- const contract = VEDA_VAULT_SPENDER_CONTRACTS[chainId];
89
- if (!contract) {
90
- throw new Error(`Missing Veda spender contract for chain ${chainId}`);
91
- }
92
- return contract;
93
- }
94
-
95
- const _DefiRegistryTokens = {
96
- LBTC: Token.LBTC,
97
- BTCb: Token.BTCb,
98
- BTC: 'BTC',
99
- } as const;
100
-
101
- export type DefiRegistryToken =
102
- (typeof _DefiRegistryTokens)[keyof typeof _DefiRegistryTokens];
103
-
104
- /**
105
- * DeFi Protocol identifiers - SINGLE SOURCE OF TRUTH
106
- *
107
- * These are the canonical protocol identifiers used throughout the SDK.
108
- * All other protocol references should use these values.
109
- */
110
- export const DefiProtocol = {
111
- Veda: 'veda',
112
- Silo: 'silo',
113
- } as const;
114
-
115
- export type DefiProtocol = (typeof DefiProtocol)[keyof typeof DefiProtocol];
116
-
117
- export const DefiProtocols = {
118
- [DefiProtocol.Veda]: {
119
- name: 'Lombard DeFi Vault',
120
- url: 'https://lombard.finance',
121
- },
122
- [DefiProtocol.Silo]: {
123
- name: 'Silo Finance Vault',
124
- url: 'https://silo.finance',
125
- },
126
- } as const;
127
-
128
- const VEDA_LBTC_PERMIT_APPROVAL: StakeAndBakeStrategyConfig['approval'] = {
129
- mode: 'permit',
130
- domainName: 'Lombard Staked Bitcoin',
131
- domainVersion: '1',
132
- deadlineStrategy: 'expiry',
133
- nonceStrategy: 'chain',
134
- };
135
-
136
- const SILO_BTCB_APPROVE_APPROVAL: StakeAndBakeStrategyConfig['approval'] = {
137
- mode: 'approve',
138
- domainName: 'Bitcoin',
139
- domainVersion: '1',
140
- deadlineStrategy: 'zero',
141
- nonceStrategy: 'skip',
142
- };
143
-
144
- /**
145
- * DeFi Registry: Token approval configurations by vault, token, env, and chain.
146
- *
147
- * TODO: Update the format of this registry to match asset catalog and chain catalog
148
- */
149
- export const DEFI_REGISTRY: StakeAndBakeRegistry = {
150
- [DefiProtocol.Veda]: {
151
- [Token.LBTC]: mapEnvs(ALL_ENVS, () =>
152
- mapChains(VEDA_VAULT_STAKE_AND_BAKE_CHAINS, chain => ({
153
- amountStrategy: 'identity',
154
- approval: { ...VEDA_LBTC_PERMIT_APPROVAL },
155
- spenderContract: getVedaSpenderContract(chain),
156
- })),
157
- ),
158
- BTC: mapEnvs(ALL_ENVS, () =>
159
- mapChains(VEDA_VAULT_STAKE_AND_BAKE_CHAINS, chain => ({
160
- amountStrategy: 'btcToLbtc',
161
- approval: { ...VEDA_LBTC_PERMIT_APPROVAL },
162
- spenderContract: getVedaSpenderContract(chain),
163
- })),
164
- ),
165
- },
166
- [DefiProtocol.Silo]: {
167
- [Token.BTCb]: {
168
- // Silo on Avalanche Fuji is only available on testnet (Gastald backend)
169
- // Stage environment does not support Avalanche Fuji
170
- [Env.testnet]: mapChains([ChainId.avalancheFuji], chain => ({
171
- amountStrategy: 'identity',
172
- approval: { ...SILO_BTCB_APPROVE_APPROVAL },
173
- spenderContract: {
174
- abi: SILO_VAULT_SPENDER_ABI as Abi,
175
- address: SILO_VAULT_SPENDER_CONTRACT_GASTALD_FUJI,
176
- chainId: chain,
177
- },
178
- })),
179
- },
180
- },
181
- };
182
-
183
- /**
184
- * Type for a token that can be used with stake and bake.
185
- * Includes both Token enum values and virtual tokens like 'BTC'.
186
- */
187
- export type StakeAndBakeToken = DefiRegistryToken;
188
-
189
- /**
190
- * Get supported chains for a protocol/token/env combination.
191
- *
192
- * @example
193
- * ```typescript
194
- * // Get chains supporting Veda with BTC token on testnet
195
- * const chains = getStakeAndBakeSupportedChains(DefiProtocol.Veda, 'BTC', Env.testnet);
196
- * // Returns: [ChainId.binanceSmartChainTestnet, ChainId.holesky]
197
- * ```
198
- */
199
- export function getStakeAndBakeSupportedChains(
200
- protocol: DefiProtocol,
201
- token: StakeAndBakeToken,
202
- env: Env,
203
- ): ChainId[] {
204
- const protocolRegistry = DEFI_REGISTRY[protocol];
205
- if (!protocolRegistry) return [];
206
-
207
- const tokenRegistry =
208
- protocolRegistry[token as keyof typeof protocolRegistry];
209
- if (!tokenRegistry) return [];
210
-
211
- const envRegistry = tokenRegistry[env];
212
- if (!envRegistry) return [];
213
-
214
- return Object.keys(envRegistry).map(Number) as ChainId[];
215
- }
216
-
217
- /**
218
- * Get all supported protocols for stake and bake (regardless of environment).
219
- */
220
- export function getSupportedProtocols(assetId: AssetId): DefiProtocol[] {
221
- return Object.entries(DEFI_REGISTRY)
222
- .filter(([_, tokenMap]) => assetId in tokenMap)
223
- .map(([protocol]) => protocol as DefiProtocol);
224
- }
225
-
226
- /**
227
- * Get available protocols for a specific environment and token.
228
- *
229
- * This filters protocols based on what is actually configured in the DEFI_REGISTRY
230
- * for the given environment. Use this to determine which protocol options should
231
- * be shown in the UI.
232
- *
233
- * @example
234
- * ```typescript
235
- * // Get protocols available for LBTC in production
236
- * const prodProtocols = getAvailableProtocols(AssetId.LBTC, Env.prod);
237
- * // Returns: ['veda'] - Silo is only on Avalanche which has no mainnet prod config
238
- *
239
- * // Get protocols available for BTCb in testnet
240
- * const testnetProtocols = getAvailableProtocols(AssetId.BTCb, Env.testnet);
241
- * // Returns: ['silo'] - Silo is available on Avalanche Fuji in testnet
242
- * ```
243
- */
244
- export function getAvailableProtocols(
245
- assetId: AssetId,
246
- env: Env,
247
- ): DefiProtocol[] {
248
- // Map asset IDs to registry tokens
249
- const tokenMap: Partial<Record<AssetId, StakeAndBakeToken[]>> = {
250
- [AssetId.LBTC]: [Token.LBTC, 'BTC'],
251
- [AssetId.BTCb]: [Token.BTCb],
252
- [AssetId.BTC]: ['BTC'],
253
- };
254
-
255
- const tokens = tokenMap[assetId];
256
- if (!tokens) return [];
257
-
258
- const availableProtocols: Set<DefiProtocol> = new Set();
259
-
260
- for (const [protocol, tokenStrategyMap] of Object.entries(DEFI_REGISTRY)) {
261
- for (const token of tokens) {
262
- const tokenRegistry = tokenStrategyMap[token as keyof typeof tokenStrategyMap];
263
- if (!tokenRegistry) continue;
264
-
265
- const envRegistry = tokenRegistry[env];
266
- if (!envRegistry || Object.keys(envRegistry).length === 0) continue;
267
-
268
- availableProtocols.add(protocol as DefiProtocol);
269
- }
270
- }
271
-
272
- return Array.from(availableProtocols);
273
- }
274
-
275
- /**
276
- * Get available protocols with their metadata for UI display.
277
- *
278
- * @example
279
- * ```typescript
280
- * const protocols = getAvailableProtocolsWithMetadata(AssetId.LBTC, Env.prod);
281
- * // Returns: [{ value: 'veda', label: 'Lombard DeFi Vault', url: '...' }]
282
- * ```
283
- */
284
- export function getAvailableProtocolsWithMetadata(
285
- assetId: AssetId,
286
- env: Env,
287
- ): Array<{ value: DefiProtocol; label: string; url: string }> {
288
- const protocols = getAvailableProtocols(assetId, env);
289
-
290
- return protocols.map(protocol => ({
291
- value: protocol,
292
- label: DefiProtocols[protocol]?.name ?? protocol,
293
- url: DefiProtocols[protocol]?.url ?? '',
294
- }));
295
- }
package/src/defi/index.ts DELETED
@@ -1,17 +0,0 @@
1
- export {
2
- isVedaVaultStakeAndBakeChain,
3
- VEDA_VAULT_STAKE_AND_BAKE_CHAINS,
4
- type VedaVaultStakeAndBakeChain,
5
- } from '../vaults/lib/config';
6
- export {
7
- DEFI_REGISTRY,
8
- DefiProtocol,
9
- DefiProtocols,
10
- type DefiRegistryToken,
11
- getAvailableProtocols,
12
- getAvailableProtocolsWithMetadata,
13
- getStakeAndBakeSupportedChains,
14
- getSupportedProtocols,
15
- type StakeAndBakeRegistry,
16
- type StakeAndBakeToken,
17
- } from './defi-registry';
package/src/index.ts DELETED
@@ -1,336 +0,0 @@
1
- /**
2
- * Lombard SDK - Public API
3
- *
4
- * Main entry point for the Lombard SDK.
5
- */
6
-
7
- // SDK Version (injected at build time)
8
- export { SDK_NAME, SDK_RUNTIME, SDK_VERSION } from './version';
9
-
10
- // Logging utilities
11
- export {
12
- type ConsoleLoggerOptions, createConsoleLogger,
13
- createSilentLogger, type LogLevel
14
- } from './utils/consoleLogger';
15
-
16
- // HTTP utilities (for advanced users)
17
- export { getSdkHeaders } from './utils/http';
18
-
19
- // Main SDK exports
20
- export type {
21
- ApiVersion,
22
- DepositAddressOptions,
23
- DestinationChain,
24
- ExchangeRateOptions,
25
- UnstakeOptions
26
- } from './client/ApiNamespace';
27
- export { ApiNamespace } from './client/ApiNamespace';
28
- export { createConfig } from './client/createConfig';
29
- export { createLombardSDK } from './client/createLombardSDK';
30
- export { LombardSDK } from './client/LombardSDK';
31
- export { PartnerConfiguration } from './client/PartnerConfiguration';
32
-
33
- // Chain Actions (user-facing API)
34
- export { BtcActions, btcActions } from './chains/btc/BtcActions';
35
- export { EvmActions, evmActions } from './chains/evm/EvmActions';
36
- export { SolanaActions, solanaActions } from './chains/solana/SolanaActions';
37
- export {
38
- StarknetActions,
39
- starknetActions
40
- } from './chains/starknet/StarknetActions';
41
- export { SuiActions, suiActions } from './chains/sui/SuiActions';
42
-
43
- // Shared EVM utilities (fee authorization)
44
- export type { FeeAuthState } from './chains/evm/shared/feeAuth';
45
-
46
- // Status constants (single export to avoid duplicates)
47
- export {
48
- BtcActionStatus,
49
- EvmOperationStatus,
50
- NonEvmUnstakeStatus
51
- } from './shared/constants/statusConstants';
52
-
53
- // Module exports
54
- export { btcModule, type BtcService } from './modules/btcModule';
55
- export type {
56
- FeeAuthorizationResult,
57
- StoredFeeSignature
58
- } from './modules/evmModule';
59
- export { evmModule, type EvmService } from './modules/evmModule';
60
-
61
- // Context types
62
- export type {
63
- BtcCoreContext,
64
- CoreContext,
65
- EvmCoreContext,
66
- EvmDestination,
67
- Logger,
68
- ProviderKey,
69
- ProviderResolver,
70
- SolanaDestination,
71
- StarknetDestination,
72
- SuiDestination
73
- } from './shared/context';
74
-
75
- // Configuration types
76
- export type {
77
- CreateConfigOptions,
78
- CustomAsset,
79
- LombardConfig,
80
- LombardSDKOptions,
81
- PartnerConfig,
82
- ProviderGetter,
83
- ProviderGetters
84
- } from './config/types';
85
-
86
- // Provider types
87
- export type {
88
- AnyProvider,
89
- BtcProvider,
90
- EvmProvider,
91
- SolanaProvider,
92
- StarknetProvider,
93
- SuiProvider
94
- } from './config/providers';
95
- export {
96
- isBtcProvider,
97
- isEvmProvider,
98
- isSolanaProvider,
99
- isStarknetProvider,
100
- isSuiProvider
101
- } from './config/providers';
102
-
103
- // Shared types
104
- export type { ChainMetadata, DeployConfig, RouteParams, StrategyProgress } from './core';
105
- export {
106
- AssetId,
107
- assetValueToKey, Chain,
108
- // Chain utility functions
109
- CHAIN_CATALOG, chainValueToKey, DeployProtocol,
110
- Env, evmChainIdToChain,
111
- getAllAssetChains,
112
- getAssetAddress,
113
- // Asset utility functions for dynamic chain discovery
114
- getAssetChains,
115
- getAssetChainsForEnvs,
116
- getChainMetadata,
117
- getChainName,
118
- isAssetDeployed,
119
- isAssetId,
120
- isChain,
121
- isEvmChain,
122
- isMainnet,
123
- isTestnet,
124
- StepStatus,
125
- StrategyStatus
126
- } from './core';
127
-
128
- // Event types
129
- export type {
130
- BridgeEventMap,
131
- DeployEventMap,
132
- DepositEventMap,
133
- RedeemEventMap,
134
- StakeEventMap,
135
- StrategyEvent,
136
- StrategyEventMap,
137
- UnstakeEventMap
138
- } from './shared/events';
139
- export {
140
- BridgeEvent,
141
- DeployEvent,
142
- DepositEvent,
143
- RedeemEvent,
144
- StakeEvent,
145
- UnstakeEvent
146
- } from './shared/events';
147
-
148
- // Error handling
149
- export {
150
- ContractErrorCode,
151
- ErrorCode, isLombardError, LombardError,
152
- ProviderErrorCode,
153
- RegistryErrorCode,
154
- ValidationErrorCode, wrapError
155
- } from './shared/errors';
156
-
157
- // Action interfaces
158
- export type { LogMeta, MonitorableAction } from './shared/actions/BaseAction';
159
-
160
- // BTC types and direct actions
161
- export type {
162
- BtcDepositAndDeployParams,
163
- BtcDepositAndDeployPrepareParams,
164
- BtcDepositAndDeployProgress,
165
- BtcDepositParams,
166
- BtcDepositPrepareParams,
167
- BtcDepositProgress,
168
- BtcStakeAndDeployParams,
169
- BtcStakeAndDeployPrepareParams,
170
- BtcStakeAndDeployProgress,
171
- BtcStakeParams,
172
- BtcStakeProgress,
173
- IBtcDeposit,
174
- IBtcDepositAndDeploy,
175
- IBtcStake,
176
- IBtcStakeAndDeploy
177
- } from './chains/btc';
178
- export {
179
- BtcDeposit,
180
- BtcDepositAndDeploy,
181
- BtcStake,
182
- BtcStakeAndDeploy
183
- } from './chains/btc';
184
-
185
- // Note: Sync factory functions (btcStake, btcDeposit, etc.) are intentionally
186
- // not exported. Use createLombardSDK() instead:
187
- //
188
- // const sdk = await createLombardSDK({ env: Env.prod, ... });
189
- // const stake = sdk.chain.btc.stake({ ... });
190
- //
191
- // This ensures consistent behavior when remote catalog fetching is added in v4.1.
192
-
193
- // EVM types and direct actions
194
- export type {
195
- EvmDeployParams,
196
- EvmDeployPrepareParams,
197
- EvmDeployProgress,
198
- EvmDepositParams,
199
- EvmDepositPrepareParams,
200
- EvmDepositProgress,
201
- EvmRedeemParams,
202
- EvmRedeemPrepareParams,
203
- EvmRedeemProgress,
204
- EvmStakeParams,
205
- EvmStakePrepareParams,
206
- EvmStakeProgress,
207
- EvmUnstakeParams,
208
- EvmUnstakePrepareParams,
209
- EvmUnstakeProgress,
210
- IEvmDeploy,
211
- IEvmDeposit,
212
- IEvmRedeem,
213
- IEvmStake,
214
- IEvmUnstake
215
- } from './chains/evm';
216
- export {
217
- EvmDeployStatus,
218
- EvmDepositStatus,
219
- EvmRedeemStatus,
220
- EvmStakeStatus,
221
- EvmUnstakeStatus
222
- } from './chains/evm';
223
-
224
- // Note: Sync factory functions (evmStake, evmUnstake, etc.) are intentionally
225
- // not exported. Use createLombardSDK() instead:
226
- //
227
- // const sdk = await createLombardSDK({ env: Env.prod, ... });
228
- // const unstake = sdk.chain.evm.unstake({ ... });
229
-
230
- // Utils:
231
- export * from './common/api-config';
232
- export * from './common/blockchain-identifier';
233
- export * from './common/chains';
234
- export * from './common/fee-requirements';
235
-
236
- // Token utilities
237
- export * from './tokens/lbtc-addresses';
238
- export * from './tokens/token-addresses';
239
- export * from './tokens/tokens';
240
- export * from './utils/satoshi';
241
-
242
- // DeFi registry
243
- export * from './defi';
244
-
245
- // Metrics:
246
- export {
247
- getAdditionalRewards,
248
- type RewardsDistribution
249
- } from './metrics/get-additional-rewards';
250
- export {
251
- getApy,
252
- getEstimatedApy,
253
- type LbtcApy,
254
- type LbtcEstimatedApy
255
- } from './metrics/get-lbtc-apy';
256
- export { getLBTCStats } from './metrics/get-lbtc-stats';
257
- export {
258
- getPositionsSummary,
259
- type PositionsSummary
260
- } from './metrics/get-positions-summary';
261
-
262
- // Referrals
263
- export { ReferralsClient } from './referrals';
264
- export type {
265
- ReferralLookupParams,
266
- ReferralLookupResult
267
- } from './referrals/ReferralsClient';
268
-
269
- // API response types
270
- export type { Deposit } from './api-functions/getDepositsByAddress/getDepositsByAddress';
271
- export type { Unstake } from './api-functions/getUnstakesByAddress/getUnstakesByAddress';
272
- export { PayoutTxStatus } from './api-functions/getUnstakesByAddress/getUnstakesByAddress';
273
-
274
- // Deposit status utilities
275
- export {
276
- calcConfirmations, type ConfirmationProgress, depositRequiresAction, type DepositStatus,
277
- type DepositStatusDisplay, getConfirmationProgress,
278
- getDepositStatus,
279
- getDepositStatusDisplay,
280
- isDepositClaimable,
281
- isDepositPending,
282
- isDepositTerminal, MIN_CLAIM_AMOUNT_BTC,
283
- REQUIRED_CONFIRMATIONS, type StatusSeverity
284
- } from './shared/deposits';
285
-
286
- // External types
287
- export type { Address, EIP1193Provider } from 'viem';
288
-
289
- // Contract/API functions
290
- export * from './api-functions';
291
- export * from './contract-functions';
292
-
293
- // Vault:
294
- export * from './vaults';
295
-
296
- // Signer support (custom transaction signing):
297
- export {
298
- createAccountFromSigner,
299
- createWalletClientFromSigner, type DispatchCallback,
300
- type EvmTransactionRequest,
301
- type SignerAdapter,
302
- SignerError, validateTransactionRequest} from './clients/evm-signer-adapter';
303
-
304
- // RPC URL configuration (for wagmi/viem setup):
305
- export {
306
- getRpcUrlConfig,
307
- RPC_URL,
308
- rpcUrlConfig,
309
- type TRpcUrlConfig
310
- } from './clients/rpc-url-config';
311
- export {
312
- type CommonSignerWriteParameters,
313
- isProviderFlow,
314
- isSignerFlow} from './common/parameters';
315
-
316
- // Bridge:
317
- export {
318
- bridge,
319
- bridgeCCIP, type BridgeCCIPParameters, bridgeOFT, type BridgeParameters,
320
- getBridgeInfo, OFT_GAS_LIMIT,
321
- OFT_HI_GAS_LIMIT,
322
- OFT_HI_GAS_LIMIT_CHAINS} from './bridge';
323
-
324
- // Debug:
325
- export * from './debug-api';
326
-
327
- // Internal utilities (used by apps/main):
328
- export { makePublicClient } from './clients/public-client';
329
- export {
330
- getErrorMessage,
331
- TokenContractAddressNotFoundError,
332
- UnsupportedTokenFlow
333
- } from './utils/err';
334
- export { ensureHex, isHex } from './utils/hex';
335
- export { DAY, HOUR, MINUTE, now, SECOND, toUnix } from './utils/time';
336
-
@@ -1,69 +0,0 @@
1
- import axios from 'axios';
2
- import BigNumber from 'bignumber.js';
3
- import { Address } from 'viem';
4
-
5
- import { getApiConfig } from '../common/api-config';
6
- import { IEnvParam } from '../common/parameters';
7
-
8
- type Response = {
9
- btc_distributed: { name: string; amount: number }[];
10
- btc_undistributed: { name: string; amount: number }[];
11
- };
12
-
13
- export type RewardsDistribution = {
14
- /**
15
- * List of campaigns where rewards have been successfully distributed.
16
- */
17
- distributed: {
18
- /** Name of the reward campaign. */
19
- name: string;
20
- /** Amount of BTC distributed for this campaign. */
21
- amount: BigNumber;
22
- }[];
23
-
24
- /**
25
- * List of campaigns where rewards are pending or not yet distributed.
26
- */
27
- undistributed: {
28
- /** Name of the reward campaign. */
29
- name: string;
30
- /** Amount of BTC yet to be distributed. */
31
- amount: BigNumber;
32
- }[];
33
- };
34
-
35
- /**
36
- * Retrieves additional rewards that have been distributed or are pending
37
- * for a specific account.
38
- */
39
- export async function getAdditionalRewards({
40
- account,
41
- env,
42
- }: {
43
- account: Address;
44
- } & IEnvParam) {
45
- if (!account) {
46
- throw new Error('Missing account address');
47
- }
48
-
49
- const { baseApiUrl } = getApiConfig(env);
50
-
51
- const url = `${baseApiUrl}/api/v1/analytics/${account}/additional-rewards`;
52
- const { data } = await axios.get<Response>(url);
53
-
54
- const distribution: RewardsDistribution = {
55
- distributed: data.btc_distributed.map(d => ({
56
- amount: BigNumber(d.amount),
57
- name: d.name,
58
- })),
59
- undistributed: data.btc_undistributed.map(u => ({
60
- amount: BigNumber(u.amount),
61
- name: u.name,
62
- })),
63
- };
64
-
65
- return distribution;
66
- }
67
-
68
- // url: https://bft-dev.stage.lombard-fi.com/api/v1/analytics/0x2513196b4fD01Ed5888d1dB49AB9a42208E9fF90/additional-rewards
69
- // {"btc_distributed":[{"name":"ledger", "amount":0.7691864317643695}], "btc_undistributed":[{"name":"ledger", "amount":0.5699985451505658}]}