@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.
- package/CHANGELOG.md +12 -0
- package/dist/bridge/lib/ccip-config.d.ts.map +1 -1
- package/dist/bridge/lib/config.d.ts +3 -3
- package/dist/bridge/lib/config.d.ts.map +1 -1
- package/dist/common/chains.d.ts +2 -2
- package/dist/common/chains.d.ts.map +1 -1
- package/dist/common/feature-config.d.ts.map +1 -1
- package/dist/contract-functions/getBasculeDepositStatus/getBasculeDepositStatus.d.ts.map +1 -1
- package/dist/index2.cjs +6 -6
- package/dist/index2.js +792 -759
- package/dist/vaults/lib/config.d.ts +1 -1
- package/package.json +7 -8
- package/src/__tests__/AssetNamespace.spec.ts +0 -234
- package/src/__tests__/helpers/createTestConfig.ts +0 -90
- package/src/__tests__/integration/automint-fee.integration.test.ts +0 -74
- package/src/__tests__/integration/btc-deposit.integration.test.ts +0 -109
- package/src/__tests__/integration/btc-stake-and-deploy.integration.test.ts +0 -96
- package/src/__tests__/integration/btc-stake.integration.test.ts +0 -466
- package/src/__tests__/integration/evm-actions.integration.test.ts +0 -932
- package/src/__tests__/integration/evm-deploy.integration.test.ts +0 -122
- package/src/__tests__/integration/evm-redeem.integration.test.ts +0 -157
- package/src/__tests__/integration/faq-patterns.integration.test.ts +0 -465
- package/src/__tests__/integration/getLBTCMintingFee.integration.test.ts +0 -195
- package/src/__tests__/real-wallet/btc/btc-stake.real.test.ts +0 -70
- package/src/__tests__/real-wallet/evm/evm-stake.real.test.ts +0 -47
- package/src/__tests__/real-wallet/evm/evm-unstake.real.test.ts +0 -49
- package/src/__tests__/real-wallet/non-evm/solana-unstake.real.test.ts +0 -19
- package/src/__tests__/real-wallet/non-evm/starknet-unstake.real.test.ts +0 -19
- package/src/__tests__/real-wallet/non-evm/sui-unstake.real.test.ts +0 -19
- package/src/__tests__/services/ApiService.test.ts +0 -62
- package/src/__tests__/services/BtcService.test.ts +0 -30
- package/src/__tests__/services/EvmService.test.ts +0 -39
- package/src/__tests__/setup.ts +0 -16
- package/src/__tests__/test-utils/eip1193-adapter.ts +0 -48
- package/src/__tests__/test-utils/evm-wallet.ts +0 -38
- package/src/__tests__/test-utils/solana-wallet.ts +0 -22
- package/src/__tests__/test-utils/starknet-wallet.ts +0 -9
- package/src/__tests__/test-utils/sui-wallet.ts +0 -14
- package/src/__tests__/test-utils/test-constraints.ts +0 -110
- package/src/__tests__/unit/btc/BtcDeposit.test.ts +0 -253
- package/src/__tests__/unit/btc/BtcDepositAndDeploy.test.ts +0 -174
- package/src/__tests__/unit/btc/BtcDepositConfig.test.ts +0 -143
- package/src/__tests__/unit/btc/BtcDepositStatusTransition.test.ts +0 -221
- package/src/__tests__/unit/btc/BtcStakeAndDeploy.test.ts +0 -194
- package/src/__tests__/unit/btc/ExistingSignatureHandling.test.ts +0 -301
- package/src/__tests__/unit/btc/StakeAndBakeRatioConversion.test.ts +0 -200
- package/src/__tests__/unit/btc/StakeAndBakeSignatureRestore.test.ts +0 -216
- package/src/__tests__/unit/btc/TokenParameterConsistency.test.ts +0 -184
- package/src/__tests__/unit/btc/btc-deposit-token.test.ts +0 -191
- package/src/__tests__/unit/catalog/AssetCatalog.test.ts +0 -293
- package/src/__tests__/unit/config/ChainConfig.test.ts +0 -47
- package/src/__tests__/unit/config/FeeAuthConfig.test.ts +0 -76
- package/src/__tests__/unit/contract-functions/getLBTCMintingFee.test.ts +0 -128
- package/src/__tests__/unit/core/chain-parsing.test.ts +0 -257
- package/src/__tests__/unit/defi/AvailableProtocols.test.ts +0 -100
- package/src/__tests__/unit/defi/DefiRegistry.test.ts +0 -25
- package/src/__tests__/unit/evm/EvmDeploy.test.ts +0 -224
- package/src/__tests__/unit/evm/EvmRedeem.test.ts +0 -207
- package/src/__tests__/unit/evm/EvmRedeemFeeAuth.test.ts +0 -93
- package/src/__tests__/unit/evm/EvmStake.test.ts +0 -207
- package/src/__tests__/unit/evm/EvmStakeFeeAuth.test.ts +0 -193
- package/src/__tests__/unit/evm/EvmUnstakeAllowance.test.ts +0 -69
- package/src/__tests__/unit/evm/EvmUnstakeConfig.test.ts +0 -203
- package/src/__tests__/unit/fee-signature-expiration.test.ts +0 -76
- package/src/__tests__/unit/modules/CapabilityRegistry.test.ts +0 -55
- package/src/__tests__/unit/shared/BaseAction.test.ts +0 -122
- package/src/__tests__/unit/shared/BaseBtcAction.test.ts +0 -114
- package/src/__tests__/unit/solana/SolanaUnstake.test.ts +0 -314
- package/src/__tests__/unit/starknet/StarknetUnstake.test.ts +0 -318
- package/src/__tests__/unit/sui/SuiUnstake.test.ts +0 -310
- package/src/__tests__/unit/utils/satoshi.test.ts +0 -27
- package/src/__tests__/unit/validation/address-validation.test.ts +0 -350
- package/src/api-functions/generateDepositBtcAddress/generateDepositBtcAddress.stories.tsx +0 -71
- package/src/api-functions/generateDepositBtcAddress/generateDepositBtcAddress.ts +0 -235
- package/src/api-functions/generateDepositBtcAddress/index.ts +0 -1
- package/src/api-functions/get-badges-by-address/get-badges-by-address.ts +0 -13
- package/src/api-functions/get-badges-by-address/index.ts +0 -1
- package/src/api-functions/getDepositAddressReferrer/getDepositAddressReferrer.ts +0 -38
- package/src/api-functions/getDepositAddressReferrer/index.ts +0 -1
- package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.stories.tsx +0 -59
- package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.test.ts +0 -265
- package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.ts +0 -167
- package/src/api-functions/getDepositBtcAddress/getDepositBtcAddresses.stories.tsx +0 -58
- package/src/api-functions/getDepositBtcAddress/index.ts +0 -1
- package/src/api-functions/getDepositBtcAddress/make-request.ts +0 -59
- package/src/api-functions/getDepositBtcAddress/types.ts +0 -106
- package/src/api-functions/getDepositsByAddress/getDepositsByAddress.stories.tsx +0 -51
- package/src/api-functions/getDepositsByAddress/getDepositsByAddress.ts +0 -502
- package/src/api-functions/getDepositsByAddress/index.ts +0 -1
- package/src/api-functions/getLBTCExchangeRate/get-exchange-ratio.stories.tsx +0 -48
- package/src/api-functions/getLBTCExchangeRate/get-exchange-ratio.ts +0 -59
- package/src/api-functions/getLBTCExchangeRate/getLBTCExchangeRate.stories.tsx +0 -55
- package/src/api-functions/getLBTCExchangeRate/getLBTCExchangeRate.ts +0 -75
- package/src/api-functions/getLBTCExchangeRate/index.ts +0 -2
- package/src/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.stories.tsx +0 -59
- package/src/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.ts +0 -116
- package/src/api-functions/getNetworkFeeSignature/index.ts +0 -1
- package/src/api-functions/getPointsByAddress/getPointsByAddress.stories.tsx +0 -51
- package/src/api-functions/getPointsByAddress/getPointsByAddress.ts +0 -304
- package/src/api-functions/getPointsByAddress/index.ts +0 -1
- package/src/api-functions/getUnstakesByAddress/getUnstakesByAddress.stories.tsx +0 -51
- package/src/api-functions/getUnstakesByAddress/getUnstakesByAddress.ts +0 -368
- package/src/api-functions/getUnstakesByAddress/index.ts +0 -1
- package/src/api-functions/getUserStakeAndBakeSignature/getUserStakeAndBakeSignature.stories.tsx +0 -70
- package/src/api-functions/getUserStakeAndBakeSignature/getUserStakeAndBakeSignature.ts +0 -91
- package/src/api-functions/getUserStakeAndBakeSignature/index.ts +0 -1
- package/src/api-functions/index.ts +0 -11
- package/src/api-functions/setReferral/index.ts +0 -1
- package/src/api-functions/setReferral/setReferral.ts +0 -67
- package/src/api-functions/storeNetworkFeeSignature/index.ts +0 -1
- package/src/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.stories.tsx +0 -57
- package/src/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.ts +0 -75
- package/src/api-functions/storeStakeAndBakeSignature/index.ts +0 -1
- package/src/api-functions/storeStakeAndBakeSignature/storeStakeAndBakeSignature.stories.tsx +0 -57
- package/src/api-functions/storeStakeAndBakeSignature/storeStakeAndBakeSignature.ts +0 -61
- package/src/bridge/abi/CCIP_BRIDGE_ADAPTER_ABI.json +0 -704
- package/src/bridge/abi/CCIP_ROUTER_ABI.json +0 -702
- package/src/bridge/abi/OFT_BRIDGE_ADAPTER_ABI.json +0 -912
- package/src/bridge/index.ts +0 -16
- package/src/bridge/lib/bridge.stories.tsx +0 -90
- package/src/bridge/lib/bridge.ts +0 -115
- package/src/bridge/lib/ccip-bridge.stories.tsx +0 -91
- package/src/bridge/lib/ccip-bridge.ts +0 -214
- package/src/bridge/lib/ccip-config.ts +0 -54
- package/src/bridge/lib/config.ts +0 -384
- package/src/bridge/lib/oft-bridge.stories.tsx +0 -90
- package/src/bridge/lib/oft-bridge.ts +0 -217
- package/src/chains/btc/BtcActions.ts +0 -192
- package/src/chains/btc/actions/deposit/BtcDeposit.ts +0 -388
- package/src/chains/btc/actions/deposit/config/evm.ts +0 -197
- package/src/chains/btc/actions/deposit/config/index.ts +0 -53
- package/src/chains/btc/actions/deposit/config/types.ts +0 -108
- package/src/chains/btc/actions/deposit/factory.ts +0 -53
- package/src/chains/btc/actions/deposit/index.ts +0 -23
- package/src/chains/btc/actions/deposit/types.ts +0 -120
- package/src/chains/btc/actions/depositAndDeploy/BtcDepositAndDeploy.ts +0 -366
- package/src/chains/btc/actions/depositAndDeploy/config/evm.ts +0 -105
- package/src/chains/btc/actions/depositAndDeploy/config/index.ts +0 -111
- package/src/chains/btc/actions/depositAndDeploy/config/types.ts +0 -67
- package/src/chains/btc/actions/depositAndDeploy/factory.ts +0 -38
- package/src/chains/btc/actions/depositAndDeploy/index.ts +0 -24
- package/src/chains/btc/actions/depositAndDeploy/types.ts +0 -120
- package/src/chains/btc/actions/index.ts +0 -14
- package/src/chains/btc/actions/shared/BaseBtcAction.ts +0 -495
- package/src/chains/btc/actions/shared/index.ts +0 -28
- package/src/chains/btc/actions/shared/tokenUtils.ts +0 -68
- package/src/chains/btc/actions/shared/validation.ts +0 -180
- package/src/chains/btc/actions/stake/BtcStake.ts +0 -433
- package/src/chains/btc/actions/stake/__tests__/BtcStake.test.ts +0 -247
- package/src/chains/btc/actions/stake/config/evm.ts +0 -183
- package/src/chains/btc/actions/stake/config/index.ts +0 -122
- package/src/chains/btc/actions/stake/config/solana.ts +0 -96
- package/src/chains/btc/actions/stake/config/starknet.ts +0 -66
- package/src/chains/btc/actions/stake/config/sui.ts +0 -61
- package/src/chains/btc/actions/stake/config/types.ts +0 -165
- package/src/chains/btc/actions/stake/factory.ts +0 -53
- package/src/chains/btc/actions/stake/index.ts +0 -22
- package/src/chains/btc/actions/stake/types.ts +0 -175
- package/src/chains/btc/actions/stakeAndDeploy/BtcStakeAndDeploy.ts +0 -415
- package/src/chains/btc/actions/stakeAndDeploy/config/evm.ts +0 -135
- package/src/chains/btc/actions/stakeAndDeploy/config/index.ts +0 -119
- package/src/chains/btc/actions/stakeAndDeploy/config/types.ts +0 -93
- package/src/chains/btc/actions/stakeAndDeploy/factory.ts +0 -54
- package/src/chains/btc/actions/stakeAndDeploy/index.ts +0 -26
- package/src/chains/btc/actions/stakeAndDeploy/types.ts +0 -118
- package/src/chains/btc/client/getCurrentBlockHeight.ts +0 -28
- package/src/chains/btc/client/mempool/error.ts +0 -24
- package/src/chains/btc/client/mempool/mempool.ts +0 -23
- package/src/chains/btc/index.ts +0 -71
- package/src/chains/evm/EvmActions.ts +0 -185
- package/src/chains/evm/actions/deploy/EvmDeploy.ts +0 -256
- package/src/chains/evm/actions/deploy/config/evm.ts +0 -80
- package/src/chains/evm/actions/deploy/config/index.ts +0 -8
- package/src/chains/evm/actions/deploy/config/types.ts +0 -43
- package/src/chains/evm/actions/deploy/factory.ts +0 -44
- package/src/chains/evm/actions/deploy/index.ts +0 -17
- package/src/chains/evm/actions/deploy/types.ts +0 -74
- package/src/chains/evm/actions/deposit/EvmDeposit.ts +0 -159
- package/src/chains/evm/actions/deposit/config/evm.ts +0 -100
- package/src/chains/evm/actions/deposit/config/index.ts +0 -8
- package/src/chains/evm/actions/deposit/config/types.ts +0 -39
- package/src/chains/evm/actions/deposit/factory.ts +0 -44
- package/src/chains/evm/actions/deposit/index.ts +0 -17
- package/src/chains/evm/actions/deposit/types.ts +0 -87
- package/src/chains/evm/actions/index.ts +0 -67
- package/src/chains/evm/actions/redeem/EvmRedeem.ts +0 -263
- package/src/chains/evm/actions/redeem/config/evm.ts +0 -85
- package/src/chains/evm/actions/redeem/config/index.ts +0 -8
- package/src/chains/evm/actions/redeem/config/types.ts +0 -39
- package/src/chains/evm/actions/redeem/factory.ts +0 -43
- package/src/chains/evm/actions/redeem/index.ts +0 -17
- package/src/chains/evm/actions/redeem/types.ts +0 -93
- package/src/chains/evm/actions/stake/EvmStake.ts +0 -339
- package/src/chains/evm/actions/stake/config/evm.ts +0 -89
- package/src/chains/evm/actions/stake/config/index.ts +0 -8
- package/src/chains/evm/actions/stake/config/types.ts +0 -89
- package/src/chains/evm/actions/stake/factory.ts +0 -52
- package/src/chains/evm/actions/stake/index.ts +0 -30
- package/src/chains/evm/actions/stake/types.ts +0 -104
- package/src/chains/evm/actions/unstake/EvmUnstake.ts +0 -258
- package/src/chains/evm/actions/unstake/config/evm.ts +0 -123
- package/src/chains/evm/actions/unstake/config/index.ts +0 -13
- package/src/chains/evm/actions/unstake/config/types.ts +0 -37
- package/src/chains/evm/actions/unstake/factory.ts +0 -44
- package/src/chains/evm/actions/unstake/index.ts +0 -22
- package/src/chains/evm/actions/unstake/types.ts +0 -87
- package/src/chains/evm/index.ts +0 -16
- package/src/chains/evm/shared/feeAuth.ts +0 -198
- package/src/chains/evm/shared/index.ts +0 -7
- package/src/chains/solana/SolanaActions.ts +0 -85
- package/src/chains/solana/actions/index.ts +0 -7
- package/src/chains/solana/actions/unstake/SolanaUnstake.ts +0 -151
- package/src/chains/solana/actions/unstake/config/btc.ts +0 -47
- package/src/chains/solana/actions/unstake/config/index.ts +0 -8
- package/src/chains/solana/actions/unstake/config/solana.ts +0 -47
- package/src/chains/solana/actions/unstake/config/types.ts +0 -35
- package/src/chains/solana/actions/unstake/factory.ts +0 -34
- package/src/chains/solana/actions/unstake/index.ts +0 -14
- package/src/chains/solana/actions/unstake/types.ts +0 -58
- package/src/chains/solana/index.ts +0 -8
- package/src/chains/starknet/StarknetActions.ts +0 -85
- package/src/chains/starknet/actions/index.ts +0 -7
- package/src/chains/starknet/actions/unstake/StarknetUnstake.ts +0 -128
- package/src/chains/starknet/actions/unstake/config/btc.ts +0 -43
- package/src/chains/starknet/actions/unstake/config/index.ts +0 -8
- package/src/chains/starknet/actions/unstake/config/starknet.ts +0 -43
- package/src/chains/starknet/actions/unstake/config/types.ts +0 -27
- package/src/chains/starknet/actions/unstake/factory.ts +0 -32
- package/src/chains/starknet/actions/unstake/index.ts +0 -14
- package/src/chains/starknet/actions/unstake/types.ts +0 -57
- package/src/chains/starknet/index.ts +0 -8
- package/src/chains/sui/SuiActions.ts +0 -82
- package/src/chains/sui/actions/index.ts +0 -7
- package/src/chains/sui/actions/unstake/SuiUnstake.ts +0 -146
- package/src/chains/sui/actions/unstake/config/btc.ts +0 -43
- package/src/chains/sui/actions/unstake/config/index.ts +0 -8
- package/src/chains/sui/actions/unstake/config/sui.ts +0 -43
- package/src/chains/sui/actions/unstake/config/types.ts +0 -27
- package/src/chains/sui/actions/unstake/factory.ts +0 -32
- package/src/chains/sui/actions/unstake/index.ts +0 -14
- package/src/chains/sui/actions/unstake/types.ts +0 -57
- package/src/chains/sui/index.ts +0 -8
- package/src/client/ApiNamespace.ts +0 -302
- package/src/client/AssetNamespace.ts +0 -112
- package/src/client/LombardSDK.ts +0 -212
- package/src/client/PartnerConfiguration.ts +0 -50
- package/src/client/createConfig.ts +0 -90
- package/src/client/createLombardSDK.ts +0 -130
- package/src/clients/evm-signer-adapter.ts +0 -313
- package/src/clients/public-client.ts +0 -49
- package/src/clients/rpc-url-config.ts +0 -64
- package/src/clients/wallet-client.ts +0 -34
- package/src/common/api-config.ts +0 -48
- package/src/common/blockchain-identifier.ts +0 -217
- package/src/common/chains.stories.tsx +0 -68
- package/src/common/chains.ts +0 -449
- package/src/common/constants.ts +0 -1
- package/src/common/contract-info.ts +0 -9
- package/src/common/feature-config.ts +0 -79
- package/src/common/fee-requirements.ts +0 -34
- package/src/common/parameters.ts +0 -89
- package/src/config/defaults.ts +0 -49
- package/src/config/index.ts +0 -12
- package/src/config/providers.ts +0 -81
- package/src/config/types.ts +0 -216
- package/src/config/validation.ts +0 -69
- package/src/contract-functions/approveLBTC/approveLBTC.stories.tsx +0 -79
- package/src/contract-functions/approveLBTC/approveLBTC.ts +0 -66
- package/src/contract-functions/approveLBTC/index.ts +0 -1
- package/src/contract-functions/approveToken/approveToken.ts +0 -126
- package/src/contract-functions/approveToken/index.ts +0 -1
- package/src/contract-functions/claimLBTC/claimLBTC.stories.tsx +0 -82
- package/src/contract-functions/claimLBTC/claimLBTC.ts +0 -159
- package/src/contract-functions/claimLBTC/index.ts +0 -1
- package/src/contract-functions/claimUnstakeRedeem/claimUnstakeRedeem.ts +0 -95
- package/src/contract-functions/claimUnstakeRedeem/index.ts +0 -1
- package/src/contract-functions/deposit/depositToken.stories.tsx +0 -83
- package/src/contract-functions/deposit/depositToken.ts +0 -214
- package/src/contract-functions/deposit/index.ts +0 -1
- package/src/contract-functions/getBasculeDepositStatus/decodeBasculeDepositStatus.ts +0 -170
- package/src/contract-functions/getBasculeDepositStatus/getBasculeDepositStatus.stories.tsx +0 -62
- package/src/contract-functions/getBasculeDepositStatus/getBasculeDepositStatus.ts +0 -211
- package/src/contract-functions/getBasculeDepositStatus/index.ts +0 -2
- package/src/contract-functions/getLBTCMintingFee/getLBTCMintingFee.stories.tsx +0 -61
- package/src/contract-functions/getLBTCMintingFee/getLBTCMintingFee.ts +0 -193
- package/src/contract-functions/getLBTCMintingFee/index.ts +0 -1
- package/src/contract-functions/getLBTCTotalSupply/getLBTCTotalSupply.stories.tsx +0 -51
- package/src/contract-functions/getLBTCTotalSupply/getLBTCTotalSupply.ts +0 -40
- package/src/contract-functions/getLBTCTotalSupply/index.ts +0 -1
- package/src/contract-functions/getPermitNonce/getPermitNonce.stories.tsx +0 -56
- package/src/contract-functions/getPermitNonce/getPermitNonce.ts +0 -50
- package/src/contract-functions/getPermitNonce/index.ts +0 -1
- package/src/contract-functions/getShareValue/getShareValue.stories.tsx +0 -58
- package/src/contract-functions/getShareValue/getShareValue.ts +0 -59
- package/src/contract-functions/getShareValue/index.ts +0 -1
- package/src/contract-functions/getSharesByAddress/getSharesByAddress.stories.tsx +0 -65
- package/src/contract-functions/getSharesByAddress/getSharesByAddress.ts +0 -86
- package/src/contract-functions/getSharesByAddress/index.ts +0 -4
- package/src/contract-functions/getStakeAndBakeFee/__tests__/getStakeAndBakeFee.test.ts +0 -167
- package/src/contract-functions/getStakeAndBakeFee/getStakeAndBakeFee.stories.tsx +0 -180
- package/src/contract-functions/getStakeAndBakeFee/getStakeAndBakeFee.tsx +0 -101
- package/src/contract-functions/getStakeAndBakeFee/index.ts +0 -1
- package/src/contract-functions/index.ts +0 -21
- package/src/contract-functions/signLbtcDestionationAddr/index.ts +0 -1
- package/src/contract-functions/signLbtcDestionationAddr/signLbtcDestinationAddr.ts +0 -32
- package/src/contract-functions/signLbtcDestionationAddr/signLbtcDestionationAddr.stories.tsx +0 -64
- package/src/contract-functions/signNetworkFee/getTypedData.ts +0 -41
- package/src/contract-functions/signNetworkFee/index.ts +0 -1
- package/src/contract-functions/signNetworkFee/signNetworkFee.stories.tsx +0 -94
- package/src/contract-functions/signNetworkFee/signNetworkFee.ts +0 -106
- package/src/contract-functions/signStakeAndBake/__tests__/signStakeAndBake.test.ts +0 -888
- package/src/contract-functions/signStakeAndBake/handleApprove.ts +0 -81
- package/src/contract-functions/signStakeAndBake/handlePermit.ts +0 -28
- package/src/contract-functions/signStakeAndBake/index.ts +0 -2
- package/src/contract-functions/signStakeAndBake/signStakeAndBake.stories.tsx +0 -202
- package/src/contract-functions/signStakeAndBake/signStakeAndBake.ts +0 -160
- package/src/contract-functions/signStakeAndBake/typed-data-builder.ts +0 -137
- package/src/contract-functions/signStakeAndBake/utils.ts +0 -61
- package/src/contract-functions/signStakeAndBake/validation.ts +0 -124
- package/src/contract-functions/unstakeLBTC/index.ts +0 -1
- package/src/contract-functions/unstakeLBTC/unstakeLBTC.stories.tsx +0 -92
- package/src/contract-functions/unstakeLBTC/unstakeLBTC.ts +0 -396
- package/src/contracts/abis/index.ts +0 -29
- package/src/contracts/index.ts +0 -63
- package/src/contracts/types.ts +0 -143
- package/src/contracts/utils.ts +0 -288
- package/src/core/assets/catalog.ts +0 -343
- package/src/core/assets/index.ts +0 -40
- package/src/core/assets/types.ts +0 -142
- package/src/core/assets/utils.ts +0 -287
- package/src/core/chains/catalog.ts +0 -396
- package/src/core/chains/index.ts +0 -39
- package/src/core/chains/types.ts +0 -193
- package/src/core/chains/utils.ts +0 -245
- package/src/core/index.ts +0 -72
- package/src/core/types.ts +0 -126
- package/src/debug-api/btc-script-to-address.ts +0 -20
- package/src/debug-api/btc-tx-info.ts +0 -32
- package/src/debug-api/evm-by-btc-address.ts +0 -26
- package/src/debug-api/index.ts +0 -3
- package/src/defi/README.md +0 -517
- package/src/defi/defi-registry.stories.tsx +0 -527
- package/src/defi/defi-registry.ts +0 -295
- package/src/defi/index.ts +0 -17
- package/src/index.ts +0 -336
- package/src/metrics/get-additional-rewards.ts +0 -69
- package/src/metrics/get-lbtc-apy.ts +0 -74
- package/src/metrics/get-lbtc-stats.stories.tsx +0 -57
- package/src/metrics/get-lbtc-stats.ts +0 -59
- package/src/metrics/get-positions-summary.stories.tsx +0 -58
- package/src/metrics/get-positions-summary.ts +0 -132
- package/src/modules/CapabilityRegistry.ts +0 -125
- package/src/modules/apiModule.ts +0 -51
- package/src/modules/btcModule.ts +0 -43
- package/src/modules/evmModule.ts +0 -48
- package/src/modules/index.ts +0 -60
- package/src/referrals/ReferralsClient.ts +0 -34
- package/src/referrals/index.ts +0 -1
- package/src/services/ApiService.ts +0 -152
- package/src/services/BtcService.ts +0 -29
- package/src/services/EvmService.ts +0 -127
- package/src/services/index.ts +0 -43
- package/src/shared/__tests__/errors.test.ts +0 -185
- package/src/shared/__tests__/events.test.ts +0 -120
- package/src/shared/__tests__/types.test.ts +0 -155
- package/src/shared/actions/BaseAction.ts +0 -497
- package/src/shared/actions/__tests__/BaseAction.test.ts +0 -292
- package/src/shared/actions/index.ts +0 -9
- package/src/shared/constants/statusConstants.ts +0 -108
- package/src/shared/context/ContextBuilder.ts +0 -149
- package/src/shared/context/index.ts +0 -8
- package/src/shared/context/types.ts +0 -156
- package/src/shared/deposits/depositStatus.ts +0 -402
- package/src/shared/deposits/index.ts +0 -29
- package/src/shared/errors.ts +0 -405
- package/src/shared/events.ts +0 -260
- package/src/shared/evm/switchChain.ts +0 -109
- package/src/shared/index.ts +0 -54
- package/src/shared/monitoring/__tests__/createEventEmitter.test.ts +0 -150
- package/src/shared/monitoring/createEventEmitter.ts +0 -160
- package/src/shared/monitoring/createProgressEmitter.ts +0 -46
- package/src/shared/monitoring/depositMonitor.ts +0 -211
- package/src/shared/monitoring/index.ts +0 -25
- package/src/shared/validation/index.ts +0 -411
- package/src/stories/arg-types.ts +0 -38
- package/src/stories/components/Badge.tsx +0 -27
- package/src/stories/components/Button/Button.css +0 -10
- package/src/stories/components/Button/Button.tsx +0 -52
- package/src/stories/components/Button/index.ts +0 -1
- package/src/stories/components/Card.tsx +0 -18
- package/src/stories/components/CodeBlock/CodeBlock.tsx +0 -27
- package/src/stories/components/CodeBlock/CodeBlockStyles.css +0 -3
- package/src/stories/components/CodeBlock/index.ts +0 -1
- package/src/stories/components/ConnectButton/connect-button.tsx +0 -248
- package/src/stories/components/ConnectButton/index.ts +0 -1
- package/src/stories/components/JsonPreview.tsx +0 -84
- package/src/stories/components/Spinner/Spinner.tsx +0 -27
- package/src/stories/components/Spinner/index.ts +0 -1
- package/src/stories/components/StatsCard.tsx +0 -30
- package/src/stories/components/StatusIndicator.tsx +0 -37
- package/src/stories/components/TreeNode.tsx +0 -47
- package/src/stories/components/decorators/function-type.tsx +0 -63
- package/src/stories/components/decorators/index.ts +0 -2
- package/src/stories/components/decorators/wagmi-decorator.tsx +0 -92
- package/src/stories/components/error-block.tsx +0 -21
- package/src/stories/components/index.ts +0 -11
- package/src/stories/constants.ts +0 -3
- package/src/stories/hooks/useConnection.ts +0 -63
- package/src/stories/hooks/useQuery.ts +0 -57
- package/src/tokens/__tests__/token-addresses.test.ts +0 -551
- package/src/tokens/abi/ASSET_ROUTER_ABI.ts +0 -1966
- package/src/tokens/abi/BRIDGE_TOKEN_ADAPTER_ABI.ts +0 -1405
- package/src/tokens/abi/BTCK_ABI.ts +0 -1092
- package/src/tokens/abi/KATANA_BASCULE_ABI.ts +0 -653
- package/src/tokens/abi/LBTC_ABI.json +0 -1761
- package/src/tokens/abi/LBTC_ABI.ts +0 -1761
- package/src/tokens/abi/LBTC_BASCULE_ABI.json +0 -850
- package/src/tokens/abi/NATIVE_LBTC_ABI.ts +0 -1147
- package/src/tokens/abi/STLBTC_ABI.ts +0 -1062
- package/src/tokens/cross-chain-addresses.stories.tsx +0 -236
- package/src/tokens/denomination-utils.stories.tsx +0 -176
- package/src/tokens/getLbtcContractAddresses.stories.tsx +0 -158
- package/src/tokens/getTokenByAddress.stories.tsx +0 -172
- package/src/tokens/getTokenContractInfo.stories.tsx +0 -148
- package/src/tokens/getTokenInfo.stories.tsx +0 -133
- package/src/tokens/isUpgradedContract.stories.tsx +0 -124
- package/src/tokens/lbtc-addresses.ts +0 -18
- package/src/tokens/token-addresses.ts +0 -477
- package/src/tokens/tokens.ts +0 -249
- package/src/tokens/types.ts +0 -80
- package/src/utils/array.ts +0 -31
- package/src/utils/block.ts +0 -23
- package/src/utils/chain.ts +0 -152
- package/src/utils/consoleLogger.ts +0 -140
- package/src/utils/ensureNotSanctionedAddress.ts +0 -11
- package/src/utils/env.ts +0 -20
- package/src/utils/err.ts +0 -83
- package/src/utils/evmAccount.ts +0 -47
- package/src/utils/gas.ts +0 -36
- package/src/utils/hex.ts +0 -9
- package/src/utils/http.ts +0 -224
- package/src/utils/numbers.ts +0 -37
- package/src/utils/pagination.ts +0 -70
- package/src/utils/satoshi.ts +0 -41
- package/src/utils/time.ts +0 -12
- package/src/utils/transaction-executor.ts +0 -299
- package/src/vaults/abi/SILO_VAULT_SPENDER_ABI.json +0 -793
- package/src/vaults/abi/VEDA_VAULT_ABI.json +0 -452
- package/src/vaults/abi/VEDA_VAULT_ACCOUNTANT_ABI.json +0 -591
- package/src/vaults/abi/VEDA_VAULT_BASE_ASSET_ABI.json +0 -296
- package/src/vaults/abi/VEDA_VAULT_BORING_WITHDRAW_QUEUE_ABI.json +0 -502
- package/src/vaults/abi/VEDA_VAULT_LENS_ABI.json +0 -175
- package/src/vaults/abi/VEDA_VAULT_SPENDER_ABI.json +0 -408
- package/src/vaults/abi/VEDA_VAULT_TELLER_ABI.json +0 -700
- package/src/vaults/abi/index.ts +0 -4
- package/src/vaults/index.ts +0 -46
- package/src/vaults/lib/config.ts +0 -184
- package/src/vaults/lib/metrics/get-vault-apy.stories.tsx +0 -58
- package/src/vaults/lib/metrics/get-vault-apy.ts +0 -176
- package/src/vaults/lib/metrics/get-vault-points.stories.tsx +0 -60
- package/src/vaults/lib/metrics/get-vault-points.ts +0 -74
- package/src/vaults/lib/metrics/get-vault-tvl.stories.tsx +0 -58
- package/src/vaults/lib/metrics/get-vault-tvl.ts +0 -121
- package/src/vaults/lib/ops/cancel-withdraw.stories.tsx +0 -80
- package/src/vaults/lib/ops/deposit.stories.tsx +0 -82
- package/src/vaults/lib/ops/deposit.ts +0 -152
- package/src/vaults/lib/ops/get-vault-deposits.stories.tsx +0 -65
- package/src/vaults/lib/ops/get-vault-deposits.ts +0 -209
- package/src/vaults/lib/ops/get-vault-withdrawals.stories.tsx +0 -67
- package/src/vaults/lib/ops/get-vault-withdrawals.ts +0 -349
- package/src/vaults/lib/ops/withdraw.stories.tsx +0 -82
- package/src/vaults/lib/ops/withdraw.ts +0 -225
- package/src/version.ts +0 -56
- 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
|
-
}
|
package/src/client/LombardSDK.ts
DELETED
|
@@ -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
|
-
}
|