@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
|
@@ -208,7 +208,7 @@ export declare const VAULTS: {
|
|
|
208
208
|
readonly tellerContracts: Record<1 | 8453 | 56 | 21000000, ContractInfo>;
|
|
209
209
|
readonly withdrawQueueContracts: Record<1 | 8453 | 56 | 21000000, ContractInfo>;
|
|
210
210
|
readonly queueWithdrawDiscountPercent: "0.01";
|
|
211
|
-
readonly queueWithdrawDaysValid: "
|
|
211
|
+
readonly queueWithdrawDaysValid: "14";
|
|
212
212
|
};
|
|
213
213
|
};
|
|
214
214
|
export {};
|
package/package.json
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lombard.finance/sdk",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.1.2",
|
|
4
4
|
"dependencies": {
|
|
5
5
|
"@lombard.finance/sdk-common": "^3.3.1",
|
|
6
6
|
"isows": "^1.0.7",
|
|
7
|
-
"viem": "^2.23.15"
|
|
8
|
-
"vite": "^6.3.5"
|
|
7
|
+
"viem": "^2.23.15"
|
|
9
8
|
},
|
|
10
9
|
"devDependencies": {
|
|
11
10
|
"@chromatic-com/storybook": "1.6.1",
|
|
@@ -26,11 +25,12 @@
|
|
|
26
25
|
"storybook": "^8.2.9",
|
|
27
26
|
"typedoc": "^0.26.6",
|
|
28
27
|
"typescript": "^5.4.5",
|
|
28
|
+
"vite": "^6.3.5",
|
|
29
29
|
"vitest": "^3.2.4",
|
|
30
30
|
"wagmi": "^2.14.15"
|
|
31
31
|
},
|
|
32
32
|
"engines": {
|
|
33
|
-
"node": ">=
|
|
33
|
+
"node": ">= 18.0.0"
|
|
34
34
|
},
|
|
35
35
|
"exports": {
|
|
36
36
|
".": {
|
|
@@ -51,16 +51,15 @@
|
|
|
51
51
|
},
|
|
52
52
|
"files": [
|
|
53
53
|
"dist",
|
|
54
|
-
"src",
|
|
55
54
|
"CHANGELOG.md"
|
|
56
55
|
],
|
|
57
56
|
"license": "MIT",
|
|
58
57
|
"peerDependencies": {
|
|
59
|
-
"@bitcoinerlab/secp256k1": "1.2.0",
|
|
60
|
-
"@layerzerolabs/lz-v2-utilities": "3.0.17",
|
|
58
|
+
"@bitcoinerlab/secp256k1": "^1.2.0",
|
|
59
|
+
"@layerzerolabs/lz-v2-utilities": "^3.0.17",
|
|
61
60
|
"axios": "^1",
|
|
62
61
|
"bignumber.js": "^9",
|
|
63
|
-
"bitcoinjs-lib": "6.1.5"
|
|
62
|
+
"bitcoinjs-lib": "^6.1.5"
|
|
64
63
|
},
|
|
65
64
|
"scripts": {
|
|
66
65
|
"build": "yarn types && vite build && yarn build-types",
|
|
@@ -1,234 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AssetNamespace Tests
|
|
3
|
-
*
|
|
4
|
-
* Tests the new namespaced asset API
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { Env } from '@lombard.finance/sdk-common';
|
|
8
|
-
import { describe, expect, it } from 'vitest';
|
|
9
|
-
|
|
10
|
-
import { LombardSDK } from '../client/LombardSDK';
|
|
11
|
-
import { AssetId, Chain } from '../core';
|
|
12
|
-
import { createTestConfig } from './helpers/createTestConfig';
|
|
13
|
-
|
|
14
|
-
describe('AssetNamespace', () => {
|
|
15
|
-
describe('SDK Integration', () => {
|
|
16
|
-
it('should be accessible via sdk.assets', () => {
|
|
17
|
-
const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
|
|
18
|
-
expect(sdk.assets).toBeDefined();
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
it('should respect SDK environment', () => {
|
|
22
|
-
const prodSdk = new LombardSDK(createTestConfig({ env: Env.prod }));
|
|
23
|
-
const testnetSdk = new LombardSDK(createTestConfig({ env: Env.testnet }));
|
|
24
|
-
|
|
25
|
-
const prodAddress = prodSdk.assets.getAddress(
|
|
26
|
-
AssetId.LBTC,
|
|
27
|
-
Chain.ETHEREUM,
|
|
28
|
-
);
|
|
29
|
-
const testnetAddress = testnetSdk.assets.getAddress(
|
|
30
|
-
AssetId.LBTC,
|
|
31
|
-
Chain.SEPOLIA,
|
|
32
|
-
);
|
|
33
|
-
|
|
34
|
-
expect(prodAddress).toBe('0x8236a87084f8b84306f72007f36f2618a5634494');
|
|
35
|
-
expect(testnetAddress).toBe('0xc47e4b3124597fdf8dd07843d4a7052f2ee80c30');
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
describe('getConfig', () => {
|
|
40
|
-
it('should return config with specific type inference', () => {
|
|
41
|
-
const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
|
|
42
|
-
expect(sdk.assets.getAddress(AssetId.LBTC, Chain.ETHEREUM)).toBe(
|
|
43
|
-
'0x8236a87084f8b84306f72007f36f2618a5634494',
|
|
44
|
-
);
|
|
45
|
-
expect(sdk.assets.getDecimals(AssetId.LBTC)).toBe(8);
|
|
46
|
-
// EVM chains don't use asset router - only Starknet does
|
|
47
|
-
expect(sdk.assets.usesAssetRouter(AssetId.LBTC, Chain.ETHEREUM)).toBe(
|
|
48
|
-
false,
|
|
49
|
-
);
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
it('should return undefined for non-deployed asset', () => {
|
|
53
|
-
const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
|
|
54
|
-
expect(
|
|
55
|
-
sdk.assets.getAddress(AssetId.LBTC, Chain.SEPOLIA),
|
|
56
|
-
).toBeUndefined();
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
describe('getAddress', () => {
|
|
61
|
-
it('should return token address', () => {
|
|
62
|
-
const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
|
|
63
|
-
const address = sdk.assets.getAddress(AssetId.LBTC, Chain.ETHEREUM);
|
|
64
|
-
|
|
65
|
-
expect(address).toBe('0x8236a87084f8b84306f72007f36f2618a5634494');
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
it('should return undefined for non-deployed asset', () => {
|
|
69
|
-
const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
|
|
70
|
-
const address = sdk.assets.getAddress(AssetId.LBTC, Chain.SEPOLIA);
|
|
71
|
-
|
|
72
|
-
expect(address).toBeUndefined();
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
describe('getDecimals', () => {
|
|
77
|
-
it('should return token decimals', () => {
|
|
78
|
-
const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
|
|
79
|
-
expect(sdk.assets.getDecimals(AssetId.LBTC)).toBe(8);
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
it('should return 8 for non-deployed asset (default)', () => {
|
|
83
|
-
const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
|
|
84
|
-
expect(sdk.assets.getDecimals(AssetId.LBTC)).toBe(8);
|
|
85
|
-
});
|
|
86
|
-
});
|
|
87
|
-
|
|
88
|
-
describe('usesAssetRouter', () => {
|
|
89
|
-
it('should return true for LBTC on Starknet (has asset router)', () => {
|
|
90
|
-
const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
|
|
91
|
-
const usesRouter = sdk.assets.usesAssetRouter(
|
|
92
|
-
AssetId.LBTC,
|
|
93
|
-
Chain.STARKNET_MAINNET,
|
|
94
|
-
);
|
|
95
|
-
|
|
96
|
-
expect(usesRouter).toBe(true);
|
|
97
|
-
});
|
|
98
|
-
|
|
99
|
-
it('should return false for LBTC on Ethereum (no asset router)', () => {
|
|
100
|
-
const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
|
|
101
|
-
const usesRouter = sdk.assets.usesAssetRouter(
|
|
102
|
-
AssetId.LBTC,
|
|
103
|
-
Chain.ETHEREUM,
|
|
104
|
-
);
|
|
105
|
-
|
|
106
|
-
expect(usesRouter).toBe(false);
|
|
107
|
-
});
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
describe('getAssetRouter', () => {
|
|
111
|
-
it('should return asset router for Starknet mainnet', () => {
|
|
112
|
-
const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
|
|
113
|
-
const router = sdk.assets.getAssetRouter(
|
|
114
|
-
AssetId.LBTC,
|
|
115
|
-
Chain.STARKNET_MAINNET,
|
|
116
|
-
);
|
|
117
|
-
|
|
118
|
-
expect(router).toBe(
|
|
119
|
-
'0x05b1886d0f844ab930fc0ee066f1655a873437f15a5d2c41ee3e884fd5299976',
|
|
120
|
-
);
|
|
121
|
-
});
|
|
122
|
-
|
|
123
|
-
it('should return undefined for EVM chains', () => {
|
|
124
|
-
const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
|
|
125
|
-
const router = sdk.assets.getAssetRouter(AssetId.LBTC, Chain.ETHEREUM);
|
|
126
|
-
|
|
127
|
-
expect(router).toBeUndefined();
|
|
128
|
-
});
|
|
129
|
-
});
|
|
130
|
-
|
|
131
|
-
describe('getBridgeAdapter', () => {
|
|
132
|
-
it('should return bridge adapter for BTCb on Avalanche Fuji', () => {
|
|
133
|
-
const sdk = new LombardSDK(createTestConfig({ env: Env.dev }));
|
|
134
|
-
const adapter = sdk.assets.getBridgeAdapter(
|
|
135
|
-
AssetId.BTCb,
|
|
136
|
-
Chain.AVALANCHE_FUJI,
|
|
137
|
-
);
|
|
138
|
-
|
|
139
|
-
expect(adapter).toBe('0x0A65C37d07c32E5eA8ea40495b7f249cdE26935e');
|
|
140
|
-
});
|
|
141
|
-
|
|
142
|
-
it('should return undefined for assets without bridge adapter', () => {
|
|
143
|
-
const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
|
|
144
|
-
const adapter = sdk.assets.getBridgeAdapter(AssetId.LBTC, Chain.ETHEREUM);
|
|
145
|
-
|
|
146
|
-
expect(adapter).toBeUndefined();
|
|
147
|
-
});
|
|
148
|
-
});
|
|
149
|
-
|
|
150
|
-
describe('getByAddress', () => {
|
|
151
|
-
it('should find asset by address (reverse lookup)', () => {
|
|
152
|
-
const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
|
|
153
|
-
const asset = sdk.assets.getByAddress(
|
|
154
|
-
'0x8236a87084f8b84306f72007f36f2618a5634494',
|
|
155
|
-
Chain.ETHEREUM,
|
|
156
|
-
);
|
|
157
|
-
|
|
158
|
-
expect(asset).toBe(AssetId.LBTC);
|
|
159
|
-
});
|
|
160
|
-
|
|
161
|
-
it('should return undefined for unknown address', () => {
|
|
162
|
-
const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
|
|
163
|
-
const asset = sdk.assets.getByAddress('0x1234567890', Chain.ETHEREUM);
|
|
164
|
-
|
|
165
|
-
expect(asset).toBeUndefined();
|
|
166
|
-
});
|
|
167
|
-
});
|
|
168
|
-
|
|
169
|
-
describe('isDeployed', () => {
|
|
170
|
-
it('should return true for deployed asset', () => {
|
|
171
|
-
const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
|
|
172
|
-
const deployed = sdk.assets.isDeployed(AssetId.LBTC, Chain.ETHEREUM);
|
|
173
|
-
|
|
174
|
-
expect(deployed).toBe(true);
|
|
175
|
-
});
|
|
176
|
-
|
|
177
|
-
it('should return false for non-deployed asset', () => {
|
|
178
|
-
const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
|
|
179
|
-
const deployed = sdk.assets.isDeployed(AssetId.LBTC, Chain.SEPOLIA);
|
|
180
|
-
|
|
181
|
-
expect(deployed).toBe(false);
|
|
182
|
-
});
|
|
183
|
-
});
|
|
184
|
-
|
|
185
|
-
describe('getChains', () => {
|
|
186
|
-
it('should return all chains where LBTC is deployed in prod', () => {
|
|
187
|
-
const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
|
|
188
|
-
const chains = sdk.assets.getChains(AssetId.LBTC);
|
|
189
|
-
|
|
190
|
-
expect(chains).toContain(Chain.ETHEREUM);
|
|
191
|
-
expect(chains).toContain(Chain.BASE);
|
|
192
|
-
expect(chains).toContain(Chain.BSC);
|
|
193
|
-
expect(chains).toContain(Chain.SOLANA_MAINNET);
|
|
194
|
-
expect(chains.length).toBeGreaterThan(5);
|
|
195
|
-
});
|
|
196
|
-
});
|
|
197
|
-
|
|
198
|
-
describe('getEnvironments', () => {
|
|
199
|
-
it('should return all environments where LBTC is deployed on Ethereum', () => {
|
|
200
|
-
const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
|
|
201
|
-
const envs = sdk.assets.getEnvironments(AssetId.LBTC, Chain.ETHEREUM);
|
|
202
|
-
|
|
203
|
-
expect(envs).toContain(Env.prod);
|
|
204
|
-
expect(envs.length).toBe(1); // Only prod on Ethereum mainnet
|
|
205
|
-
});
|
|
206
|
-
|
|
207
|
-
it('should return multiple environments for Sepolia', () => {
|
|
208
|
-
const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
|
|
209
|
-
const envs = sdk.assets.getEnvironments(AssetId.LBTC, Chain.SEPOLIA);
|
|
210
|
-
|
|
211
|
-
expect(envs).toContain(Env.testnet);
|
|
212
|
-
expect(envs).toContain(Env.stage);
|
|
213
|
-
expect(envs).toContain(Env.dev);
|
|
214
|
-
});
|
|
215
|
-
});
|
|
216
|
-
|
|
217
|
-
describe('registry', () => {
|
|
218
|
-
it('should provide direct registry access', () => {
|
|
219
|
-
const sdk = new LombardSDK(createTestConfig({ env: Env.prod }));
|
|
220
|
-
const catalog = sdk.assets.getCatalog();
|
|
221
|
-
|
|
222
|
-
// Catalog structure: { version, assets: { [AssetId]: AssetEntry } }
|
|
223
|
-
expect(catalog.version).toBeDefined();
|
|
224
|
-
expect(catalog.assets).toBeDefined();
|
|
225
|
-
expect(Object.keys(catalog.assets)).toContain(AssetId.LBTC);
|
|
226
|
-
|
|
227
|
-
const asset = catalog.assets[AssetId.LBTC];
|
|
228
|
-
expect(asset).toBeDefined();
|
|
229
|
-
expect(asset?.decimals).toBe(8);
|
|
230
|
-
expect(asset?.deployments).toBeDefined();
|
|
231
|
-
expect(asset?.deployments.length).toBeGreaterThan(0);
|
|
232
|
-
});
|
|
233
|
-
});
|
|
234
|
-
});
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Test Configuration Helper
|
|
3
|
-
*
|
|
4
|
-
* Provides a synchronous config creation for tests.
|
|
5
|
-
* Uses bundled catalog directly to avoid async in test setup.
|
|
6
|
-
*
|
|
7
|
-
* @module __tests__/helpers/createTestConfig
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import type { AnyModule, ProviderKey } from '@lombard.finance/sdk-common';
|
|
11
|
-
|
|
12
|
-
import type {
|
|
13
|
-
CreateConfigOptions,
|
|
14
|
-
ResolvedLombardConfig,
|
|
15
|
-
} from '../../config/types';
|
|
16
|
-
import { ASSET_CATALOG } from '../../core/assets/catalog';
|
|
17
|
-
import { apiModule } from '../../modules/apiModule';
|
|
18
|
-
import { btcModule } from '../../modules/btcModule';
|
|
19
|
-
import { evmModule } from '../../modules/evmModule';
|
|
20
|
-
import { LombardError } from '../../shared/errors';
|
|
21
|
-
|
|
22
|
-
function mergeModules(provided: readonly AnyModule[] | undefined): AnyModule[] {
|
|
23
|
-
const modules = new Map<string, AnyModule>();
|
|
24
|
-
const builtIns: AnyModule[] = [btcModule(), evmModule(), apiModule()];
|
|
25
|
-
for (const mod of builtIns) {
|
|
26
|
-
modules.set(mod.id, mod);
|
|
27
|
-
}
|
|
28
|
-
if (provided) {
|
|
29
|
-
for (const mod of provided) {
|
|
30
|
-
modules.set(mod.id, mod);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return Array.from(modules.values());
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
function hasProvider(
|
|
37
|
-
config: Pick<ResolvedLombardConfig, 'providers'>,
|
|
38
|
-
key: ProviderKey,
|
|
39
|
-
): boolean {
|
|
40
|
-
return Boolean(config.providers?.[key]);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
function ensureProviders(
|
|
44
|
-
modules: readonly AnyModule[],
|
|
45
|
-
config: Pick<ResolvedLombardConfig, 'providers'>,
|
|
46
|
-
): void {
|
|
47
|
-
for (const mod of modules) {
|
|
48
|
-
for (const key of mod.requiresProviders ?? []) {
|
|
49
|
-
if (!hasProvider(config, key)) {
|
|
50
|
-
throw LombardError.providerMissing(key, key);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Create SDK config synchronously for tests
|
|
58
|
-
*
|
|
59
|
-
* This creates a ResolvedLombardConfig with the bundled catalog directly.
|
|
60
|
-
* Only use this in tests - production code should use createLombardSDK().
|
|
61
|
-
*
|
|
62
|
-
* @param options - Configuration options
|
|
63
|
-
* @returns ResolvedLombardConfig with bundled catalog
|
|
64
|
-
*/
|
|
65
|
-
export function createTestConfig(
|
|
66
|
-
options: CreateConfigOptions,
|
|
67
|
-
): ResolvedLombardConfig {
|
|
68
|
-
if (!options.env) {
|
|
69
|
-
throw LombardError.missingParameter('env');
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
const modules = mergeModules(
|
|
73
|
-
options.modules as readonly AnyModule[] | undefined,
|
|
74
|
-
);
|
|
75
|
-
|
|
76
|
-
const config: ResolvedLombardConfig = {
|
|
77
|
-
env: options.env,
|
|
78
|
-
providers: options.providers || {},
|
|
79
|
-
modules,
|
|
80
|
-
catalog: ASSET_CATALOG,
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
if (options.partner) {
|
|
84
|
-
config.partner = options.partner;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
ensureProviders(modules, config);
|
|
88
|
-
|
|
89
|
-
return config;
|
|
90
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Automint Fee Contract Read Verification
|
|
3
|
-
*
|
|
4
|
-
* Validates that automint fees are non-zero where expected using read-only
|
|
5
|
-
* contract calls (no signing or funds required).
|
|
6
|
-
*
|
|
7
|
-
* @module __tests__/integration/automint-fee.integration.test.ts
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import { Env } from '@lombard.finance/sdk-common';
|
|
11
|
-
import BigNumber from 'bignumber.js';
|
|
12
|
-
import { describe, expect, it } from 'vitest';
|
|
13
|
-
|
|
14
|
-
import { ChainId } from '../../common/chains';
|
|
15
|
-
import { getMintingFee } from '../../contract-functions/getLBTCMintingFee/getLBTCMintingFee';
|
|
16
|
-
import { Token,TOKEN_ADDRESSES } from '../../tokens/token-addresses';
|
|
17
|
-
|
|
18
|
-
const RUN_CONTRACT_CHECKS = process.env.ENABLE_CONTRACT_CHECKS === 'true';
|
|
19
|
-
const runIfEnabled = RUN_CONTRACT_CHECKS ? describe : describe.skip;
|
|
20
|
-
|
|
21
|
-
const TIMEOUT = 90_000;
|
|
22
|
-
|
|
23
|
-
function expectNonZeroFee(fee: BigNumber, label: string) {
|
|
24
|
-
expect(fee.isGreaterThan(0), `${label} should be > 0 BTC`).toBe(true);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
function hasTokenAddress(token: Token, chainId: ChainId, env: Env): boolean {
|
|
28
|
-
const entry = TOKEN_ADDRESSES[token]?.[env]?.[chainId];
|
|
29
|
-
return Boolean(entry);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
runIfEnabled('Automint Fee Contract Reads', () => {
|
|
33
|
-
it(
|
|
34
|
-
'returns non-zero LBTC minting fee on Sepolia stage and Ethereum prod',
|
|
35
|
-
async () => {
|
|
36
|
-
if (hasTokenAddress(Token.LBTC, ChainId.sepolia, Env.stage)) {
|
|
37
|
-
const sepoliaStageFee = await getMintingFee({
|
|
38
|
-
token: Token.LBTC,
|
|
39
|
-
chainId: ChainId.sepolia,
|
|
40
|
-
env: Env.stage,
|
|
41
|
-
});
|
|
42
|
-
expectNonZeroFee(sepoliaStageFee, 'Sepolia (stage) LBTC');
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
if (hasTokenAddress(Token.LBTC, ChainId.ethereum, Env.prod)) {
|
|
46
|
-
const ethereumProdFee = await getMintingFee({
|
|
47
|
-
token: Token.LBTC,
|
|
48
|
-
chainId: ChainId.ethereum,
|
|
49
|
-
env: Env.prod,
|
|
50
|
-
});
|
|
51
|
-
expectNonZeroFee(ethereumProdFee, 'Ethereum (prod) LBTC');
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
TIMEOUT,
|
|
55
|
-
);
|
|
56
|
-
|
|
57
|
-
it(
|
|
58
|
-
'returns non-zero BTC.b minting fee on Sepolia stage when configured',
|
|
59
|
-
async () => {
|
|
60
|
-
if (!hasTokenAddress(Token.BTCb, ChainId.sepolia, Env.stage)) {
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
const sepoliaStageFee = await getMintingFee({
|
|
65
|
-
token: Token.BTCb,
|
|
66
|
-
chainId: ChainId.sepolia,
|
|
67
|
-
env: Env.stage,
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
expectNonZeroFee(sepoliaStageFee, 'Sepolia (stage) BTC.b');
|
|
71
|
-
},
|
|
72
|
-
TIMEOUT,
|
|
73
|
-
);
|
|
74
|
-
});
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* BTC Deposit Integration Tests
|
|
3
|
-
*
|
|
4
|
-
* Tests BTC Deposit action with mocked API responses.
|
|
5
|
-
*
|
|
6
|
-
* @module __tests__/integration/btc-deposit.integration.test.ts
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import { Env } from '@lombard.finance/sdk-common';
|
|
10
|
-
import { beforeEach,describe, expect, it, vi } from 'vitest';
|
|
11
|
-
|
|
12
|
-
import { btcDeposit } from '../../chains/btc/actions/deposit';
|
|
13
|
-
import { AssetId, Chain } from '../../index';
|
|
14
|
-
import { createTestConfig as createConfig } from '../helpers/createTestConfig';
|
|
15
|
-
|
|
16
|
-
// Mock EIP1193 Provider
|
|
17
|
-
const createMockProvider = () => ({
|
|
18
|
-
// EIP-1193 event methods required by the EvmProvider type
|
|
19
|
-
on: vi.fn(),
|
|
20
|
-
removeListener: vi.fn(),
|
|
21
|
-
request: vi.fn().mockImplementation(async ({ method }) => {
|
|
22
|
-
switch (method) {
|
|
23
|
-
case 'eth_chainId':
|
|
24
|
-
return '0xa869'; // Avalanche Fuji
|
|
25
|
-
case 'eth_accounts':
|
|
26
|
-
return ['0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0'];
|
|
27
|
-
case 'personal_sign':
|
|
28
|
-
case 'eth_signTypedData_v4':
|
|
29
|
-
return '0xmocksignature';
|
|
30
|
-
default:
|
|
31
|
-
return null;
|
|
32
|
-
}
|
|
33
|
-
}),
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
describe('BTC Deposit Integration', () => {
|
|
37
|
-
let mockProvider: ReturnType<typeof createMockProvider>;
|
|
38
|
-
|
|
39
|
-
beforeEach(() => {
|
|
40
|
-
vi.clearAllMocks();
|
|
41
|
-
mockProvider = createMockProvider();
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
describe('Action Creation', () => {
|
|
45
|
-
it('should create BTC deposit action for Avalanche Fuji', () => {
|
|
46
|
-
const config = createConfig({
|
|
47
|
-
env: Env.testnet,
|
|
48
|
-
providers: { evm: () => mockProvider },
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
const deposit = btcDeposit(config, {
|
|
52
|
-
assetOut: AssetId.BTCb,
|
|
53
|
-
destChain: Chain.AVALANCHE_FUJI,
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
expect(deposit).toBeDefined();
|
|
57
|
-
expect(deposit.status).toBe('idle');
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
it('should reject LBTC as output asset', () => {
|
|
61
|
-
const config = createConfig({
|
|
62
|
-
env: Env.testnet,
|
|
63
|
-
providers: { evm: () => mockProvider },
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
expect(() => {
|
|
67
|
-
btcDeposit(config, {
|
|
68
|
-
assetOut: AssetId.LBTC,
|
|
69
|
-
destChain: Chain.AVALANCHE_FUJI,
|
|
70
|
-
});
|
|
71
|
-
}).toThrow(/not supported for BTC deposits/);
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
describe('Status Transitions', () => {
|
|
76
|
-
it('should start in idle status', () => {
|
|
77
|
-
const config = createConfig({
|
|
78
|
-
env: Env.testnet,
|
|
79
|
-
providers: { evm: () => mockProvider },
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
const deposit = btcDeposit(config, {
|
|
83
|
-
assetOut: AssetId.BTCb,
|
|
84
|
-
destChain: Chain.AVALANCHE_FUJI,
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
expect(deposit.status).toBe('idle');
|
|
88
|
-
expect(deposit.isLoading).toBe(false);
|
|
89
|
-
expect(deposit.error).toBeNull();
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
describe('Property Access', () => {
|
|
94
|
-
it('should expose action params', () => {
|
|
95
|
-
const config = createConfig({
|
|
96
|
-
env: Env.testnet,
|
|
97
|
-
providers: { evm: () => mockProvider },
|
|
98
|
-
});
|
|
99
|
-
|
|
100
|
-
const deposit = btcDeposit(config, {
|
|
101
|
-
assetOut: AssetId.BTCb,
|
|
102
|
-
destChain: Chain.AVALANCHE_FUJI,
|
|
103
|
-
});
|
|
104
|
-
|
|
105
|
-
expect(deposit.status).toBe('idle');
|
|
106
|
-
});
|
|
107
|
-
});
|
|
108
|
-
});
|
|
109
|
-
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* BTC Stake And Deploy Integration Tests
|
|
3
|
-
*
|
|
4
|
-
* Tests BTC Stake And Deploy action with mocked API responses.
|
|
5
|
-
*
|
|
6
|
-
* @module __tests__/integration/btc-stake-and-deploy.integration.test.ts
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import { Env } from '@lombard.finance/sdk-common';
|
|
10
|
-
import { beforeEach,describe, expect, it, vi } from 'vitest';
|
|
11
|
-
|
|
12
|
-
import { btcStakeAndDeploy } from '../../chains/btc/actions/stakeAndDeploy';
|
|
13
|
-
import { AssetId, Chain } from '../../index';
|
|
14
|
-
import { createTestConfig as createConfig } from '../helpers/createTestConfig';
|
|
15
|
-
|
|
16
|
-
// Mock EIP1193 Provider
|
|
17
|
-
const createMockProvider = () => ({
|
|
18
|
-
// EIP-1193 event methods required by the EvmProvider type
|
|
19
|
-
on: vi.fn(),
|
|
20
|
-
removeListener: vi.fn(),
|
|
21
|
-
request: vi.fn().mockImplementation(async ({ method }) => {
|
|
22
|
-
switch (method) {
|
|
23
|
-
case 'eth_chainId':
|
|
24
|
-
return '0x1'; // Ethereum mainnet
|
|
25
|
-
case 'eth_accounts':
|
|
26
|
-
return ['0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0'];
|
|
27
|
-
case 'personal_sign':
|
|
28
|
-
case 'eth_signTypedData_v4':
|
|
29
|
-
return '0xmocksignature';
|
|
30
|
-
default:
|
|
31
|
-
return null;
|
|
32
|
-
}
|
|
33
|
-
}),
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
describe('BTC Stake And Deploy Integration', () => {
|
|
37
|
-
let mockProvider: ReturnType<typeof createMockProvider>;
|
|
38
|
-
|
|
39
|
-
beforeEach(() => {
|
|
40
|
-
vi.clearAllMocks();
|
|
41
|
-
mockProvider = createMockProvider();
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
describe('Action Creation', () => {
|
|
45
|
-
it('should create stake and deploy action for Ethereum', () => {
|
|
46
|
-
const config = createConfig({
|
|
47
|
-
env: Env.prod,
|
|
48
|
-
providers: { evm: () => mockProvider },
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
const stakeAndDeploy = btcStakeAndDeploy(config, {
|
|
52
|
-
assetOut: AssetId.LBTC,
|
|
53
|
-
destChain: Chain.ETHEREUM,
|
|
54
|
-
protocol: 'veda', // Use Veda protocol from DefiRegistry
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
expect(stakeAndDeploy).toBeDefined();
|
|
58
|
-
expect(stakeAndDeploy.status).toBe('idle');
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
it('should reject BTCb as output asset', () => {
|
|
62
|
-
const config = createConfig({
|
|
63
|
-
env: Env.prod,
|
|
64
|
-
providers: { evm: () => mockProvider },
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
expect(() => {
|
|
68
|
-
btcStakeAndDeploy(config, {
|
|
69
|
-
assetOut: AssetId.BTCb,
|
|
70
|
-
destChain: Chain.ETHEREUM,
|
|
71
|
-
protocol: 'veda', // Use Veda protocol from DefiRegistry
|
|
72
|
-
});
|
|
73
|
-
}).toThrow(/not supported/);
|
|
74
|
-
});
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
describe('Status Transitions', () => {
|
|
78
|
-
it('should start in idle status', () => {
|
|
79
|
-
const config = createConfig({
|
|
80
|
-
env: Env.prod,
|
|
81
|
-
providers: { evm: () => mockProvider },
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
const stakeAndDeploy = btcStakeAndDeploy(config, {
|
|
85
|
-
assetOut: AssetId.LBTC,
|
|
86
|
-
destChain: Chain.ETHEREUM,
|
|
87
|
-
protocol: 'veda', // Use Veda protocol from DefiRegistry
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
expect(stakeAndDeploy.status).toBe('idle');
|
|
91
|
-
expect(stakeAndDeploy.isLoading).toBe(false);
|
|
92
|
-
expect(stakeAndDeploy.error).toBeNull();
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
});
|
|
96
|
-
|