@lombard.finance/sdk 3.7.4 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +52 -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 +745 -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 -14368
- 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 +27 -11
- 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
- package/src/api-functions/generateDepositBtcAddress/generateDepositBtcAddress.stories.tsx +0 -70
- 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/getDepositBtcAddress/getDepositBtcAddress.stories.tsx +0 -58
- package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.test.ts +0 -265
- package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.ts +0 -166
- package/src/api-functions/getDepositBtcAddress/getDepositBtcAddresses.stories.tsx +0 -57
- 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 -50
- 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 -47
- package/src/api-functions/getLBTCExchangeRate/get-exchange-ratio.ts +0 -59
- package/src/api-functions/getLBTCExchangeRate/getLBTCExchangeRate.stories.tsx +0 -54
- package/src/api-functions/getLBTCExchangeRate/getLBTCExchangeRate.ts +0 -72
- package/src/api-functions/getLBTCExchangeRate/index.ts +0 -2
- package/src/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.stories.tsx +0 -58
- package/src/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.ts +0 -98
- package/src/api-functions/getNetworkFeeSignature/index.ts +0 -1
- package/src/api-functions/getPointsByAddress/getPointsByAddress.stories.tsx +0 -50
- 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 -50
- 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 -69
- 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 -61
- package/src/api-functions/storeNetworkFeeSignature/index.ts +0 -1
- package/src/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.stories.tsx +0 -56
- package/src/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.ts +0 -65
- package/src/api-functions/storeStakeAndBakeSignature/index.ts +0 -1
- package/src/api-functions/storeStakeAndBakeSignature/storeStakeAndBakeSignature.stories.tsx +0 -56
- 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 -89
- package/src/bridge/lib/bridge.ts +0 -115
- package/src/bridge/lib/ccip-bridge.stories.tsx +0 -90
- 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 -89
- package/src/bridge/lib/oft-bridge.ts +0 -217
- package/src/clients/evm-signer-adapter.ts +0 -313
- package/src/clients/public-client.ts +0 -53
- package/src/clients/rpc-url-config.ts +0 -57
- 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 -67
- package/src/common/chains.ts +0 -436
- package/src/common/constants.ts +0 -1
- package/src/common/contract-info.ts +0 -9
- package/src/common/feature-config.ts +0 -18
- package/src/common/parameters.ts +0 -89
- package/src/contract-functions/approveLBTC/approveLBTC.stories.tsx +0 -78
- 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 -81
- 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 -82
- 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 -61
- 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 -60
- 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 -50
- 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 -55
- 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 -56
- 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 -63
- 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 -93
- package/src/contract-functions/signNetworkFee/signNetworkFee.ts +0 -106
- package/src/contract-functions/signStakeAndBake/__tests__/signStakeAndBake.test.ts +0 -887
- 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 -201
- package/src/contract-functions/signStakeAndBake/signStakeAndBake.ts +0 -159
- 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 -91
- package/src/contract-functions/unstakeLBTC/unstakeLBTC.ts +0 -396
- 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 -501
- package/src/defi/defi-registry.stories.tsx +0 -526
- package/src/defi/defi-registry.ts +0 -179
- package/src/defi/index.ts +0 -5
- package/src/index.ts +0 -84
- 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 -56
- package/src/metrics/get-lbtc-stats.ts +0 -59
- package/src/metrics/get-positions-summary.stories.tsx +0 -57
- package/src/metrics/get-positions-summary.ts +0 -132
- package/src/stories/arg-types.ts +0 -37
- package/src/stories/components/Button/Button.css +0 -10
- package/src/stories/components/Button/Button.tsx +0 -50
- package/src/stories/components/Button/index.ts +0 -1
- package/src/stories/components/CodeBlock/CodeBlock.tsx +0 -26
- 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 -247
- package/src/stories/components/ConnectButton/index.ts +0 -1
- package/src/stories/components/Spinner/Spinner.tsx +0 -27
- package/src/stories/components/Spinner/index.ts +0 -1
- 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 -91
- package/src/stories/components/error-block.tsx +0 -21
- package/src/stories/constants.ts +0 -3
- package/src/stories/hooks/useConnection.ts +0 -62
- package/src/stories/hooks/useQuery.ts +0 -56
- 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 -235
- package/src/tokens/denomination-utils.stories.tsx +0 -175
- package/src/tokens/getLbtcContractAddresses.stories.tsx +0 -157
- package/src/tokens/getTokenByAddress.stories.tsx +0 -171
- package/src/tokens/getTokenContractInfo.stories.tsx +0 -147
- package/src/tokens/getTokenInfo.stories.tsx +0 -132
- package/src/tokens/isUpgradedContract.stories.tsx +0 -123
- package/src/tokens/lbtc-addresses.ts +0 -18
- package/src/tokens/token-addresses.ts +0 -428
- package/src/tokens/tokens.ts +0 -235
- package/src/tokens/types.ts +0 -80
- package/src/utils/array.ts +0 -31
- package/src/utils/block.ts +0 -23
- package/src/utils/env.ts +0 -20
- package/src/utils/err.ts +0 -83
- package/src/utils/gas.ts +0 -36
- package/src/utils/hex.ts +0 -9
- package/src/utils/numbers.ts +0 -8
- package/src/utils/pagination.ts +0 -70
- package/src/utils/satoshi.ts +0 -25
- 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 -203
- package/src/vaults/lib/metrics/get-vault-apy.stories.tsx +0 -57
- package/src/vaults/lib/metrics/get-vault-apy.ts +0 -176
- package/src/vaults/lib/metrics/get-vault-points.stories.tsx +0 -59
- package/src/vaults/lib/metrics/get-vault-points.ts +0 -74
- package/src/vaults/lib/metrics/get-vault-tvl.stories.tsx +0 -57
- package/src/vaults/lib/metrics/get-vault-tvl.ts +0 -121
- package/src/vaults/lib/ops/cancel-withdraw.stories.tsx +0 -79
- package/src/vaults/lib/ops/deposit.stories.tsx +0 -81
- package/src/vaults/lib/ops/deposit.ts +0 -152
- package/src/vaults/lib/ops/get-vault-deposits.stories.tsx +0 -64
- package/src/vaults/lib/ops/get-vault-deposits.ts +0 -209
- package/src/vaults/lib/ops/get-vault-withdrawals.stories.tsx +0 -66
- package/src/vaults/lib/ops/get-vault-withdrawals.ts +0 -349
- package/src/vaults/lib/ops/withdraw.stories.tsx +0 -81
- package/src/vaults/lib/ops/withdraw.ts +0 -225
- package/src/vite-env.d.ts +0 -1
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { Abi } from 'viem';
|
|
2
|
-
|
|
3
|
-
import { makePublicClient } from '../../clients/public-client';
|
|
4
|
-
import { makeWalletClient } from '../../clients/wallet-client';
|
|
5
|
-
import { ChainId } from '../../common/chains';
|
|
6
|
-
import {
|
|
7
|
-
ISignStakeAndBakeParams,
|
|
8
|
-
ISignStakeAndBakeResult,
|
|
9
|
-
} from './signStakeAndBake';
|
|
10
|
-
import { buildTypedData, serializeTypedData } from './typed-data-builder';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Handle approve flow (on-chain transaction).
|
|
14
|
-
* Checks allowance and submits approve transaction if needed.
|
|
15
|
-
*/
|
|
16
|
-
export async function handleApproveFlow(params: {
|
|
17
|
-
account: `0x${string}`;
|
|
18
|
-
chainId: ChainId;
|
|
19
|
-
provider: ISignStakeAndBakeParams['provider'];
|
|
20
|
-
rpcUrl: ISignStakeAndBakeParams['rpcUrl'];
|
|
21
|
-
tokenAddress: `0x${string}`;
|
|
22
|
-
tokenAbi: Abi;
|
|
23
|
-
spenderAddress: `0x${string}`;
|
|
24
|
-
typedData: ReturnType<typeof buildTypedData>;
|
|
25
|
-
requiredAmount: bigint;
|
|
26
|
-
}): Promise<ISignStakeAndBakeResult> {
|
|
27
|
-
const {
|
|
28
|
-
account,
|
|
29
|
-
chainId,
|
|
30
|
-
provider,
|
|
31
|
-
rpcUrl,
|
|
32
|
-
tokenAddress,
|
|
33
|
-
tokenAbi,
|
|
34
|
-
spenderAddress,
|
|
35
|
-
typedData,
|
|
36
|
-
requiredAmount,
|
|
37
|
-
} = params;
|
|
38
|
-
|
|
39
|
-
const publicClient = makePublicClient({ chainId, rpcUrl });
|
|
40
|
-
const walletClient = makeWalletClient({ chainId, provider });
|
|
41
|
-
|
|
42
|
-
// Check current allowance
|
|
43
|
-
const currentAllowance = (await publicClient.readContract({
|
|
44
|
-
address: tokenAddress,
|
|
45
|
-
abi: tokenAbi,
|
|
46
|
-
functionName: 'allowance',
|
|
47
|
-
args: [account, spenderAddress],
|
|
48
|
-
})) as bigint;
|
|
49
|
-
|
|
50
|
-
let approvalTxHash: string | undefined;
|
|
51
|
-
|
|
52
|
-
// Submit approve transaction if allowance is insufficient
|
|
53
|
-
if (currentAllowance < requiredAmount) {
|
|
54
|
-
const hash = await walletClient.writeContract({
|
|
55
|
-
address: tokenAddress,
|
|
56
|
-
abi: tokenAbi,
|
|
57
|
-
functionName: 'approve',
|
|
58
|
-
args: [spenderAddress, requiredAmount],
|
|
59
|
-
account,
|
|
60
|
-
chain: null,
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
// Wait for transaction confirmation
|
|
64
|
-
const receipt = await publicClient.waitForTransactionReceipt({ hash });
|
|
65
|
-
|
|
66
|
-
if (receipt.status !== 'success') {
|
|
67
|
-
throw new Error(
|
|
68
|
-
`Approve transaction failed: ${hash}. Please try again or contact support.`,
|
|
69
|
-
);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
approvalTxHash = hash;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
return {
|
|
76
|
-
mode: 'approve',
|
|
77
|
-
signature: '',
|
|
78
|
-
typedData: serializeTypedData(typedData),
|
|
79
|
-
approvalTxHash,
|
|
80
|
-
};
|
|
81
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { makeWalletClient } from '../../clients/wallet-client';
|
|
2
|
-
import { ChainId } from '../../common/chains';
|
|
3
|
-
import {
|
|
4
|
-
ISignStakeAndBakeParams,
|
|
5
|
-
ISignStakeAndBakeResult,
|
|
6
|
-
} from './signStakeAndBake';
|
|
7
|
-
import { buildTypedData, serializeTypedData } from './typed-data-builder';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Handle permit flow (off-chain signature).
|
|
11
|
-
* Signs EIP-2612 typed data for gasless approval.
|
|
12
|
-
*/
|
|
13
|
-
export async function handlePermitFlow(params: {
|
|
14
|
-
chainId: ChainId;
|
|
15
|
-
provider: ISignStakeAndBakeParams['provider'];
|
|
16
|
-
typedData: ReturnType<typeof buildTypedData>;
|
|
17
|
-
}): Promise<ISignStakeAndBakeResult> {
|
|
18
|
-
const { chainId, provider, typedData } = params;
|
|
19
|
-
|
|
20
|
-
const walletClient = makeWalletClient({ chainId, provider });
|
|
21
|
-
const signature = await walletClient.signTypedData(typedData);
|
|
22
|
-
|
|
23
|
-
return {
|
|
24
|
-
mode: 'permit',
|
|
25
|
-
signature,
|
|
26
|
-
typedData: serializeTypedData(typedData),
|
|
27
|
-
};
|
|
28
|
-
}
|
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
import { Env } from '@lombard.finance/sdk-common';
|
|
2
|
-
import type { Meta, StoryObj } from '@storybook/react';
|
|
3
|
-
import { useState } from 'react';
|
|
4
|
-
import { DefiProtocol } from '../../defi/defi-registry';
|
|
5
|
-
import { Button } from '../../stories/components/Button';
|
|
6
|
-
import { CodeBlock } from '../../stories/components/CodeBlock';
|
|
7
|
-
import { ConnectButton } from '../../stories/components/ConnectButton';
|
|
8
|
-
import {
|
|
9
|
-
functionType,
|
|
10
|
-
wagmiDecorator,
|
|
11
|
-
} from '../../stories/components/decorators';
|
|
12
|
-
import {
|
|
13
|
-
canPerformAction,
|
|
14
|
-
useConnection,
|
|
15
|
-
} from '../../stories/hooks/useConnection';
|
|
16
|
-
import useQuery from '../../stories/hooks/useQuery';
|
|
17
|
-
import { Token } from '../../tokens/token-addresses';
|
|
18
|
-
import { ISignStakeAndBakeParams, signStakeAndBake } from './signStakeAndBake';
|
|
19
|
-
|
|
20
|
-
const meta = {
|
|
21
|
-
title: 'write/signStakeAndBake',
|
|
22
|
-
component: StoryView,
|
|
23
|
-
tags: ['autodocs'],
|
|
24
|
-
decorators: [wagmiDecorator, functionType('write')],
|
|
25
|
-
argTypes: {
|
|
26
|
-
token: {
|
|
27
|
-
options: ['BTC', Token.LBTC, Token.BTCb],
|
|
28
|
-
control: { type: 'select' },
|
|
29
|
-
description:
|
|
30
|
-
'Token to stake (BTC converts to LBTC, BTCb uses approve mode)',
|
|
31
|
-
},
|
|
32
|
-
vault: {
|
|
33
|
-
options: Object.values(DefiProtocol),
|
|
34
|
-
control: { type: 'select' },
|
|
35
|
-
description: 'Vault to stake into (Veda: LBTC/BTC, Silo: BTCb)',
|
|
36
|
-
},
|
|
37
|
-
env: {
|
|
38
|
-
options: [Env.prod, Env.testnet, Env.stage, Env.dev],
|
|
39
|
-
control: { type: 'select' },
|
|
40
|
-
description: 'Environment (affects contract addresses)',
|
|
41
|
-
},
|
|
42
|
-
value: {
|
|
43
|
-
control: { type: 'text' },
|
|
44
|
-
description: 'Amount to stake (in token units)',
|
|
45
|
-
},
|
|
46
|
-
},
|
|
47
|
-
} satisfies Meta<typeof StoryView>;
|
|
48
|
-
|
|
49
|
-
export default meta;
|
|
50
|
-
|
|
51
|
-
type Story = StoryObj<typeof meta>;
|
|
52
|
-
|
|
53
|
-
export const PermitFlow_LBTC_Ethereum: Story = {
|
|
54
|
-
name: 'Permit Flow: LBTC on Ethereum',
|
|
55
|
-
args: {
|
|
56
|
-
value: '10000',
|
|
57
|
-
token: Token.LBTC,
|
|
58
|
-
vault: DefiProtocol.Veda,
|
|
59
|
-
env: Env.prod,
|
|
60
|
-
},
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
export const PermitFlow_BTC_Ethereum: Story = {
|
|
64
|
-
name: 'Permit Flow: BTC to LBTC on Ethereum',
|
|
65
|
-
args: {
|
|
66
|
-
value: '10000',
|
|
67
|
-
token: 'BTC',
|
|
68
|
-
vault: DefiProtocol.Veda,
|
|
69
|
-
env: Env.prod,
|
|
70
|
-
},
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
export const ApproveFlow_BTCb_Fuji: Story = {
|
|
74
|
-
name: 'Approve Flow: BTCb on Avalanche Fuji',
|
|
75
|
-
args: {
|
|
76
|
-
value: '5000',
|
|
77
|
-
token: Token.BTCb,
|
|
78
|
-
vault: DefiProtocol.Silo,
|
|
79
|
-
env: Env.testnet,
|
|
80
|
-
},
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
type SignStakeAndBakeParams = Omit<
|
|
84
|
-
ISignStakeAndBakeParams,
|
|
85
|
-
'account' | 'chainId' | 'provider'
|
|
86
|
-
> & {
|
|
87
|
-
vault?: DefiProtocol;
|
|
88
|
-
env?: Env;
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
export function StoryView(props: SignStakeAndBakeParams) {
|
|
92
|
-
const connection = useConnection();
|
|
93
|
-
const [showRawData, setShowRawData] = useState(false);
|
|
94
|
-
|
|
95
|
-
const request = async () => {
|
|
96
|
-
if (!canPerformAction(connection)) {
|
|
97
|
-
alert('Not connected.');
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
return signStakeAndBake({
|
|
102
|
-
value: props.value,
|
|
103
|
-
expiry: props.expiry,
|
|
104
|
-
token: props.token,
|
|
105
|
-
vaultKey: props.vault || DefiProtocol.Veda,
|
|
106
|
-
account: connection.account.address,
|
|
107
|
-
chainId: connection.account.chainId,
|
|
108
|
-
provider: connection.provider,
|
|
109
|
-
env: props.env || Env.stage,
|
|
110
|
-
});
|
|
111
|
-
};
|
|
112
|
-
|
|
113
|
-
const { data, error, isLoading, refetch } = useQuery(request, [], false);
|
|
114
|
-
|
|
115
|
-
return (
|
|
116
|
-
<>
|
|
117
|
-
<p>
|
|
118
|
-
Generates a signature that allows Lombard to claim specified amount of
|
|
119
|
-
BTC and deposit the equivalent LBTC amount (calculated using current
|
|
120
|
-
ratio) automatically to the DeFi vault.
|
|
121
|
-
</p>
|
|
122
|
-
|
|
123
|
-
<p>
|
|
124
|
-
<strong>Note:</strong> Pass the original BTC amount directly. The
|
|
125
|
-
function automatically calculates the correct LBTC amount using the
|
|
126
|
-
current exchange ratio.
|
|
127
|
-
</p>
|
|
128
|
-
|
|
129
|
-
{props.token === Token.BTCb && (
|
|
130
|
-
<p className="text-danger">
|
|
131
|
-
<strong>Important:</strong> BTCb uses on-chain approve. You'll need to
|
|
132
|
-
sign a transaction and pay gas fees. Make sure you're on Avalanche
|
|
133
|
-
Fuji testnet.
|
|
134
|
-
</p>
|
|
135
|
-
)}
|
|
136
|
-
|
|
137
|
-
<div className="mb-4">
|
|
138
|
-
<ConnectButton />
|
|
139
|
-
</div>
|
|
140
|
-
|
|
141
|
-
<Button
|
|
142
|
-
onClick={refetch}
|
|
143
|
-
disabled={isLoading || !connection.account.address}
|
|
144
|
-
isLoading={isLoading}
|
|
145
|
-
actionName={signStakeAndBake.name}
|
|
146
|
-
/>
|
|
147
|
-
|
|
148
|
-
{!showRawData && data && (
|
|
149
|
-
<div className="mt-4">
|
|
150
|
-
<p>
|
|
151
|
-
<strong>Mode:</strong> {data.mode}
|
|
152
|
-
</p>
|
|
153
|
-
{data.mode === 'permit' && (
|
|
154
|
-
<p>
|
|
155
|
-
<strong>Signature:</strong> <code>{data.signature}</code>
|
|
156
|
-
</p>
|
|
157
|
-
)}
|
|
158
|
-
{data.mode === 'approve' && data.approvalTxHash && (
|
|
159
|
-
<p>
|
|
160
|
-
<strong>Transaction Hash:</strong>{' '}
|
|
161
|
-
<code>{data.approvalTxHash}</code>
|
|
162
|
-
</p>
|
|
163
|
-
)}
|
|
164
|
-
<button
|
|
165
|
-
type="button"
|
|
166
|
-
className="btn btn-sm btn-outline-secondary mt-2"
|
|
167
|
-
onClick={() => {
|
|
168
|
-
setShowRawData(true);
|
|
169
|
-
}}
|
|
170
|
-
>
|
|
171
|
-
Show full response
|
|
172
|
-
</button>
|
|
173
|
-
</div>
|
|
174
|
-
)}
|
|
175
|
-
|
|
176
|
-
{showRawData && data && (
|
|
177
|
-
<>
|
|
178
|
-
<button
|
|
179
|
-
type="button"
|
|
180
|
-
className="btn btn-sm btn-outline-secondary mt-3 mb-2"
|
|
181
|
-
onClick={() => {
|
|
182
|
-
setShowRawData(false);
|
|
183
|
-
}}
|
|
184
|
-
>
|
|
185
|
-
Hide full response
|
|
186
|
-
</button>
|
|
187
|
-
<CodeBlock
|
|
188
|
-
text={{
|
|
189
|
-
mode: data.mode,
|
|
190
|
-
signature: data.signature,
|
|
191
|
-
approvalTxHash: data.approvalTxHash,
|
|
192
|
-
typedData: data.typedData ? JSON.parse(data.typedData) : '',
|
|
193
|
-
}}
|
|
194
|
-
/>
|
|
195
|
-
</>
|
|
196
|
-
)}
|
|
197
|
-
|
|
198
|
-
{error && <CodeBlock text={error} />}
|
|
199
|
-
</>
|
|
200
|
-
);
|
|
201
|
-
}
|
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
import { DEFAULT_ENV } from '@lombard.finance/sdk-common';
|
|
2
|
-
import BigNumber from 'bignumber.js';
|
|
3
|
-
|
|
4
|
-
import { CommonWriteParameters } from '../../common/parameters';
|
|
5
|
-
import {
|
|
6
|
-
ApprovalMode,
|
|
7
|
-
DefiProtocol,
|
|
8
|
-
StakeAndBakeToken,
|
|
9
|
-
} from '../../defi/defi-registry';
|
|
10
|
-
import { DAY, now, toUnix } from '../../utils/time';
|
|
11
|
-
import { getPermitNonce } from '../getPermitNonce/getPermitNonce';
|
|
12
|
-
import { handleApproveFlow } from './handleApprove';
|
|
13
|
-
import { handlePermitFlow } from './handlePermit';
|
|
14
|
-
import { buildTypedData } from './typed-data-builder';
|
|
15
|
-
import {
|
|
16
|
-
calculateStakeAndBakeLBTCAmount,
|
|
17
|
-
getStakeAndBakeTokenContract,
|
|
18
|
-
} from './utils';
|
|
19
|
-
import { getStakeAndBakeConfig } from './validation';
|
|
20
|
-
|
|
21
|
-
export interface ISignStakeAndBakeParams extends CommonWriteParameters {
|
|
22
|
-
/**
|
|
23
|
-
* The approved BTC value that will be automatically claimed and deposited
|
|
24
|
-
* to the chosen vault. The function will internally calculate the correct LBTC amount using the current ratio.
|
|
25
|
-
*/
|
|
26
|
-
value: BigNumber.Value;
|
|
27
|
-
/**
|
|
28
|
-
* The expiration UNIX time of the signature.
|
|
29
|
-
* Defaults to 24 hours from the time of signing.
|
|
30
|
-
*/
|
|
31
|
-
expiry?: number;
|
|
32
|
-
/**
|
|
33
|
-
* The chosen DeFi vault to which the funds will be deposited.
|
|
34
|
-
*/
|
|
35
|
-
vaultKey?: DefiProtocol;
|
|
36
|
-
/**
|
|
37
|
-
* The token for which the signature is generated.
|
|
38
|
-
* - Defaults to **BTC**: the amount will be converted to the corresponding
|
|
39
|
-
* **LBTC** value based on the current ratio.
|
|
40
|
-
* - If **LBTC** is chosen: no conversion is performed.
|
|
41
|
-
*/
|
|
42
|
-
token?: StakeAndBakeToken;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export interface ISignStakeAndBakeResult {
|
|
46
|
-
/**
|
|
47
|
-
* The approval mode used for this signature.
|
|
48
|
-
* - `permit`: Off-chain signature (EIP-2612), can be used directly by backend
|
|
49
|
-
* - `approve`: On-chain approval transaction was submitted
|
|
50
|
-
*/
|
|
51
|
-
mode: ApprovalMode;
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* The signature.
|
|
55
|
-
* - For permit mode: Contains the EIP-2612 signature
|
|
56
|
-
* - For approve mode: Empty string (approval was done on-chain)
|
|
57
|
-
*/
|
|
58
|
-
signature: string;
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* The typed data used to generate the signature.
|
|
62
|
-
* Contains the full EIP-712 structure for both permit and approve modes.
|
|
63
|
-
*/
|
|
64
|
-
typedData: string;
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Transaction hash for approve mode (when allowance was set).
|
|
68
|
-
* Only present when mode is 'approve' and a transaction was submitted.
|
|
69
|
-
*/
|
|
70
|
-
approvalTxHash?: string;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Signs the "stake and bake" signature that allows Lombard to claim specified
|
|
75
|
-
* amount of BTC (converted to LBTC using current ratio) and deposit that amount directly to the specified DeFi
|
|
76
|
-
* vault.
|
|
77
|
-
*
|
|
78
|
-
* In order for the "stake and bake" process to work a user has to store the
|
|
79
|
-
* signature to the Lombard's system, see: `storeStakeAndBakeSignature`
|
|
80
|
-
*
|
|
81
|
-
* @param {ISignStakeAndBakeParams} parameters - The parameters.
|
|
82
|
-
* @param {BigNumber.Value} parameters.value - The amount of BTC that will be converted to LBTC using current ratio and deposited to the DeFi vault.
|
|
83
|
-
* @param {number} parameters.expiry = The optional expiration UNIX time of the signature.
|
|
84
|
-
* @param {DefiProtocol} parameters.vaultKey - The optional DeFi vault identifier.
|
|
85
|
-
* @param {Address} parameters.account - The EVM account address.
|
|
86
|
-
* @param {ChainId} parameters.chainId - The chain id.
|
|
87
|
-
* @param {EIP1193Provider} parameters.provider - The EIP1193 provider.
|
|
88
|
-
* @param {string} parameters.rpcUrl - The optional rpc url.
|
|
89
|
-
*
|
|
90
|
-
* @returns {Promise<ISignStakeAndBakeResult>} - The signature and typed data.
|
|
91
|
-
*/
|
|
92
|
-
export async function signStakeAndBake({
|
|
93
|
-
account,
|
|
94
|
-
expiry = toUnix(now() + DAY),
|
|
95
|
-
value,
|
|
96
|
-
vaultKey = DefiProtocol.Veda,
|
|
97
|
-
token = 'BTC',
|
|
98
|
-
chainId,
|
|
99
|
-
provider,
|
|
100
|
-
rpcUrl,
|
|
101
|
-
env = DEFAULT_ENV,
|
|
102
|
-
}: ISignStakeAndBakeParams): Promise<ISignStakeAndBakeResult> {
|
|
103
|
-
const strategy = getStakeAndBakeConfig(vaultKey, token, chainId, env);
|
|
104
|
-
|
|
105
|
-
const spenderAddress = strategy.spenderContract.address;
|
|
106
|
-
|
|
107
|
-
// Calculate permit value (with conversion if needed)
|
|
108
|
-
const permitValue =
|
|
109
|
-
strategy.amountStrategy === 'btcToLbtc'
|
|
110
|
-
? await calculateStakeAndBakeLBTCAmount(value, env)
|
|
111
|
-
: new BigNumber(value);
|
|
112
|
-
|
|
113
|
-
// Get token contract (always use Token address for permits/approves, not adapter)
|
|
114
|
-
const tokenContract = await getStakeAndBakeTokenContract(token, chainId, env);
|
|
115
|
-
const tokenAddress = tokenContract.address;
|
|
116
|
-
const tokenAbi = tokenContract.abi;
|
|
117
|
-
|
|
118
|
-
// Calculate deadline based on expiry behavior
|
|
119
|
-
const deadline =
|
|
120
|
-
strategy.approval.deadlineStrategy === 'zero' ? 0n : BigInt(expiry);
|
|
121
|
-
|
|
122
|
-
// Get nonce if required
|
|
123
|
-
const nonce =
|
|
124
|
-
strategy.approval.nonceStrategy === 'chain'
|
|
125
|
-
? BigInt(await getPermitNonce({ owner: account, chainId, rpcUrl, env }))
|
|
126
|
-
: 0n;
|
|
127
|
-
|
|
128
|
-
// Build typed data using config
|
|
129
|
-
const typedData = buildTypedData({
|
|
130
|
-
mode: strategy.approval.mode,
|
|
131
|
-
account,
|
|
132
|
-
chainId,
|
|
133
|
-
verifyingContract: tokenAddress,
|
|
134
|
-
domainName: strategy.approval.domainName,
|
|
135
|
-
domainVersion: strategy.approval.domainVersion,
|
|
136
|
-
spender: spenderAddress,
|
|
137
|
-
value: BigInt(permitValue.toFixed(0, BigNumber.ROUND_DOWN)),
|
|
138
|
-
nonce,
|
|
139
|
-
deadline,
|
|
140
|
-
});
|
|
141
|
-
|
|
142
|
-
// Delegate to appropriate handler based on mode
|
|
143
|
-
if (strategy.approval.mode === 'approve') {
|
|
144
|
-
return handleApproveFlow({
|
|
145
|
-
account,
|
|
146
|
-
chainId,
|
|
147
|
-
provider,
|
|
148
|
-
rpcUrl,
|
|
149
|
-
tokenAddress,
|
|
150
|
-
tokenAbi,
|
|
151
|
-
spenderAddress,
|
|
152
|
-
typedData,
|
|
153
|
-
requiredAmount: BigInt(permitValue.toFixed(0, BigNumber.ROUND_DOWN)),
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
// Permit mode
|
|
158
|
-
return handlePermitFlow({ chainId, provider, typedData });
|
|
159
|
-
}
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Typed data builders for EIP-712 signatures.
|
|
3
|
-
* Centralizes EIP-712 structure creation for stake and bake operations.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import type { Address } from 'viem';
|
|
7
|
-
|
|
8
|
-
import type { ChainId } from '../../common/chains';
|
|
9
|
-
import type { ApprovalMode } from '../../defi/defi-registry';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* EIP-712 domain type definition.
|
|
13
|
-
* Standard across all EIP-712 signatures.
|
|
14
|
-
*/
|
|
15
|
-
export const EIP712_DOMAIN_TYPES = [
|
|
16
|
-
{ name: 'name', type: 'string' },
|
|
17
|
-
{ name: 'version', type: 'string' },
|
|
18
|
-
{ name: 'chainId', type: 'uint256' },
|
|
19
|
-
{ name: 'verifyingContract', type: 'address' },
|
|
20
|
-
] as const;
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* EIP-712 Permit message type definition (EIP-2612).
|
|
24
|
-
* Used for gasless token approvals.
|
|
25
|
-
*/
|
|
26
|
-
export const PERMIT_MESSAGE_TYPES = [
|
|
27
|
-
{ name: 'owner', type: 'address' },
|
|
28
|
-
{ name: 'spender', type: 'address' },
|
|
29
|
-
{ name: 'value', type: 'uint256' },
|
|
30
|
-
{ name: 'nonce', type: 'uint256' },
|
|
31
|
-
{ name: 'deadline', type: 'uint256' },
|
|
32
|
-
] as const;
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* EIP-712 Approve message type definition.
|
|
36
|
-
* Used for traditional on-chain approvals (same structure as Permit).
|
|
37
|
-
*/
|
|
38
|
-
export const APPROVE_MESSAGE_TYPES = PERMIT_MESSAGE_TYPES;
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Parameters for building typed data.
|
|
42
|
-
*/
|
|
43
|
-
export interface TypedDataParams {
|
|
44
|
-
/** Approval mode (determines primary type) */
|
|
45
|
-
mode: ApprovalMode;
|
|
46
|
-
/** User's account address */
|
|
47
|
-
account: Address;
|
|
48
|
-
/** Chain ID */
|
|
49
|
-
chainId: ChainId;
|
|
50
|
-
/** Token contract address (verifying contract) */
|
|
51
|
-
verifyingContract: Address;
|
|
52
|
-
/** EIP-712 domain name */
|
|
53
|
-
domainName: string;
|
|
54
|
-
/** EIP-712 domain version */
|
|
55
|
-
domainVersion: string;
|
|
56
|
-
/** Spender contract address */
|
|
57
|
-
spender: Address;
|
|
58
|
-
/** Amount to approve/permit (in base units) */
|
|
59
|
-
value: bigint;
|
|
60
|
-
/** Nonce for replay protection */
|
|
61
|
-
nonce: bigint;
|
|
62
|
-
/** Deadline timestamp (or 0 for no deadline) */
|
|
63
|
-
deadline: bigint;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Builds EIP-712 typed data structure for signatures.
|
|
68
|
-
*
|
|
69
|
-
* @param params - Typed data parameters
|
|
70
|
-
* @returns EIP-712 typed data structure ready for signing
|
|
71
|
-
*
|
|
72
|
-
* @example
|
|
73
|
-
* ```typescript
|
|
74
|
-
* const typedData = buildTypedData({
|
|
75
|
-
* mode: 'permit',
|
|
76
|
-
* account: '0x...',
|
|
77
|
-
* chainId: 1,
|
|
78
|
-
* verifyingContract: '0x...',
|
|
79
|
-
* domainName: 'Lombard Staked Bitcoin',
|
|
80
|
-
* domainVersion: '1',
|
|
81
|
-
* spender: '0x...',
|
|
82
|
-
* value: 1000000n,
|
|
83
|
-
* nonce: 0n,
|
|
84
|
-
* deadline: 1234567890n,
|
|
85
|
-
* });
|
|
86
|
-
*
|
|
87
|
-
* const signature = await walletClient.signTypedData(typedData);
|
|
88
|
-
* ```
|
|
89
|
-
*/
|
|
90
|
-
export function buildTypedData(params: TypedDataParams) {
|
|
91
|
-
const primaryType = params.mode === 'permit' ? 'Permit' : 'Approve';
|
|
92
|
-
|
|
93
|
-
return {
|
|
94
|
-
account: params.account,
|
|
95
|
-
domain: {
|
|
96
|
-
name: params.domainName,
|
|
97
|
-
version: params.domainVersion,
|
|
98
|
-
chainId: BigInt(params.chainId),
|
|
99
|
-
verifyingContract: params.verifyingContract,
|
|
100
|
-
},
|
|
101
|
-
types: {
|
|
102
|
-
EIP712Domain: EIP712_DOMAIN_TYPES,
|
|
103
|
-
[primaryType]:
|
|
104
|
-
params.mode === 'permit' ? PERMIT_MESSAGE_TYPES : APPROVE_MESSAGE_TYPES,
|
|
105
|
-
},
|
|
106
|
-
primaryType,
|
|
107
|
-
message: {
|
|
108
|
-
owner: params.account,
|
|
109
|
-
spender: params.spender,
|
|
110
|
-
value: params.value,
|
|
111
|
-
nonce: params.nonce,
|
|
112
|
-
deadline: params.deadline,
|
|
113
|
-
},
|
|
114
|
-
} as const;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* Serializes typed data to JSON string.
|
|
119
|
-
* Handles BigInt serialization by converting to strings.
|
|
120
|
-
*
|
|
121
|
-
* @param typedData - Typed data structure from buildTypedData
|
|
122
|
-
* @returns JSON string representation
|
|
123
|
-
*
|
|
124
|
-
* @example
|
|
125
|
-
* ```typescript
|
|
126
|
-
* const typedData = buildTypedData(params);
|
|
127
|
-
* const json = serializeTypedData(typedData);
|
|
128
|
-
* // Store or transmit JSON string
|
|
129
|
-
* ```
|
|
130
|
-
*/
|
|
131
|
-
export function serializeTypedData(
|
|
132
|
-
typedData: ReturnType<typeof buildTypedData>,
|
|
133
|
-
): string {
|
|
134
|
-
return JSON.stringify(typedData, (_, v) =>
|
|
135
|
-
typeof v === 'bigint' ? v.toString() : v,
|
|
136
|
-
);
|
|
137
|
-
}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { Env } from '@lombard.finance/sdk-common';
|
|
2
|
-
import BigNumber from 'bignumber.js';
|
|
3
|
-
|
|
4
|
-
import { getExchangeRatio } from '../../api-functions/getLBTCExchangeRate/get-exchange-ratio';
|
|
5
|
-
import { StakeAndBakeToken } from '../../defi/defi-registry';
|
|
6
|
-
import { AddressKind, Token } from '../../tokens/token-addresses';
|
|
7
|
-
import { getTokenContractInfo } from '../../tokens/tokens';
|
|
8
|
-
import { ISignStakeAndBakeParams } from './signStakeAndBake';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Calculate the permit value, applying BTC -> LBTC conversion if needed.
|
|
12
|
-
*/
|
|
13
|
-
export const getPermitValue = async (
|
|
14
|
-
token: StakeAndBakeToken,
|
|
15
|
-
value: BigNumber.Value,
|
|
16
|
-
env: Env,
|
|
17
|
-
): Promise<BigNumber> => {
|
|
18
|
-
if (!token || token === 'BTC') {
|
|
19
|
-
return await calculateStakeAndBakeLBTCAmount(value, env);
|
|
20
|
-
}
|
|
21
|
-
return new BigNumber(value);
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Get the token contract info for the given token.
|
|
26
|
-
* For BTCb, always uses AddressKind.Token (the ERC20 token contract, not the adapter).
|
|
27
|
-
*/
|
|
28
|
-
export const getStakeAndBakeTokenContract = async (
|
|
29
|
-
token: StakeAndBakeToken,
|
|
30
|
-
chainId: ISignStakeAndBakeParams['chainId'],
|
|
31
|
-
env: Env,
|
|
32
|
-
): Promise<Awaited<ReturnType<typeof getTokenContractInfo>>> => {
|
|
33
|
-
if (!token || token === 'BTC' || token === Token.LBTC) {
|
|
34
|
-
return await getTokenContractInfo(Token.LBTC, chainId, env);
|
|
35
|
-
}
|
|
36
|
-
// For BTCb, use AddressKind.Token (ERC20 contract for permit/approve)
|
|
37
|
-
return await getTokenContractInfo(token, chainId, env, AddressKind.Token);
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Helper function to calculate the correct LBTC amount for stake and bake
|
|
42
|
-
* based on the current BTC to LBTC ratio.
|
|
43
|
-
*
|
|
44
|
-
* @param btcAmount - The original BTC amount entered by the user
|
|
45
|
-
* @param env - The environment for fetching the exchange ratio
|
|
46
|
-
* @returns The calculated LBTC amount that should be used in the permit signature
|
|
47
|
-
*/
|
|
48
|
-
export async function calculateStakeAndBakeLBTCAmount(
|
|
49
|
-
btcAmount: BigNumber.Value,
|
|
50
|
-
env?: Env,
|
|
51
|
-
): Promise<BigNumber> {
|
|
52
|
-
try {
|
|
53
|
-
const ratios = await getExchangeRatio({ env });
|
|
54
|
-
const btcTokenRatio = ratios.LBTC?.BTCTokenRatio || new BigNumber(1);
|
|
55
|
-
const lbtcAmount = new BigNumber(btcAmount).dividedBy(btcTokenRatio);
|
|
56
|
-
|
|
57
|
-
return lbtcAmount;
|
|
58
|
-
} catch {
|
|
59
|
-
throw new Error('Failed to get exchange ratio for stake and bake');
|
|
60
|
-
}
|
|
61
|
-
}
|