@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/utils/err.ts
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { Env } from '@lombard.finance/sdk-common';
|
|
2
|
-
import { AxiosError } from 'axios';
|
|
3
|
-
|
|
4
|
-
import { ChainId } from '../common/chains';
|
|
5
|
-
import { Token } from '../tokens/token-addresses';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Retrieves the error message from the given error object.
|
|
9
|
-
*
|
|
10
|
-
* @param error - The error object.
|
|
11
|
-
* @returns The error message as a string.
|
|
12
|
-
*/
|
|
13
|
-
export function getErrorMessage(error: unknown): string {
|
|
14
|
-
if (typeof error === 'string') {
|
|
15
|
-
return error;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
const hasDataMessage = (err: unknown): err is { data: { message: string } } =>
|
|
19
|
-
Boolean(
|
|
20
|
-
err &&
|
|
21
|
-
typeof err === 'object' &&
|
|
22
|
-
'data' in err &&
|
|
23
|
-
err.data &&
|
|
24
|
-
typeof err.data === 'object' &&
|
|
25
|
-
'message' in err.data &&
|
|
26
|
-
err?.data?.message &&
|
|
27
|
-
typeof err.data.message === 'string',
|
|
28
|
-
);
|
|
29
|
-
|
|
30
|
-
if (hasDataMessage(error)) {
|
|
31
|
-
return error.data.message;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
if (error instanceof Error) {
|
|
35
|
-
return getAxiosErrorMessage(error as AxiosError);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return getErrorMessageFromObject(error);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function getAxiosErrorMessage(error: AxiosError): string {
|
|
42
|
-
if (error.response) {
|
|
43
|
-
return (error.response.data as { message: string }).message;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return error.message;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
function getErrorMessageFromObject(error: unknown): string {
|
|
50
|
-
if (
|
|
51
|
-
error &&
|
|
52
|
-
typeof error === 'object' &&
|
|
53
|
-
'message' in error &&
|
|
54
|
-
typeof error.message === 'string'
|
|
55
|
-
) {
|
|
56
|
-
return error.message;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
return 'Unknown error';
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
export class TokenContractAddressNotFoundError extends Error {
|
|
63
|
-
constructor(
|
|
64
|
-
public readonly token: Token,
|
|
65
|
-
public readonly chainId: ChainId,
|
|
66
|
-
env?: Env,
|
|
67
|
-
) {
|
|
68
|
-
const message = `Could not determine the ${token} contract address for given chain id: ${chainId} (env: ${env || 'undefined'})`;
|
|
69
|
-
super(message);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
export class UnsupportedTokenFlow extends Error {
|
|
74
|
-
constructor(
|
|
75
|
-
public readonly tokenIn: Token,
|
|
76
|
-
public readonly tokenOut: Token | string,
|
|
77
|
-
public readonly chainId: ChainId,
|
|
78
|
-
env?: Env,
|
|
79
|
-
) {
|
|
80
|
-
const message = `The flow of ${tokenIn} to ${tokenOut} on ${chainId} (env: ${env || 'undefined'}) is not supported`;
|
|
81
|
-
super(message);
|
|
82
|
-
}
|
|
83
|
-
}
|
package/src/utils/evmAccount.ts
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import type { Address } from 'viem';
|
|
2
|
-
|
|
3
|
-
import type { EvmProvider } from '../config/providers';
|
|
4
|
-
|
|
5
|
-
export class WalletError extends Error {
|
|
6
|
-
constructor(message: string, options?: ErrorOptions) {
|
|
7
|
-
super(message, options);
|
|
8
|
-
this.name = 'WalletError';
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Retrieve the active EVM account from an EIP-1193 provider.
|
|
14
|
-
*
|
|
15
|
-
* Attempts a silent `eth_accounts` call first, then falls back to
|
|
16
|
-
* `eth_requestAccounts` to prompt the wallet if necessary.
|
|
17
|
-
*/
|
|
18
|
-
export async function getActiveEvmAccount(
|
|
19
|
-
provider: EvmProvider,
|
|
20
|
-
): Promise<Address> {
|
|
21
|
-
try {
|
|
22
|
-
const accounts = (await provider.request({
|
|
23
|
-
method: 'eth_accounts',
|
|
24
|
-
})) as string[] | undefined;
|
|
25
|
-
|
|
26
|
-
const account =
|
|
27
|
-
accounts?.[0] ??
|
|
28
|
-
(
|
|
29
|
-
(await provider.request({
|
|
30
|
-
method: 'eth_requestAccounts',
|
|
31
|
-
})) as string[] | undefined
|
|
32
|
-
)?.[0];
|
|
33
|
-
|
|
34
|
-
if (!account) {
|
|
35
|
-
throw new WalletError('Wallet not connected');
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return account as Address;
|
|
39
|
-
} catch (error) {
|
|
40
|
-
if (error instanceof WalletError) {
|
|
41
|
-
throw error;
|
|
42
|
-
}
|
|
43
|
-
throw new WalletError('Failed to retrieve wallet account', {
|
|
44
|
-
cause: error as Error,
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
}
|
package/src/utils/gas.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import BigNumber from 'bignumber.js';
|
|
2
|
-
import { PublicClient } from 'viem';
|
|
3
|
-
|
|
4
|
-
export const estimateGasFees = async (
|
|
5
|
-
publicClient: PublicClient,
|
|
6
|
-
callData: Parameters<PublicClient['estimateContractGas']>[0],
|
|
7
|
-
overwriteMaxPriorityFeePerGas?: bigint,
|
|
8
|
-
) => {
|
|
9
|
-
const fees = await publicClient.estimateFeesPerGas();
|
|
10
|
-
|
|
11
|
-
const multiplier = BigNumber(String(fees.maxFeePerGas)).dividedBy(
|
|
12
|
-
String(fees.maxPriorityFeePerGas),
|
|
13
|
-
);
|
|
14
|
-
|
|
15
|
-
const maxPriorityFeePerGas = overwriteMaxPriorityFeePerGas
|
|
16
|
-
? overwriteMaxPriorityFeePerGas
|
|
17
|
-
: fees.maxPriorityFeePerGas;
|
|
18
|
-
|
|
19
|
-
const maxFeePerGas = overwriteMaxPriorityFeePerGas
|
|
20
|
-
? BigInt(
|
|
21
|
-
BigNumber(String(maxPriorityFeePerGas))
|
|
22
|
-
.multipliedBy(multiplier)
|
|
23
|
-
.toFixed(0),
|
|
24
|
-
)
|
|
25
|
-
: fees.maxFeePerGas;
|
|
26
|
-
|
|
27
|
-
const gas = await publicClient.estimateContractGas(callData);
|
|
28
|
-
|
|
29
|
-
const gasEstimationData = {
|
|
30
|
-
gas,
|
|
31
|
-
maxFeePerGas,
|
|
32
|
-
maxPriorityFeePerGas,
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
return gasEstimationData;
|
|
36
|
-
};
|
package/src/utils/hex.ts
DELETED
package/src/utils/http.ts
DELETED
|
@@ -1,224 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* HTTP Request Utilities
|
|
3
|
-
*
|
|
4
|
-
* Centralized HTTP request wrapper that:
|
|
5
|
-
* - Adds SDK version headers to all requests
|
|
6
|
-
* - Supports optional logging via Logger interface
|
|
7
|
-
* - Tracks request duration for performance monitoring
|
|
8
|
-
* - Provides consistent error handling
|
|
9
|
-
*
|
|
10
|
-
* @module utils/http
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
import axios, { type AxiosRequestConfig, type AxiosResponse } from 'axios';
|
|
14
|
-
|
|
15
|
-
import type { Logger } from '../shared/context/types';
|
|
16
|
-
import { SDK_RUNTIME, SDK_VERSION } from '../version';
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* HTTP request options
|
|
20
|
-
*/
|
|
21
|
-
export interface HttpRequestOptions {
|
|
22
|
-
/** Request URL (full URL or path if baseURL provided) */
|
|
23
|
-
url: string;
|
|
24
|
-
|
|
25
|
-
/** HTTP method (defaults to GET) */
|
|
26
|
-
method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
|
|
27
|
-
|
|
28
|
-
/** Base URL for the request */
|
|
29
|
-
baseURL?: string;
|
|
30
|
-
|
|
31
|
-
/** Query parameters */
|
|
32
|
-
params?: Record<string, unknown>;
|
|
33
|
-
|
|
34
|
-
/** Request body (for POST/PUT/PATCH) */
|
|
35
|
-
body?: unknown;
|
|
36
|
-
|
|
37
|
-
/** Additional headers */
|
|
38
|
-
headers?: Record<string, string>;
|
|
39
|
-
|
|
40
|
-
/** Optional logger for request/response logging */
|
|
41
|
-
logger?: Logger;
|
|
42
|
-
|
|
43
|
-
/** Request timeout in milliseconds (default: 30000) */
|
|
44
|
-
timeout?: number;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* HTTP response with timing information
|
|
49
|
-
*/
|
|
50
|
-
export interface HttpResponse<T> {
|
|
51
|
-
/** Response data */
|
|
52
|
-
data: T;
|
|
53
|
-
|
|
54
|
-
/** HTTP status code */
|
|
55
|
-
status: number;
|
|
56
|
-
|
|
57
|
-
/** Request duration in milliseconds */
|
|
58
|
-
duration: number;
|
|
59
|
-
|
|
60
|
-
/** Response headers */
|
|
61
|
-
headers: Record<string, string>;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* SDK headers added to all requests
|
|
66
|
-
*
|
|
67
|
-
* These headers help with:
|
|
68
|
-
* - Backend analytics (tracking SDK version usage)
|
|
69
|
-
* - Debugging (correlating errors with SDK version)
|
|
70
|
-
* - Support (identifying client environment)
|
|
71
|
-
*/
|
|
72
|
-
export function getSdkHeaders(): Record<string, string> {
|
|
73
|
-
return {
|
|
74
|
-
'X-SDK-Version': SDK_VERSION,
|
|
75
|
-
'X-SDK-Runtime': SDK_RUNTIME,
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Make an HTTP request with SDK headers and optional logging
|
|
81
|
-
*
|
|
82
|
-
* @param options - Request options
|
|
83
|
-
* @returns Promise resolving to response with timing data
|
|
84
|
-
*
|
|
85
|
-
* @example
|
|
86
|
-
* ```typescript
|
|
87
|
-
* // Simple GET request
|
|
88
|
-
* const { data, duration } = await httpRequest({
|
|
89
|
-
* url: 'https://api.lombard.finance/deposits',
|
|
90
|
-
* params: { address: '0x...' },
|
|
91
|
-
* });
|
|
92
|
-
*
|
|
93
|
-
* // With logging
|
|
94
|
-
* const { data } = await httpRequest({
|
|
95
|
-
* url: '/api/v1/points',
|
|
96
|
-
* baseURL: 'https://mainnet.prod.lombard.finance',
|
|
97
|
-
* logger: myLogger,
|
|
98
|
-
* });
|
|
99
|
-
* ```
|
|
100
|
-
*/
|
|
101
|
-
export async function httpRequest<T = unknown>(
|
|
102
|
-
options: HttpRequestOptions,
|
|
103
|
-
): Promise<HttpResponse<T>> {
|
|
104
|
-
const {
|
|
105
|
-
url,
|
|
106
|
-
method = 'GET',
|
|
107
|
-
baseURL,
|
|
108
|
-
params,
|
|
109
|
-
body,
|
|
110
|
-
headers = {},
|
|
111
|
-
logger,
|
|
112
|
-
timeout = 30000,
|
|
113
|
-
} = options;
|
|
114
|
-
|
|
115
|
-
const startTime = performance.now();
|
|
116
|
-
|
|
117
|
-
// Merge SDK headers with custom headers
|
|
118
|
-
const mergedHeaders = {
|
|
119
|
-
...getSdkHeaders(),
|
|
120
|
-
'Content-Type': 'application/json',
|
|
121
|
-
...headers,
|
|
122
|
-
};
|
|
123
|
-
|
|
124
|
-
const config: AxiosRequestConfig = {
|
|
125
|
-
url,
|
|
126
|
-
method,
|
|
127
|
-
baseURL,
|
|
128
|
-
params,
|
|
129
|
-
data: body,
|
|
130
|
-
headers: mergedHeaders,
|
|
131
|
-
timeout,
|
|
132
|
-
};
|
|
133
|
-
|
|
134
|
-
// Log request if logger provided
|
|
135
|
-
if (logger) {
|
|
136
|
-
logger.debug('HTTP Request', {
|
|
137
|
-
method,
|
|
138
|
-
url: baseURL ? `${baseURL}${url}` : url,
|
|
139
|
-
params,
|
|
140
|
-
hasBody: !!body,
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
try {
|
|
145
|
-
const response: AxiosResponse<T> = await axios(config);
|
|
146
|
-
const duration = performance.now() - startTime;
|
|
147
|
-
|
|
148
|
-
// Log successful response
|
|
149
|
-
if (logger) {
|
|
150
|
-
logger.debug('HTTP Response', {
|
|
151
|
-
method,
|
|
152
|
-
url: baseURL ? `${baseURL}${url}` : url,
|
|
153
|
-
status: response.status,
|
|
154
|
-
duration: Math.round(duration),
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
return {
|
|
159
|
-
data: response.data,
|
|
160
|
-
status: response.status,
|
|
161
|
-
duration,
|
|
162
|
-
headers: response.headers as Record<string, string>,
|
|
163
|
-
};
|
|
164
|
-
} catch (error) {
|
|
165
|
-
const duration = performance.now() - startTime;
|
|
166
|
-
|
|
167
|
-
// Log error
|
|
168
|
-
if (logger) {
|
|
169
|
-
const axiosError = axios.isAxiosError(error) ? error : null;
|
|
170
|
-
logger.error('HTTP Error', {
|
|
171
|
-
method,
|
|
172
|
-
url: baseURL ? `${baseURL}${url}` : url,
|
|
173
|
-
status: axiosError?.response?.status,
|
|
174
|
-
duration: Math.round(duration),
|
|
175
|
-
message: axiosError?.message || String(error),
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
throw error;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Convenience method for GET requests
|
|
185
|
-
*/
|
|
186
|
-
export async function httpGet<T = unknown>(
|
|
187
|
-
url: string,
|
|
188
|
-
options: Omit<HttpRequestOptions, 'url' | 'method' | 'body'> = {},
|
|
189
|
-
): Promise<HttpResponse<T>> {
|
|
190
|
-
return httpRequest<T>({ ...options, url, method: 'GET' });
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
* Convenience method for POST requests
|
|
195
|
-
*/
|
|
196
|
-
export async function httpPost<T = unknown>(
|
|
197
|
-
url: string,
|
|
198
|
-
body?: unknown,
|
|
199
|
-
options: Omit<HttpRequestOptions, 'url' | 'method' | 'body'> = {},
|
|
200
|
-
): Promise<HttpResponse<T>> {
|
|
201
|
-
return httpRequest<T>({ ...options, url, method: 'POST', body });
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
/**
|
|
205
|
-
* Convenience method for PUT requests
|
|
206
|
-
*/
|
|
207
|
-
export async function httpPut<T = unknown>(
|
|
208
|
-
url: string,
|
|
209
|
-
body?: unknown,
|
|
210
|
-
options: Omit<HttpRequestOptions, 'url' | 'method' | 'body'> = {},
|
|
211
|
-
): Promise<HttpResponse<T>> {
|
|
212
|
-
return httpRequest<T>({ ...options, url, method: 'PUT', body });
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
/**
|
|
216
|
-
* Convenience method for DELETE requests
|
|
217
|
-
*/
|
|
218
|
-
export async function httpDelete<T = unknown>(
|
|
219
|
-
url: string,
|
|
220
|
-
options: Omit<HttpRequestOptions, 'url' | 'method' | 'body'> = {},
|
|
221
|
-
): Promise<HttpResponse<T>> {
|
|
222
|
-
return httpRequest<T>({ ...options, url, method: 'DELETE' });
|
|
223
|
-
}
|
|
224
|
-
|
package/src/utils/numbers.ts
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import BigNumber from 'bignumber.js';
|
|
2
|
-
|
|
3
|
-
export const ZERO = BigNumber(0);
|
|
4
|
-
export const ONE = BigNumber(1);
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Converts an integer value to BigInt.
|
|
8
|
-
*
|
|
9
|
-
* IMPORTANT: Input must already be in base units (satoshis, wei, etc).
|
|
10
|
-
* - For BTC amounts: use `toSatoshi(btcAmount)` first
|
|
11
|
-
* - For token amounts: use `toBaseDenomination(amount, decimals)` first
|
|
12
|
-
*
|
|
13
|
-
* @param input - Integer value in base units
|
|
14
|
-
* @returns BigInt representation
|
|
15
|
-
* @throws Error if input is not an integer
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* // ✅ Correct usage
|
|
19
|
-
* toBigInt(toSatoshi("0.001")); // Convert BTC to satoshis first
|
|
20
|
-
* toBigInt(toBaseDenomination("1.5", 18)); // Convert tokens to base units first
|
|
21
|
-
* toBigInt(1000); // Already in base units
|
|
22
|
-
*
|
|
23
|
-
* // ❌ Wrong - will throw
|
|
24
|
-
* toBigInt(0.001); // Decimal BTC amount
|
|
25
|
-
*/
|
|
26
|
-
export default function toBigInt(input: BigNumber.Value): bigint {
|
|
27
|
-
const bn = BigNumber(input);
|
|
28
|
-
|
|
29
|
-
if (!bn.isInteger()) {
|
|
30
|
-
throw new Error(
|
|
31
|
-
`toBigInt received non-integer value "${input}". ` +
|
|
32
|
-
`Convert to base units first: use toSatoshi() for BTC or toBaseDenomination() for tokens.`,
|
|
33
|
-
);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
return BigInt(bn.toFixed(0));
|
|
37
|
-
}
|
package/src/utils/pagination.ts
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import axios from 'axios';
|
|
2
|
-
|
|
3
|
-
/* -------------------------------------------------------------------------- */
|
|
4
|
-
/* Types */
|
|
5
|
-
/* -------------------------------------------------------------------------- */
|
|
6
|
-
|
|
7
|
-
type FetchAllPaginatedParameters<T> = {
|
|
8
|
-
/** The API endpoint. */
|
|
9
|
-
endpoint: string | URL;
|
|
10
|
-
/** Function to extract items array from API response. */
|
|
11
|
-
extractItems: (data: unknown) => T[];
|
|
12
|
-
/** The additional query parameters. */
|
|
13
|
-
query?: Record<string, string | undefined>;
|
|
14
|
-
/** The page size, default: 1000 */
|
|
15
|
-
pageSize?: number;
|
|
16
|
-
/** The maximum amount of expected records. */
|
|
17
|
-
maxRecords?: number;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
/* -------------------------------------------------------------------------- */
|
|
21
|
-
/* Helpers */
|
|
22
|
-
/* -------------------------------------------------------------------------- */
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Generic helper to fetch all paginated items from an API endpoint.
|
|
26
|
-
* Automatically handles `limit`, `offset` and the `has_more` flag.
|
|
27
|
-
* If `has_more` is missing, pagination stops.
|
|
28
|
-
*
|
|
29
|
-
* @template T - Type of individual item
|
|
30
|
-
* @param {FetchAllPaginatedParameters<T>} params - Parameters for fetching all items
|
|
31
|
-
|
|
32
|
-
*
|
|
33
|
-
* @returns {Promise<T[]>} - All items fetched across pages
|
|
34
|
-
*/
|
|
35
|
-
export async function fetchAllPaginated<T>({
|
|
36
|
-
endpoint,
|
|
37
|
-
extractItems,
|
|
38
|
-
query = {},
|
|
39
|
-
pageSize = 1_000,
|
|
40
|
-
maxRecords,
|
|
41
|
-
}: FetchAllPaginatedParameters<T>): Promise<T[]> {
|
|
42
|
-
let allItems: T[] = [];
|
|
43
|
-
let offset = 0;
|
|
44
|
-
let hasMore = true;
|
|
45
|
-
|
|
46
|
-
while (hasMore) {
|
|
47
|
-
const url = new URL(endpoint);
|
|
48
|
-
|
|
49
|
-
url.searchParams.set('limit', pageSize.toString());
|
|
50
|
-
url.searchParams.set('offset', offset.toString());
|
|
51
|
-
for (const [key, value] of Object.entries(query)) {
|
|
52
|
-
if (value !== undefined) url.searchParams.set(key, String(value));
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
const { data } = await axios.get(url.toString());
|
|
56
|
-
const items = extractItems(data);
|
|
57
|
-
|
|
58
|
-
allItems = allItems.concat(items);
|
|
59
|
-
offset += items.length;
|
|
60
|
-
|
|
61
|
-
if (maxRecords && allItems.length >= maxRecords) {
|
|
62
|
-
allItems = allItems.slice(0, maxRecords);
|
|
63
|
-
break;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
hasMore = items.length > 0 && (data.has_more ?? false);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
return allItems;
|
|
70
|
-
}
|
package/src/utils/satoshi.ts
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import BigNumber from 'bignumber.js';
|
|
2
|
-
|
|
3
|
-
export const BTC_DECIMALS = 8;
|
|
4
|
-
export const SATOSHI_SCALE = BigNumber(10).pow(BTC_DECIMALS);
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Converts Satoshi to BTC
|
|
8
|
-
* @param amount - Satoshi amount (integer)
|
|
9
|
-
* @returns BTC amount (decimal, e.g., 0.00001992)
|
|
10
|
-
*/
|
|
11
|
-
export function fromSatoshi(amount: BigNumber.Value): BigNumber {
|
|
12
|
-
return BigNumber(amount).dividedBy(SATOSHI_SCALE);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Converts BTC to Satoshi
|
|
17
|
-
*
|
|
18
|
-
* @param amount - BTC amount (decimal, e.g., 0.00001992)
|
|
19
|
-
* @returns Satoshi amount (integer, e.g., 1992)
|
|
20
|
-
*/
|
|
21
|
-
export function toSatoshi(amount: BigNumber.Value): BigNumber {
|
|
22
|
-
return BigNumber(amount)
|
|
23
|
-
.multipliedBy(SATOSHI_SCALE)
|
|
24
|
-
.decimalPlaces(0, BigNumber.ROUND_HALF_UP);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Converts BTC amount to BigInt satoshis
|
|
29
|
-
*
|
|
30
|
-
* Use this when you need to pass a BTC amount to a function expecting BigInt.
|
|
31
|
-
*
|
|
32
|
-
* @param btcAmount - BTC amount (decimal, e.g., "0.00001992")
|
|
33
|
-
* @returns BigInt satoshi amount (e.g., 1992n)
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
* const fee = "0.00001992"; // from getLBTCMintingFee
|
|
37
|
-
* const feeSatoshis = toSatoshiBigInt(fee); // 1992n
|
|
38
|
-
*/
|
|
39
|
-
export function toSatoshiBigInt(btcAmount: BigNumber.Value): bigint {
|
|
40
|
-
return BigInt(toSatoshi(btcAmount).toFixed(0));
|
|
41
|
-
}
|
package/src/utils/time.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export const SECOND = 1000;
|
|
2
|
-
export const MINUTE = 60 * SECOND;
|
|
3
|
-
export const HOUR = 60 * MINUTE;
|
|
4
|
-
export const DAY = 24 * HOUR;
|
|
5
|
-
|
|
6
|
-
export function now() {
|
|
7
|
-
return Date.now();
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export function toUnix(ms: number) {
|
|
11
|
-
return Math.round(ms / 1000);
|
|
12
|
-
}
|