@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
package/src/core/chains/index.ts
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Core Chains Module
|
|
3
|
-
*
|
|
4
|
-
* Chain identifiers, catalog, and query functions.
|
|
5
|
-
*
|
|
6
|
-
* @module core/chains
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
// Types and constants
|
|
10
|
-
export type { ChainMetadata, ChainType } from './types';
|
|
11
|
-
export {
|
|
12
|
-
CAIP2_SEPARATOR,
|
|
13
|
-
Chain,
|
|
14
|
-
CHAIN_PREFIXES,
|
|
15
|
-
chainValueToKey,
|
|
16
|
-
isChain,
|
|
17
|
-
} from './types';
|
|
18
|
-
|
|
19
|
-
// Catalog
|
|
20
|
-
export { CHAIN_CATALOG } from './catalog';
|
|
21
|
-
|
|
22
|
-
// Query functions
|
|
23
|
-
export type { ChainTypeMetadata } from './utils';
|
|
24
|
-
export {
|
|
25
|
-
evmChainIdToChain,
|
|
26
|
-
getChainMetadata,
|
|
27
|
-
getChainName,
|
|
28
|
-
getChainsByType,
|
|
29
|
-
getChainType,
|
|
30
|
-
getChainTypeMetadata,
|
|
31
|
-
getExplorerAddressUrl,
|
|
32
|
-
getExplorerTxUrl,
|
|
33
|
-
getMainnetChains,
|
|
34
|
-
getTestnetChains,
|
|
35
|
-
isEvmChain,
|
|
36
|
-
isMainnet,
|
|
37
|
-
isTestnet,
|
|
38
|
-
parseChainIdentifier,
|
|
39
|
-
} from './utils';
|
package/src/core/chains/types.ts
DELETED
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Chain Types
|
|
3
|
-
*
|
|
4
|
-
* Type definitions and constants for chains.
|
|
5
|
-
*
|
|
6
|
-
* @module core/chains/types
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
10
|
-
// Chain Prefixes (CAIP-2 namespaces)
|
|
11
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* CAIP-2 namespace prefixes for chain identification.
|
|
15
|
-
*
|
|
16
|
-
* Official namespaces (registered with ChainAgnostic):
|
|
17
|
-
* - EIP155: EVM-compatible chains
|
|
18
|
-
* - BIP122: Bitcoin and Bitcoin-derived chains (uses genesis block hash as reference)
|
|
19
|
-
* - SOLANA: Solana blockchain
|
|
20
|
-
* - STARKNET: Starknet L2
|
|
21
|
-
*
|
|
22
|
-
* Unofficial namespaces (not yet registered, used for internal identification):
|
|
23
|
-
* - SUI: Sui blockchain (proposal pending)
|
|
24
|
-
* - ZCASH, RIPPLE, DOGECOIN, HYPERLIQUID: Internal use only
|
|
25
|
-
*
|
|
26
|
-
* @see https://chainagnostic.org/CAIPs/caip-2
|
|
27
|
-
* @see https://namespaces.chainagnostic.org
|
|
28
|
-
*/
|
|
29
|
-
export const CHAIN_PREFIXES = {
|
|
30
|
-
// Official CAIP-2 namespaces
|
|
31
|
-
BIP122: 'bip122',
|
|
32
|
-
EIP155: 'eip155',
|
|
33
|
-
SOLANA: 'solana',
|
|
34
|
-
STARKNET: 'starknet',
|
|
35
|
-
|
|
36
|
-
// Unofficial namespaces (internal use)
|
|
37
|
-
SUI: 'sui',
|
|
38
|
-
ZCASH: 'zcash',
|
|
39
|
-
RIPPLE: 'ripple',
|
|
40
|
-
DOGECOIN: 'dogecoin',
|
|
41
|
-
HYPERLIQUID: 'hyperliquid',
|
|
42
|
-
} as const;
|
|
43
|
-
|
|
44
|
-
/** CAIP-2 separator between namespace and reference */
|
|
45
|
-
export const CAIP2_SEPARATOR = ':' as const;
|
|
46
|
-
|
|
47
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
48
|
-
// Chain Constants
|
|
49
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
50
|
-
|
|
51
|
-
/** Helper to construct CAIP-2 identifier */
|
|
52
|
-
const caip2 = (prefix: string, reference: string | number) =>
|
|
53
|
-
`${prefix}${CAIP2_SEPARATOR}${reference}` as const;
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Canonical chain identifiers using CAIP-2 format.
|
|
57
|
-
*/
|
|
58
|
-
export const Chain = {
|
|
59
|
-
// Bitcoin chains (BIP122: first 32 chars of genesis block hash in little-endian)
|
|
60
|
-
BITCOIN_MAINNET: caip2(
|
|
61
|
-
CHAIN_PREFIXES.BIP122,
|
|
62
|
-
'000000000019d6689c085ae165831e93',
|
|
63
|
-
),
|
|
64
|
-
BITCOIN_SIGNET: caip2(
|
|
65
|
-
CHAIN_PREFIXES.BIP122,
|
|
66
|
-
'00000008819873e925422c1ff0f99f7c',
|
|
67
|
-
),
|
|
68
|
-
|
|
69
|
-
// EVM chains (EIP155: numeric chain ID)
|
|
70
|
-
ETHEREUM: caip2(CHAIN_PREFIXES.EIP155, 1),
|
|
71
|
-
BASE: caip2(CHAIN_PREFIXES.EIP155, 8453),
|
|
72
|
-
BASE_SEPOLIA: caip2(CHAIN_PREFIXES.EIP155, 84532),
|
|
73
|
-
OPTIMISM: caip2(CHAIN_PREFIXES.EIP155, 10),
|
|
74
|
-
POLYGON: caip2(CHAIN_PREFIXES.EIP155, 137),
|
|
75
|
-
BSC: caip2(CHAIN_PREFIXES.EIP155, 56),
|
|
76
|
-
BSC_TESTNET: caip2(CHAIN_PREFIXES.EIP155, 97),
|
|
77
|
-
AVALANCHE: caip2(CHAIN_PREFIXES.EIP155, 43114),
|
|
78
|
-
AVALANCHE_FUJI: caip2(CHAIN_PREFIXES.EIP155, 43113),
|
|
79
|
-
BERACHAIN: caip2(CHAIN_PREFIXES.EIP155, 80094),
|
|
80
|
-
BERACHAIN_BARTIO: caip2(CHAIN_PREFIXES.EIP155, 80084),
|
|
81
|
-
BOB: caip2(CHAIN_PREFIXES.EIP155, 60808),
|
|
82
|
-
CORN: caip2(CHAIN_PREFIXES.EIP155, 21000000),
|
|
83
|
-
ETHERLINK: caip2(CHAIN_PREFIXES.EIP155, 42793),
|
|
84
|
-
KATANA: caip2(CHAIN_PREFIXES.EIP155, 747474),
|
|
85
|
-
KATANA_TATARA: caip2(CHAIN_PREFIXES.EIP155, 129399),
|
|
86
|
-
MORPH: caip2(CHAIN_PREFIXES.EIP155, 2818),
|
|
87
|
-
SONIC: caip2(CHAIN_PREFIXES.EIP155, 146),
|
|
88
|
-
SONIC_TESTNET: caip2(CHAIN_PREFIXES.EIP155, 57054),
|
|
89
|
-
SONIC_BLAZE_TESTNET: caip2(CHAIN_PREFIXES.EIP155, 57054), // Alias
|
|
90
|
-
SWELL: caip2(CHAIN_PREFIXES.EIP155, 1923),
|
|
91
|
-
TAC: caip2(CHAIN_PREFIXES.EIP155, 239),
|
|
92
|
-
SEPOLIA: caip2(CHAIN_PREFIXES.EIP155, 11155111),
|
|
93
|
-
HOLESKY: caip2(CHAIN_PREFIXES.EIP155, 17000),
|
|
94
|
-
MEGAETH: caip2(CHAIN_PREFIXES.EIP155, 4326),
|
|
95
|
-
MONAD: caip2(CHAIN_PREFIXES.EIP155, 143),
|
|
96
|
-
STABLE: caip2(CHAIN_PREFIXES.EIP155, 988),
|
|
97
|
-
|
|
98
|
-
// Solana chains (first 32 chars of genesis hash)
|
|
99
|
-
SOLANA_MAINNET: caip2(
|
|
100
|
-
CHAIN_PREFIXES.SOLANA,
|
|
101
|
-
'5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',
|
|
102
|
-
),
|
|
103
|
-
SOLANA_DEVNET: caip2(
|
|
104
|
-
CHAIN_PREFIXES.SOLANA,
|
|
105
|
-
'EtWTRABZaYq6iMfeYKouRu166VU2xqa1',
|
|
106
|
-
),
|
|
107
|
-
SOLANA_TESTNET: caip2(
|
|
108
|
-
CHAIN_PREFIXES.SOLANA,
|
|
109
|
-
'4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z',
|
|
110
|
-
),
|
|
111
|
-
|
|
112
|
-
// Sui chains (unofficial namespace, using cluster names)
|
|
113
|
-
SUI_MAINNET: caip2(CHAIN_PREFIXES.SUI, 'mainnet'),
|
|
114
|
-
SUI_TESTNET: caip2(CHAIN_PREFIXES.SUI, 'testnet'),
|
|
115
|
-
SUI_DEVNET: caip2(CHAIN_PREFIXES.SUI, 'devnet'),
|
|
116
|
-
|
|
117
|
-
// Starknet chains (uses network identifiers)
|
|
118
|
-
STARKNET_MAINNET: caip2(CHAIN_PREFIXES.STARKNET, 'SN_MAIN'),
|
|
119
|
-
STARKNET_SEPOLIA: caip2(CHAIN_PREFIXES.STARKNET, 'SN_SEPOLIA'),
|
|
120
|
-
|
|
121
|
-
// Zcash (unofficial namespace)
|
|
122
|
-
ZCASH_MAINNET: caip2(CHAIN_PREFIXES.ZCASH, 'mainnet'),
|
|
123
|
-
ZCASH_TESTNET: caip2(CHAIN_PREFIXES.ZCASH, 'testnet'),
|
|
124
|
-
|
|
125
|
-
// Ripple (unofficial namespace)
|
|
126
|
-
RIPPLE_MAINNET: caip2(CHAIN_PREFIXES.RIPPLE, 'mainnet'),
|
|
127
|
-
RIPPLE_TESTNET: caip2(CHAIN_PREFIXES.RIPPLE, 'testnet'),
|
|
128
|
-
|
|
129
|
-
// Dogecoin (unofficial namespace)
|
|
130
|
-
DOGECOIN_MAINNET: caip2(CHAIN_PREFIXES.DOGECOIN, 'mainnet'),
|
|
131
|
-
DOGECOIN_TESTNET: caip2(CHAIN_PREFIXES.DOGECOIN, 'testnet'),
|
|
132
|
-
|
|
133
|
-
// Custodial (unofficial namespace)
|
|
134
|
-
HYPERLIQUID: caip2(CHAIN_PREFIXES.HYPERLIQUID, 'mainnet'),
|
|
135
|
-
} as const;
|
|
136
|
-
|
|
137
|
-
export type Chain = (typeof Chain)[keyof typeof Chain];
|
|
138
|
-
|
|
139
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
140
|
-
// Metadata Types
|
|
141
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
142
|
-
|
|
143
|
-
export type ChainType =
|
|
144
|
-
| 'bitcoin'
|
|
145
|
-
| 'evm'
|
|
146
|
-
| 'solana'
|
|
147
|
-
| 'sui'
|
|
148
|
-
| 'starknet'
|
|
149
|
-
| 'zcash'
|
|
150
|
-
| 'ripple'
|
|
151
|
-
| 'dogecoin'
|
|
152
|
-
| 'hyperliquid';
|
|
153
|
-
|
|
154
|
-
export interface ChainMetadata {
|
|
155
|
-
/** Human-readable chain name */
|
|
156
|
-
name: string;
|
|
157
|
-
/** Chain type/ecosystem */
|
|
158
|
-
type: ChainType;
|
|
159
|
-
/** Whether this is a testnet/devnet */
|
|
160
|
-
isTestnet: boolean;
|
|
161
|
-
/** Block explorer URL */
|
|
162
|
-
explorerUrl?: string;
|
|
163
|
-
/** Native currency symbol */
|
|
164
|
-
nativeCurrency?: string;
|
|
165
|
-
/** UI badge variant */
|
|
166
|
-
badgeVariant:
|
|
167
|
-
| 'primary'
|
|
168
|
-
| 'secondary'
|
|
169
|
-
| 'success'
|
|
170
|
-
| 'danger'
|
|
171
|
-
| 'warning'
|
|
172
|
-
| 'info';
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
176
|
-
// Type Utilities
|
|
177
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
178
|
-
|
|
179
|
-
/** Convert Chain value to its key name */
|
|
180
|
-
export function chainValueToKey(value: string): string {
|
|
181
|
-
return (
|
|
182
|
-
Object.keys(Chain).find(
|
|
183
|
-
key => Chain[key as keyof typeof Chain] === value,
|
|
184
|
-
) ?? ''
|
|
185
|
-
);
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
/** Type guard to check if a value is a valid Chain */
|
|
189
|
-
export function isChain(value: unknown): value is Chain {
|
|
190
|
-
return (
|
|
191
|
-
typeof value === 'string' && Object.values(Chain).includes(value as Chain)
|
|
192
|
-
);
|
|
193
|
-
}
|
package/src/core/chains/utils.ts
DELETED
|
@@ -1,245 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Chain Query Functions
|
|
3
|
-
*
|
|
4
|
-
* Utility functions for querying the chain catalog.
|
|
5
|
-
*
|
|
6
|
-
* @module core/chains/utils
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import {
|
|
10
|
-
ChainId,
|
|
11
|
-
isSolanaChain,
|
|
12
|
-
isSuiChain,
|
|
13
|
-
isValidChain,
|
|
14
|
-
SOLANA_DEVNET_CHAIN,
|
|
15
|
-
SOLANA_MAINNET_CHAIN,
|
|
16
|
-
SOLANA_TESTNET_CHAIN,
|
|
17
|
-
SolanaChain,
|
|
18
|
-
STARKNET_MAINNET_CHAIN,
|
|
19
|
-
STARKNET_SEPOLIA_CHAIN,
|
|
20
|
-
StarknetChainId,
|
|
21
|
-
SuiChain,
|
|
22
|
-
} from '../../common/chains';
|
|
23
|
-
import { LombardError, ValidationErrorCode } from '../../shared/errors';
|
|
24
|
-
import { CHAIN_CATALOG } from './catalog';
|
|
25
|
-
import {
|
|
26
|
-
CAIP2_SEPARATOR,
|
|
27
|
-
Chain,
|
|
28
|
-
CHAIN_PREFIXES,
|
|
29
|
-
ChainMetadata,
|
|
30
|
-
ChainType,
|
|
31
|
-
isChain,
|
|
32
|
-
} from './types';
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Maps CAIP-2 Solana genesis hash references to legacy SolanaChain constants.
|
|
36
|
-
*
|
|
37
|
-
* CAIP-2 uses the first 32 chars of the genesis block hash as the reference,
|
|
38
|
-
* while the legacy system uses network names like 'mainnet-beta', 'devnet', 'testnet'.
|
|
39
|
-
*
|
|
40
|
-
* Genesis hashes:
|
|
41
|
-
* - Mainnet: 5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp (full hash starts with 5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc65hiGPAejCtx5...)
|
|
42
|
-
* - Devnet: EtWTRABZaYq6iMfeYKouRu166VU2xqa1 (full hash starts with EtWTRABZaYq6iMfeYKouRu166VU2xqa1dT5ZqE8CjGWRXc...)
|
|
43
|
-
* - Testnet: 4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z (full hash starts with 4uhcVJyU9pJkvQyS88uRDiswHXSCkY3zUEzxnuRbtRMp8...)
|
|
44
|
-
*/
|
|
45
|
-
const SOLANA_GENESIS_TO_CHAIN: Record<string, SolanaChain> = {
|
|
46
|
-
'5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp': SOLANA_MAINNET_CHAIN,
|
|
47
|
-
'EtWTRABZaYq6iMfeYKouRu166VU2xqa1': SOLANA_DEVNET_CHAIN,
|
|
48
|
-
'4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z': SOLANA_TESTNET_CHAIN,
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Maps CAIP-2 Starknet network names to Starknet hex chain IDs.
|
|
53
|
-
*
|
|
54
|
-
* CAIP-2 uses human-readable network names (SN_MAIN, SN_SEPOLIA) as the reference,
|
|
55
|
-
* while Starknet SDK expects hex-encoded chain IDs.
|
|
56
|
-
*
|
|
57
|
-
* Mapping:
|
|
58
|
-
* - SN_MAIN → 0x534e5f4d41494e (hex of "SN_MAIN")
|
|
59
|
-
* - SN_SEPOLIA → 0x534e5f5345504f4c4941 (hex of "SN_SEPOLIA")
|
|
60
|
-
*/
|
|
61
|
-
const STARKNET_NETWORK_TO_CHAIN_ID: Record<string, StarknetChainId> = {
|
|
62
|
-
SN_MAIN: STARKNET_MAINNET_CHAIN,
|
|
63
|
-
SN_SEPOLIA: STARKNET_SEPOLIA_CHAIN,
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Converts a CAIP-2 Starknet network name to its hex chain ID.
|
|
68
|
-
*
|
|
69
|
-
* @param network - The network name from CAIP-2 (e.g., "SN_SEPOLIA")
|
|
70
|
-
* @returns The Starknet hex chain ID, or undefined if not found
|
|
71
|
-
*/
|
|
72
|
-
function starknetNetworkToChainId(network: string): StarknetChainId | undefined {
|
|
73
|
-
return STARKNET_NETWORK_TO_CHAIN_ID[network];
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/** Get chain metadata */
|
|
77
|
-
export function getChainMetadata(chain: Chain): ChainMetadata {
|
|
78
|
-
return CHAIN_CATALOG[chain];
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/** Get the human-readable name for a chain */
|
|
82
|
-
export function getChainName(chain: Chain): string {
|
|
83
|
-
return CHAIN_CATALOG[chain].name;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/** Get chain type */
|
|
87
|
-
export function getChainType(chain: Chain): ChainType {
|
|
88
|
-
return CHAIN_CATALOG[chain].type;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/** Check if a chain is a testnet */
|
|
92
|
-
export function isTestnet(chain: Chain): boolean {
|
|
93
|
-
return CHAIN_CATALOG[chain].isTestnet;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
/** Check if a chain is a mainnet */
|
|
97
|
-
export function isMainnet(chain: Chain): boolean {
|
|
98
|
-
return !CHAIN_CATALOG[chain].isTestnet;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
/** Check if a chain is an EVM chain */
|
|
102
|
-
export function isEvmChain(chain: Chain): boolean {
|
|
103
|
-
return CHAIN_CATALOG[chain].type === 'evm';
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
/** Get block explorer URL for an address */
|
|
107
|
-
export function getExplorerAddressUrl(
|
|
108
|
-
chain: Chain,
|
|
109
|
-
address: string,
|
|
110
|
-
): string | undefined {
|
|
111
|
-
const { explorerUrl } = CHAIN_CATALOG[chain];
|
|
112
|
-
if (!explorerUrl) return undefined;
|
|
113
|
-
return `${explorerUrl}/address/${address}`;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
/** Get block explorer URL for a transaction */
|
|
117
|
-
export function getExplorerTxUrl(
|
|
118
|
-
chain: Chain,
|
|
119
|
-
txHash: string,
|
|
120
|
-
): string | undefined {
|
|
121
|
-
const { explorerUrl } = CHAIN_CATALOG[chain];
|
|
122
|
-
if (!explorerUrl) return undefined;
|
|
123
|
-
return `${explorerUrl}/tx/${txHash}`;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
/** Get all mainnet chains */
|
|
127
|
-
export function getMainnetChains(): Chain[] {
|
|
128
|
-
return (Object.keys(CHAIN_CATALOG) as Chain[]).filter(
|
|
129
|
-
chain => !CHAIN_CATALOG[chain].isTestnet,
|
|
130
|
-
);
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
/** Get all testnet chains */
|
|
134
|
-
export function getTestnetChains(): Chain[] {
|
|
135
|
-
return (Object.keys(CHAIN_CATALOG) as Chain[]).filter(
|
|
136
|
-
chain => CHAIN_CATALOG[chain].isTestnet,
|
|
137
|
-
);
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
/** Get all chains of a specific type */
|
|
141
|
-
export function getChainsByType(type: ChainType): Chain[] {
|
|
142
|
-
return (Object.keys(CHAIN_CATALOG) as Chain[]).filter(
|
|
143
|
-
chain => CHAIN_CATALOG[chain].type === type,
|
|
144
|
-
);
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
/** Helper to get prefix with separator */
|
|
148
|
-
const withSeparator = (prefix: string) => `${prefix}${CAIP2_SEPARATOR}`;
|
|
149
|
-
|
|
150
|
-
/** Parse a CAIP-2 chain identifier into its native chain representation */
|
|
151
|
-
export function parseChainIdentifier(
|
|
152
|
-
chain: Chain,
|
|
153
|
-
): ChainId | SuiChain | SolanaChain | StarknetChainId {
|
|
154
|
-
const evmPrefix = withSeparator(CHAIN_PREFIXES.EIP155);
|
|
155
|
-
if (chain.startsWith(evmPrefix)) {
|
|
156
|
-
const chainId = Number.parseInt(chain.slice(evmPrefix.length), 10);
|
|
157
|
-
if (isValidChain(chainId)) return chainId;
|
|
158
|
-
throw new LombardError(
|
|
159
|
-
ValidationErrorCode.INVALID_CHAIN,
|
|
160
|
-
`Invalid EVM chain: ${chain}`,
|
|
161
|
-
);
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
const solanaPrefix = withSeparator(CHAIN_PREFIXES.SOLANA);
|
|
165
|
-
if (chain.startsWith(solanaPrefix)) {
|
|
166
|
-
const reference = chain.slice(solanaPrefix.length);
|
|
167
|
-
|
|
168
|
-
// First check if it's already in legacy format (e.g., 'mainnet-beta', 'devnet')
|
|
169
|
-
const legacyChain = `solana:${reference}`;
|
|
170
|
-
if (isSolanaChain(legacyChain)) return legacyChain as SolanaChain;
|
|
171
|
-
|
|
172
|
-
// Otherwise, map CAIP-2 genesis hash to legacy format
|
|
173
|
-
const mappedChain = SOLANA_GENESIS_TO_CHAIN[reference];
|
|
174
|
-
if (mappedChain) return mappedChain;
|
|
175
|
-
|
|
176
|
-
throw new LombardError(
|
|
177
|
-
ValidationErrorCode.INVALID_CHAIN,
|
|
178
|
-
`Invalid Solana chain: ${chain}`,
|
|
179
|
-
);
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
const suiPrefix = withSeparator(CHAIN_PREFIXES.SUI);
|
|
183
|
-
if (chain.startsWith(suiPrefix)) {
|
|
184
|
-
// isSuiChain expects the full chain ID (e.g., 'sui:testnet'), not just the network part
|
|
185
|
-
if (isSuiChain(chain)) return chain as SuiChain;
|
|
186
|
-
throw new LombardError(
|
|
187
|
-
ValidationErrorCode.INVALID_CHAIN,
|
|
188
|
-
`Invalid Sui chain: ${chain}`,
|
|
189
|
-
);
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
const starknetPrefix = withSeparator(CHAIN_PREFIXES.STARKNET);
|
|
193
|
-
if (chain.startsWith(starknetPrefix)) {
|
|
194
|
-
const network = chain.slice(starknetPrefix.length);
|
|
195
|
-
// Map CAIP-2 network names to Starknet hex chain IDs
|
|
196
|
-
const starknetChainId = starknetNetworkToChainId(network);
|
|
197
|
-
if (starknetChainId) return starknetChainId;
|
|
198
|
-
throw new LombardError(
|
|
199
|
-
ValidationErrorCode.INVALID_CHAIN,
|
|
200
|
-
`Invalid Starknet chain: ${chain}`,
|
|
201
|
-
);
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
throw new LombardError(
|
|
205
|
-
ValidationErrorCode.INVALID_CHAIN,
|
|
206
|
-
`Invalid chain: ${chain}`,
|
|
207
|
-
);
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
/**
|
|
211
|
-
* Convert an EVM ChainId (number) to a Chain (CAIP-2 string).
|
|
212
|
-
*
|
|
213
|
-
* @param chainId - Numeric EVM chain ID
|
|
214
|
-
* @returns CAIP-2 chain identifier
|
|
215
|
-
*
|
|
216
|
-
* @example
|
|
217
|
-
* ```typescript
|
|
218
|
-
* evmChainIdToChain(1) // "eip155:1" (Ethereum)
|
|
219
|
-
* evmChainIdToChain(43114) // "eip155:43114" (Avalanche)
|
|
220
|
-
* ```
|
|
221
|
-
*/
|
|
222
|
-
export function evmChainIdToChain(chainId: ChainId): Chain {
|
|
223
|
-
return `${CHAIN_PREFIXES.EIP155}${CAIP2_SEPARATOR}${chainId}` as Chain;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
/** @deprecated Use getChainMetadata instead */
|
|
227
|
-
export interface ChainTypeMetadata {
|
|
228
|
-
type: string;
|
|
229
|
-
label: string;
|
|
230
|
-
variant: 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
/** @deprecated Use getChainMetadata instead */
|
|
234
|
-
export function getChainTypeMetadata(chain: Chain | string): ChainTypeMetadata {
|
|
235
|
-
if (isChain(chain)) {
|
|
236
|
-
const meta = CHAIN_CATALOG[chain];
|
|
237
|
-
return {
|
|
238
|
-
type: meta.type,
|
|
239
|
-
label: meta.type.toUpperCase(),
|
|
240
|
-
variant: meta.badgeVariant,
|
|
241
|
-
};
|
|
242
|
-
}
|
|
243
|
-
const prefix = chain.split(':')[0];
|
|
244
|
-
return { type: prefix, label: prefix.toUpperCase(), variant: 'secondary' };
|
|
245
|
-
}
|
package/src/core/index.ts
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Core Module
|
|
3
|
-
*
|
|
4
|
-
* Foundational definitions for chains, assets, and common types.
|
|
5
|
-
*
|
|
6
|
-
* @module core
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
10
|
-
// Chain exports
|
|
11
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
12
|
-
|
|
13
|
-
export type { ChainMetadata, ChainType, ChainTypeMetadata } from './chains';
|
|
14
|
-
export {
|
|
15
|
-
CAIP2_SEPARATOR,
|
|
16
|
-
Chain,
|
|
17
|
-
CHAIN_CATALOG,
|
|
18
|
-
CHAIN_PREFIXES,
|
|
19
|
-
chainValueToKey,
|
|
20
|
-
evmChainIdToChain,
|
|
21
|
-
getChainMetadata,
|
|
22
|
-
getChainName,
|
|
23
|
-
getChainsByType,
|
|
24
|
-
getChainType,
|
|
25
|
-
getChainTypeMetadata,
|
|
26
|
-
getExplorerAddressUrl,
|
|
27
|
-
getExplorerTxUrl,
|
|
28
|
-
getMainnetChains,
|
|
29
|
-
getTestnetChains,
|
|
30
|
-
isChain,
|
|
31
|
-
isEvmChain,
|
|
32
|
-
isMainnet,
|
|
33
|
-
isTestnet,
|
|
34
|
-
parseChainIdentifier,
|
|
35
|
-
} from './chains';
|
|
36
|
-
|
|
37
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
38
|
-
// Asset exports
|
|
39
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
40
|
-
|
|
41
|
-
export type { AssetCatalog, AssetEntry, Deployment } from './assets';
|
|
42
|
-
export {
|
|
43
|
-
ASSET_CATALOG,
|
|
44
|
-
AssetId,
|
|
45
|
-
assetValueToKey,
|
|
46
|
-
getAllAssetChains,
|
|
47
|
-
getAssetAddress,
|
|
48
|
-
getAssetByAddress,
|
|
49
|
-
getAssetChains,
|
|
50
|
-
getAssetChainsForEnvs,
|
|
51
|
-
getAssetDecimals,
|
|
52
|
-
getAssetDisplayName,
|
|
53
|
-
getAssetEnvironments,
|
|
54
|
-
getAssetMetadata,
|
|
55
|
-
getAssetRouter,
|
|
56
|
-
getBridgeAdapter,
|
|
57
|
-
getChainsWithAllAssets,
|
|
58
|
-
getEvmAssetChains,
|
|
59
|
-
getEvmChainsWithAllAssets,
|
|
60
|
-
getPublicMarketMaker,
|
|
61
|
-
getSupportedAssets,
|
|
62
|
-
isAssetDeployed,
|
|
63
|
-
isAssetId,
|
|
64
|
-
usesAssetRouter,
|
|
65
|
-
} from './assets';
|
|
66
|
-
|
|
67
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
68
|
-
// Common types
|
|
69
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
70
|
-
|
|
71
|
-
export type { DeployConfig, RouteParams, StrategyProgress } from './types';
|
|
72
|
-
export { DeployProtocol, Env, StepStatus, StrategyStatus } from './types';
|
package/src/core/types.ts
DELETED
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Core Types
|
|
3
|
-
*
|
|
4
|
-
* Common types used across the Lombard SDK.
|
|
5
|
-
*
|
|
6
|
-
* @module core/types
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import type { AssetId } from './assets';
|
|
10
|
-
import type { Chain } from './chains';
|
|
11
|
-
|
|
12
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
13
|
-
// Strategy Types
|
|
14
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Common strategy statuses across all operation types
|
|
18
|
-
*/
|
|
19
|
-
export const StrategyStatus = {
|
|
20
|
-
IDLE: 'idle',
|
|
21
|
-
PREPARING: 'preparing',
|
|
22
|
-
READY: 'ready',
|
|
23
|
-
EXECUTING: 'executing',
|
|
24
|
-
COMPLETED: 'completed',
|
|
25
|
-
FAILED: 'failed',
|
|
26
|
-
} as const;
|
|
27
|
-
|
|
28
|
-
export type StrategyStatus =
|
|
29
|
-
(typeof StrategyStatus)[keyof typeof StrategyStatus];
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Step status for progress tracking
|
|
33
|
-
*/
|
|
34
|
-
export const StepStatus = {
|
|
35
|
-
IDLE: 'idle',
|
|
36
|
-
PENDING: 'pending',
|
|
37
|
-
COMPLETE: 'complete',
|
|
38
|
-
FAILED: 'failed',
|
|
39
|
-
} as const;
|
|
40
|
-
|
|
41
|
-
export type StepStatus = (typeof StepStatus)[keyof typeof StepStatus];
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Progress information for strategy execution
|
|
45
|
-
*/
|
|
46
|
-
export interface StrategyProgress<TStatus extends string> {
|
|
47
|
-
/** Current strategy status */
|
|
48
|
-
status: TStatus;
|
|
49
|
-
|
|
50
|
-
/** Individual step statuses (keys vary by strategy) */
|
|
51
|
-
steps: Record<string, StepStatus>;
|
|
52
|
-
|
|
53
|
-
/** Optional: Current confirmations for blockchain transactions */
|
|
54
|
-
confirmations?: number;
|
|
55
|
-
|
|
56
|
-
/** Optional: Required confirmations for completion */
|
|
57
|
-
requiredConfirmations?: number;
|
|
58
|
-
|
|
59
|
-
/** Optional: Additional metadata specific to the strategy */
|
|
60
|
-
metadata?: Record<string, unknown>;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
64
|
-
// Route Types
|
|
65
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Route parameters for registry lookups
|
|
69
|
-
*/
|
|
70
|
-
export interface RouteParams {
|
|
71
|
-
/** Input asset (optional for some operations like deposits) */
|
|
72
|
-
assetIn?: AssetId;
|
|
73
|
-
|
|
74
|
-
/** Output asset */
|
|
75
|
-
assetOut: AssetId;
|
|
76
|
-
|
|
77
|
-
/** Source blockchain (optional for some operations) */
|
|
78
|
-
sourceChain?: Chain;
|
|
79
|
-
|
|
80
|
-
/** Destination blockchain */
|
|
81
|
-
destChain: Chain;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
85
|
-
// Deploy Types
|
|
86
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Deploy protocol identifiers
|
|
90
|
-
*
|
|
91
|
-
* Re-exported from defi-registry.ts which is the single source of truth.
|
|
92
|
-
* Use DefiProtocol.Veda ('veda') or DefiProtocol.Silo ('silo').
|
|
93
|
-
*/
|
|
94
|
-
export {
|
|
95
|
-
type DefiProtocol,
|
|
96
|
-
DefiProtocol as DeployProtocol,
|
|
97
|
-
} from '../defi/defi-registry';
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Deploy configuration for stake-and-deploy operations
|
|
101
|
-
*/
|
|
102
|
-
export interface DeployConfig {
|
|
103
|
-
/** Target protocol (use DeployProtocol.Veda or DeployProtocol.Silo) */
|
|
104
|
-
protocol: string;
|
|
105
|
-
|
|
106
|
-
/** Optional: Amount to deploy (partial deployment) */
|
|
107
|
-
amount?: bigint;
|
|
108
|
-
|
|
109
|
-
/** Optional: Slippage tolerance in basis points (e.g., 50 = 0.5%) */
|
|
110
|
-
slippage?: number;
|
|
111
|
-
|
|
112
|
-
/** Optional: Deadline timestamp for the deployment transaction */
|
|
113
|
-
deadline?: number;
|
|
114
|
-
|
|
115
|
-
/** Optional: Protocol-specific options */
|
|
116
|
-
options?: Record<string, unknown>;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
120
|
-
// Re-exports
|
|
121
|
-
// ═══════════════════════════════════════════════════════════════════════════
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* Re-export Env from sdk-common for convenience
|
|
125
|
-
*/
|
|
126
|
-
export { Env } from '@lombard.finance/sdk-common';
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Env } from '@lombard.finance/sdk-common';
|
|
2
|
-
import axios from 'axios';
|
|
3
|
-
|
|
4
|
-
import { getApiConfig } from '../common/api-config';
|
|
5
|
-
|
|
6
|
-
type BtcScriptToAddressResponse = {
|
|
7
|
-
btc_address: string;
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export const fetchBtcScriptToAddress = async (btcScript: string, env?: Env) => {
|
|
11
|
-
const { baseApiUrl } = getApiConfig(env);
|
|
12
|
-
try {
|
|
13
|
-
const { data } = await axios.get<BtcScriptToAddressResponse>(
|
|
14
|
-
`${baseApiUrl}/api/v1/debug/btc-script-to-address/${btcScript}`,
|
|
15
|
-
);
|
|
16
|
-
return data.btc_address;
|
|
17
|
-
} catch {
|
|
18
|
-
return undefined;
|
|
19
|
-
}
|
|
20
|
-
};
|