@lombard.finance/sdk 4.0.0 → 4.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/bridge/lib/ccip-config.d.ts.map +1 -1
- package/dist/bridge/lib/config.d.ts +3 -3
- package/dist/bridge/lib/config.d.ts.map +1 -1
- package/dist/common/chains.d.ts +2 -2
- package/dist/common/chains.d.ts.map +1 -1
- package/dist/common/feature-config.d.ts.map +1 -1
- package/dist/contract-functions/getBasculeDepositStatus/getBasculeDepositStatus.d.ts.map +1 -1
- package/dist/index2.cjs +6 -6
- package/dist/index2.js +792 -759
- package/dist/vaults/lib/config.d.ts +1 -1
- package/package.json +7 -8
- package/src/__tests__/AssetNamespace.spec.ts +0 -234
- package/src/__tests__/helpers/createTestConfig.ts +0 -90
- package/src/__tests__/integration/automint-fee.integration.test.ts +0 -74
- package/src/__tests__/integration/btc-deposit.integration.test.ts +0 -109
- package/src/__tests__/integration/btc-stake-and-deploy.integration.test.ts +0 -96
- package/src/__tests__/integration/btc-stake.integration.test.ts +0 -466
- package/src/__tests__/integration/evm-actions.integration.test.ts +0 -932
- package/src/__tests__/integration/evm-deploy.integration.test.ts +0 -122
- package/src/__tests__/integration/evm-redeem.integration.test.ts +0 -157
- package/src/__tests__/integration/faq-patterns.integration.test.ts +0 -465
- package/src/__tests__/integration/getLBTCMintingFee.integration.test.ts +0 -195
- package/src/__tests__/real-wallet/btc/btc-stake.real.test.ts +0 -70
- package/src/__tests__/real-wallet/evm/evm-stake.real.test.ts +0 -47
- package/src/__tests__/real-wallet/evm/evm-unstake.real.test.ts +0 -49
- package/src/__tests__/real-wallet/non-evm/solana-unstake.real.test.ts +0 -19
- package/src/__tests__/real-wallet/non-evm/starknet-unstake.real.test.ts +0 -19
- package/src/__tests__/real-wallet/non-evm/sui-unstake.real.test.ts +0 -19
- package/src/__tests__/services/ApiService.test.ts +0 -62
- package/src/__tests__/services/BtcService.test.ts +0 -30
- package/src/__tests__/services/EvmService.test.ts +0 -39
- package/src/__tests__/setup.ts +0 -16
- package/src/__tests__/test-utils/eip1193-adapter.ts +0 -48
- package/src/__tests__/test-utils/evm-wallet.ts +0 -38
- package/src/__tests__/test-utils/solana-wallet.ts +0 -22
- package/src/__tests__/test-utils/starknet-wallet.ts +0 -9
- package/src/__tests__/test-utils/sui-wallet.ts +0 -14
- package/src/__tests__/test-utils/test-constraints.ts +0 -110
- package/src/__tests__/unit/btc/BtcDeposit.test.ts +0 -253
- package/src/__tests__/unit/btc/BtcDepositAndDeploy.test.ts +0 -174
- package/src/__tests__/unit/btc/BtcDepositConfig.test.ts +0 -143
- package/src/__tests__/unit/btc/BtcDepositStatusTransition.test.ts +0 -221
- package/src/__tests__/unit/btc/BtcStakeAndDeploy.test.ts +0 -194
- package/src/__tests__/unit/btc/ExistingSignatureHandling.test.ts +0 -301
- package/src/__tests__/unit/btc/StakeAndBakeRatioConversion.test.ts +0 -200
- package/src/__tests__/unit/btc/StakeAndBakeSignatureRestore.test.ts +0 -216
- package/src/__tests__/unit/btc/TokenParameterConsistency.test.ts +0 -184
- package/src/__tests__/unit/btc/btc-deposit-token.test.ts +0 -191
- package/src/__tests__/unit/catalog/AssetCatalog.test.ts +0 -293
- package/src/__tests__/unit/config/ChainConfig.test.ts +0 -47
- package/src/__tests__/unit/config/FeeAuthConfig.test.ts +0 -76
- package/src/__tests__/unit/contract-functions/getLBTCMintingFee.test.ts +0 -128
- package/src/__tests__/unit/core/chain-parsing.test.ts +0 -257
- package/src/__tests__/unit/defi/AvailableProtocols.test.ts +0 -100
- package/src/__tests__/unit/defi/DefiRegistry.test.ts +0 -25
- package/src/__tests__/unit/evm/EvmDeploy.test.ts +0 -224
- package/src/__tests__/unit/evm/EvmRedeem.test.ts +0 -207
- package/src/__tests__/unit/evm/EvmRedeemFeeAuth.test.ts +0 -93
- package/src/__tests__/unit/evm/EvmStake.test.ts +0 -207
- package/src/__tests__/unit/evm/EvmStakeFeeAuth.test.ts +0 -193
- package/src/__tests__/unit/evm/EvmUnstakeAllowance.test.ts +0 -69
- package/src/__tests__/unit/evm/EvmUnstakeConfig.test.ts +0 -203
- package/src/__tests__/unit/fee-signature-expiration.test.ts +0 -76
- package/src/__tests__/unit/modules/CapabilityRegistry.test.ts +0 -55
- package/src/__tests__/unit/shared/BaseAction.test.ts +0 -122
- package/src/__tests__/unit/shared/BaseBtcAction.test.ts +0 -114
- package/src/__tests__/unit/solana/SolanaUnstake.test.ts +0 -314
- package/src/__tests__/unit/starknet/StarknetUnstake.test.ts +0 -318
- package/src/__tests__/unit/sui/SuiUnstake.test.ts +0 -310
- package/src/__tests__/unit/utils/satoshi.test.ts +0 -27
- package/src/__tests__/unit/validation/address-validation.test.ts +0 -350
- package/src/api-functions/generateDepositBtcAddress/generateDepositBtcAddress.stories.tsx +0 -71
- package/src/api-functions/generateDepositBtcAddress/generateDepositBtcAddress.ts +0 -235
- package/src/api-functions/generateDepositBtcAddress/index.ts +0 -1
- package/src/api-functions/get-badges-by-address/get-badges-by-address.ts +0 -13
- package/src/api-functions/get-badges-by-address/index.ts +0 -1
- package/src/api-functions/getDepositAddressReferrer/getDepositAddressReferrer.ts +0 -38
- package/src/api-functions/getDepositAddressReferrer/index.ts +0 -1
- package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.stories.tsx +0 -59
- package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.test.ts +0 -265
- package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.ts +0 -167
- package/src/api-functions/getDepositBtcAddress/getDepositBtcAddresses.stories.tsx +0 -58
- package/src/api-functions/getDepositBtcAddress/index.ts +0 -1
- package/src/api-functions/getDepositBtcAddress/make-request.ts +0 -59
- package/src/api-functions/getDepositBtcAddress/types.ts +0 -106
- package/src/api-functions/getDepositsByAddress/getDepositsByAddress.stories.tsx +0 -51
- package/src/api-functions/getDepositsByAddress/getDepositsByAddress.ts +0 -502
- package/src/api-functions/getDepositsByAddress/index.ts +0 -1
- package/src/api-functions/getLBTCExchangeRate/get-exchange-ratio.stories.tsx +0 -48
- package/src/api-functions/getLBTCExchangeRate/get-exchange-ratio.ts +0 -59
- package/src/api-functions/getLBTCExchangeRate/getLBTCExchangeRate.stories.tsx +0 -55
- package/src/api-functions/getLBTCExchangeRate/getLBTCExchangeRate.ts +0 -75
- package/src/api-functions/getLBTCExchangeRate/index.ts +0 -2
- package/src/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.stories.tsx +0 -59
- package/src/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.ts +0 -116
- package/src/api-functions/getNetworkFeeSignature/index.ts +0 -1
- package/src/api-functions/getPointsByAddress/getPointsByAddress.stories.tsx +0 -51
- package/src/api-functions/getPointsByAddress/getPointsByAddress.ts +0 -304
- package/src/api-functions/getPointsByAddress/index.ts +0 -1
- package/src/api-functions/getUnstakesByAddress/getUnstakesByAddress.stories.tsx +0 -51
- package/src/api-functions/getUnstakesByAddress/getUnstakesByAddress.ts +0 -368
- package/src/api-functions/getUnstakesByAddress/index.ts +0 -1
- package/src/api-functions/getUserStakeAndBakeSignature/getUserStakeAndBakeSignature.stories.tsx +0 -70
- package/src/api-functions/getUserStakeAndBakeSignature/getUserStakeAndBakeSignature.ts +0 -91
- package/src/api-functions/getUserStakeAndBakeSignature/index.ts +0 -1
- package/src/api-functions/index.ts +0 -11
- package/src/api-functions/setReferral/index.ts +0 -1
- package/src/api-functions/setReferral/setReferral.ts +0 -67
- package/src/api-functions/storeNetworkFeeSignature/index.ts +0 -1
- package/src/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.stories.tsx +0 -57
- package/src/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.ts +0 -75
- package/src/api-functions/storeStakeAndBakeSignature/index.ts +0 -1
- package/src/api-functions/storeStakeAndBakeSignature/storeStakeAndBakeSignature.stories.tsx +0 -57
- package/src/api-functions/storeStakeAndBakeSignature/storeStakeAndBakeSignature.ts +0 -61
- package/src/bridge/abi/CCIP_BRIDGE_ADAPTER_ABI.json +0 -704
- package/src/bridge/abi/CCIP_ROUTER_ABI.json +0 -702
- package/src/bridge/abi/OFT_BRIDGE_ADAPTER_ABI.json +0 -912
- package/src/bridge/index.ts +0 -16
- package/src/bridge/lib/bridge.stories.tsx +0 -90
- package/src/bridge/lib/bridge.ts +0 -115
- package/src/bridge/lib/ccip-bridge.stories.tsx +0 -91
- package/src/bridge/lib/ccip-bridge.ts +0 -214
- package/src/bridge/lib/ccip-config.ts +0 -54
- package/src/bridge/lib/config.ts +0 -384
- package/src/bridge/lib/oft-bridge.stories.tsx +0 -90
- package/src/bridge/lib/oft-bridge.ts +0 -217
- package/src/chains/btc/BtcActions.ts +0 -192
- package/src/chains/btc/actions/deposit/BtcDeposit.ts +0 -388
- package/src/chains/btc/actions/deposit/config/evm.ts +0 -197
- package/src/chains/btc/actions/deposit/config/index.ts +0 -53
- package/src/chains/btc/actions/deposit/config/types.ts +0 -108
- package/src/chains/btc/actions/deposit/factory.ts +0 -53
- package/src/chains/btc/actions/deposit/index.ts +0 -23
- package/src/chains/btc/actions/deposit/types.ts +0 -120
- package/src/chains/btc/actions/depositAndDeploy/BtcDepositAndDeploy.ts +0 -366
- package/src/chains/btc/actions/depositAndDeploy/config/evm.ts +0 -105
- package/src/chains/btc/actions/depositAndDeploy/config/index.ts +0 -111
- package/src/chains/btc/actions/depositAndDeploy/config/types.ts +0 -67
- package/src/chains/btc/actions/depositAndDeploy/factory.ts +0 -38
- package/src/chains/btc/actions/depositAndDeploy/index.ts +0 -24
- package/src/chains/btc/actions/depositAndDeploy/types.ts +0 -120
- package/src/chains/btc/actions/index.ts +0 -14
- package/src/chains/btc/actions/shared/BaseBtcAction.ts +0 -495
- package/src/chains/btc/actions/shared/index.ts +0 -28
- package/src/chains/btc/actions/shared/tokenUtils.ts +0 -68
- package/src/chains/btc/actions/shared/validation.ts +0 -180
- package/src/chains/btc/actions/stake/BtcStake.ts +0 -433
- package/src/chains/btc/actions/stake/__tests__/BtcStake.test.ts +0 -247
- package/src/chains/btc/actions/stake/config/evm.ts +0 -183
- package/src/chains/btc/actions/stake/config/index.ts +0 -122
- package/src/chains/btc/actions/stake/config/solana.ts +0 -96
- package/src/chains/btc/actions/stake/config/starknet.ts +0 -66
- package/src/chains/btc/actions/stake/config/sui.ts +0 -61
- package/src/chains/btc/actions/stake/config/types.ts +0 -165
- package/src/chains/btc/actions/stake/factory.ts +0 -53
- package/src/chains/btc/actions/stake/index.ts +0 -22
- package/src/chains/btc/actions/stake/types.ts +0 -175
- package/src/chains/btc/actions/stakeAndDeploy/BtcStakeAndDeploy.ts +0 -415
- package/src/chains/btc/actions/stakeAndDeploy/config/evm.ts +0 -135
- package/src/chains/btc/actions/stakeAndDeploy/config/index.ts +0 -119
- package/src/chains/btc/actions/stakeAndDeploy/config/types.ts +0 -93
- package/src/chains/btc/actions/stakeAndDeploy/factory.ts +0 -54
- package/src/chains/btc/actions/stakeAndDeploy/index.ts +0 -26
- package/src/chains/btc/actions/stakeAndDeploy/types.ts +0 -118
- package/src/chains/btc/client/getCurrentBlockHeight.ts +0 -28
- package/src/chains/btc/client/mempool/error.ts +0 -24
- package/src/chains/btc/client/mempool/mempool.ts +0 -23
- package/src/chains/btc/index.ts +0 -71
- package/src/chains/evm/EvmActions.ts +0 -185
- package/src/chains/evm/actions/deploy/EvmDeploy.ts +0 -256
- package/src/chains/evm/actions/deploy/config/evm.ts +0 -80
- package/src/chains/evm/actions/deploy/config/index.ts +0 -8
- package/src/chains/evm/actions/deploy/config/types.ts +0 -43
- package/src/chains/evm/actions/deploy/factory.ts +0 -44
- package/src/chains/evm/actions/deploy/index.ts +0 -17
- package/src/chains/evm/actions/deploy/types.ts +0 -74
- package/src/chains/evm/actions/deposit/EvmDeposit.ts +0 -159
- package/src/chains/evm/actions/deposit/config/evm.ts +0 -100
- package/src/chains/evm/actions/deposit/config/index.ts +0 -8
- package/src/chains/evm/actions/deposit/config/types.ts +0 -39
- package/src/chains/evm/actions/deposit/factory.ts +0 -44
- package/src/chains/evm/actions/deposit/index.ts +0 -17
- package/src/chains/evm/actions/deposit/types.ts +0 -87
- package/src/chains/evm/actions/index.ts +0 -67
- package/src/chains/evm/actions/redeem/EvmRedeem.ts +0 -263
- package/src/chains/evm/actions/redeem/config/evm.ts +0 -85
- package/src/chains/evm/actions/redeem/config/index.ts +0 -8
- package/src/chains/evm/actions/redeem/config/types.ts +0 -39
- package/src/chains/evm/actions/redeem/factory.ts +0 -43
- package/src/chains/evm/actions/redeem/index.ts +0 -17
- package/src/chains/evm/actions/redeem/types.ts +0 -93
- package/src/chains/evm/actions/stake/EvmStake.ts +0 -339
- package/src/chains/evm/actions/stake/config/evm.ts +0 -89
- package/src/chains/evm/actions/stake/config/index.ts +0 -8
- package/src/chains/evm/actions/stake/config/types.ts +0 -89
- package/src/chains/evm/actions/stake/factory.ts +0 -52
- package/src/chains/evm/actions/stake/index.ts +0 -30
- package/src/chains/evm/actions/stake/types.ts +0 -104
- package/src/chains/evm/actions/unstake/EvmUnstake.ts +0 -258
- package/src/chains/evm/actions/unstake/config/evm.ts +0 -123
- package/src/chains/evm/actions/unstake/config/index.ts +0 -13
- package/src/chains/evm/actions/unstake/config/types.ts +0 -37
- package/src/chains/evm/actions/unstake/factory.ts +0 -44
- package/src/chains/evm/actions/unstake/index.ts +0 -22
- package/src/chains/evm/actions/unstake/types.ts +0 -87
- package/src/chains/evm/index.ts +0 -16
- package/src/chains/evm/shared/feeAuth.ts +0 -198
- package/src/chains/evm/shared/index.ts +0 -7
- package/src/chains/solana/SolanaActions.ts +0 -85
- package/src/chains/solana/actions/index.ts +0 -7
- package/src/chains/solana/actions/unstake/SolanaUnstake.ts +0 -151
- package/src/chains/solana/actions/unstake/config/btc.ts +0 -47
- package/src/chains/solana/actions/unstake/config/index.ts +0 -8
- package/src/chains/solana/actions/unstake/config/solana.ts +0 -47
- package/src/chains/solana/actions/unstake/config/types.ts +0 -35
- package/src/chains/solana/actions/unstake/factory.ts +0 -34
- package/src/chains/solana/actions/unstake/index.ts +0 -14
- package/src/chains/solana/actions/unstake/types.ts +0 -58
- package/src/chains/solana/index.ts +0 -8
- package/src/chains/starknet/StarknetActions.ts +0 -85
- package/src/chains/starknet/actions/index.ts +0 -7
- package/src/chains/starknet/actions/unstake/StarknetUnstake.ts +0 -128
- package/src/chains/starknet/actions/unstake/config/btc.ts +0 -43
- package/src/chains/starknet/actions/unstake/config/index.ts +0 -8
- package/src/chains/starknet/actions/unstake/config/starknet.ts +0 -43
- package/src/chains/starknet/actions/unstake/config/types.ts +0 -27
- package/src/chains/starknet/actions/unstake/factory.ts +0 -32
- package/src/chains/starknet/actions/unstake/index.ts +0 -14
- package/src/chains/starknet/actions/unstake/types.ts +0 -57
- package/src/chains/starknet/index.ts +0 -8
- package/src/chains/sui/SuiActions.ts +0 -82
- package/src/chains/sui/actions/index.ts +0 -7
- package/src/chains/sui/actions/unstake/SuiUnstake.ts +0 -146
- package/src/chains/sui/actions/unstake/config/btc.ts +0 -43
- package/src/chains/sui/actions/unstake/config/index.ts +0 -8
- package/src/chains/sui/actions/unstake/config/sui.ts +0 -43
- package/src/chains/sui/actions/unstake/config/types.ts +0 -27
- package/src/chains/sui/actions/unstake/factory.ts +0 -32
- package/src/chains/sui/actions/unstake/index.ts +0 -14
- package/src/chains/sui/actions/unstake/types.ts +0 -57
- package/src/chains/sui/index.ts +0 -8
- package/src/client/ApiNamespace.ts +0 -302
- package/src/client/AssetNamespace.ts +0 -112
- package/src/client/LombardSDK.ts +0 -212
- package/src/client/PartnerConfiguration.ts +0 -50
- package/src/client/createConfig.ts +0 -90
- package/src/client/createLombardSDK.ts +0 -130
- package/src/clients/evm-signer-adapter.ts +0 -313
- package/src/clients/public-client.ts +0 -49
- package/src/clients/rpc-url-config.ts +0 -64
- package/src/clients/wallet-client.ts +0 -34
- package/src/common/api-config.ts +0 -48
- package/src/common/blockchain-identifier.ts +0 -217
- package/src/common/chains.stories.tsx +0 -68
- package/src/common/chains.ts +0 -449
- package/src/common/constants.ts +0 -1
- package/src/common/contract-info.ts +0 -9
- package/src/common/feature-config.ts +0 -79
- package/src/common/fee-requirements.ts +0 -34
- package/src/common/parameters.ts +0 -89
- package/src/config/defaults.ts +0 -49
- package/src/config/index.ts +0 -12
- package/src/config/providers.ts +0 -81
- package/src/config/types.ts +0 -216
- package/src/config/validation.ts +0 -69
- package/src/contract-functions/approveLBTC/approveLBTC.stories.tsx +0 -79
- package/src/contract-functions/approveLBTC/approveLBTC.ts +0 -66
- package/src/contract-functions/approveLBTC/index.ts +0 -1
- package/src/contract-functions/approveToken/approveToken.ts +0 -126
- package/src/contract-functions/approveToken/index.ts +0 -1
- package/src/contract-functions/claimLBTC/claimLBTC.stories.tsx +0 -82
- package/src/contract-functions/claimLBTC/claimLBTC.ts +0 -159
- package/src/contract-functions/claimLBTC/index.ts +0 -1
- package/src/contract-functions/claimUnstakeRedeem/claimUnstakeRedeem.ts +0 -95
- package/src/contract-functions/claimUnstakeRedeem/index.ts +0 -1
- package/src/contract-functions/deposit/depositToken.stories.tsx +0 -83
- package/src/contract-functions/deposit/depositToken.ts +0 -214
- package/src/contract-functions/deposit/index.ts +0 -1
- package/src/contract-functions/getBasculeDepositStatus/decodeBasculeDepositStatus.ts +0 -170
- package/src/contract-functions/getBasculeDepositStatus/getBasculeDepositStatus.stories.tsx +0 -62
- package/src/contract-functions/getBasculeDepositStatus/getBasculeDepositStatus.ts +0 -211
- package/src/contract-functions/getBasculeDepositStatus/index.ts +0 -2
- package/src/contract-functions/getLBTCMintingFee/getLBTCMintingFee.stories.tsx +0 -61
- package/src/contract-functions/getLBTCMintingFee/getLBTCMintingFee.ts +0 -193
- package/src/contract-functions/getLBTCMintingFee/index.ts +0 -1
- package/src/contract-functions/getLBTCTotalSupply/getLBTCTotalSupply.stories.tsx +0 -51
- package/src/contract-functions/getLBTCTotalSupply/getLBTCTotalSupply.ts +0 -40
- package/src/contract-functions/getLBTCTotalSupply/index.ts +0 -1
- package/src/contract-functions/getPermitNonce/getPermitNonce.stories.tsx +0 -56
- package/src/contract-functions/getPermitNonce/getPermitNonce.ts +0 -50
- package/src/contract-functions/getPermitNonce/index.ts +0 -1
- package/src/contract-functions/getShareValue/getShareValue.stories.tsx +0 -58
- package/src/contract-functions/getShareValue/getShareValue.ts +0 -59
- package/src/contract-functions/getShareValue/index.ts +0 -1
- package/src/contract-functions/getSharesByAddress/getSharesByAddress.stories.tsx +0 -65
- package/src/contract-functions/getSharesByAddress/getSharesByAddress.ts +0 -86
- package/src/contract-functions/getSharesByAddress/index.ts +0 -4
- package/src/contract-functions/getStakeAndBakeFee/__tests__/getStakeAndBakeFee.test.ts +0 -167
- package/src/contract-functions/getStakeAndBakeFee/getStakeAndBakeFee.stories.tsx +0 -180
- package/src/contract-functions/getStakeAndBakeFee/getStakeAndBakeFee.tsx +0 -101
- package/src/contract-functions/getStakeAndBakeFee/index.ts +0 -1
- package/src/contract-functions/index.ts +0 -21
- package/src/contract-functions/signLbtcDestionationAddr/index.ts +0 -1
- package/src/contract-functions/signLbtcDestionationAddr/signLbtcDestinationAddr.ts +0 -32
- package/src/contract-functions/signLbtcDestionationAddr/signLbtcDestionationAddr.stories.tsx +0 -64
- package/src/contract-functions/signNetworkFee/getTypedData.ts +0 -41
- package/src/contract-functions/signNetworkFee/index.ts +0 -1
- package/src/contract-functions/signNetworkFee/signNetworkFee.stories.tsx +0 -94
- package/src/contract-functions/signNetworkFee/signNetworkFee.ts +0 -106
- package/src/contract-functions/signStakeAndBake/__tests__/signStakeAndBake.test.ts +0 -888
- package/src/contract-functions/signStakeAndBake/handleApprove.ts +0 -81
- package/src/contract-functions/signStakeAndBake/handlePermit.ts +0 -28
- package/src/contract-functions/signStakeAndBake/index.ts +0 -2
- package/src/contract-functions/signStakeAndBake/signStakeAndBake.stories.tsx +0 -202
- package/src/contract-functions/signStakeAndBake/signStakeAndBake.ts +0 -160
- package/src/contract-functions/signStakeAndBake/typed-data-builder.ts +0 -137
- package/src/contract-functions/signStakeAndBake/utils.ts +0 -61
- package/src/contract-functions/signStakeAndBake/validation.ts +0 -124
- package/src/contract-functions/unstakeLBTC/index.ts +0 -1
- package/src/contract-functions/unstakeLBTC/unstakeLBTC.stories.tsx +0 -92
- package/src/contract-functions/unstakeLBTC/unstakeLBTC.ts +0 -396
- package/src/contracts/abis/index.ts +0 -29
- package/src/contracts/index.ts +0 -63
- package/src/contracts/types.ts +0 -143
- package/src/contracts/utils.ts +0 -288
- package/src/core/assets/catalog.ts +0 -343
- package/src/core/assets/index.ts +0 -40
- package/src/core/assets/types.ts +0 -142
- package/src/core/assets/utils.ts +0 -287
- package/src/core/chains/catalog.ts +0 -396
- package/src/core/chains/index.ts +0 -39
- package/src/core/chains/types.ts +0 -193
- package/src/core/chains/utils.ts +0 -245
- package/src/core/index.ts +0 -72
- package/src/core/types.ts +0 -126
- package/src/debug-api/btc-script-to-address.ts +0 -20
- package/src/debug-api/btc-tx-info.ts +0 -32
- package/src/debug-api/evm-by-btc-address.ts +0 -26
- package/src/debug-api/index.ts +0 -3
- package/src/defi/README.md +0 -517
- package/src/defi/defi-registry.stories.tsx +0 -527
- package/src/defi/defi-registry.ts +0 -295
- package/src/defi/index.ts +0 -17
- package/src/index.ts +0 -336
- package/src/metrics/get-additional-rewards.ts +0 -69
- package/src/metrics/get-lbtc-apy.ts +0 -74
- package/src/metrics/get-lbtc-stats.stories.tsx +0 -57
- package/src/metrics/get-lbtc-stats.ts +0 -59
- package/src/metrics/get-positions-summary.stories.tsx +0 -58
- package/src/metrics/get-positions-summary.ts +0 -132
- package/src/modules/CapabilityRegistry.ts +0 -125
- package/src/modules/apiModule.ts +0 -51
- package/src/modules/btcModule.ts +0 -43
- package/src/modules/evmModule.ts +0 -48
- package/src/modules/index.ts +0 -60
- package/src/referrals/ReferralsClient.ts +0 -34
- package/src/referrals/index.ts +0 -1
- package/src/services/ApiService.ts +0 -152
- package/src/services/BtcService.ts +0 -29
- package/src/services/EvmService.ts +0 -127
- package/src/services/index.ts +0 -43
- package/src/shared/__tests__/errors.test.ts +0 -185
- package/src/shared/__tests__/events.test.ts +0 -120
- package/src/shared/__tests__/types.test.ts +0 -155
- package/src/shared/actions/BaseAction.ts +0 -497
- package/src/shared/actions/__tests__/BaseAction.test.ts +0 -292
- package/src/shared/actions/index.ts +0 -9
- package/src/shared/constants/statusConstants.ts +0 -108
- package/src/shared/context/ContextBuilder.ts +0 -149
- package/src/shared/context/index.ts +0 -8
- package/src/shared/context/types.ts +0 -156
- package/src/shared/deposits/depositStatus.ts +0 -402
- package/src/shared/deposits/index.ts +0 -29
- package/src/shared/errors.ts +0 -405
- package/src/shared/events.ts +0 -260
- package/src/shared/evm/switchChain.ts +0 -109
- package/src/shared/index.ts +0 -54
- package/src/shared/monitoring/__tests__/createEventEmitter.test.ts +0 -150
- package/src/shared/monitoring/createEventEmitter.ts +0 -160
- package/src/shared/monitoring/createProgressEmitter.ts +0 -46
- package/src/shared/monitoring/depositMonitor.ts +0 -211
- package/src/shared/monitoring/index.ts +0 -25
- package/src/shared/validation/index.ts +0 -411
- package/src/stories/arg-types.ts +0 -38
- package/src/stories/components/Badge.tsx +0 -27
- package/src/stories/components/Button/Button.css +0 -10
- package/src/stories/components/Button/Button.tsx +0 -52
- package/src/stories/components/Button/index.ts +0 -1
- package/src/stories/components/Card.tsx +0 -18
- package/src/stories/components/CodeBlock/CodeBlock.tsx +0 -27
- package/src/stories/components/CodeBlock/CodeBlockStyles.css +0 -3
- package/src/stories/components/CodeBlock/index.ts +0 -1
- package/src/stories/components/ConnectButton/connect-button.tsx +0 -248
- package/src/stories/components/ConnectButton/index.ts +0 -1
- package/src/stories/components/JsonPreview.tsx +0 -84
- package/src/stories/components/Spinner/Spinner.tsx +0 -27
- package/src/stories/components/Spinner/index.ts +0 -1
- package/src/stories/components/StatsCard.tsx +0 -30
- package/src/stories/components/StatusIndicator.tsx +0 -37
- package/src/stories/components/TreeNode.tsx +0 -47
- package/src/stories/components/decorators/function-type.tsx +0 -63
- package/src/stories/components/decorators/index.ts +0 -2
- package/src/stories/components/decorators/wagmi-decorator.tsx +0 -92
- package/src/stories/components/error-block.tsx +0 -21
- package/src/stories/components/index.ts +0 -11
- package/src/stories/constants.ts +0 -3
- package/src/stories/hooks/useConnection.ts +0 -63
- package/src/stories/hooks/useQuery.ts +0 -57
- package/src/tokens/__tests__/token-addresses.test.ts +0 -551
- package/src/tokens/abi/ASSET_ROUTER_ABI.ts +0 -1966
- package/src/tokens/abi/BRIDGE_TOKEN_ADAPTER_ABI.ts +0 -1405
- package/src/tokens/abi/BTCK_ABI.ts +0 -1092
- package/src/tokens/abi/KATANA_BASCULE_ABI.ts +0 -653
- package/src/tokens/abi/LBTC_ABI.json +0 -1761
- package/src/tokens/abi/LBTC_ABI.ts +0 -1761
- package/src/tokens/abi/LBTC_BASCULE_ABI.json +0 -850
- package/src/tokens/abi/NATIVE_LBTC_ABI.ts +0 -1147
- package/src/tokens/abi/STLBTC_ABI.ts +0 -1062
- package/src/tokens/cross-chain-addresses.stories.tsx +0 -236
- package/src/tokens/denomination-utils.stories.tsx +0 -176
- package/src/tokens/getLbtcContractAddresses.stories.tsx +0 -158
- package/src/tokens/getTokenByAddress.stories.tsx +0 -172
- package/src/tokens/getTokenContractInfo.stories.tsx +0 -148
- package/src/tokens/getTokenInfo.stories.tsx +0 -133
- package/src/tokens/isUpgradedContract.stories.tsx +0 -124
- package/src/tokens/lbtc-addresses.ts +0 -18
- package/src/tokens/token-addresses.ts +0 -477
- package/src/tokens/tokens.ts +0 -249
- package/src/tokens/types.ts +0 -80
- package/src/utils/array.ts +0 -31
- package/src/utils/block.ts +0 -23
- package/src/utils/chain.ts +0 -152
- package/src/utils/consoleLogger.ts +0 -140
- package/src/utils/ensureNotSanctionedAddress.ts +0 -11
- package/src/utils/env.ts +0 -20
- package/src/utils/err.ts +0 -83
- package/src/utils/evmAccount.ts +0 -47
- package/src/utils/gas.ts +0 -36
- package/src/utils/hex.ts +0 -9
- package/src/utils/http.ts +0 -224
- package/src/utils/numbers.ts +0 -37
- package/src/utils/pagination.ts +0 -70
- package/src/utils/satoshi.ts +0 -41
- package/src/utils/time.ts +0 -12
- package/src/utils/transaction-executor.ts +0 -299
- package/src/vaults/abi/SILO_VAULT_SPENDER_ABI.json +0 -793
- package/src/vaults/abi/VEDA_VAULT_ABI.json +0 -452
- package/src/vaults/abi/VEDA_VAULT_ACCOUNTANT_ABI.json +0 -591
- package/src/vaults/abi/VEDA_VAULT_BASE_ASSET_ABI.json +0 -296
- package/src/vaults/abi/VEDA_VAULT_BORING_WITHDRAW_QUEUE_ABI.json +0 -502
- package/src/vaults/abi/VEDA_VAULT_LENS_ABI.json +0 -175
- package/src/vaults/abi/VEDA_VAULT_SPENDER_ABI.json +0 -408
- package/src/vaults/abi/VEDA_VAULT_TELLER_ABI.json +0 -700
- package/src/vaults/abi/index.ts +0 -4
- package/src/vaults/index.ts +0 -46
- package/src/vaults/lib/config.ts +0 -184
- package/src/vaults/lib/metrics/get-vault-apy.stories.tsx +0 -58
- package/src/vaults/lib/metrics/get-vault-apy.ts +0 -176
- package/src/vaults/lib/metrics/get-vault-points.stories.tsx +0 -60
- package/src/vaults/lib/metrics/get-vault-points.ts +0 -74
- package/src/vaults/lib/metrics/get-vault-tvl.stories.tsx +0 -58
- package/src/vaults/lib/metrics/get-vault-tvl.ts +0 -121
- package/src/vaults/lib/ops/cancel-withdraw.stories.tsx +0 -80
- package/src/vaults/lib/ops/deposit.stories.tsx +0 -82
- package/src/vaults/lib/ops/deposit.ts +0 -152
- package/src/vaults/lib/ops/get-vault-deposits.stories.tsx +0 -65
- package/src/vaults/lib/ops/get-vault-deposits.ts +0 -209
- package/src/vaults/lib/ops/get-vault-withdrawals.stories.tsx +0 -67
- package/src/vaults/lib/ops/get-vault-withdrawals.ts +0 -349
- package/src/vaults/lib/ops/withdraw.stories.tsx +0 -82
- package/src/vaults/lib/ops/withdraw.ts +0 -225
- package/src/version.ts +0 -56
- package/src/vite-env.d.ts +0 -1
|
@@ -1,295 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DeFi Stake & Bake Registry
|
|
3
|
-
*
|
|
4
|
-
* Provides a strongly typed registry of staking integrations so that
|
|
5
|
-
* protocol/token/env/chain support is declarative and composable.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import { Env } from '@lombard.finance/sdk-common';
|
|
9
|
-
import { Abi } from 'viem';
|
|
10
|
-
|
|
11
|
-
import { ChainId } from '../common/chains';
|
|
12
|
-
import { ContractInfo } from '../common/contract-info';
|
|
13
|
-
import { AssetId } from '../core/assets';
|
|
14
|
-
import { Token } from '../tokens/token-addresses';
|
|
15
|
-
import { SILO_VAULT_SPENDER_ABI } from '../vaults/abi';
|
|
16
|
-
import {
|
|
17
|
-
VEDA_VAULT_SPENDER_CONTRACTS,
|
|
18
|
-
VEDA_VAULT_STAKE_AND_BAKE_CHAINS,
|
|
19
|
-
VedaVaultStakeAndBakeChain,
|
|
20
|
-
} from '../vaults/lib/config';
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Approval mode for stake and bake operations.
|
|
24
|
-
* - `permit`: Off-chain EIP-2612 signature (gasless for user, backend pays gas)
|
|
25
|
-
* - `approve`: On-chain ERC-20 approval transaction (user pays gas)
|
|
26
|
-
*/
|
|
27
|
-
export type ApprovalMode = 'permit' | 'approve';
|
|
28
|
-
|
|
29
|
-
export type StakeAndBakeAmountStrategy = 'identity' | 'btcToLbtc';
|
|
30
|
-
export type StakeAndBakeDeadlineStrategy = 'expiry' | 'zero';
|
|
31
|
-
export type StakeAndBakeNonceStrategy = 'chain' | 'skip';
|
|
32
|
-
|
|
33
|
-
export interface StakeAndBakeStrategyConfig {
|
|
34
|
-
amountStrategy: StakeAndBakeAmountStrategy;
|
|
35
|
-
approval: {
|
|
36
|
-
mode: ApprovalMode;
|
|
37
|
-
domainName: string;
|
|
38
|
-
domainVersion: string;
|
|
39
|
-
deadlineStrategy: StakeAndBakeDeadlineStrategy;
|
|
40
|
-
nonceStrategy: StakeAndBakeNonceStrategy;
|
|
41
|
-
};
|
|
42
|
-
spenderContract: ContractInfo;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export interface StakeAndBakeStrategy extends StakeAndBakeStrategyConfig {
|
|
46
|
-
protocol: DefiProtocol;
|
|
47
|
-
token: StakeAndBakeToken;
|
|
48
|
-
env: Env;
|
|
49
|
-
chainId: ChainId;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
type ChainStrategyMap = Partial<Record<ChainId, StakeAndBakeStrategyConfig>>;
|
|
53
|
-
type EnvStrategyMap = Partial<Record<Env, ChainStrategyMap>>;
|
|
54
|
-
type TokenStrategyMap = Partial<Record<StakeAndBakeToken, EnvStrategyMap>>;
|
|
55
|
-
export type StakeAndBakeRegistry = Record<DefiProtocol, TokenStrategyMap>;
|
|
56
|
-
|
|
57
|
-
const ALL_ENVS = Object.values(Env) as Env[];
|
|
58
|
-
|
|
59
|
-
// Use single source of truth from vaults/lib/config.ts
|
|
60
|
-
// VEDA_VAULT_STAKE_AND_BAKE_CHAINS is imported and used directly below
|
|
61
|
-
|
|
62
|
-
export const SILO_VAULT_SPENDER_CONTRACT_GASTALD_FUJI: `0x${string}` =
|
|
63
|
-
'0xFe1e76D9e065e879A9D1914482f0F13d85F39877';
|
|
64
|
-
|
|
65
|
-
function mapChains<const C extends readonly ChainId[]>(
|
|
66
|
-
chains: C,
|
|
67
|
-
factory: (chain: C[number]) => StakeAndBakeStrategyConfig,
|
|
68
|
-
): ChainStrategyMap {
|
|
69
|
-
return chains.reduce<ChainStrategyMap>((acc, chain) => {
|
|
70
|
-
acc[chain] = factory(chain);
|
|
71
|
-
return acc;
|
|
72
|
-
}, {} as ChainStrategyMap);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
function mapEnvs<const E extends readonly Env[]>(
|
|
76
|
-
envs: E,
|
|
77
|
-
factory: (env: E[number]) => ChainStrategyMap,
|
|
78
|
-
): EnvStrategyMap {
|
|
79
|
-
return envs.reduce<EnvStrategyMap>((acc, env) => {
|
|
80
|
-
acc[env] = factory(env);
|
|
81
|
-
return acc;
|
|
82
|
-
}, {} as EnvStrategyMap);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
function getVedaSpenderContract(
|
|
86
|
-
chainId: VedaVaultStakeAndBakeChain,
|
|
87
|
-
): ContractInfo {
|
|
88
|
-
const contract = VEDA_VAULT_SPENDER_CONTRACTS[chainId];
|
|
89
|
-
if (!contract) {
|
|
90
|
-
throw new Error(`Missing Veda spender contract for chain ${chainId}`);
|
|
91
|
-
}
|
|
92
|
-
return contract;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
const _DefiRegistryTokens = {
|
|
96
|
-
LBTC: Token.LBTC,
|
|
97
|
-
BTCb: Token.BTCb,
|
|
98
|
-
BTC: 'BTC',
|
|
99
|
-
} as const;
|
|
100
|
-
|
|
101
|
-
export type DefiRegistryToken =
|
|
102
|
-
(typeof _DefiRegistryTokens)[keyof typeof _DefiRegistryTokens];
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* DeFi Protocol identifiers - SINGLE SOURCE OF TRUTH
|
|
106
|
-
*
|
|
107
|
-
* These are the canonical protocol identifiers used throughout the SDK.
|
|
108
|
-
* All other protocol references should use these values.
|
|
109
|
-
*/
|
|
110
|
-
export const DefiProtocol = {
|
|
111
|
-
Veda: 'veda',
|
|
112
|
-
Silo: 'silo',
|
|
113
|
-
} as const;
|
|
114
|
-
|
|
115
|
-
export type DefiProtocol = (typeof DefiProtocol)[keyof typeof DefiProtocol];
|
|
116
|
-
|
|
117
|
-
export const DefiProtocols = {
|
|
118
|
-
[DefiProtocol.Veda]: {
|
|
119
|
-
name: 'Lombard DeFi Vault',
|
|
120
|
-
url: 'https://lombard.finance',
|
|
121
|
-
},
|
|
122
|
-
[DefiProtocol.Silo]: {
|
|
123
|
-
name: 'Silo Finance Vault',
|
|
124
|
-
url: 'https://silo.finance',
|
|
125
|
-
},
|
|
126
|
-
} as const;
|
|
127
|
-
|
|
128
|
-
const VEDA_LBTC_PERMIT_APPROVAL: StakeAndBakeStrategyConfig['approval'] = {
|
|
129
|
-
mode: 'permit',
|
|
130
|
-
domainName: 'Lombard Staked Bitcoin',
|
|
131
|
-
domainVersion: '1',
|
|
132
|
-
deadlineStrategy: 'expiry',
|
|
133
|
-
nonceStrategy: 'chain',
|
|
134
|
-
};
|
|
135
|
-
|
|
136
|
-
const SILO_BTCB_APPROVE_APPROVAL: StakeAndBakeStrategyConfig['approval'] = {
|
|
137
|
-
mode: 'approve',
|
|
138
|
-
domainName: 'Bitcoin',
|
|
139
|
-
domainVersion: '1',
|
|
140
|
-
deadlineStrategy: 'zero',
|
|
141
|
-
nonceStrategy: 'skip',
|
|
142
|
-
};
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* DeFi Registry: Token approval configurations by vault, token, env, and chain.
|
|
146
|
-
*
|
|
147
|
-
* TODO: Update the format of this registry to match asset catalog and chain catalog
|
|
148
|
-
*/
|
|
149
|
-
export const DEFI_REGISTRY: StakeAndBakeRegistry = {
|
|
150
|
-
[DefiProtocol.Veda]: {
|
|
151
|
-
[Token.LBTC]: mapEnvs(ALL_ENVS, () =>
|
|
152
|
-
mapChains(VEDA_VAULT_STAKE_AND_BAKE_CHAINS, chain => ({
|
|
153
|
-
amountStrategy: 'identity',
|
|
154
|
-
approval: { ...VEDA_LBTC_PERMIT_APPROVAL },
|
|
155
|
-
spenderContract: getVedaSpenderContract(chain),
|
|
156
|
-
})),
|
|
157
|
-
),
|
|
158
|
-
BTC: mapEnvs(ALL_ENVS, () =>
|
|
159
|
-
mapChains(VEDA_VAULT_STAKE_AND_BAKE_CHAINS, chain => ({
|
|
160
|
-
amountStrategy: 'btcToLbtc',
|
|
161
|
-
approval: { ...VEDA_LBTC_PERMIT_APPROVAL },
|
|
162
|
-
spenderContract: getVedaSpenderContract(chain),
|
|
163
|
-
})),
|
|
164
|
-
),
|
|
165
|
-
},
|
|
166
|
-
[DefiProtocol.Silo]: {
|
|
167
|
-
[Token.BTCb]: {
|
|
168
|
-
// Silo on Avalanche Fuji is only available on testnet (Gastald backend)
|
|
169
|
-
// Stage environment does not support Avalanche Fuji
|
|
170
|
-
[Env.testnet]: mapChains([ChainId.avalancheFuji], chain => ({
|
|
171
|
-
amountStrategy: 'identity',
|
|
172
|
-
approval: { ...SILO_BTCB_APPROVE_APPROVAL },
|
|
173
|
-
spenderContract: {
|
|
174
|
-
abi: SILO_VAULT_SPENDER_ABI as Abi,
|
|
175
|
-
address: SILO_VAULT_SPENDER_CONTRACT_GASTALD_FUJI,
|
|
176
|
-
chainId: chain,
|
|
177
|
-
},
|
|
178
|
-
})),
|
|
179
|
-
},
|
|
180
|
-
},
|
|
181
|
-
};
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Type for a token that can be used with stake and bake.
|
|
185
|
-
* Includes both Token enum values and virtual tokens like 'BTC'.
|
|
186
|
-
*/
|
|
187
|
-
export type StakeAndBakeToken = DefiRegistryToken;
|
|
188
|
-
|
|
189
|
-
/**
|
|
190
|
-
* Get supported chains for a protocol/token/env combination.
|
|
191
|
-
*
|
|
192
|
-
* @example
|
|
193
|
-
* ```typescript
|
|
194
|
-
* // Get chains supporting Veda with BTC token on testnet
|
|
195
|
-
* const chains = getStakeAndBakeSupportedChains(DefiProtocol.Veda, 'BTC', Env.testnet);
|
|
196
|
-
* // Returns: [ChainId.binanceSmartChainTestnet, ChainId.holesky]
|
|
197
|
-
* ```
|
|
198
|
-
*/
|
|
199
|
-
export function getStakeAndBakeSupportedChains(
|
|
200
|
-
protocol: DefiProtocol,
|
|
201
|
-
token: StakeAndBakeToken,
|
|
202
|
-
env: Env,
|
|
203
|
-
): ChainId[] {
|
|
204
|
-
const protocolRegistry = DEFI_REGISTRY[protocol];
|
|
205
|
-
if (!protocolRegistry) return [];
|
|
206
|
-
|
|
207
|
-
const tokenRegistry =
|
|
208
|
-
protocolRegistry[token as keyof typeof protocolRegistry];
|
|
209
|
-
if (!tokenRegistry) return [];
|
|
210
|
-
|
|
211
|
-
const envRegistry = tokenRegistry[env];
|
|
212
|
-
if (!envRegistry) return [];
|
|
213
|
-
|
|
214
|
-
return Object.keys(envRegistry).map(Number) as ChainId[];
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
/**
|
|
218
|
-
* Get all supported protocols for stake and bake (regardless of environment).
|
|
219
|
-
*/
|
|
220
|
-
export function getSupportedProtocols(assetId: AssetId): DefiProtocol[] {
|
|
221
|
-
return Object.entries(DEFI_REGISTRY)
|
|
222
|
-
.filter(([_, tokenMap]) => assetId in tokenMap)
|
|
223
|
-
.map(([protocol]) => protocol as DefiProtocol);
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
/**
|
|
227
|
-
* Get available protocols for a specific environment and token.
|
|
228
|
-
*
|
|
229
|
-
* This filters protocols based on what is actually configured in the DEFI_REGISTRY
|
|
230
|
-
* for the given environment. Use this to determine which protocol options should
|
|
231
|
-
* be shown in the UI.
|
|
232
|
-
*
|
|
233
|
-
* @example
|
|
234
|
-
* ```typescript
|
|
235
|
-
* // Get protocols available for LBTC in production
|
|
236
|
-
* const prodProtocols = getAvailableProtocols(AssetId.LBTC, Env.prod);
|
|
237
|
-
* // Returns: ['veda'] - Silo is only on Avalanche which has no mainnet prod config
|
|
238
|
-
*
|
|
239
|
-
* // Get protocols available for BTCb in testnet
|
|
240
|
-
* const testnetProtocols = getAvailableProtocols(AssetId.BTCb, Env.testnet);
|
|
241
|
-
* // Returns: ['silo'] - Silo is available on Avalanche Fuji in testnet
|
|
242
|
-
* ```
|
|
243
|
-
*/
|
|
244
|
-
export function getAvailableProtocols(
|
|
245
|
-
assetId: AssetId,
|
|
246
|
-
env: Env,
|
|
247
|
-
): DefiProtocol[] {
|
|
248
|
-
// Map asset IDs to registry tokens
|
|
249
|
-
const tokenMap: Partial<Record<AssetId, StakeAndBakeToken[]>> = {
|
|
250
|
-
[AssetId.LBTC]: [Token.LBTC, 'BTC'],
|
|
251
|
-
[AssetId.BTCb]: [Token.BTCb],
|
|
252
|
-
[AssetId.BTC]: ['BTC'],
|
|
253
|
-
};
|
|
254
|
-
|
|
255
|
-
const tokens = tokenMap[assetId];
|
|
256
|
-
if (!tokens) return [];
|
|
257
|
-
|
|
258
|
-
const availableProtocols: Set<DefiProtocol> = new Set();
|
|
259
|
-
|
|
260
|
-
for (const [protocol, tokenStrategyMap] of Object.entries(DEFI_REGISTRY)) {
|
|
261
|
-
for (const token of tokens) {
|
|
262
|
-
const tokenRegistry = tokenStrategyMap[token as keyof typeof tokenStrategyMap];
|
|
263
|
-
if (!tokenRegistry) continue;
|
|
264
|
-
|
|
265
|
-
const envRegistry = tokenRegistry[env];
|
|
266
|
-
if (!envRegistry || Object.keys(envRegistry).length === 0) continue;
|
|
267
|
-
|
|
268
|
-
availableProtocols.add(protocol as DefiProtocol);
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
return Array.from(availableProtocols);
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
/**
|
|
276
|
-
* Get available protocols with their metadata for UI display.
|
|
277
|
-
*
|
|
278
|
-
* @example
|
|
279
|
-
* ```typescript
|
|
280
|
-
* const protocols = getAvailableProtocolsWithMetadata(AssetId.LBTC, Env.prod);
|
|
281
|
-
* // Returns: [{ value: 'veda', label: 'Lombard DeFi Vault', url: '...' }]
|
|
282
|
-
* ```
|
|
283
|
-
*/
|
|
284
|
-
export function getAvailableProtocolsWithMetadata(
|
|
285
|
-
assetId: AssetId,
|
|
286
|
-
env: Env,
|
|
287
|
-
): Array<{ value: DefiProtocol; label: string; url: string }> {
|
|
288
|
-
const protocols = getAvailableProtocols(assetId, env);
|
|
289
|
-
|
|
290
|
-
return protocols.map(protocol => ({
|
|
291
|
-
value: protocol,
|
|
292
|
-
label: DefiProtocols[protocol]?.name ?? protocol,
|
|
293
|
-
url: DefiProtocols[protocol]?.url ?? '',
|
|
294
|
-
}));
|
|
295
|
-
}
|
package/src/defi/index.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export {
|
|
2
|
-
isVedaVaultStakeAndBakeChain,
|
|
3
|
-
VEDA_VAULT_STAKE_AND_BAKE_CHAINS,
|
|
4
|
-
type VedaVaultStakeAndBakeChain,
|
|
5
|
-
} from '../vaults/lib/config';
|
|
6
|
-
export {
|
|
7
|
-
DEFI_REGISTRY,
|
|
8
|
-
DefiProtocol,
|
|
9
|
-
DefiProtocols,
|
|
10
|
-
type DefiRegistryToken,
|
|
11
|
-
getAvailableProtocols,
|
|
12
|
-
getAvailableProtocolsWithMetadata,
|
|
13
|
-
getStakeAndBakeSupportedChains,
|
|
14
|
-
getSupportedProtocols,
|
|
15
|
-
type StakeAndBakeRegistry,
|
|
16
|
-
type StakeAndBakeToken,
|
|
17
|
-
} from './defi-registry';
|
package/src/index.ts
DELETED
|
@@ -1,336 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lombard SDK - Public API
|
|
3
|
-
*
|
|
4
|
-
* Main entry point for the Lombard SDK.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
// SDK Version (injected at build time)
|
|
8
|
-
export { SDK_NAME, SDK_RUNTIME, SDK_VERSION } from './version';
|
|
9
|
-
|
|
10
|
-
// Logging utilities
|
|
11
|
-
export {
|
|
12
|
-
type ConsoleLoggerOptions, createConsoleLogger,
|
|
13
|
-
createSilentLogger, type LogLevel
|
|
14
|
-
} from './utils/consoleLogger';
|
|
15
|
-
|
|
16
|
-
// HTTP utilities (for advanced users)
|
|
17
|
-
export { getSdkHeaders } from './utils/http';
|
|
18
|
-
|
|
19
|
-
// Main SDK exports
|
|
20
|
-
export type {
|
|
21
|
-
ApiVersion,
|
|
22
|
-
DepositAddressOptions,
|
|
23
|
-
DestinationChain,
|
|
24
|
-
ExchangeRateOptions,
|
|
25
|
-
UnstakeOptions
|
|
26
|
-
} from './client/ApiNamespace';
|
|
27
|
-
export { ApiNamespace } from './client/ApiNamespace';
|
|
28
|
-
export { createConfig } from './client/createConfig';
|
|
29
|
-
export { createLombardSDK } from './client/createLombardSDK';
|
|
30
|
-
export { LombardSDK } from './client/LombardSDK';
|
|
31
|
-
export { PartnerConfiguration } from './client/PartnerConfiguration';
|
|
32
|
-
|
|
33
|
-
// Chain Actions (user-facing API)
|
|
34
|
-
export { BtcActions, btcActions } from './chains/btc/BtcActions';
|
|
35
|
-
export { EvmActions, evmActions } from './chains/evm/EvmActions';
|
|
36
|
-
export { SolanaActions, solanaActions } from './chains/solana/SolanaActions';
|
|
37
|
-
export {
|
|
38
|
-
StarknetActions,
|
|
39
|
-
starknetActions
|
|
40
|
-
} from './chains/starknet/StarknetActions';
|
|
41
|
-
export { SuiActions, suiActions } from './chains/sui/SuiActions';
|
|
42
|
-
|
|
43
|
-
// Shared EVM utilities (fee authorization)
|
|
44
|
-
export type { FeeAuthState } from './chains/evm/shared/feeAuth';
|
|
45
|
-
|
|
46
|
-
// Status constants (single export to avoid duplicates)
|
|
47
|
-
export {
|
|
48
|
-
BtcActionStatus,
|
|
49
|
-
EvmOperationStatus,
|
|
50
|
-
NonEvmUnstakeStatus
|
|
51
|
-
} from './shared/constants/statusConstants';
|
|
52
|
-
|
|
53
|
-
// Module exports
|
|
54
|
-
export { btcModule, type BtcService } from './modules/btcModule';
|
|
55
|
-
export type {
|
|
56
|
-
FeeAuthorizationResult,
|
|
57
|
-
StoredFeeSignature
|
|
58
|
-
} from './modules/evmModule';
|
|
59
|
-
export { evmModule, type EvmService } from './modules/evmModule';
|
|
60
|
-
|
|
61
|
-
// Context types
|
|
62
|
-
export type {
|
|
63
|
-
BtcCoreContext,
|
|
64
|
-
CoreContext,
|
|
65
|
-
EvmCoreContext,
|
|
66
|
-
EvmDestination,
|
|
67
|
-
Logger,
|
|
68
|
-
ProviderKey,
|
|
69
|
-
ProviderResolver,
|
|
70
|
-
SolanaDestination,
|
|
71
|
-
StarknetDestination,
|
|
72
|
-
SuiDestination
|
|
73
|
-
} from './shared/context';
|
|
74
|
-
|
|
75
|
-
// Configuration types
|
|
76
|
-
export type {
|
|
77
|
-
CreateConfigOptions,
|
|
78
|
-
CustomAsset,
|
|
79
|
-
LombardConfig,
|
|
80
|
-
LombardSDKOptions,
|
|
81
|
-
PartnerConfig,
|
|
82
|
-
ProviderGetter,
|
|
83
|
-
ProviderGetters
|
|
84
|
-
} from './config/types';
|
|
85
|
-
|
|
86
|
-
// Provider types
|
|
87
|
-
export type {
|
|
88
|
-
AnyProvider,
|
|
89
|
-
BtcProvider,
|
|
90
|
-
EvmProvider,
|
|
91
|
-
SolanaProvider,
|
|
92
|
-
StarknetProvider,
|
|
93
|
-
SuiProvider
|
|
94
|
-
} from './config/providers';
|
|
95
|
-
export {
|
|
96
|
-
isBtcProvider,
|
|
97
|
-
isEvmProvider,
|
|
98
|
-
isSolanaProvider,
|
|
99
|
-
isStarknetProvider,
|
|
100
|
-
isSuiProvider
|
|
101
|
-
} from './config/providers';
|
|
102
|
-
|
|
103
|
-
// Shared types
|
|
104
|
-
export type { ChainMetadata, DeployConfig, RouteParams, StrategyProgress } from './core';
|
|
105
|
-
export {
|
|
106
|
-
AssetId,
|
|
107
|
-
assetValueToKey, Chain,
|
|
108
|
-
// Chain utility functions
|
|
109
|
-
CHAIN_CATALOG, chainValueToKey, DeployProtocol,
|
|
110
|
-
Env, evmChainIdToChain,
|
|
111
|
-
getAllAssetChains,
|
|
112
|
-
getAssetAddress,
|
|
113
|
-
// Asset utility functions for dynamic chain discovery
|
|
114
|
-
getAssetChains,
|
|
115
|
-
getAssetChainsForEnvs,
|
|
116
|
-
getChainMetadata,
|
|
117
|
-
getChainName,
|
|
118
|
-
isAssetDeployed,
|
|
119
|
-
isAssetId,
|
|
120
|
-
isChain,
|
|
121
|
-
isEvmChain,
|
|
122
|
-
isMainnet,
|
|
123
|
-
isTestnet,
|
|
124
|
-
StepStatus,
|
|
125
|
-
StrategyStatus
|
|
126
|
-
} from './core';
|
|
127
|
-
|
|
128
|
-
// Event types
|
|
129
|
-
export type {
|
|
130
|
-
BridgeEventMap,
|
|
131
|
-
DeployEventMap,
|
|
132
|
-
DepositEventMap,
|
|
133
|
-
RedeemEventMap,
|
|
134
|
-
StakeEventMap,
|
|
135
|
-
StrategyEvent,
|
|
136
|
-
StrategyEventMap,
|
|
137
|
-
UnstakeEventMap
|
|
138
|
-
} from './shared/events';
|
|
139
|
-
export {
|
|
140
|
-
BridgeEvent,
|
|
141
|
-
DeployEvent,
|
|
142
|
-
DepositEvent,
|
|
143
|
-
RedeemEvent,
|
|
144
|
-
StakeEvent,
|
|
145
|
-
UnstakeEvent
|
|
146
|
-
} from './shared/events';
|
|
147
|
-
|
|
148
|
-
// Error handling
|
|
149
|
-
export {
|
|
150
|
-
ContractErrorCode,
|
|
151
|
-
ErrorCode, isLombardError, LombardError,
|
|
152
|
-
ProviderErrorCode,
|
|
153
|
-
RegistryErrorCode,
|
|
154
|
-
ValidationErrorCode, wrapError
|
|
155
|
-
} from './shared/errors';
|
|
156
|
-
|
|
157
|
-
// Action interfaces
|
|
158
|
-
export type { LogMeta, MonitorableAction } from './shared/actions/BaseAction';
|
|
159
|
-
|
|
160
|
-
// BTC types and direct actions
|
|
161
|
-
export type {
|
|
162
|
-
BtcDepositAndDeployParams,
|
|
163
|
-
BtcDepositAndDeployPrepareParams,
|
|
164
|
-
BtcDepositAndDeployProgress,
|
|
165
|
-
BtcDepositParams,
|
|
166
|
-
BtcDepositPrepareParams,
|
|
167
|
-
BtcDepositProgress,
|
|
168
|
-
BtcStakeAndDeployParams,
|
|
169
|
-
BtcStakeAndDeployPrepareParams,
|
|
170
|
-
BtcStakeAndDeployProgress,
|
|
171
|
-
BtcStakeParams,
|
|
172
|
-
BtcStakeProgress,
|
|
173
|
-
IBtcDeposit,
|
|
174
|
-
IBtcDepositAndDeploy,
|
|
175
|
-
IBtcStake,
|
|
176
|
-
IBtcStakeAndDeploy
|
|
177
|
-
} from './chains/btc';
|
|
178
|
-
export {
|
|
179
|
-
BtcDeposit,
|
|
180
|
-
BtcDepositAndDeploy,
|
|
181
|
-
BtcStake,
|
|
182
|
-
BtcStakeAndDeploy
|
|
183
|
-
} from './chains/btc';
|
|
184
|
-
|
|
185
|
-
// Note: Sync factory functions (btcStake, btcDeposit, etc.) are intentionally
|
|
186
|
-
// not exported. Use createLombardSDK() instead:
|
|
187
|
-
//
|
|
188
|
-
// const sdk = await createLombardSDK({ env: Env.prod, ... });
|
|
189
|
-
// const stake = sdk.chain.btc.stake({ ... });
|
|
190
|
-
//
|
|
191
|
-
// This ensures consistent behavior when remote catalog fetching is added in v4.1.
|
|
192
|
-
|
|
193
|
-
// EVM types and direct actions
|
|
194
|
-
export type {
|
|
195
|
-
EvmDeployParams,
|
|
196
|
-
EvmDeployPrepareParams,
|
|
197
|
-
EvmDeployProgress,
|
|
198
|
-
EvmDepositParams,
|
|
199
|
-
EvmDepositPrepareParams,
|
|
200
|
-
EvmDepositProgress,
|
|
201
|
-
EvmRedeemParams,
|
|
202
|
-
EvmRedeemPrepareParams,
|
|
203
|
-
EvmRedeemProgress,
|
|
204
|
-
EvmStakeParams,
|
|
205
|
-
EvmStakePrepareParams,
|
|
206
|
-
EvmStakeProgress,
|
|
207
|
-
EvmUnstakeParams,
|
|
208
|
-
EvmUnstakePrepareParams,
|
|
209
|
-
EvmUnstakeProgress,
|
|
210
|
-
IEvmDeploy,
|
|
211
|
-
IEvmDeposit,
|
|
212
|
-
IEvmRedeem,
|
|
213
|
-
IEvmStake,
|
|
214
|
-
IEvmUnstake
|
|
215
|
-
} from './chains/evm';
|
|
216
|
-
export {
|
|
217
|
-
EvmDeployStatus,
|
|
218
|
-
EvmDepositStatus,
|
|
219
|
-
EvmRedeemStatus,
|
|
220
|
-
EvmStakeStatus,
|
|
221
|
-
EvmUnstakeStatus
|
|
222
|
-
} from './chains/evm';
|
|
223
|
-
|
|
224
|
-
// Note: Sync factory functions (evmStake, evmUnstake, etc.) are intentionally
|
|
225
|
-
// not exported. Use createLombardSDK() instead:
|
|
226
|
-
//
|
|
227
|
-
// const sdk = await createLombardSDK({ env: Env.prod, ... });
|
|
228
|
-
// const unstake = sdk.chain.evm.unstake({ ... });
|
|
229
|
-
|
|
230
|
-
// Utils:
|
|
231
|
-
export * from './common/api-config';
|
|
232
|
-
export * from './common/blockchain-identifier';
|
|
233
|
-
export * from './common/chains';
|
|
234
|
-
export * from './common/fee-requirements';
|
|
235
|
-
|
|
236
|
-
// Token utilities
|
|
237
|
-
export * from './tokens/lbtc-addresses';
|
|
238
|
-
export * from './tokens/token-addresses';
|
|
239
|
-
export * from './tokens/tokens';
|
|
240
|
-
export * from './utils/satoshi';
|
|
241
|
-
|
|
242
|
-
// DeFi registry
|
|
243
|
-
export * from './defi';
|
|
244
|
-
|
|
245
|
-
// Metrics:
|
|
246
|
-
export {
|
|
247
|
-
getAdditionalRewards,
|
|
248
|
-
type RewardsDistribution
|
|
249
|
-
} from './metrics/get-additional-rewards';
|
|
250
|
-
export {
|
|
251
|
-
getApy,
|
|
252
|
-
getEstimatedApy,
|
|
253
|
-
type LbtcApy,
|
|
254
|
-
type LbtcEstimatedApy
|
|
255
|
-
} from './metrics/get-lbtc-apy';
|
|
256
|
-
export { getLBTCStats } from './metrics/get-lbtc-stats';
|
|
257
|
-
export {
|
|
258
|
-
getPositionsSummary,
|
|
259
|
-
type PositionsSummary
|
|
260
|
-
} from './metrics/get-positions-summary';
|
|
261
|
-
|
|
262
|
-
// Referrals
|
|
263
|
-
export { ReferralsClient } from './referrals';
|
|
264
|
-
export type {
|
|
265
|
-
ReferralLookupParams,
|
|
266
|
-
ReferralLookupResult
|
|
267
|
-
} from './referrals/ReferralsClient';
|
|
268
|
-
|
|
269
|
-
// API response types
|
|
270
|
-
export type { Deposit } from './api-functions/getDepositsByAddress/getDepositsByAddress';
|
|
271
|
-
export type { Unstake } from './api-functions/getUnstakesByAddress/getUnstakesByAddress';
|
|
272
|
-
export { PayoutTxStatus } from './api-functions/getUnstakesByAddress/getUnstakesByAddress';
|
|
273
|
-
|
|
274
|
-
// Deposit status utilities
|
|
275
|
-
export {
|
|
276
|
-
calcConfirmations, type ConfirmationProgress, depositRequiresAction, type DepositStatus,
|
|
277
|
-
type DepositStatusDisplay, getConfirmationProgress,
|
|
278
|
-
getDepositStatus,
|
|
279
|
-
getDepositStatusDisplay,
|
|
280
|
-
isDepositClaimable,
|
|
281
|
-
isDepositPending,
|
|
282
|
-
isDepositTerminal, MIN_CLAIM_AMOUNT_BTC,
|
|
283
|
-
REQUIRED_CONFIRMATIONS, type StatusSeverity
|
|
284
|
-
} from './shared/deposits';
|
|
285
|
-
|
|
286
|
-
// External types
|
|
287
|
-
export type { Address, EIP1193Provider } from 'viem';
|
|
288
|
-
|
|
289
|
-
// Contract/API functions
|
|
290
|
-
export * from './api-functions';
|
|
291
|
-
export * from './contract-functions';
|
|
292
|
-
|
|
293
|
-
// Vault:
|
|
294
|
-
export * from './vaults';
|
|
295
|
-
|
|
296
|
-
// Signer support (custom transaction signing):
|
|
297
|
-
export {
|
|
298
|
-
createAccountFromSigner,
|
|
299
|
-
createWalletClientFromSigner, type DispatchCallback,
|
|
300
|
-
type EvmTransactionRequest,
|
|
301
|
-
type SignerAdapter,
|
|
302
|
-
SignerError, validateTransactionRequest} from './clients/evm-signer-adapter';
|
|
303
|
-
|
|
304
|
-
// RPC URL configuration (for wagmi/viem setup):
|
|
305
|
-
export {
|
|
306
|
-
getRpcUrlConfig,
|
|
307
|
-
RPC_URL,
|
|
308
|
-
rpcUrlConfig,
|
|
309
|
-
type TRpcUrlConfig
|
|
310
|
-
} from './clients/rpc-url-config';
|
|
311
|
-
export {
|
|
312
|
-
type CommonSignerWriteParameters,
|
|
313
|
-
isProviderFlow,
|
|
314
|
-
isSignerFlow} from './common/parameters';
|
|
315
|
-
|
|
316
|
-
// Bridge:
|
|
317
|
-
export {
|
|
318
|
-
bridge,
|
|
319
|
-
bridgeCCIP, type BridgeCCIPParameters, bridgeOFT, type BridgeParameters,
|
|
320
|
-
getBridgeInfo, OFT_GAS_LIMIT,
|
|
321
|
-
OFT_HI_GAS_LIMIT,
|
|
322
|
-
OFT_HI_GAS_LIMIT_CHAINS} from './bridge';
|
|
323
|
-
|
|
324
|
-
// Debug:
|
|
325
|
-
export * from './debug-api';
|
|
326
|
-
|
|
327
|
-
// Internal utilities (used by apps/main):
|
|
328
|
-
export { makePublicClient } from './clients/public-client';
|
|
329
|
-
export {
|
|
330
|
-
getErrorMessage,
|
|
331
|
-
TokenContractAddressNotFoundError,
|
|
332
|
-
UnsupportedTokenFlow
|
|
333
|
-
} from './utils/err';
|
|
334
|
-
export { ensureHex, isHex } from './utils/hex';
|
|
335
|
-
export { DAY, HOUR, MINUTE, now, SECOND, toUnix } from './utils/time';
|
|
336
|
-
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import axios from 'axios';
|
|
2
|
-
import BigNumber from 'bignumber.js';
|
|
3
|
-
import { Address } from 'viem';
|
|
4
|
-
|
|
5
|
-
import { getApiConfig } from '../common/api-config';
|
|
6
|
-
import { IEnvParam } from '../common/parameters';
|
|
7
|
-
|
|
8
|
-
type Response = {
|
|
9
|
-
btc_distributed: { name: string; amount: number }[];
|
|
10
|
-
btc_undistributed: { name: string; amount: number }[];
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
export type RewardsDistribution = {
|
|
14
|
-
/**
|
|
15
|
-
* List of campaigns where rewards have been successfully distributed.
|
|
16
|
-
*/
|
|
17
|
-
distributed: {
|
|
18
|
-
/** Name of the reward campaign. */
|
|
19
|
-
name: string;
|
|
20
|
-
/** Amount of BTC distributed for this campaign. */
|
|
21
|
-
amount: BigNumber;
|
|
22
|
-
}[];
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* List of campaigns where rewards are pending or not yet distributed.
|
|
26
|
-
*/
|
|
27
|
-
undistributed: {
|
|
28
|
-
/** Name of the reward campaign. */
|
|
29
|
-
name: string;
|
|
30
|
-
/** Amount of BTC yet to be distributed. */
|
|
31
|
-
amount: BigNumber;
|
|
32
|
-
}[];
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Retrieves additional rewards that have been distributed or are pending
|
|
37
|
-
* for a specific account.
|
|
38
|
-
*/
|
|
39
|
-
export async function getAdditionalRewards({
|
|
40
|
-
account,
|
|
41
|
-
env,
|
|
42
|
-
}: {
|
|
43
|
-
account: Address;
|
|
44
|
-
} & IEnvParam) {
|
|
45
|
-
if (!account) {
|
|
46
|
-
throw new Error('Missing account address');
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
const { baseApiUrl } = getApiConfig(env);
|
|
50
|
-
|
|
51
|
-
const url = `${baseApiUrl}/api/v1/analytics/${account}/additional-rewards`;
|
|
52
|
-
const { data } = await axios.get<Response>(url);
|
|
53
|
-
|
|
54
|
-
const distribution: RewardsDistribution = {
|
|
55
|
-
distributed: data.btc_distributed.map(d => ({
|
|
56
|
-
amount: BigNumber(d.amount),
|
|
57
|
-
name: d.name,
|
|
58
|
-
})),
|
|
59
|
-
undistributed: data.btc_undistributed.map(u => ({
|
|
60
|
-
amount: BigNumber(u.amount),
|
|
61
|
-
name: u.name,
|
|
62
|
-
})),
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
return distribution;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
// url: https://bft-dev.stage.lombard-fi.com/api/v1/analytics/0x2513196b4fD01Ed5888d1dB49AB9a42208E9fF90/additional-rewards
|
|
69
|
-
// {"btc_distributed":[{"name":"ledger", "amount":0.7691864317643695}], "btc_undistributed":[{"name":"ledger", "amount":0.5699985451505658}]}
|