@lombard.finance/sdk 4.0.0 → 4.1.0
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 +6 -0
- package/dist/common/feature-config.d.ts.map +1 -1
- package/dist/index2.cjs +6 -6
- package/dist/index2.js +762 -754
- 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,93 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* BTC StakeAndDeploy Chain Configuration Types
|
|
3
|
-
*
|
|
4
|
-
* BTC StakeAndDeploy: BTC → LBTC → DeFi vault
|
|
5
|
-
*
|
|
6
|
-
* @module chains/btc/actions/stakeAndDeploy/config/types
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import type { z } from 'zod';
|
|
10
|
-
|
|
11
|
-
import type { AssetId, Chain, DeployProtocol, Env } from '../../../../../core';
|
|
12
|
-
import type { BtcCoreContext } from '../../../../../shared/context';
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Route definition
|
|
16
|
-
*/
|
|
17
|
-
export interface StakeAndDeployRouteDefinition {
|
|
18
|
-
sourceChains: Chain[];
|
|
19
|
-
envs: Env[];
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Authorization result
|
|
24
|
-
*/
|
|
25
|
-
export interface StakeAndBakeAuthResult {
|
|
26
|
-
signature: string;
|
|
27
|
-
typedData?: string;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Result from restoring existing stake and bake signature
|
|
32
|
-
*/
|
|
33
|
-
export interface StakeAndBakeRestoreResult {
|
|
34
|
-
/** Whether a valid signature exists on the server */
|
|
35
|
-
hasSignature: boolean;
|
|
36
|
-
/** The signature (may be undefined even if hasSignature is true) */
|
|
37
|
-
signature?: string;
|
|
38
|
-
/** The deposit amount from the existing signature */
|
|
39
|
-
depositAmount?: string;
|
|
40
|
-
/** Expiration date (Unix timestamp) */
|
|
41
|
-
expirationDate?: string;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* StakeAndDeploy chain configuration
|
|
46
|
-
*
|
|
47
|
-
* StakeAndDeploy produces LBTC then deploys to a vault.
|
|
48
|
-
*/
|
|
49
|
-
export interface StakeAndDeployChainConfig {
|
|
50
|
-
chainType: 'evm';
|
|
51
|
-
routes: StakeAndDeployRouteDefinition[];
|
|
52
|
-
destChains: Chain[];
|
|
53
|
-
/** Supported output assets - StakeAndDeploy produces LBTC */
|
|
54
|
-
supportedAssetsOut: AssetId[];
|
|
55
|
-
supportedProtocols: DeployProtocol[];
|
|
56
|
-
addressSchema: z.ZodString;
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Get stake and bake fee for a protocol
|
|
60
|
-
*/
|
|
61
|
-
getStakeAndBakeFee: (
|
|
62
|
-
ctx: BtcCoreContext,
|
|
63
|
-
chainId: unknown,
|
|
64
|
-
vaultKey: string,
|
|
65
|
-
) => Promise<string>;
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Authorize stake and bake (EIP-712 signing)
|
|
69
|
-
*/
|
|
70
|
-
authorizeStakeAndBake: (
|
|
71
|
-
ctx: BtcCoreContext,
|
|
72
|
-
params: {
|
|
73
|
-
chainId: unknown;
|
|
74
|
-
recipient: string;
|
|
75
|
-
amount: string;
|
|
76
|
-
vaultKey: string;
|
|
77
|
-
token: string;
|
|
78
|
-
},
|
|
79
|
-
) => Promise<StakeAndBakeAuthResult>;
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Restore existing stake and bake signature from the server.
|
|
83
|
-
* Used to check if a valid unexpired signature already exists,
|
|
84
|
-
* allowing the action to skip the signing step.
|
|
85
|
-
*
|
|
86
|
-
* @returns null if no valid signature exists, otherwise the restore result
|
|
87
|
-
*/
|
|
88
|
-
restoreStakeAndBakeSignature: (
|
|
89
|
-
ctx: BtcCoreContext,
|
|
90
|
-
chainId: unknown,
|
|
91
|
-
recipient: string,
|
|
92
|
-
) => Promise<StakeAndBakeRestoreResult | null>;
|
|
93
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* BTC StakeAndDeploy Factory Functions
|
|
3
|
-
*
|
|
4
|
-
* Provides factory functions for creating BtcStakeAndDeploy instances.
|
|
5
|
-
* Separates instantiation from the main class.
|
|
6
|
-
*
|
|
7
|
-
* @module chains/btc/actions/stakeAndDeploy/factory
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import type { LombardConfig } from '../../../../config/types';
|
|
11
|
-
import type { BtcCoreContext } from '../../../../shared/context';
|
|
12
|
-
import { createBtcCoreContext } from '../../../../shared/context';
|
|
13
|
-
import { BtcStakeAndDeploy } from './BtcStakeAndDeploy';
|
|
14
|
-
import type { BtcStakeAndDeployParams } from './types';
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Create BtcStakeAndDeploy action from config
|
|
18
|
-
*
|
|
19
|
-
* @internal This factory is for internal use. Use createLombardSDK() instead:
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* ```typescript
|
|
23
|
-
* const sdk = await createLombardSDK({ env: Env.prod, providers: { ... } });
|
|
24
|
-
* const action = sdk.chain.btc.stakeAndDeploy({
|
|
25
|
-
* assetOut: AssetId.LBTC,
|
|
26
|
-
* destChain: Chain.ETHEREUM,
|
|
27
|
-
* protocol: DeployProtocol.Veda,
|
|
28
|
-
* });
|
|
29
|
-
* await action.prepare({ amount: '0.1', recipient: '0x...' });
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
export function btcStakeAndDeploy(
|
|
33
|
-
config: LombardConfig,
|
|
34
|
-
params: BtcStakeAndDeployParams,
|
|
35
|
-
): BtcStakeAndDeploy {
|
|
36
|
-
const ctx = createBtcCoreContext(config);
|
|
37
|
-
return new BtcStakeAndDeploy(ctx, params);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Create BtcStakeAndDeploy action from context
|
|
42
|
-
*
|
|
43
|
-
* Use this when you already have a BtcCoreContext (e.g., in BtcActions).
|
|
44
|
-
*
|
|
45
|
-
* @param ctx - BtcCoreContext
|
|
46
|
-
* @param params - StakeAndDeploy parameters
|
|
47
|
-
* @returns BtcStakeAndDeploy instance
|
|
48
|
-
*/
|
|
49
|
-
export function createBtcStakeAndDeploy(
|
|
50
|
-
ctx: BtcCoreContext,
|
|
51
|
-
params: BtcStakeAndDeployParams,
|
|
52
|
-
): BtcStakeAndDeploy {
|
|
53
|
-
return new BtcStakeAndDeploy(ctx, params);
|
|
54
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* BTC StakeAndDeploy Action Exports
|
|
3
|
-
*
|
|
4
|
-
* @module chains/btc/actions/stakeAndDeploy
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
// Main action class
|
|
8
|
-
export { BtcStakeAndDeploy } from './BtcStakeAndDeploy';
|
|
9
|
-
|
|
10
|
-
// Factory functions
|
|
11
|
-
export { btcStakeAndDeploy, createBtcStakeAndDeploy } from './factory';
|
|
12
|
-
|
|
13
|
-
// Types
|
|
14
|
-
export type {
|
|
15
|
-
BtcStakeAndDeployParams,
|
|
16
|
-
BtcStakeAndDeployPrepareParams,
|
|
17
|
-
BtcStakeAndDeployProgress,
|
|
18
|
-
BtcStakeAndDeploy as IBtcStakeAndDeploy,
|
|
19
|
-
} from './types';
|
|
20
|
-
export { BtcActionStatus } from './types';
|
|
21
|
-
|
|
22
|
-
// Configuration types (for advanced usage)
|
|
23
|
-
export type {
|
|
24
|
-
StakeAndDeployChainConfig,
|
|
25
|
-
StakeAndDeployRouteDefinition,
|
|
26
|
-
} from './config';
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* BTC StakeAndDeploy Action Types
|
|
3
|
-
*
|
|
4
|
-
* Type definitions for BTC → LBTC → Vault operations.
|
|
5
|
-
*
|
|
6
|
-
* @module chains/btc/actions/stakeAndDeploy/types
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import type {
|
|
10
|
-
AssetId,
|
|
11
|
-
Chain,
|
|
12
|
-
DeployProtocol,
|
|
13
|
-
StepStatus,
|
|
14
|
-
StrategyProgress,
|
|
15
|
-
} from '../../../../core';
|
|
16
|
-
import type { MonitorableAction } from '../../../../shared/actions/BaseAction';
|
|
17
|
-
import { BtcActionStatus } from '../../../../shared/constants/statusConstants';
|
|
18
|
-
import type { MonitorProgress } from '../../../../shared/monitoring';
|
|
19
|
-
|
|
20
|
-
// Re-export for convenience (single export statement avoids duplicate identifier)
|
|
21
|
-
export { BtcActionStatus };
|
|
22
|
-
|
|
23
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
24
|
-
// Parameters
|
|
25
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* BTC StakeAndDeploy parameters
|
|
29
|
-
*/
|
|
30
|
-
export interface BtcStakeAndDeployParams {
|
|
31
|
-
/** Input asset (BTC) */
|
|
32
|
-
assetIn?: AssetId;
|
|
33
|
-
/** Output asset (LBTC vault shares) */
|
|
34
|
-
assetOut: AssetId;
|
|
35
|
-
/** Source Bitcoin network */
|
|
36
|
-
sourceChain?: typeof Chain.BITCOIN_MAINNET | typeof Chain.BITCOIN_SIGNET;
|
|
37
|
-
/** Destination chain where vault exists */
|
|
38
|
-
destChain: Chain;
|
|
39
|
-
/** Protocol/vault to deploy to */
|
|
40
|
-
protocol: DeployProtocol;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Prepare parameters
|
|
45
|
-
*/
|
|
46
|
-
export interface BtcStakeAndDeployPrepareParams {
|
|
47
|
-
/** Amount of BTC to stake and deploy (human-readable) */
|
|
48
|
-
amount: string;
|
|
49
|
-
/** Recipient address on destination chain */
|
|
50
|
-
recipient: string;
|
|
51
|
-
/** Optional referral code */
|
|
52
|
-
referralCode?: string;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
56
|
-
// Progress
|
|
57
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* BTC StakeAndDeploy progress
|
|
61
|
-
*/
|
|
62
|
-
export interface BtcStakeAndDeployProgress
|
|
63
|
-
extends StrategyProgress<BtcActionStatus> {
|
|
64
|
-
status: BtcActionStatus;
|
|
65
|
-
steps: {
|
|
66
|
-
created: StepStatus;
|
|
67
|
-
verifying: StepStatus;
|
|
68
|
-
issuing: StepStatus;
|
|
69
|
-
depositing: StepStatus;
|
|
70
|
-
};
|
|
71
|
-
depositAddress?: string;
|
|
72
|
-
confirmations?: number;
|
|
73
|
-
requiredConfirmations?: number;
|
|
74
|
-
hasEnoughConfirmations?: boolean;
|
|
75
|
-
isClaimed?: boolean;
|
|
76
|
-
isDeposited?: boolean;
|
|
77
|
-
metadata?: Record<string, unknown>;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
81
|
-
// Interface
|
|
82
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* BTC StakeAndDeploy interface
|
|
86
|
-
*/
|
|
87
|
-
export interface BtcStakeAndDeploy extends MonitorableAction {
|
|
88
|
-
readonly status: BtcActionStatus;
|
|
89
|
-
readonly amount?: string;
|
|
90
|
-
readonly recipient?: string;
|
|
91
|
-
readonly depositAddress?: string;
|
|
92
|
-
readonly referralCode?: string;
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* Prepare the operation
|
|
96
|
-
*/
|
|
97
|
-
prepare(params: BtcStakeAndDeployPrepareParams): Promise<void>;
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Authorize vault deposit via signature
|
|
101
|
-
*/
|
|
102
|
-
authorizeDeposit(): Promise<void>;
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Generate BTC deposit address
|
|
106
|
-
*/
|
|
107
|
-
generateDepositAddress(): Promise<string>;
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Execute the operation
|
|
111
|
-
*/
|
|
112
|
-
execute(): Promise<{ depositAddress: string; txHash?: string }>;
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Monitor deposit progress
|
|
116
|
-
*/
|
|
117
|
-
monitorDeposit?(): Promise<MonitorProgress | undefined>;
|
|
118
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import axios from 'axios';
|
|
2
|
-
|
|
3
|
-
import { handleMempoolApiError } from './mempool/error';
|
|
4
|
-
import { getBtcApiConfig,TNetworkMode } from './mempool/mempool';
|
|
5
|
-
|
|
6
|
-
interface Response {
|
|
7
|
-
height: number;
|
|
8
|
-
hash: string;
|
|
9
|
-
timestamp: string;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Returns the current block height from the mempool.space API
|
|
14
|
-
*/
|
|
15
|
-
export async function getCurrentBlockHeight(
|
|
16
|
-
mode: TNetworkMode,
|
|
17
|
-
): Promise<number> {
|
|
18
|
-
const { mempoolApiUrl } = getBtcApiConfig(mode);
|
|
19
|
-
const timestamp = Math.floor(Date.now() / 1000);
|
|
20
|
-
const url = `${mempoolApiUrl}/api/v1/mining/blocks/timestamp/${timestamp}`;
|
|
21
|
-
|
|
22
|
-
try {
|
|
23
|
-
const { data } = await axios.get<Response>(url);
|
|
24
|
-
return data.height;
|
|
25
|
-
} catch (error) {
|
|
26
|
-
handleMempoolApiError(error);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { AxiosError } from 'axios';
|
|
2
|
-
|
|
3
|
-
const ADBLOCKER_ERROR_CODE = 'ERR_NETWORK';
|
|
4
|
-
|
|
5
|
-
const ADBLOCK_ERROR_MSG =
|
|
6
|
-
'This may be due to your Adblocker. Please disable any Adblocker and refresh the page to restore full functionality.';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Handles the error from the mempool.space API.
|
|
10
|
-
* If the error is due to an adblocker, it throws an error with a message to disable the adblocker.
|
|
11
|
-
*
|
|
12
|
-
* @param error Error object.
|
|
13
|
-
*
|
|
14
|
-
* @throws Error with the error message.
|
|
15
|
-
*/
|
|
16
|
-
export function handleMempoolApiError(error: unknown): never {
|
|
17
|
-
const { code, message } = error as AxiosError;
|
|
18
|
-
|
|
19
|
-
if (code === ADBLOCKER_ERROR_CODE) {
|
|
20
|
-
throw new Error(ADBLOCK_ERROR_MSG);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
throw new Error(message);
|
|
24
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export type TNetworkMode = 'mainnet' | 'testnet';
|
|
2
|
-
|
|
3
|
-
interface IApiConfig {
|
|
4
|
-
mempoolApiUrl: string;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
const stageConfig: IApiConfig = {
|
|
8
|
-
mempoolApiUrl: 'https://mempool.space/signet',
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
const prodConfig: IApiConfig = {
|
|
12
|
-
mempoolApiUrl: 'https://mempool.space',
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Returns the configuration for the Bitcoin related APIs.
|
|
17
|
-
*
|
|
18
|
-
* @param mode - The network mode.
|
|
19
|
-
*
|
|
20
|
-
* @returns The configuration.
|
|
21
|
-
*/
|
|
22
|
-
export const getBtcApiConfig = (mode: TNetworkMode): IApiConfig =>
|
|
23
|
-
mode === 'mainnet' ? prodConfig : stageConfig;
|
package/src/chains/btc/index.ts
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* BTC Chain Exports
|
|
3
|
-
*
|
|
4
|
-
* Provides Bitcoin operations (stake, stakeAndDeploy, deposit).
|
|
5
|
-
*
|
|
6
|
-
* @module chains/btc
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
// Main exports
|
|
10
|
-
export { BtcActions, btcActions } from './BtcActions';
|
|
11
|
-
|
|
12
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
13
|
-
// Unified BTC Action Status
|
|
14
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
15
|
-
|
|
16
|
-
// Single export to avoid duplicate identifiers
|
|
17
|
-
export { BtcActionStatus } from '../../shared/constants/statusConstants';
|
|
18
|
-
|
|
19
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
20
|
-
// Stake Action
|
|
21
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
22
|
-
|
|
23
|
-
export type {
|
|
24
|
-
BtcStakeParams,
|
|
25
|
-
BtcStakeProgress,
|
|
26
|
-
BtcStake as IBtcStake,
|
|
27
|
-
} from './actions/stake';
|
|
28
|
-
export { BtcStake, btcStake, createBtcStake } from './actions/stake';
|
|
29
|
-
|
|
30
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
31
|
-
// Deposit Action
|
|
32
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
33
|
-
|
|
34
|
-
export type {
|
|
35
|
-
BtcDepositParams,
|
|
36
|
-
BtcDepositPrepareParams,
|
|
37
|
-
BtcDepositProgress,
|
|
38
|
-
BtcDeposit as IBtcDeposit,
|
|
39
|
-
} from './actions/deposit';
|
|
40
|
-
export { BtcDeposit, btcDeposit, createBtcDeposit } from './actions/deposit';
|
|
41
|
-
|
|
42
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
43
|
-
// StakeAndDeploy Action
|
|
44
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
45
|
-
|
|
46
|
-
export type {
|
|
47
|
-
BtcStakeAndDeployParams,
|
|
48
|
-
BtcStakeAndDeployPrepareParams,
|
|
49
|
-
BtcStakeAndDeployProgress,
|
|
50
|
-
BtcStakeAndDeploy as IBtcStakeAndDeploy,
|
|
51
|
-
} from './actions/stakeAndDeploy';
|
|
52
|
-
export {
|
|
53
|
-
BtcStakeAndDeploy,
|
|
54
|
-
btcStakeAndDeploy,
|
|
55
|
-
createBtcStakeAndDeploy,
|
|
56
|
-
} from './actions/stakeAndDeploy';
|
|
57
|
-
|
|
58
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
59
|
-
// DepositAndDeploy Action
|
|
60
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
61
|
-
|
|
62
|
-
export type {
|
|
63
|
-
BtcDepositAndDeployParams,
|
|
64
|
-
BtcDepositAndDeployPrepareParams,
|
|
65
|
-
BtcDepositAndDeployProgress,
|
|
66
|
-
BtcDepositAndDeploy as IBtcDepositAndDeploy,
|
|
67
|
-
} from './actions/depositAndDeploy';
|
|
68
|
-
export {
|
|
69
|
-
BtcDepositAndDeploy,
|
|
70
|
-
createBtcDepositAndDeploy,
|
|
71
|
-
} from './actions/depositAndDeploy';
|
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* EVM Actions
|
|
3
|
-
*
|
|
4
|
-
* Provides factory methods for EVM chain operations.
|
|
5
|
-
*
|
|
6
|
-
* Operations:
|
|
7
|
-
* - stake: BTC.b → LBTC (stake wrapped BTC to get LBTC)
|
|
8
|
-
* - unstake: LBTC → BTC (cross-chain) or LBTC → BTC.b (same-chain)
|
|
9
|
-
* - deposit: Claim LBTC with notarized proof
|
|
10
|
-
* - deploy: LBTC/BTC.b → DeFi protocols (Veda, Silo)
|
|
11
|
-
* - redeem: LBTC → BTC.b (same-chain unwrap)
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```typescript
|
|
15
|
-
* import { createLombardSDK, Chain, Env } from '@lombard.finance/sdk';
|
|
16
|
-
*
|
|
17
|
-
* const sdk = await createLombardSDK({
|
|
18
|
-
* env: Env.prod,
|
|
19
|
-
* providers: { evm: () => window.ethereum },
|
|
20
|
-
* });
|
|
21
|
-
*
|
|
22
|
-
* const unstake = sdk.chain.evm.unstake({
|
|
23
|
-
* sourceChain: Chain.ETHEREUM,
|
|
24
|
-
* assetOut: AssetId.BTC,
|
|
25
|
-
* });
|
|
26
|
-
*
|
|
27
|
-
* await unstake.prepare({ amount: '0.1', recipient: 'bc1q...' });
|
|
28
|
-
* const { txHash } = await unstake.execute();
|
|
29
|
-
* ```
|
|
30
|
-
*
|
|
31
|
-
* @module chains/evm/EvmActions
|
|
32
|
-
*/
|
|
33
|
-
|
|
34
|
-
import type { LombardConfig } from '../../config/types';
|
|
35
|
-
import type { EvmCoreContext } from '../../shared/context';
|
|
36
|
-
import { createEvmCoreContext } from '../../shared/context';
|
|
37
|
-
import {
|
|
38
|
-
createEvmDeploy,
|
|
39
|
-
type EvmDeployParams,
|
|
40
|
-
type IEvmDeploy,
|
|
41
|
-
} from './actions/deploy';
|
|
42
|
-
import {
|
|
43
|
-
createEvmDeposit,
|
|
44
|
-
type EvmDepositParams,
|
|
45
|
-
type IEvmDeposit,
|
|
46
|
-
} from './actions/deposit';
|
|
47
|
-
import {
|
|
48
|
-
createEvmRedeem,
|
|
49
|
-
type EvmRedeemParams,
|
|
50
|
-
type IEvmRedeem,
|
|
51
|
-
} from './actions/redeem';
|
|
52
|
-
// Import action factories
|
|
53
|
-
import {
|
|
54
|
-
createEvmStake,
|
|
55
|
-
type EvmStakeParams,
|
|
56
|
-
type IEvmStake,
|
|
57
|
-
} from './actions/stake';
|
|
58
|
-
import {
|
|
59
|
-
createEvmUnstake,
|
|
60
|
-
type EvmUnstakeParams,
|
|
61
|
-
type IEvmUnstake,
|
|
62
|
-
} from './actions/unstake';
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* EVM Actions
|
|
66
|
-
*
|
|
67
|
-
* User-facing class for EVM operations.
|
|
68
|
-
* Created via evmActions(config) factory function.
|
|
69
|
-
*/
|
|
70
|
-
export class EvmActions {
|
|
71
|
-
private readonly ctx: EvmCoreContext;
|
|
72
|
-
|
|
73
|
-
constructor(config: LombardConfig) {
|
|
74
|
-
this.ctx = createEvmCoreContext(config);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Stake BTC.b to receive LBTC
|
|
79
|
-
*
|
|
80
|
-
* Converts wrapped BTC (BTC.b) to LBTC via the Asset Router.
|
|
81
|
-
* Currently supported on Avalanche.
|
|
82
|
-
*
|
|
83
|
-
* @example
|
|
84
|
-
* ```typescript
|
|
85
|
-
* const stake = evm.stake({
|
|
86
|
-
* assetIn: AssetId.BTCb,
|
|
87
|
-
* assetOut: AssetId.LBTC,
|
|
88
|
-
* sourceChain: Chain.AVALANCHE,
|
|
89
|
-
* destChain: Chain.AVALANCHE,
|
|
90
|
-
* });
|
|
91
|
-
* ```
|
|
92
|
-
*/
|
|
93
|
-
stake(params: EvmStakeParams): IEvmStake {
|
|
94
|
-
return createEvmStake(this.ctx, params);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Unstake LBTC to BTC or BTC.b
|
|
99
|
-
*
|
|
100
|
-
* - LBTC → BTC: Cross-chain to Bitcoin mainnet/signet
|
|
101
|
-
* - LBTC → BTC.b: Same-chain wrapped BTC on EVM
|
|
102
|
-
*
|
|
103
|
-
* @example
|
|
104
|
-
* ```typescript
|
|
105
|
-
* const unstake = evm.unstake({
|
|
106
|
-
* assetIn: AssetId.LBTC,
|
|
107
|
-
* assetOut: AssetId.BTC,
|
|
108
|
-
* sourceChain: Chain.ETHEREUM,
|
|
109
|
-
* destChain: Chain.BITCOIN_MAINNET,
|
|
110
|
-
* });
|
|
111
|
-
* ```
|
|
112
|
-
*/
|
|
113
|
-
unstake(params: EvmUnstakeParams): IEvmUnstake {
|
|
114
|
-
return createEvmUnstake(this.ctx, params);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* Deposit wrapped BTC to get LBTC
|
|
119
|
-
*
|
|
120
|
-
* Deposits WBTC or BTCb to receive LBTC.
|
|
121
|
-
*
|
|
122
|
-
* @example
|
|
123
|
-
* ```typescript
|
|
124
|
-
* const deposit = evm.deposit({
|
|
125
|
-
* assetIn: AssetId.WBTC,
|
|
126
|
-
* assetOut: AssetId.LBTC,
|
|
127
|
-
* sourceChain: Chain.ETHEREUM,
|
|
128
|
-
* destChain: Chain.ETHEREUM,
|
|
129
|
-
* });
|
|
130
|
-
* ```
|
|
131
|
-
*/
|
|
132
|
-
deposit(params: EvmDepositParams): IEvmDeposit {
|
|
133
|
-
return createEvmDeposit(this.ctx, params);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* Deploy L-Assets to DeFi protocols
|
|
138
|
-
*
|
|
139
|
-
* Currently supports Veda and Silo protocols.
|
|
140
|
-
*
|
|
141
|
-
* @example
|
|
142
|
-
* ```typescript
|
|
143
|
-
* const deploy = evm.deploy({
|
|
144
|
-
* asset: AssetId.LBTC,
|
|
145
|
-
* sourceChain: Chain.ETHEREUM,
|
|
146
|
-
* protocol: DeployProtocol.Veda,
|
|
147
|
-
* recipient: '0x...',
|
|
148
|
-
* });
|
|
149
|
-
* ```
|
|
150
|
-
*/
|
|
151
|
-
deploy(params: EvmDeployParams): IEvmDeploy {
|
|
152
|
-
return createEvmDeploy(this.ctx, params);
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
/**
|
|
156
|
-
* Redeem LBTC to BTC.b (same-chain unwrap)
|
|
157
|
-
*
|
|
158
|
-
* Converts LBTC to BTC.b on the same EVM chain.
|
|
159
|
-
* For cross-chain BTC redemption, use unstake() with destChain set to Bitcoin.
|
|
160
|
-
*
|
|
161
|
-
* @example
|
|
162
|
-
* ```typescript
|
|
163
|
-
* const redeem = evm.redeem({
|
|
164
|
-
* assetIn: AssetId.LBTC,
|
|
165
|
-
* assetOut: AssetId.BTCb,
|
|
166
|
-
* sourceChain: Chain.AVALANCHE,
|
|
167
|
-
* });
|
|
168
|
-
* ```
|
|
169
|
-
*/
|
|
170
|
-
redeem(params: EvmRedeemParams): IEvmRedeem {
|
|
171
|
-
return createEvmRedeem(this.ctx, params);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
/**
|
|
176
|
-
* Create EVM actions from config
|
|
177
|
-
*
|
|
178
|
-
* Factory function that creates EvmActions for EVM operations.
|
|
179
|
-
*
|
|
180
|
-
* @param config - LombardConfig instance
|
|
181
|
-
* @returns EvmActions instance
|
|
182
|
-
*/
|
|
183
|
-
export function evmActions(config: LombardConfig): EvmActions {
|
|
184
|
-
return new EvmActions(config);
|
|
185
|
-
}
|