@trezor/connect 10.0.0-beta.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 +56 -9
- package/README.md +4 -2
- package/lib/exports.d.ts +1 -3
- package/lib/exports.js +1 -3
- 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.js +2 -26
- package/lib/index.js +1 -11
- package/lib/index.native.d.ts +4 -0
- package/lib/index.native.js +5 -0
- package/package.json +16 -67
- package/lib/api/applyFlags.d.ts +0 -20
- package/lib/api/applyFlags.js +0 -38
- package/lib/api/applySettings.d.ts +0 -20
- package/lib/api/applySettings.js +0 -57
- package/lib/api/authenticateDevice.d.ts +0 -25
- package/lib/api/authenticateDevice.js +0 -195
- package/lib/api/authorizeCoinjoin.d.ts +0 -11
- package/lib/api/authorizeCoinjoin.js +0 -44
- package/lib/api/backupDevice.d.ts +0 -19
- package/lib/api/backupDevice.js +0 -39
- package/lib/api/bitcoin/TransactionComposer.d.ts +0 -46
- package/lib/api/bitcoin/TransactionComposer.js +0 -147
- package/lib/api/bitcoin/createPendingTx.d.ts +0 -37
- package/lib/api/bitcoin/createPendingTx.js +0 -55
- package/lib/api/bitcoin/enhanceSignTx.d.ts +0 -2
- package/lib/api/bitcoin/enhanceSignTx.js +0 -23
- package/lib/api/bitcoin/index.d.ts +0 -9
- package/lib/api/bitcoin/index.js +0 -9
- package/lib/api/bitcoin/inputs.d.ts +0 -4
- package/lib/api/bitcoin/inputs.js +0 -63
- package/lib/api/bitcoin/outputs.d.ts +0 -5
- package/lib/api/bitcoin/outputs.js +0 -128
- package/lib/api/bitcoin/refTx.d.ts +0 -23
- package/lib/api/bitcoin/refTx.js +0 -249
- package/lib/api/bitcoin/signtx.d.ts +0 -30
- package/lib/api/bitcoin/signtx.js +0 -229
- package/lib/api/bitcoin/signtxLegacy.d.ts +0 -10
- package/lib/api/bitcoin/signtxLegacy.js +0 -186
- package/lib/api/bitcoin/signtxVerify.d.ts +0 -12
- package/lib/api/bitcoin/signtxVerify.js +0 -95
- package/lib/api/bitcoin/transactionBytes.d.ts +0 -3
- package/lib/api/bitcoin/transactionBytes.js +0 -65
- package/lib/api/bleUnpair.d.ts +0 -11
- package/lib/api/bleUnpair.js +0 -37
- package/lib/api/blockchainDisconnect.d.ts +0 -16
- package/lib/api/blockchainDisconnect.js +0 -37
- package/lib/api/blockchainEstimateFee.d.ts +0 -16
- package/lib/api/blockchainEstimateFee.js +0 -102
- package/lib/api/blockchainEvmRpcCall.d.ts +0 -19
- package/lib/api/blockchainEvmRpcCall.js +0 -57
- package/lib/api/blockchainGetAccountBalanceHistory.d.ts +0 -16
- package/lib/api/blockchainGetAccountBalanceHistory.js +0 -60
- package/lib/api/blockchainGetContractInfo.d.ts +0 -16
- package/lib/api/blockchainGetContractInfo.js +0 -46
- package/lib/api/blockchainGetCurrentFiatRates.d.ts +0 -20
- package/lib/api/blockchainGetCurrentFiatRates.js +0 -49
- package/lib/api/blockchainGetFiatRatesForTimestamps.d.ts +0 -23
- package/lib/api/blockchainGetFiatRatesForTimestamps.js +0 -55
- package/lib/api/blockchainGetInfo.d.ts +0 -15
- package/lib/api/blockchainGetInfo.js +0 -37
- package/lib/api/blockchainGetTransactions.d.ts +0 -18
- package/lib/api/blockchainGetTransactions.js +0 -47
- package/lib/api/blockchainSetCustomBackend.d.ts +0 -17
- package/lib/api/blockchainSetCustomBackend.js +0 -43
- package/lib/api/blockchainSubscribe.d.ts +0 -19
- package/lib/api/blockchainSubscribe.js +0 -66
- package/lib/api/blockchainSubscribeFiatRates.d.ts +0 -19
- package/lib/api/blockchainSubscribeFiatRates.js +0 -43
- package/lib/api/blockchainUnsubscribe.d.ts +0 -19
- package/lib/api/blockchainUnsubscribe.js +0 -66
- package/lib/api/blockchainUnsubscribeFiatRates.d.ts +0 -17
- package/lib/api/blockchainUnsubscribeFiatRates.js +0 -37
- package/lib/api/blockchainValidateEvmRpcUrl.d.ts +0 -17
- package/lib/api/blockchainValidateEvmRpcUrl.js +0 -54
- package/lib/api/cancelCoinjoinAuthorization.d.ts +0 -11
- package/lib/api/cancelCoinjoinAuthorization.js +0 -33
- package/lib/api/cardano/api/cardanoComposeTransaction.d.ts +0 -10
- package/lib/api/cardano/api/cardanoComposeTransaction.js +0 -84
- package/lib/api/cardano/api/cardanoGetAddress.d.ts +0 -34
- package/lib/api/cardano/api/cardanoGetAddress.js +0 -130
- package/lib/api/cardano/api/cardanoGetNativeScriptHash.d.ts +0 -12
- package/lib/api/cardano/api/cardanoGetNativeScriptHash.js +0 -66
- package/lib/api/cardano/api/cardanoGetPublicKey.d.ts +0 -22
- package/lib/api/cardano/api/cardanoGetPublicKey.js +0 -92
- package/lib/api/cardano/api/cardanoSignMessage.d.ts +0 -22
- package/lib/api/cardano/api/cardanoSignMessage.js +0 -90
- package/lib/api/cardano/api/cardanoSignTransaction.d.ts +0 -81
- package/lib/api/cardano/api/cardanoSignTransaction.js +0 -301
- package/lib/api/cardano/api/index.d.ts +0 -6
- package/lib/api/cardano/api/index.js +0 -6
- package/lib/api/cardano/cardanoAddressParameters.d.ts +0 -6
- package/lib/api/cardano/cardanoAddressParameters.js +0 -79
- package/lib/api/cardano/cardanoAuxiliaryData.d.ts +0 -4
- package/lib/api/cardano/cardanoAuxiliaryData.js +0 -74
- package/lib/api/cardano/cardanoCertificate.d.ts +0 -13
- package/lib/api/cardano/cardanoCertificate.js +0 -142
- package/lib/api/cardano/cardanoInputs.d.ts +0 -25
- package/lib/api/cardano/cardanoInputs.js +0 -39
- package/lib/api/cardano/cardanoOutputs.d.ts +0 -40
- package/lib/api/cardano/cardanoOutputs.js +0 -70
- package/lib/api/cardano/cardanoTokenBundle.d.ts +0 -12
- package/lib/api/cardano/cardanoTokenBundle.js +0 -21
- package/lib/api/cardano/cardanoUtils.d.ts +0 -17
- package/lib/api/cardano/cardanoUtils.js +0 -100
- package/lib/api/cardano/cardanoWitnesses.d.ts +0 -4
- package/lib/api/cardano/cardanoWitnesses.js +0 -47
- package/lib/api/changeLanguage.d.ts +0 -18
- package/lib/api/changeLanguage.js +0 -49
- package/lib/api/changePin.d.ts +0 -11
- package/lib/api/changePin.js +0 -27
- package/lib/api/changeWipeCode.d.ts +0 -11
- package/lib/api/changeWipeCode.js +0 -29
- package/lib/api/cipherKeyValue.d.ts +0 -17
- package/lib/api/cipherKeyValue.js +0 -58
- package/lib/api/common/AbstractMiscGetAddress.d.ts +0 -37
- package/lib/api/common/AbstractMiscGetAddress.js +0 -126
- package/lib/api/common/Discovery.d.ts +0 -33
- package/lib/api/common/Discovery.js +0 -119
- package/lib/api/common/paramsValidator.d.ts +0 -24
- package/lib/api/common/paramsValidator.js +0 -136
- package/lib/api/common/requestExistingAccounts.d.ts +0 -14
- package/lib/api/common/requestExistingAccounts.js +0 -20
- package/lib/api/composeTransaction.d.ts +0 -36
- package/lib/api/composeTransaction.js +0 -404
- package/lib/api/discoverAccounts.d.ts +0 -40
- package/lib/api/discoverAccounts.js +0 -360
- package/lib/api/ethereum/api/ethereumGetAddress.d.ts +0 -30
- package/lib/api/ethereum/api/ethereumGetAddress.js +0 -150
- package/lib/api/ethereum/api/ethereumGetPublicKey.d.ts +0 -52
- package/lib/api/ethereum/api/ethereumGetPublicKey.js +0 -100
- package/lib/api/ethereum/api/ethereumSignMessage.d.ts +0 -27
- package/lib/api/ethereum/api/ethereumSignMessage.js +0 -64
- package/lib/api/ethereum/api/ethereumSignTransaction.d.ts +0 -83
- package/lib/api/ethereum/api/ethereumSignTransaction.js +0 -148
- package/lib/api/ethereum/api/ethereumSignTypedData.d.ts +0 -117
- package/lib/api/ethereum/api/ethereumSignTypedData.js +0 -203
- package/lib/api/ethereum/api/ethereumVerifyMessage.d.ts +0 -12
- package/lib/api/ethereum/api/ethereumVerifyMessage.js +0 -35
- package/lib/api/ethereum/api/index.d.ts +0 -6
- package/lib/api/ethereum/api/index.js +0 -6
- package/lib/api/ethereum/ethereumDefinitions.d.ts +0 -53
- package/lib/api/ethereum/ethereumDefinitions.js +0 -135
- package/lib/api/ethereum/ethereumSignTx.d.ts +0 -16
- package/lib/api/ethereum/ethereumSignTx.js +0 -144
- package/lib/api/ethereum/ethereumSignTypedData.d.ts +0 -32
- package/lib/api/ethereum/ethereumSignTypedData.js +0 -175
- package/lib/api/evoluGetDelegatedIdentityKey.d.ts +0 -14
- package/lib/api/evoluGetDelegatedIdentityKey.js +0 -29
- package/lib/api/evoluGetNode.d.ts +0 -13
- package/lib/api/evoluGetNode.js +0 -29
- package/lib/api/evoluSignRegistrationRequest.d.ts +0 -16
- package/lib/api/evoluSignRegistrationRequest.js +0 -33
- package/lib/api/firmware/calculateFirmwareHash.d.ts +0 -18
- package/lib/api/firmware/calculateFirmwareHash.js +0 -56
- package/lib/api/firmware/calculateXPubHash.d.ts +0 -14
- package/lib/api/firmware/calculateXPubHash.js +0 -16
- package/lib/api/firmware/getBinary.d.ts +0 -14
- package/lib/api/firmware/getBinary.js +0 -33
- package/lib/api/firmware/index.d.ts +0 -6
- package/lib/api/firmware/index.js +0 -6
- package/lib/api/firmware/modifyFirmware.d.ts +0 -3
- package/lib/api/firmware/modifyFirmware.js +0 -13
- package/lib/api/firmware/parseFirmwareHeaders.d.ts +0 -4
- package/lib/api/firmware/parseFirmwareHeaders.js +0 -26
- package/lib/api/firmware/uploadFirmware.d.ts +0 -27
- package/lib/api/firmware/uploadFirmware.js +0 -99
- package/lib/api/firmware/verifyEntropy.d.ts +0 -25
- package/lib/api/firmware/verifyEntropy.js +0 -110
- package/lib/api/getAccountInfo.d.ts +0 -21
- package/lib/api/getAccountInfo.js +0 -253
- package/lib/api/getAddress.d.ts +0 -45
- package/lib/api/getAddress.js +0 -153
- package/lib/api/getCoinInfo.d.ts +0 -148
- package/lib/api/getCoinInfo.js +0 -25
- package/lib/api/getDeviceState.d.ts +0 -8
- package/lib/api/getDeviceState.js +0 -18
- package/lib/api/getFeatures.d.ts +0 -71
- package/lib/api/getFeatures.js +0 -22
- package/lib/api/getFirmwareHash.d.ts +0 -11
- package/lib/api/getFirmwareHash.js +0 -29
- package/lib/api/getNonce.d.ts +0 -10
- package/lib/api/getNonce.js +0 -18
- package/lib/api/getOwnershipId.d.ts +0 -17
- package/lib/api/getOwnershipId.js +0 -88
- package/lib/api/getOwnershipProof.d.ts +0 -17
- package/lib/api/getOwnershipProof.js +0 -95
- package/lib/api/getPublicKey.d.ts +0 -54
- package/lib/api/getPublicKey.js +0 -106
- package/lib/api/getSettings.d.ts +0 -24
- package/lib/api/getSettings.js +0 -21
- package/lib/api/index.d.ts +0 -62
- package/lib/api/index.js +0 -62
- package/lib/api/loadDevice.d.ts +0 -16
- package/lib/api/loadDevice.js +0 -46
- package/lib/api/monero/api/index.d.ts +0 -4
- package/lib/api/monero/api/index.js +0 -4
- package/lib/api/monero/api/moneroGetAddress.d.ts +0 -32
- package/lib/api/monero/api/moneroGetAddress.js +0 -117
- package/lib/api/monero/api/moneroGetWatchKey.d.ts +0 -14
- package/lib/api/monero/api/moneroGetWatchKey.js +0 -45
- package/lib/api/monero/api/moneroKeyImageSync.d.ts +0 -17
- package/lib/api/monero/api/moneroKeyImageSync.js +0 -128
- package/lib/api/monero/api/moneroSignTransaction.d.ts +0 -17
- package/lib/api/monero/api/moneroSignTransaction.js +0 -218
- package/lib/api/nostr/nostrGetPublicKey.d.ts +0 -15
- package/lib/api/nostr/nostrGetPublicKey.js +0 -38
- package/lib/api/nostr/nostrSignEvent.d.ts +0 -13
- package/lib/api/nostr/nostrSignEvent.js +0 -36
- package/lib/api/pingDevice.d.ts +0 -11
- package/lib/api/pingDevice.js +0 -29
- package/lib/api/pushTransaction.d.ts +0 -19
- package/lib/api/pushTransaction.js +0 -39
- package/lib/api/recoveryDevice.d.ts +0 -20
- package/lib/api/recoveryDevice.js +0 -52
- package/lib/api/requestLogin.d.ts +0 -14
- package/lib/api/requestLogin.js +0 -53
- package/lib/api/resetDevice.d.ts +0 -22
- package/lib/api/resetDevice.js +0 -133
- package/lib/api/ripple/api/index.d.ts +0 -2
- package/lib/api/ripple/api/index.js +0 -2
- package/lib/api/ripple/api/rippleGetAddress.d.ts +0 -17
- package/lib/api/ripple/api/rippleGetAddress.js +0 -22
- package/lib/api/ripple/api/rippleSignTransaction.d.ts +0 -13
- package/lib/api/ripple/api/rippleSignTransaction.js +0 -52
- package/lib/api/selectAccount.d.ts +0 -15
- package/lib/api/selectAccount.js +0 -42
- package/lib/api/setBrightness.d.ts +0 -12
- package/lib/api/setBrightness.js +0 -28
- package/lib/api/setBusy.d.ts +0 -11
- package/lib/api/setBusy.js +0 -31
- package/lib/api/showDeviceTutorial.d.ts +0 -11
- package/lib/api/showDeviceTutorial.js +0 -21
- package/lib/api/signMessage.d.ts +0 -25
- package/lib/api/signMessage.js +0 -75
- package/lib/api/signTransaction.d.ts +0 -199
- package/lib/api/signTransaction.js +0 -331
- package/lib/api/solana/api/index.d.ts +0 -4
- package/lib/api/solana/api/index.js +0 -4
- package/lib/api/solana/api/solanaComposeTransaction.d.ts +0 -33
- package/lib/api/solana/api/solanaComposeTransaction.js +0 -73
- package/lib/api/solana/api/solanaGetAddress.d.ts +0 -17
- package/lib/api/solana/api/solanaGetAddress.js +0 -22
- package/lib/api/solana/api/solanaGetPublicKey.d.ts +0 -32
- package/lib/api/solana/api/solanaGetPublicKey.js +0 -86
- package/lib/api/solana/api/solanaSignTransaction.d.ts +0 -41
- package/lib/api/solana/api/solanaSignTransaction.js +0 -204
- package/lib/api/solana/solanaDefinitions.d.ts +0 -9
- package/lib/api/solana/solanaDefinitions.js +0 -33
- package/lib/api/stellar/api/index.d.ts +0 -2
- package/lib/api/stellar/api/index.js +0 -2
- package/lib/api/stellar/api/stellarGetAddress.d.ts +0 -17
- package/lib/api/stellar/api/stellarGetAddress.js +0 -22
- package/lib/api/stellar/api/stellarSignTransaction.d.ts +0 -20
- package/lib/api/stellar/api/stellarSignTransaction.js +0 -65
- package/lib/api/stellar/stellarSignTx.d.ts +0 -7
- package/lib/api/stellar/stellarSignTx.js +0 -183
- package/lib/api/telemetryGet.d.ts +0 -14
- package/lib/api/telemetryGet.js +0 -26
- package/lib/api/tezos/api/index.d.ts +0 -3
- package/lib/api/tezos/api/index.js +0 -3
- package/lib/api/tezos/api/tezosGetAddress.d.ts +0 -17
- package/lib/api/tezos/api/tezosGetAddress.js +0 -22
- package/lib/api/tezos/api/tezosGetPublicKey.d.ts +0 -28
- package/lib/api/tezos/api/tezosGetPublicKey.js +0 -84
- package/lib/api/tezos/api/tezosSignTransaction.d.ts +0 -14
- package/lib/api/tezos/api/tezosSignTransaction.js +0 -30
- package/lib/api/tezos/tezosSignTx.d.ts +0 -71
- package/lib/api/tezos/tezosSignTx.js +0 -204
- package/lib/api/thpGetCredentials.d.ts +0 -13
- package/lib/api/thpGetCredentials.js +0 -30
- package/lib/api/thpRemoveCredentials.d.ts +0 -15
- package/lib/api/thpRemoveCredentials.js +0 -44
- package/lib/api/tron/api/index.d.ts +0 -3
- package/lib/api/tron/api/index.js +0 -3
- package/lib/api/tron/api/tronComposeTransaction.d.ts +0 -17
- package/lib/api/tron/api/tronComposeTransaction.js +0 -52
- package/lib/api/tron/api/tronGetAddress.d.ts +0 -17
- package/lib/api/tron/api/tronGetAddress.js +0 -22
- package/lib/api/tron/api/tronSignTransaction.d.ts +0 -20
- package/lib/api/tron/api/tronSignTransaction.js +0 -137
- package/lib/api/tron/tronEncode.d.ts +0 -11
- package/lib/api/tron/tronEncode.js +0 -157
- package/lib/api/tron/tronProtobuf.d.ts +0 -5
- package/lib/api/tron/tronProtobuf.js +0 -28
- package/lib/api/unlockPath.d.ts +0 -12
- package/lib/api/unlockPath.js +0 -33
- package/lib/api/verifyMessage.d.ts +0 -16
- package/lib/api/verifyMessage.js +0 -46
- package/lib/api/wipeDevice.d.ts +0 -21
- package/lib/api/wipeDevice.js +0 -49
- package/lib/backend/BackendManager.d.ts +0 -30
- package/lib/backend/BackendManager.js +0 -145
- package/lib/backend/Blockchain.d.ts +0 -81
- package/lib/backend/Blockchain.js +0 -235
- package/lib/backend/BlockchainLink.d.ts +0 -10
- package/lib/backend/BlockchainLink.js +0 -19
- package/lib/backend/fees/BitcoinFeeLevels.d.ts +0 -19
- package/lib/backend/fees/BitcoinFeeLevels.js +0 -44
- package/lib/backend/fees/EthereumFeeLevels.d.ts +0 -17
- package/lib/backend/fees/EthereumFeeLevels.js +0 -63
- package/lib/backend/fees/MiscFeeLevels.d.ts +0 -18
- package/lib/backend/fees/MiscFeeLevels.js +0 -30
- package/lib/backend/fees/index.d.ts +0 -5
- package/lib/backend/fees/index.js +0 -31
- package/lib/core/AbstractMethod.d.ts +0 -63
- package/lib/core/AbstractMethod.js +0 -189
- package/lib/core/index.d.ts +0 -29
- package/lib/core/index.js +0 -805
- package/lib/core/method.d.ts +0 -3
- package/lib/core/method.js +0 -19
- package/lib/core/method.native.d.ts +0 -2
- package/lib/core/method.native.js +0 -29
- package/lib/core/onCallFirmwareUpdate.d.ts +0 -42
- package/lib/core/onCallFirmwareUpdate.js +0 -436
- package/lib/data/coinInfo.d.ts +0 -101
- package/lib/data/coinInfo.js +0 -195
- package/lib/data/config.d.ts +0 -8
- package/lib/data/config.js +0 -273
- package/lib/data/defaultFeeLevels.d.ts +0 -18
- package/lib/data/defaultFeeLevels.js +0 -200
- package/lib/data/enabledNetworksStore.d.ts +0 -5
- package/lib/data/enabledNetworksStore.js +0 -20
- package/lib/data/firmwareInfo.d.ts +0 -55
- package/lib/data/firmwareInfo.js +0 -413
- package/lib/data/firmwareReleaseStore.d.ts +0 -10
- package/lib/data/firmwareReleaseStore.js +0 -16
- package/lib/data/localFirmwareStore.d.ts +0 -3
- package/lib/data/localFirmwareStore.js +0 -8
- package/lib/data/protobufLoader.d.ts +0 -1
- package/lib/data/protobufLoader.js +0 -30
- package/lib/data/settingsStore.d.ts +0 -6
- package/lib/data/settingsStore.js +0 -21
- package/lib/device/Device.d.ts +0 -259
- package/lib/device/Device.js +0 -765
- package/lib/device/DeviceCommands.d.ts +0 -87
- package/lib/device/DeviceCommands.js +0 -248
- package/lib/device/DeviceCurrentSession.d.ts +0 -750
- package/lib/device/DeviceCurrentSession.js +0 -239
- package/lib/device/DeviceList.d.ts +0 -75
- package/lib/device/DeviceList.js +0 -243
- package/lib/device/TransportList.d.ts +0 -3
- package/lib/device/TransportList.js +0 -13
- package/lib/device/TransportManager.d.ts +0 -33
- package/lib/device/TransportManager.js +0 -144
- package/lib/device/calculateRevisionForDevice.d.ts +0 -10
- package/lib/device/calculateRevisionForDevice.js +0 -19
- package/lib/device/checkFirmwareRevision.d.ts +0 -22
- package/lib/device/checkFirmwareRevision.js +0 -104
- package/lib/device/resolveDescriptorForTaproot.d.ts +0 -17
- package/lib/device/resolveDescriptorForTaproot.js +0 -27
- package/lib/device/thp/handshake.d.ts +0 -3
- package/lib/device/thp/handshake.js +0 -100
- package/lib/device/thp/index.d.ts +0 -5
- package/lib/device/thp/index.js +0 -65
- package/lib/device/thp/pairing.d.ts +0 -16
- package/lib/device/thp/pairing.js +0 -242
- package/lib/device/thp/session.d.ts +0 -2
- package/lib/device/thp/session.js +0 -27
- package/lib/device/thp/thpCall.d.ts +0 -31
- package/lib/device/thp/thpCall.js +0 -58
- package/lib/device/validateMessageSize.d.ts +0 -2
- package/lib/device/validateMessageSize.js +0 -9
- package/lib/device/workflow/changeLanguage.d.ts +0 -18
- package/lib/device/workflow/changeLanguage.js +0 -62
- package/lib/device/workflow/checkFirmwareHash.d.ts +0 -12
- package/lib/device/workflow/checkFirmwareHash.js +0 -86
- package/lib/device/workflow/checkFirmwareHashWithRetries.d.ts +0 -8
- package/lib/device/workflow/checkFirmwareHashWithRetries.js +0 -36
- package/lib/device/workflow/handshake.d.ts +0 -13
- package/lib/device/workflow/handshake.js +0 -55
- package/lib/device/workflow/trezorPushNotification.d.ts +0 -5
- package/lib/device/workflow/trezorPushNotification.js +0 -73
- package/lib/device/workflow/validateState.d.ts +0 -2
- package/lib/device/workflow/validateState.js +0 -152
- package/lib/events/ui-promise.d.ts +0 -20
- package/lib/events/ui-promise.js +0 -1
- package/lib/impl/core-in-module.d.ts +0 -33
- package/lib/impl/core-in-module.js +0 -194
- package/lib/types/idevice.d.ts +0 -110
- package/lib/types/idevice.js +0 -1
- package/lib/types/typed-call-provider.d.ts +0 -29
- package/lib/types/typed-call-provider.js +0 -1
- package/lib/types/workflow.d.ts +0 -16
- package/lib/types/workflow.js +0 -1
- package/lib/utils/accountUtils.d.ts +0 -10
- package/lib/utils/accountUtils.js +0 -90
- package/lib/utils/addressUtils.d.ts +0 -2
- package/lib/utils/addressUtils.js +0 -24
- package/lib/utils/assetUtils.d.ts +0 -13
- package/lib/utils/assetUtils.js +0 -55
- package/lib/utils/assets.browser.d.ts +0 -1
- package/lib/utils/assets.browser.js +0 -1
- package/lib/utils/assets.d.ts +0 -2
- package/lib/utils/assets.js +0 -13
- package/lib/utils/assets.native.d.ts +0 -2
- package/lib/utils/assets.native.js +0 -23
- package/lib/utils/assetsTypes.d.ts +0 -5
- package/lib/utils/assetsTypes.js +0 -1
- package/lib/utils/buildOutputDescriptor.d.ts +0 -20
- package/lib/utils/buildOutputDescriptor.js +0 -67
- package/lib/utils/deviceFeaturesUtils.d.ts +0 -7
- package/lib/utils/deviceFeaturesUtils.js +0 -109
- package/lib/utils/ethereumUtils.d.ts +0 -3
- package/lib/utils/ethereumUtils.js +0 -7
- package/lib/utils/firmwareReleaseConfigUtils.d.ts +0 -19
- package/lib/utils/firmwareReleaseConfigUtils.js +0 -131
- package/lib/utils/firmwareUtils.d.ts +0 -15
- package/lib/utils/firmwareUtils.js +0 -57
- package/lib/utils/formatUtils.d.ts +0 -13
- package/lib/utils/formatUtils.js +0 -45
- package/lib/utils/hdnodeUtils.d.ts +0 -6
- package/lib/utils/hdnodeUtils.js +0 -62
- package/lib/utils/pathUtils.d.ts +0 -1
- package/lib/utils/pathUtils.js +0 -1
- package/lib/utils/paymentRequest.d.ts +0 -8
- package/lib/utils/paymentRequest.js +0 -25
- package/lib/utils/uiPromiseManager.d.ts +0 -8
- package/lib/utils/uiPromiseManager.js +0 -51
- package/lib/workers/workers.browser.d.ts +0 -10
- package/lib/workers/workers.browser.js +0 -16
- package/lib/workers/workers.d.ts +0 -10
- package/lib/workers/workers.js +0 -8
- package/lib/workers/workers.native.d.ts +0 -7
- package/lib/workers/workers.native.js +0 -7
package/lib/api/index.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
export { default as applyFlags } from "./applyFlags.js";
|
|
2
|
-
export { default as applySettings } from "./applySettings.js";
|
|
3
|
-
export { default as authenticateDevice } from "./authenticateDevice.js";
|
|
4
|
-
export { default as authorizeCoinjoin } from "./authorizeCoinjoin.js";
|
|
5
|
-
export { default as cancelCoinjoinAuthorization } from "./cancelCoinjoinAuthorization.js";
|
|
6
|
-
export { default as showDeviceTutorial } from "./showDeviceTutorial.js";
|
|
7
|
-
export { default as backupDevice } from "./backupDevice.js";
|
|
8
|
-
export { default as bleUnpair } from "./bleUnpair.js";
|
|
9
|
-
export { default as blockchainDisconnect } from "./blockchainDisconnect.js";
|
|
10
|
-
export { default as blockchainEstimateFee } from "./blockchainEstimateFee.js";
|
|
11
|
-
export { default as blockchainGetAccountBalanceHistory } from "./blockchainGetAccountBalanceHistory.js";
|
|
12
|
-
export { default as blockchainGetCurrentFiatRates } from "./blockchainGetCurrentFiatRates.js";
|
|
13
|
-
export { default as blockchainGetContractInfo } from "./blockchainGetContractInfo.js";
|
|
14
|
-
export { default as blockchainGetInfo } from "./blockchainGetInfo.js";
|
|
15
|
-
export { default as blockchainEvmRpcCall } from "./blockchainEvmRpcCall.js";
|
|
16
|
-
export { default as blockchainGetFiatRatesForTimestamps } from "./blockchainGetFiatRatesForTimestamps.js";
|
|
17
|
-
export { default as blockchainGetTransactions } from "./blockchainGetTransactions.js";
|
|
18
|
-
export { default as blockchainSetCustomBackend } from "./blockchainSetCustomBackend.js";
|
|
19
|
-
export { default as blockchainSubscribe } from "./blockchainSubscribe.js";
|
|
20
|
-
export { default as blockchainSubscribeFiatRates } from "./blockchainSubscribeFiatRates.js";
|
|
21
|
-
export { default as blockchainUnsubscribe } from "./blockchainUnsubscribe.js";
|
|
22
|
-
export { default as blockchainUnsubscribeFiatRates } from "./blockchainUnsubscribeFiatRates.js";
|
|
23
|
-
export { default as blockchainValidateEvmRpcUrl } from "./blockchainValidateEvmRpcUrl.js";
|
|
24
|
-
export { default as changeLanguage } from "./changeLanguage.js";
|
|
25
|
-
export { default as changePin } from "./changePin.js";
|
|
26
|
-
export { default as changeWipeCode } from "./changeWipeCode.js";
|
|
27
|
-
export { default as cipherKeyValue } from "./cipherKeyValue.js";
|
|
28
|
-
export { default as evoluGetNode } from "./evoluGetNode.js";
|
|
29
|
-
export { default as evoluSignRegistrationRequest } from "./evoluSignRegistrationRequest.js";
|
|
30
|
-
export { default as evoluGetDelegatedIdentityKey } from "./evoluGetDelegatedIdentityKey.js";
|
|
31
|
-
export { default as nostrGetPublicKey } from "./nostr/nostrGetPublicKey.js";
|
|
32
|
-
export { default as nostrSignEvent } from "./nostr/nostrSignEvent.js";
|
|
33
|
-
export { default as composeTransaction } from "./composeTransaction.js";
|
|
34
|
-
export { default as discoverAccounts } from "./discoverAccounts.js";
|
|
35
|
-
export { default as getAccountInfo } from "./getAccountInfo.js";
|
|
36
|
-
export { default as getAddress } from "./getAddress.js";
|
|
37
|
-
export { default as getCoinInfo } from "./getCoinInfo.js";
|
|
38
|
-
export { default as getDeviceState } from "./getDeviceState.js";
|
|
39
|
-
export { default as getFeatures } from "./getFeatures.js";
|
|
40
|
-
export { default as getFirmwareHash } from "./getFirmwareHash.js";
|
|
41
|
-
export { default as getNonce } from "./getNonce.js";
|
|
42
|
-
export { default as getOwnershipId } from "./getOwnershipId.js";
|
|
43
|
-
export { default as getOwnershipProof } from "./getOwnershipProof.js";
|
|
44
|
-
export { default as getPublicKey } from "./getPublicKey.js";
|
|
45
|
-
export { default as getSettings } from "./getSettings.js";
|
|
46
|
-
export { default as pingDevice } from "./pingDevice.js";
|
|
47
|
-
export { default as pushTransaction } from "./pushTransaction.js";
|
|
48
|
-
export { default as recoveryDevice } from "./recoveryDevice.js";
|
|
49
|
-
export { default as requestLogin } from "./requestLogin.js";
|
|
50
|
-
export { default as resetDevice } from "./resetDevice.js";
|
|
51
|
-
export { default as loadDevice } from "./loadDevice.js";
|
|
52
|
-
export { default as selectAccount } from "./selectAccount.js";
|
|
53
|
-
export { default as setBrightness } from "./setBrightness.js";
|
|
54
|
-
export { default as setBusy } from "./setBusy.js";
|
|
55
|
-
export { default as signMessage } from "./signMessage.js";
|
|
56
|
-
export { default as signTransaction } from "./signTransaction.js";
|
|
57
|
-
export { default as unlockPath } from "./unlockPath.js";
|
|
58
|
-
export { default as telemetryGet } from "./telemetryGet.js";
|
|
59
|
-
export { default as thpGetCredentials } from "./thpGetCredentials.js";
|
|
60
|
-
export { default as thpRemoveCredentials } from "./thpRemoveCredentials.js";
|
|
61
|
-
export { default as verifyMessage } from "./verifyMessage.js";
|
|
62
|
-
export { default as wipeDevice } from "./wipeDevice.js";
|
package/lib/api/loadDevice.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
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 LoadDevice extends AbstractMethod<'loadDevice', PROTO.LoadDevice> {
|
|
6
|
-
constructor(message: MethodMessage<'loadDevice'>);
|
|
7
|
-
get requiredPermissions(): PermissionRequest[];
|
|
8
|
-
get info(): string;
|
|
9
|
-
get confirmation(): {
|
|
10
|
-
view: "device-management";
|
|
11
|
-
label: string;
|
|
12
|
-
};
|
|
13
|
-
run(): Promise<{
|
|
14
|
-
message: string;
|
|
15
|
-
}>;
|
|
16
|
-
}
|
package/lib/api/loadDevice.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { UI_REQUEST } from "@trezor/connect-common";
|
|
2
|
-
import { MessagesSchema as PROTO } from "@trezor/protobuf";
|
|
3
|
-
import { Assert } from "@trezor/schema-utils";
|
|
4
|
-
import { AbstractMethod } from "../core/AbstractMethod.js";
|
|
5
|
-
export default class LoadDevice extends AbstractMethod {
|
|
6
|
-
constructor(message) {
|
|
7
|
-
const {
|
|
8
|
-
payload
|
|
9
|
-
} = message;
|
|
10
|
-
Assert(PROTO.LoadDevice, payload);
|
|
11
|
-
const params = {
|
|
12
|
-
mnemonics: payload.mnemonics,
|
|
13
|
-
pin: payload.pin,
|
|
14
|
-
passphrase_protection: payload.passphrase_protection,
|
|
15
|
-
language: payload.language,
|
|
16
|
-
label: payload.label,
|
|
17
|
-
skip_checksum: payload.skip_checksum,
|
|
18
|
-
u2f_counter: payload.u2f_counter,
|
|
19
|
-
needs_backup: payload.needs_backup,
|
|
20
|
-
no_backup: payload.no_backup
|
|
21
|
-
};
|
|
22
|
-
super(message, params);
|
|
23
|
-
this.allowDeviceMode = [UI_REQUEST.INITIALIZE];
|
|
24
|
-
this.useDeviceState = false;
|
|
25
|
-
this.skipFinalReload = false;
|
|
26
|
-
}
|
|
27
|
-
get requiredPermissions() {
|
|
28
|
-
return [{
|
|
29
|
-
permission: 'management'
|
|
30
|
-
}];
|
|
31
|
-
}
|
|
32
|
-
get info() {
|
|
33
|
-
return 'Load seed and related internal settings.';
|
|
34
|
-
}
|
|
35
|
-
get confirmation() {
|
|
36
|
-
return {
|
|
37
|
-
view: 'device-management',
|
|
38
|
-
label: 'Do you really you want to load device?'
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
async run() {
|
|
42
|
-
const cmd = this.getDevice().getCommands();
|
|
43
|
-
const response = await cmd.typedCall('LoadDevice', 'Success', this.params);
|
|
44
|
-
return response.message;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export { default as moneroGetAddress } from "./moneroGetAddress.js";
|
|
2
|
-
export { default as moneroGetWatchKey } from "./moneroGetWatchKey.js";
|
|
3
|
-
export { default as moneroKeyImageSync } from "./moneroKeyImageSync.js";
|
|
4
|
-
export { default as moneroSignTransaction } from "./moneroSignTransaction.js";
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export { default as moneroGetAddress } from "./moneroGetAddress.js";
|
|
2
|
-
export { default as moneroGetWatchKey } from "./moneroGetWatchKey.js";
|
|
3
|
-
export { default as moneroKeyImageSync } from "./moneroKeyImageSync.js";
|
|
4
|
-
export { default as moneroSignTransaction } from "./moneroSignTransaction.js";
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { type PermissionRequest } from '@trezor/connect-common';
|
|
2
|
-
import type { Address } from '@trezor/connect-common/lib/types/params';
|
|
3
|
-
import { MessagesSchema as PROTO } from '@trezor/protobuf';
|
|
4
|
-
import type { MethodMessage } from "../../../core/AbstractMethod.js";
|
|
5
|
-
import { AbstractMethod } from "../../../core/AbstractMethod.js";
|
|
6
|
-
type Params = {
|
|
7
|
-
proto: PROTO.MoneroGetAddress;
|
|
8
|
-
address?: string;
|
|
9
|
-
};
|
|
10
|
-
export default class MoneroGetAddress extends AbstractMethod<'moneroGetAddress', Params[]> {
|
|
11
|
-
hasBundle?: boolean;
|
|
12
|
-
progress: number;
|
|
13
|
-
constructor(message: MethodMessage<'moneroGetAddress'>);
|
|
14
|
-
get requiredPermissions(): PermissionRequest[];
|
|
15
|
-
get info(): string;
|
|
16
|
-
getButtonRequestData(code: string): {
|
|
17
|
-
type: "address";
|
|
18
|
-
serializedPath: string;
|
|
19
|
-
address: string;
|
|
20
|
-
} | undefined;
|
|
21
|
-
get confirmation(): {
|
|
22
|
-
view: "export-address";
|
|
23
|
-
label: string;
|
|
24
|
-
};
|
|
25
|
-
_call({
|
|
26
|
-
proto
|
|
27
|
-
}: Params): Promise<{
|
|
28
|
-
address: string;
|
|
29
|
-
}>;
|
|
30
|
-
run(): Promise<Address | Address[]>;
|
|
31
|
-
}
|
|
32
|
-
export {};
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { ERRORS } from "@trezor/connect-common/lib/constants/index.js";
|
|
2
|
-
import { HD_HARDENED_PATH_PART } from "@trezor/crypto-utils";
|
|
3
|
-
import { MessagesSchema as PROTO } from "@trezor/protobuf";
|
|
4
|
-
import { AbstractMethod } from "../../../core/AbstractMethod.js";
|
|
5
|
-
import { getMiscNetwork } from "../../../data/coinInfo.js";
|
|
6
|
-
import { getSerializedPath, validatePath } from "../../../utils/pathUtils.js";
|
|
7
|
-
import { bundlify } from "../../common/paramsValidator.js";
|
|
8
|
-
export default class MoneroGetAddress extends AbstractMethod {
|
|
9
|
-
hasBundle;
|
|
10
|
-
progress = 0;
|
|
11
|
-
constructor(message) {
|
|
12
|
-
const {
|
|
13
|
-
hasBundle,
|
|
14
|
-
payload
|
|
15
|
-
} = bundlify(message.payload);
|
|
16
|
-
const params = payload.bundle.map(batch => {
|
|
17
|
-
const path = validatePath(batch.path, 3);
|
|
18
|
-
const allHardened = path.every(component => (component & HD_HARDENED_PATH_PART) !== 0);
|
|
19
|
-
if (!allHardened) {
|
|
20
|
-
throw ERRORS.TypedError('Method_InvalidParameter', `Monero requires all path components to be hardened. Use m/44'/128'/0' format.`);
|
|
21
|
-
}
|
|
22
|
-
const proto = {
|
|
23
|
-
address_n: path,
|
|
24
|
-
show_display: typeof batch.showOnTrezor === 'boolean' ? batch.showOnTrezor : true,
|
|
25
|
-
network_type: batch.networkType || PROTO.MoneroNetworkType.MAINNET,
|
|
26
|
-
account: batch.account,
|
|
27
|
-
minor: batch.minor,
|
|
28
|
-
payment_id: batch.paymentId,
|
|
29
|
-
chunkify: typeof batch.chunkify === 'boolean' ? batch.chunkify : false
|
|
30
|
-
};
|
|
31
|
-
return {
|
|
32
|
-
proto,
|
|
33
|
-
address: batch.address
|
|
34
|
-
};
|
|
35
|
-
});
|
|
36
|
-
super(message, params);
|
|
37
|
-
this.hasBundle = hasBundle;
|
|
38
|
-
this.confirmMissingBackup = true;
|
|
39
|
-
this.requiredDeviceCapabilities = ['Capability_Monero'];
|
|
40
|
-
this.requiredFirmwareCoins = [getMiscNetwork('xmr')];
|
|
41
|
-
}
|
|
42
|
-
get requiredPermissions() {
|
|
43
|
-
return this.coinPerms('read_address', this.requiredFirmwareCoins);
|
|
44
|
-
}
|
|
45
|
-
get info() {
|
|
46
|
-
return 'Export Monero address';
|
|
47
|
-
}
|
|
48
|
-
getButtonRequestData(code) {
|
|
49
|
-
if (code === 'ButtonRequest_Address') {
|
|
50
|
-
const {
|
|
51
|
-
params
|
|
52
|
-
} = this;
|
|
53
|
-
const current = params[this.progress];
|
|
54
|
-
const {
|
|
55
|
-
proto,
|
|
56
|
-
address
|
|
57
|
-
} = current;
|
|
58
|
-
return {
|
|
59
|
-
type: 'address',
|
|
60
|
-
serializedPath: getSerializedPath(proto.address_n),
|
|
61
|
-
address: address || 'not-set'
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
get confirmation() {
|
|
66
|
-
return {
|
|
67
|
-
view: 'export-address',
|
|
68
|
-
label: this.info
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
async _call({
|
|
72
|
-
proto
|
|
73
|
-
}) {
|
|
74
|
-
const cmd = this.getDevice().getCommands();
|
|
75
|
-
const response = await cmd.typedCall('MoneroGetAddress', 'MoneroAddress', proto);
|
|
76
|
-
const addressHex = response.message.address;
|
|
77
|
-
const addressBytes = Buffer.from(addressHex, 'hex');
|
|
78
|
-
const address = addressBytes.toString('utf8');
|
|
79
|
-
return {
|
|
80
|
-
address
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
async run() {
|
|
84
|
-
const responses = [];
|
|
85
|
-
for (let i = 0; i < this.params.length; i++) {
|
|
86
|
-
const {
|
|
87
|
-
params
|
|
88
|
-
} = this;
|
|
89
|
-
const batch = params[i];
|
|
90
|
-
if (batch.proto.show_display) {
|
|
91
|
-
const silent = await this._call({
|
|
92
|
-
...batch,
|
|
93
|
-
proto: {
|
|
94
|
-
...batch.proto,
|
|
95
|
-
show_display: false
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
if (typeof batch.address === 'string') {
|
|
99
|
-
if (batch.address !== silent.address) {
|
|
100
|
-
throw ERRORS.TypedError('Method_AddressNotMatch');
|
|
101
|
-
}
|
|
102
|
-
} else {
|
|
103
|
-
batch.address = silent.address;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
const response = await this._call(batch);
|
|
107
|
-
responses.push({
|
|
108
|
-
address: response.address,
|
|
109
|
-
path: batch.proto.address_n,
|
|
110
|
-
serializedPath: getSerializedPath(batch.proto.address_n)
|
|
111
|
-
});
|
|
112
|
-
this.progress++;
|
|
113
|
-
}
|
|
114
|
-
const first = responses[0];
|
|
115
|
-
return this.hasBundle ? responses : first;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { MoneroWatchKey, 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
|
-
type Params = {
|
|
6
|
-
proto: PROTO.MoneroGetWatchKey;
|
|
7
|
-
};
|
|
8
|
-
export default class MoneroGetWatchKeyMethod extends AbstractMethod<'moneroGetWatchKey', Params> {
|
|
9
|
-
constructor(message: MethodMessage<'moneroGetWatchKey'>);
|
|
10
|
-
get requiredPermissions(): PermissionRequest[];
|
|
11
|
-
get info(): string;
|
|
12
|
-
run(): Promise<MoneroWatchKey>;
|
|
13
|
-
}
|
|
14
|
-
export {};
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { ERRORS } from "@trezor/connect-common/lib/constants/index.js";
|
|
2
|
-
import { HD_HARDENED_PATH_PART } from "@trezor/crypto-utils";
|
|
3
|
-
import { MessagesSchema as PROTO } from "@trezor/protobuf";
|
|
4
|
-
import { AbstractMethod } from "../../../core/AbstractMethod.js";
|
|
5
|
-
import { getMiscNetwork } from "../../../data/coinInfo.js";
|
|
6
|
-
import { validatePath } from "../../../utils/pathUtils.js";
|
|
7
|
-
export default class MoneroGetWatchKeyMethod extends AbstractMethod {
|
|
8
|
-
constructor(message) {
|
|
9
|
-
const {
|
|
10
|
-
payload
|
|
11
|
-
} = message;
|
|
12
|
-
const path = validatePath(payload.path, 3);
|
|
13
|
-
const allHardened = path.every(component => (component & HD_HARDENED_PATH_PART) !== 0);
|
|
14
|
-
if (!allHardened) {
|
|
15
|
-
throw ERRORS.TypedError('Method_InvalidParameter', `Monero requires all path components to be hardened. Use m/44'/128'/0' format.`);
|
|
16
|
-
}
|
|
17
|
-
const proto = {
|
|
18
|
-
address_n: path,
|
|
19
|
-
network_type: payload.networkType || PROTO.MoneroNetworkType.MAINNET
|
|
20
|
-
};
|
|
21
|
-
const params = {
|
|
22
|
-
proto
|
|
23
|
-
};
|
|
24
|
-
super(message, params);
|
|
25
|
-
this.requiredDeviceCapabilities = ['Capability_Monero'];
|
|
26
|
-
this.requiredFirmwareCoins = [getMiscNetwork('xmr')];
|
|
27
|
-
}
|
|
28
|
-
get requiredPermissions() {
|
|
29
|
-
return this.coinPerms('read_xpub', this.requiredFirmwareCoins);
|
|
30
|
-
}
|
|
31
|
-
get info() {
|
|
32
|
-
return 'Export Monero watch-only credentials';
|
|
33
|
-
}
|
|
34
|
-
async run() {
|
|
35
|
-
const cmd = this.getDevice().getCommands();
|
|
36
|
-
const response = await cmd.typedCall('MoneroGetWatchKey', 'MoneroWatchKey', this.params.proto);
|
|
37
|
-
const addressHex = response.message.address;
|
|
38
|
-
const addressBytes = Buffer.from(addressHex, 'hex');
|
|
39
|
-
const address = addressBytes.toString('utf8');
|
|
40
|
-
return {
|
|
41
|
-
watch_key: response.message.watch_key,
|
|
42
|
-
address
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { MoneroKeyImageSyncResult, 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
|
-
type Params = {
|
|
6
|
-
address_n: number[];
|
|
7
|
-
network_type: PROTO.MoneroNetworkType;
|
|
8
|
-
subs: PROTO.MoneroSubAddressIndicesList[];
|
|
9
|
-
tdis: PROTO.MoneroTransferDetails[];
|
|
10
|
-
};
|
|
11
|
-
export default class MoneroKeyImageSyncMethod extends AbstractMethod<'moneroKeyImageSync', Params> {
|
|
12
|
-
constructor(message: MethodMessage<'moneroKeyImageSync'>);
|
|
13
|
-
get requiredPermissions(): PermissionRequest[];
|
|
14
|
-
get info(): string;
|
|
15
|
-
run(): Promise<MoneroKeyImageSyncResult>;
|
|
16
|
-
}
|
|
17
|
-
export {};
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import { keccak_256 } from "@noble/hashes/sha3.js";
|
|
2
|
-
import { hexToBytes } from "@noble/hashes/utils.js";
|
|
3
|
-
import { ERRORS } from "@trezor/connect-common/lib/constants/index.js";
|
|
4
|
-
import { HD_HARDENED_PATH_PART } from "@trezor/crypto-utils";
|
|
5
|
-
import { MessagesSchema as PROTO } from "@trezor/protobuf";
|
|
6
|
-
import { AbstractMethod } from "../../../core/AbstractMethod.js";
|
|
7
|
-
import { getMiscNetwork } from "../../../data/coinInfo.js";
|
|
8
|
-
import { validatePath } from "../../../utils/pathUtils.js";
|
|
9
|
-
function encodeVarint(n) {
|
|
10
|
-
const bytes = [];
|
|
11
|
-
while (n >= 0x80) {
|
|
12
|
-
bytes.push(n & 0x7f | 0x80);
|
|
13
|
-
n >>= 7;
|
|
14
|
-
}
|
|
15
|
-
bytes.push(n & 0x7f);
|
|
16
|
-
return new Uint8Array(bytes);
|
|
17
|
-
}
|
|
18
|
-
export default class MoneroKeyImageSyncMethod extends AbstractMethod {
|
|
19
|
-
constructor(message) {
|
|
20
|
-
const {
|
|
21
|
-
payload
|
|
22
|
-
} = message;
|
|
23
|
-
const path = validatePath(payload.path, 3);
|
|
24
|
-
const allHardened = path.every(component => (component & HD_HARDENED_PATH_PART) !== 0);
|
|
25
|
-
if (!allHardened) {
|
|
26
|
-
throw ERRORS.TypedError('Method_InvalidParameter', `Monero requires all path components to be hardened. Use m/44'/128'/0' format.`);
|
|
27
|
-
}
|
|
28
|
-
if (!payload.tdis || payload.tdis.length === 0) {
|
|
29
|
-
throw ERRORS.TypedError('Method_InvalidParameter', 'tdis (transfer details) array is required and cannot be empty');
|
|
30
|
-
}
|
|
31
|
-
const tdis = payload.tdis.map((tdi, index) => {
|
|
32
|
-
if (tdi.out_key.length !== 64) {
|
|
33
|
-
throw ERRORS.TypedError('Method_InvalidParameter', `Invalid out_key length at index ${index}: expected 64 hex characters, got ${tdi.out_key.length}`);
|
|
34
|
-
}
|
|
35
|
-
if (tdi.tx_pub_key.length !== 64) {
|
|
36
|
-
throw ERRORS.TypedError('Method_InvalidParameter', `Invalid tx_pub_key length at index ${index}: expected 64 hex characters, got ${tdi.tx_pub_key.length}`);
|
|
37
|
-
}
|
|
38
|
-
let additionalKeys = [];
|
|
39
|
-
const addlKeys = tdi.additional_tx_pub_keys;
|
|
40
|
-
if (addlKeys) {
|
|
41
|
-
if (Array.isArray(addlKeys)) {
|
|
42
|
-
additionalKeys = addlKeys;
|
|
43
|
-
} else if (typeof addlKeys === 'string') {
|
|
44
|
-
const trimmed = addlKeys.trim();
|
|
45
|
-
if (trimmed) {
|
|
46
|
-
additionalKeys = trimmed.split(',').map(k => k.trim());
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
additionalKeys.forEach((key, keyIndex) => {
|
|
51
|
-
if (key && key.length !== 64) {
|
|
52
|
-
throw ERRORS.TypedError('Method_InvalidParameter', `Invalid additional_tx_pub_keys[${keyIndex}] length at tdi index ${index}: expected 64 hex characters, got ${key.length}`);
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
return {
|
|
56
|
-
out_key: hexToBytes(tdi.out_key),
|
|
57
|
-
tx_pub_key: hexToBytes(tdi.tx_pub_key),
|
|
58
|
-
additional_tx_pub_keys: additionalKeys.map(k => hexToBytes(k)),
|
|
59
|
-
internal_output_index: tdi.internal_output_index,
|
|
60
|
-
sub_addr_major: tdi.sub_addr_major,
|
|
61
|
-
sub_addr_minor: tdi.sub_addr_minor
|
|
62
|
-
};
|
|
63
|
-
});
|
|
64
|
-
const params = {
|
|
65
|
-
address_n: path,
|
|
66
|
-
network_type: payload.networkType || PROTO.MoneroNetworkType.MAINNET,
|
|
67
|
-
subs: payload.subs || [],
|
|
68
|
-
tdis
|
|
69
|
-
};
|
|
70
|
-
super(message, params);
|
|
71
|
-
this.requiredDeviceCapabilities = ['Capability_Monero'];
|
|
72
|
-
this.requiredFirmwareCoins = [getMiscNetwork('xmr')];
|
|
73
|
-
}
|
|
74
|
-
get requiredPermissions() {
|
|
75
|
-
return this.coinPerms('read_account_info', this.requiredFirmwareCoins);
|
|
76
|
-
}
|
|
77
|
-
get info() {
|
|
78
|
-
return 'Export Monero key images for spent output tracking';
|
|
79
|
-
}
|
|
80
|
-
async run() {
|
|
81
|
-
const cmd = this.getDevice().getCommands();
|
|
82
|
-
const tdHashes = [];
|
|
83
|
-
for (const tdi of this.params.tdis) {
|
|
84
|
-
const kck = keccak_256.create();
|
|
85
|
-
kck.update(tdi.out_key);
|
|
86
|
-
kck.update(tdi.tx_pub_key);
|
|
87
|
-
if (tdi.additional_tx_pub_keys && tdi.additional_tx_pub_keys.length > 0) {
|
|
88
|
-
for (const addKey of tdi.additional_tx_pub_keys) {
|
|
89
|
-
kck.update(addKey);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
const indexVarint = encodeVarint(tdi.internal_output_index);
|
|
93
|
-
kck.update(indexVarint);
|
|
94
|
-
tdHashes.push(kck.digest());
|
|
95
|
-
}
|
|
96
|
-
const finalKck = keccak_256.create();
|
|
97
|
-
for (const hash of tdHashes) {
|
|
98
|
-
finalKck.update(hash);
|
|
99
|
-
}
|
|
100
|
-
const hashBytes = finalKck.digest();
|
|
101
|
-
const numOutputs = this.params.tdis.length;
|
|
102
|
-
await cmd.typedCall('MoneroKeyImageExportInitRequest', 'MoneroKeyImageExportInitAck', {
|
|
103
|
-
num: numOutputs,
|
|
104
|
-
hash: hashBytes,
|
|
105
|
-
address_n: this.params.address_n,
|
|
106
|
-
network_type: this.params.network_type,
|
|
107
|
-
subs: this.params.subs
|
|
108
|
-
});
|
|
109
|
-
const allKeyImages = [];
|
|
110
|
-
const stepResponse = await cmd.typedCall('MoneroKeyImageSyncStepRequest', 'MoneroKeyImageSyncStepAck', {
|
|
111
|
-
tdis: this.params.tdis
|
|
112
|
-
});
|
|
113
|
-
allKeyImages.push(...stepResponse.message.kis);
|
|
114
|
-
const finalResponse = await cmd.typedCall('MoneroKeyImageSyncFinalRequest', 'MoneroKeyImageSyncFinalAck', {});
|
|
115
|
-
const encKey = finalResponse.message.enc_key;
|
|
116
|
-
if (!encKey) {
|
|
117
|
-
throw ERRORS.TypedError('Runtime', 'Device did not return encryption key for key images');
|
|
118
|
-
}
|
|
119
|
-
const keyImages = allKeyImages.map(ki => ({
|
|
120
|
-
iv: ki.iv || '',
|
|
121
|
-
key_image: ki.blob || ''
|
|
122
|
-
}));
|
|
123
|
-
return {
|
|
124
|
-
key_images: keyImages,
|
|
125
|
-
signature: encKey
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { PROTO, PermissionRequest } from '@trezor/connect-common';
|
|
2
|
-
import type { MethodMessage, MethodReturnType } from "../../../core/AbstractMethod.js";
|
|
3
|
-
import { AbstractMethod } from "../../../core/AbstractMethod.js";
|
|
4
|
-
type Params = {
|
|
5
|
-
address_n: number[];
|
|
6
|
-
network_type: PROTO.MoneroNetworkType;
|
|
7
|
-
tsx_data: PROTO.MoneroTransactionData;
|
|
8
|
-
inputs: PROTO.MoneroTransactionSourceEntry[];
|
|
9
|
-
};
|
|
10
|
-
export default class MoneroSignTransactionMethod extends AbstractMethod<'moneroSignTransaction', Params> {
|
|
11
|
-
get requiredPermissions(): PermissionRequest[];
|
|
12
|
-
private state;
|
|
13
|
-
constructor(message: MethodMessage<'moneroSignTransaction'>);
|
|
14
|
-
get info(): string;
|
|
15
|
-
run(): Promise<MethodReturnType<typeof this.name>>;
|
|
16
|
-
}
|
|
17
|
-
export {};
|