@lombard.finance/sdk 4.0.0 → 4.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/bridge/lib/ccip-config.d.ts.map +1 -1
- package/dist/bridge/lib/config.d.ts +3 -3
- package/dist/bridge/lib/config.d.ts.map +1 -1
- package/dist/common/chains.d.ts +2 -2
- package/dist/common/chains.d.ts.map +1 -1
- package/dist/common/feature-config.d.ts.map +1 -1
- package/dist/contract-functions/getBasculeDepositStatus/getBasculeDepositStatus.d.ts.map +1 -1
- package/dist/index2.cjs +6 -6
- package/dist/index2.js +792 -759
- package/dist/vaults/lib/config.d.ts +1 -1
- package/package.json +7 -8
- package/src/__tests__/AssetNamespace.spec.ts +0 -234
- package/src/__tests__/helpers/createTestConfig.ts +0 -90
- package/src/__tests__/integration/automint-fee.integration.test.ts +0 -74
- package/src/__tests__/integration/btc-deposit.integration.test.ts +0 -109
- package/src/__tests__/integration/btc-stake-and-deploy.integration.test.ts +0 -96
- package/src/__tests__/integration/btc-stake.integration.test.ts +0 -466
- package/src/__tests__/integration/evm-actions.integration.test.ts +0 -932
- package/src/__tests__/integration/evm-deploy.integration.test.ts +0 -122
- package/src/__tests__/integration/evm-redeem.integration.test.ts +0 -157
- package/src/__tests__/integration/faq-patterns.integration.test.ts +0 -465
- package/src/__tests__/integration/getLBTCMintingFee.integration.test.ts +0 -195
- package/src/__tests__/real-wallet/btc/btc-stake.real.test.ts +0 -70
- package/src/__tests__/real-wallet/evm/evm-stake.real.test.ts +0 -47
- package/src/__tests__/real-wallet/evm/evm-unstake.real.test.ts +0 -49
- package/src/__tests__/real-wallet/non-evm/solana-unstake.real.test.ts +0 -19
- package/src/__tests__/real-wallet/non-evm/starknet-unstake.real.test.ts +0 -19
- package/src/__tests__/real-wallet/non-evm/sui-unstake.real.test.ts +0 -19
- package/src/__tests__/services/ApiService.test.ts +0 -62
- package/src/__tests__/services/BtcService.test.ts +0 -30
- package/src/__tests__/services/EvmService.test.ts +0 -39
- package/src/__tests__/setup.ts +0 -16
- package/src/__tests__/test-utils/eip1193-adapter.ts +0 -48
- package/src/__tests__/test-utils/evm-wallet.ts +0 -38
- package/src/__tests__/test-utils/solana-wallet.ts +0 -22
- package/src/__tests__/test-utils/starknet-wallet.ts +0 -9
- package/src/__tests__/test-utils/sui-wallet.ts +0 -14
- package/src/__tests__/test-utils/test-constraints.ts +0 -110
- package/src/__tests__/unit/btc/BtcDeposit.test.ts +0 -253
- package/src/__tests__/unit/btc/BtcDepositAndDeploy.test.ts +0 -174
- package/src/__tests__/unit/btc/BtcDepositConfig.test.ts +0 -143
- package/src/__tests__/unit/btc/BtcDepositStatusTransition.test.ts +0 -221
- package/src/__tests__/unit/btc/BtcStakeAndDeploy.test.ts +0 -194
- package/src/__tests__/unit/btc/ExistingSignatureHandling.test.ts +0 -301
- package/src/__tests__/unit/btc/StakeAndBakeRatioConversion.test.ts +0 -200
- package/src/__tests__/unit/btc/StakeAndBakeSignatureRestore.test.ts +0 -216
- package/src/__tests__/unit/btc/TokenParameterConsistency.test.ts +0 -184
- package/src/__tests__/unit/btc/btc-deposit-token.test.ts +0 -191
- package/src/__tests__/unit/catalog/AssetCatalog.test.ts +0 -293
- package/src/__tests__/unit/config/ChainConfig.test.ts +0 -47
- package/src/__tests__/unit/config/FeeAuthConfig.test.ts +0 -76
- package/src/__tests__/unit/contract-functions/getLBTCMintingFee.test.ts +0 -128
- package/src/__tests__/unit/core/chain-parsing.test.ts +0 -257
- package/src/__tests__/unit/defi/AvailableProtocols.test.ts +0 -100
- package/src/__tests__/unit/defi/DefiRegistry.test.ts +0 -25
- package/src/__tests__/unit/evm/EvmDeploy.test.ts +0 -224
- package/src/__tests__/unit/evm/EvmRedeem.test.ts +0 -207
- package/src/__tests__/unit/evm/EvmRedeemFeeAuth.test.ts +0 -93
- package/src/__tests__/unit/evm/EvmStake.test.ts +0 -207
- package/src/__tests__/unit/evm/EvmStakeFeeAuth.test.ts +0 -193
- package/src/__tests__/unit/evm/EvmUnstakeAllowance.test.ts +0 -69
- package/src/__tests__/unit/evm/EvmUnstakeConfig.test.ts +0 -203
- package/src/__tests__/unit/fee-signature-expiration.test.ts +0 -76
- package/src/__tests__/unit/modules/CapabilityRegistry.test.ts +0 -55
- package/src/__tests__/unit/shared/BaseAction.test.ts +0 -122
- package/src/__tests__/unit/shared/BaseBtcAction.test.ts +0 -114
- package/src/__tests__/unit/solana/SolanaUnstake.test.ts +0 -314
- package/src/__tests__/unit/starknet/StarknetUnstake.test.ts +0 -318
- package/src/__tests__/unit/sui/SuiUnstake.test.ts +0 -310
- package/src/__tests__/unit/utils/satoshi.test.ts +0 -27
- package/src/__tests__/unit/validation/address-validation.test.ts +0 -350
- package/src/api-functions/generateDepositBtcAddress/generateDepositBtcAddress.stories.tsx +0 -71
- package/src/api-functions/generateDepositBtcAddress/generateDepositBtcAddress.ts +0 -235
- package/src/api-functions/generateDepositBtcAddress/index.ts +0 -1
- package/src/api-functions/get-badges-by-address/get-badges-by-address.ts +0 -13
- package/src/api-functions/get-badges-by-address/index.ts +0 -1
- package/src/api-functions/getDepositAddressReferrer/getDepositAddressReferrer.ts +0 -38
- package/src/api-functions/getDepositAddressReferrer/index.ts +0 -1
- package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.stories.tsx +0 -59
- package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.test.ts +0 -265
- package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.ts +0 -167
- package/src/api-functions/getDepositBtcAddress/getDepositBtcAddresses.stories.tsx +0 -58
- package/src/api-functions/getDepositBtcAddress/index.ts +0 -1
- package/src/api-functions/getDepositBtcAddress/make-request.ts +0 -59
- package/src/api-functions/getDepositBtcAddress/types.ts +0 -106
- package/src/api-functions/getDepositsByAddress/getDepositsByAddress.stories.tsx +0 -51
- package/src/api-functions/getDepositsByAddress/getDepositsByAddress.ts +0 -502
- package/src/api-functions/getDepositsByAddress/index.ts +0 -1
- package/src/api-functions/getLBTCExchangeRate/get-exchange-ratio.stories.tsx +0 -48
- package/src/api-functions/getLBTCExchangeRate/get-exchange-ratio.ts +0 -59
- package/src/api-functions/getLBTCExchangeRate/getLBTCExchangeRate.stories.tsx +0 -55
- package/src/api-functions/getLBTCExchangeRate/getLBTCExchangeRate.ts +0 -75
- package/src/api-functions/getLBTCExchangeRate/index.ts +0 -2
- package/src/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.stories.tsx +0 -59
- package/src/api-functions/getNetworkFeeSignature/getNetworkFeeSignature.ts +0 -116
- package/src/api-functions/getNetworkFeeSignature/index.ts +0 -1
- package/src/api-functions/getPointsByAddress/getPointsByAddress.stories.tsx +0 -51
- package/src/api-functions/getPointsByAddress/getPointsByAddress.ts +0 -304
- package/src/api-functions/getPointsByAddress/index.ts +0 -1
- package/src/api-functions/getUnstakesByAddress/getUnstakesByAddress.stories.tsx +0 -51
- package/src/api-functions/getUnstakesByAddress/getUnstakesByAddress.ts +0 -368
- package/src/api-functions/getUnstakesByAddress/index.ts +0 -1
- package/src/api-functions/getUserStakeAndBakeSignature/getUserStakeAndBakeSignature.stories.tsx +0 -70
- package/src/api-functions/getUserStakeAndBakeSignature/getUserStakeAndBakeSignature.ts +0 -91
- package/src/api-functions/getUserStakeAndBakeSignature/index.ts +0 -1
- package/src/api-functions/index.ts +0 -11
- package/src/api-functions/setReferral/index.ts +0 -1
- package/src/api-functions/setReferral/setReferral.ts +0 -67
- package/src/api-functions/storeNetworkFeeSignature/index.ts +0 -1
- package/src/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.stories.tsx +0 -57
- package/src/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.ts +0 -75
- package/src/api-functions/storeStakeAndBakeSignature/index.ts +0 -1
- package/src/api-functions/storeStakeAndBakeSignature/storeStakeAndBakeSignature.stories.tsx +0 -57
- package/src/api-functions/storeStakeAndBakeSignature/storeStakeAndBakeSignature.ts +0 -61
- package/src/bridge/abi/CCIP_BRIDGE_ADAPTER_ABI.json +0 -704
- package/src/bridge/abi/CCIP_ROUTER_ABI.json +0 -702
- package/src/bridge/abi/OFT_BRIDGE_ADAPTER_ABI.json +0 -912
- package/src/bridge/index.ts +0 -16
- package/src/bridge/lib/bridge.stories.tsx +0 -90
- package/src/bridge/lib/bridge.ts +0 -115
- package/src/bridge/lib/ccip-bridge.stories.tsx +0 -91
- package/src/bridge/lib/ccip-bridge.ts +0 -214
- package/src/bridge/lib/ccip-config.ts +0 -54
- package/src/bridge/lib/config.ts +0 -384
- package/src/bridge/lib/oft-bridge.stories.tsx +0 -90
- package/src/bridge/lib/oft-bridge.ts +0 -217
- package/src/chains/btc/BtcActions.ts +0 -192
- package/src/chains/btc/actions/deposit/BtcDeposit.ts +0 -388
- package/src/chains/btc/actions/deposit/config/evm.ts +0 -197
- package/src/chains/btc/actions/deposit/config/index.ts +0 -53
- package/src/chains/btc/actions/deposit/config/types.ts +0 -108
- package/src/chains/btc/actions/deposit/factory.ts +0 -53
- package/src/chains/btc/actions/deposit/index.ts +0 -23
- package/src/chains/btc/actions/deposit/types.ts +0 -120
- package/src/chains/btc/actions/depositAndDeploy/BtcDepositAndDeploy.ts +0 -366
- package/src/chains/btc/actions/depositAndDeploy/config/evm.ts +0 -105
- package/src/chains/btc/actions/depositAndDeploy/config/index.ts +0 -111
- package/src/chains/btc/actions/depositAndDeploy/config/types.ts +0 -67
- package/src/chains/btc/actions/depositAndDeploy/factory.ts +0 -38
- package/src/chains/btc/actions/depositAndDeploy/index.ts +0 -24
- package/src/chains/btc/actions/depositAndDeploy/types.ts +0 -120
- package/src/chains/btc/actions/index.ts +0 -14
- package/src/chains/btc/actions/shared/BaseBtcAction.ts +0 -495
- package/src/chains/btc/actions/shared/index.ts +0 -28
- package/src/chains/btc/actions/shared/tokenUtils.ts +0 -68
- package/src/chains/btc/actions/shared/validation.ts +0 -180
- package/src/chains/btc/actions/stake/BtcStake.ts +0 -433
- package/src/chains/btc/actions/stake/__tests__/BtcStake.test.ts +0 -247
- package/src/chains/btc/actions/stake/config/evm.ts +0 -183
- package/src/chains/btc/actions/stake/config/index.ts +0 -122
- package/src/chains/btc/actions/stake/config/solana.ts +0 -96
- package/src/chains/btc/actions/stake/config/starknet.ts +0 -66
- package/src/chains/btc/actions/stake/config/sui.ts +0 -61
- package/src/chains/btc/actions/stake/config/types.ts +0 -165
- package/src/chains/btc/actions/stake/factory.ts +0 -53
- package/src/chains/btc/actions/stake/index.ts +0 -22
- package/src/chains/btc/actions/stake/types.ts +0 -175
- package/src/chains/btc/actions/stakeAndDeploy/BtcStakeAndDeploy.ts +0 -415
- package/src/chains/btc/actions/stakeAndDeploy/config/evm.ts +0 -135
- package/src/chains/btc/actions/stakeAndDeploy/config/index.ts +0 -119
- package/src/chains/btc/actions/stakeAndDeploy/config/types.ts +0 -93
- package/src/chains/btc/actions/stakeAndDeploy/factory.ts +0 -54
- package/src/chains/btc/actions/stakeAndDeploy/index.ts +0 -26
- package/src/chains/btc/actions/stakeAndDeploy/types.ts +0 -118
- package/src/chains/btc/client/getCurrentBlockHeight.ts +0 -28
- package/src/chains/btc/client/mempool/error.ts +0 -24
- package/src/chains/btc/client/mempool/mempool.ts +0 -23
- package/src/chains/btc/index.ts +0 -71
- package/src/chains/evm/EvmActions.ts +0 -185
- package/src/chains/evm/actions/deploy/EvmDeploy.ts +0 -256
- package/src/chains/evm/actions/deploy/config/evm.ts +0 -80
- package/src/chains/evm/actions/deploy/config/index.ts +0 -8
- package/src/chains/evm/actions/deploy/config/types.ts +0 -43
- package/src/chains/evm/actions/deploy/factory.ts +0 -44
- package/src/chains/evm/actions/deploy/index.ts +0 -17
- package/src/chains/evm/actions/deploy/types.ts +0 -74
- package/src/chains/evm/actions/deposit/EvmDeposit.ts +0 -159
- package/src/chains/evm/actions/deposit/config/evm.ts +0 -100
- package/src/chains/evm/actions/deposit/config/index.ts +0 -8
- package/src/chains/evm/actions/deposit/config/types.ts +0 -39
- package/src/chains/evm/actions/deposit/factory.ts +0 -44
- package/src/chains/evm/actions/deposit/index.ts +0 -17
- package/src/chains/evm/actions/deposit/types.ts +0 -87
- package/src/chains/evm/actions/index.ts +0 -67
- package/src/chains/evm/actions/redeem/EvmRedeem.ts +0 -263
- package/src/chains/evm/actions/redeem/config/evm.ts +0 -85
- package/src/chains/evm/actions/redeem/config/index.ts +0 -8
- package/src/chains/evm/actions/redeem/config/types.ts +0 -39
- package/src/chains/evm/actions/redeem/factory.ts +0 -43
- package/src/chains/evm/actions/redeem/index.ts +0 -17
- package/src/chains/evm/actions/redeem/types.ts +0 -93
- package/src/chains/evm/actions/stake/EvmStake.ts +0 -339
- package/src/chains/evm/actions/stake/config/evm.ts +0 -89
- package/src/chains/evm/actions/stake/config/index.ts +0 -8
- package/src/chains/evm/actions/stake/config/types.ts +0 -89
- package/src/chains/evm/actions/stake/factory.ts +0 -52
- package/src/chains/evm/actions/stake/index.ts +0 -30
- package/src/chains/evm/actions/stake/types.ts +0 -104
- package/src/chains/evm/actions/unstake/EvmUnstake.ts +0 -258
- package/src/chains/evm/actions/unstake/config/evm.ts +0 -123
- package/src/chains/evm/actions/unstake/config/index.ts +0 -13
- package/src/chains/evm/actions/unstake/config/types.ts +0 -37
- package/src/chains/evm/actions/unstake/factory.ts +0 -44
- package/src/chains/evm/actions/unstake/index.ts +0 -22
- package/src/chains/evm/actions/unstake/types.ts +0 -87
- package/src/chains/evm/index.ts +0 -16
- package/src/chains/evm/shared/feeAuth.ts +0 -198
- package/src/chains/evm/shared/index.ts +0 -7
- package/src/chains/solana/SolanaActions.ts +0 -85
- package/src/chains/solana/actions/index.ts +0 -7
- package/src/chains/solana/actions/unstake/SolanaUnstake.ts +0 -151
- package/src/chains/solana/actions/unstake/config/btc.ts +0 -47
- package/src/chains/solana/actions/unstake/config/index.ts +0 -8
- package/src/chains/solana/actions/unstake/config/solana.ts +0 -47
- package/src/chains/solana/actions/unstake/config/types.ts +0 -35
- package/src/chains/solana/actions/unstake/factory.ts +0 -34
- package/src/chains/solana/actions/unstake/index.ts +0 -14
- package/src/chains/solana/actions/unstake/types.ts +0 -58
- package/src/chains/solana/index.ts +0 -8
- package/src/chains/starknet/StarknetActions.ts +0 -85
- package/src/chains/starknet/actions/index.ts +0 -7
- package/src/chains/starknet/actions/unstake/StarknetUnstake.ts +0 -128
- package/src/chains/starknet/actions/unstake/config/btc.ts +0 -43
- package/src/chains/starknet/actions/unstake/config/index.ts +0 -8
- package/src/chains/starknet/actions/unstake/config/starknet.ts +0 -43
- package/src/chains/starknet/actions/unstake/config/types.ts +0 -27
- package/src/chains/starknet/actions/unstake/factory.ts +0 -32
- package/src/chains/starknet/actions/unstake/index.ts +0 -14
- package/src/chains/starknet/actions/unstake/types.ts +0 -57
- package/src/chains/starknet/index.ts +0 -8
- package/src/chains/sui/SuiActions.ts +0 -82
- package/src/chains/sui/actions/index.ts +0 -7
- package/src/chains/sui/actions/unstake/SuiUnstake.ts +0 -146
- package/src/chains/sui/actions/unstake/config/btc.ts +0 -43
- package/src/chains/sui/actions/unstake/config/index.ts +0 -8
- package/src/chains/sui/actions/unstake/config/sui.ts +0 -43
- package/src/chains/sui/actions/unstake/config/types.ts +0 -27
- package/src/chains/sui/actions/unstake/factory.ts +0 -32
- package/src/chains/sui/actions/unstake/index.ts +0 -14
- package/src/chains/sui/actions/unstake/types.ts +0 -57
- package/src/chains/sui/index.ts +0 -8
- package/src/client/ApiNamespace.ts +0 -302
- package/src/client/AssetNamespace.ts +0 -112
- package/src/client/LombardSDK.ts +0 -212
- package/src/client/PartnerConfiguration.ts +0 -50
- package/src/client/createConfig.ts +0 -90
- package/src/client/createLombardSDK.ts +0 -130
- package/src/clients/evm-signer-adapter.ts +0 -313
- package/src/clients/public-client.ts +0 -49
- package/src/clients/rpc-url-config.ts +0 -64
- package/src/clients/wallet-client.ts +0 -34
- package/src/common/api-config.ts +0 -48
- package/src/common/blockchain-identifier.ts +0 -217
- package/src/common/chains.stories.tsx +0 -68
- package/src/common/chains.ts +0 -449
- package/src/common/constants.ts +0 -1
- package/src/common/contract-info.ts +0 -9
- package/src/common/feature-config.ts +0 -79
- package/src/common/fee-requirements.ts +0 -34
- package/src/common/parameters.ts +0 -89
- package/src/config/defaults.ts +0 -49
- package/src/config/index.ts +0 -12
- package/src/config/providers.ts +0 -81
- package/src/config/types.ts +0 -216
- package/src/config/validation.ts +0 -69
- package/src/contract-functions/approveLBTC/approveLBTC.stories.tsx +0 -79
- package/src/contract-functions/approveLBTC/approveLBTC.ts +0 -66
- package/src/contract-functions/approveLBTC/index.ts +0 -1
- package/src/contract-functions/approveToken/approveToken.ts +0 -126
- package/src/contract-functions/approveToken/index.ts +0 -1
- package/src/contract-functions/claimLBTC/claimLBTC.stories.tsx +0 -82
- package/src/contract-functions/claimLBTC/claimLBTC.ts +0 -159
- package/src/contract-functions/claimLBTC/index.ts +0 -1
- package/src/contract-functions/claimUnstakeRedeem/claimUnstakeRedeem.ts +0 -95
- package/src/contract-functions/claimUnstakeRedeem/index.ts +0 -1
- package/src/contract-functions/deposit/depositToken.stories.tsx +0 -83
- package/src/contract-functions/deposit/depositToken.ts +0 -214
- package/src/contract-functions/deposit/index.ts +0 -1
- package/src/contract-functions/getBasculeDepositStatus/decodeBasculeDepositStatus.ts +0 -170
- package/src/contract-functions/getBasculeDepositStatus/getBasculeDepositStatus.stories.tsx +0 -62
- package/src/contract-functions/getBasculeDepositStatus/getBasculeDepositStatus.ts +0 -211
- package/src/contract-functions/getBasculeDepositStatus/index.ts +0 -2
- package/src/contract-functions/getLBTCMintingFee/getLBTCMintingFee.stories.tsx +0 -61
- package/src/contract-functions/getLBTCMintingFee/getLBTCMintingFee.ts +0 -193
- package/src/contract-functions/getLBTCMintingFee/index.ts +0 -1
- package/src/contract-functions/getLBTCTotalSupply/getLBTCTotalSupply.stories.tsx +0 -51
- package/src/contract-functions/getLBTCTotalSupply/getLBTCTotalSupply.ts +0 -40
- package/src/contract-functions/getLBTCTotalSupply/index.ts +0 -1
- package/src/contract-functions/getPermitNonce/getPermitNonce.stories.tsx +0 -56
- package/src/contract-functions/getPermitNonce/getPermitNonce.ts +0 -50
- package/src/contract-functions/getPermitNonce/index.ts +0 -1
- package/src/contract-functions/getShareValue/getShareValue.stories.tsx +0 -58
- package/src/contract-functions/getShareValue/getShareValue.ts +0 -59
- package/src/contract-functions/getShareValue/index.ts +0 -1
- package/src/contract-functions/getSharesByAddress/getSharesByAddress.stories.tsx +0 -65
- package/src/contract-functions/getSharesByAddress/getSharesByAddress.ts +0 -86
- package/src/contract-functions/getSharesByAddress/index.ts +0 -4
- package/src/contract-functions/getStakeAndBakeFee/__tests__/getStakeAndBakeFee.test.ts +0 -167
- package/src/contract-functions/getStakeAndBakeFee/getStakeAndBakeFee.stories.tsx +0 -180
- package/src/contract-functions/getStakeAndBakeFee/getStakeAndBakeFee.tsx +0 -101
- package/src/contract-functions/getStakeAndBakeFee/index.ts +0 -1
- package/src/contract-functions/index.ts +0 -21
- package/src/contract-functions/signLbtcDestionationAddr/index.ts +0 -1
- package/src/contract-functions/signLbtcDestionationAddr/signLbtcDestinationAddr.ts +0 -32
- package/src/contract-functions/signLbtcDestionationAddr/signLbtcDestionationAddr.stories.tsx +0 -64
- package/src/contract-functions/signNetworkFee/getTypedData.ts +0 -41
- package/src/contract-functions/signNetworkFee/index.ts +0 -1
- package/src/contract-functions/signNetworkFee/signNetworkFee.stories.tsx +0 -94
- package/src/contract-functions/signNetworkFee/signNetworkFee.ts +0 -106
- package/src/contract-functions/signStakeAndBake/__tests__/signStakeAndBake.test.ts +0 -888
- package/src/contract-functions/signStakeAndBake/handleApprove.ts +0 -81
- package/src/contract-functions/signStakeAndBake/handlePermit.ts +0 -28
- package/src/contract-functions/signStakeAndBake/index.ts +0 -2
- package/src/contract-functions/signStakeAndBake/signStakeAndBake.stories.tsx +0 -202
- package/src/contract-functions/signStakeAndBake/signStakeAndBake.ts +0 -160
- package/src/contract-functions/signStakeAndBake/typed-data-builder.ts +0 -137
- package/src/contract-functions/signStakeAndBake/utils.ts +0 -61
- package/src/contract-functions/signStakeAndBake/validation.ts +0 -124
- package/src/contract-functions/unstakeLBTC/index.ts +0 -1
- package/src/contract-functions/unstakeLBTC/unstakeLBTC.stories.tsx +0 -92
- package/src/contract-functions/unstakeLBTC/unstakeLBTC.ts +0 -396
- package/src/contracts/abis/index.ts +0 -29
- package/src/contracts/index.ts +0 -63
- package/src/contracts/types.ts +0 -143
- package/src/contracts/utils.ts +0 -288
- package/src/core/assets/catalog.ts +0 -343
- package/src/core/assets/index.ts +0 -40
- package/src/core/assets/types.ts +0 -142
- package/src/core/assets/utils.ts +0 -287
- package/src/core/chains/catalog.ts +0 -396
- package/src/core/chains/index.ts +0 -39
- package/src/core/chains/types.ts +0 -193
- package/src/core/chains/utils.ts +0 -245
- package/src/core/index.ts +0 -72
- package/src/core/types.ts +0 -126
- package/src/debug-api/btc-script-to-address.ts +0 -20
- package/src/debug-api/btc-tx-info.ts +0 -32
- package/src/debug-api/evm-by-btc-address.ts +0 -26
- package/src/debug-api/index.ts +0 -3
- package/src/defi/README.md +0 -517
- package/src/defi/defi-registry.stories.tsx +0 -527
- package/src/defi/defi-registry.ts +0 -295
- package/src/defi/index.ts +0 -17
- package/src/index.ts +0 -336
- package/src/metrics/get-additional-rewards.ts +0 -69
- package/src/metrics/get-lbtc-apy.ts +0 -74
- package/src/metrics/get-lbtc-stats.stories.tsx +0 -57
- package/src/metrics/get-lbtc-stats.ts +0 -59
- package/src/metrics/get-positions-summary.stories.tsx +0 -58
- package/src/metrics/get-positions-summary.ts +0 -132
- package/src/modules/CapabilityRegistry.ts +0 -125
- package/src/modules/apiModule.ts +0 -51
- package/src/modules/btcModule.ts +0 -43
- package/src/modules/evmModule.ts +0 -48
- package/src/modules/index.ts +0 -60
- package/src/referrals/ReferralsClient.ts +0 -34
- package/src/referrals/index.ts +0 -1
- package/src/services/ApiService.ts +0 -152
- package/src/services/BtcService.ts +0 -29
- package/src/services/EvmService.ts +0 -127
- package/src/services/index.ts +0 -43
- package/src/shared/__tests__/errors.test.ts +0 -185
- package/src/shared/__tests__/events.test.ts +0 -120
- package/src/shared/__tests__/types.test.ts +0 -155
- package/src/shared/actions/BaseAction.ts +0 -497
- package/src/shared/actions/__tests__/BaseAction.test.ts +0 -292
- package/src/shared/actions/index.ts +0 -9
- package/src/shared/constants/statusConstants.ts +0 -108
- package/src/shared/context/ContextBuilder.ts +0 -149
- package/src/shared/context/index.ts +0 -8
- package/src/shared/context/types.ts +0 -156
- package/src/shared/deposits/depositStatus.ts +0 -402
- package/src/shared/deposits/index.ts +0 -29
- package/src/shared/errors.ts +0 -405
- package/src/shared/events.ts +0 -260
- package/src/shared/evm/switchChain.ts +0 -109
- package/src/shared/index.ts +0 -54
- package/src/shared/monitoring/__tests__/createEventEmitter.test.ts +0 -150
- package/src/shared/monitoring/createEventEmitter.ts +0 -160
- package/src/shared/monitoring/createProgressEmitter.ts +0 -46
- package/src/shared/monitoring/depositMonitor.ts +0 -211
- package/src/shared/monitoring/index.ts +0 -25
- package/src/shared/validation/index.ts +0 -411
- package/src/stories/arg-types.ts +0 -38
- package/src/stories/components/Badge.tsx +0 -27
- package/src/stories/components/Button/Button.css +0 -10
- package/src/stories/components/Button/Button.tsx +0 -52
- package/src/stories/components/Button/index.ts +0 -1
- package/src/stories/components/Card.tsx +0 -18
- package/src/stories/components/CodeBlock/CodeBlock.tsx +0 -27
- package/src/stories/components/CodeBlock/CodeBlockStyles.css +0 -3
- package/src/stories/components/CodeBlock/index.ts +0 -1
- package/src/stories/components/ConnectButton/connect-button.tsx +0 -248
- package/src/stories/components/ConnectButton/index.ts +0 -1
- package/src/stories/components/JsonPreview.tsx +0 -84
- package/src/stories/components/Spinner/Spinner.tsx +0 -27
- package/src/stories/components/Spinner/index.ts +0 -1
- package/src/stories/components/StatsCard.tsx +0 -30
- package/src/stories/components/StatusIndicator.tsx +0 -37
- package/src/stories/components/TreeNode.tsx +0 -47
- package/src/stories/components/decorators/function-type.tsx +0 -63
- package/src/stories/components/decorators/index.ts +0 -2
- package/src/stories/components/decorators/wagmi-decorator.tsx +0 -92
- package/src/stories/components/error-block.tsx +0 -21
- package/src/stories/components/index.ts +0 -11
- package/src/stories/constants.ts +0 -3
- package/src/stories/hooks/useConnection.ts +0 -63
- package/src/stories/hooks/useQuery.ts +0 -57
- package/src/tokens/__tests__/token-addresses.test.ts +0 -551
- package/src/tokens/abi/ASSET_ROUTER_ABI.ts +0 -1966
- package/src/tokens/abi/BRIDGE_TOKEN_ADAPTER_ABI.ts +0 -1405
- package/src/tokens/abi/BTCK_ABI.ts +0 -1092
- package/src/tokens/abi/KATANA_BASCULE_ABI.ts +0 -653
- package/src/tokens/abi/LBTC_ABI.json +0 -1761
- package/src/tokens/abi/LBTC_ABI.ts +0 -1761
- package/src/tokens/abi/LBTC_BASCULE_ABI.json +0 -850
- package/src/tokens/abi/NATIVE_LBTC_ABI.ts +0 -1147
- package/src/tokens/abi/STLBTC_ABI.ts +0 -1062
- package/src/tokens/cross-chain-addresses.stories.tsx +0 -236
- package/src/tokens/denomination-utils.stories.tsx +0 -176
- package/src/tokens/getLbtcContractAddresses.stories.tsx +0 -158
- package/src/tokens/getTokenByAddress.stories.tsx +0 -172
- package/src/tokens/getTokenContractInfo.stories.tsx +0 -148
- package/src/tokens/getTokenInfo.stories.tsx +0 -133
- package/src/tokens/isUpgradedContract.stories.tsx +0 -124
- package/src/tokens/lbtc-addresses.ts +0 -18
- package/src/tokens/token-addresses.ts +0 -477
- package/src/tokens/tokens.ts +0 -249
- package/src/tokens/types.ts +0 -80
- package/src/utils/array.ts +0 -31
- package/src/utils/block.ts +0 -23
- package/src/utils/chain.ts +0 -152
- package/src/utils/consoleLogger.ts +0 -140
- package/src/utils/ensureNotSanctionedAddress.ts +0 -11
- package/src/utils/env.ts +0 -20
- package/src/utils/err.ts +0 -83
- package/src/utils/evmAccount.ts +0 -47
- package/src/utils/gas.ts +0 -36
- package/src/utils/hex.ts +0 -9
- package/src/utils/http.ts +0 -224
- package/src/utils/numbers.ts +0 -37
- package/src/utils/pagination.ts +0 -70
- package/src/utils/satoshi.ts +0 -41
- package/src/utils/time.ts +0 -12
- package/src/utils/transaction-executor.ts +0 -299
- package/src/vaults/abi/SILO_VAULT_SPENDER_ABI.json +0 -793
- package/src/vaults/abi/VEDA_VAULT_ABI.json +0 -452
- package/src/vaults/abi/VEDA_VAULT_ACCOUNTANT_ABI.json +0 -591
- package/src/vaults/abi/VEDA_VAULT_BASE_ASSET_ABI.json +0 -296
- package/src/vaults/abi/VEDA_VAULT_BORING_WITHDRAW_QUEUE_ABI.json +0 -502
- package/src/vaults/abi/VEDA_VAULT_LENS_ABI.json +0 -175
- package/src/vaults/abi/VEDA_VAULT_SPENDER_ABI.json +0 -408
- package/src/vaults/abi/VEDA_VAULT_TELLER_ABI.json +0 -700
- package/src/vaults/abi/index.ts +0 -4
- package/src/vaults/index.ts +0 -46
- package/src/vaults/lib/config.ts +0 -184
- package/src/vaults/lib/metrics/get-vault-apy.stories.tsx +0 -58
- package/src/vaults/lib/metrics/get-vault-apy.ts +0 -176
- package/src/vaults/lib/metrics/get-vault-points.stories.tsx +0 -60
- package/src/vaults/lib/metrics/get-vault-points.ts +0 -74
- package/src/vaults/lib/metrics/get-vault-tvl.stories.tsx +0 -58
- package/src/vaults/lib/metrics/get-vault-tvl.ts +0 -121
- package/src/vaults/lib/ops/cancel-withdraw.stories.tsx +0 -80
- package/src/vaults/lib/ops/deposit.stories.tsx +0 -82
- package/src/vaults/lib/ops/deposit.ts +0 -152
- package/src/vaults/lib/ops/get-vault-deposits.stories.tsx +0 -65
- package/src/vaults/lib/ops/get-vault-deposits.ts +0 -209
- package/src/vaults/lib/ops/get-vault-withdrawals.stories.tsx +0 -67
- package/src/vaults/lib/ops/get-vault-withdrawals.ts +0 -349
- package/src/vaults/lib/ops/withdraw.stories.tsx +0 -82
- package/src/vaults/lib/ops/withdraw.ts +0 -225
- package/src/version.ts +0 -56
- package/src/vite-env.d.ts +0 -1
|
@@ -1,368 +0,0 @@
|
|
|
1
|
-
import { DEFAULT_ENV } from '@lombard.finance/sdk-common';
|
|
2
|
-
import BigNumber from 'bignumber.js';
|
|
3
|
-
import * as bitcoin from 'bitcoinjs-lib';
|
|
4
|
-
import { Hex, trim } from 'viem';
|
|
5
|
-
|
|
6
|
-
import { getApiConfig } from '../../common/api-config';
|
|
7
|
-
import {
|
|
8
|
-
BlockchainIdentifier,
|
|
9
|
-
getChainIdByName,
|
|
10
|
-
} from '../../common/blockchain-identifier';
|
|
11
|
-
import {
|
|
12
|
-
ChainId,
|
|
13
|
-
isSolanaChain,
|
|
14
|
-
isStarknetChainId,
|
|
15
|
-
isSuiChain,
|
|
16
|
-
isValidChain,
|
|
17
|
-
SolanaChain,
|
|
18
|
-
StarknetChainId,
|
|
19
|
-
SuiChain,
|
|
20
|
-
} from '../../common/chains';
|
|
21
|
-
import { IEnvParam } from '../../common/parameters';
|
|
22
|
-
import {
|
|
23
|
-
AddressKind,
|
|
24
|
-
getSolanaTokenAddress,
|
|
25
|
-
getStarknetTokenAddress,
|
|
26
|
-
getSuiTokenAddress,
|
|
27
|
-
Token,
|
|
28
|
-
TOKEN_ADDRESSES,
|
|
29
|
-
} from '../../tokens/token-addresses';
|
|
30
|
-
import { fetchAllPaginated } from '../../utils/pagination';
|
|
31
|
-
import { fromSatoshi } from '../../utils/satoshi';
|
|
32
|
-
import {
|
|
33
|
-
ENotarizationStatus,
|
|
34
|
-
ESessionState,
|
|
35
|
-
} from '../getDepositsByAddress/getDepositsByAddress';
|
|
36
|
-
|
|
37
|
-
/* -------------------------------------------------------------------------- */
|
|
38
|
-
/* Types */
|
|
39
|
-
/* -------------------------------------------------------------------------- */
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Status of a payout transaction corresponding to an unstake.
|
|
43
|
-
*/
|
|
44
|
-
export enum PayoutTxStatus {
|
|
45
|
-
/** The payout transaction has been sent; unstake completed */
|
|
46
|
-
Completed = 'Completed',
|
|
47
|
-
|
|
48
|
-
/** The payout transaction has not been sent; unstake pending */
|
|
49
|
-
Pending = 'Pending',
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Response object for a single unstake record from the API.
|
|
54
|
-
*/
|
|
55
|
-
interface UnstakeEntry {
|
|
56
|
-
/** Transaction hash of the unstake on the source blockchain. */
|
|
57
|
-
tx_hash: string;
|
|
58
|
-
|
|
59
|
-
/** Source blockchain identifier (e.g., BLOCKCHAIN_BSC, BLOCKCHAIN_ETHEREUM). */
|
|
60
|
-
blockchain: BlockchainIdentifier;
|
|
61
|
-
|
|
62
|
-
/** Block height where the unstake was confirmed. */
|
|
63
|
-
block_height: string;
|
|
64
|
-
|
|
65
|
-
/** Block time of the unstake transaction (as a string timestamp). */
|
|
66
|
-
block_time: string;
|
|
67
|
-
|
|
68
|
-
/** Address of the initiator of the unstake. */
|
|
69
|
-
from_address: string;
|
|
70
|
-
|
|
71
|
-
/** Destination address for the payout. */
|
|
72
|
-
to_address?: string;
|
|
73
|
-
|
|
74
|
-
/** Destination blockchain identifier for the payout. */
|
|
75
|
-
to_chain?: string;
|
|
76
|
-
|
|
77
|
-
/** Output script used to derive BTC address, present for BTC unstakes. */
|
|
78
|
-
output_script?: string;
|
|
79
|
-
|
|
80
|
-
/** Amount unstaked (string to preserve precision). */
|
|
81
|
-
amount: string;
|
|
82
|
-
|
|
83
|
-
/** Payout transaction hash on the destination chain, if already completed. */
|
|
84
|
-
payout_txid?: string;
|
|
85
|
-
|
|
86
|
-
/** Index of the payout transaction, if applicable. */
|
|
87
|
-
payout_index?: string;
|
|
88
|
-
|
|
89
|
-
/** True if the unstake transaction has been sanctioned or flagged as suspicious. */
|
|
90
|
-
sanctioned?: boolean;
|
|
91
|
-
|
|
92
|
-
/** Cryptographic proof (hex-encoded) */
|
|
93
|
-
proof?: string;
|
|
94
|
-
|
|
95
|
-
/** Raw payload bytes (hex-encoded) */
|
|
96
|
-
payload?: string;
|
|
97
|
-
|
|
98
|
-
/** Current notarization status (for native chain redemptions) */
|
|
99
|
-
notarization_status?: ENotarizationStatus;
|
|
100
|
-
|
|
101
|
-
/** Current session state (for native chain redemptions) */
|
|
102
|
-
session_state?: ESessionState;
|
|
103
|
-
|
|
104
|
-
/** Claim transaction hash on the destination chain, if claimed (for native chain redemptions) */
|
|
105
|
-
claim_tx?: string;
|
|
106
|
-
|
|
107
|
-
/** Token address on the source chain */
|
|
108
|
-
from_token_address?: string;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Top-level API response for unstakes.
|
|
113
|
-
*/
|
|
114
|
-
interface UnstakesResponse {
|
|
115
|
-
unstakes?: UnstakeEntry[];
|
|
116
|
-
|
|
117
|
-
/** True if there are more unstakes available */
|
|
118
|
-
has_more: boolean;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* Parameters for fetching unstakes by address.
|
|
123
|
-
*/
|
|
124
|
-
export interface IGetUnstakesByAddressParameters extends IEnvParam {
|
|
125
|
-
/** Address of the unstake initiator */
|
|
126
|
-
address: string;
|
|
127
|
-
|
|
128
|
-
/** Optional filtering */
|
|
129
|
-
options?: {
|
|
130
|
-
/** Show only direct BTC unstakes */
|
|
131
|
-
show_unstakes?: boolean;
|
|
132
|
-
/** Show only native chain redemptions */
|
|
133
|
-
show_redeems?: boolean;
|
|
134
|
-
/** Show only redeems to native chain (LBTC -> BTC.b) */
|
|
135
|
-
to_native?: boolean;
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
/**
|
|
140
|
-
* A unified unstake record returned from either
|
|
141
|
-
* direct BTC unstakes or native blockchain redemptions.
|
|
142
|
-
*/
|
|
143
|
-
export interface Unstake {
|
|
144
|
-
/** True if the record originates from the native blockchain redemption. */
|
|
145
|
-
isNative: boolean;
|
|
146
|
-
|
|
147
|
-
/** Transaction hash of the unstake. */
|
|
148
|
-
txHash: string;
|
|
149
|
-
|
|
150
|
-
/** Source chain identifier (where the unstake originated). */
|
|
151
|
-
fromChainId: ChainId | SuiChain | SolanaChain | StarknetChainId;
|
|
152
|
-
|
|
153
|
-
/** Destination chain identifier (undefined for BTC unstakes). */
|
|
154
|
-
toChainId?: ChainId | SuiChain | SolanaChain | StarknetChainId | 'bitcoin';
|
|
155
|
-
|
|
156
|
-
/** Block height where the unstake was confirmed. */
|
|
157
|
-
blockHeight: number;
|
|
158
|
-
|
|
159
|
-
/** Block time (as epoch seconds) of the unstake. */
|
|
160
|
-
blockTime: number;
|
|
161
|
-
|
|
162
|
-
/** Initiator of the unstake transaction. */
|
|
163
|
-
fromAddress: string;
|
|
164
|
-
|
|
165
|
-
/** Destination address (BTC, EVM, or Solana). */
|
|
166
|
-
toAddress?: string;
|
|
167
|
-
|
|
168
|
-
/** Amount unstaked (normalized to satoshis / smallest unit). */
|
|
169
|
-
amount: BigNumber;
|
|
170
|
-
|
|
171
|
-
/** Payout transaction hash on the destination chain, if claimed. */
|
|
172
|
-
payoutTxHash?: string;
|
|
173
|
-
|
|
174
|
-
/** Payout transaction index, if applicable. */
|
|
175
|
-
payoutTxIndex?: number;
|
|
176
|
-
|
|
177
|
-
/** Status of the payout transaction. */
|
|
178
|
-
payoutTxStatus: PayoutTxStatus;
|
|
179
|
-
|
|
180
|
-
/** True if the unstake transaction has been sanctioned. */
|
|
181
|
-
sanctioned?: boolean;
|
|
182
|
-
|
|
183
|
-
/** Raw payload bytes (hex-encoded). */
|
|
184
|
-
rawPayload?: string;
|
|
185
|
-
|
|
186
|
-
/** Merkle/cryptographic proof (hex-encoded). */
|
|
187
|
-
proof?: string;
|
|
188
|
-
|
|
189
|
-
/** The output token. */
|
|
190
|
-
toToken?: Token;
|
|
191
|
-
|
|
192
|
-
/** The output token address. */
|
|
193
|
-
toTokenAddress?: string;
|
|
194
|
-
|
|
195
|
-
/** Current notarization status (for native chain redemptions). */
|
|
196
|
-
notarizationStatus?: ENotarizationStatus;
|
|
197
|
-
|
|
198
|
-
/** Current session state (for native chain redemptions). */
|
|
199
|
-
sessionState?: ESessionState;
|
|
200
|
-
|
|
201
|
-
/** Claim transaction hash on the destination chain, if claimed (for native chain redemptions). */
|
|
202
|
-
claimTxHash?: string;
|
|
203
|
-
|
|
204
|
-
/** Token address on the source chain */
|
|
205
|
-
fromTokenAddress?: string;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
/* -------------------------------------------------------------------------- */
|
|
209
|
-
/* Fetchers */
|
|
210
|
-
/* -------------------------------------------------------------------------- */
|
|
211
|
-
|
|
212
|
-
/**
|
|
213
|
-
* Fetches all unstakes initiated by a given address.
|
|
214
|
-
*
|
|
215
|
-
* @param {IGetUnstakesByAddressParameters} params - Parameters for fetching unstakes.
|
|
216
|
-
* @param {string} params.address - Address of the unstake initiator.
|
|
217
|
-
* @param {Env} [params.env='prod'] - Environment to use (prod/testnet).
|
|
218
|
-
* @param {object} [params.options] - Optional pagination and filter options.
|
|
219
|
-
*
|
|
220
|
-
* @returns {Promise<Unstake[]>} - List of mapped unstakes.
|
|
221
|
-
*
|
|
222
|
-
* @throws {Error} - Throws if no address is specified.
|
|
223
|
-
*/
|
|
224
|
-
export async function fetchUnstakesByAddress({
|
|
225
|
-
address,
|
|
226
|
-
env = DEFAULT_ENV,
|
|
227
|
-
options,
|
|
228
|
-
}: IGetUnstakesByAddressParameters): Promise<Unstake[]> {
|
|
229
|
-
if (!address) throw new Error('No address specified.');
|
|
230
|
-
|
|
231
|
-
const { baseApiUrl } = getApiConfig(env);
|
|
232
|
-
|
|
233
|
-
// pad address to 64 characters if needed
|
|
234
|
-
if (address.startsWith('0x') && address.slice(2).length === 63) {
|
|
235
|
-
address = `0x0${address.slice(2)}`;
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
const endpoint = new URL(`/api/v1/address/unstakes/${address}`, baseApiUrl);
|
|
239
|
-
|
|
240
|
-
const unstakes = await fetchAllPaginated({
|
|
241
|
-
endpoint,
|
|
242
|
-
extractItems: data => (data as UnstakesResponse)?.unstakes ?? [],
|
|
243
|
-
query: {
|
|
244
|
-
show_redeems: options?.show_redeems ? 'true' : undefined,
|
|
245
|
-
show_unstakes: options?.show_unstakes ? 'true' : undefined,
|
|
246
|
-
to_native: options?.to_native ? 'true' : undefined,
|
|
247
|
-
},
|
|
248
|
-
});
|
|
249
|
-
|
|
250
|
-
return unstakes.map(d => mapUnstakeEntry(d, env));
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
/* -------------------------------------------------------------------------- */
|
|
254
|
-
/* Helpers */
|
|
255
|
-
/* -------------------------------------------------------------------------- */
|
|
256
|
-
|
|
257
|
-
/**
|
|
258
|
-
* Maps a raw API unstake response to the unified `Unstake` object.
|
|
259
|
-
*
|
|
260
|
-
* @param {UnstakeEntry} d - Raw unstake data from API
|
|
261
|
-
* @param {Env} env - Environment to use for chain/network resolution
|
|
262
|
-
*
|
|
263
|
-
* @returns {Unstake} - Unified unstake object
|
|
264
|
-
*/
|
|
265
|
-
function mapUnstakeEntry(
|
|
266
|
-
d: UnstakeEntry,
|
|
267
|
-
env: IEnvParam['env'] = DEFAULT_ENV,
|
|
268
|
-
): Unstake {
|
|
269
|
-
const isNative = Boolean(d.to_chain && d.to_address);
|
|
270
|
-
|
|
271
|
-
let toAddress: string | undefined = d.to_address;
|
|
272
|
-
if (!isNative && d.output_script) {
|
|
273
|
-
try {
|
|
274
|
-
toAddress = bitcoin.address.fromOutputScript(
|
|
275
|
-
Buffer.from(d.output_script.replace(/^0x/, ''), 'hex'),
|
|
276
|
-
env === 'prod' ? bitcoin.networks.bitcoin : bitcoin.networks.testnet,
|
|
277
|
-
);
|
|
278
|
-
} catch {
|
|
279
|
-
toAddress = undefined;
|
|
280
|
-
}
|
|
281
|
-
} else if (toAddress?.startsWith('0x')) {
|
|
282
|
-
toAddress = trim(toAddress as Hex);
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
const payoutTxStatus = d.payout_txid
|
|
286
|
-
? PayoutTxStatus.Completed
|
|
287
|
-
: PayoutTxStatus.Pending;
|
|
288
|
-
|
|
289
|
-
const toToken = isNative ? Token.BTCb : undefined;
|
|
290
|
-
const toChainId = d.to_chain
|
|
291
|
-
? d.to_chain === BlockchainIdentifier.bitcoin ||
|
|
292
|
-
d.to_chain === BlockchainIdentifier.bitcoinOld
|
|
293
|
-
? 'bitcoin'
|
|
294
|
-
: getChainIdByName(d.to_chain, env)
|
|
295
|
-
: undefined;
|
|
296
|
-
|
|
297
|
-
let toTokenAddress: string | undefined = undefined;
|
|
298
|
-
if (toToken) {
|
|
299
|
-
if (isValidChain(toChainId)) {
|
|
300
|
-
let address = TOKEN_ADDRESSES?.[toToken]?.[env]?.[toChainId];
|
|
301
|
-
if (address) {
|
|
302
|
-
address =
|
|
303
|
-
typeof address === 'string' ? address : address[AddressKind.Adapter];
|
|
304
|
-
}
|
|
305
|
-
toTokenAddress = address;
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
if (isSolanaChain(toChainId)) {
|
|
309
|
-
toTokenAddress = getSolanaTokenAddress(toChainId, env);
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
if (isSuiChain(toChainId)) {
|
|
313
|
-
toTokenAddress = getSuiTokenAddress(toChainId, env);
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
if (isStarknetChainId(toChainId)) {
|
|
317
|
-
toTokenAddress = getStarknetTokenAddress(toChainId, env);
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
return {
|
|
322
|
-
isNative,
|
|
323
|
-
txHash: d.tx_hash,
|
|
324
|
-
fromChainId: getChainIdByName(d.blockchain, env),
|
|
325
|
-
toChainId,
|
|
326
|
-
blockHeight: Number(d.block_height),
|
|
327
|
-
blockTime: Number(d.block_time),
|
|
328
|
-
fromAddress: d.from_address,
|
|
329
|
-
toAddress,
|
|
330
|
-
amount: fromSatoshi(d.amount),
|
|
331
|
-
payoutTxHash: d.payout_txid,
|
|
332
|
-
payoutTxIndex: d.payout_index ? Number(d.payout_index) : undefined,
|
|
333
|
-
payoutTxStatus,
|
|
334
|
-
sanctioned: d.sanctioned,
|
|
335
|
-
proof: d.proof,
|
|
336
|
-
rawPayload: d.payload,
|
|
337
|
-
toToken,
|
|
338
|
-
toTokenAddress,
|
|
339
|
-
notarizationStatus: d.notarization_status,
|
|
340
|
-
sessionState: d.session_state,
|
|
341
|
-
claimTxHash: d.claim_tx,
|
|
342
|
-
fromTokenAddress: d.from_token_address,
|
|
343
|
-
};
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
/* -------------------------------------------------------------------------- */
|
|
347
|
-
/* Public API */
|
|
348
|
-
/* -------------------------------------------------------------------------- */
|
|
349
|
-
|
|
350
|
-
/**
|
|
351
|
-
* Returns all unstakes (direct BTC or native chain redemptions) for a given address.
|
|
352
|
-
*
|
|
353
|
-
* @param {IGetUnstakesByAddressParameters} params - Parameters for fetching unstakes.
|
|
354
|
-
* @param {string} params.address - Address of the unstake initiator.
|
|
355
|
-
* @param {Env} [params.env=DEFAULT_ENV] - Environment to use.
|
|
356
|
-
* @param {object} [params.options] - Optional pagination and filter options.
|
|
357
|
-
*
|
|
358
|
-
* @returns {Promise<Unstake[]>} - Array of unified unstake records.
|
|
359
|
-
*
|
|
360
|
-
* @throws {Error} - Throws if no address is specified.
|
|
361
|
-
*/
|
|
362
|
-
export async function getUnstakesByAddress({
|
|
363
|
-
address,
|
|
364
|
-
env = DEFAULT_ENV,
|
|
365
|
-
options,
|
|
366
|
-
}: IGetUnstakesByAddressParameters): Promise<Unstake[]> {
|
|
367
|
-
return fetchUnstakesByAddress({ address, env, options });
|
|
368
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './getUnstakesByAddress';
|
package/src/api-functions/getUserStakeAndBakeSignature/getUserStakeAndBakeSignature.stories.tsx
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { DEFAULT_ENV } from '@lombard.finance/sdk-common';
|
|
2
|
-
import type { Meta, StoryObj } from '@storybook/react';
|
|
3
|
-
|
|
4
|
-
import { ChainId } from '../../common/chains';
|
|
5
|
-
import { Button } from '../../stories/components/Button';
|
|
6
|
-
import { CodeBlock } from '../../stories/components/CodeBlock';
|
|
7
|
-
import { functionType } from '../../stories/components/decorators';
|
|
8
|
-
import { EXAMPLE_EVM_ADDRESS } from '../../stories/constants';
|
|
9
|
-
import useQuery from '../../stories/hooks/useQuery';
|
|
10
|
-
import {
|
|
11
|
-
getUserStakeAndBakeSignature,
|
|
12
|
-
IGetUserStakeAndBakeSignatureParams,
|
|
13
|
-
} from './getUserStakeAndBakeSignature';
|
|
14
|
-
|
|
15
|
-
const meta = {
|
|
16
|
-
title: 'api/getUserStakeAndBakeSignature',
|
|
17
|
-
component: StoryView,
|
|
18
|
-
tags: ['autodocs'],
|
|
19
|
-
decorators: [functionType('api-get')],
|
|
20
|
-
} satisfies Meta<typeof StoryView>;
|
|
21
|
-
|
|
22
|
-
export default meta;
|
|
23
|
-
|
|
24
|
-
type Story = StoryObj<typeof meta>;
|
|
25
|
-
|
|
26
|
-
export const WithParams: Story = {
|
|
27
|
-
args: {
|
|
28
|
-
userDestinationAddress: EXAMPLE_EVM_ADDRESS,
|
|
29
|
-
chainId: ChainId.ethereum,
|
|
30
|
-
env: DEFAULT_ENV,
|
|
31
|
-
},
|
|
32
|
-
argTypes: {
|
|
33
|
-
chainId: {
|
|
34
|
-
mapping: ChainId,
|
|
35
|
-
options: Object.keys(ChainId),
|
|
36
|
-
description: 'The chain',
|
|
37
|
-
control: { type: 'select' },
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
type GetUserStakeAndBakeSignatureProps = IGetUserStakeAndBakeSignatureParams;
|
|
43
|
-
|
|
44
|
-
export function StoryView(props: GetUserStakeAndBakeSignatureProps) {
|
|
45
|
-
const request = async () => {
|
|
46
|
-
return getUserStakeAndBakeSignature({
|
|
47
|
-
...props,
|
|
48
|
-
});
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
const { data, error, isLoading, refetch } = useQuery(request, [], false);
|
|
52
|
-
|
|
53
|
-
return (
|
|
54
|
-
<>
|
|
55
|
-
<p>
|
|
56
|
-
This method gets the user's stake and bake signature from the API. The
|
|
57
|
-
signature is used to approve spending of tokens.
|
|
58
|
-
</p>
|
|
59
|
-
|
|
60
|
-
<Button
|
|
61
|
-
onClick={refetch}
|
|
62
|
-
disabled={isLoading}
|
|
63
|
-
isLoading={isLoading}
|
|
64
|
-
actionName={getUserStakeAndBakeSignature.name}
|
|
65
|
-
/>
|
|
66
|
-
|
|
67
|
-
<CodeBlock text={error || data} />
|
|
68
|
-
</>
|
|
69
|
-
);
|
|
70
|
-
}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import axios from 'axios';
|
|
2
|
-
|
|
3
|
-
import { getApiConfig } from '../../common/api-config';
|
|
4
|
-
import { ChainId } from '../../common/chains';
|
|
5
|
-
import { IEnvParam } from '../../common/parameters';
|
|
6
|
-
import { getErrorMessage } from '../../utils/err';
|
|
7
|
-
|
|
8
|
-
export interface IGetUserStakeAndBakeSignatureParams extends IEnvParam {
|
|
9
|
-
/**
|
|
10
|
-
* User's destination address
|
|
11
|
-
*/
|
|
12
|
-
userDestinationAddress: string;
|
|
13
|
-
/**
|
|
14
|
-
* Chain ID
|
|
15
|
-
*/
|
|
16
|
-
chainId: ChainId;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export interface IGetUserStakeAndBakeSignatureResponse {
|
|
20
|
-
/**
|
|
21
|
-
* The user's destination address
|
|
22
|
-
*/
|
|
23
|
-
userDestinationAddress: string;
|
|
24
|
-
/**
|
|
25
|
-
* The signature
|
|
26
|
-
*/
|
|
27
|
-
signature: string;
|
|
28
|
-
/**
|
|
29
|
-
* The expiration date
|
|
30
|
-
*/
|
|
31
|
-
expirationDate: string;
|
|
32
|
-
/**
|
|
33
|
-
* The deposit amount
|
|
34
|
-
*/
|
|
35
|
-
depositAmount: string;
|
|
36
|
-
/**
|
|
37
|
-
* The chain ID
|
|
38
|
-
*/
|
|
39
|
-
chainId: string;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
interface IGetUserStakeAndBakeSignatureAPIResponse {
|
|
43
|
-
user_destination_address: string;
|
|
44
|
-
signature: string;
|
|
45
|
-
expiration_date: string;
|
|
46
|
-
deposit_amount: string;
|
|
47
|
-
chain_id: string;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Get user's stake and bake signature from the API
|
|
52
|
-
*
|
|
53
|
-
* @param {IGetUserStakeAndBakeSignatureParams} parameters - Parameters for getting the signature
|
|
54
|
-
* @param {string} parameters.userDestinationAddress - The destination account address.
|
|
55
|
-
* @param {ChainId} parameters.chainId - The chain id.
|
|
56
|
-
* @param {Env} parameters.env - The optional environment identifier.
|
|
57
|
-
*
|
|
58
|
-
* @returns {Promise<IGetUserStakeAndBakeSignatureResponse>} Promise that resolves to the signature response
|
|
59
|
-
*/
|
|
60
|
-
export async function getUserStakeAndBakeSignature({
|
|
61
|
-
userDestinationAddress,
|
|
62
|
-
chainId,
|
|
63
|
-
env,
|
|
64
|
-
}: IGetUserStakeAndBakeSignatureParams): Promise<IGetUserStakeAndBakeSignatureResponse> {
|
|
65
|
-
const { baseApiUrl } = getApiConfig(env);
|
|
66
|
-
|
|
67
|
-
try {
|
|
68
|
-
const { data } = await axios.get<IGetUserStakeAndBakeSignatureAPIResponse>(
|
|
69
|
-
`${baseApiUrl}/api/v1/claimer/get-user-stake-and-bake-signature`,
|
|
70
|
-
{
|
|
71
|
-
params: {
|
|
72
|
-
userDestinationAddress,
|
|
73
|
-
chainId: chainId.toString(),
|
|
74
|
-
},
|
|
75
|
-
},
|
|
76
|
-
);
|
|
77
|
-
|
|
78
|
-
return {
|
|
79
|
-
userDestinationAddress: data.user_destination_address,
|
|
80
|
-
signature: data.signature,
|
|
81
|
-
expirationDate: data.expiration_date,
|
|
82
|
-
depositAmount: data.deposit_amount,
|
|
83
|
-
chainId: data.chain_id,
|
|
84
|
-
};
|
|
85
|
-
} catch (error) {
|
|
86
|
-
const errorMessage = getErrorMessage(error);
|
|
87
|
-
throw new Error(
|
|
88
|
-
`Failed to get user stake and bake signature: ${errorMessage}`,
|
|
89
|
-
);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './getUserStakeAndBakeSignature';
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export * from './generateDepositBtcAddress';
|
|
2
|
-
export * from './getDepositBtcAddress';
|
|
3
|
-
export * from './getDepositsByAddress';
|
|
4
|
-
export * from './getLBTCExchangeRate';
|
|
5
|
-
export * from './getNetworkFeeSignature';
|
|
6
|
-
export * from './getPointsByAddress';
|
|
7
|
-
export * from './getUnstakesByAddress';
|
|
8
|
-
export * from './getUserStakeAndBakeSignature';
|
|
9
|
-
export * from './setReferral';
|
|
10
|
-
export * from './storeNetworkFeeSignature';
|
|
11
|
-
export * from './storeStakeAndBakeSignature';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './setReferral';
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import axios from 'axios';
|
|
2
|
-
|
|
3
|
-
import { getApiConfig } from '../../common/api-config';
|
|
4
|
-
import { IEnvParam } from '../../common/parameters';
|
|
5
|
-
import { getErrorMessage } from '../../utils/err';
|
|
6
|
-
|
|
7
|
-
const URL = 'api/v1/referral-system/referrer/';
|
|
8
|
-
|
|
9
|
-
export interface ISetReferralParams extends IEnvParam {
|
|
10
|
-
/**
|
|
11
|
-
* The destination EVM user address where LBTC will be claimed.
|
|
12
|
-
*/
|
|
13
|
-
address: string;
|
|
14
|
-
/**
|
|
15
|
-
* The signature of the address. The signature is generated by signing the address using wallet.
|
|
16
|
-
* Use `signTermsOfService` or `signLbtcDestinationAddr` functions.
|
|
17
|
-
*/
|
|
18
|
-
signature: string;
|
|
19
|
-
/**
|
|
20
|
-
* The captcha token.
|
|
21
|
-
*/
|
|
22
|
-
referrerCode: string;
|
|
23
|
-
/**
|
|
24
|
-
* The typed data object used to generate the signature if using a network fee authorization signature.
|
|
25
|
-
*/
|
|
26
|
-
eip712Data?: string;
|
|
27
|
-
/**
|
|
28
|
-
* The public key (required for Starknet).
|
|
29
|
-
*/
|
|
30
|
-
pubKey?: string;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Set a referral code.
|
|
35
|
-
*
|
|
36
|
-
* @param {ISetReferralParams} The parameters for set referral.
|
|
37
|
-
* @returns {Promise<void>} Nothing.
|
|
38
|
-
* @exception {Error}
|
|
39
|
-
*/
|
|
40
|
-
export async function setReferral({
|
|
41
|
-
address,
|
|
42
|
-
signature,
|
|
43
|
-
eip712Data,
|
|
44
|
-
referrerCode,
|
|
45
|
-
pubKey,
|
|
46
|
-
env,
|
|
47
|
-
}: ISetReferralParams): Promise<void> {
|
|
48
|
-
const { baseApiUrl } = getApiConfig(env);
|
|
49
|
-
|
|
50
|
-
const requestParams = {
|
|
51
|
-
referrer_code: referrerCode,
|
|
52
|
-
signature,
|
|
53
|
-
signature_typed_data: eip712Data,
|
|
54
|
-
...(pubKey && { public_key: pubKey }),
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
try {
|
|
58
|
-
await axios.post(`${URL}${address}`, requestParams, {
|
|
59
|
-
baseURL: baseApiUrl,
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
return undefined;
|
|
63
|
-
} catch (error) {
|
|
64
|
-
const errorMsg = getErrorMessage(error);
|
|
65
|
-
throw new Error(errorMsg);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './storeNetworkFeeSignature';
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { DEFAULT_ENV } from '@lombard.finance/sdk-common';
|
|
2
|
-
import type { Meta, StoryObj } from '@storybook/react';
|
|
3
|
-
|
|
4
|
-
import { Button } from '../../stories/components/Button';
|
|
5
|
-
import { CodeBlock } from '../../stories/components/CodeBlock';
|
|
6
|
-
import { functionType } from '../../stories/components/decorators';
|
|
7
|
-
import { EXAMPLE_EVM_ADDRESS } from '../../stories/constants';
|
|
8
|
-
import useQuery from '../../stories/hooks/useQuery';
|
|
9
|
-
import {
|
|
10
|
-
IStoreNetworkFeeSignatureParams,
|
|
11
|
-
storeNetworkFeeSignature,
|
|
12
|
-
} from './storeNetworkFeeSignature';
|
|
13
|
-
|
|
14
|
-
const meta = {
|
|
15
|
-
title: 'api/storeNetworkFeeSignature',
|
|
16
|
-
component: StoryView,
|
|
17
|
-
tags: ['autodocs'],
|
|
18
|
-
decorators: [functionType('api-post')],
|
|
19
|
-
} satisfies Meta<typeof StoryView>;
|
|
20
|
-
|
|
21
|
-
export default meta;
|
|
22
|
-
|
|
23
|
-
type Story = StoryObj<typeof meta>;
|
|
24
|
-
|
|
25
|
-
export const WithParams: Story = {
|
|
26
|
-
args: {
|
|
27
|
-
address: EXAMPLE_EVM_ADDRESS,
|
|
28
|
-
signature: '0x... YOUR SIGNATURE GOES HERE',
|
|
29
|
-
typedData: '{ ... } YOUR TYPED DATA GOES HERE',
|
|
30
|
-
env: DEFAULT_ENV,
|
|
31
|
-
},
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
type StoreNetworkFeeSignatureProps = IStoreNetworkFeeSignatureParams;
|
|
35
|
-
|
|
36
|
-
export function StoryView(props: StoreNetworkFeeSignatureProps) {
|
|
37
|
-
const request = async () => {
|
|
38
|
-
return storeNetworkFeeSignature({
|
|
39
|
-
...props,
|
|
40
|
-
});
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
const { data, error, isLoading, refetch } = useQuery(request, [], false);
|
|
44
|
-
|
|
45
|
-
return (
|
|
46
|
-
<>
|
|
47
|
-
<Button
|
|
48
|
-
onClick={refetch}
|
|
49
|
-
disabled={isLoading}
|
|
50
|
-
isLoading={isLoading}
|
|
51
|
-
actionName={storeNetworkFeeSignature.name}
|
|
52
|
-
/>
|
|
53
|
-
|
|
54
|
-
<CodeBlock text={error || data} />
|
|
55
|
-
</>
|
|
56
|
-
);
|
|
57
|
-
}
|