@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,197 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* EVM Chain Configuration for BTC Deposit
|
|
3
|
-
*
|
|
4
|
-
* BTC Deposit: BTC → BTC.b (wrapped BTC without yield)
|
|
5
|
-
* For staking (BTC → LBTC), use BtcStake instead.
|
|
6
|
-
*
|
|
7
|
-
* Supported chains are derived from ASSET_CATALOG - single source of truth.
|
|
8
|
-
*
|
|
9
|
-
* Fee authorization is ONLY required for Ethereum mainnet.
|
|
10
|
-
* Other chains use address confirmation signing.
|
|
11
|
-
*
|
|
12
|
-
* @module chains/btc/actions/deposit/config/evm
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
import type { EvmService } from '@lombard.finance/sdk-common';
|
|
16
|
-
import type { EIP1193Provider } from 'viem';
|
|
17
|
-
|
|
18
|
-
import type { ChainId } from '../../../../../common/chains';
|
|
19
|
-
import {
|
|
20
|
-
AssetId,
|
|
21
|
-
Chain,
|
|
22
|
-
Env,
|
|
23
|
-
getAllAssetChains,
|
|
24
|
-
isEvmChain,
|
|
25
|
-
} from '../../../../../core';
|
|
26
|
-
import { LombardError } from '../../../../../shared/errors';
|
|
27
|
-
import { ensureCorrectChain } from '../../../../../shared/evm/switchChain';
|
|
28
|
-
import { evmAddressSchema } from '../../../../../shared/validation';
|
|
29
|
-
import { Token } from '../../../../../tokens/token-addresses';
|
|
30
|
-
import { getTokenContractInfo } from '../../../../../tokens/tokens';
|
|
31
|
-
import { toSatoshi } from '../../../../../utils/satoshi';
|
|
32
|
-
import type { DepositChainConfig, DepositFeeAuthConfig } from './types';
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Chains that require fee authorization (unsubsidized chains).
|
|
36
|
-
*
|
|
37
|
-
* Ethereum mainnet and Sepolia require EIP-712 network fee signing.
|
|
38
|
-
* Other chains are subsidized by Lombard.
|
|
39
|
-
*/
|
|
40
|
-
const UNSUBSIDIZED_CHAINS = [Chain.ETHEREUM, Chain.SEPOLIA] as const;
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Fee authorization config for unsubsidized chains
|
|
44
|
-
*
|
|
45
|
-
* BTC Deposit produces BTC.b, so we must use Token.BTCb for fee signatures.
|
|
46
|
-
* This ensures the backend can distinguish between LBTC and BTC.b signatures.
|
|
47
|
-
*/
|
|
48
|
-
const feeAuthConfig: DepositFeeAuthConfig = {
|
|
49
|
-
async getMintingFee(ctx, chainId) {
|
|
50
|
-
const evm = ctx.capabilities.require('evm') as EvmService;
|
|
51
|
-
// Fetch BTC.b minting fee (not LBTC!)
|
|
52
|
-
return evm.getMintingFee(chainId as ChainId, Token.BTCb);
|
|
53
|
-
},
|
|
54
|
-
|
|
55
|
-
async restoreFeeSignature(ctx, chainId, address) {
|
|
56
|
-
// Get BTC.b token address for this chain to distinguish from LBTC signatures
|
|
57
|
-
const tokenInfo = await getTokenContractInfo(
|
|
58
|
-
Token.BTCb,
|
|
59
|
-
chainId as ChainId,
|
|
60
|
-
ctx.env,
|
|
61
|
-
);
|
|
62
|
-
|
|
63
|
-
const result = await ctx.api.getFeeSignature({
|
|
64
|
-
address,
|
|
65
|
-
chainId: chainId as ChainId,
|
|
66
|
-
tokenAddress: tokenInfo.address,
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
// Check if signature exists on server (API returns has_signature flag)
|
|
70
|
-
if (!result.hasSignature) {
|
|
71
|
-
return null;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
// Check expiration - expirationDate is Unix timestamp in seconds
|
|
75
|
-
// Convert to milliseconds for Date comparison
|
|
76
|
-
if (result.expirationDate && new Date(Number(result.expirationDate) * 1000) < new Date()) {
|
|
77
|
-
return null;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
// Return hasSignature: true even if actual signature string is not returned by API
|
|
81
|
-
// The server has the signature stored; we just need to know it's valid
|
|
82
|
-
return {
|
|
83
|
-
hasSignature: true,
|
|
84
|
-
signature: result.signature, // May be undefined - that's OK
|
|
85
|
-
typedData: result.typedData,
|
|
86
|
-
};
|
|
87
|
-
},
|
|
88
|
-
|
|
89
|
-
async authorizeFee(ctx, { chainId, recipient, fee }) {
|
|
90
|
-
const evm = ctx.capabilities.require('evm') as EvmService;
|
|
91
|
-
const provider = await ctx.getProvider('evm');
|
|
92
|
-
if (!provider) {
|
|
93
|
-
throw LombardError.providerMissing(String(chainId), 'evm');
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
// Ensure wallet is on the correct chain before signing
|
|
97
|
-
await ensureCorrectChain(provider as EIP1193Provider, chainId as ChainId);
|
|
98
|
-
|
|
99
|
-
// getMintingFee returns BTC (e.g., "0.00000032"), but signNetworkFee expects satoshis
|
|
100
|
-
const feeInSatoshis = toSatoshi(fee).toString();
|
|
101
|
-
|
|
102
|
-
// Get BTC.b token info for this chain
|
|
103
|
-
const tokenInfo = await getTokenContractInfo(
|
|
104
|
-
Token.BTCb,
|
|
105
|
-
chainId as ChainId,
|
|
106
|
-
ctx.env,
|
|
107
|
-
);
|
|
108
|
-
|
|
109
|
-
// Sign the network fee with BTC.b token (not LBTC!)
|
|
110
|
-
const result = await evm.signNetworkFee({
|
|
111
|
-
fee: feeInSatoshis,
|
|
112
|
-
account: recipient,
|
|
113
|
-
chainId: chainId as ChainId,
|
|
114
|
-
provider: provider as EIP1193Provider,
|
|
115
|
-
token: Token.BTCb,
|
|
116
|
-
});
|
|
117
|
-
|
|
118
|
-
// Store the signature with token address to distinguish from LBTC signatures
|
|
119
|
-
await ctx.api.storeFeeSignature({
|
|
120
|
-
address: recipient,
|
|
121
|
-
signature: result.signature,
|
|
122
|
-
typedData: result.typedData,
|
|
123
|
-
tokenAddress: tokenInfo.address,
|
|
124
|
-
});
|
|
125
|
-
|
|
126
|
-
return {
|
|
127
|
-
signature: result.signature,
|
|
128
|
-
typedData: result.typedData,
|
|
129
|
-
};
|
|
130
|
-
},
|
|
131
|
-
};
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* EVM deposit configuration
|
|
135
|
-
*
|
|
136
|
-
* BTC Deposit produces BTC.b (wrapped BTC without yield).
|
|
137
|
-
* Supported chains are derived from ASSET_CATALOG[AssetId.BTCb].deployments.
|
|
138
|
-
*/
|
|
139
|
-
export const evmDepositConfig: DepositChainConfig = {
|
|
140
|
-
chainType: 'evm',
|
|
141
|
-
|
|
142
|
-
routes: [
|
|
143
|
-
{
|
|
144
|
-
sourceChains: [Chain.BITCOIN_MAINNET],
|
|
145
|
-
envs: [Env.prod],
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
sourceChains: [Chain.BITCOIN_SIGNET],
|
|
149
|
-
envs: [Env.stage, Env.dev, Env.testnet, Env.ibc],
|
|
150
|
-
},
|
|
151
|
-
],
|
|
152
|
-
|
|
153
|
-
// Derived from ASSET_CATALOG - all chains where BTC.b is deployed
|
|
154
|
-
destChains: getAllAssetChains(AssetId.BTCb).filter(chain =>
|
|
155
|
-
isEvmChain(chain),
|
|
156
|
-
),
|
|
157
|
-
|
|
158
|
-
// BTC Deposit only produces BTC.b
|
|
159
|
-
supportedAssetsOut: [AssetId.BTCb],
|
|
160
|
-
|
|
161
|
-
addressSchema: evmAddressSchema,
|
|
162
|
-
|
|
163
|
-
/**
|
|
164
|
-
* Get fee auth config - unsubsidized chains require fee authorization
|
|
165
|
-
* Other chains use address confirmation signing
|
|
166
|
-
*/
|
|
167
|
-
getFeeAuthConfig(destChain: Chain): DepositFeeAuthConfig | null {
|
|
168
|
-
return (UNSUBSIDIZED_CHAINS as readonly Chain[]).includes(destChain)
|
|
169
|
-
? feeAuthConfig
|
|
170
|
-
: null;
|
|
171
|
-
},
|
|
172
|
-
|
|
173
|
-
/**
|
|
174
|
-
* Sign destination address confirmation
|
|
175
|
-
* Used for non-fee-auth chains (e.g., Avalanche, Katana)
|
|
176
|
-
*/
|
|
177
|
-
async signDestination(ctx, recipient, chainId) {
|
|
178
|
-
const evm = ctx.capabilities.require('evm') as EvmService;
|
|
179
|
-
const provider = await ctx.getProvider('evm');
|
|
180
|
-
if (!provider) {
|
|
181
|
-
throw LombardError.providerMissing(String(chainId), 'evm');
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
// Ensure wallet is on the correct chain before signing
|
|
185
|
-
await ensureCorrectChain(provider as EIP1193Provider, chainId as ChainId);
|
|
186
|
-
|
|
187
|
-
const result = await evm.signLbtcDestination({
|
|
188
|
-
address: recipient,
|
|
189
|
-
chainId: chainId as ChainId,
|
|
190
|
-
provider: provider as EIP1193Provider,
|
|
191
|
-
});
|
|
192
|
-
|
|
193
|
-
return {
|
|
194
|
-
signature: result.signature,
|
|
195
|
-
};
|
|
196
|
-
},
|
|
197
|
-
};
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* BTC Deposit Chain Configuration Registry
|
|
3
|
-
*
|
|
4
|
-
* BTC Deposit: BTC → BTC.b (wrapped BTC without yield)
|
|
5
|
-
*
|
|
6
|
-
* @module chains/btc/actions/deposit/config
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import type { AssetId, Chain, Env } from '../../../../../core';
|
|
10
|
-
import { evmDepositConfig } from './evm';
|
|
11
|
-
|
|
12
|
-
export type {
|
|
13
|
-
DepositChainConfig,
|
|
14
|
-
DepositFeeAuthConfig,
|
|
15
|
-
DepositRouteDefinition,
|
|
16
|
-
FeeAuthResult,
|
|
17
|
-
SignatureResult,
|
|
18
|
-
StoredFeeSignature,
|
|
19
|
-
} from './types';
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* All deposit configs (currently only EVM)
|
|
23
|
-
*/
|
|
24
|
-
export const depositConfig = evmDepositConfig;
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Check if destination chain is supported
|
|
28
|
-
*/
|
|
29
|
-
export function isDestChainSupported(chain: Chain): boolean {
|
|
30
|
-
return depositConfig.destChains.includes(chain);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Check if assetOut is supported for BTC Deposit
|
|
35
|
-
* BTC Deposit should only produce BTC.b
|
|
36
|
-
*/
|
|
37
|
-
export function isAssetOutSupported(assetOut: AssetId): boolean {
|
|
38
|
-
return depositConfig.supportedAssetsOut.includes(assetOut);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Check if route is available for given source chain and environment
|
|
43
|
-
*/
|
|
44
|
-
export function isRouteAvailable(
|
|
45
|
-
sourceChain: Chain | undefined,
|
|
46
|
-
env: Env,
|
|
47
|
-
): boolean {
|
|
48
|
-
if (!sourceChain) return true;
|
|
49
|
-
return depositConfig.routes.some(
|
|
50
|
-
route =>
|
|
51
|
-
route.sourceChains.includes(sourceChain) && route.envs.includes(env),
|
|
52
|
-
);
|
|
53
|
-
}
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* BTC Deposit Chain Configuration Types
|
|
3
|
-
*
|
|
4
|
-
* @module chains/btc/actions/deposit/config/types
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import type { z } from 'zod';
|
|
8
|
-
|
|
9
|
-
import type { AssetId, Chain, Env } from '../../../../../core';
|
|
10
|
-
import type { BtcCoreContext } from '../../../../../shared/context';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Stored fee signature result
|
|
14
|
-
*/
|
|
15
|
-
export interface StoredFeeSignature {
|
|
16
|
-
hasSignature: boolean;
|
|
17
|
-
signature?: string;
|
|
18
|
-
typedData?: string;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Fee authorization result
|
|
23
|
-
*/
|
|
24
|
-
export interface FeeAuthResult {
|
|
25
|
-
signature: string;
|
|
26
|
-
typedData?: string;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Signature result for address confirmation
|
|
31
|
-
*/
|
|
32
|
-
export interface SignatureResult {
|
|
33
|
-
signature: string;
|
|
34
|
-
typedData?: string;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Route definition for deposit configs
|
|
39
|
-
*/
|
|
40
|
-
export interface DepositRouteDefinition {
|
|
41
|
-
sourceChains: Chain[];
|
|
42
|
-
envs: Env[];
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Fee authorization configuration
|
|
47
|
-
*
|
|
48
|
-
* When present, ALL methods are guaranteed to exist.
|
|
49
|
-
* Used for chains that require fee authorization (e.g., Ethereum mainnet).
|
|
50
|
-
*/
|
|
51
|
-
export interface DepositFeeAuthConfig {
|
|
52
|
-
/**
|
|
53
|
-
* Get the minting fee for this chain (in BTC)
|
|
54
|
-
* Called in prepare() when fee authorization is needed
|
|
55
|
-
*/
|
|
56
|
-
getMintingFee: (ctx: BtcCoreContext, chainId: unknown) => Promise<string>;
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Try to restore a stored fee signature (resume flow)
|
|
60
|
-
*/
|
|
61
|
-
restoreFeeSignature: (
|
|
62
|
-
ctx: BtcCoreContext,
|
|
63
|
-
chainId: unknown,
|
|
64
|
-
address: string,
|
|
65
|
-
) => Promise<StoredFeeSignature | null>;
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Authorize fee (EIP-712 signing)
|
|
69
|
-
*/
|
|
70
|
-
authorizeFee: (
|
|
71
|
-
ctx: BtcCoreContext,
|
|
72
|
-
params: { chainId: unknown; recipient: string; fee: string },
|
|
73
|
-
) => Promise<FeeAuthResult>;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Deposit chain configuration
|
|
78
|
-
*
|
|
79
|
-
* BTC Deposit produces BTC.b (wrapped BTC without yield).
|
|
80
|
-
* Fee authorization is only required for Ethereum mainnet.
|
|
81
|
-
* Other chains use address confirmation signing.
|
|
82
|
-
*/
|
|
83
|
-
export interface DepositChainConfig {
|
|
84
|
-
chainType: 'evm';
|
|
85
|
-
routes: DepositRouteDefinition[];
|
|
86
|
-
destChains: Chain[];
|
|
87
|
-
/** Supported output assets - BTC Deposit should only produce BTC.b */
|
|
88
|
-
supportedAssetsOut: AssetId[];
|
|
89
|
-
addressSchema: z.ZodString;
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Get fee authorization config for a destination chain
|
|
93
|
-
*
|
|
94
|
-
* Returns DepositFeeAuthConfig if fee auth is required (Ethereum mainnet),
|
|
95
|
-
* null otherwise (address confirmation will be used instead).
|
|
96
|
-
*/
|
|
97
|
-
getFeeAuthConfig: (destChain: Chain) => DepositFeeAuthConfig | null;
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Sign destination address confirmation
|
|
101
|
-
* Used for non-fee-auth chains
|
|
102
|
-
*/
|
|
103
|
-
signDestination: (
|
|
104
|
-
ctx: BtcCoreContext,
|
|
105
|
-
recipient: string,
|
|
106
|
-
chainId: unknown,
|
|
107
|
-
) => Promise<SignatureResult>;
|
|
108
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* BTC Deposit Factory Functions
|
|
3
|
-
*
|
|
4
|
-
* Provides factory functions for creating BtcDeposit instances.
|
|
5
|
-
* Separates instantiation from the main class.
|
|
6
|
-
*
|
|
7
|
-
* @module chains/btc/actions/deposit/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 { BtcDeposit } from './BtcDeposit';
|
|
14
|
-
import type { BtcDepositParams } from './types';
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Create BtcDeposit 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 deposit = sdk.chain.btc.deposit({
|
|
25
|
-
* assetOut: AssetId.BTCb,
|
|
26
|
-
* destChain: Chain.AVALANCHE,
|
|
27
|
-
* });
|
|
28
|
-
* await deposit.prepare({ amount: '0.1', recipient: '0x...' });
|
|
29
|
-
* ```
|
|
30
|
-
*/
|
|
31
|
-
export function btcDeposit(
|
|
32
|
-
config: LombardConfig,
|
|
33
|
-
params: BtcDepositParams,
|
|
34
|
-
): BtcDeposit {
|
|
35
|
-
const ctx = createBtcCoreContext(config);
|
|
36
|
-
return new BtcDeposit(ctx, params);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Create BtcDeposit action from context
|
|
41
|
-
*
|
|
42
|
-
* Use this when you already have a BtcCoreContext (e.g., in BtcActions).
|
|
43
|
-
*
|
|
44
|
-
* @param ctx - BtcCoreContext
|
|
45
|
-
* @param params - Deposit parameters
|
|
46
|
-
* @returns BtcDeposit instance
|
|
47
|
-
*/
|
|
48
|
-
export function createBtcDeposit(
|
|
49
|
-
ctx: BtcCoreContext,
|
|
50
|
-
params: BtcDepositParams,
|
|
51
|
-
): BtcDeposit {
|
|
52
|
-
return new BtcDeposit(ctx, params);
|
|
53
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* BTC Deposit Action Exports
|
|
3
|
-
*
|
|
4
|
-
* @module chains/btc/actions/deposit
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
// Main action class
|
|
8
|
-
export { BtcDeposit } from './BtcDeposit';
|
|
9
|
-
|
|
10
|
-
// Factory functions
|
|
11
|
-
export { btcDeposit, createBtcDeposit } from './factory';
|
|
12
|
-
|
|
13
|
-
// Types
|
|
14
|
-
export type {
|
|
15
|
-
BtcDepositParams,
|
|
16
|
-
BtcDepositPrepareParams,
|
|
17
|
-
BtcDepositProgress,
|
|
18
|
-
BtcDeposit as IBtcDeposit,
|
|
19
|
-
} from './types';
|
|
20
|
-
export { BtcActionStatus } from './types';
|
|
21
|
-
|
|
22
|
-
// Configuration types (for advanced usage)
|
|
23
|
-
export type { DepositChainConfig, DepositRouteDefinition } from './config';
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* BTC Deposit Action Types
|
|
3
|
-
*
|
|
4
|
-
* Type definitions for BTC deposit operations.
|
|
5
|
-
*
|
|
6
|
-
* @module chains/btc/actions/deposit/types
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import type {
|
|
10
|
-
AssetId,
|
|
11
|
-
Chain,
|
|
12
|
-
StepStatus,
|
|
13
|
-
StrategyProgress,
|
|
14
|
-
} from '../../../../core';
|
|
15
|
-
import type { MonitorableAction } from '../../../../shared/actions/BaseAction';
|
|
16
|
-
import { BtcActionStatus } from '../../../../shared/constants/statusConstants';
|
|
17
|
-
import type { MonitorProgress } from '../../../../shared/monitoring';
|
|
18
|
-
|
|
19
|
-
// Re-export for convenience (single export statement avoids duplicate identifier)
|
|
20
|
-
export { BtcActionStatus };
|
|
21
|
-
|
|
22
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
23
|
-
// Parameters
|
|
24
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* BTC Deposit parameters
|
|
28
|
-
*
|
|
29
|
-
* Note: BTC Deposit is for custody operations (BTC → BTC.b).
|
|
30
|
-
* For staking operations (BTC → LBTC), use BtcStake instead.
|
|
31
|
-
*/
|
|
32
|
-
export interface BtcDepositParams {
|
|
33
|
-
/** Output asset - should be BTCb for deposit, LBTC for stake */
|
|
34
|
-
assetOut: AssetId;
|
|
35
|
-
/** Destination chain for minted asset */
|
|
36
|
-
destChain: Chain;
|
|
37
|
-
/** Source Bitcoin network (optional, defaults based on env) */
|
|
38
|
-
sourceChain?: typeof Chain.BITCOIN_MAINNET | typeof Chain.BITCOIN_SIGNET;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Prepare parameters
|
|
43
|
-
*/
|
|
44
|
-
export interface BtcDepositPrepareParams {
|
|
45
|
-
/** Amount of BTC to deposit (human-readable, e.g., "0.1") */
|
|
46
|
-
amount: string;
|
|
47
|
-
/** Recipient address on destination chain */
|
|
48
|
-
recipient: string;
|
|
49
|
-
/** Optional referral code */
|
|
50
|
-
referralCode?: string;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
54
|
-
// Progress
|
|
55
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* BTC Deposit progress
|
|
59
|
-
*/
|
|
60
|
-
export interface BtcDepositProgress extends StrategyProgress<BtcActionStatus> {
|
|
61
|
-
status: BtcActionStatus;
|
|
62
|
-
steps: {
|
|
63
|
-
created: StepStatus;
|
|
64
|
-
verifying: StepStatus;
|
|
65
|
-
issuing: StepStatus;
|
|
66
|
-
};
|
|
67
|
-
confirmations?: number;
|
|
68
|
-
requiredConfirmations?: number;
|
|
69
|
-
hasEnoughConfirmations?: boolean;
|
|
70
|
-
isClaimed?: boolean;
|
|
71
|
-
depositAddress?: string;
|
|
72
|
-
metadata?: Record<string, unknown>;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
76
|
-
// Interface
|
|
77
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* BTC Deposit interface
|
|
81
|
-
*/
|
|
82
|
-
export interface BtcDeposit extends MonitorableAction {
|
|
83
|
-
readonly status: BtcActionStatus;
|
|
84
|
-
readonly amount?: string;
|
|
85
|
-
readonly recipient?: string;
|
|
86
|
-
readonly depositAddress?: string;
|
|
87
|
-
readonly referralCode?: string;
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Prepare the deposit operation
|
|
91
|
-
*/
|
|
92
|
-
prepare(params: BtcDepositPrepareParams): Promise<void>;
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* Authorize the network fee (Ethereum mainnet only)
|
|
96
|
-
* For other chains, use confirmAddress() instead.
|
|
97
|
-
*/
|
|
98
|
-
authorizeFee(): Promise<void>;
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* Confirm destination address (non-Ethereum chains)
|
|
102
|
-
* For Ethereum mainnet, use authorizeFee() instead.
|
|
103
|
-
*/
|
|
104
|
-
confirmAddress(): Promise<void>;
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
* Generate BTC deposit address
|
|
108
|
-
*/
|
|
109
|
-
generateDepositAddress(): Promise<string>;
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Execute the deposit
|
|
113
|
-
*/
|
|
114
|
-
execute(): Promise<{ depositAddress: string; txHash?: string }>;
|
|
115
|
-
|
|
116
|
-
/**
|
|
117
|
-
* Monitor deposit progress
|
|
118
|
-
*/
|
|
119
|
-
monitorDeposit?(): Promise<MonitorProgress | undefined>;
|
|
120
|
-
}
|