@lombard.finance/sdk 3.7.3 → 4.0.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 +49 -0
- package/README.md +102 -698
- package/dist/api-functions/getDepositAddressReferrer/getDepositAddressReferrer.d.ts +15 -0
- package/dist/api-functions/getDepositAddressReferrer/getDepositAddressReferrer.d.ts.map +1 -0
- package/dist/api-functions/getDepositAddressReferrer/index.d.ts +2 -0
- package/dist/api-functions/getDepositAddressReferrer/index.d.ts.map +1 -0
- package/dist/api-functions/getDepositBtcAddress/getDepositBtcAddress.d.ts +1 -1
- package/dist/api-functions/getDepositBtcAddress/getDepositBtcAddress.d.ts.map +1 -1
- package/dist/api-functions/getLBTCExchangeRate/getLBTCExchangeRate.d.ts +3 -0
- package/dist/api-functions/getLBTCExchangeRate/getLBTCExchangeRate.d.ts.map +1 -1
- package/dist/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.d.ts +8 -0
- package/dist/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.d.ts.map +1 -1
- package/dist/api-functions/setReferral/setReferral.d.ts +5 -1
- package/dist/api-functions/setReferral/setReferral.d.ts.map +1 -1
- package/dist/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.d.ts +5 -1
- package/dist/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.d.ts.map +1 -1
- package/dist/bridge/lib/config.d.ts +5 -5
- package/dist/chains/btc/BtcActions.d.ts +155 -0
- package/dist/chains/btc/BtcActions.d.ts.map +1 -0
- package/dist/chains/btc/actions/deposit/BtcDeposit.d.ts +83 -0
- package/dist/chains/btc/actions/deposit/BtcDeposit.d.ts.map +1 -0
- package/dist/chains/btc/actions/deposit/config/evm.d.ts +22 -0
- package/dist/chains/btc/actions/deposit/config/evm.d.ts.map +1 -0
- package/dist/chains/btc/actions/deposit/config/index.d.ts +27 -0
- package/dist/chains/btc/actions/deposit/config/index.d.ts.map +1 -0
- package/dist/chains/btc/actions/deposit/config/types.d.ts +90 -0
- package/dist/chains/btc/actions/deposit/config/types.d.ts.map +1 -0
- package/dist/chains/btc/actions/deposit/factory.d.ts +39 -0
- package/dist/chains/btc/actions/deposit/factory.d.ts.map +1 -0
- package/dist/chains/btc/actions/deposit/index.d.ts +11 -0
- package/dist/chains/btc/actions/deposit/index.d.ts.map +1 -0
- package/dist/chains/btc/actions/deposit/types.d.ts +94 -0
- package/dist/chains/btc/actions/deposit/types.d.ts.map +1 -0
- package/dist/chains/btc/actions/depositAndDeploy/BtcDepositAndDeploy.d.ts +69 -0
- package/dist/chains/btc/actions/depositAndDeploy/BtcDepositAndDeploy.d.ts.map +1 -0
- package/dist/chains/btc/actions/depositAndDeploy/config/evm.d.ts +19 -0
- package/dist/chains/btc/actions/depositAndDeploy/config/evm.d.ts.map +1 -0
- package/dist/chains/btc/actions/depositAndDeploy/config/index.d.ts +54 -0
- package/dist/chains/btc/actions/depositAndDeploy/config/index.d.ts.map +1 -0
- package/dist/chains/btc/actions/depositAndDeploy/config/types.d.ts +54 -0
- package/dist/chains/btc/actions/depositAndDeploy/config/types.d.ts.map +1 -0
- package/dist/chains/btc/actions/depositAndDeploy/factory.d.ts +32 -0
- package/dist/chains/btc/actions/depositAndDeploy/factory.d.ts.map +1 -0
- package/dist/chains/btc/actions/depositAndDeploy/index.d.ts +12 -0
- package/dist/chains/btc/actions/depositAndDeploy/index.d.ts.map +1 -0
- package/dist/chains/btc/actions/depositAndDeploy/types.d.ts +93 -0
- package/dist/chains/btc/actions/depositAndDeploy/types.d.ts.map +1 -0
- package/dist/chains/btc/actions/index.d.ts +9 -0
- package/dist/chains/btc/actions/index.d.ts.map +1 -0
- package/dist/chains/btc/actions/shared/BaseBtcAction.d.ts +201 -0
- package/dist/chains/btc/actions/shared/BaseBtcAction.d.ts.map +1 -0
- package/dist/chains/btc/actions/shared/index.d.ts +13 -0
- package/dist/chains/btc/actions/shared/index.d.ts.map +1 -0
- package/dist/chains/btc/actions/shared/tokenUtils.d.ts +54 -0
- package/dist/chains/btc/actions/shared/tokenUtils.d.ts.map +1 -0
- package/dist/chains/btc/actions/shared/validation.d.ts +90 -0
- package/dist/chains/btc/actions/shared/validation.d.ts.map +1 -0
- package/dist/chains/btc/actions/stake/BtcStake.d.ts +82 -0
- package/dist/chains/btc/actions/stake/BtcStake.d.ts.map +1 -0
- package/dist/chains/btc/actions/stake/config/evm.d.ts +20 -0
- package/dist/chains/btc/actions/stake/config/evm.d.ts.map +1 -0
- package/dist/chains/btc/actions/stake/config/index.d.ts +63 -0
- package/dist/chains/btc/actions/stake/config/index.d.ts.map +1 -0
- package/dist/chains/btc/actions/stake/config/solana.d.ts +20 -0
- package/dist/chains/btc/actions/stake/config/solana.d.ts.map +1 -0
- package/dist/chains/btc/actions/stake/config/starknet.d.ts +21 -0
- package/dist/chains/btc/actions/stake/config/starknet.d.ts.map +1 -0
- package/dist/chains/btc/actions/stake/config/sui.d.ts +20 -0
- package/dist/chains/btc/actions/stake/config/sui.d.ts.map +1 -0
- package/dist/chains/btc/actions/stake/config/types.d.ts +127 -0
- package/dist/chains/btc/actions/stake/config/types.d.ts.map +1 -0
- package/dist/chains/btc/actions/stake/factory.d.ts +39 -0
- package/dist/chains/btc/actions/stake/factory.d.ts.map +1 -0
- package/dist/chains/btc/actions/stake/index.d.ts +11 -0
- package/dist/chains/btc/actions/stake/index.d.ts.map +1 -0
- package/dist/chains/btc/actions/stake/types.d.ts +152 -0
- package/dist/chains/btc/actions/stake/types.d.ts.map +1 -0
- package/dist/chains/btc/actions/stakeAndDeploy/BtcStakeAndDeploy.d.ts +68 -0
- package/dist/chains/btc/actions/stakeAndDeploy/BtcStakeAndDeploy.d.ts.map +1 -0
- package/dist/chains/btc/actions/stakeAndDeploy/config/evm.d.ts +19 -0
- package/dist/chains/btc/actions/stakeAndDeploy/config/evm.d.ts.map +1 -0
- package/dist/chains/btc/actions/stakeAndDeploy/config/index.d.ts +54 -0
- package/dist/chains/btc/actions/stakeAndDeploy/config/index.d.ts.map +1 -0
- package/dist/chains/btc/actions/stakeAndDeploy/config/types.d.ts +74 -0
- package/dist/chains/btc/actions/stakeAndDeploy/config/types.d.ts.map +1 -0
- package/dist/chains/btc/actions/stakeAndDeploy/factory.d.ts +40 -0
- package/dist/chains/btc/actions/stakeAndDeploy/factory.d.ts.map +1 -0
- package/dist/chains/btc/actions/stakeAndDeploy/index.d.ts +11 -0
- package/dist/chains/btc/actions/stakeAndDeploy/index.d.ts.map +1 -0
- package/dist/chains/btc/actions/stakeAndDeploy/types.d.ts +91 -0
- package/dist/chains/btc/actions/stakeAndDeploy/types.d.ts.map +1 -0
- package/dist/chains/btc/client/getCurrentBlockHeight.d.ts +6 -0
- package/dist/chains/btc/client/getCurrentBlockHeight.d.ts.map +1 -0
- package/dist/chains/btc/client/mempool/error.d.ts +10 -0
- package/dist/chains/btc/client/mempool/error.d.ts.map +1 -0
- package/dist/chains/btc/client/mempool/mempool.d.ts +14 -0
- package/dist/chains/btc/client/mempool/mempool.d.ts.map +1 -0
- package/dist/chains/btc/index.d.ts +18 -0
- package/dist/chains/btc/index.d.ts.map +1 -0
- package/dist/chains/evm/EvmActions.d.ts +140 -0
- package/dist/chains/evm/EvmActions.d.ts.map +1 -0
- package/dist/chains/evm/actions/deploy/EvmDeploy.d.ts +40 -0
- package/dist/chains/evm/actions/deploy/EvmDeploy.d.ts.map +1 -0
- package/dist/chains/evm/actions/deploy/config/evm.d.ts +22 -0
- package/dist/chains/evm/actions/deploy/config/evm.d.ts.map +1 -0
- package/dist/chains/evm/actions/deploy/config/index.d.ts +8 -0
- package/dist/chains/evm/actions/deploy/config/index.d.ts.map +1 -0
- package/dist/chains/evm/actions/deploy/config/types.d.ts +32 -0
- package/dist/chains/evm/actions/deploy/config/types.d.ts.map +1 -0
- package/dist/chains/evm/actions/deploy/factory.d.ts +30 -0
- package/dist/chains/evm/actions/deploy/factory.d.ts.map +1 -0
- package/dist/chains/evm/actions/deploy/index.d.ts +11 -0
- package/dist/chains/evm/actions/deploy/index.d.ts.map +1 -0
- package/dist/chains/evm/actions/deploy/types.d.ts +62 -0
- package/dist/chains/evm/actions/deploy/types.d.ts.map +1 -0
- package/dist/chains/evm/actions/deposit/EvmDeposit.d.ts +38 -0
- package/dist/chains/evm/actions/deposit/EvmDeposit.d.ts.map +1 -0
- package/dist/chains/evm/actions/deposit/config/evm.d.ts +23 -0
- package/dist/chains/evm/actions/deposit/config/evm.d.ts.map +1 -0
- package/dist/chains/evm/actions/deposit/config/index.d.ts +8 -0
- package/dist/chains/evm/actions/deposit/config/index.d.ts.map +1 -0
- package/dist/chains/evm/actions/deposit/config/types.d.ts +34 -0
- package/dist/chains/evm/actions/deposit/config/types.d.ts.map +1 -0
- package/dist/chains/evm/actions/deposit/factory.d.ts +30 -0
- package/dist/chains/evm/actions/deposit/factory.d.ts.map +1 -0
- package/dist/chains/evm/actions/deposit/index.d.ts +11 -0
- package/dist/chains/evm/actions/deposit/index.d.ts.map +1 -0
- package/dist/chains/evm/actions/deposit/types.d.ts +78 -0
- package/dist/chains/evm/actions/deposit/types.d.ts.map +1 -0
- package/dist/chains/evm/actions/index.d.ts +13 -0
- package/dist/chains/evm/actions/index.d.ts.map +1 -0
- package/dist/chains/evm/actions/redeem/EvmRedeem.d.ts +57 -0
- package/dist/chains/evm/actions/redeem/EvmRedeem.d.ts.map +1 -0
- package/dist/chains/evm/actions/redeem/config/evm.d.ts +24 -0
- package/dist/chains/evm/actions/redeem/config/evm.d.ts.map +1 -0
- package/dist/chains/evm/actions/redeem/config/index.d.ts +8 -0
- package/dist/chains/evm/actions/redeem/config/index.d.ts.map +1 -0
- package/dist/chains/evm/actions/redeem/config/types.d.ts +34 -0
- package/dist/chains/evm/actions/redeem/config/types.d.ts.map +1 -0
- package/dist/chains/evm/actions/redeem/factory.d.ts +29 -0
- package/dist/chains/evm/actions/redeem/factory.d.ts.map +1 -0
- package/dist/chains/evm/actions/redeem/index.d.ts +11 -0
- package/dist/chains/evm/actions/redeem/index.d.ts.map +1 -0
- package/dist/chains/evm/actions/redeem/types.d.ts +81 -0
- package/dist/chains/evm/actions/redeem/types.d.ts.map +1 -0
- package/dist/chains/evm/actions/stake/EvmStake.d.ts +62 -0
- package/dist/chains/evm/actions/stake/EvmStake.d.ts.map +1 -0
- package/dist/chains/evm/actions/stake/config/evm.d.ts +28 -0
- package/dist/chains/evm/actions/stake/config/evm.d.ts.map +1 -0
- package/dist/chains/evm/actions/stake/config/index.d.ts +8 -0
- package/dist/chains/evm/actions/stake/config/index.d.ts.map +1 -0
- package/dist/chains/evm/actions/stake/config/types.d.ts +60 -0
- package/dist/chains/evm/actions/stake/config/types.d.ts.map +1 -0
- package/dist/chains/evm/actions/stake/factory.d.ts +38 -0
- package/dist/chains/evm/actions/stake/factory.d.ts.map +1 -0
- package/dist/chains/evm/actions/stake/index.d.ts +13 -0
- package/dist/chains/evm/actions/stake/index.d.ts.map +1 -0
- package/dist/chains/evm/actions/stake/types.d.ts +94 -0
- package/dist/chains/evm/actions/stake/types.d.ts.map +1 -0
- package/dist/chains/evm/actions/unstake/EvmUnstake.d.ts +54 -0
- package/dist/chains/evm/actions/unstake/EvmUnstake.d.ts.map +1 -0
- package/dist/chains/evm/actions/unstake/config/evm.d.ts +34 -0
- package/dist/chains/evm/actions/unstake/config/evm.d.ts.map +1 -0
- package/dist/chains/evm/actions/unstake/config/index.d.ts +8 -0
- package/dist/chains/evm/actions/unstake/config/index.d.ts.map +1 -0
- package/dist/chains/evm/actions/unstake/config/types.d.ts +32 -0
- package/dist/chains/evm/actions/unstake/config/types.d.ts.map +1 -0
- package/dist/chains/evm/actions/unstake/factory.d.ts +30 -0
- package/dist/chains/evm/actions/unstake/factory.d.ts.map +1 -0
- package/dist/chains/evm/actions/unstake/index.d.ts +11 -0
- package/dist/chains/evm/actions/unstake/index.d.ts.map +1 -0
- package/dist/chains/evm/actions/unstake/types.d.ts +75 -0
- package/dist/chains/evm/actions/unstake/types.d.ts.map +1 -0
- package/dist/chains/evm/index.d.ts +11 -0
- package/dist/chains/evm/index.d.ts.map +1 -0
- package/dist/chains/evm/shared/feeAuth.d.ts +88 -0
- package/dist/chains/evm/shared/feeAuth.d.ts.map +1 -0
- package/dist/chains/evm/shared/index.d.ts +7 -0
- package/dist/chains/evm/shared/index.d.ts.map +1 -0
- package/dist/chains/solana/SolanaActions.d.ts +42 -0
- package/dist/chains/solana/SolanaActions.d.ts.map +1 -0
- package/dist/chains/solana/actions/index.d.ts +7 -0
- package/dist/chains/solana/actions/index.d.ts.map +1 -0
- package/dist/chains/solana/actions/unstake/SolanaUnstake.d.ts +30 -0
- package/dist/chains/solana/actions/unstake/SolanaUnstake.d.ts.map +1 -0
- package/dist/chains/solana/actions/unstake/config/btc.d.ts +20 -0
- package/dist/chains/solana/actions/unstake/config/btc.d.ts.map +1 -0
- package/dist/chains/solana/actions/unstake/config/index.d.ts +8 -0
- package/dist/chains/solana/actions/unstake/config/index.d.ts.map +1 -0
- package/dist/chains/solana/actions/unstake/config/solana.d.ts +20 -0
- package/dist/chains/solana/actions/unstake/config/solana.d.ts.map +1 -0
- package/dist/chains/solana/actions/unstake/config/types.d.ts +30 -0
- package/dist/chains/solana/actions/unstake/config/types.d.ts.map +1 -0
- package/dist/chains/solana/actions/unstake/factory.d.ts +19 -0
- package/dist/chains/solana/actions/unstake/factory.d.ts.map +1 -0
- package/dist/chains/solana/actions/unstake/index.d.ts +9 -0
- package/dist/chains/solana/actions/unstake/index.d.ts.map +1 -0
- package/dist/chains/solana/actions/unstake/types.d.ts +49 -0
- package/dist/chains/solana/actions/unstake/types.d.ts.map +1 -0
- package/dist/chains/solana/index.d.ts +8 -0
- package/dist/chains/solana/index.d.ts.map +1 -0
- package/dist/chains/starknet/StarknetActions.d.ts +42 -0
- package/dist/chains/starknet/StarknetActions.d.ts.map +1 -0
- package/dist/chains/starknet/actions/index.d.ts +7 -0
- package/dist/chains/starknet/actions/index.d.ts.map +1 -0
- package/dist/chains/starknet/actions/unstake/StarknetUnstake.d.ts +30 -0
- package/dist/chains/starknet/actions/unstake/StarknetUnstake.d.ts.map +1 -0
- package/dist/chains/starknet/actions/unstake/config/btc.d.ts +18 -0
- package/dist/chains/starknet/actions/unstake/config/btc.d.ts.map +1 -0
- package/dist/chains/starknet/actions/unstake/config/index.d.ts +8 -0
- package/dist/chains/starknet/actions/unstake/config/index.d.ts.map +1 -0
- package/dist/chains/starknet/actions/unstake/config/starknet.d.ts +18 -0
- package/dist/chains/starknet/actions/unstake/config/starknet.d.ts.map +1 -0
- package/dist/chains/starknet/actions/unstake/config/types.d.ts +24 -0
- package/dist/chains/starknet/actions/unstake/config/types.d.ts.map +1 -0
- package/dist/chains/starknet/actions/unstake/factory.d.ts +17 -0
- package/dist/chains/starknet/actions/unstake/factory.d.ts.map +1 -0
- package/dist/chains/starknet/actions/unstake/index.d.ts +9 -0
- package/dist/chains/starknet/actions/unstake/index.d.ts.map +1 -0
- package/dist/chains/starknet/actions/unstake/types.d.ts +48 -0
- package/dist/chains/starknet/actions/unstake/types.d.ts.map +1 -0
- package/dist/chains/starknet/index.d.ts +8 -0
- package/dist/chains/starknet/index.d.ts.map +1 -0
- package/dist/chains/sui/SuiActions.d.ts +42 -0
- package/dist/chains/sui/SuiActions.d.ts.map +1 -0
- package/dist/chains/sui/actions/index.d.ts +7 -0
- package/dist/chains/sui/actions/index.d.ts.map +1 -0
- package/dist/chains/sui/actions/unstake/SuiUnstake.d.ts +30 -0
- package/dist/chains/sui/actions/unstake/SuiUnstake.d.ts.map +1 -0
- package/dist/chains/sui/actions/unstake/config/btc.d.ts +18 -0
- package/dist/chains/sui/actions/unstake/config/btc.d.ts.map +1 -0
- package/dist/chains/sui/actions/unstake/config/index.d.ts +8 -0
- package/dist/chains/sui/actions/unstake/config/index.d.ts.map +1 -0
- package/dist/chains/sui/actions/unstake/config/sui.d.ts +18 -0
- package/dist/chains/sui/actions/unstake/config/sui.d.ts.map +1 -0
- package/dist/chains/sui/actions/unstake/config/types.d.ts +24 -0
- package/dist/chains/sui/actions/unstake/config/types.d.ts.map +1 -0
- package/dist/chains/sui/actions/unstake/factory.d.ts +17 -0
- package/dist/chains/sui/actions/unstake/factory.d.ts.map +1 -0
- package/dist/chains/sui/actions/unstake/index.d.ts +9 -0
- package/dist/chains/sui/actions/unstake/index.d.ts.map +1 -0
- package/dist/chains/sui/actions/unstake/types.d.ts +48 -0
- package/dist/chains/sui/actions/unstake/types.d.ts.map +1 -0
- package/dist/chains/sui/index.d.ts +8 -0
- package/dist/chains/sui/index.d.ts.map +1 -0
- package/dist/client/ApiNamespace.d.ts +207 -0
- package/dist/client/ApiNamespace.d.ts.map +1 -0
- package/dist/client/AssetNamespace.d.ts +53 -0
- package/dist/client/AssetNamespace.d.ts.map +1 -0
- package/dist/client/LombardSDK.d.ts +122 -0
- package/dist/client/LombardSDK.d.ts.map +1 -0
- package/dist/client/PartnerConfiguration.d.ts +34 -0
- package/dist/client/PartnerConfiguration.d.ts.map +1 -0
- package/dist/client/createConfig.d.ts +30 -0
- package/dist/client/createConfig.d.ts.map +1 -0
- package/dist/client/createLombardSDK.d.ts +64 -0
- package/dist/client/createLombardSDK.d.ts.map +1 -0
- package/dist/clients/public-client.d.ts.map +1 -1
- package/dist/clients/rpc-url-config.d.ts.map +1 -1
- package/dist/common/api-config.d.ts +1 -2
- package/dist/common/api-config.d.ts.map +1 -1
- package/dist/common/chains.d.ts +747 -768
- package/dist/common/chains.d.ts.map +1 -1
- package/dist/common/feature-config.d.ts +44 -4
- package/dist/common/feature-config.d.ts.map +1 -1
- package/dist/common/fee-requirements.d.ts +27 -0
- package/dist/common/fee-requirements.d.ts.map +1 -0
- package/dist/config/defaults.d.ts +27 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/index.d.ts +12 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/providers.d.ts +23 -0
- package/dist/config/providers.d.ts.map +1 -0
- package/dist/config/types.d.ts +162 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/validation.d.ts +21 -0
- package/dist/config/validation.d.ts.map +1 -0
- package/dist/contract-functions/signStakeAndBake/signStakeAndBake.d.ts +1 -1
- package/dist/contract-functions/signStakeAndBake/signStakeAndBake.d.ts.map +1 -1
- package/dist/contract-functions/signStakeAndBake/validation.d.ts +3 -3
- package/dist/contracts/abis/index.d.ts +18 -0
- package/dist/contracts/abis/index.d.ts.map +1 -0
- package/dist/contracts/index.d.ts +43 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/types.d.ts +127 -0
- package/dist/contracts/types.d.ts.map +1 -0
- package/dist/contracts/utils.d.ts +106 -0
- package/dist/contracts/utils.d.ts.map +1 -0
- package/dist/core/assets/catalog.d.ts +11 -0
- package/dist/core/assets/catalog.d.ts.map +1 -0
- package/dist/core/assets/index.d.ts +12 -0
- package/dist/core/assets/index.d.ts.map +1 -0
- package/dist/core/assets/types.d.ts +93 -0
- package/dist/core/assets/types.d.ts.map +1 -0
- package/dist/core/assets/utils.d.ts +82 -0
- package/dist/core/assets/utils.d.ts.map +1 -0
- package/dist/core/chains/catalog.d.ts +14 -0
- package/dist/core/chains/catalog.d.ts.map +1 -0
- package/dist/core/chains/index.d.ts +13 -0
- package/dist/core/chains/index.d.ts.map +1 -0
- package/dist/core/chains/types.d.ts +106 -0
- package/dist/core/chains/types.d.ts.map +1 -0
- package/dist/core/chains/utils.d.ts +55 -0
- package/dist/core/chains/utils.d.ts.map +1 -0
- package/dist/core/index.d.ts +14 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/types.d.ts +86 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/defi/defi-registry.d.ts +63 -6
- package/dist/defi/defi-registry.d.ts.map +1 -1
- package/dist/defi/index.d.ts +2 -1
- package/dist/defi/index.d.ts.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +61 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +268 -155
- package/dist/index2.cjs +66 -66
- package/dist/index2.js +19781 -14374
- package/dist/modules/CapabilityRegistry.d.ts +58 -0
- package/dist/modules/CapabilityRegistry.d.ts.map +1 -0
- package/dist/modules/apiModule.d.ts +33 -0
- package/dist/modules/apiModule.d.ts.map +1 -0
- package/dist/modules/btcModule.d.ts +28 -0
- package/dist/modules/btcModule.d.ts.map +1 -0
- package/dist/modules/evmModule.d.ts +29 -0
- package/dist/modules/evmModule.d.ts.map +1 -0
- package/dist/modules/index.d.ts +27 -0
- package/dist/modules/index.d.ts.map +1 -0
- package/dist/referrals/ReferralsClient.d.ts +24 -0
- package/dist/referrals/ReferralsClient.d.ts.map +1 -0
- package/dist/referrals/index.d.ts +2 -0
- package/dist/referrals/index.d.ts.map +1 -0
- package/dist/services/ApiService.d.ts +52 -0
- package/dist/services/ApiService.d.ts.map +1 -0
- package/dist/services/BtcService.d.ts +21 -0
- package/dist/services/BtcService.d.ts.map +1 -0
- package/dist/services/EvmService.d.ts +48 -0
- package/dist/services/EvmService.d.ts.map +1 -0
- package/dist/services/index.d.ts +21 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/shared/actions/BaseAction.d.ts +275 -0
- package/dist/shared/actions/BaseAction.d.ts.map +1 -0
- package/dist/shared/actions/index.d.ts +9 -0
- package/dist/shared/actions/index.d.ts.map +1 -0
- package/dist/shared/constants/statusConstants.d.ts +92 -0
- package/dist/shared/constants/statusConstants.d.ts.map +1 -0
- package/dist/shared/context/ContextBuilder.d.ts +46 -0
- package/dist/shared/context/ContextBuilder.d.ts.map +1 -0
- package/dist/shared/context/index.d.ts +8 -0
- package/dist/shared/context/index.d.ts.map +1 -0
- package/dist/shared/context/types.d.ts +122 -0
- package/dist/shared/context/types.d.ts.map +1 -0
- package/dist/shared/deposits/depositStatus.d.ts +138 -0
- package/dist/shared/deposits/depositStatus.d.ts.map +1 -0
- package/dist/shared/deposits/index.d.ts +10 -0
- package/dist/shared/deposits/index.d.ts.map +1 -0
- package/dist/shared/errors.d.ts +211 -0
- package/dist/shared/errors.d.ts.map +1 -0
- package/dist/shared/events.d.ts +209 -0
- package/dist/shared/events.d.ts.map +1 -0
- package/dist/shared/evm/switchChain.d.ts +35 -0
- package/dist/shared/evm/switchChain.d.ts.map +1 -0
- package/dist/shared/index.d.ts +12 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/monitoring/createEventEmitter.d.ts +68 -0
- package/dist/shared/monitoring/createEventEmitter.d.ts.map +1 -0
- package/dist/shared/monitoring/createProgressEmitter.d.ts +18 -0
- package/dist/shared/monitoring/createProgressEmitter.d.ts.map +1 -0
- package/dist/shared/monitoring/depositMonitor.d.ts +107 -0
- package/dist/shared/monitoring/depositMonitor.d.ts.map +1 -0
- package/dist/shared/monitoring/index.d.ts +9 -0
- package/dist/shared/monitoring/index.d.ts.map +1 -0
- package/dist/shared/validation/index.d.ts +188 -0
- package/dist/shared/validation/index.d.ts.map +1 -0
- package/dist/stories/arg-types.d.ts.map +1 -1
- package/dist/stories/components/Badge.d.ts +13 -0
- package/dist/stories/components/Badge.d.ts.map +1 -0
- package/dist/stories/components/Button/Button.d.ts +2 -2
- package/dist/stories/components/Button/Button.d.ts.map +1 -1
- package/dist/stories/components/Card.d.ts +12 -0
- package/dist/stories/components/Card.d.ts.map +1 -0
- package/dist/stories/components/CodeBlock/CodeBlock.d.ts +1 -1
- package/dist/stories/components/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/stories/components/ConnectButton/connect-button.d.ts.map +1 -1
- package/dist/stories/components/JsonPreview.d.ts +23 -0
- package/dist/stories/components/JsonPreview.d.ts.map +1 -0
- package/dist/stories/components/StatsCard.d.ts +13 -0
- package/dist/stories/components/StatsCard.d.ts.map +1 -0
- package/dist/stories/components/StatusIndicator.d.ts +13 -0
- package/dist/stories/components/StatusIndicator.d.ts.map +1 -0
- package/dist/stories/components/TreeNode.d.ts +15 -0
- package/dist/stories/components/TreeNode.d.ts.map +1 -0
- package/dist/stories/components/decorators/wagmi-decorator.d.ts.map +1 -1
- package/dist/stories/components/index.d.ts +11 -0
- package/dist/stories/components/index.d.ts.map +1 -0
- package/dist/stories/hooks/useConnection.d.ts.map +1 -1
- package/dist/stories/hooks/useQuery.d.ts.map +1 -1
- package/dist/tokens/token-addresses.d.ts +18 -0
- package/dist/tokens/token-addresses.d.ts.map +1 -1
- package/dist/tokens/tokens.d.ts +12 -0
- package/dist/tokens/tokens.d.ts.map +1 -1
- package/dist/utils/chain.d.ts +107 -0
- package/dist/utils/chain.d.ts.map +1 -0
- package/dist/utils/consoleLogger.d.ts +71 -0
- package/dist/utils/consoleLogger.d.ts.map +1 -0
- package/dist/utils/ensureNotSanctionedAddress.d.ts +2 -0
- package/dist/utils/ensureNotSanctionedAddress.d.ts.map +1 -0
- package/dist/utils/evmAccount.d.ts +13 -0
- package/dist/utils/evmAccount.d.ts.map +1 -0
- package/dist/utils/http.d.ts +95 -0
- package/dist/utils/http.d.ts.map +1 -0
- package/dist/utils/numbers.d.ts +20 -0
- package/dist/utils/numbers.d.ts.map +1 -1
- package/dist/utils/satoshi.d.ts +17 -4
- package/dist/utils/satoshi.d.ts.map +1 -1
- package/dist/vaults/index.d.ts +1 -1
- package/dist/vaults/index.d.ts.map +1 -1
- package/dist/vaults/lib/config.d.ts +3 -3
- package/dist/vaults/lib/config.d.ts.map +1 -1
- package/dist/version.d.ts +27 -0
- package/dist/version.d.ts.map +1 -0
- package/package.json +21 -4
- package/src/__tests__/AssetNamespace.spec.ts +234 -0
- package/src/__tests__/helpers/createTestConfig.ts +90 -0
- package/src/__tests__/integration/automint-fee.integration.test.ts +74 -0
- package/src/__tests__/integration/btc-deposit.integration.test.ts +109 -0
- package/src/__tests__/integration/btc-stake-and-deploy.integration.test.ts +96 -0
- package/src/__tests__/integration/btc-stake.integration.test.ts +466 -0
- package/src/__tests__/integration/evm-actions.integration.test.ts +932 -0
- package/src/__tests__/integration/evm-deploy.integration.test.ts +122 -0
- package/src/__tests__/integration/evm-redeem.integration.test.ts +157 -0
- package/src/__tests__/integration/faq-patterns.integration.test.ts +465 -0
- package/src/__tests__/integration/getLBTCMintingFee.integration.test.ts +195 -0
- package/src/__tests__/real-wallet/btc/btc-stake.real.test.ts +70 -0
- package/src/__tests__/real-wallet/evm/evm-stake.real.test.ts +47 -0
- package/src/__tests__/real-wallet/evm/evm-unstake.real.test.ts +49 -0
- package/src/__tests__/real-wallet/non-evm/solana-unstake.real.test.ts +19 -0
- package/src/__tests__/real-wallet/non-evm/starknet-unstake.real.test.ts +19 -0
- package/src/__tests__/real-wallet/non-evm/sui-unstake.real.test.ts +19 -0
- package/src/__tests__/services/ApiService.test.ts +62 -0
- package/src/__tests__/services/BtcService.test.ts +30 -0
- package/src/__tests__/services/EvmService.test.ts +39 -0
- package/src/__tests__/setup.ts +16 -0
- package/src/__tests__/test-utils/eip1193-adapter.ts +48 -0
- package/src/__tests__/test-utils/evm-wallet.ts +38 -0
- package/src/__tests__/test-utils/solana-wallet.ts +22 -0
- package/src/__tests__/test-utils/starknet-wallet.ts +9 -0
- package/src/__tests__/test-utils/sui-wallet.ts +14 -0
- package/src/__tests__/test-utils/test-constraints.ts +110 -0
- package/src/__tests__/unit/btc/BtcDeposit.test.ts +253 -0
- package/src/__tests__/unit/btc/BtcDepositAndDeploy.test.ts +174 -0
- package/src/__tests__/unit/btc/BtcDepositConfig.test.ts +143 -0
- package/src/__tests__/unit/btc/BtcDepositStatusTransition.test.ts +221 -0
- package/src/__tests__/unit/btc/BtcStakeAndDeploy.test.ts +194 -0
- package/src/__tests__/unit/btc/ExistingSignatureHandling.test.ts +301 -0
- package/src/__tests__/unit/btc/StakeAndBakeRatioConversion.test.ts +200 -0
- package/src/__tests__/unit/btc/StakeAndBakeSignatureRestore.test.ts +216 -0
- package/src/__tests__/unit/btc/TokenParameterConsistency.test.ts +184 -0
- package/src/__tests__/unit/btc/btc-deposit-token.test.ts +191 -0
- package/src/__tests__/unit/catalog/AssetCatalog.test.ts +293 -0
- package/src/__tests__/unit/config/ChainConfig.test.ts +47 -0
- package/src/__tests__/unit/config/FeeAuthConfig.test.ts +76 -0
- package/src/__tests__/unit/contract-functions/getLBTCMintingFee.test.ts +128 -0
- package/src/__tests__/unit/core/chain-parsing.test.ts +257 -0
- package/src/__tests__/unit/defi/AvailableProtocols.test.ts +100 -0
- package/src/__tests__/unit/defi/DefiRegistry.test.ts +25 -0
- package/src/__tests__/unit/evm/EvmDeploy.test.ts +224 -0
- package/src/__tests__/unit/evm/EvmRedeem.test.ts +207 -0
- package/src/__tests__/unit/evm/EvmRedeemFeeAuth.test.ts +93 -0
- package/src/__tests__/unit/evm/EvmStake.test.ts +207 -0
- package/src/__tests__/unit/evm/EvmStakeFeeAuth.test.ts +193 -0
- package/src/__tests__/unit/evm/EvmUnstakeAllowance.test.ts +69 -0
- package/src/__tests__/unit/evm/EvmUnstakeConfig.test.ts +203 -0
- package/src/__tests__/unit/fee-signature-expiration.test.ts +76 -0
- package/src/__tests__/unit/modules/CapabilityRegistry.test.ts +55 -0
- package/src/__tests__/unit/shared/BaseAction.test.ts +122 -0
- package/src/__tests__/unit/shared/BaseBtcAction.test.ts +114 -0
- package/src/__tests__/unit/solana/SolanaUnstake.test.ts +314 -0
- package/src/__tests__/unit/starknet/StarknetUnstake.test.ts +318 -0
- package/src/__tests__/unit/sui/SuiUnstake.test.ts +310 -0
- package/src/__tests__/unit/utils/satoshi.test.ts +27 -0
- package/src/__tests__/unit/validation/address-validation.test.ts +350 -0
- package/src/api-functions/generateDepositBtcAddress/generateDepositBtcAddress.stories.tsx +2 -1
- package/src/api-functions/getDepositAddressReferrer/getDepositAddressReferrer.ts +38 -0
- package/src/api-functions/getDepositAddressReferrer/index.ts +1 -0
- package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.stories.tsx +1 -0
- package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.ts +5 -4
- package/src/api-functions/getDepositBtcAddress/getDepositBtcAddresses.stories.tsx +1 -0
- package/src/api-functions/getDepositsByAddress/getDepositsByAddress.stories.tsx +2 -1
- package/src/api-functions/getLBTCExchangeRate/get-exchange-ratio.stories.tsx +1 -0
- package/src/api-functions/getLBTCExchangeRate/getLBTCExchangeRate.stories.tsx +2 -1
- package/src/api-functions/getLBTCExchangeRate/getLBTCExchangeRate.ts +3 -0
- package/src/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.stories.tsx +2 -1
- package/src/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.ts +18 -0
- package/src/api-functions/getPointsByAddress/getPointsByAddress.stories.tsx +2 -1
- package/src/api-functions/getUnstakesByAddress/getUnstakesByAddress.stories.tsx +2 -1
- package/src/api-functions/getUserStakeAndBakeSignature/getUserStakeAndBakeSignature.stories.tsx +2 -1
- package/src/api-functions/setReferral/setReferral.ts +6 -0
- package/src/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.stories.tsx +1 -0
- package/src/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.ts +17 -7
- package/src/api-functions/storeStakeAndBakeSignature/storeStakeAndBakeSignature.stories.tsx +1 -0
- package/src/bridge/lib/bridge.stories.tsx +4 -3
- package/src/bridge/lib/ccip-bridge.stories.tsx +3 -2
- package/src/bridge/lib/config.ts +1 -1
- package/src/bridge/lib/oft-bridge.stories.tsx +2 -1
- package/src/chains/btc/BtcActions.ts +192 -0
- package/src/chains/btc/actions/deposit/BtcDeposit.ts +388 -0
- package/src/chains/btc/actions/deposit/config/evm.ts +197 -0
- package/src/chains/btc/actions/deposit/config/index.ts +53 -0
- package/src/chains/btc/actions/deposit/config/types.ts +108 -0
- package/src/chains/btc/actions/deposit/factory.ts +53 -0
- package/src/chains/btc/actions/deposit/index.ts +23 -0
- package/src/chains/btc/actions/deposit/types.ts +120 -0
- package/src/chains/btc/actions/depositAndDeploy/BtcDepositAndDeploy.ts +366 -0
- package/src/chains/btc/actions/depositAndDeploy/config/evm.ts +105 -0
- package/src/chains/btc/actions/depositAndDeploy/config/index.ts +111 -0
- package/src/chains/btc/actions/depositAndDeploy/config/types.ts +67 -0
- package/src/chains/btc/actions/depositAndDeploy/factory.ts +38 -0
- package/src/chains/btc/actions/depositAndDeploy/index.ts +24 -0
- package/src/chains/btc/actions/depositAndDeploy/types.ts +120 -0
- package/src/chains/btc/actions/index.ts +14 -0
- package/src/chains/btc/actions/shared/BaseBtcAction.ts +495 -0
- package/src/chains/btc/actions/shared/index.ts +28 -0
- package/src/chains/btc/actions/shared/tokenUtils.ts +68 -0
- package/src/chains/btc/actions/shared/validation.ts +180 -0
- package/src/chains/btc/actions/stake/BtcStake.ts +433 -0
- package/src/chains/btc/actions/stake/__tests__/BtcStake.test.ts +247 -0
- package/src/chains/btc/actions/stake/config/evm.ts +183 -0
- package/src/chains/btc/actions/stake/config/index.ts +122 -0
- package/src/chains/btc/actions/stake/config/solana.ts +96 -0
- package/src/chains/btc/actions/stake/config/starknet.ts +66 -0
- package/src/chains/btc/actions/stake/config/sui.ts +61 -0
- package/src/chains/btc/actions/stake/config/types.ts +165 -0
- package/src/chains/btc/actions/stake/factory.ts +53 -0
- package/src/chains/btc/actions/stake/index.ts +22 -0
- package/src/chains/btc/actions/stake/types.ts +175 -0
- package/src/chains/btc/actions/stakeAndDeploy/BtcStakeAndDeploy.ts +415 -0
- package/src/chains/btc/actions/stakeAndDeploy/config/evm.ts +135 -0
- package/src/chains/btc/actions/stakeAndDeploy/config/index.ts +119 -0
- package/src/chains/btc/actions/stakeAndDeploy/config/types.ts +93 -0
- package/src/chains/btc/actions/stakeAndDeploy/factory.ts +54 -0
- package/src/chains/btc/actions/stakeAndDeploy/index.ts +26 -0
- package/src/chains/btc/actions/stakeAndDeploy/types.ts +118 -0
- package/src/chains/btc/client/getCurrentBlockHeight.ts +28 -0
- package/src/chains/btc/client/mempool/error.ts +24 -0
- package/src/chains/btc/client/mempool/mempool.ts +23 -0
- package/src/chains/btc/index.ts +71 -0
- package/src/chains/evm/EvmActions.ts +185 -0
- package/src/chains/evm/actions/deploy/EvmDeploy.ts +256 -0
- package/src/chains/evm/actions/deploy/config/evm.ts +80 -0
- package/src/chains/evm/actions/deploy/config/index.ts +8 -0
- package/src/chains/evm/actions/deploy/config/types.ts +43 -0
- package/src/chains/evm/actions/deploy/factory.ts +44 -0
- package/src/chains/evm/actions/deploy/index.ts +17 -0
- package/src/chains/evm/actions/deploy/types.ts +74 -0
- package/src/chains/evm/actions/deposit/EvmDeposit.ts +159 -0
- package/src/chains/evm/actions/deposit/config/evm.ts +100 -0
- package/src/chains/evm/actions/deposit/config/index.ts +8 -0
- package/src/chains/evm/actions/deposit/config/types.ts +39 -0
- package/src/chains/evm/actions/deposit/factory.ts +44 -0
- package/src/chains/evm/actions/deposit/index.ts +17 -0
- package/src/chains/evm/actions/deposit/types.ts +87 -0
- package/src/chains/evm/actions/index.ts +67 -0
- package/src/chains/evm/actions/redeem/EvmRedeem.ts +263 -0
- package/src/chains/evm/actions/redeem/config/evm.ts +85 -0
- package/src/chains/evm/actions/redeem/config/index.ts +8 -0
- package/src/chains/evm/actions/redeem/config/types.ts +39 -0
- package/src/chains/evm/actions/redeem/factory.ts +43 -0
- package/src/chains/evm/actions/redeem/index.ts +17 -0
- package/src/chains/evm/actions/redeem/types.ts +93 -0
- package/src/chains/evm/actions/stake/EvmStake.ts +339 -0
- package/src/chains/evm/actions/stake/config/evm.ts +89 -0
- package/src/chains/evm/actions/stake/config/index.ts +8 -0
- package/src/chains/evm/actions/stake/config/types.ts +89 -0
- package/src/chains/evm/actions/stake/factory.ts +52 -0
- package/src/chains/evm/actions/stake/index.ts +30 -0
- package/src/chains/evm/actions/stake/types.ts +104 -0
- package/src/chains/evm/actions/unstake/EvmUnstake.ts +258 -0
- package/src/chains/evm/actions/unstake/config/evm.ts +123 -0
- package/src/chains/evm/actions/unstake/config/index.ts +13 -0
- package/src/chains/evm/actions/unstake/config/types.ts +37 -0
- package/src/chains/evm/actions/unstake/factory.ts +44 -0
- package/src/chains/evm/actions/unstake/index.ts +22 -0
- package/src/chains/evm/actions/unstake/types.ts +87 -0
- package/src/chains/evm/index.ts +16 -0
- package/src/chains/evm/shared/feeAuth.ts +198 -0
- package/src/chains/evm/shared/index.ts +7 -0
- package/src/chains/solana/SolanaActions.ts +85 -0
- package/src/chains/solana/actions/index.ts +7 -0
- package/src/chains/solana/actions/unstake/SolanaUnstake.ts +151 -0
- package/src/chains/solana/actions/unstake/config/btc.ts +47 -0
- package/src/chains/solana/actions/unstake/config/index.ts +8 -0
- package/src/chains/solana/actions/unstake/config/solana.ts +47 -0
- package/src/chains/solana/actions/unstake/config/types.ts +35 -0
- package/src/chains/solana/actions/unstake/factory.ts +34 -0
- package/src/chains/solana/actions/unstake/index.ts +14 -0
- package/src/chains/solana/actions/unstake/types.ts +58 -0
- package/src/chains/solana/index.ts +8 -0
- package/src/chains/starknet/StarknetActions.ts +85 -0
- package/src/chains/starknet/actions/index.ts +7 -0
- package/src/chains/starknet/actions/unstake/StarknetUnstake.ts +128 -0
- package/src/chains/starknet/actions/unstake/config/btc.ts +43 -0
- package/src/chains/starknet/actions/unstake/config/index.ts +8 -0
- package/src/chains/starknet/actions/unstake/config/starknet.ts +43 -0
- package/src/chains/starknet/actions/unstake/config/types.ts +27 -0
- package/src/chains/starknet/actions/unstake/factory.ts +32 -0
- package/src/chains/starknet/actions/unstake/index.ts +14 -0
- package/src/chains/starknet/actions/unstake/types.ts +57 -0
- package/src/chains/starknet/index.ts +8 -0
- package/src/chains/sui/SuiActions.ts +82 -0
- package/src/chains/sui/actions/index.ts +7 -0
- package/src/chains/sui/actions/unstake/SuiUnstake.ts +146 -0
- package/src/chains/sui/actions/unstake/config/btc.ts +43 -0
- package/src/chains/sui/actions/unstake/config/index.ts +8 -0
- package/src/chains/sui/actions/unstake/config/sui.ts +43 -0
- package/src/chains/sui/actions/unstake/config/types.ts +27 -0
- package/src/chains/sui/actions/unstake/factory.ts +32 -0
- package/src/chains/sui/actions/unstake/index.ts +14 -0
- package/src/chains/sui/actions/unstake/types.ts +57 -0
- package/src/chains/sui/index.ts +8 -0
- package/src/client/ApiNamespace.ts +302 -0
- package/src/client/AssetNamespace.ts +112 -0
- package/src/client/LombardSDK.ts +212 -0
- package/src/client/PartnerConfiguration.ts +50 -0
- package/src/client/createConfig.ts +90 -0
- package/src/client/createLombardSDK.ts +130 -0
- package/src/clients/public-client.ts +0 -4
- package/src/clients/rpc-url-config.ts +10 -3
- package/src/common/api-config.ts +1 -1
- package/src/common/blockchain-identifier.ts +6 -6
- package/src/common/chains.stories.tsx +2 -1
- package/src/common/chains.ts +30 -15
- package/src/common/feature-config.ts +66 -5
- package/src/common/fee-requirements.ts +34 -0
- package/src/config/defaults.ts +49 -0
- package/src/config/index.ts +12 -0
- package/src/config/providers.ts +81 -0
- package/src/config/types.ts +216 -0
- package/src/config/validation.ts +69 -0
- package/src/contract-functions/approveLBTC/approveLBTC.stories.tsx +5 -4
- package/src/contract-functions/claimLBTC/claimLBTC.stories.tsx +1 -0
- package/src/contract-functions/deposit/depositToken.stories.tsx +1 -0
- package/src/contract-functions/getBasculeDepositStatus/getBasculeDepositStatus.stories.tsx +2 -1
- package/src/contract-functions/getLBTCMintingFee/getLBTCMintingFee.stories.tsx +1 -0
- package/src/contract-functions/getLBTCTotalSupply/getLBTCTotalSupply.stories.tsx +1 -0
- package/src/contract-functions/getPermitNonce/getPermitNonce.stories.tsx +2 -1
- package/src/contract-functions/getShareValue/getShareValue.stories.tsx +6 -4
- package/src/contract-functions/getSharesByAddress/getSharesByAddress.stories.tsx +3 -3
- package/src/contract-functions/getStakeAndBakeFee/getStakeAndBakeFee.stories.tsx +1 -1
- package/src/contract-functions/signLbtcDestionationAddr/signLbtcDestionationAddr.stories.tsx +1 -0
- package/src/contract-functions/signNetworkFee/signNetworkFee.stories.tsx +1 -0
- package/src/contract-functions/signStakeAndBake/__tests__/signStakeAndBake.test.ts +9 -8
- package/src/contract-functions/signStakeAndBake/signStakeAndBake.stories.tsx +1 -0
- package/src/contract-functions/signStakeAndBake/signStakeAndBake.ts +3 -2
- package/src/contract-functions/signStakeAndBake/validation.ts +17 -17
- package/src/contract-functions/unstakeLBTC/unstakeLBTC.stories.tsx +1 -0
- package/src/contracts/abis/index.ts +29 -0
- package/src/contracts/index.ts +63 -0
- package/src/contracts/types.ts +143 -0
- package/src/contracts/utils.ts +288 -0
- package/src/core/assets/catalog.ts +343 -0
- package/src/core/assets/index.ts +40 -0
- package/src/core/assets/types.ts +142 -0
- package/src/core/assets/utils.ts +287 -0
- package/src/core/chains/catalog.ts +396 -0
- package/src/core/chains/index.ts +39 -0
- package/src/core/chains/types.ts +193 -0
- package/src/core/chains/utils.ts +245 -0
- package/src/core/index.ts +72 -0
- package/src/core/types.ts +126 -0
- package/src/defi/README.md +28 -12
- package/src/defi/defi-registry.stories.tsx +1 -0
- package/src/defi/defi-registry.ts +128 -12
- package/src/defi/index.ts +12 -0
- package/src/index.ts +292 -40
- package/src/metrics/get-lbtc-stats.stories.tsx +1 -0
- package/src/metrics/get-positions-summary.stories.tsx +1 -0
- package/src/modules/CapabilityRegistry.ts +125 -0
- package/src/modules/apiModule.ts +51 -0
- package/src/modules/btcModule.ts +43 -0
- package/src/modules/evmModule.ts +48 -0
- package/src/modules/index.ts +60 -0
- package/src/referrals/ReferralsClient.ts +34 -0
- package/src/referrals/index.ts +1 -0
- package/src/services/ApiService.ts +152 -0
- package/src/services/BtcService.ts +29 -0
- package/src/services/EvmService.ts +127 -0
- package/src/services/index.ts +43 -0
- package/src/shared/__tests__/errors.test.ts +185 -0
- package/src/shared/__tests__/events.test.ts +120 -0
- package/src/shared/__tests__/types.test.ts +155 -0
- package/src/shared/actions/BaseAction.ts +497 -0
- package/src/shared/actions/__tests__/BaseAction.test.ts +292 -0
- package/src/shared/actions/index.ts +9 -0
- package/src/shared/constants/statusConstants.ts +108 -0
- package/src/shared/context/ContextBuilder.ts +149 -0
- package/src/shared/context/index.ts +8 -0
- package/src/shared/context/types.ts +156 -0
- package/src/shared/deposits/depositStatus.ts +402 -0
- package/src/shared/deposits/index.ts +29 -0
- package/src/shared/errors.ts +405 -0
- package/src/shared/events.ts +260 -0
- package/src/shared/evm/switchChain.ts +109 -0
- package/src/shared/index.ts +54 -0
- package/src/shared/monitoring/__tests__/createEventEmitter.test.ts +150 -0
- package/src/shared/monitoring/createEventEmitter.ts +160 -0
- package/src/shared/monitoring/createProgressEmitter.ts +46 -0
- package/src/shared/monitoring/depositMonitor.ts +211 -0
- package/src/shared/monitoring/index.ts +25 -0
- package/src/shared/validation/index.ts +411 -0
- package/src/stories/arg-types.ts +1 -0
- package/src/stories/components/Badge.tsx +27 -0
- package/src/stories/components/Button/Button.tsx +4 -2
- package/src/stories/components/Card.tsx +18 -0
- package/src/stories/components/CodeBlock/CodeBlock.tsx +3 -2
- package/src/stories/components/ConnectButton/connect-button.tsx +1 -0
- package/src/stories/components/JsonPreview.tsx +84 -0
- package/src/stories/components/StatsCard.tsx +30 -0
- package/src/stories/components/StatusIndicator.tsx +37 -0
- package/src/stories/components/TreeNode.tsx +47 -0
- package/src/stories/components/decorators/function-type.tsx +1 -1
- package/src/stories/components/decorators/wagmi-decorator.tsx +2 -1
- package/src/stories/components/index.ts +11 -0
- package/src/stories/hooks/useConnection.ts +2 -1
- package/src/stories/hooks/useQuery.ts +1 -0
- package/src/tokens/__tests__/token-addresses.test.ts +551 -0
- package/src/tokens/cross-chain-addresses.stories.tsx +1 -0
- package/src/tokens/denomination-utils.stories.tsx +1 -0
- package/src/tokens/getLbtcContractAddresses.stories.tsx +1 -0
- package/src/tokens/getTokenByAddress.stories.tsx +1 -0
- package/src/tokens/getTokenContractInfo.stories.tsx +1 -0
- package/src/tokens/getTokenInfo.stories.tsx +1 -0
- package/src/tokens/isUpgradedContract.stories.tsx +1 -0
- package/src/tokens/token-addresses.ts +59 -10
- package/src/tokens/tokens.ts +15 -1
- package/src/utils/chain.ts +152 -0
- package/src/utils/consoleLogger.ts +140 -0
- package/src/utils/ensureNotSanctionedAddress.ts +11 -0
- package/src/utils/evmAccount.ts +47 -0
- package/src/utils/http.ts +224 -0
- package/src/utils/numbers.ts +31 -2
- package/src/utils/satoshi.ts +22 -6
- package/src/vaults/index.ts +1 -1
- package/src/vaults/lib/config.ts +4 -23
- package/src/vaults/lib/metrics/get-vault-apy.stories.tsx +2 -1
- package/src/vaults/lib/metrics/get-vault-points.stories.tsx +2 -1
- package/src/vaults/lib/metrics/get-vault-tvl.stories.tsx +2 -1
- package/src/vaults/lib/ops/cancel-withdraw.stories.tsx +2 -1
- package/src/vaults/lib/ops/deposit.stories.tsx +2 -1
- package/src/vaults/lib/ops/get-vault-deposits.stories.tsx +2 -1
- package/src/vaults/lib/ops/get-vault-withdrawals.stories.tsx +2 -1
- package/src/vaults/lib/ops/withdraw.stories.tsx +2 -1
- package/src/version.ts +56 -0
- package/dist/api-functions/generateDepositBtcAddress/generateDepositBtcAddress.stories.d.ts +0 -16
- package/dist/api-functions/generateDepositBtcAddress/generateDepositBtcAddress.stories.d.ts.map +0 -1
- package/dist/api-functions/getDepositBtcAddress/getDepositBtcAddress.stories.d.ts +0 -16
- package/dist/api-functions/getDepositBtcAddress/getDepositBtcAddress.stories.d.ts.map +0 -1
- package/dist/api-functions/getDepositBtcAddress/getDepositBtcAddress.test.d.ts +0 -2
- package/dist/api-functions/getDepositBtcAddress/getDepositBtcAddress.test.d.ts.map +0 -1
- package/dist/api-functions/getDepositBtcAddress/getDepositBtcAddresses.stories.d.ts +0 -16
- package/dist/api-functions/getDepositBtcAddress/getDepositBtcAddresses.stories.d.ts.map +0 -1
- package/dist/api-functions/getDepositsByAddress/getDepositsByAddress.stories.d.ts +0 -13
- package/dist/api-functions/getDepositsByAddress/getDepositsByAddress.stories.d.ts.map +0 -1
- package/dist/api-functions/getLBTCExchangeRate/get-exchange-ratio.stories.d.ts +0 -16
- package/dist/api-functions/getLBTCExchangeRate/get-exchange-ratio.stories.d.ts.map +0 -1
- package/dist/api-functions/getLBTCExchangeRate/getLBTCExchangeRate.stories.d.ts +0 -16
- package/dist/api-functions/getLBTCExchangeRate/getLBTCExchangeRate.stories.d.ts.map +0 -1
- package/dist/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.stories.d.ts +0 -17
- package/dist/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.stories.d.ts.map +0 -1
- package/dist/api-functions/getPointsByAddress/getPointsByAddress.stories.d.ts +0 -13
- package/dist/api-functions/getPointsByAddress/getPointsByAddress.stories.d.ts.map +0 -1
- package/dist/api-functions/getUnstakesByAddress/getUnstakesByAddress.stories.d.ts +0 -13
- package/dist/api-functions/getUnstakesByAddress/getUnstakesByAddress.stories.d.ts.map +0 -1
- package/dist/api-functions/getUserStakeAndBakeSignature/getUserStakeAndBakeSignature.stories.d.ts +0 -14
- package/dist/api-functions/getUserStakeAndBakeSignature/getUserStakeAndBakeSignature.stories.d.ts.map +0 -1
- package/dist/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.stories.d.ts +0 -14
- package/dist/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.stories.d.ts.map +0 -1
- package/dist/api-functions/storeStakeAndBakeSignature/storeStakeAndBakeSignature.stories.d.ts +0 -14
- package/dist/api-functions/storeStakeAndBakeSignature/storeStakeAndBakeSignature.stories.d.ts.map +0 -1
- package/dist/bridge/lib/bridge.stories.d.ts +0 -14
- package/dist/bridge/lib/bridge.stories.d.ts.map +0 -1
- package/dist/bridge/lib/ccip-bridge.stories.d.ts +0 -14
- package/dist/bridge/lib/ccip-bridge.stories.d.ts.map +0 -1
- package/dist/bridge/lib/oft-bridge.stories.d.ts +0 -14
- package/dist/bridge/lib/oft-bridge.stories.d.ts.map +0 -1
- package/dist/common/chains.stories.d.ts +0 -17
- package/dist/common/chains.stories.d.ts.map +0 -1
- package/dist/contract-functions/approveLBTC/approveLBTC.stories.d.ts +0 -17
- package/dist/contract-functions/approveLBTC/approveLBTC.stories.d.ts.map +0 -1
- package/dist/contract-functions/claimLBTC/claimLBTC.stories.d.ts +0 -17
- package/dist/contract-functions/claimLBTC/claimLBTC.stories.d.ts.map +0 -1
- package/dist/contract-functions/deposit/depositToken.stories.d.ts +0 -17
- package/dist/contract-functions/deposit/depositToken.stories.d.ts.map +0 -1
- package/dist/contract-functions/getBasculeDepositStatus/getBasculeDepositStatus.stories.d.ts +0 -16
- package/dist/contract-functions/getBasculeDepositStatus/getBasculeDepositStatus.stories.d.ts.map +0 -1
- package/dist/contract-functions/getLBTCMintingFee/getLBTCMintingFee.stories.d.ts +0 -17
- package/dist/contract-functions/getLBTCMintingFee/getLBTCMintingFee.stories.d.ts.map +0 -1
- package/dist/contract-functions/getLBTCTotalSupply/getLBTCTotalSupply.stories.d.ts +0 -17
- package/dist/contract-functions/getLBTCTotalSupply/getLBTCTotalSupply.stories.d.ts.map +0 -1
- package/dist/contract-functions/getPermitNonce/getPermitNonce.stories.d.ts +0 -14
- package/dist/contract-functions/getPermitNonce/getPermitNonce.stories.d.ts.map +0 -1
- package/dist/contract-functions/getShareValue/getShareValue.stories.d.ts +0 -13
- package/dist/contract-functions/getShareValue/getShareValue.stories.d.ts.map +0 -1
- package/dist/contract-functions/getSharesByAddress/getSharesByAddress.stories.d.ts +0 -13
- package/dist/contract-functions/getSharesByAddress/getSharesByAddress.stories.d.ts.map +0 -1
- package/dist/contract-functions/getStakeAndBakeFee/__tests__/getStakeAndBakeFee.test.d.ts +0 -2
- package/dist/contract-functions/getStakeAndBakeFee/__tests__/getStakeAndBakeFee.test.d.ts.map +0 -1
- package/dist/contract-functions/getStakeAndBakeFee/getStakeAndBakeFee.stories.d.ts +0 -17
- package/dist/contract-functions/getStakeAndBakeFee/getStakeAndBakeFee.stories.d.ts.map +0 -1
- package/dist/contract-functions/signLbtcDestionationAddr/signLbtcDestionationAddr.stories.d.ts +0 -9
- package/dist/contract-functions/signLbtcDestionationAddr/signLbtcDestionationAddr.stories.d.ts.map +0 -1
- package/dist/contract-functions/signNetworkFee/signNetworkFee.stories.d.ts +0 -14
- package/dist/contract-functions/signNetworkFee/signNetworkFee.stories.d.ts.map +0 -1
- package/dist/contract-functions/signStakeAndBake/__tests__/signStakeAndBake.test.d.ts +0 -17
- package/dist/contract-functions/signStakeAndBake/__tests__/signStakeAndBake.test.d.ts.map +0 -1
- package/dist/contract-functions/signStakeAndBake/signStakeAndBake.stories.d.ts +0 -50
- package/dist/contract-functions/signStakeAndBake/signStakeAndBake.stories.d.ts.map +0 -1
- package/dist/contract-functions/unstakeLBTC/unstakeLBTC.stories.d.ts +0 -17
- package/dist/contract-functions/unstakeLBTC/unstakeLBTC.stories.d.ts.map +0 -1
- package/dist/defi/defi-registry.stories.d.ts +0 -18
- package/dist/defi/defi-registry.stories.d.ts.map +0 -1
- package/dist/metrics/get-lbtc-stats.stories.d.ts +0 -17
- package/dist/metrics/get-lbtc-stats.stories.d.ts.map +0 -1
- package/dist/metrics/get-positions-summary.stories.d.ts +0 -17
- package/dist/metrics/get-positions-summary.stories.d.ts.map +0 -1
- package/dist/tokens/cross-chain-addresses.stories.d.ts +0 -60
- package/dist/tokens/cross-chain-addresses.stories.d.ts.map +0 -1
- package/dist/tokens/denomination-utils.stories.d.ts +0 -62
- package/dist/tokens/denomination-utils.stories.d.ts.map +0 -1
- package/dist/tokens/getLbtcContractAddresses.stories.d.ts +0 -59
- package/dist/tokens/getLbtcContractAddresses.stories.d.ts.map +0 -1
- package/dist/tokens/getTokenByAddress.stories.d.ts +0 -64
- package/dist/tokens/getTokenByAddress.stories.d.ts.map +0 -1
- package/dist/tokens/getTokenContractInfo.stories.d.ts +0 -52
- package/dist/tokens/getTokenContractInfo.stories.d.ts.map +0 -1
- package/dist/tokens/getTokenInfo.stories.d.ts +0 -42
- package/dist/tokens/getTokenInfo.stories.d.ts.map +0 -1
- package/dist/tokens/isUpgradedContract.stories.d.ts +0 -50
- package/dist/tokens/isUpgradedContract.stories.d.ts.map +0 -1
- package/dist/vaults/lib/metrics/get-vault-apy.stories.d.ts +0 -14
- package/dist/vaults/lib/metrics/get-vault-apy.stories.d.ts.map +0 -1
- package/dist/vaults/lib/metrics/get-vault-points.stories.d.ts +0 -14
- package/dist/vaults/lib/metrics/get-vault-points.stories.d.ts.map +0 -1
- package/dist/vaults/lib/metrics/get-vault-tvl.stories.d.ts +0 -14
- package/dist/vaults/lib/metrics/get-vault-tvl.stories.d.ts.map +0 -1
- package/dist/vaults/lib/ops/cancel-withdraw.stories.d.ts +0 -14
- package/dist/vaults/lib/ops/cancel-withdraw.stories.d.ts.map +0 -1
- package/dist/vaults/lib/ops/deposit.stories.d.ts +0 -14
- package/dist/vaults/lib/ops/deposit.stories.d.ts.map +0 -1
- package/dist/vaults/lib/ops/get-vault-deposits.stories.d.ts +0 -14
- package/dist/vaults/lib/ops/get-vault-deposits.stories.d.ts.map +0 -1
- package/dist/vaults/lib/ops/get-vault-withdrawals.stories.d.ts +0 -14
- package/dist/vaults/lib/ops/get-vault-withdrawals.stories.d.ts.map +0 -1
- package/dist/vaults/lib/ops/withdraw.stories.d.ts +0 -14
- package/dist/vaults/lib/ops/withdraw.stories.d.ts.map +0 -1
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base BTC Action Class
|
|
3
|
+
*
|
|
4
|
+
* Provides common functionality for all BTC actions:
|
|
5
|
+
* - State management (amount, recipient, depositAddress, referralCode)
|
|
6
|
+
* - Ensure methods for validation
|
|
7
|
+
* - Bitcoin network helpers
|
|
8
|
+
* - Deposit monitoring
|
|
9
|
+
* - Bitcoin send operations
|
|
10
|
+
* - Common validation and prepare patterns
|
|
11
|
+
*
|
|
12
|
+
* @module chains/btc/actions/shared/BaseBtcAction
|
|
13
|
+
*/
|
|
14
|
+
import { z } from 'zod';
|
|
15
|
+
import { ChainId, SolanaChain, StarknetChainId, SuiChain } from '../../../../common/chains';
|
|
16
|
+
import { Chain, StepStatus } from '../../../../core';
|
|
17
|
+
import { BaseAction } from '../../../../shared/actions';
|
|
18
|
+
import type { BtcCoreContext } from '../../../../shared/context';
|
|
19
|
+
import type { MonitorProgress, NetworkMode } from '../../../../shared/monitoring';
|
|
20
|
+
import type { EventHandler } from '../../../../shared/monitoring/createEventEmitter';
|
|
21
|
+
/**
|
|
22
|
+
* Common authorization state for BTC actions
|
|
23
|
+
*/
|
|
24
|
+
export interface BtcAuthorizationState {
|
|
25
|
+
authorized: boolean;
|
|
26
|
+
signature?: string;
|
|
27
|
+
typedData?: unknown;
|
|
28
|
+
[key: string]: unknown;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Common params that all BTC actions share
|
|
32
|
+
*/
|
|
33
|
+
export interface BaseBtcParams {
|
|
34
|
+
sourceChain?: typeof Chain.BITCOIN_MAINNET | typeof Chain.BITCOIN_SIGNET;
|
|
35
|
+
destChain: Chain;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Common prepare params
|
|
39
|
+
*/
|
|
40
|
+
export interface BasePrepareParams {
|
|
41
|
+
amount: string;
|
|
42
|
+
recipient: string;
|
|
43
|
+
referralCode?: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Progress step definitions
|
|
47
|
+
*/
|
|
48
|
+
export type StepDefinition = Record<string, StepStatus>;
|
|
49
|
+
/**
|
|
50
|
+
* Status configuration for template methods
|
|
51
|
+
*/
|
|
52
|
+
export interface StatusConfig<TStatus extends string> {
|
|
53
|
+
idle: TStatus;
|
|
54
|
+
ready: TStatus;
|
|
55
|
+
addressReady: TStatus;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Base class for BTC actions
|
|
59
|
+
*
|
|
60
|
+
* Provides template methods for common patterns:
|
|
61
|
+
* - prepare() with validation and resume
|
|
62
|
+
* - generateDepositAddress()
|
|
63
|
+
* - execute()
|
|
64
|
+
* - monitorDeposit()
|
|
65
|
+
*
|
|
66
|
+
* Subclasses implement abstract methods to customize behavior.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```typescript
|
|
70
|
+
* class BtcStake extends BaseBtcAction<StakeEventMap, BtcActionStatus, BtcStakeParams> {
|
|
71
|
+
* protected getAddressSchema() { return evmAddressSchema; }
|
|
72
|
+
* protected getStatusConfig() { return { idle: BtcActionStatus.IDLE, ... }; }
|
|
73
|
+
* protected getInitialSteps() { return { created: StepStatus.IDLE, ... }; }
|
|
74
|
+
* }
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
export declare abstract class BaseBtcAction<TEventMap extends Record<string, EventHandler<unknown[]>>, TStatus extends string, TParams extends BaseBtcParams> extends BaseAction<TEventMap, TStatus> {
|
|
78
|
+
protected readonly ctx: BtcCoreContext;
|
|
79
|
+
protected readonly params: TParams;
|
|
80
|
+
protected _amount?: string;
|
|
81
|
+
protected _recipient?: string;
|
|
82
|
+
protected _depositAddress?: string;
|
|
83
|
+
protected _referralCode?: string;
|
|
84
|
+
protected _chainId?: unknown;
|
|
85
|
+
constructor(ctx: BtcCoreContext, params: TParams, initialStatus: TStatus);
|
|
86
|
+
/** Get the address validation schema for this action */
|
|
87
|
+
protected abstract getAddressSchema(): z.ZodType<string>;
|
|
88
|
+
/** Get the status configuration for template methods */
|
|
89
|
+
protected abstract getStatusConfig(): StatusConfig<TStatus>;
|
|
90
|
+
/** Get the initial progress steps for this action */
|
|
91
|
+
protected abstract getInitialSteps(): StepDefinition;
|
|
92
|
+
/** Check if the action has been authorized */
|
|
93
|
+
protected abstract isAuthorized(): boolean;
|
|
94
|
+
/** Get the chain ID (after parsing in constructor) */
|
|
95
|
+
protected abstract getChainId(): ChainId | SuiChain | SolanaChain | StarknetChainId;
|
|
96
|
+
/**
|
|
97
|
+
* Get API params for generateDepositAddress
|
|
98
|
+
* Subclasses provide action-specific parameters
|
|
99
|
+
*/
|
|
100
|
+
protected abstract getDepositAddressParams(): {
|
|
101
|
+
address: string;
|
|
102
|
+
chainId: ChainId | SuiChain | SolanaChain | StarknetChainId;
|
|
103
|
+
signature: string;
|
|
104
|
+
token: string;
|
|
105
|
+
eip712Data?: string;
|
|
106
|
+
signatureData?: string;
|
|
107
|
+
pubKey?: string;
|
|
108
|
+
partnerId?: string;
|
|
109
|
+
referrerCode?: string;
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* Get the expected destination token (LBTC, BTCb, etc.)
|
|
113
|
+
* Used for resuming from existing deposits before authorization is complete
|
|
114
|
+
*/
|
|
115
|
+
protected abstract getExpectedToken(): string;
|
|
116
|
+
/** Amount of BTC to stake/deposit */
|
|
117
|
+
get amount(): string | undefined;
|
|
118
|
+
/** Recipient address on destination chain */
|
|
119
|
+
get recipient(): string | undefined;
|
|
120
|
+
/** Generated Bitcoin deposit address */
|
|
121
|
+
get depositAddress(): string | undefined;
|
|
122
|
+
/** Referral code (optional) */
|
|
123
|
+
get referralCode(): string | undefined;
|
|
124
|
+
/** Bitcoin network mode for monitoring */
|
|
125
|
+
protected get bitcoinNetwork(): NetworkMode;
|
|
126
|
+
/**
|
|
127
|
+
* Get the prepare schema (amount + recipient + referralCode)
|
|
128
|
+
* Uses abstract getAddressSchema() for chain-specific validation
|
|
129
|
+
*/
|
|
130
|
+
protected get prepareSchema(): z.ZodObject<{
|
|
131
|
+
amount: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string> | z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>, string, string>;
|
|
132
|
+
recipient: z.ZodType<string, z.ZodTypeDef, string>;
|
|
133
|
+
referralCode: z.ZodOptional<z.ZodString>;
|
|
134
|
+
}, "strip", z.ZodTypeAny, {
|
|
135
|
+
amount: string;
|
|
136
|
+
recipient: string;
|
|
137
|
+
referralCode?: string | undefined;
|
|
138
|
+
}, {
|
|
139
|
+
amount: string;
|
|
140
|
+
recipient: string;
|
|
141
|
+
referralCode?: string | undefined;
|
|
142
|
+
}>;
|
|
143
|
+
/**
|
|
144
|
+
* Validate prepare params using Zod
|
|
145
|
+
* Subclasses can override if they need custom validation
|
|
146
|
+
*/
|
|
147
|
+
protected validatePrepareParams(params: BasePrepareParams): BasePrepareParams;
|
|
148
|
+
protected ensureRecipient(): string;
|
|
149
|
+
protected ensureAmount(): string;
|
|
150
|
+
protected ensureDepositAddress(): string;
|
|
151
|
+
/**
|
|
152
|
+
* Get error message for missing authorization
|
|
153
|
+
* Subclasses can override to provide specific messages
|
|
154
|
+
*/
|
|
155
|
+
protected getAuthRequiredMessage(): string;
|
|
156
|
+
protected ensureAuthorized(): void;
|
|
157
|
+
/**
|
|
158
|
+
* Try to resume from an existing deposit address
|
|
159
|
+
*
|
|
160
|
+
* This method only stores the deposit address if found.
|
|
161
|
+
* It does NOT update the status - the caller must do that
|
|
162
|
+
* after performing any additional validation (e.g., fee authorization).
|
|
163
|
+
*
|
|
164
|
+
* @param recipient - The recipient address to check
|
|
165
|
+
* @returns true if a deposit address was found, false otherwise
|
|
166
|
+
*/
|
|
167
|
+
protected resumeFromExistingDeposit(recipient: string): Promise<boolean>;
|
|
168
|
+
/**
|
|
169
|
+
* Generate a Bitcoin deposit address
|
|
170
|
+
*
|
|
171
|
+
* Template method that:
|
|
172
|
+
* 1. Validates status and authorization
|
|
173
|
+
* 2. Calls API to generate address
|
|
174
|
+
* 3. Updates state and emits progress
|
|
175
|
+
*
|
|
176
|
+
* Subclasses must implement getDepositAddressParams() to provide API params.
|
|
177
|
+
*/
|
|
178
|
+
protected generateDepositAddressImpl(): Promise<string>;
|
|
179
|
+
/**
|
|
180
|
+
* Execute the action - generate address and optionally send BTC
|
|
181
|
+
*
|
|
182
|
+
* Template method that:
|
|
183
|
+
* 1. Ensures deposit address exists
|
|
184
|
+
* 2. Tries to send BTC if provider available
|
|
185
|
+
* 3. Returns result
|
|
186
|
+
*/
|
|
187
|
+
protected executeImpl(): Promise<{
|
|
188
|
+
depositAddress: string;
|
|
189
|
+
txHash?: string;
|
|
190
|
+
}>;
|
|
191
|
+
/**
|
|
192
|
+
* Emit initial progress with action-specific steps
|
|
193
|
+
*/
|
|
194
|
+
protected emitInitialProgress(): void;
|
|
195
|
+
/**
|
|
196
|
+
* Monitor Bitcoin deposit progress
|
|
197
|
+
*/
|
|
198
|
+
monitorDeposit(): Promise<MonitorProgress | undefined>;
|
|
199
|
+
protected trySendBitcoin(depositAddress: string): Promise<string | undefined>;
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=BaseBtcAction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseBtcAction.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/shared/BaseBtcAction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,OAAO,EACP,WAAW,EACX,eAAe,EACf,QAAQ,EACT,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACZ,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kDAAkD,CAAC;AAarF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,OAAO,KAAK,CAAC,eAAe,GAAG,OAAO,KAAK,CAAC,cAAc,CAAC;IACzE,SAAS,EAAE,KAAK,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,OAAO,SAAS,MAAM;IAClD,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;CACvB;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,8BAAsB,aAAa,CACjC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,EACzD,OAAO,SAAS,MAAM,EACtB,OAAO,SAAS,aAAa,CAC7B,SAAQ,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC;IAYpC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,cAAc;IACtC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO;IARpC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAGR,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,OAAO,EAClC,aAAa,EAAE,OAAO;IASxB,wDAAwD;IACxD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAExD,wDAAwD;IACxD,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,YAAY,CAAC,OAAO,CAAC;IAE3D,qDAAqD;IACrD,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,cAAc;IAEpD,8CAA8C;IAC9C,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO;IAE1C,sDAAsD;IACtD,SAAS,CAAC,QAAQ,CAAC,UAAU,IACzB,OAAO,GACP,QAAQ,GACR,WAAW,GACX,eAAe;IAEnB;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,uBAAuB,IAAI;QAC5C,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,eAAe,CAAC;QAC5D,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB;IAED;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,gBAAgB,IAAI,MAAM;IAM7C,qCAAqC;IACrC,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,6CAA6C;IAC7C,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED,wCAAwC;IACxC,IAAI,cAAc,IAAI,MAAM,GAAG,SAAS,CAEvC;IAED,+BAA+B;IAC/B,IAAI,YAAY,IAAI,MAAM,GAAG,SAAS,CAErC;IAED,0CAA0C;IAC1C,SAAS,KAAK,cAAc,IAAI,WAAW,CAG1C;IAMD;;;OAGG;IACH,SAAS,KAAK,aAAa;;;;;;;;;;;;OAM1B;IAED;;;OAGG;IACH,SAAS,CAAC,qBAAqB,CAC7B,MAAM,EAAE,iBAAiB,GACxB,iBAAiB;IAUpB,SAAS,CAAC,eAAe,IAAI,MAAM;IAOnC,SAAS,CAAC,YAAY,IAAI,MAAM;IAOhC,SAAS,CAAC,oBAAoB,IAAI,MAAM;IAUxC;;;OAGG;IACH,SAAS,CAAC,sBAAsB,IAAI,MAAM;IAI1C,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAalC;;;;;;;;;OASG;cACa,yBAAyB,CACvC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC;IA0BnB;;;;;;;;;OASG;cACa,0BAA0B,IAAI,OAAO,CAAC,MAAM,CAAC;IA0C7D;;;;;;;OAOG;cACa,WAAW,IAAI,OAAO,CAAC;QACrC,cAAc,EAAE,MAAM,CAAC;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAqBF;;OAEG;IACH,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAWrC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;cA+C5C,cAAc,CAC5B,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAsB/B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared BTC Action Utilities
|
|
3
|
+
*
|
|
4
|
+
* Common utilities and base classes for BTC actions.
|
|
5
|
+
*
|
|
6
|
+
* @module chains/btc/actions/shared
|
|
7
|
+
*/
|
|
8
|
+
export type { BaseBtcParams, BtcAuthorizationState, StatusConfig, StepDefinition, } from './BaseBtcAction';
|
|
9
|
+
export { BaseBtcAction } from './BaseBtcAction';
|
|
10
|
+
export { assetIdToToken } from './tokenUtils';
|
|
11
|
+
export type { ValidatableConfig, ValidatableParams, ValidationContext, } from './validation';
|
|
12
|
+
export { isAssetSupported, isDestChainSupported, isRouteAvailable, validateBtcActionParams, validateProtocol, } from './validation';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/shared/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,EACV,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token Utilities for BTC Actions
|
|
3
|
+
*
|
|
4
|
+
* Shared utilities for mapping asset IDs to tokens.
|
|
5
|
+
*
|
|
6
|
+
* ## Token Parameter Pattern for StakeAndBake/DepositAndDeploy
|
|
7
|
+
*
|
|
8
|
+
* The `token` parameter in authorization functions determines which DEFI_REGISTRY
|
|
9
|
+
* entry is used, which affects the `amountStrategy`:
|
|
10
|
+
*
|
|
11
|
+
* | Action | Flow | Token Param | Strategy | Reason |
|
|
12
|
+
* |---------------------|-------------------|---------------|-------------|----------------------------|
|
|
13
|
+
* | BtcStakeAndDeploy | BTC → LBTC → Vault | AssetId.BTC | btcToLbtc | Apply BTC/LBTC ratio |
|
|
14
|
+
* | BtcDepositAndDeploy | BTC → BTCb → Vault | Token.BTCb | identity | 1:1 ratio, no conversion |
|
|
15
|
+
*
|
|
16
|
+
* **Key Insight:**
|
|
17
|
+
* - LBTC has a variable exchange rate with BTC (~1.00265 BTC = 1 LBTC)
|
|
18
|
+
* - BTC.b is 1:1 with BTC (wrapped representation)
|
|
19
|
+
*
|
|
20
|
+
* For LBTC outputs, use the SOURCE asset (`'BTC'`) to trigger ratio conversion.
|
|
21
|
+
* For BTC.b outputs, use the OUTPUT asset (`Token.BTCb`) since no conversion needed.
|
|
22
|
+
*
|
|
23
|
+
* @see DEFI_REGISTRY in defi/defi-registry.ts
|
|
24
|
+
* @see signStakeAndBake for how amountStrategy is applied
|
|
25
|
+
*
|
|
26
|
+
* @module chains/btc/actions/shared/tokenUtils
|
|
27
|
+
*/
|
|
28
|
+
import { AssetId } from '../../../../core/assets';
|
|
29
|
+
import { Token } from '../../../../tokens/token-addresses';
|
|
30
|
+
/**
|
|
31
|
+
* Maps an AssetId to its corresponding Token value for API calls.
|
|
32
|
+
*
|
|
33
|
+
* **Note:** This function handles LBTC and BTCb. For BTC → LBTC flows that need
|
|
34
|
+
* ratio conversion, use `AssetId.BTC` directly instead of this function.
|
|
35
|
+
*
|
|
36
|
+
* @param assetId - The asset ID to convert
|
|
37
|
+
* @param defaultToken - The default token if assetId doesn't match known types (defaults to LBTC)
|
|
38
|
+
* @returns The corresponding Token value
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* // For BTC.b outputs (1:1 with BTC)
|
|
42
|
+
* assetIdToToken(AssetId.BTCb) // returns Token.BTCb
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* // For LBTC outputs from LBTC source (no ratio conversion)
|
|
46
|
+
* assetIdToToken(AssetId.LBTC) // returns Token.LBTC
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* // For BTC → LBTC (needs ratio conversion)
|
|
50
|
+
* // DON'T use assetIdToToken, use AssetId.BTC directly
|
|
51
|
+
* token: AssetId.BTC // triggers btcToLbtc strategy
|
|
52
|
+
*/
|
|
53
|
+
export declare function assetIdToToken(assetId: AssetId, defaultToken?: Token): Token;
|
|
54
|
+
//# sourceMappingURL=tokenUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenUtils.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/shared/tokenUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,YAAY,GAAE,KAAkB,GAC/B,KAAK,CASP"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Validation Utilities for BTC Actions
|
|
3
|
+
*
|
|
4
|
+
* Provides common validation logic used across all BTC actions.
|
|
5
|
+
* Reduces code duplication and ensures consistent error handling.
|
|
6
|
+
*
|
|
7
|
+
* @module chains/btc/actions/shared/validation
|
|
8
|
+
*/
|
|
9
|
+
import type { AssetId, Chain, Env } from '../../../../core';
|
|
10
|
+
/**
|
|
11
|
+
* Common config interface for validation
|
|
12
|
+
* All BTC action configs should implement these properties
|
|
13
|
+
*/
|
|
14
|
+
export interface ValidatableConfig {
|
|
15
|
+
destChains: Chain[];
|
|
16
|
+
supportedAssetsOut: AssetId[];
|
|
17
|
+
routes: Array<{
|
|
18
|
+
sourceChains: Chain[];
|
|
19
|
+
envs: Env[];
|
|
20
|
+
}>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Common params interface for validation
|
|
24
|
+
*/
|
|
25
|
+
export interface ValidatableParams {
|
|
26
|
+
assetOut: AssetId;
|
|
27
|
+
destChain: Chain;
|
|
28
|
+
sourceChain?: Chain;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Validation context
|
|
32
|
+
*/
|
|
33
|
+
export interface ValidationContext {
|
|
34
|
+
env: Env;
|
|
35
|
+
actionName: string;
|
|
36
|
+
expectedAssets: AssetId[];
|
|
37
|
+
alternativeAction?: string;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Check if an asset is in the supported list
|
|
41
|
+
*/
|
|
42
|
+
export declare function isAssetSupported(supportedAssets: AssetId[], assetOut: AssetId): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Check if a destination chain is in the supported list
|
|
45
|
+
*/
|
|
46
|
+
export declare function isDestChainSupported(supportedChains: Chain[], destChain: Chain): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Check if a route is available for the given source chain and environment
|
|
49
|
+
*/
|
|
50
|
+
export declare function isRouteAvailable(routes: ValidatableConfig['routes'], sourceChain: Chain | undefined, env: Env): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Validate common BTC action parameters
|
|
53
|
+
*
|
|
54
|
+
* Performs all standard validations in one call:
|
|
55
|
+
* - Asset output validation
|
|
56
|
+
* - Destination chain validation
|
|
57
|
+
* - Route availability validation
|
|
58
|
+
*
|
|
59
|
+
* Throws descriptive errors if validation fails.
|
|
60
|
+
*
|
|
61
|
+
* @param config - Action configuration with supported chains/assets
|
|
62
|
+
* @param params - Action parameters to validate
|
|
63
|
+
* @param context - Validation context (env, action name, etc.)
|
|
64
|
+
*
|
|
65
|
+
* @throws LombardError with appropriate code and message
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```typescript
|
|
69
|
+
* validateBtcActionParams(
|
|
70
|
+
* stakeConfig,
|
|
71
|
+
* { assetOut: AssetId.LBTC, destChain: Chain.ETHEREUM },
|
|
72
|
+
* {
|
|
73
|
+
* env: 'prod',
|
|
74
|
+
* actionName: 'BTC Stake',
|
|
75
|
+
* expectedAssets: [AssetId.LBTC],
|
|
76
|
+
* alternativeAction: 'BtcDeposit',
|
|
77
|
+
* }
|
|
78
|
+
* );
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export declare function validateBtcActionParams(config: ValidatableConfig, params: ValidatableParams, context: ValidationContext): void;
|
|
82
|
+
/**
|
|
83
|
+
* Validate protocol is supported (for deploy actions)
|
|
84
|
+
*
|
|
85
|
+
* @param supportedProtocols - List of supported protocols
|
|
86
|
+
* @param protocol - Protocol to validate
|
|
87
|
+
* @param actionName - Name of action for error message
|
|
88
|
+
*/
|
|
89
|
+
export declare function validateProtocol(supportedProtocols: string[], protocol: string, actionName: string): void;
|
|
90
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/shared/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAO5D;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,KAAK,EAAE,CAAC;IACpB,kBAAkB,EAAE,OAAO,EAAE,CAAC;IAC9B,MAAM,EAAE,KAAK,CAAC;QACZ,YAAY,EAAE,KAAK,EAAE,CAAC;QACtB,IAAI,EAAE,GAAG,EAAE,CAAC;KACb,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC;IACjB,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,GAAG,CAAC;IACT,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAMD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,eAAe,EAAE,OAAO,EAAE,EAC1B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAET;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,KAAK,EAAE,EACxB,SAAS,EAAE,KAAK,GACf,OAAO,CAET;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EACnC,WAAW,EAAE,KAAK,GAAG,SAAS,EAC9B,GAAG,EAAE,GAAG,GACP,OAAO,CAOT;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,iBAAiB,GACzB,IAAI,CAgCN;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,kBAAkB,EAAE,MAAM,EAAE,EAC5B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,IAAI,CAQN"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BTC Stake Action
|
|
3
|
+
*
|
|
4
|
+
* A configuration-driven action that handles BTC → LBTC staking
|
|
5
|
+
* to any supported destination chain. Chain-specific logic is delegated
|
|
6
|
+
* to ChainConfig objects in the config/ folder.
|
|
7
|
+
*
|
|
8
|
+
* @module chains/btc/actions/stake/BtcStake
|
|
9
|
+
*/
|
|
10
|
+
import type { z } from 'zod';
|
|
11
|
+
import type { ChainId, SolanaChain, StarknetChainId, SuiChain } from '../../../../common/chains';
|
|
12
|
+
import { BtcActionStatus } from '../../../../shared/constants/statusConstants';
|
|
13
|
+
import type { BtcCoreContext } from '../../../../shared/context';
|
|
14
|
+
import type { StakeEventMap } from '../../../../shared/events';
|
|
15
|
+
import type { MonitorProgress } from '../../../../shared/monitoring';
|
|
16
|
+
import { BaseBtcAction, type StatusConfig, type StepDefinition } from '../shared';
|
|
17
|
+
import type { BtcStake as IBtcStake, BtcStakeParams } from './types';
|
|
18
|
+
type AnyChainId = ChainId | SolanaChain | SuiChain | StarknetChainId;
|
|
19
|
+
/**
|
|
20
|
+
* BTC Stake Action
|
|
21
|
+
*
|
|
22
|
+
* Handles BTC → LBTC staking to any supported destination chain.
|
|
23
|
+
* Uses configuration-driven design for chain-specific logic.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* const stake = new BtcStake(ctx, {
|
|
28
|
+
* assetOut: AssetId.LBTC,
|
|
29
|
+
* destChain: Chain.ETHEREUM,
|
|
30
|
+
* });
|
|
31
|
+
*
|
|
32
|
+
* await stake.prepare({ amount: '0.1', recipient: '0x...' });
|
|
33
|
+
* await stake.authorize();
|
|
34
|
+
* const address = await stake.generateDepositAddress();
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare class BtcStake extends BaseBtcAction<StakeEventMap, BtcActionStatus, BtcStakeParams> implements IBtcStake {
|
|
38
|
+
private readonly config;
|
|
39
|
+
private readonly chainId;
|
|
40
|
+
private readonly authState;
|
|
41
|
+
/** Fee auth config - null if not required for this destination */
|
|
42
|
+
private feeAuthConfig;
|
|
43
|
+
constructor(ctx: BtcCoreContext, params: BtcStakeParams);
|
|
44
|
+
protected getAddressSchema(): z.ZodType<string>;
|
|
45
|
+
protected getStatusConfig(): StatusConfig<BtcActionStatus>;
|
|
46
|
+
protected getInitialSteps(): StepDefinition;
|
|
47
|
+
protected isAuthorized(): boolean;
|
|
48
|
+
protected getChainId(): AnyChainId;
|
|
49
|
+
protected getDepositAddressParams(): {
|
|
50
|
+
address: string;
|
|
51
|
+
chainId: AnyChainId;
|
|
52
|
+
signature: string;
|
|
53
|
+
token: string;
|
|
54
|
+
eip712Data: string | undefined;
|
|
55
|
+
pubKey: string | undefined;
|
|
56
|
+
partnerId: string | undefined;
|
|
57
|
+
referrerCode: string | undefined;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Get expected token for this action (LBTC by default for BTC Stake)
|
|
61
|
+
*/
|
|
62
|
+
protected getExpectedToken(): string;
|
|
63
|
+
protected getAuthRequiredMessage(): string;
|
|
64
|
+
/** Get minting fee (available after prepare() for fee-auth chains) */
|
|
65
|
+
get mintingFee(): string | undefined;
|
|
66
|
+
prepare(params: {
|
|
67
|
+
amount: string;
|
|
68
|
+
recipient: string;
|
|
69
|
+
referralCode?: string;
|
|
70
|
+
}): Promise<void>;
|
|
71
|
+
authorize(): Promise<void>;
|
|
72
|
+
generateDepositAddress(): Promise<string>;
|
|
73
|
+
execute(): Promise<{
|
|
74
|
+
depositAddress: string;
|
|
75
|
+
txHash?: string;
|
|
76
|
+
}>;
|
|
77
|
+
monitorDeposit(): Promise<MonitorProgress | undefined>;
|
|
78
|
+
private ensureMintingFee;
|
|
79
|
+
private getActiveSignature;
|
|
80
|
+
}
|
|
81
|
+
export {};
|
|
82
|
+
//# sourceMappingURL=BtcStake.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BtcStake.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/stake/BtcStake.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EACR,OAAO,EACP,WAAW,EACX,eAAe,EACf,QAAQ,EACX,MAAM,2BAA2B,CAAC;AAMnC,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,EAEH,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,cAAc,EACtB,MAAM,WAAW,CAAC;AAUnB,OAAO,KAAK,EAAE,QAAQ,IAAI,SAAS,EAAC,cAAc,EAAE,MAAM,SAAS,CAAC;AAMpE,KAAK,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,GAAG,eAAe,CAAC;AAgBrE;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,QACX,SAAQ,aAAa,CAAC,aAAa,EAAE,eAAe,EAAE,cAAc,CACpE,YAAW,SAAS;IAEpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6C;IAEvE,kEAAkE;IAClE,OAAO,CAAC,aAAa,CAA8B;gBAEvC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc;IA8CvD,SAAS,CAAC,gBAAgB,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAI/C,SAAS,CAAC,eAAe,IAAI,YAAY,CAAC,eAAe,CAAC;IAQ1D,SAAS,CAAC,eAAe,IAAI,cAAc;IAQ3C,SAAS,CAAC,YAAY,IAAI,OAAO;IAIjC,SAAS,CAAC,UAAU,IAAI,UAAU;IAIlC,SAAS,CAAC,uBAAuB;;;;;;;;;;IAuBjC;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAIpC,SAAS,CAAC,sBAAsB,IAAI,MAAM;IAQ1C,sEAAsE;IACtE,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAMK,OAAO,CAAC,MAAM,EAAE;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiGX,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAyC1B,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;IAyCzC,OAAO,IAAI,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAI/D,cAAc,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAQ5D,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,kBAAkB;CAM3B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EVM Chain Configuration
|
|
3
|
+
*
|
|
4
|
+
* Handles all EVM-compatible destination chains (Ethereum, Base, Arbitrum, etc.)
|
|
5
|
+
* Includes fee authorization for Ethereum mainnet and destination signing for others.
|
|
6
|
+
*
|
|
7
|
+
* Supported chains are derived from ASSET_CATALOG - single source of truth.
|
|
8
|
+
*
|
|
9
|
+
* @module chains/btc/actions/stake/config/evm
|
|
10
|
+
*/
|
|
11
|
+
import type { ChainConfig } from './types';
|
|
12
|
+
/**
|
|
13
|
+
* EVM chain configuration for BTC stake
|
|
14
|
+
*
|
|
15
|
+
* BTC Stake: BTC → LBTC (yield-bearing staked BTC)
|
|
16
|
+
* Supports staking BTC to LBTC on any EVM-compatible chain.
|
|
17
|
+
* Supported chains are derived from ASSET_CATALOG[AssetId.LBTC].deployments.
|
|
18
|
+
*/
|
|
19
|
+
export declare const evmConfig: ChainConfig;
|
|
20
|
+
//# sourceMappingURL=evm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../../../../../src/chains/btc/actions/stake/config/evm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAcH,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,SAAS,CAAC;AAuG1D;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,EAAE,WAiDvB,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chain Configuration Registry
|
|
3
|
+
*
|
|
4
|
+
* Exports all chain configurations and provides registry lookup functions.
|
|
5
|
+
*
|
|
6
|
+
* BTC Stake: BTC → LBTC (yield-bearing staked BTC)
|
|
7
|
+
*
|
|
8
|
+
* @module chains/btc/actions/stake/config
|
|
9
|
+
*/
|
|
10
|
+
import type { AssetId, Chain, ChainType, Env } from '../../../../../core';
|
|
11
|
+
import type { ChainConfig } from './types';
|
|
12
|
+
export type { ChainConfig, FeeAuthConfig, FeeAuthResult, RouteDefinition, SignatureResult, StoredFeeSignature, } from './types';
|
|
13
|
+
export { evmConfig } from './evm';
|
|
14
|
+
export { solanaConfig } from './solana';
|
|
15
|
+
export { starknetConfig } from './starknet';
|
|
16
|
+
export { suiConfig } from './sui';
|
|
17
|
+
/**
|
|
18
|
+
* Registry of all chain configurations
|
|
19
|
+
*
|
|
20
|
+
* Add new chain types here to support additional destination chains.
|
|
21
|
+
* The key must match the ChainType from the chain catalog.
|
|
22
|
+
*/
|
|
23
|
+
export declare const chainConfigs: Partial<Record<ChainType, ChainConfig>>;
|
|
24
|
+
/**
|
|
25
|
+
* Get chain configuration by chain type
|
|
26
|
+
*
|
|
27
|
+
* @param chainType - The chain type from getChainType()
|
|
28
|
+
* @returns ChainConfig or undefined if not supported
|
|
29
|
+
*/
|
|
30
|
+
export declare function getChainConfig(chainType: ChainType): ChainConfig | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* Check if a chain type is supported for BTC staking
|
|
33
|
+
*
|
|
34
|
+
* @param chainType - The chain type to check
|
|
35
|
+
* @returns true if supported
|
|
36
|
+
*/
|
|
37
|
+
export declare function isChainTypeSupported(chainType: ChainType): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Check if a specific route is available
|
|
40
|
+
*
|
|
41
|
+
* @param config - Chain configuration
|
|
42
|
+
* @param sourceChain - Source chain (Bitcoin network)
|
|
43
|
+
* @param env - Environment
|
|
44
|
+
* @returns true if route is available
|
|
45
|
+
*/
|
|
46
|
+
export declare function isRouteAvailable(config: ChainConfig, sourceChain: Chain | undefined, env: Env): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Check if a destination chain is supported by a config
|
|
49
|
+
*
|
|
50
|
+
* @param config - Chain configuration
|
|
51
|
+
* @param destChain - Destination chain
|
|
52
|
+
* @returns true if destination chain is supported
|
|
53
|
+
*/
|
|
54
|
+
export declare function isDestChainSupported(config: ChainConfig, destChain: Chain): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Check if an output asset is supported by a config
|
|
57
|
+
*
|
|
58
|
+
* @param config - Chain configuration
|
|
59
|
+
* @param assetOut - Output asset
|
|
60
|
+
* @returns true if output asset is supported
|
|
61
|
+
*/
|
|
62
|
+
export declare function isAssetOutSupported(config: ChainConfig, assetOut: AssetId): boolean;
|
|
63
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/chains/btc/actions/stake/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAK1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C,YAAY,EACV,WAAW,EACX,aAAa,EACb,aAAa,EACb,eAAe,EACf,eAAe,EACf,kBAAkB,GACnB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMlC;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAKhE,CAAC;AAMF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAE5E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAElE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,KAAK,GAAG,SAAS,EAC9B,GAAG,EAAE,GAAG,GACP,OAAO,CAOT;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,KAAK,GACf,OAAO,CAET;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAET"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Solana Chain Configuration
|
|
3
|
+
*
|
|
4
|
+
* Handles Solana destination chains (mainnet and devnet).
|
|
5
|
+
* Uses Solana wallet signing via the Solana SDK module.
|
|
6
|
+
*
|
|
7
|
+
* BTC Stake: BTC → LBTC (yield-bearing staked BTC)
|
|
8
|
+
* Supported chains derived from ASSET_CATALOG.
|
|
9
|
+
*
|
|
10
|
+
* @module chains/btc/actions/stake/config/solana
|
|
11
|
+
*/
|
|
12
|
+
import type { ChainConfig } from './types';
|
|
13
|
+
/**
|
|
14
|
+
* Solana chain configuration for BTC stake
|
|
15
|
+
*
|
|
16
|
+
* Supports staking BTC to LBTC on Solana.
|
|
17
|
+
* Requires the @lombard.finance/sdk-solana module to be installed.
|
|
18
|
+
*/
|
|
19
|
+
export declare const solanaConfig: ChainConfig;
|
|
20
|
+
//# sourceMappingURL=solana.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../../../../../src/chains/btc/actions/stake/config/solana.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAkC3C;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,WAqC1B,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Starknet Chain Configuration
|
|
3
|
+
*
|
|
4
|
+
* Handles Starknet destination chains (mainnet and Sepolia).
|
|
5
|
+
* Uses Starknet wallet signing via the Starknet SDK module.
|
|
6
|
+
* Note: Starknet requires address padding and returns a public key.
|
|
7
|
+
*
|
|
8
|
+
* BTC Stake: BTC → LBTC (yield-bearing staked BTC)
|
|
9
|
+
* Supported chains derived from ASSET_CATALOG.
|
|
10
|
+
*
|
|
11
|
+
* @module chains/btc/actions/stake/config/starknet
|
|
12
|
+
*/
|
|
13
|
+
import type { ChainConfig } from './types';
|
|
14
|
+
/**
|
|
15
|
+
* Starknet chain configuration for BTC stake
|
|
16
|
+
*
|
|
17
|
+
* Supports staking BTC to LBTC on Starknet.
|
|
18
|
+
* Requires the @lombard.finance/sdk-starknet module to be installed.
|
|
19
|
+
*/
|
|
20
|
+
export declare const starknetConfig: ChainConfig;
|
|
21
|
+
//# sourceMappingURL=starknet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"starknet.d.ts","sourceRoot":"","sources":["../../../../../../src/chains/btc/actions/stake/config/starknet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,WAsC5B,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sui Chain Configuration
|
|
3
|
+
*
|
|
4
|
+
* Handles Sui destination chains (mainnet and testnet).
|
|
5
|
+
* Uses Sui wallet signing via the Sui SDK module.
|
|
6
|
+
*
|
|
7
|
+
* BTC Stake: BTC → LBTC (yield-bearing staked BTC)
|
|
8
|
+
* Supported chains derived from ASSET_CATALOG.
|
|
9
|
+
*
|
|
10
|
+
* @module chains/btc/actions/stake/config/sui
|
|
11
|
+
*/
|
|
12
|
+
import type { ChainConfig } from './types';
|
|
13
|
+
/**
|
|
14
|
+
* Sui chain configuration for BTC stake
|
|
15
|
+
*
|
|
16
|
+
* Supports staking BTC to LBTC on Sui.
|
|
17
|
+
* Requires the @lombard.finance/sdk-sui module to be installed.
|
|
18
|
+
*/
|
|
19
|
+
export declare const suiConfig: ChainConfig;
|
|
20
|
+
//# sourceMappingURL=sui.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sui.d.ts","sourceRoot":"","sources":["../../../../../../src/chains/btc/actions/stake/config/sui.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,WAmCvB,CAAC"}
|