@trezor/connect 10.0.0-alpha.1 → 10.0.0-beta.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 +159 -63
- package/README.md +5 -3
- package/lib/exports.d.ts +1 -0
- package/lib/exports.js +1 -0
- package/lib/impl/core-in-module-native.d.ts +7 -0
- package/lib/impl/core-in-module-native.js +11 -0
- package/lib/impl/core-in-module-node.d.ts +8 -0
- package/lib/impl/core-in-module-node.js +12 -0
- package/lib/impl/core-in-module-web.d.ts +9 -0
- package/lib/impl/core-in-module-web.js +26 -0
- package/lib/index.browser.d.ts +7 -0
- package/lib/index.browser.js +10 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.js +5 -0
- package/lib/index.native.d.ts +4 -0
- package/lib/index.native.js +5 -0
- package/package.json +30 -83
- package/libESM/api/applyFlags.d.mts +0 -20
- package/libESM/api/applyFlags.mjs +0 -36
- package/libESM/api/applySettings.d.mts +0 -20
- package/libESM/api/applySettings.mjs +0 -55
- package/libESM/api/authenticateDevice.d.mts +0 -9
- package/libESM/api/authenticateDevice.mjs +0 -108
- package/libESM/api/authorizeCoinjoin.d.mts +0 -11
- package/libESM/api/authorizeCoinjoin.mjs +0 -44
- package/libESM/api/backupDevice.d.mts +0 -19
- package/libESM/api/backupDevice.mjs +0 -36
- package/libESM/api/bitcoin/TransactionComposer.d.mts +0 -46
- package/libESM/api/bitcoin/TransactionComposer.mjs +0 -139
- package/libESM/api/bitcoin/createPendingTx.d.mts +0 -33
- package/libESM/api/bitcoin/createPendingTx.mjs +0 -54
- package/libESM/api/bitcoin/enhanceSignTx.d.mts +0 -2
- package/libESM/api/bitcoin/enhanceSignTx.mjs +0 -23
- package/libESM/api/bitcoin/index.d.mts +0 -9
- package/libESM/api/bitcoin/index.mjs +0 -9
- package/libESM/api/bitcoin/inputs.d.mts +0 -6
- package/libESM/api/bitcoin/inputs.mjs +0 -75
- package/libESM/api/bitcoin/outputs.d.mts +0 -5
- package/libESM/api/bitcoin/outputs.mjs +0 -128
- package/libESM/api/bitcoin/refTx.d.mts +0 -17
- package/libESM/api/bitcoin/refTx.mjs +0 -252
- package/libESM/api/bitcoin/signtx.d.mts +0 -22
- package/libESM/api/bitcoin/signtx.mjs +0 -213
- package/libESM/api/bitcoin/signtxLegacy.d.mts +0 -3
- package/libESM/api/bitcoin/signtxLegacy.mjs +0 -179
- package/libESM/api/bitcoin/signtxVerify.d.mts +0 -12
- package/libESM/api/bitcoin/signtxVerify.mjs +0 -86
- package/libESM/api/bitcoin/transactionBytes.d.mts +0 -3
- package/libESM/api/bitcoin/transactionBytes.mjs +0 -65
- package/libESM/api/bleUnpair.d.mts +0 -11
- package/libESM/api/bleUnpair.mjs +0 -35
- package/libESM/api/blockchainDisconnect.d.mts +0 -16
- package/libESM/api/blockchainDisconnect.mjs +0 -39
- package/libESM/api/blockchainEstimateFee.d.mts +0 -14
- package/libESM/api/blockchainEstimateFee.mjs +0 -106
- package/libESM/api/blockchainEvmRpcCall.d.mts +0 -17
- package/libESM/api/blockchainEvmRpcCall.mjs +0 -61
- package/libESM/api/blockchainGetAccountBalanceHistory.d.mts +0 -14
- package/libESM/api/blockchainGetAccountBalanceHistory.mjs +0 -64
- package/libESM/api/blockchainGetContractInfo.d.mts +0 -14
- package/libESM/api/blockchainGetContractInfo.mjs +0 -50
- package/libESM/api/blockchainGetCurrentFiatRates.d.mts +0 -18
- package/libESM/api/blockchainGetCurrentFiatRates.mjs +0 -53
- package/libESM/api/blockchainGetFiatRatesForTimestamps.d.mts +0 -21
- package/libESM/api/blockchainGetFiatRatesForTimestamps.mjs +0 -59
- package/libESM/api/blockchainGetInfo.d.mts +0 -13
- package/libESM/api/blockchainGetInfo.mjs +0 -41
- package/libESM/api/blockchainGetTransactions.d.mts +0 -15
- package/libESM/api/blockchainGetTransactions.mjs +0 -47
- package/libESM/api/blockchainSetCustomBackend.d.mts +0 -13
- package/libESM/api/blockchainSetCustomBackend.mjs +0 -41
- package/libESM/api/blockchainSubscribe.d.mts +0 -17
- package/libESM/api/blockchainSubscribe.mjs +0 -68
- package/libESM/api/blockchainSubscribeFiatRates.d.mts +0 -17
- package/libESM/api/blockchainSubscribeFiatRates.mjs +0 -47
- package/libESM/api/blockchainUnsubscribe.d.mts +0 -17
- package/libESM/api/blockchainUnsubscribe.mjs +0 -68
- package/libESM/api/blockchainUnsubscribeFiatRates.d.mts +0 -15
- package/libESM/api/blockchainUnsubscribeFiatRates.mjs +0 -41
- package/libESM/api/blockchainValidateEvmRpcUrl.d.mts +0 -17
- package/libESM/api/blockchainValidateEvmRpcUrl.mjs +0 -54
- package/libESM/api/cancelCoinjoinAuthorization.d.mts +0 -11
- package/libESM/api/cancelCoinjoinAuthorization.mjs +0 -31
- package/libESM/api/cardano/api/cardanoComposeTransaction.d.mts +0 -10
- package/libESM/api/cardano/api/cardanoComposeTransaction.mjs +0 -79
- package/libESM/api/cardano/api/cardanoGetAddress.d.mts +0 -30
- package/libESM/api/cardano/api/cardanoGetAddress.mjs +0 -116
- package/libESM/api/cardano/api/cardanoGetNativeScriptHash.d.mts +0 -12
- package/libESM/api/cardano/api/cardanoGetNativeScriptHash.mjs +0 -66
- package/libESM/api/cardano/api/cardanoGetPublicKey.d.mts +0 -20
- package/libESM/api/cardano/api/cardanoGetPublicKey.mjs +0 -72
- package/libESM/api/cardano/api/cardanoSignMessage.d.mts +0 -27
- package/libESM/api/cardano/api/cardanoSignMessage.mjs +0 -96
- package/libESM/api/cardano/api/cardanoSignTransaction.d.mts +0 -81
- package/libESM/api/cardano/api/cardanoSignTransaction.mjs +0 -298
- package/libESM/api/cardano/api/index.d.mts +0 -6
- package/libESM/api/cardano/api/index.mjs +0 -6
- package/libESM/api/cardano/cardanoAddressParameters.d.mts +0 -6
- package/libESM/api/cardano/cardanoAddressParameters.mjs +0 -79
- package/libESM/api/cardano/cardanoAuxiliaryData.d.mts +0 -4
- package/libESM/api/cardano/cardanoAuxiliaryData.mjs +0 -74
- package/libESM/api/cardano/cardanoCertificate.d.mts +0 -13
- package/libESM/api/cardano/cardanoCertificate.mjs +0 -142
- package/libESM/api/cardano/cardanoInputs.d.mts +0 -25
- package/libESM/api/cardano/cardanoInputs.mjs +0 -39
- package/libESM/api/cardano/cardanoOutputs.d.mts +0 -40
- package/libESM/api/cardano/cardanoOutputs.mjs +0 -70
- package/libESM/api/cardano/cardanoTokenBundle.d.mts +0 -12
- package/libESM/api/cardano/cardanoTokenBundle.mjs +0 -21
- package/libESM/api/cardano/cardanoUtils.d.mts +0 -9
- package/libESM/api/cardano/cardanoUtils.mjs +0 -101
- package/libESM/api/cardano/cardanoWitnesses.d.mts +0 -4
- package/libESM/api/cardano/cardanoWitnesses.mjs +0 -47
- package/libESM/api/changeLanguage.d.mts +0 -18
- package/libESM/api/changeLanguage.mjs +0 -47
- package/libESM/api/changePin.d.mts +0 -11
- package/libESM/api/changePin.mjs +0 -25
- package/libESM/api/changeWipeCode.d.mts +0 -11
- package/libESM/api/changeWipeCode.mjs +0 -27
- package/libESM/api/cipherKeyValue.d.mts +0 -15
- package/libESM/api/cipherKeyValue.mjs +0 -51
- package/libESM/api/common/AbstractMiscGetAddress.d.mts +0 -35
- package/libESM/api/common/AbstractMiscGetAddress.mjs +0 -102
- package/libESM/api/common/Discovery.d.mts +0 -33
- package/libESM/api/common/Discovery.mjs +0 -116
- package/libESM/api/common/paramsValidator.d.mts +0 -23
- package/libESM/api/common/paramsValidator.mjs +0 -134
- package/libESM/api/common/requestExistingAccounts.d.mts +0 -9
- package/libESM/api/common/requestExistingAccounts.mjs +0 -20
- package/libESM/api/composeTransaction.d.mts +0 -36
- package/libESM/api/composeTransaction.mjs +0 -386
- package/libESM/api/discoverAccounts.d.mts +0 -38
- package/libESM/api/discoverAccounts.mjs +0 -363
- package/libESM/api/ethereum/api/ethereumGetAddress.d.mts +0 -28
- package/libESM/api/ethereum/api/ethereumGetAddress.mjs +0 -135
- package/libESM/api/ethereum/api/ethereumGetPublicKey.d.mts +0 -48
- package/libESM/api/ethereum/api/ethereumGetPublicKey.mjs +0 -90
- package/libESM/api/ethereum/api/ethereumSignMessage.d.mts +0 -27
- package/libESM/api/ethereum/api/ethereumSignMessage.mjs +0 -64
- package/libESM/api/ethereum/api/ethereumSignTransaction.d.mts +0 -83
- package/libESM/api/ethereum/api/ethereumSignTransaction.mjs +0 -148
- package/libESM/api/ethereum/api/ethereumSignTypedData.d.mts +0 -116
- package/libESM/api/ethereum/api/ethereumSignTypedData.mjs +0 -202
- package/libESM/api/ethereum/api/ethereumVerifyMessage.d.mts +0 -12
- package/libESM/api/ethereum/api/ethereumVerifyMessage.mjs +0 -33
- package/libESM/api/ethereum/api/index.d.mts +0 -6
- package/libESM/api/ethereum/api/index.mjs +0 -6
- package/libESM/api/ethereum/ethereumDefinitions.d.mts +0 -46
- package/libESM/api/ethereum/ethereumDefinitions.mjs +0 -103
- package/libESM/api/ethereum/ethereumSignTx.d.mts +0 -20
- package/libESM/api/ethereum/ethereumSignTx.mjs +0 -131
- package/libESM/api/ethereum/ethereumSignTypedData.d.mts +0 -32
- package/libESM/api/ethereum/ethereumSignTypedData.mjs +0 -169
- package/libESM/api/evoluGetDelegatedIdentityKey.d.mts +0 -14
- package/libESM/api/evoluGetDelegatedIdentityKey.mjs +0 -26
- package/libESM/api/evoluGetNode.d.mts +0 -13
- package/libESM/api/evoluGetNode.mjs +0 -27
- package/libESM/api/evoluSignRegistrationRequest.d.mts +0 -15
- package/libESM/api/evoluSignRegistrationRequest.mjs +0 -31
- package/libESM/api/firmware/calculateFirmwareHash.d.mts +0 -13
- package/libESM/api/firmware/calculateFirmwareHash.mjs +0 -56
- package/libESM/api/firmware/calculateXPubHash.d.mts +0 -10
- package/libESM/api/firmware/calculateXPubHash.mjs +0 -14
- package/libESM/api/firmware/getBinary.d.mts +0 -10
- package/libESM/api/firmware/getBinary.mjs +0 -33
- package/libESM/api/firmware/index.d.mts +0 -6
- package/libESM/api/firmware/index.mjs +0 -6
- package/libESM/api/firmware/modifyFirmware.d.mts +0 -3
- package/libESM/api/firmware/modifyFirmware.mjs +0 -13
- package/libESM/api/firmware/parseFirmwareHeaders.d.mts +0 -4
- package/libESM/api/firmware/parseFirmwareHeaders.mjs +0 -26
- package/libESM/api/firmware/uploadFirmware.d.mts +0 -19
- package/libESM/api/firmware/uploadFirmware.mjs +0 -99
- package/libESM/api/firmware/verifyEntropy.d.mts +0 -18
- package/libESM/api/firmware/verifyEntropy.mjs +0 -107
- package/libESM/api/getAccountInfo.d.mts +0 -94
- package/libESM/api/getAccountInfo.mjs +0 -385
- package/libESM/api/getAddress.d.mts +0 -39
- package/libESM/api/getAddress.mjs +0 -142
- package/libESM/api/getCoinInfo.d.mts +0 -148
- package/libESM/api/getCoinInfo.mjs +0 -29
- package/libESM/api/getDeviceState.d.mts +0 -8
- package/libESM/api/getDeviceState.mjs +0 -16
- package/libESM/api/getFeatures.d.mts +0 -70
- package/libESM/api/getFeatures.mjs +0 -20
- package/libESM/api/getFirmwareHash.d.mts +0 -11
- package/libESM/api/getFirmwareHash.mjs +0 -27
- package/libESM/api/getNonce.d.mts +0 -10
- package/libESM/api/getNonce.mjs +0 -16
- package/libESM/api/getOwnershipId.d.mts +0 -15
- package/libESM/api/getOwnershipId.mjs +0 -79
- package/libESM/api/getOwnershipProof.d.mts +0 -15
- package/libESM/api/getOwnershipProof.mjs +0 -86
- package/libESM/api/getPublicKey.d.mts +0 -50
- package/libESM/api/getPublicKey.mjs +0 -88
- package/libESM/api/getSettings.d.mts +0 -8
- package/libESM/api/getSettings.mjs +0 -15
- package/libESM/api/index.d.mts +0 -59
- package/libESM/api/index.mjs +0 -59
- package/libESM/api/loadDevice.d.mts +0 -16
- package/libESM/api/loadDevice.mjs +0 -44
- package/libESM/api/monero/api/index.d.mts +0 -4
- package/libESM/api/monero/api/index.mjs +0 -4
- package/libESM/api/monero/api/moneroGetAddress.d.mts +0 -30
- package/libESM/api/monero/api/moneroGetAddress.mjs +0 -109
- package/libESM/api/monero/api/moneroGetWatchKey.d.mts +0 -14
- package/libESM/api/monero/api/moneroGetWatchKey.mjs +0 -44
- package/libESM/api/monero/api/moneroKeyImageSync.d.mts +0 -17
- package/libESM/api/monero/api/moneroKeyImageSync.mjs +0 -127
- package/libESM/api/monero/api/moneroSignTransaction.d.mts +0 -17
- package/libESM/api/monero/api/moneroSignTransaction.mjs +0 -202
- package/libESM/api/pingDevice.d.mts +0 -11
- package/libESM/api/pingDevice.mjs +0 -27
- package/libESM/api/pushTransaction.d.mts +0 -17
- package/libESM/api/pushTransaction.mjs +0 -42
- package/libESM/api/recoveryDevice.d.mts +0 -20
- package/libESM/api/recoveryDevice.mjs +0 -50
- package/libESM/api/requestLogin.d.mts +0 -14
- package/libESM/api/requestLogin.mjs +0 -48
- package/libESM/api/resetDevice.d.mts +0 -22
- package/libESM/api/resetDevice.mjs +0 -131
- package/libESM/api/ripple/api/index.d.mts +0 -2
- package/libESM/api/ripple/api/index.mjs +0 -2
- package/libESM/api/ripple/api/rippleGetAddress.d.mts +0 -15
- package/libESM/api/ripple/api/rippleGetAddress.mjs +0 -22
- package/libESM/api/ripple/api/rippleSignTransaction.d.mts +0 -13
- package/libESM/api/ripple/api/rippleSignTransaction.mjs +0 -52
- package/libESM/api/setBrightness.d.mts +0 -12
- package/libESM/api/setBrightness.mjs +0 -26
- package/libESM/api/setBusy.d.mts +0 -11
- package/libESM/api/setBusy.mjs +0 -32
- package/libESM/api/showDeviceTutorial.d.mts +0 -11
- package/libESM/api/showDeviceTutorial.mjs +0 -21
- package/libESM/api/signMessage.d.mts +0 -25
- package/libESM/api/signMessage.mjs +0 -71
- package/libESM/api/signTransaction.d.mts +0 -197
- package/libESM/api/signTransaction.mjs +0 -334
- package/libESM/api/solana/api/index.d.mts +0 -4
- package/libESM/api/solana/api/index.mjs +0 -4
- package/libESM/api/solana/api/solanaComposeTransaction.d.mts +0 -31
- package/libESM/api/solana/api/solanaComposeTransaction.mjs +0 -76
- package/libESM/api/solana/api/solanaGetAddress.d.mts +0 -15
- package/libESM/api/solana/api/solanaGetAddress.mjs +0 -22
- package/libESM/api/solana/api/solanaGetPublicKey.d.mts +0 -28
- package/libESM/api/solana/api/solanaGetPublicKey.mjs +0 -67
- package/libESM/api/solana/api/solanaSignTransaction.d.mts +0 -41
- package/libESM/api/solana/api/solanaSignTransaction.mjs +0 -203
- package/libESM/api/solana/solanaDefinitions.d.mts +0 -7
- package/libESM/api/solana/solanaDefinitions.mjs +0 -33
- package/libESM/api/stellar/api/index.d.mts +0 -2
- package/libESM/api/stellar/api/index.mjs +0 -2
- package/libESM/api/stellar/api/stellarGetAddress.d.mts +0 -15
- package/libESM/api/stellar/api/stellarGetAddress.mjs +0 -22
- package/libESM/api/stellar/api/stellarSignTransaction.d.mts +0 -26
- package/libESM/api/stellar/api/stellarSignTransaction.mjs +0 -66
- package/libESM/api/stellar/stellarSignTx.d.mts +0 -7
- package/libESM/api/stellar/stellarSignTx.mjs +0 -191
- package/libESM/api/telemetryGet.d.mts +0 -14
- package/libESM/api/telemetryGet.mjs +0 -24
- package/libESM/api/tezos/api/index.d.mts +0 -3
- package/libESM/api/tezos/api/index.mjs +0 -3
- package/libESM/api/tezos/api/tezosGetAddress.d.mts +0 -15
- package/libESM/api/tezos/api/tezosGetAddress.mjs +0 -22
- package/libESM/api/tezos/api/tezosGetPublicKey.d.mts +0 -24
- package/libESM/api/tezos/api/tezosGetPublicKey.mjs +0 -66
- package/libESM/api/tezos/api/tezosSignTransaction.d.mts +0 -14
- package/libESM/api/tezos/api/tezosSignTransaction.mjs +0 -30
- package/libESM/api/tezos/tezosSignTx.d.mts +0 -71
- package/libESM/api/tezos/tezosSignTx.mjs +0 -204
- package/libESM/api/thpGetCredentials.d.mts +0 -13
- package/libESM/api/thpGetCredentials.mjs +0 -28
- package/libESM/api/thpRemoveCredentials.d.mts +0 -15
- package/libESM/api/thpRemoveCredentials.mjs +0 -42
- package/libESM/api/tron/api/index.d.mts +0 -3
- package/libESM/api/tron/api/index.mjs +0 -3
- package/libESM/api/tron/api/tronComposeTransaction.d.mts +0 -17
- package/libESM/api/tron/api/tronComposeTransaction.mjs +0 -51
- package/libESM/api/tron/api/tronGetAddress.d.mts +0 -15
- package/libESM/api/tron/api/tronGetAddress.mjs +0 -20
- package/libESM/api/tron/api/tronSignTransaction.d.mts +0 -19
- package/libESM/api/tron/api/tronSignTransaction.mjs +0 -129
- package/libESM/api/tron/tronEncode.d.mts +0 -12
- package/libESM/api/tron/tronEncode.mjs +0 -77
- package/libESM/api/tron/tronProtobuf.d.mts +0 -5
- package/libESM/api/tron/tronProtobuf.mjs +0 -28
- package/libESM/api/unlockPath.d.mts +0 -12
- package/libESM/api/unlockPath.mjs +0 -31
- package/libESM/api/verifyMessage.d.mts +0 -16
- package/libESM/api/verifyMessage.mjs +0 -46
- package/libESM/api/wipeDevice.d.mts +0 -21
- package/libESM/api/wipeDevice.mjs +0 -47
- package/libESM/backend/BackendManager.d.mts +0 -24
- package/libESM/backend/BackendManager.mjs +0 -137
- package/libESM/backend/Blockchain.d.mts +0 -81
- package/libESM/backend/Blockchain.mjs +0 -232
- package/libESM/backend/BlockchainLink.d.mts +0 -9
- package/libESM/backend/BlockchainLink.mjs +0 -13
- package/libESM/backend/fees/BitcoinFeeLevels.d.mts +0 -19
- package/libESM/backend/fees/BitcoinFeeLevels.mjs +0 -43
- package/libESM/backend/fees/EthereumFeeLevels.d.mts +0 -17
- package/libESM/backend/fees/EthereumFeeLevels.mjs +0 -52
- package/libESM/backend/fees/MiscFeeLevels.d.mts +0 -18
- package/libESM/backend/fees/MiscFeeLevels.mjs +0 -25
- package/libESM/backend/fees/index.d.mts +0 -5
- package/libESM/backend/fees/index.mjs +0 -30
- package/libESM/core/AbstractMethod.d.mts +0 -65
- package/libESM/core/AbstractMethod.mjs +0 -153
- package/libESM/core/index.d.mts +0 -27
- package/libESM/core/index.mjs +0 -795
- package/libESM/core/method.d.mts +0 -3
- package/libESM/core/method.mjs +0 -19
- package/libESM/core/method.native.d.mts +0 -2
- package/libESM/core/method.native.mjs +0 -29
- package/libESM/core/onCallFirmwareUpdate.d.mts +0 -39
- package/libESM/core/onCallFirmwareUpdate.mjs +0 -436
- package/libESM/data/coinInfo.d.mts +0 -374
- package/libESM/data/coinInfo.mjs +0 -183
- package/libESM/data/config.d.mts +0 -8
- package/libESM/data/config.mjs +0 -265
- package/libESM/data/defaultFeeLevels.d.mts +0 -18
- package/libESM/data/defaultFeeLevels.mjs +0 -174
- package/libESM/data/firmwareInfo.d.mts +0 -41
- package/libESM/data/firmwareInfo.mjs +0 -411
- package/libESM/data/firmwareReleaseStore.d.mts +0 -10
- package/libESM/data/firmwareReleaseStore.mjs +0 -16
- package/libESM/data/localFirmwareStore.d.mts +0 -3
- package/libESM/data/localFirmwareStore.mjs +0 -8
- package/libESM/data/protobufLoader.d.mts +0 -1
- package/libESM/data/protobufLoader.mjs +0 -29
- package/libESM/data/settingsStore.d.mts +0 -6
- package/libESM/data/settingsStore.mjs +0 -21
- package/libESM/device/Device.d.mts +0 -237
- package/libESM/device/Device.mjs +0 -729
- package/libESM/device/DeviceCommands.d.mts +0 -77
- package/libESM/device/DeviceCommands.mjs +0 -245
- package/libESM/device/DeviceCurrentSession.d.mts +0 -3208
- package/libESM/device/DeviceCurrentSession.mjs +0 -240
- package/libESM/device/DeviceList.d.mts +0 -68
- package/libESM/device/DeviceList.mjs +0 -246
- package/libESM/device/TransportList.d.mts +0 -9
- package/libESM/device/TransportList.mjs +0 -41
- package/libESM/device/TransportManager.d.mts +0 -30
- package/libESM/device/TransportManager.mjs +0 -142
- package/libESM/device/calculateRevisionForDevice.d.mts +0 -7
- package/libESM/device/calculateRevisionForDevice.mjs +0 -19
- package/libESM/device/checkFirmwareRevision.d.mts +0 -12
- package/libESM/device/checkFirmwareRevision.mjs +0 -75
- package/libESM/device/resolveDescriptorForTaproot.d.mts +0 -14
- package/libESM/device/resolveDescriptorForTaproot.mjs +0 -25
- package/libESM/device/thp/handshake.d.mts +0 -3
- package/libESM/device/thp/handshake.mjs +0 -100
- package/libESM/device/thp/index.d.mts +0 -5
- package/libESM/device/thp/index.mjs +0 -65
- package/libESM/device/thp/pairing.d.mts +0 -16
- package/libESM/device/thp/pairing.mjs +0 -237
- package/libESM/device/thp/session.d.mts +0 -2
- package/libESM/device/thp/session.mjs +0 -27
- package/libESM/device/thp/thpCall.d.mts +0 -40
- package/libESM/device/thp/thpCall.mjs +0 -58
- package/libESM/device/validateMessageSize.d.mts +0 -2
- package/libESM/device/validateMessageSize.mjs +0 -9
- package/libESM/device/workflow/changeLanguage.d.mts +0 -14
- package/libESM/device/workflow/changeLanguage.mjs +0 -59
- package/libESM/device/workflow/checkFirmwareHash.d.mts +0 -9
- package/libESM/device/workflow/checkFirmwareHash.mjs +0 -86
- package/libESM/device/workflow/checkFirmwareHashWithRetries.d.mts +0 -8
- package/libESM/device/workflow/checkFirmwareHashWithRetries.mjs +0 -36
- package/libESM/device/workflow/handshake.d.mts +0 -9
- package/libESM/device/workflow/handshake.mjs +0 -55
- package/libESM/device/workflow/trezorPushNotification.d.mts +0 -2
- package/libESM/device/workflow/trezorPushNotification.mjs +0 -73
- package/libESM/device/workflow/validateState.d.mts +0 -2
- package/libESM/device/workflow/validateState.mjs +0 -153
- package/libESM/events/ui-promise.d.mts +0 -22
- package/libESM/events/ui-promise.mjs +0 -1
- package/libESM/exports.d.mts +0 -3
- package/libESM/exports.mjs +0 -3
- package/libESM/impl/core-in-module.d.mts +0 -27
- package/libESM/impl/core-in-module.mjs +0 -173
- package/libESM/index.browser.d.mts +0 -9
- package/libESM/index.browser.mjs +0 -50
- package/libESM/index.d.mts +0 -6
- package/libESM/index.mjs +0 -32
- package/libESM/index.renderer.d.mts +0 -6
- package/libESM/index.renderer.mjs +0 -19
- package/libESM/tsconfig.libESM.tsbuildinfo +0 -1
- package/libESM/types/idevice.d.mts +0 -109
- package/libESM/types/idevice.mjs +0 -1
- package/libESM/types/typed-call-provider.d.mts +0 -29
- package/libESM/types/typed-call-provider.mjs +0 -1
- package/libESM/types/workflow.d.mts +0 -16
- package/libESM/types/workflow.mjs +0 -1
- package/libESM/utils/accountUtils.d.mts +0 -10
- package/libESM/utils/accountUtils.mjs +0 -83
- package/libESM/utils/addressUtils.d.mts +0 -2
- package/libESM/utils/addressUtils.mjs +0 -24
- package/libESM/utils/assetUtils.d.mts +0 -13
- package/libESM/utils/assetUtils.mjs +0 -56
- package/libESM/utils/assets.browser.d.mts +0 -1
- package/libESM/utils/assets.browser.mjs +0 -1
- package/libESM/utils/assets.d.mts +0 -2
- package/libESM/utils/assets.mjs +0 -13
- package/libESM/utils/assets.native.d.mts +0 -2
- package/libESM/utils/assets.native.mjs +0 -23
- package/libESM/utils/assetsTypes.d.mts +0 -5
- package/libESM/utils/assetsTypes.mjs +0 -1
- package/libESM/utils/buildOutputDescriptor.d.mts +0 -12
- package/libESM/utils/buildOutputDescriptor.mjs +0 -67
- package/libESM/utils/deviceFeaturesUtils.d.mts +0 -7
- package/libESM/utils/deviceFeaturesUtils.mjs +0 -109
- package/libESM/utils/ethereumUtils.d.mts +0 -3
- package/libESM/utils/ethereumUtils.mjs +0 -7
- package/libESM/utils/firmwareReleaseConfigUtils.d.mts +0 -19
- package/libESM/utils/firmwareReleaseConfigUtils.mjs +0 -131
- package/libESM/utils/firmwareUtils.d.mts +0 -13
- package/libESM/utils/firmwareUtils.mjs +0 -54
- package/libESM/utils/formatUtils.d.mts +0 -15
- package/libESM/utils/formatUtils.mjs +0 -45
- package/libESM/utils/hdnodeUtils.d.mts +0 -6
- package/libESM/utils/hdnodeUtils.mjs +0 -62
- package/libESM/utils/pathUtils.d.mts +0 -17
- package/libESM/utils/pathUtils.mjs +0 -141
- package/libESM/utils/paymentRequest.d.mts +0 -8
- package/libESM/utils/paymentRequest.mjs +0 -25
- package/libESM/utils/uiPromiseManager.d.mts +0 -8
- package/libESM/utils/uiPromiseManager.mjs +0 -51
- package/libESM/workers/workers.browser.d.mts +0 -10
- package/libESM/workers/workers.browser.mjs +0 -16
- package/libESM/workers/workers.d.mts +0 -10
- package/libESM/workers/workers.mjs +0 -8
- package/libESM/workers/workers.native.d.mts +0 -7
- package/libESM/workers/workers.native.mjs +0 -7
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import { decode, verify } from "jws";
|
|
2
|
-
import { getFirmwareReleaseJwsPublicKey } from "@trezor/connect-data";
|
|
3
|
-
import { firmwareReleaseConfigAssets } from "./assetUtils.mjs";
|
|
4
|
-
const RELEASES_URL_REMOTE_BASE = {
|
|
5
|
-
BASE_URL: 'https://data.trezor.io',
|
|
6
|
-
MIDDLE_PATH: 'firmware'
|
|
7
|
-
};
|
|
8
|
-
const UNSIGNED_URL_REMOTE_BASE = {
|
|
9
|
-
BASE_URL: 'https://data.trezor.io',
|
|
10
|
-
MIDDLE_PATH: 'dev/firmware/releases/unsigned'
|
|
11
|
-
};
|
|
12
|
-
const UNSIGNED_STABLE_URL_REMOTE_BASE = {
|
|
13
|
-
BASE_URL: 'https://data.trezor.io',
|
|
14
|
-
MIDDLE_PATH: 'dev/firmware/releases/unsigned-stable'
|
|
15
|
-
};
|
|
16
|
-
const SIGNED_URL_REMOTE_BASE = {
|
|
17
|
-
BASE_URL: 'https://suite.corp.sldev.cz',
|
|
18
|
-
MIDDLE_PATH: 'firmware/signed'
|
|
19
|
-
};
|
|
20
|
-
const SIGNED_LOCALHOST = {
|
|
21
|
-
BASE_URL: 'http://localhost:3000',
|
|
22
|
-
MIDDLE_PATH: 'firmware/signed'
|
|
23
|
-
};
|
|
24
|
-
const UNSIGNED_LOCALHOST = {
|
|
25
|
-
BASE_URL: 'http://localhost:3000',
|
|
26
|
-
MIDDLE_PATH: 'firmware/unsigned'
|
|
27
|
-
};
|
|
28
|
-
const FIRMWARE_REMOTE_BASE_URLS = {
|
|
29
|
-
production: RELEASES_URL_REMOTE_BASE,
|
|
30
|
-
'production-early-access': RELEASES_URL_REMOTE_BASE,
|
|
31
|
-
'test-unsigned': UNSIGNED_URL_REMOTE_BASE,
|
|
32
|
-
'test-unsigned-stable': UNSIGNED_STABLE_URL_REMOTE_BASE,
|
|
33
|
-
'test-signed': SIGNED_URL_REMOTE_BASE,
|
|
34
|
-
'localhost-unsigned': UNSIGNED_LOCALHOST,
|
|
35
|
-
'localhost-signed': SIGNED_LOCALHOST
|
|
36
|
-
};
|
|
37
|
-
export const getOnlineFirmwareBaseUrl = firmwareChannel => {
|
|
38
|
-
if (!firmwareChannel) {
|
|
39
|
-
return {
|
|
40
|
-
...FIRMWARE_REMOTE_BASE_URLS['production'],
|
|
41
|
-
firmwareChannel: 'production'
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
return {
|
|
45
|
-
...FIRMWARE_REMOTE_BASE_URLS[firmwareChannel],
|
|
46
|
-
firmwareChannel
|
|
47
|
-
};
|
|
48
|
-
};
|
|
49
|
-
const JWS_CONFIG = {
|
|
50
|
-
SIGN_ALGORITHM: 'ES256',
|
|
51
|
-
VERSION: 1,
|
|
52
|
-
REMOTE_FILENAME: 'releases.v1.json',
|
|
53
|
-
REQUEST_TIMEOUT_MS: 5000
|
|
54
|
-
};
|
|
55
|
-
const CONFIG_PATH_BY_CHANNEL = {
|
|
56
|
-
production: 'config/',
|
|
57
|
-
'production-early-access': 'config-early-access/'
|
|
58
|
-
};
|
|
59
|
-
const fetchRemoteJws = async firmwareChannel => {
|
|
60
|
-
const {
|
|
61
|
-
BASE_URL,
|
|
62
|
-
MIDDLE_PATH,
|
|
63
|
-
firmwareChannel: resolvedChannel
|
|
64
|
-
} = getOnlineFirmwareBaseUrl(firmwareChannel);
|
|
65
|
-
const configPath = CONFIG_PATH_BY_CHANNEL[resolvedChannel] ?? '';
|
|
66
|
-
const path = `${MIDDLE_PATH}/${configPath}${JWS_CONFIG.REMOTE_FILENAME}`;
|
|
67
|
-
const remoteReleasesUrl = new URL(path, BASE_URL);
|
|
68
|
-
try {
|
|
69
|
-
const controller = new AbortController();
|
|
70
|
-
const timeoutId = setTimeout(() => controller.abort('Request timed out'), JWS_CONFIG.REQUEST_TIMEOUT_MS);
|
|
71
|
-
const response = await fetch(remoteReleasesUrl.toString(), {
|
|
72
|
-
signal: controller.signal
|
|
73
|
-
});
|
|
74
|
-
clearTimeout(timeoutId);
|
|
75
|
-
if (!response.ok) {
|
|
76
|
-
throw new Error(`HTTP error! Status: ${response.status}`);
|
|
77
|
-
}
|
|
78
|
-
const data = await response.json();
|
|
79
|
-
if (typeof data.jws !== 'string') {
|
|
80
|
-
throw new Error('Invalid response format: "jws" property missing or not a string.');
|
|
81
|
-
}
|
|
82
|
-
return {
|
|
83
|
-
jws: data.jws,
|
|
84
|
-
firmwareChannel: resolvedChannel
|
|
85
|
-
};
|
|
86
|
-
} catch (error) {
|
|
87
|
-
throw new Error(`Failed to fetch remote JWS: ${error instanceof Error ? error.message : String(error)}`);
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
const verifyAndDecodeJws = (jws, publicKey) => {
|
|
91
|
-
const decoded = decode(jws);
|
|
92
|
-
if (!decoded || !decoded.payload || !decoded.header) {
|
|
93
|
-
throw new Error('Invalid JWS structure.');
|
|
94
|
-
}
|
|
95
|
-
const parsedPayload = JSON.parse(decoded.payload);
|
|
96
|
-
if (decoded.header.alg !== JWS_CONFIG.SIGN_ALGORITHM) {
|
|
97
|
-
throw new Error('Invalid JWS algorithm');
|
|
98
|
-
}
|
|
99
|
-
if (parsedPayload.version !== JWS_CONFIG.VERSION) {
|
|
100
|
-
throw new Error('Config version mismatch.');
|
|
101
|
-
}
|
|
102
|
-
if (!verify(jws, JWS_CONFIG.SIGN_ALGORITHM, publicKey)) {
|
|
103
|
-
throw new Error('JWS signature is invalid.');
|
|
104
|
-
}
|
|
105
|
-
return parsedPayload;
|
|
106
|
-
};
|
|
107
|
-
export const getFirmwareReleaseConfig = async firmwareChannel => {
|
|
108
|
-
try {
|
|
109
|
-
const {
|
|
110
|
-
jws,
|
|
111
|
-
firmwareChannel: resolvedChannel
|
|
112
|
-
} = await fetchRemoteJws(firmwareChannel);
|
|
113
|
-
const useProductionKey = ['test-signed', 'production-early-access', 'production'].includes(resolvedChannel);
|
|
114
|
-
const publicKey = getFirmwareReleaseJwsPublicKey(useProductionKey);
|
|
115
|
-
const remoteConfig = verifyAndDecodeJws(jws, publicKey);
|
|
116
|
-
if (remoteConfig.sequence > firmwareReleaseConfigAssets.sequence) {
|
|
117
|
-
return {
|
|
118
|
-
config: remoteConfig,
|
|
119
|
-
isRemote: true
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
} catch {}
|
|
123
|
-
return {
|
|
124
|
-
config: firmwareReleaseConfigAssets,
|
|
125
|
-
isRemote: false
|
|
126
|
-
};
|
|
127
|
-
};
|
|
128
|
-
export const getOnlyLocalFirmwareReleaseConfig = () => ({
|
|
129
|
-
config: firmwareReleaseConfigAssets,
|
|
130
|
-
isRemote: false
|
|
131
|
-
});
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { CurrentVersion, Features, FirmwareChannel, StrictFeatures } from '@trezor/connect-common';
|
|
2
|
-
import { type DeviceModelInternal, type FirmwareRelease, FirmwareType } from '@trezor/device-utils';
|
|
3
|
-
import { type VersionArray } from '@trezor/utils';
|
|
4
|
-
export declare const isStrictFeatures: (extFeatures: Features) => extFeatures is StrictFeatures;
|
|
5
|
-
type VersionCheckProperty = 'min_firmware_version' | 'min_bootloader_version';
|
|
6
|
-
export declare const findBestCompatibleRelease: (availableFirmwares: FirmwareRelease[], currentVesion: CurrentVersion, checkProperty: VersionCheckProperty) => FirmwareRelease | undefined;
|
|
7
|
-
export declare const buildLocalReleaseName: (firmwareType: FirmwareType, deviceModel: DeviceModelInternal, version: VersionArray) => string;
|
|
8
|
-
export declare const buildLocalFirmwareFileName: (firmwareType: FirmwareType, deviceModel: DeviceModelInternal, version: VersionArray) => string;
|
|
9
|
-
export declare const buildIntermediaryFirmwareFileName: (internalModel: DeviceModelInternal, version: number) => string;
|
|
10
|
-
export declare const getFirmwareMode: (features: Features) => "normal" | "bootloader" | "initialize" | "seedless";
|
|
11
|
-
export declare const getFirmwareType: (features: Features) => FirmwareType;
|
|
12
|
-
export declare const isFirmwareCacheUsedForSelectedSource: (firmwareChannel?: FirmwareChannel) => firmwareChannel is "production";
|
|
13
|
-
export {};
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { FirmwareType } from "@trezor/device-utils";
|
|
2
|
-
import { versionUtils } from "@trezor/utils";
|
|
3
|
-
export const isStrictFeatures = extFeatures => [1, 2].includes(extFeatures.major_version) && (extFeatures.firmware_present === false || extFeatures.bootloader_mode == null || extFeatures.bootloader_mode === true);
|
|
4
|
-
export const findBestCompatibleRelease = (availableFirmwares, currentVesion, checkProperty) => {
|
|
5
|
-
if (!availableFirmwares || availableFirmwares.length === 0) {
|
|
6
|
-
return;
|
|
7
|
-
}
|
|
8
|
-
const currentFirmwareVersion = currentVesion.firmwareVersion;
|
|
9
|
-
const currentBootloaderVersion = currentVesion.bootloaderVersion;
|
|
10
|
-
let versionToCompare = currentFirmwareVersion;
|
|
11
|
-
if (checkProperty === 'min_bootloader_version' && currentBootloaderVersion) {
|
|
12
|
-
versionToCompare = currentBootloaderVersion;
|
|
13
|
-
} else if (checkProperty === 'min_bootloader_version' && currentFirmwareVersion) {
|
|
14
|
-
const currentRelease = availableFirmwares.find(fw => versionUtils.isEqual(currentFirmwareVersion, fw.version));
|
|
15
|
-
if (!currentRelease?.bootloader_version) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
if (!versionToCompare) {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
const sortedFirmwares = availableFirmwares.sort((a, b) => versionUtils.isNewer(b.version, a.version) ? 1 : -1);
|
|
23
|
-
const compatibleFirmware = sortedFirmwares.find(fw => versionUtils.isNewerOrEqual(versionToCompare, fw[checkProperty]));
|
|
24
|
-
return compatibleFirmware;
|
|
25
|
-
};
|
|
26
|
-
const buildLocalFileBaseName = (firmwareType, deviceModel, version) => {
|
|
27
|
-
const firmwareSuffix = firmwareType === FirmwareType.BitcoinOnly ? '-bitcoinonly' : '';
|
|
28
|
-
const model = deviceModel.toLowerCase();
|
|
29
|
-
const versionString = version.join('.');
|
|
30
|
-
return `trezor-${model}-${versionString}${firmwareSuffix}`;
|
|
31
|
-
};
|
|
32
|
-
export const buildLocalReleaseName = (firmwareType, deviceModel, version) => `${buildLocalFileBaseName(firmwareType, deviceModel, version)}.json`;
|
|
33
|
-
export const buildLocalFirmwareFileName = (firmwareType, deviceModel, version) => `${buildLocalFileBaseName(firmwareType, deviceModel, version)}.bin`;
|
|
34
|
-
export const buildIntermediaryFirmwareFileName = (internalModel, version) => `trezor-${internalModel.toLowerCase()}-inter-v${version}.bin`;
|
|
35
|
-
export const getFirmwareMode = features => {
|
|
36
|
-
if (features.bootloader_mode) return 'bootloader';
|
|
37
|
-
if (!features.initialized) return 'initialize';
|
|
38
|
-
if (features.no_backup) return 'seedless';
|
|
39
|
-
return 'normal';
|
|
40
|
-
};
|
|
41
|
-
export const getFirmwareType = features => {
|
|
42
|
-
let type = FirmwareType.Universal;
|
|
43
|
-
if (features.fw_vendor === 'Trezor Bitcoin-only') {
|
|
44
|
-
type = FirmwareType.BitcoinOnly;
|
|
45
|
-
} else if (features.fw_vendor === 'Trezor') {
|
|
46
|
-
type = FirmwareType.Universal;
|
|
47
|
-
} else if (getFirmwareMode(features) !== 'bootloader') {
|
|
48
|
-
type = features.capabilities && features.capabilities.length > 0 && !features.capabilities.includes('Capability_Bitcoin_like') ? FirmwareType.BitcoinOnly : FirmwareType.Universal;
|
|
49
|
-
} else if (getFirmwareMode(features) === 'bootloader' && features.unit_btconly) {
|
|
50
|
-
type = FirmwareType.BitcoinOnly;
|
|
51
|
-
}
|
|
52
|
-
return type;
|
|
53
|
-
};
|
|
54
|
-
export const isFirmwareCacheUsedForSelectedSource = firmwareChannel => firmwareChannel === 'production';
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { CoinInfo } from '@trezor/connect-common';
|
|
2
|
-
export declare const formatAmount: (n: string, coinInfo: CoinInfo) => string;
|
|
3
|
-
export declare const hasHexPrefix: (str: string) => boolean;
|
|
4
|
-
export declare const stripHexPrefix: (str: string) => string;
|
|
5
|
-
export declare const addHexPrefix: (str: string) => `0x${string}`;
|
|
6
|
-
export declare const isHexString: (value: string) => false | RegExpMatchArray | null;
|
|
7
|
-
export declare const messageToBuffer: (message: string) => Buffer<ArrayBuffer>;
|
|
8
|
-
export declare const messageToHex: (message: string) => string;
|
|
9
|
-
export declare const hexToText: (hex: string) => string;
|
|
10
|
-
export declare const deepTransform: <V>(transform: (str: string) => V) => <T>(value: T) => DeepTransformed<T, V>;
|
|
11
|
-
type DeepTransformed<T, V> = T extends string ? V : T extends (infer U)[] ? DeepTransformed<U, V>[] : T extends object ? {
|
|
12
|
-
[K in keyof T]: DeepTransformed<T[K], V>;
|
|
13
|
-
} : T;
|
|
14
|
-
export declare const sanitizeString: (value?: string) => string | undefined;
|
|
15
|
-
export {};
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { BigNumber } from "@trezor/utils/libESM/bigNumber.mjs";
|
|
2
|
-
export const formatAmount = (n, coinInfo) => `${new BigNumber(n).div(10 ** coinInfo.decimals).toString(10)} ${coinInfo.shortcut}`;
|
|
3
|
-
export const hasHexPrefix = str => str.slice(0, 2).toLowerCase() === '0x';
|
|
4
|
-
export const stripHexPrefix = str => hasHexPrefix(str) ? str.slice(2) : str;
|
|
5
|
-
export const addHexPrefix = str => str !== undefined && !hasHexPrefix(str) ? `0x${str}` : str;
|
|
6
|
-
export const isHexString = value => typeof value === 'string' && value.match(/^(0x|0X)?[0-9A-Fa-f]*$/);
|
|
7
|
-
export const messageToBuffer = message => {
|
|
8
|
-
if (isHexString(message)) {
|
|
9
|
-
let clean = stripHexPrefix(message);
|
|
10
|
-
if (clean.length % 2 !== 0) {
|
|
11
|
-
clean = `0${clean}`;
|
|
12
|
-
}
|
|
13
|
-
return Buffer.from(clean, 'hex');
|
|
14
|
-
} else {
|
|
15
|
-
return Buffer.from(message, 'utf8');
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
export const messageToHex = message => messageToBuffer(message).toString('hex');
|
|
19
|
-
export const hexToText = hex => {
|
|
20
|
-
const text = messageToBuffer(hex).toString('utf8');
|
|
21
|
-
return /[\uFFFD]/.test(text) ? hex : text;
|
|
22
|
-
};
|
|
23
|
-
export const deepTransform = transform => {
|
|
24
|
-
const recursion = value => {
|
|
25
|
-
if (typeof value === 'string') {
|
|
26
|
-
return transform(value);
|
|
27
|
-
}
|
|
28
|
-
if (Array.isArray(value)) {
|
|
29
|
-
return value.map(recursion);
|
|
30
|
-
}
|
|
31
|
-
if (value && typeof value === 'object') {
|
|
32
|
-
return Object.entries(value).reduce((obj, [k, v]) => ({
|
|
33
|
-
...obj,
|
|
34
|
-
[k]: recursion(v)
|
|
35
|
-
}), {});
|
|
36
|
-
}
|
|
37
|
-
return value;
|
|
38
|
-
};
|
|
39
|
-
return recursion;
|
|
40
|
-
};
|
|
41
|
-
export const sanitizeString = value => {
|
|
42
|
-
if (typeof value === 'string') {
|
|
43
|
-
return value.replace(/[\u2018\u2019]/g, "'");
|
|
44
|
-
}
|
|
45
|
-
};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { PROTO } from '@trezor/connect-common';
|
|
2
|
-
import type { Network } from '@trezor/utxo-lib';
|
|
3
|
-
export declare const convertXpub: (xpub: string, originalNetwork?: Network, requestedNetwork?: Network) => string;
|
|
4
|
-
export declare function xpubDerive<PK extends PROTO.PublicKey | PROTO.EthereumPublicKey>(xpub: PK, childXPub: PK, suffix: number, network?: Network, _requestedNetwork?: Network): PK;
|
|
5
|
-
export declare const xpubToHDNodeType: (xpub: string, network: Network) => PROTO.HDNodeType;
|
|
6
|
-
export declare const convertMultisigPubKey: <T extends PROTO.TxInputType | PROTO.TxOutputType>(network: Network, utxo: T) => T;
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { ERRORS } from "@trezor/connect-common/libESM/constants/index.mjs";
|
|
2
|
-
import { bip32 } from "@trezor/utxo-lib";
|
|
3
|
-
const pubNode2bjsNode = (node, network) => {
|
|
4
|
-
const chainCode = Buffer.from(node.chain_code, 'hex');
|
|
5
|
-
const publicKey = Buffer.from(node.public_key, 'hex');
|
|
6
|
-
const res = bip32.fromPublicKey(publicKey, chainCode, network);
|
|
7
|
-
res.__DEPTH = node.depth;
|
|
8
|
-
res.__INDEX = node.child_num;
|
|
9
|
-
res.__PARENT_FINGERPRINT = node.fingerprint;
|
|
10
|
-
return res;
|
|
11
|
-
};
|
|
12
|
-
export const convertXpub = (xpub, originalNetwork, requestedNetwork) => {
|
|
13
|
-
const node = bip32.fromBase58(xpub, originalNetwork);
|
|
14
|
-
if (requestedNetwork) {
|
|
15
|
-
node.network = requestedNetwork;
|
|
16
|
-
}
|
|
17
|
-
return node.toBase58();
|
|
18
|
-
};
|
|
19
|
-
const pubKey2bjsNode = (key, network) => {
|
|
20
|
-
const keyNode = key.node;
|
|
21
|
-
const bjsNode = pubNode2bjsNode(keyNode, network);
|
|
22
|
-
const bjsXpub = bjsNode.toBase58();
|
|
23
|
-
const keyXpub = convertXpub(key.xpub, network);
|
|
24
|
-
if (bjsXpub !== keyXpub) {
|
|
25
|
-
throw ERRORS.TypedError('Runtime', `pubKey2bjsNode: Invalid public key transmission detected. Key: ${bjsXpub}, Received: ${keyXpub}`);
|
|
26
|
-
}
|
|
27
|
-
return bjsNode;
|
|
28
|
-
};
|
|
29
|
-
const checkDerivation = (parBjsNode, childBjsNode, suffix) => {
|
|
30
|
-
const derivedChildBjsNode = parBjsNode.derive(suffix);
|
|
31
|
-
const derivedXpub = derivedChildBjsNode.toBase58();
|
|
32
|
-
const compXpub = childBjsNode.toBase58();
|
|
33
|
-
if (derivedXpub !== compXpub) {
|
|
34
|
-
throw ERRORS.TypedError('Runtime', `checkDerivation: Invalid child cross-check public key. Derived: ${derivedXpub}, Received: ${compXpub}`);
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
export function xpubDerive(xpub, childXPub, suffix, network, _requestedNetwork) {
|
|
38
|
-
const resNode = pubKey2bjsNode(xpub, network);
|
|
39
|
-
const childNode = pubKey2bjsNode(childXPub, network);
|
|
40
|
-
checkDerivation(resNode, childNode, suffix);
|
|
41
|
-
return xpub;
|
|
42
|
-
}
|
|
43
|
-
export const xpubToHDNodeType = (xpub, network) => {
|
|
44
|
-
const hd = bip32.fromBase58(xpub, network);
|
|
45
|
-
return {
|
|
46
|
-
depth: hd.depth,
|
|
47
|
-
child_num: hd.index,
|
|
48
|
-
fingerprint: hd.parentFingerprint,
|
|
49
|
-
public_key: hd.publicKey.toString('hex'),
|
|
50
|
-
chain_code: hd.chainCode.toString('hex')
|
|
51
|
-
};
|
|
52
|
-
};
|
|
53
|
-
export const convertMultisigPubKey = (network, utxo) => {
|
|
54
|
-
if ('multisig' in utxo && utxo.multisig?.pubkeys) {
|
|
55
|
-
utxo.multisig.pubkeys.forEach(pk => {
|
|
56
|
-
if (typeof pk.node === 'string') {
|
|
57
|
-
pk.node = xpubToHDNodeType(pk.node, network);
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
return utxo;
|
|
62
|
-
};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { PROTO } from '@trezor/connect-common';
|
|
2
|
-
import type { CoinInfo } from '@trezor/connect-common/libESM/types/coinInfo';
|
|
3
|
-
import type { DerivationPath, ProtoWithAddressN, ProtoWithDerivationPath } from '@trezor/connect-common/libESM/types/params';
|
|
4
|
-
export declare const HD_HARDENED = 2147483648;
|
|
5
|
-
export declare const toHardened: (n: number) => number;
|
|
6
|
-
export declare const fromHardened: (n: number) => number;
|
|
7
|
-
export declare const getSlip44ByPath: (path: number[]) => number;
|
|
8
|
-
export declare const getHDPath: (path: string) => number[];
|
|
9
|
-
export declare const isSegwitPath: (path: number[] | undefined) => boolean;
|
|
10
|
-
export declare const isTaprootPath: (path: number[] | undefined) => boolean;
|
|
11
|
-
export declare const getAccountType: (path: number[] | undefined) => "p2tr" | "p2wpkh" | "p2sh" | "p2pkh";
|
|
12
|
-
export declare const getScriptType: (path: number[] | undefined) => PROTO.InternalInputScriptType | undefined;
|
|
13
|
-
export declare const getOutputScriptType: (path?: number[]) => PROTO.ChangeOutputScriptType | undefined;
|
|
14
|
-
export declare const validatePath: (path: DerivationPath, length?: number, base?: boolean) => number[];
|
|
15
|
-
export declare const getSerializedPath: (path: number[]) => string;
|
|
16
|
-
export declare const fixPath: <T extends ProtoWithDerivationPath<PROTO.TxInputType> | ProtoWithDerivationPath<PROTO.TxOutputType>>(utxo: T) => ProtoWithAddressN<T>;
|
|
17
|
-
export declare const getLabel: (label: string, coinInfo?: CoinInfo) => string;
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
import { ERRORS } from "@trezor/connect-common/libESM/constants/index.mjs";
|
|
2
|
-
export const HD_HARDENED = 0x80000000;
|
|
3
|
-
export const toHardened = n => (n | HD_HARDENED) >>> 0;
|
|
4
|
-
export const fromHardened = n => (n & ~HD_HARDENED) >>> 0;
|
|
5
|
-
export const getSlip44ByPath = path => fromHardened(path[1]);
|
|
6
|
-
const PATH_NOT_VALID = ERRORS.TypedError('Method_InvalidParameter', 'Not a valid path');
|
|
7
|
-
const PATH_NEGATIVE_VALUES = ERRORS.TypedError('Method_InvalidParameter', 'Path cannot contain negative values');
|
|
8
|
-
export const getHDPath = path => {
|
|
9
|
-
const parts = path.toLowerCase().split('/');
|
|
10
|
-
if (parts[0] !== 'm') throw PATH_NOT_VALID;
|
|
11
|
-
return parts.filter(p => p !== 'm' && p !== '').map(p => {
|
|
12
|
-
let hardened = false;
|
|
13
|
-
if (p.endsWith("'")) {
|
|
14
|
-
hardened = true;
|
|
15
|
-
p = p.substring(0, p.length - 1);
|
|
16
|
-
}
|
|
17
|
-
let n = parseInt(p, 10);
|
|
18
|
-
if (Number.isNaN(n)) {
|
|
19
|
-
throw PATH_NOT_VALID;
|
|
20
|
-
} else if (n < 0) {
|
|
21
|
-
throw PATH_NEGATIVE_VALUES;
|
|
22
|
-
}
|
|
23
|
-
if (hardened) {
|
|
24
|
-
n = toHardened(n);
|
|
25
|
-
}
|
|
26
|
-
return n;
|
|
27
|
-
});
|
|
28
|
-
};
|
|
29
|
-
export const isSegwitPath = path => Array.isArray(path) && path[0] === toHardened(49);
|
|
30
|
-
const isBech32Path = path => Array.isArray(path) && path[0] === toHardened(84);
|
|
31
|
-
export const isTaprootPath = path => Array.isArray(path) && (path[0] === toHardened(86) || path[0] === toHardened(10025));
|
|
32
|
-
export const getAccountType = path => {
|
|
33
|
-
if (isTaprootPath(path)) return 'p2tr';
|
|
34
|
-
if (isBech32Path(path)) return 'p2wpkh';
|
|
35
|
-
if (isSegwitPath(path)) return 'p2sh';
|
|
36
|
-
return 'p2pkh';
|
|
37
|
-
};
|
|
38
|
-
export const getScriptType = path => {
|
|
39
|
-
if (!Array.isArray(path) || path.length < 1) return undefined;
|
|
40
|
-
const p1 = fromHardened(path[0]);
|
|
41
|
-
switch (p1) {
|
|
42
|
-
case 44:
|
|
43
|
-
return 'SPENDADDRESS';
|
|
44
|
-
case 48:
|
|
45
|
-
{
|
|
46
|
-
if (path.length < 4) return undefined;
|
|
47
|
-
const p3 = fromHardened(path[3]);
|
|
48
|
-
switch (p3) {
|
|
49
|
-
case 0:
|
|
50
|
-
return 'SPENDMULTISIG';
|
|
51
|
-
case 1:
|
|
52
|
-
return 'SPENDP2SHWITNESS';
|
|
53
|
-
case 2:
|
|
54
|
-
return 'SPENDWITNESS';
|
|
55
|
-
default:
|
|
56
|
-
return undefined;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
case 49:
|
|
60
|
-
return 'SPENDP2SHWITNESS';
|
|
61
|
-
case 84:
|
|
62
|
-
return 'SPENDWITNESS';
|
|
63
|
-
case 86:
|
|
64
|
-
case 10025:
|
|
65
|
-
return 'SPENDTAPROOT';
|
|
66
|
-
default:
|
|
67
|
-
return undefined;
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
export const getOutputScriptType = path => {
|
|
71
|
-
if (!Array.isArray(path) || path.length < 1) return undefined;
|
|
72
|
-
const p = fromHardened(path[0]);
|
|
73
|
-
switch (p) {
|
|
74
|
-
case 44:
|
|
75
|
-
return 'PAYTOADDRESS';
|
|
76
|
-
case 48:
|
|
77
|
-
{
|
|
78
|
-
if (path.length < 4) return undefined;
|
|
79
|
-
const p3 = fromHardened(path[3]);
|
|
80
|
-
switch (p3) {
|
|
81
|
-
case 0:
|
|
82
|
-
return 'PAYTOMULTISIG';
|
|
83
|
-
case 1:
|
|
84
|
-
return 'PAYTOP2SHWITNESS';
|
|
85
|
-
case 2:
|
|
86
|
-
return 'PAYTOWITNESS';
|
|
87
|
-
default:
|
|
88
|
-
return undefined;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
case 49:
|
|
92
|
-
return 'PAYTOP2SHWITNESS';
|
|
93
|
-
case 84:
|
|
94
|
-
return 'PAYTOWITNESS';
|
|
95
|
-
case 86:
|
|
96
|
-
case 10025:
|
|
97
|
-
return 'PAYTOTAPROOT';
|
|
98
|
-
default:
|
|
99
|
-
return undefined;
|
|
100
|
-
}
|
|
101
|
-
};
|
|
102
|
-
export const validatePath = (path, length = 0, base = false) => {
|
|
103
|
-
let valid;
|
|
104
|
-
if (typeof path === 'string') {
|
|
105
|
-
valid = getHDPath(path);
|
|
106
|
-
} else if (Array.isArray(path)) {
|
|
107
|
-
valid = path.map(p => {
|
|
108
|
-
if (Number.isNaN(p)) {
|
|
109
|
-
throw PATH_NOT_VALID;
|
|
110
|
-
} else if (p < 0) {
|
|
111
|
-
throw PATH_NEGATIVE_VALUES;
|
|
112
|
-
}
|
|
113
|
-
return p;
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
if (!valid) throw PATH_NOT_VALID;
|
|
117
|
-
if (length > 0 && valid.length < length) throw PATH_NOT_VALID;
|
|
118
|
-
return base ? valid.splice(0, 3) : valid;
|
|
119
|
-
};
|
|
120
|
-
export const getSerializedPath = path => `m/${path.map(i => {
|
|
121
|
-
const s = (i & ~HD_HARDENED).toString();
|
|
122
|
-
if (i & HD_HARDENED) {
|
|
123
|
-
return `${s}'`;
|
|
124
|
-
}
|
|
125
|
-
return s;
|
|
126
|
-
}).join('/')}`;
|
|
127
|
-
export const fixPath = utxo => {
|
|
128
|
-
if (utxo.address_n && Array.isArray(utxo.address_n)) {
|
|
129
|
-
utxo.address_n = utxo.address_n.map(i => i >>> 0);
|
|
130
|
-
}
|
|
131
|
-
if (utxo.address_n && typeof utxo.address_n === 'string') {
|
|
132
|
-
utxo.address_n = getHDPath(utxo.address_n);
|
|
133
|
-
}
|
|
134
|
-
return utxo;
|
|
135
|
-
};
|
|
136
|
-
export const getLabel = (label, coinInfo) => {
|
|
137
|
-
if (coinInfo) {
|
|
138
|
-
return label.replace('#NETWORK', coinInfo.label);
|
|
139
|
-
}
|
|
140
|
-
return label.replace('#NETWORK', '');
|
|
141
|
-
};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { MessagesSchema as PROTO } from '@trezor/protobuf';
|
|
2
|
-
export declare const PAYMENT_REQUEST_AMOUNT_BYTES: {
|
|
3
|
-
readonly DEFAULT: 8;
|
|
4
|
-
readonly EVM: 32;
|
|
5
|
-
};
|
|
6
|
-
export declare const encodePaymentRequestAmount: <T extends {
|
|
7
|
-
amount?: PROTO.PaymentRequest["amount"];
|
|
8
|
-
}>(paymentRequest: T, bytesLength: number) => T;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { ERRORS } from "@trezor/connect-common/libESM/constants/index.mjs";
|
|
2
|
-
import { formatBigUintToLE } from "@trezor/utils/libESM/formatBigUintToLE.mjs";
|
|
3
|
-
export const PAYMENT_REQUEST_AMOUNT_BYTES = {
|
|
4
|
-
DEFAULT: 8,
|
|
5
|
-
EVM: 32
|
|
6
|
-
};
|
|
7
|
-
export const encodePaymentRequestAmount = (paymentRequest, bytesLength) => {
|
|
8
|
-
if (paymentRequest.amount === undefined) {
|
|
9
|
-
return paymentRequest;
|
|
10
|
-
}
|
|
11
|
-
if (typeof paymentRequest.amount !== 'string' || !/^\d+$/.test(paymentRequest.amount)) {
|
|
12
|
-
throw ERRORS.TypedError('Method_InvalidParameter', 'Invalid PaymentRequest.amount: expected a decimal string in subunits');
|
|
13
|
-
}
|
|
14
|
-
try {
|
|
15
|
-
return {
|
|
16
|
-
...paymentRequest,
|
|
17
|
-
amount: formatBigUintToLE({
|
|
18
|
-
value: paymentRequest.amount,
|
|
19
|
-
bytesLength
|
|
20
|
-
})
|
|
21
|
-
};
|
|
22
|
-
} catch (error) {
|
|
23
|
-
throw ERRORS.TypedError('Method_InvalidParameter', `Invalid PaymentRequest.amount: ${error instanceof Error ? error.message : String(error)}`);
|
|
24
|
-
}
|
|
25
|
-
};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { UiPromiseCreator, UiPromiseResponse } from '../events/ui-promise';
|
|
2
|
-
export declare const createUiPromiseManager: () => {
|
|
3
|
-
exists: (type: UiPromiseResponse["type"]) => boolean;
|
|
4
|
-
create: UiPromiseCreator;
|
|
5
|
-
resolve: (event: UiPromiseResponse) => boolean;
|
|
6
|
-
rejectAll: (error: Error) => void;
|
|
7
|
-
clear: () => void;
|
|
8
|
-
};
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { createDeferred } from "@trezor/utils";
|
|
2
|
-
export const createUiPromiseManager = () => {
|
|
3
|
-
let _uiPromises = [];
|
|
4
|
-
const exists = type => _uiPromises.some(p => p.id === type);
|
|
5
|
-
const create = (promiseEvent, device) => {
|
|
6
|
-
const requestId = crypto.randomUUID();
|
|
7
|
-
const uiPromise = {
|
|
8
|
-
...createDeferred(promiseEvent),
|
|
9
|
-
device,
|
|
10
|
-
requestId
|
|
11
|
-
};
|
|
12
|
-
const existing = _uiPromises.findIndex(p => p.id === promiseEvent && !p.requestId);
|
|
13
|
-
if (existing >= 0) {
|
|
14
|
-
console.warn(`UiPromise '${promiseEvent}' already exists.`);
|
|
15
|
-
_uiPromises.splice(existing, 1);
|
|
16
|
-
}
|
|
17
|
-
const {
|
|
18
|
-
reject
|
|
19
|
-
} = uiPromise;
|
|
20
|
-
uiPromise.reject = error => {
|
|
21
|
-
reject(error);
|
|
22
|
-
_uiPromises = _uiPromises.filter(p => p.requestId !== requestId);
|
|
23
|
-
};
|
|
24
|
-
_uiPromises.push(uiPromise);
|
|
25
|
-
return uiPromise;
|
|
26
|
-
};
|
|
27
|
-
const resolve = event => {
|
|
28
|
-
const uiPromise = _uiPromises.find(p => {
|
|
29
|
-
if (p.id !== event.type) return false;
|
|
30
|
-
return event.requestId == null || p.requestId === event.requestId;
|
|
31
|
-
});
|
|
32
|
-
if (!uiPromise) return false;
|
|
33
|
-
uiPromise.resolve(event);
|
|
34
|
-
_uiPromises = _uiPromises.filter(p => p !== uiPromise);
|
|
35
|
-
return true;
|
|
36
|
-
};
|
|
37
|
-
const rejectAll = error => {
|
|
38
|
-
_uiPromises.forEach(p => p.reject(error));
|
|
39
|
-
_uiPromises = [];
|
|
40
|
-
};
|
|
41
|
-
const clear = () => {
|
|
42
|
-
_uiPromises = [];
|
|
43
|
-
};
|
|
44
|
-
return {
|
|
45
|
-
exists,
|
|
46
|
-
create,
|
|
47
|
-
resolve,
|
|
48
|
-
rejectAll,
|
|
49
|
-
clear
|
|
50
|
-
};
|
|
51
|
-
};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { BaseWorker } from '@trezor/blockchain-link/libESM/workers/baseWorker';
|
|
2
|
-
type WorkerAsyncImporter = () => Promise<BaseWorker<unknown>>;
|
|
3
|
-
declare const BlockbookWorker: () => Worker;
|
|
4
|
-
declare const BlockfrostWorker: () => Worker;
|
|
5
|
-
declare const RippleWorker: () => Worker;
|
|
6
|
-
declare const StellarWorker: () => Worker;
|
|
7
|
-
declare const SolanaWorker: WorkerAsyncImporter;
|
|
8
|
-
declare const ElectrumWorker: undefined;
|
|
9
|
-
declare const EvmRpcWorker: WorkerAsyncImporter;
|
|
10
|
-
export { BlockbookWorker, RippleWorker, BlockfrostWorker, ElectrumWorker, SolanaWorker, StellarWorker, EvmRpcWorker, };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
const BlockbookWorker = () => new Worker(new URL('@trezor/blockchain-link/src/workers/blockbook', import.meta.url), {
|
|
2
|
-
type: 'module'
|
|
3
|
-
});
|
|
4
|
-
const BlockfrostWorker = () => new Worker(new URL('@trezor/blockchain-link/src/workers/blockfrost', import.meta.url), {
|
|
5
|
-
type: 'module'
|
|
6
|
-
});
|
|
7
|
-
const RippleWorker = () => new Worker(new URL('@trezor/blockchain-link/src/workers/ripple', import.meta.url), {
|
|
8
|
-
type: 'module'
|
|
9
|
-
});
|
|
10
|
-
const StellarWorker = () => new Worker(new URL('@trezor/blockchain-link/src/workers/stellar', import.meta.url), {
|
|
11
|
-
type: 'module'
|
|
12
|
-
});
|
|
13
|
-
const SolanaWorker = () => import("@trezor/blockchain-link/libESM/workers/solana").then(w => w.default());
|
|
14
|
-
const ElectrumWorker = undefined;
|
|
15
|
-
const EvmRpcWorker = () => import("@trezor/blockchain-link/libESM/workers/evm-rpc").then(w => w.default());
|
|
16
|
-
export { BlockbookWorker, RippleWorker, BlockfrostWorker, ElectrumWorker, SolanaWorker, StellarWorker, EvmRpcWorker };
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { BaseWorker } from '@trezor/blockchain-link/libESM/workers/baseWorker';
|
|
2
|
-
type WorkerAsyncImporter = () => Promise<BaseWorker<unknown>>;
|
|
3
|
-
declare const BlockbookWorker: WorkerAsyncImporter;
|
|
4
|
-
declare const RippleWorker: WorkerAsyncImporter;
|
|
5
|
-
declare const BlockfrostWorker: WorkerAsyncImporter;
|
|
6
|
-
declare const ElectrumWorker: WorkerAsyncImporter;
|
|
7
|
-
declare const SolanaWorker: WorkerAsyncImporter;
|
|
8
|
-
declare const StellarWorker: WorkerAsyncImporter;
|
|
9
|
-
declare const EvmRpcWorker: WorkerAsyncImporter;
|
|
10
|
-
export { BlockbookWorker, RippleWorker, BlockfrostWorker, ElectrumWorker, SolanaWorker, StellarWorker, EvmRpcWorker, };
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
const BlockbookWorker = () => import("@trezor/blockchain-link/libESM/workers/blockbook").then(w => w.default());
|
|
2
|
-
const RippleWorker = () => import("@trezor/blockchain-link/libESM/workers/ripple").then(w => w.default());
|
|
3
|
-
const BlockfrostWorker = () => import("@trezor/blockchain-link/libESM/workers/blockfrost").then(w => w.default());
|
|
4
|
-
const ElectrumWorker = () => import("@trezor/blockchain-link/libESM/workers/electrum").then(w => w.default());
|
|
5
|
-
const SolanaWorker = () => import("@trezor/blockchain-link/libESM/workers/solana").then(w => w.default());
|
|
6
|
-
const StellarWorker = () => import("@trezor/blockchain-link/libESM/workers/stellar").then(w => w.default());
|
|
7
|
-
const EvmRpcWorker = () => import("@trezor/blockchain-link/libESM/workers/evm-rpc").then(w => w.default());
|
|
8
|
-
export { BlockbookWorker, RippleWorker, BlockfrostWorker, ElectrumWorker, SolanaWorker, StellarWorker, EvmRpcWorker };
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import BlockbookWorker from '@trezor/blockchain-link/libESM/workers/blockbook';
|
|
2
|
-
import BlockfrostWorker from '@trezor/blockchain-link/libESM/workers/blockfrost';
|
|
3
|
-
import ElectrumWorker from '@trezor/blockchain-link/libESM/workers/electrum';
|
|
4
|
-
import RippleWorker from '@trezor/blockchain-link/libESM/workers/ripple';
|
|
5
|
-
import SolanaWorker from '@trezor/blockchain-link/libESM/workers/solana';
|
|
6
|
-
import StellarWorker from '@trezor/blockchain-link/libESM/workers/stellar';
|
|
7
|
-
export { BlockbookWorker, RippleWorker, BlockfrostWorker, ElectrumWorker, SolanaWorker, StellarWorker, };
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import BlockbookWorker from "@trezor/blockchain-link/libESM/workers/blockbook/index.mjs";
|
|
2
|
-
import BlockfrostWorker from "@trezor/blockchain-link/libESM/workers/blockfrost/index.mjs";
|
|
3
|
-
import ElectrumWorker from "@trezor/blockchain-link/libESM/workers/electrum/index.mjs";
|
|
4
|
-
import RippleWorker from "@trezor/blockchain-link/libESM/workers/ripple/index.mjs";
|
|
5
|
-
import SolanaWorker from "@trezor/blockchain-link/libESM/workers/solana/index.mjs";
|
|
6
|
-
import StellarWorker from "@trezor/blockchain-link/libESM/workers/stellar/index.mjs";
|
|
7
|
-
export { BlockbookWorker, RippleWorker, BlockfrostWorker, ElectrumWorker, SolanaWorker, StellarWorker };
|