@trezor/connect 10.0.0-alpha.1 → 10.0.0-beta.1
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 +112 -63
- package/README.md +2 -2
- package/lib/api/applyFlags.d.ts +20 -0
- package/lib/api/applyFlags.js +38 -0
- package/lib/api/applySettings.d.ts +20 -0
- package/lib/api/applySettings.js +57 -0
- package/lib/api/authenticateDevice.d.ts +25 -0
- package/lib/api/authenticateDevice.js +195 -0
- package/lib/api/authorizeCoinjoin.d.ts +11 -0
- package/lib/api/authorizeCoinjoin.js +44 -0
- package/lib/api/backupDevice.d.ts +19 -0
- package/lib/api/backupDevice.js +39 -0
- package/lib/api/bitcoin/TransactionComposer.d.ts +46 -0
- package/lib/api/bitcoin/TransactionComposer.js +147 -0
- package/lib/api/bitcoin/createPendingTx.d.ts +37 -0
- package/lib/api/bitcoin/createPendingTx.js +55 -0
- package/lib/api/bitcoin/enhanceSignTx.d.ts +2 -0
- package/lib/api/bitcoin/enhanceSignTx.js +23 -0
- package/lib/api/bitcoin/index.d.ts +9 -0
- package/lib/api/bitcoin/index.js +9 -0
- package/lib/api/bitcoin/inputs.d.ts +4 -0
- package/lib/api/bitcoin/inputs.js +63 -0
- package/lib/api/bitcoin/outputs.d.ts +5 -0
- package/lib/api/bitcoin/outputs.js +128 -0
- package/lib/api/bitcoin/refTx.d.ts +23 -0
- package/lib/api/bitcoin/refTx.js +249 -0
- package/lib/api/bitcoin/signtx.d.ts +30 -0
- package/lib/api/bitcoin/signtx.js +229 -0
- package/lib/api/bitcoin/signtxLegacy.d.ts +10 -0
- package/lib/api/bitcoin/signtxLegacy.js +186 -0
- package/lib/api/bitcoin/signtxVerify.d.ts +12 -0
- package/lib/api/bitcoin/signtxVerify.js +95 -0
- package/lib/api/bitcoin/transactionBytes.d.ts +3 -0
- package/lib/api/bitcoin/transactionBytes.js +65 -0
- package/lib/api/bleUnpair.d.ts +11 -0
- package/lib/api/bleUnpair.js +37 -0
- package/lib/api/blockchainDisconnect.d.ts +16 -0
- package/lib/api/blockchainDisconnect.js +37 -0
- package/lib/api/blockchainEstimateFee.d.ts +16 -0
- package/lib/api/blockchainEstimateFee.js +102 -0
- package/lib/api/blockchainEvmRpcCall.d.ts +19 -0
- package/lib/api/blockchainEvmRpcCall.js +57 -0
- package/lib/api/blockchainGetAccountBalanceHistory.d.ts +16 -0
- package/lib/api/blockchainGetAccountBalanceHistory.js +60 -0
- package/lib/api/blockchainGetContractInfo.d.ts +16 -0
- package/lib/api/blockchainGetContractInfo.js +46 -0
- package/lib/api/blockchainGetCurrentFiatRates.d.ts +20 -0
- package/lib/api/blockchainGetCurrentFiatRates.js +49 -0
- package/lib/api/blockchainGetFiatRatesForTimestamps.d.ts +23 -0
- package/lib/api/blockchainGetFiatRatesForTimestamps.js +55 -0
- package/lib/api/blockchainGetInfo.d.ts +15 -0
- package/lib/api/blockchainGetInfo.js +37 -0
- package/lib/api/blockchainGetTransactions.d.ts +18 -0
- package/lib/api/blockchainGetTransactions.js +47 -0
- package/lib/api/blockchainSetCustomBackend.d.ts +17 -0
- package/lib/api/blockchainSetCustomBackend.js +43 -0
- package/lib/api/blockchainSubscribe.d.ts +19 -0
- package/lib/api/blockchainSubscribe.js +66 -0
- package/lib/api/blockchainSubscribeFiatRates.d.ts +19 -0
- package/lib/api/blockchainSubscribeFiatRates.js +43 -0
- package/lib/api/blockchainUnsubscribe.d.ts +19 -0
- package/lib/api/blockchainUnsubscribe.js +66 -0
- package/lib/api/blockchainUnsubscribeFiatRates.d.ts +17 -0
- package/lib/api/blockchainUnsubscribeFiatRates.js +37 -0
- package/lib/api/blockchainValidateEvmRpcUrl.d.ts +17 -0
- package/lib/api/blockchainValidateEvmRpcUrl.js +54 -0
- package/lib/api/cancelCoinjoinAuthorization.d.ts +11 -0
- package/lib/api/cancelCoinjoinAuthorization.js +33 -0
- package/lib/api/cardano/api/cardanoComposeTransaction.d.ts +10 -0
- package/lib/api/cardano/api/cardanoComposeTransaction.js +84 -0
- package/lib/api/cardano/api/cardanoGetAddress.d.ts +34 -0
- package/lib/api/cardano/api/cardanoGetAddress.js +130 -0
- package/lib/api/cardano/api/cardanoGetNativeScriptHash.d.ts +12 -0
- package/lib/api/cardano/api/cardanoGetNativeScriptHash.js +66 -0
- package/lib/api/cardano/api/cardanoGetPublicKey.d.ts +22 -0
- package/lib/api/cardano/api/cardanoGetPublicKey.js +92 -0
- package/lib/api/cardano/api/cardanoSignMessage.d.ts +22 -0
- package/lib/api/cardano/api/cardanoSignMessage.js +90 -0
- package/lib/api/cardano/api/cardanoSignTransaction.d.ts +81 -0
- package/lib/api/cardano/api/cardanoSignTransaction.js +301 -0
- package/lib/api/cardano/api/index.d.ts +6 -0
- package/lib/api/cardano/api/index.js +6 -0
- package/lib/api/cardano/cardanoAddressParameters.d.ts +6 -0
- package/lib/api/cardano/cardanoAddressParameters.js +79 -0
- package/lib/api/cardano/cardanoAuxiliaryData.d.ts +4 -0
- package/lib/api/cardano/cardanoAuxiliaryData.js +74 -0
- package/lib/api/cardano/cardanoCertificate.d.ts +13 -0
- package/lib/api/cardano/cardanoCertificate.js +142 -0
- package/lib/api/cardano/cardanoInputs.d.ts +25 -0
- package/lib/api/cardano/cardanoInputs.js +39 -0
- package/lib/api/cardano/cardanoOutputs.d.ts +40 -0
- package/lib/api/cardano/cardanoOutputs.js +70 -0
- package/lib/api/cardano/cardanoTokenBundle.d.ts +12 -0
- package/lib/api/cardano/cardanoUtils.d.ts +17 -0
- package/lib/api/cardano/cardanoUtils.js +100 -0
- package/lib/api/cardano/cardanoWitnesses.d.ts +4 -0
- package/lib/api/changeLanguage.d.ts +18 -0
- package/lib/api/changeLanguage.js +49 -0
- package/lib/api/changePin.d.ts +11 -0
- package/lib/api/changePin.js +27 -0
- package/lib/api/changeWipeCode.d.ts +11 -0
- package/lib/api/changeWipeCode.js +29 -0
- package/lib/api/cipherKeyValue.d.ts +17 -0
- package/lib/api/cipherKeyValue.js +58 -0
- package/lib/api/common/AbstractMiscGetAddress.d.ts +37 -0
- package/lib/api/common/AbstractMiscGetAddress.js +126 -0
- package/lib/api/common/Discovery.d.ts +33 -0
- package/lib/api/common/Discovery.js +119 -0
- package/lib/api/common/paramsValidator.d.ts +24 -0
- package/lib/api/common/paramsValidator.js +136 -0
- package/lib/api/common/requestExistingAccounts.d.ts +14 -0
- package/lib/api/common/requestExistingAccounts.js +20 -0
- package/lib/api/composeTransaction.d.ts +36 -0
- package/lib/api/composeTransaction.js +404 -0
- package/lib/api/discoverAccounts.d.ts +40 -0
- package/lib/api/discoverAccounts.js +360 -0
- package/lib/api/ethereum/api/ethereumGetAddress.d.ts +30 -0
- package/lib/api/ethereum/api/ethereumGetAddress.js +150 -0
- package/lib/api/ethereum/api/ethereumGetPublicKey.d.ts +52 -0
- package/lib/api/ethereum/api/ethereumGetPublicKey.js +100 -0
- package/lib/api/ethereum/api/ethereumSignMessage.d.ts +27 -0
- package/lib/api/ethereum/api/ethereumSignMessage.js +64 -0
- package/lib/api/ethereum/api/ethereumSignTransaction.d.ts +83 -0
- package/lib/api/ethereum/api/ethereumSignTransaction.js +148 -0
- package/lib/api/ethereum/api/ethereumSignTypedData.d.ts +117 -0
- package/lib/api/ethereum/api/ethereumSignTypedData.js +203 -0
- package/lib/api/ethereum/api/ethereumVerifyMessage.d.ts +12 -0
- package/lib/api/ethereum/api/ethereumVerifyMessage.js +35 -0
- package/lib/api/ethereum/api/index.d.ts +6 -0
- package/lib/api/ethereum/api/index.js +6 -0
- package/lib/api/ethereum/ethereumDefinitions.d.ts +53 -0
- package/lib/api/ethereum/ethereumDefinitions.js +135 -0
- package/lib/api/ethereum/ethereumSignTx.d.ts +16 -0
- package/lib/api/ethereum/ethereumSignTx.js +144 -0
- package/lib/api/ethereum/ethereumSignTypedData.d.ts +32 -0
- package/lib/api/ethereum/ethereumSignTypedData.js +175 -0
- package/lib/api/evoluGetDelegatedIdentityKey.d.ts +14 -0
- package/lib/api/evoluGetDelegatedIdentityKey.js +29 -0
- package/lib/api/evoluGetNode.d.ts +13 -0
- package/lib/api/evoluGetNode.js +29 -0
- package/lib/api/evoluSignRegistrationRequest.d.ts +16 -0
- package/lib/api/evoluSignRegistrationRequest.js +33 -0
- package/lib/api/firmware/calculateFirmwareHash.d.ts +18 -0
- package/lib/api/firmware/calculateXPubHash.d.ts +14 -0
- package/lib/api/firmware/calculateXPubHash.js +16 -0
- package/lib/api/firmware/getBinary.d.ts +14 -0
- package/lib/api/firmware/getBinary.js +33 -0
- package/lib/api/firmware/index.d.ts +6 -0
- package/lib/api/firmware/index.js +6 -0
- package/lib/api/firmware/modifyFirmware.d.ts +3 -0
- package/lib/api/firmware/parseFirmwareHeaders.d.ts +4 -0
- package/lib/api/firmware/uploadFirmware.d.ts +27 -0
- package/lib/api/firmware/uploadFirmware.js +99 -0
- package/lib/api/firmware/verifyEntropy.d.ts +25 -0
- package/lib/api/firmware/verifyEntropy.js +110 -0
- package/lib/api/getAccountInfo.d.ts +21 -0
- package/lib/api/getAccountInfo.js +253 -0
- package/lib/api/getAddress.d.ts +45 -0
- package/lib/api/getAddress.js +153 -0
- package/lib/api/getCoinInfo.d.ts +148 -0
- package/lib/api/getCoinInfo.js +25 -0
- package/lib/api/getDeviceState.d.ts +8 -0
- package/lib/api/getDeviceState.js +18 -0
- package/lib/api/getFeatures.d.ts +71 -0
- package/lib/api/getFeatures.js +22 -0
- package/lib/api/getFirmwareHash.d.ts +11 -0
- package/lib/api/getFirmwareHash.js +29 -0
- package/lib/api/getNonce.d.ts +10 -0
- package/lib/api/getNonce.js +18 -0
- package/lib/api/getOwnershipId.d.ts +17 -0
- package/lib/api/getOwnershipId.js +88 -0
- package/lib/api/getOwnershipProof.d.ts +17 -0
- package/lib/api/getOwnershipProof.js +95 -0
- package/lib/api/getPublicKey.d.ts +54 -0
- package/lib/api/getPublicKey.js +106 -0
- package/lib/api/getSettings.d.ts +24 -0
- package/lib/api/getSettings.js +21 -0
- package/lib/api/index.d.ts +62 -0
- package/lib/api/index.js +62 -0
- package/lib/api/loadDevice.d.ts +16 -0
- package/lib/api/loadDevice.js +46 -0
- package/lib/api/monero/api/index.d.ts +4 -0
- package/lib/api/monero/api/index.js +4 -0
- package/lib/api/monero/api/moneroGetAddress.d.ts +32 -0
- package/lib/api/monero/api/moneroGetAddress.js +117 -0
- package/lib/api/monero/api/moneroGetWatchKey.d.ts +14 -0
- package/lib/api/monero/api/moneroGetWatchKey.js +45 -0
- package/lib/api/monero/api/moneroKeyImageSync.d.ts +17 -0
- package/lib/api/monero/api/moneroKeyImageSync.js +128 -0
- package/lib/api/monero/api/moneroSignTransaction.d.ts +17 -0
- package/lib/api/monero/api/moneroSignTransaction.js +218 -0
- package/lib/api/nostr/nostrGetPublicKey.d.ts +15 -0
- package/lib/api/nostr/nostrGetPublicKey.js +38 -0
- package/lib/api/nostr/nostrSignEvent.d.ts +13 -0
- package/lib/api/nostr/nostrSignEvent.js +36 -0
- package/lib/api/pingDevice.d.ts +11 -0
- package/lib/api/pingDevice.js +29 -0
- package/lib/api/pushTransaction.d.ts +19 -0
- package/lib/api/pushTransaction.js +39 -0
- package/lib/api/recoveryDevice.d.ts +20 -0
- package/lib/api/recoveryDevice.js +52 -0
- package/lib/api/requestLogin.d.ts +14 -0
- package/lib/api/requestLogin.js +53 -0
- package/lib/api/resetDevice.d.ts +22 -0
- package/lib/api/resetDevice.js +133 -0
- package/lib/api/ripple/api/index.d.ts +2 -0
- package/lib/api/ripple/api/index.js +2 -0
- package/lib/api/ripple/api/rippleGetAddress.d.ts +17 -0
- package/lib/api/ripple/api/rippleGetAddress.js +22 -0
- package/lib/api/ripple/api/rippleSignTransaction.d.ts +13 -0
- package/lib/api/ripple/api/rippleSignTransaction.js +52 -0
- package/lib/api/selectAccount.d.ts +15 -0
- package/lib/api/selectAccount.js +42 -0
- package/lib/api/setBrightness.d.ts +12 -0
- package/lib/api/setBrightness.js +28 -0
- package/lib/api/setBusy.d.ts +11 -0
- package/lib/api/setBusy.js +31 -0
- package/lib/api/showDeviceTutorial.d.ts +11 -0
- package/lib/api/showDeviceTutorial.js +21 -0
- package/lib/api/signMessage.d.ts +25 -0
- package/lib/api/signMessage.js +75 -0
- package/lib/api/signTransaction.d.ts +199 -0
- package/lib/api/signTransaction.js +331 -0
- package/lib/api/solana/api/index.d.ts +4 -0
- package/lib/api/solana/api/index.js +4 -0
- package/lib/api/solana/api/solanaComposeTransaction.d.ts +33 -0
- package/lib/api/solana/api/solanaComposeTransaction.js +73 -0
- package/lib/api/solana/api/solanaGetAddress.d.ts +17 -0
- package/lib/api/solana/api/solanaGetAddress.js +22 -0
- package/lib/api/solana/api/solanaGetPublicKey.d.ts +32 -0
- package/lib/api/solana/api/solanaGetPublicKey.js +86 -0
- package/lib/api/solana/api/solanaSignTransaction.d.ts +41 -0
- package/lib/api/solana/api/solanaSignTransaction.js +204 -0
- package/lib/api/solana/solanaDefinitions.d.ts +9 -0
- package/lib/api/solana/solanaDefinitions.js +33 -0
- package/lib/api/stellar/api/index.d.ts +2 -0
- package/lib/api/stellar/api/index.js +2 -0
- package/lib/api/stellar/api/stellarGetAddress.d.ts +17 -0
- package/lib/api/stellar/api/stellarGetAddress.js +22 -0
- package/lib/api/stellar/api/stellarSignTransaction.d.ts +20 -0
- package/lib/api/stellar/api/stellarSignTransaction.js +65 -0
- package/lib/api/stellar/stellarSignTx.d.ts +7 -0
- package/lib/api/stellar/stellarSignTx.js +183 -0
- package/lib/api/telemetryGet.d.ts +14 -0
- package/lib/api/telemetryGet.js +26 -0
- package/lib/api/tezos/api/index.d.ts +3 -0
- package/lib/api/tezos/api/index.js +3 -0
- package/lib/api/tezos/api/tezosGetAddress.d.ts +17 -0
- package/lib/api/tezos/api/tezosGetAddress.js +22 -0
- package/lib/api/tezos/api/tezosGetPublicKey.d.ts +28 -0
- package/lib/api/tezos/api/tezosGetPublicKey.js +84 -0
- package/lib/api/tezos/api/tezosSignTransaction.d.ts +14 -0
- package/lib/api/tezos/api/tezosSignTransaction.js +30 -0
- package/lib/api/tezos/tezosSignTx.d.ts +71 -0
- package/lib/api/tezos/tezosSignTx.js +204 -0
- package/lib/api/thpGetCredentials.d.ts +13 -0
- package/lib/api/thpGetCredentials.js +30 -0
- package/lib/api/thpRemoveCredentials.d.ts +15 -0
- package/lib/api/thpRemoveCredentials.js +44 -0
- package/lib/api/tron/api/index.d.ts +3 -0
- package/lib/api/tron/api/index.js +3 -0
- package/lib/api/tron/api/tronComposeTransaction.d.ts +17 -0
- package/lib/api/tron/api/tronComposeTransaction.js +52 -0
- package/lib/api/tron/api/tronGetAddress.d.ts +17 -0
- package/lib/api/tron/api/tronGetAddress.js +22 -0
- package/lib/api/tron/api/tronSignTransaction.d.ts +20 -0
- package/lib/api/tron/api/tronSignTransaction.js +137 -0
- package/lib/api/tron/tronEncode.d.ts +11 -0
- package/lib/api/tron/tronEncode.js +157 -0
- package/lib/api/tron/tronProtobuf.d.ts +5 -0
- package/lib/api/unlockPath.d.ts +12 -0
- package/lib/api/unlockPath.js +33 -0
- package/lib/api/verifyMessage.d.ts +16 -0
- package/lib/api/verifyMessage.js +46 -0
- package/lib/api/wipeDevice.d.ts +21 -0
- package/lib/api/wipeDevice.js +49 -0
- package/lib/backend/BackendManager.d.ts +30 -0
- package/lib/backend/BackendManager.js +145 -0
- package/lib/backend/Blockchain.d.ts +81 -0
- package/lib/backend/Blockchain.js +235 -0
- package/lib/backend/BlockchainLink.d.ts +10 -0
- package/lib/backend/BlockchainLink.js +19 -0
- package/lib/backend/fees/BitcoinFeeLevels.d.ts +19 -0
- package/lib/backend/fees/BitcoinFeeLevels.js +44 -0
- package/lib/backend/fees/EthereumFeeLevels.d.ts +17 -0
- package/lib/backend/fees/EthereumFeeLevels.js +63 -0
- package/lib/backend/fees/MiscFeeLevels.d.ts +18 -0
- package/lib/backend/fees/MiscFeeLevels.js +30 -0
- package/lib/backend/fees/index.d.ts +5 -0
- package/lib/backend/fees/index.js +31 -0
- package/lib/core/AbstractMethod.d.ts +63 -0
- package/lib/core/AbstractMethod.js +189 -0
- package/lib/core/index.d.ts +29 -0
- package/lib/core/index.js +805 -0
- package/lib/core/method.d.ts +3 -0
- package/lib/core/method.js +19 -0
- package/lib/core/method.native.d.ts +2 -0
- package/lib/core/method.native.js +29 -0
- package/lib/core/onCallFirmwareUpdate.d.ts +42 -0
- package/lib/core/onCallFirmwareUpdate.js +436 -0
- package/lib/data/coinInfo.d.ts +101 -0
- package/lib/data/coinInfo.js +195 -0
- package/lib/data/config.d.ts +8 -0
- package/lib/data/config.js +273 -0
- package/lib/data/defaultFeeLevels.d.ts +18 -0
- package/lib/data/defaultFeeLevels.js +200 -0
- package/lib/data/enabledNetworksStore.d.ts +5 -0
- package/lib/data/enabledNetworksStore.js +20 -0
- package/lib/data/firmwareInfo.d.ts +55 -0
- package/lib/data/firmwareInfo.js +413 -0
- package/lib/data/firmwareReleaseStore.d.ts +10 -0
- package/lib/data/firmwareReleaseStore.js +16 -0
- package/lib/data/localFirmwareStore.d.ts +3 -0
- package/lib/data/protobufLoader.d.ts +1 -0
- package/lib/data/protobufLoader.js +30 -0
- package/lib/data/settingsStore.d.ts +6 -0
- package/lib/data/settingsStore.js +21 -0
- package/lib/device/Device.d.ts +259 -0
- package/lib/device/Device.js +765 -0
- package/lib/device/DeviceCommands.d.ts +87 -0
- package/lib/device/DeviceCommands.js +248 -0
- package/lib/device/DeviceCurrentSession.d.ts +750 -0
- package/lib/device/DeviceCurrentSession.js +239 -0
- package/lib/device/DeviceList.d.ts +75 -0
- package/lib/device/DeviceList.js +243 -0
- package/lib/device/TransportList.d.ts +3 -0
- package/lib/device/TransportList.js +13 -0
- package/lib/device/TransportManager.d.ts +33 -0
- package/lib/device/TransportManager.js +144 -0
- package/lib/device/calculateRevisionForDevice.d.ts +10 -0
- package/lib/device/calculateRevisionForDevice.js +19 -0
- package/lib/device/checkFirmwareRevision.d.ts +22 -0
- package/lib/device/checkFirmwareRevision.js +104 -0
- package/lib/device/resolveDescriptorForTaproot.d.ts +17 -0
- package/lib/device/resolveDescriptorForTaproot.js +27 -0
- package/lib/device/thp/handshake.d.ts +3 -0
- package/lib/device/thp/handshake.js +100 -0
- package/lib/device/thp/index.d.ts +5 -0
- package/lib/device/thp/index.js +65 -0
- package/lib/device/thp/pairing.d.ts +16 -0
- package/lib/device/thp/pairing.js +242 -0
- package/lib/device/thp/session.d.ts +2 -0
- package/lib/device/thp/session.js +27 -0
- package/lib/device/thp/thpCall.d.ts +31 -0
- package/lib/device/thp/thpCall.js +58 -0
- package/lib/device/validateMessageSize.d.ts +2 -0
- package/lib/device/validateMessageSize.js +9 -0
- package/lib/device/workflow/changeLanguage.d.ts +18 -0
- package/lib/device/workflow/changeLanguage.js +62 -0
- package/lib/device/workflow/checkFirmwareHash.d.ts +12 -0
- package/lib/device/workflow/checkFirmwareHash.js +86 -0
- package/lib/device/workflow/checkFirmwareHashWithRetries.d.ts +8 -0
- package/lib/device/workflow/checkFirmwareHashWithRetries.js +36 -0
- package/lib/device/workflow/handshake.d.ts +13 -0
- package/lib/device/workflow/handshake.js +55 -0
- package/lib/device/workflow/trezorPushNotification.d.ts +5 -0
- package/lib/device/workflow/trezorPushNotification.js +73 -0
- package/lib/device/workflow/validateState.d.ts +2 -0
- package/lib/device/workflow/validateState.js +152 -0
- package/lib/events/ui-promise.d.ts +20 -0
- package/lib/exports.d.ts +3 -0
- package/lib/exports.js +3 -0
- package/lib/impl/core-in-module.d.ts +33 -0
- package/lib/impl/core-in-module.js +194 -0
- package/lib/index.browser.d.ts +7 -0
- package/lib/index.browser.js +34 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.js +15 -0
- package/lib/types/idevice.d.ts +110 -0
- package/lib/types/typed-call-provider.d.ts +29 -0
- package/lib/types/workflow.d.ts +16 -0
- package/lib/utils/accountUtils.d.ts +10 -0
- package/lib/utils/accountUtils.js +90 -0
- package/lib/utils/addressUtils.d.ts +2 -0
- package/lib/utils/assetUtils.d.ts +13 -0
- package/lib/utils/assetUtils.js +55 -0
- package/lib/utils/assets.browser.d.ts +1 -0
- package/lib/utils/assets.browser.js +1 -0
- package/lib/utils/assets.d.ts +2 -0
- package/lib/utils/assets.js +13 -0
- package/lib/utils/assets.native.d.ts +2 -0
- package/lib/utils/assets.native.js +23 -0
- package/lib/utils/assetsTypes.d.ts +5 -0
- package/lib/utils/buildOutputDescriptor.d.ts +20 -0
- package/lib/utils/deviceFeaturesUtils.d.ts +7 -0
- package/lib/utils/deviceFeaturesUtils.js +109 -0
- package/lib/utils/ethereumUtils.d.ts +3 -0
- package/lib/utils/firmwareReleaseConfigUtils.d.ts +19 -0
- package/lib/utils/firmwareReleaseConfigUtils.js +131 -0
- package/lib/utils/firmwareUtils.d.ts +15 -0
- package/lib/utils/firmwareUtils.js +57 -0
- package/lib/utils/formatUtils.d.ts +13 -0
- package/lib/utils/formatUtils.js +45 -0
- package/lib/utils/hdnodeUtils.d.ts +6 -0
- package/lib/utils/hdnodeUtils.js +62 -0
- package/lib/utils/pathUtils.d.ts +1 -0
- package/lib/utils/pathUtils.js +1 -0
- package/lib/utils/paymentRequest.d.ts +8 -0
- package/lib/utils/paymentRequest.js +25 -0
- package/lib/utils/uiPromiseManager.d.ts +8 -0
- package/lib/workers/workers.browser.d.ts +10 -0
- package/lib/workers/workers.browser.js +16 -0
- package/lib/workers/workers.d.ts +10 -0
- package/lib/workers/workers.js +8 -0
- package/lib/workers/workers.native.d.ts +7 -0
- package/lib/workers/workers.native.js +7 -0
- package/package.json +57 -59
- 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/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/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/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/parseFirmwareHeaders.d.mts +0 -4
- 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/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/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/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/typed-call-provider.d.mts +0 -29
- package/libESM/types/workflow.d.mts +0 -16
- 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/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/buildOutputDescriptor.d.mts +0 -12
- 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/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/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
- /package/{libESM/api/cardano/cardanoTokenBundle.mjs → lib/api/cardano/cardanoTokenBundle.js} +0 -0
- /package/{libESM/api/cardano/cardanoWitnesses.mjs → lib/api/cardano/cardanoWitnesses.js} +0 -0
- /package/{libESM/api/firmware/calculateFirmwareHash.mjs → lib/api/firmware/calculateFirmwareHash.js} +0 -0
- /package/{libESM/api/firmware/modifyFirmware.mjs → lib/api/firmware/modifyFirmware.js} +0 -0
- /package/{libESM/api/firmware/parseFirmwareHeaders.mjs → lib/api/firmware/parseFirmwareHeaders.js} +0 -0
- /package/{libESM/api/tron/tronProtobuf.mjs → lib/api/tron/tronProtobuf.js} +0 -0
- /package/{libESM/data/localFirmwareStore.mjs → lib/data/localFirmwareStore.js} +0 -0
- /package/{libESM/events/ui-promise.mjs → lib/events/ui-promise.js} +0 -0
- /package/{libESM/types/idevice.mjs → lib/types/idevice.js} +0 -0
- /package/{libESM/types/typed-call-provider.mjs → lib/types/typed-call-provider.js} +0 -0
- /package/{libESM/types/workflow.mjs → lib/types/workflow.js} +0 -0
- /package/{libESM/utils/addressUtils.mjs → lib/utils/addressUtils.js} +0 -0
- /package/{libESM/utils/assetsTypes.mjs → lib/utils/assetsTypes.js} +0 -0
- /package/{libESM/utils/buildOutputDescriptor.mjs → lib/utils/buildOutputDescriptor.js} +0 -0
- /package/{libESM/utils/ethereumUtils.mjs → lib/utils/ethereumUtils.js} +0 -0
- /package/{libESM/utils/uiPromiseManager.mjs → lib/utils/uiPromiseManager.js} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,63 +1,112 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
|
7
|
-
|
|
8
|
-
|
|
|
9
|
-
|
|
|
10
|
-
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
-
|
|
55
|
-
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
1
|
+
> **Upgrading from Connect 9?**
|
|
2
|
+
>
|
|
3
|
+
> - [Migration guide: Connect 9 → 10](https://connect.trezor.io/10.0.0-beta.1/guides/migrating-to-connect-10) — what you need to change in your code, as a checklist.
|
|
4
|
+
> - [New Connect flow in Trezor Suite](https://connect.trezor.io/10.0.0-beta.1/guides/new-connect-flow-in-trezor-suite) — how the Suite-hosted flow works and why.
|
|
5
|
+
|
|
6
|
+
| Package | Stable | Canary |
|
|
7
|
+
| :------------------------------: | :----: | :-----------: |
|
|
8
|
+
| npm @trezor/connect | - | 10.0.0-beta.1 |
|
|
9
|
+
| npm @trezor/connect-web | - | 10.0.0-beta.1 |
|
|
10
|
+
| npm @trezor/connect-webextension | - | 10.0.0-beta.1 |
|
|
11
|
+
| npm @trezor/connect-mobile | - | 10.0.0-beta.1 |
|
|
12
|
+
|
|
13
|
+
| Deployment | Stable | Canary |
|
|
14
|
+
| :----------------: | :----: | :-----------: |
|
|
15
|
+
| connect.trezor.io/ | - | 10.0.0-beta.1 |
|
|
16
|
+
|
|
17
|
+
Connect 10 has no stable release yet — use [connect.trezor.io/10.0.0-beta.1](https://connect.trezor.io/10.0.0-beta.1/) to access the beta version of Connect Explorer. Once Connect 10 is released, the persistent link [connect.trezor.io/10](https://connect.trezor.io/10/) will point to the latest stable version.
|
|
18
|
+
|
|
19
|
+
# 10.0.0-beta.1
|
|
20
|
+
|
|
21
|
+
Connect 10 moves the Connect core out of the self-hosted iframe + popup and into **Trezor Suite**, which now hosts the core and renders every approval, PIN, passphrase and confirmation screen. Your app stays a thin client calling the same `TrezorConnect` methods — nothing to install, and it works whether or not Suite desktop is running. Alongside the move, the SDK gains a privacy-friendly account picker (`selectAccount`), granular per-coin permissions, and much smaller ESM-only client packages.
|
|
22
|
+
|
|
23
|
+
## Highlights
|
|
24
|
+
|
|
25
|
+
### 1. New Connect flow, powered by Trezor Suite
|
|
26
|
+
|
|
27
|
+
The legacy web popup/iframe integration has been **removed** and replaced by a flow that runs inside Trezor Suite. Connect is now a thin client that routes each call to Suite; Suite owns the core and the entire user-facing experience. It works on both desktop and web:
|
|
28
|
+
|
|
29
|
+
- **Desktop** — when Trezor Suite (desktop) is running, Connect talks to it automatically over a local (loopback) WebSocket connection — no popup window, no iframe. Suite identifies the calling application (name, origin, icon) in a single permission-approval prompt, then handles the request against the currently active, already-unlocked device.
|
|
30
|
+
- **Web** — when Suite desktop is not running, Connect opens Suite Web as the approval surface (production: `https://suite.trezor.io/web/connect-popup`), giving the same flow with nothing to install. This is a first-class path, not a degraded mode; in the default `'auto'` mode Connect prefers desktop and switches back to it automatically as soon as it becomes available.
|
|
31
|
+
- **Mobile** — `@trezor/connect-mobile` routes calls to the Trezor Suite mobile app via a deep link.
|
|
32
|
+
|
|
33
|
+
We strongly recommend keeping the default **`coreMode: 'auto'`**: users who have Trezor Suite desktop installed get the fastest, most convenient experience (a direct local connection), while everyone else falls back to Suite Web seamlessly. You can pin `coreMode` to `'suite-desktop'` or `'suite-web'` if you have a specific reason to.
|
|
34
|
+
|
|
35
|
+
The web flow relies on a bootstrap iframe + popup to exchange messages with Suite Web, so integrator pages must ship the right headers for that channel to work: a Content-Security-Policy that permits embedding the Suite Web origin (`frame-src`/`child-src` for `https://suite.trezor.io`), and a `Cross-Origin-Opener-Policy` that does not sever the popup's `window.opener` (avoid `same-origin` on the hosting page — use `same-origin-allow-popups` or `unsafe-none`). Missing or over-strict headers surface as a handshake timeout when the popup opens.
|
|
36
|
+
|
|
37
|
+
Because the active device is chosen and unlocked **in Suite**, users no longer pick a device or re-enter a passphrase per request as they did in the old popup — passphrase handling is centralized in Suite's device management (see the [passphrases & hidden wallets guide](https://trezor.io/guides/backups-recovery/advanced-wallets/passphrases-and-hidden-wallets) and the [New Connect flow in Trezor Suite guide](https://connect.trezor.io/10.0.0-beta.1/guides/new-connect-flow-in-trezor-suite)).
|
|
38
|
+
|
|
39
|
+
**Required manifest change:** `manifest.appName` is now **required**, and an optional `manifest.appIcon` (URL, sized for a 64px circle) is shown in Suite's permission prompt.
|
|
40
|
+
|
|
41
|
+
```javascript
|
|
42
|
+
TrezorConnect.init({
|
|
43
|
+
manifest: {
|
|
44
|
+
email: 'developer@xyz.com',
|
|
45
|
+
appName: 'Your Application',
|
|
46
|
+
appUrl: 'https://your.application.com',
|
|
47
|
+
appIcon: 'https://your.application.com/icon-64.png',
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### 2. `selectAccount` — private, friendlier account selection
|
|
53
|
+
|
|
54
|
+
New method for asking the user to choose one or more accounts, replacing the old "call `getAccountInfo` with no path to trigger on-device discovery" pattern. The picker, derivation and on-device verification run entirely inside Suite.
|
|
55
|
+
|
|
56
|
+
- **More private:** for UTXO coins you can request only what you need. `addressSelection: 'firstFresh' | 'manual'` exports a single **address** (with an optional SLIP-0019 `mac` to later re-prove device ownership) and never reveals the account xpub — requiring only the narrow `read_address` permission. The full-account/watch-only flow (`addressSelection: 'fullAccount'`, the default) shares the xpub and requires `read_xpub`. Account-based networks (EVM, Solana, …) always return an individual address.
|
|
57
|
+
- **Better UX:** `selectionType` supports `'single'` (default), `'multi'`, or bounded multi-select (`{ minCount, maxCount }`); `accountType` filters/tabs the allowed derivation types (including custom `bip43Path` templates); `requireOnDeviceVerification` (default `true`) controls device confirmation.
|
|
58
|
+
- Always returns an array of `{ symbol, path, address? | xpub?, accountType?, mac? }`, even for a single selection.
|
|
59
|
+
|
|
60
|
+
### 3. Granular, per-coin permissions
|
|
61
|
+
|
|
62
|
+
Permissions are no longer coarse read/write grants. Each method requires narrow scopes (such as `read_address`, `read_xpub`, `sign`, `sign_message`), scoped to a specific coin where relevant, and Suite groups them by coin in the approval prompt. Scopes are intentionally non-overlapping — e.g. granting `read_address` does **not** also grant `read_xpub` — so an app only ever gets access to what it actually uses.
|
|
63
|
+
|
|
64
|
+
### 4. Much lighter client packages
|
|
65
|
+
|
|
66
|
+
Because the Connect core now lives in Trezor Suite, the packages that third-party apps install (`@trezor/connect-web`, `-webextension`, `-mobile`) are thin clients that just route calls to Suite. They no longer bundle the core's heavy dependencies (transports, crypto, coin logic), so installs and bundles are dramatically smaller. As part of this, coin-family code has been reorganized into per-network packages (the former `@trezor/coins-*` are renamed to `@trezor/network-*`) that load their heavier dependencies on demand.
|
|
67
|
+
|
|
68
|
+
### New coins & method improvements
|
|
69
|
+
|
|
70
|
+
- **Tron** support (`tronGetAddress`, `tronSignTransaction`), backed by the new `@trezor/network-tron` package.
|
|
71
|
+
- `solanaSignTransaction` accepts a `chunkify` flag that renders addresses on the device in 4-character chunks, matching `solanaGetAddress` and other coins' sign flows (requires firmware with chunked-address support in the Solana `SignTx` flow).
|
|
72
|
+
- `ethereumSignTypedData` now computes the required hashes internally for T1B1 firmware, so callers no longer need `@trezor/connect-plugin-ethereum` to pre-compute them — passing only `data` works on all models (caller-provided hashes still take precedence).
|
|
73
|
+
- The `*GetPublicKey` methods (`getPublicKey`, `ethereumGetPublicKey`, `cardanoGetPublicKey`, …) now share a **unified response shape** across coins, including a canonical `displayablePublicKey` string that any consumer can render without per-coin branching. This unification is also why the dedicated `getAccountDescriptor` method could be removed (see Breaking changes).
|
|
74
|
+
|
|
75
|
+
## Breaking changes
|
|
76
|
+
|
|
77
|
+
The [migration guide](https://connect.trezor.io/10.0.0-beta.1/guides/migrating-to-connect-10) turns the changes below into a step-by-step checklist with before/after code.
|
|
78
|
+
|
|
79
|
+
### Integration & packaging
|
|
80
|
+
|
|
81
|
+
- **Legacy iframe + popup integration removed.** `core-in-popup` and iframe-with-popup modes no longer exist; use the Suite-based flow above. `connect-iframe` has been removed.
|
|
82
|
+
- **`manifest.appName` is now required** (see Highlights).
|
|
83
|
+
- **ESM-only.** `@trezor/connect` and its dependency closure now ship ESM only. ESM consumers just `import TrezorConnect from '@trezor/connect'`; a CJS consumer that cannot migrate can use a dynamic `import()` or stay on v9.
|
|
84
|
+
- **Public vs privileged API split.** The client packages now expose a public API (`TrezorConnectPublicAPI`) while `@trezor/connect` exposes the full privileged one (`TrezorConnectPrivilegedAPI`) used by Suite. The public tier drops everything that is Suite's responsibility — device-management methods (`applyFlags`, `applySettings`, `authenticateDevice`, `backupDevice`, `bleUnpair`, `changeLanguage`, `changePin`, `changeWipeCode`, `getFirmwareHash`, `getNonce`, `getSettings`, `loadDevice`, `pingDevice`, `recoveryDevice`, `resetDevice`, `setBrightness`, `setBusy`, `telemetryGet`, `thpGetCredentials`, `thpRemoveCredentials`, `wipeDevice`) are no longer callable from third-party integrations. Public `TrezorConnect` objects are now class instances, so `Object.keys(...)` enumeration and monkeypatching no longer work.
|
|
85
|
+
- **Thin packages lost their event/settings API.** `on`/`off`/`removeAllListeners`, `uiResponse` and `updateConnectSettings` are removed from the public tier (they were already non-functional in v10, since the host Core does not forward them); calling them now throws `TypeError`.
|
|
86
|
+
- **Type/factory renames.** The exported `TrezorConnect` type is replaced by `TrezorConnectPublicAPI` / `TrezorConnectPrivilegedAPI`, and the `factory` function by `factoryPublic` / `factoryPrivileged`. The API-schema values (`TrezorConnectCallable`, `TrezorConnectBitcoin`, …) are no longer exported as runtime values — the names remain as types only.
|
|
87
|
+
|
|
88
|
+
### Methods & parameters
|
|
89
|
+
|
|
90
|
+
- **`coin` accepts the coin shortcut only** (the `CoinSymbol` set — e.g. `btc`, `bch`, `ada`), narrowed from `string`. Network **names** and **labels** (e.g. `'Bitcoin'`, `'Bitcoin Cash'`) are no longer accepted and now fail both at compile time and at runtime. The shortcut itself is still matched case-insensitively at runtime, so `coin: 'BTC'` works — but the `CoinSymbol` type lists the canonical lowercase forms, so TypeScript users should pass lowercase to type-check. Resolution is uniform across all coin families. Migrate names/labels to the shortcut: `'Bitcoin' → 'btc'`, `'Bitcoin Cash' → 'bch'`, `'cardano' → 'ada'`, etc. Path-taking methods (`getAddress`, `getPublicKey`, …) derive the network from `path` when given a former name/label; methods without a path fallback (`getAccountInfo`, `selectAccount`, `verifyMessage`, `composeTransaction`, `signTransaction`, `signMessage`, `getOwnershipId`, `getOwnershipProof`, the `blockchain*` family) throw `Method_UnknownCoin`. Full list: [supported coins](https://connect.trezor.io/10.0.0-beta.1/details/coins).
|
|
91
|
+
- **`getPublicKey` is restricted to bitcoin-like coins.** In v9, a non-bitcoin `coin` (e.g. `'eth'`) silently fell back to Bitcoin and returned a btc xpub. Now the network must resolve to a bitcoin-like coin — from `coin`, or failing that from the derivation `path` — otherwise the call throws `Method_UnknownCoin`. Use the per-coin methods (`ethereumGetPublicKey`, `cardanoGetPublicKey`, …) for other networks.
|
|
92
|
+
- **`getAccountDescriptor` removed.** The per-coin `*GetPublicKey` methods now return the same fields. Field mapping: `payload.descriptor` → Bitcoin `result.descriptor` (non-Bitcoin coins: use `result.displayablePublicKey`); `payload.path` → `result.serializedPath` on every `*GetPublicKey`; generic consumers should read `result.displayablePublicKey`.
|
|
93
|
+
- **`getAccountInfo` no longer performs on-device discovery.** Calling it without `path` or `descriptor` now throws `Method_InvalidParameter` (`path or descriptor is required`) instead of opening a device-driven selection popup. Provide `path` (derive on device, then query backend) or `descriptor` (backend-only). For the old discovery behavior, use `discoverAccounts` — or `selectAccount` for user-facing selection.
|
|
94
|
+
- **`cardanoGetPublicKey`:** `publicKey` is now the raw 32-byte key in hex (consistent with other coins); the Cardano extended public key moved to the new explicit `xpub` field (also available via `displayablePublicKey`).
|
|
95
|
+
- **`useCardanoDerivation` removed.** Cardano session derivation is now driven by an app-level `enabledNetworks` declaration passed to `TrezorConnect.init({ enabledNetworks: [{ coin: 'ada' }] })` (or `updateConnectSettings` for in-process Core hosts). Note: `enabledNetworks` is honored only by the in-process `@trezor/connect`; on the thin packages, Cardano availability follows the host Suite wallet's enabled coins.
|
|
96
|
+
|
|
97
|
+
### Transports
|
|
98
|
+
|
|
99
|
+
These mostly affect apps that run their own Connect core (`@trezor/connect`); most integrations use the client packages and can skip this.
|
|
100
|
+
|
|
101
|
+
- **Transports must be passed as instances.** `transports` no longer accepts string identifiers (`'BridgeTransport'`, …) or classes — pass fully constructed `Transport` instances, e.g. `import { BridgeTransport } from '@trezor/transport-common'; init({ transports: [new BridgeTransport({ id: 'my-app' })] })`. For WebUSB use `@trezor/transport-web`; avoid the Node-only `@trezor/transport` barrel in web/React Native bundles.
|
|
102
|
+
- **`disableWebUSB()` removed** — use `updateConnectSettings({ transports })` with a filtered list instead.
|
|
103
|
+
- **Legacy `trezord-go` Bridge (port `21325`) is no longer supported** and `TransportInfo.outdated` is removed; detecting an outdated Bridge is now the consumer app's job.
|
|
104
|
+
|
|
105
|
+
## Removed & deprecated
|
|
106
|
+
|
|
107
|
+
- **Removed coin support.** Coins that no current device supports have been dropped from the coin definitions. [Supported coins](https://connect.trezor.io/10.0.0-beta.1/details/coins) is the current list — if your integration names a coin that is not on it, remove that support.
|
|
108
|
+
- **`@trezor/connect-plugin-ethereum` deprecated.** Its logic is inlined into `@trezor/connect`. Drop the direct dependency and remove manual `transformTypedData` calls. The 10.x plugin is a stub that throws a deprecation error pointing at the migration.
|
|
109
|
+
|
|
110
|
+
## Previous versions
|
|
111
|
+
|
|
112
|
+
Changelogs for Connect 9 and earlier are available at [connect.trezor.io/9](https://connect.trezor.io/9/).
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @trezor/connect
|
|
2
2
|
|
|
3
|
-
API version 10.0.0-
|
|
3
|
+
API version 10.0.0-beta.1
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.org/package/@trezor/connect)
|
|
6
6
|
|
|
@@ -40,7 +40,7 @@ For more instructions [refer to this document](https://github.com/trezor/trezor-
|
|
|
40
40
|
|
|
41
41
|
## Versioning
|
|
42
42
|
|
|
43
|
-
Version 10 is the current major version and is currently in
|
|
43
|
+
Version 10 is the current major version and is currently in beta. New major versions are released when there are breaking API changes.
|
|
44
44
|
|
|
45
45
|
## Docs
|
|
46
46
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type PermissionRequest } from '@trezor/connect-common';
|
|
2
|
+
import { MessagesSchema as PROTO } from '@trezor/protobuf';
|
|
3
|
+
import type { MethodMessage } from "../core/AbstractMethod.js";
|
|
4
|
+
import { AbstractMethod } from "../core/AbstractMethod.js";
|
|
5
|
+
export default class ApplyFlags extends AbstractMethod<'applyFlags', PROTO.ApplyFlags> {
|
|
6
|
+
constructor(message: MethodMessage<'applyFlags'>);
|
|
7
|
+
get requiredPermissions(): PermissionRequest[];
|
|
8
|
+
init(): void;
|
|
9
|
+
get confirmation(): {
|
|
10
|
+
view: "device-management";
|
|
11
|
+
customConfirmButton: {
|
|
12
|
+
className: string;
|
|
13
|
+
label: string;
|
|
14
|
+
};
|
|
15
|
+
label: string;
|
|
16
|
+
};
|
|
17
|
+
run(): Promise<{
|
|
18
|
+
message: string;
|
|
19
|
+
}>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { MessagesSchema as PROTO } from "@trezor/protobuf";
|
|
2
|
+
import { Assert } from "@trezor/schema-utils";
|
|
3
|
+
import { AbstractMethod } from "../core/AbstractMethod.js";
|
|
4
|
+
export default class ApplyFlags extends AbstractMethod {
|
|
5
|
+
constructor(message) {
|
|
6
|
+
const {
|
|
7
|
+
payload
|
|
8
|
+
} = message;
|
|
9
|
+
Assert(PROTO.ApplyFlags, payload);
|
|
10
|
+
const params = {
|
|
11
|
+
flags: payload.flags
|
|
12
|
+
};
|
|
13
|
+
super(message, params);
|
|
14
|
+
this.useDeviceState = false;
|
|
15
|
+
this.skipFinalReload = false;
|
|
16
|
+
}
|
|
17
|
+
get requiredPermissions() {
|
|
18
|
+
return [{
|
|
19
|
+
permission: 'management'
|
|
20
|
+
}];
|
|
21
|
+
}
|
|
22
|
+
init() {}
|
|
23
|
+
get confirmation() {
|
|
24
|
+
return {
|
|
25
|
+
view: 'device-management',
|
|
26
|
+
customConfirmButton: {
|
|
27
|
+
className: 'confirm',
|
|
28
|
+
label: 'Proceed'
|
|
29
|
+
},
|
|
30
|
+
label: 'Do you really want to apply flags?'
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
async run() {
|
|
34
|
+
const cmd = this.getDevice().getCommands();
|
|
35
|
+
const response = await cmd.typedCall('ApplyFlags', 'Success', this.params);
|
|
36
|
+
return response.message;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type PermissionRequest } from '@trezor/connect-common';
|
|
2
|
+
import type { MessagesSchema as PROTO } from '@trezor/protobuf';
|
|
3
|
+
import type { MethodMessage } from "../core/AbstractMethod.js";
|
|
4
|
+
import { AbstractMethod } from "../core/AbstractMethod.js";
|
|
5
|
+
export default class ApplySettings extends AbstractMethod<'applySettings', PROTO.ApplySettings> {
|
|
6
|
+
constructor(message: MethodMessage<'applySettings'>);
|
|
7
|
+
get requiredPermissions(): PermissionRequest[];
|
|
8
|
+
init(): void;
|
|
9
|
+
get confirmation(): {
|
|
10
|
+
view: "device-management";
|
|
11
|
+
customConfirmButton: {
|
|
12
|
+
className: string;
|
|
13
|
+
label: string;
|
|
14
|
+
};
|
|
15
|
+
label: string;
|
|
16
|
+
};
|
|
17
|
+
run(): Promise<{
|
|
18
|
+
message: string;
|
|
19
|
+
}>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { ApplySettings as ApplySettingsSchema } from "@trezor/connect-common";
|
|
2
|
+
import { Assert } from "@trezor/schema-utils";
|
|
3
|
+
import { AbstractMethod } from "../core/AbstractMethod.js";
|
|
4
|
+
export default class ApplySettings extends AbstractMethod {
|
|
5
|
+
constructor(message) {
|
|
6
|
+
const {
|
|
7
|
+
payload
|
|
8
|
+
} = message;
|
|
9
|
+
Assert(ApplySettingsSchema, payload);
|
|
10
|
+
const params = {
|
|
11
|
+
...payload,
|
|
12
|
+
_passphrase_source: payload.passphrase_source
|
|
13
|
+
};
|
|
14
|
+
super(message, params);
|
|
15
|
+
this.useDeviceState = false;
|
|
16
|
+
this.skipFinalReload = false;
|
|
17
|
+
}
|
|
18
|
+
get requiredPermissions() {
|
|
19
|
+
return [{
|
|
20
|
+
permission: 'management'
|
|
21
|
+
}];
|
|
22
|
+
}
|
|
23
|
+
init() {}
|
|
24
|
+
get confirmation() {
|
|
25
|
+
return {
|
|
26
|
+
view: 'device-management',
|
|
27
|
+
customConfirmButton: {
|
|
28
|
+
className: 'confirm',
|
|
29
|
+
label: 'Proceed'
|
|
30
|
+
},
|
|
31
|
+
label: 'Do you really want to change device settings?'
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
async run() {
|
|
35
|
+
const device = this.getDevice();
|
|
36
|
+
const cmd = device.getCommands();
|
|
37
|
+
const homescreenBytes = this.params.homescreen ? Buffer.from(this.params.homescreen, 'hex') : undefined;
|
|
38
|
+
if (device.atLeast('2.9.0') && homescreenBytes) {
|
|
39
|
+
this.params.homescreen = undefined;
|
|
40
|
+
this.params.homescreen_length = homescreenBytes.length;
|
|
41
|
+
}
|
|
42
|
+
if (homescreenBytes !== undefined) {
|
|
43
|
+
device.startPiggybackAck();
|
|
44
|
+
}
|
|
45
|
+
let response = await cmd.typedCall('ApplySettings', ['DataChunkRequest', 'Success'], this.params);
|
|
46
|
+
while (response.type !== 'Success') {
|
|
47
|
+
const start = response.message.data_offset;
|
|
48
|
+
const end = start + response.message.data_length;
|
|
49
|
+
const data_chunk = homescreenBytes?.subarray(start, end).toString('hex') || '';
|
|
50
|
+
response = await cmd.typedCall('DataChunkAck', ['DataChunkRequest', 'Success'], {
|
|
51
|
+
data_chunk
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
await device.stopPiggybackAck();
|
|
55
|
+
return response.message;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { PermissionRequest } from '@trezor/connect-common';
|
|
2
|
+
import { AuthenticateDeviceParams } from '@trezor/device-authenticity';
|
|
3
|
+
import type { MethodMessage } from "../core/AbstractMethod.js";
|
|
4
|
+
import { AbstractMethod } from "../core/AbstractMethod.js";
|
|
5
|
+
export default class AuthenticateDevice extends AbstractMethod<'authenticateDevice', AuthenticateDeviceParams> {
|
|
6
|
+
constructor(message: MethodMessage<'authenticateDevice'>);
|
|
7
|
+
get requiredPermissions(): PermissionRequest[];
|
|
8
|
+
streamAuthenticityProofs(challenge: Buffer): Promise<{
|
|
9
|
+
tropic_signature?: string | undefined;
|
|
10
|
+
mcu_signature?: string | undefined;
|
|
11
|
+
optiga_certificates: string[];
|
|
12
|
+
optiga_signature: string;
|
|
13
|
+
tropic_certificates: string[];
|
|
14
|
+
mcu_certificates: string[];
|
|
15
|
+
}>;
|
|
16
|
+
getAuthenticityProofs(challenge: Buffer): Promise<{
|
|
17
|
+
tropic_signature?: string | undefined;
|
|
18
|
+
mcu_signature?: string | undefined;
|
|
19
|
+
optiga_certificates: string[];
|
|
20
|
+
optiga_signature: string;
|
|
21
|
+
tropic_certificates: string[];
|
|
22
|
+
mcu_certificates: string[];
|
|
23
|
+
}>;
|
|
24
|
+
run(): Promise<import("@trezor/device-authenticity/lib/types").ResultsToValidate>;
|
|
25
|
+
}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { UI_REQUEST } from "@trezor/connect-common";
|
|
2
|
+
import { AuthenticateDeviceParams, deviceAuthenticityBlacklistConfig, deviceAuthenticityConfig, getRandomChallenge, prepareDeviceAuthenticityData, validateSerialNumbers, verifyAuthenticityProof } from "@trezor/device-authenticity";
|
|
3
|
+
import { MessagesSchema as PROTO } from "@trezor/protobuf";
|
|
4
|
+
import { Assert } from "@trezor/schema-utils";
|
|
5
|
+
import { AbstractMethod } from "../core/AbstractMethod.js";
|
|
6
|
+
export default class AuthenticateDevice extends AbstractMethod {
|
|
7
|
+
constructor(message) {
|
|
8
|
+
const {
|
|
9
|
+
payload
|
|
10
|
+
} = message;
|
|
11
|
+
Assert(AuthenticateDeviceParams, payload);
|
|
12
|
+
const params = {
|
|
13
|
+
config: payload.config,
|
|
14
|
+
blacklistConfig: payload.blacklistConfig,
|
|
15
|
+
allowDebugKeys: payload.allowDebugKeys
|
|
16
|
+
};
|
|
17
|
+
super(message, params);
|
|
18
|
+
this.useEmptyPassphrase = true;
|
|
19
|
+
this.allowDeviceMode = [UI_REQUEST.INITIALIZE, UI_REQUEST.SEEDLESS];
|
|
20
|
+
this.skipFinalReload = false;
|
|
21
|
+
this.useDeviceState = false;
|
|
22
|
+
}
|
|
23
|
+
get requiredPermissions() {
|
|
24
|
+
return [{
|
|
25
|
+
permission: 'management'
|
|
26
|
+
}];
|
|
27
|
+
}
|
|
28
|
+
async streamAuthenticityProofs(challenge) {
|
|
29
|
+
const cmd = this.getDevice().getCommands();
|
|
30
|
+
const MAX_CHUNK_SIZE = 500;
|
|
31
|
+
this.getDevice().startPiggybackAck();
|
|
32
|
+
const {
|
|
33
|
+
message: proofSizes
|
|
34
|
+
} = await cmd.typedCall('AuthenticateDevice', 'AuthenticityProofSizes', {
|
|
35
|
+
challenge: challenge.toString('hex'),
|
|
36
|
+
stream: true
|
|
37
|
+
});
|
|
38
|
+
const proofTypes = [{
|
|
39
|
+
name: 'optiga',
|
|
40
|
+
type: PROTO.AuthenticityProofType.OPTIGA,
|
|
41
|
+
certSizes: proofSizes.optiga_certificates,
|
|
42
|
+
sigSize: proofSizes.optiga_signature
|
|
43
|
+
}, {
|
|
44
|
+
name: 'tropic',
|
|
45
|
+
type: PROTO.AuthenticityProofType.TROPIC,
|
|
46
|
+
certSizes: proofSizes.tropic_certificates,
|
|
47
|
+
sigSize: proofSizes.tropic_signature
|
|
48
|
+
}, {
|
|
49
|
+
name: 'mcu',
|
|
50
|
+
type: PROTO.AuthenticityProofType.MCU,
|
|
51
|
+
certSizes: proofSizes.mcu_certificates,
|
|
52
|
+
sigSize: proofSizes.mcu_signature
|
|
53
|
+
}];
|
|
54
|
+
const authenticityProof = {
|
|
55
|
+
optiga_certificates: [],
|
|
56
|
+
optiga_signature: '',
|
|
57
|
+
tropic_certificates: [],
|
|
58
|
+
tropic_signature: undefined,
|
|
59
|
+
mcu_certificates: [],
|
|
60
|
+
mcu_signature: undefined
|
|
61
|
+
};
|
|
62
|
+
const getChunk = async (params, chunkSize) => {
|
|
63
|
+
const chunks = [];
|
|
64
|
+
let offset = 0;
|
|
65
|
+
while (offset < chunkSize) {
|
|
66
|
+
const size = Math.min(MAX_CHUNK_SIZE, chunkSize - offset);
|
|
67
|
+
const {
|
|
68
|
+
message
|
|
69
|
+
} = await cmd.typedCall('GetAuthenticityProofChunk', 'AuthenticityProofChunk', {
|
|
70
|
+
...params,
|
|
71
|
+
offset,
|
|
72
|
+
size
|
|
73
|
+
});
|
|
74
|
+
chunks.push(message.chunk);
|
|
75
|
+
offset += size;
|
|
76
|
+
}
|
|
77
|
+
return chunks.join('');
|
|
78
|
+
};
|
|
79
|
+
for (const {
|
|
80
|
+
name,
|
|
81
|
+
type,
|
|
82
|
+
certSizes,
|
|
83
|
+
sigSize
|
|
84
|
+
} of proofTypes) {
|
|
85
|
+
for (const [i, certSize] of certSizes.entries()) {
|
|
86
|
+
const cert = await getChunk({
|
|
87
|
+
proof_type: type,
|
|
88
|
+
index: i
|
|
89
|
+
}, certSize);
|
|
90
|
+
authenticityProof[`${name}_certificates`].push(cert);
|
|
91
|
+
}
|
|
92
|
+
if (sigSize) {
|
|
93
|
+
authenticityProof[`${name}_signature`] = await getChunk({
|
|
94
|
+
proof_type: type
|
|
95
|
+
}, sigSize);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
await cmd.typedCall('GetAuthenticityProofChunk', 'Success', {
|
|
99
|
+
offset: 0,
|
|
100
|
+
size: 0
|
|
101
|
+
});
|
|
102
|
+
await this.getDevice().stopPiggybackAck();
|
|
103
|
+
return authenticityProof;
|
|
104
|
+
}
|
|
105
|
+
async getAuthenticityProofs(challenge) {
|
|
106
|
+
const {
|
|
107
|
+
message
|
|
108
|
+
} = await this.getDevice().getCommands().typedCall('AuthenticateDevice', 'AuthenticityProof', {
|
|
109
|
+
challenge: challenge.toString('hex')
|
|
110
|
+
});
|
|
111
|
+
return message;
|
|
112
|
+
}
|
|
113
|
+
async run() {
|
|
114
|
+
const challenge = getRandomChallenge();
|
|
115
|
+
const {
|
|
116
|
+
unavailableCapabilities
|
|
117
|
+
} = this.getDevice();
|
|
118
|
+
const authenticityProof = !unavailableCapabilities['authenticityProofChunk'] ? await this.streamAuthenticityProofs(challenge) : await this.getAuthenticityProofs(challenge);
|
|
119
|
+
const config = this.params.config || deviceAuthenticityConfig;
|
|
120
|
+
const blacklistConfig = this.params.blacklistConfig || deviceAuthenticityBlacklistConfig;
|
|
121
|
+
const commonParams = {
|
|
122
|
+
signedData: prepareDeviceAuthenticityData({
|
|
123
|
+
payload: challenge
|
|
124
|
+
}),
|
|
125
|
+
deviceModel: this.getDevice().features.internal_model,
|
|
126
|
+
allowDebugKeys: this.params.allowDebugKeys,
|
|
127
|
+
config,
|
|
128
|
+
blacklistConfig
|
|
129
|
+
};
|
|
130
|
+
const getOptigaResult = async () => {
|
|
131
|
+
const {
|
|
132
|
+
optiga_signature: signature,
|
|
133
|
+
optiga_certificates: certificates
|
|
134
|
+
} = authenticityProof;
|
|
135
|
+
const isAvailable = signature && certificates.length > 0;
|
|
136
|
+
if (isAvailable) {
|
|
137
|
+
return await verifyAuthenticityProof({
|
|
138
|
+
...commonParams,
|
|
139
|
+
certificates,
|
|
140
|
+
signature
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
return {
|
|
144
|
+
valid: false,
|
|
145
|
+
error: 'RESPONSE_PAYLOAD_MISSING'
|
|
146
|
+
};
|
|
147
|
+
};
|
|
148
|
+
const hasTropicAbility = !unavailableCapabilities['tropicDeviceAuthentication'];
|
|
149
|
+
const getTropicResult = async () => {
|
|
150
|
+
const {
|
|
151
|
+
tropic_signature: signature,
|
|
152
|
+
tropic_certificates: certificates
|
|
153
|
+
} = authenticityProof;
|
|
154
|
+
const isAvailable = signature && certificates.length > 0;
|
|
155
|
+
const isRequired = hasTropicAbility;
|
|
156
|
+
if (isAvailable) {
|
|
157
|
+
return await verifyAuthenticityProof({
|
|
158
|
+
...commonParams,
|
|
159
|
+
certificates,
|
|
160
|
+
signature
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
return isRequired ? {
|
|
164
|
+
valid: false,
|
|
165
|
+
error: 'RESPONSE_PAYLOAD_MISSING'
|
|
166
|
+
} : null;
|
|
167
|
+
};
|
|
168
|
+
const getMCUResult = async () => {
|
|
169
|
+
const {
|
|
170
|
+
mcu_signature: signature,
|
|
171
|
+
mcu_certificates: certificates
|
|
172
|
+
} = authenticityProof;
|
|
173
|
+
const isAvailable = signature && certificates.length > 0;
|
|
174
|
+
const isRequired = !unavailableCapabilities['mcuDeviceAuthentication'];
|
|
175
|
+
if (isAvailable) {
|
|
176
|
+
return await verifyAuthenticityProof({
|
|
177
|
+
...commonParams,
|
|
178
|
+
certificates,
|
|
179
|
+
signature
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
return isRequired ? {
|
|
183
|
+
valid: false,
|
|
184
|
+
error: 'RESPONSE_PAYLOAD_MISSING'
|
|
185
|
+
} : null;
|
|
186
|
+
};
|
|
187
|
+
const [optigaResult, tropicResult, mcuResult] = await Promise.all([getOptigaResult(), getTropicResult(), getMCUResult()]);
|
|
188
|
+
const results = {
|
|
189
|
+
optigaResult,
|
|
190
|
+
tropicResult,
|
|
191
|
+
mcuResult
|
|
192
|
+
};
|
|
193
|
+
return hasTropicAbility ? validateSerialNumbers(results) : results;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type PermissionRequest } from '@trezor/connect-common';
|
|
2
|
+
import type { MessagesSchema as PROTO } from '@trezor/protobuf';
|
|
3
|
+
import type { MethodMessage } from "../core/AbstractMethod.js";
|
|
4
|
+
import { AbstractMethod } from "../core/AbstractMethod.js";
|
|
5
|
+
export default class AuthorizeCoinjoin extends AbstractMethod<'authorizeCoinjoin', PROTO.AuthorizeCoinJoin> {
|
|
6
|
+
constructor(message: MethodMessage<'authorizeCoinjoin'>);
|
|
7
|
+
get requiredPermissions(): PermissionRequest[];
|
|
8
|
+
run(): Promise<{
|
|
9
|
+
message: string;
|
|
10
|
+
}>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { AuthorizeCoinjoin as AuthorizeCoinjoinSchema } from "@trezor/connect-common";
|
|
2
|
+
import { Assert } from "@trezor/schema-utils";
|
|
3
|
+
import { AbstractMethod } from "../core/AbstractMethod.js";
|
|
4
|
+
import { getBitcoinNetwork } from "../data/coinInfo.js";
|
|
5
|
+
import { getScriptType, validatePath } from "../utils/pathUtils.js";
|
|
6
|
+
export default class AuthorizeCoinjoin extends AbstractMethod {
|
|
7
|
+
constructor(message) {
|
|
8
|
+
const {
|
|
9
|
+
payload
|
|
10
|
+
} = message;
|
|
11
|
+
Assert(AuthorizeCoinjoinSchema, payload);
|
|
12
|
+
const address_n = validatePath(payload.path, 3);
|
|
13
|
+
const script_type = payload.scriptType || getScriptType(address_n);
|
|
14
|
+
const coinInfo = getBitcoinNetwork(payload.coin || address_n);
|
|
15
|
+
const params = {
|
|
16
|
+
coordinator: payload.coordinator,
|
|
17
|
+
max_rounds: payload.maxRounds,
|
|
18
|
+
max_coordinator_fee_rate: payload.maxCoordinatorFeeRate,
|
|
19
|
+
max_fee_per_kvbyte: payload.maxFeePerKvbyte,
|
|
20
|
+
address_n,
|
|
21
|
+
coin_name: coinInfo?.name,
|
|
22
|
+
script_type,
|
|
23
|
+
amount_unit: payload.amountUnit
|
|
24
|
+
};
|
|
25
|
+
super(message, params);
|
|
26
|
+
this.requiredFirmwareCoins = [coinInfo];
|
|
27
|
+
this.preauthorized = payload.preauthorized;
|
|
28
|
+
}
|
|
29
|
+
get requiredPermissions() {
|
|
30
|
+
return [this.coinPerm('internal', this.requiredFirmwareCoins[0])];
|
|
31
|
+
}
|
|
32
|
+
async run() {
|
|
33
|
+
const cmd = this.getDevice().getCommands();
|
|
34
|
+
if (this.preauthorized) {
|
|
35
|
+
if (await cmd.preauthorize(false)) {
|
|
36
|
+
return {
|
|
37
|
+
message: 'Success'
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
const response = await cmd.typedCall('AuthorizeCoinJoin', 'Success', this.params);
|
|
42
|
+
return response.message;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type PermissionRequest } from '@trezor/connect-common';
|
|
2
|
+
import { MessagesSchema as PROTO } from '@trezor/protobuf';
|
|
3
|
+
import type { MethodMessage } from "../core/AbstractMethod.js";
|
|
4
|
+
import { AbstractMethod } from "../core/AbstractMethod.js";
|
|
5
|
+
export default class BackupDevice extends AbstractMethod<'backupDevice', PROTO.BackupDevice> {
|
|
6
|
+
constructor(message: MethodMessage<'backupDevice'>);
|
|
7
|
+
get requiredPermissions(): PermissionRequest[];
|
|
8
|
+
get confirmation(): {
|
|
9
|
+
view: "device-management";
|
|
10
|
+
customConfirmButton: {
|
|
11
|
+
className: string;
|
|
12
|
+
label: string;
|
|
13
|
+
};
|
|
14
|
+
label: string;
|
|
15
|
+
};
|
|
16
|
+
run(): Promise<{
|
|
17
|
+
message: string;
|
|
18
|
+
}>;
|
|
19
|
+
}
|