@trezor/connect 9.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/LICENSE.md +50 -0
- package/README.md +38 -0
- package/lib/api/applyFlags.d.ts +8 -0
- package/lib/api/applyFlags.js +37 -0
- package/lib/api/applySettings.d.ts +8 -0
- package/lib/api/applySettings.js +57 -0
- package/lib/api/authorizeCoinJoin.d.ts +7 -0
- package/lib/api/authorizeCoinJoin.js +45 -0
- package/lib/api/backupDevice.d.ts +7 -0
- package/lib/api/backupDevice.js +31 -0
- package/lib/api/binance/binanceSignTx.d.ts +6 -0
- package/lib/api/binance/binanceSignTx.js +91 -0
- package/lib/api/binanceGetAddress.d.ts +22 -0
- package/lib/api/binanceGetAddress.js +126 -0
- package/lib/api/binanceGetPublicKey.d.ts +10 -0
- package/lib/api/binanceGetPublicKey.js +72 -0
- package/lib/api/binanceSignTransaction.d.ts +12 -0
- package/lib/api/binanceSignTransaction.js +31 -0
- package/lib/api/bitcoin/Fees.d.ts +15 -0
- package/lib/api/bitcoin/Fees.js +175 -0
- package/lib/api/bitcoin/TransactionComposer.d.ts +36 -0
- package/lib/api/bitcoin/TransactionComposer.js +150 -0
- package/lib/api/bitcoin/__fixtures__/inputs.d.ts +112 -0
- package/lib/api/bitcoin/__fixtures__/inputs.js +102 -0
- package/lib/api/bitcoin/__fixtures__/signtxVerify.d.ts +147 -0
- package/lib/api/bitcoin/__fixtures__/signtxVerify.js +216 -0
- package/lib/api/bitcoin/enhanceSignTx.d.ts +4 -0
- package/lib/api/bitcoin/enhanceSignTx.js +63 -0
- package/lib/api/bitcoin/index.d.ts +10 -0
- package/lib/api/bitcoin/index.js +13 -0
- package/lib/api/bitcoin/inputs.d.ts +8 -0
- package/lib/api/bitcoin/inputs.js +60 -0
- package/lib/api/bitcoin/outputs.d.ts +8 -0
- package/lib/api/bitcoin/outputs.js +115 -0
- package/lib/api/bitcoin/refTx.d.ts +11 -0
- package/lib/api/bitcoin/refTx.js +220 -0
- package/lib/api/bitcoin/signtx.d.ts +25 -0
- package/lib/api/bitcoin/signtx.js +164 -0
- package/lib/api/bitcoin/signtxLegacy.d.ts +4 -0
- package/lib/api/bitcoin/signtxLegacy.js +136 -0
- package/lib/api/bitcoin/signtxVerify.d.ts +8 -0
- package/lib/api/bitcoin/signtxVerify.js +130 -0
- package/lib/api/blockchainDisconnect.d.ts +13 -0
- package/lib/api/blockchainDisconnect.js +34 -0
- package/lib/api/blockchainEstimateFee.d.ts +12 -0
- package/lib/api/blockchainEstimateFee.js +70 -0
- package/lib/api/blockchainGetAccountBalanceHistory.d.ts +12 -0
- package/lib/api/blockchainGetAccountBalanceHistory.js +41 -0
- package/lib/api/blockchainGetCurrentFiatRates.d.ts +15 -0
- package/lib/api/blockchainGetCurrentFiatRates.js +33 -0
- package/lib/api/blockchainGetFiatRatesForTimestamps.d.ts +17 -0
- package/lib/api/blockchainGetFiatRatesForTimestamps.js +33 -0
- package/lib/api/blockchainGetTransactions.d.ts +12 -0
- package/lib/api/blockchainGetTransactions.js +33 -0
- package/lib/api/blockchainSetCustomBackend.d.ts +11 -0
- package/lib/api/blockchainSetCustomBackend.js +38 -0
- package/lib/api/blockchainSubscribe.d.ts +14 -0
- package/lib/api/blockchainSubscribe.js +38 -0
- package/lib/api/blockchainSubscribeFiatRates.d.ts +14 -0
- package/lib/api/blockchainSubscribeFiatRates.js +33 -0
- package/lib/api/blockchainUnsubscribe.d.ts +14 -0
- package/lib/api/blockchainUnsubscribe.js +38 -0
- package/lib/api/blockchainUnsubscribeFiatRates.d.ts +13 -0
- package/lib/api/blockchainUnsubscribeFiatRates.js +29 -0
- package/lib/api/cardano/cardanoAddressParameters.d.ts +8 -0
- package/lib/api/cardano/cardanoAddressParameters.js +100 -0
- package/lib/api/cardano/cardanoAuxiliaryData.d.ts +6 -0
- package/lib/api/cardano/cardanoAuxiliaryData.js +51 -0
- package/lib/api/cardano/cardanoCertificate.d.ts +14 -0
- package/lib/api/cardano/cardanoCertificate.js +149 -0
- package/lib/api/cardano/cardanoInputs.d.ts +13 -0
- package/lib/api/cardano/cardanoInputs.js +34 -0
- package/lib/api/cardano/cardanoOutputs.d.ts +8 -0
- package/lib/api/cardano/cardanoOutputs.js +38 -0
- package/lib/api/cardano/cardanoTokenBundle.d.ts +8 -0
- package/lib/api/cardano/cardanoTokenBundle.js +36 -0
- package/lib/api/cardano/cardanoWitnesses.d.ts +5 -0
- package/lib/api/cardano/cardanoWitnesses.js +48 -0
- package/lib/api/cardanoGetAddress.d.ts +23 -0
- package/lib/api/cardanoGetAddress.js +158 -0
- package/lib/api/cardanoGetNativeScriptHash.d.ts +12 -0
- package/lib/api/cardanoGetNativeScriptHash.js +79 -0
- package/lib/api/cardanoGetPublicKey.d.ts +10 -0
- package/lib/api/cardanoGetPublicKey.js +78 -0
- package/lib/api/cardanoSignTransaction.d.ts +48 -0
- package/lib/api/cardanoSignTransaction.js +283 -0
- package/lib/api/changePin.d.ts +7 -0
- package/lib/api/changePin.js +22 -0
- package/lib/api/cipherKeyValue.d.ts +8 -0
- package/lib/api/cipherKeyValue.js +56 -0
- package/lib/api/common/Discovery.d.ts +35 -0
- package/lib/api/common/Discovery.js +113 -0
- package/lib/api/common/__fixtures__/paramsValidator.d.ts +596 -0
- package/lib/api/common/__fixtures__/paramsValidator.js +355 -0
- package/lib/api/common/paramsValidator.d.ts +14 -0
- package/lib/api/common/paramsValidator.js +140 -0
- package/lib/api/composeTransaction.d.ts +33 -0
- package/lib/api/composeTransaction.js +270 -0
- package/lib/api/customMessage.d.ts +13 -0
- package/lib/api/customMessage.js +56 -0
- package/lib/api/eos/eosSignTx.d.ts +17 -0
- package/lib/api/eos/eosSignTx.js +347 -0
- package/lib/api/eosGetPublicKey.d.ts +10 -0
- package/lib/api/eosGetPublicKey.js +73 -0
- package/lib/api/eosSignTransaction.d.ts +16 -0
- package/lib/api/eosSignTransaction.js +36 -0
- package/lib/api/ethereum/__fixtures__/ethereumSignTypedData.d.ts +225 -0
- package/lib/api/ethereum/__fixtures__/ethereumSignTypedData.js +341 -0
- package/lib/api/ethereum/ethereumSignTx.d.ts +13 -0
- package/lib/api/ethereum/ethereumSignTx.js +92 -0
- package/lib/api/ethereum/ethereumSignTypedData.d.ts +9 -0
- package/lib/api/ethereum/ethereumSignTypedData.js +120 -0
- package/lib/api/ethereumGetAddress.d.ts +28 -0
- package/lib/api/ethereumGetAddress.js +133 -0
- package/lib/api/ethereumGetPublicKey.d.ts +15 -0
- package/lib/api/ethereumGetPublicKey.js +79 -0
- package/lib/api/ethereumSignMessage.d.ts +7 -0
- package/lib/api/ethereumSignMessage.js +41 -0
- package/lib/api/ethereumSignTransaction.d.ts +20 -0
- package/lib/api/ethereumSignTransaction.js +82 -0
- package/lib/api/ethereumSignTypedData.d.ts +14 -0
- package/lib/api/ethereumSignTypedData.js +151 -0
- package/lib/api/ethereumVerifyMessage.d.ts +7 -0
- package/lib/api/ethereumVerifyMessage.js +34 -0
- package/lib/api/firmware/getBinary.d.ts +20 -0
- package/lib/api/firmware/getBinary.js +37 -0
- package/lib/api/firmware/modifyFirmware.d.ts +6 -0
- package/lib/api/firmware/modifyFirmware.js +18 -0
- package/lib/api/firmwareUpdate.d.ts +15 -0
- package/lib/api/firmwareUpdate.js +89 -0
- package/lib/api/getAccountInfo.d.ts +98 -0
- package/lib/api/getAccountInfo.js +326 -0
- package/lib/api/getAddress.d.ts +28 -0
- package/lib/api/getAddress.js +152 -0
- package/lib/api/getCoinInfo.d.ts +11 -0
- package/lib/api/getCoinInfo.js +27 -0
- package/lib/api/getDeviceState.d.ts +8 -0
- package/lib/api/getDeviceState.js +15 -0
- package/lib/api/getFeatures.d.ts +6 -0
- package/lib/api/getFeatures.js +18 -0
- package/lib/api/getOwnershipId.d.ts +10 -0
- package/lib/api/getOwnershipId.js +75 -0
- package/lib/api/getOwnershipProof.d.ts +14 -0
- package/lib/api/getOwnershipProof.js +86 -0
- package/lib/api/getPublicKey.d.ts +15 -0
- package/lib/api/getPublicKey.js +84 -0
- package/lib/api/getSettings.d.ts +6 -0
- package/lib/api/getSettings.js +16 -0
- package/lib/api/index.d.ts +64 -0
- package/lib/api/index.js +134 -0
- package/lib/api/management/uploadFirmware.d.ts +6 -0
- package/lib/api/management/uploadFirmware.js +49 -0
- package/lib/api/nem/nemSignTx.d.ts +4 -0
- package/lib/api/nem/nemSignTx.js +139 -0
- package/lib/api/nemGetAddress.d.ts +22 -0
- package/lib/api/nemGetAddress.js +144 -0
- package/lib/api/nemSignTransaction.d.ts +7 -0
- package/lib/api/nemSignTransaction.js +29 -0
- package/lib/api/pushTransaction.d.ts +14 -0
- package/lib/api/pushTransaction.js +40 -0
- package/lib/api/rebootToBootloader.d.ts +8 -0
- package/lib/api/rebootToBootloader.js +43 -0
- package/lib/api/recoveryDevice.d.ts +8 -0
- package/lib/api/recoveryDevice.js +57 -0
- package/lib/api/requestLogin.d.ts +12 -0
- package/lib/api/requestLogin.js +63 -0
- package/lib/api/resetDevice.d.ts +9 -0
- package/lib/api/resetDevice.js +59 -0
- package/lib/api/rippleGetAddress.d.ts +22 -0
- package/lib/api/rippleGetAddress.js +126 -0
- package/lib/api/rippleSignTransaction.d.ts +10 -0
- package/lib/api/rippleSignTransaction.js +54 -0
- package/lib/api/setProxy.d.ts +8 -0
- package/lib/api/setProxy.js +26 -0
- package/lib/api/signMessage.d.ts +7 -0
- package/lib/api/signMessage.js +51 -0
- package/lib/api/signTransaction.d.ts +21 -0
- package/lib/api/signTransaction.js +146 -0
- package/lib/api/stellar/stellarSignTx.d.ts +5 -0
- package/lib/api/stellar/stellarSignTx.js +198 -0
- package/lib/api/stellarGetAddress.d.ts +22 -0
- package/lib/api/stellarGetAddress.js +126 -0
- package/lib/api/stellarSignTransaction.d.ts +23 -0
- package/lib/api/stellarSignTransaction.js +62 -0
- package/lib/api/tezos/tezosSignTx.d.ts +4 -0
- package/lib/api/tezos/tezosSignTx.js +237 -0
- package/lib/api/tezosGetAddress.d.ts +22 -0
- package/lib/api/tezosGetAddress.js +126 -0
- package/lib/api/tezosGetPublicKey.d.ts +10 -0
- package/lib/api/tezosGetPublicKey.js +72 -0
- package/lib/api/tezosSignTransaction.d.ts +7 -0
- package/lib/api/tezosSignTransaction.js +30 -0
- package/lib/api/verifyMessage.d.ts +7 -0
- package/lib/api/verifyMessage.js +47 -0
- package/lib/api/wipeDevice.d.ts +8 -0
- package/lib/api/wipeDevice.js +41 -0
- package/lib/backend/BlockchainLink.d.ts +75 -0
- package/lib/backend/BlockchainLink.js +298 -0
- package/lib/constants/cardano.d.ts +9 -0
- package/lib/constants/cardano.js +14 -0
- package/lib/constants/errors.d.ts +49 -0
- package/lib/constants/errors.js +62 -0
- package/lib/constants/index.d.ts +6 -0
- package/lib/constants/index.js +10 -0
- package/lib/constants/nem.d.ts +22 -0
- package/lib/constants/nem.js +28 -0
- package/lib/constants/network.d.ts +13 -0
- package/lib/constants/network.js +15 -0
- package/lib/core/AbstractMethod.d.ts +59 -0
- package/lib/core/AbstractMethod.js +159 -0
- package/lib/core/index.d.ts +16 -0
- package/lib/core/index.js +671 -0
- package/lib/core/method.d.ts +6 -0
- package/lib/core/method.js +19 -0
- package/lib/data/DataManager.d.ts +31 -0
- package/lib/data/DataManager.js +98 -0
- package/lib/data/coinInfo.d.ts +37 -0
- package/lib/data/coinInfo.js +278 -0
- package/lib/data/config.d.ts +98 -0
- package/lib/data/config.js +201 -0
- package/lib/data/connectSettings.d.ts +6 -0
- package/lib/data/connectSettings.js +150 -0
- package/lib/data/firmwareInfo.d.ts +11 -0
- package/lib/data/firmwareInfo.js +148 -0
- package/lib/data/transportInfo.d.ts +4 -0
- package/lib/data/transportInfo.js +29 -0
- package/lib/data/udevInfo.d.ts +3 -0
- package/lib/data/udevInfo.js +21 -0
- package/lib/data/version.d.ts +3 -0
- package/lib/data/version.js +7 -0
- package/lib/device/AbortController.d.ts +21 -0
- package/lib/device/AbortController.js +40 -0
- package/lib/device/DescriptorStream.d.ts +28 -0
- package/lib/device/DescriptorStream.js +139 -0
- package/lib/device/Device.d.ts +105 -0
- package/lib/device/Device.js +527 -0
- package/lib/device/DeviceCommands.d.ts +63 -0
- package/lib/device/DeviceCommands.js +465 -0
- package/lib/device/DeviceList.d.ts +76 -0
- package/lib/device/DeviceList.js +411 -0
- package/lib/events/blockchain.d.ts +56 -0
- package/lib/events/blockchain.js +18 -0
- package/lib/events/call.d.ts +41 -0
- package/lib/events/call.js +14 -0
- package/lib/events/core.d.ts +20 -0
- package/lib/events/core.js +28 -0
- package/lib/events/device.d.ts +40 -0
- package/lib/events/device.js +28 -0
- package/lib/events/iframe.d.ts +39 -0
- package/lib/events/iframe.js +18 -0
- package/lib/events/index.d.ts +62 -0
- package/lib/events/index.js +21 -0
- package/lib/events/popup.d.ts +51 -0
- package/lib/events/popup.js +22 -0
- package/lib/events/transport.d.ts +62 -0
- package/lib/events/transport.js +21 -0
- package/lib/events/ui-promise.d.ts +12 -0
- package/lib/events/ui-promise.js +3 -0
- package/lib/events/ui-request.d.ts +180 -0
- package/lib/events/ui-request.js +50 -0
- package/lib/events/ui-response.d.ts +97 -0
- package/lib/events/ui-response.js +25 -0
- package/lib/exports.d.ts +5 -0
- package/lib/exports.js +10 -0
- package/lib/factory.d.ts +20 -0
- package/lib/factory.js +122 -0
- package/lib/index-browser.d.ts +4 -0
- package/lib/index-browser.js +29 -0
- package/lib/index.d.ts +11 -0
- package/lib/index.js +236 -0
- package/lib/types/account.d.ts +37 -0
- package/lib/types/account.js +3 -0
- package/lib/types/api/applyFlags.d.ts +4 -0
- package/lib/types/api/applyFlags.js +3 -0
- package/lib/types/api/applySettings.d.ts +4 -0
- package/lib/types/api/applySettings.js +3 -0
- package/lib/types/api/authorizeCoinJoin.d.ts +14 -0
- package/lib/types/api/authorizeCoinJoin.js +3 -0
- package/lib/types/api/backupDevice.d.ts +4 -0
- package/lib/types/api/backupDevice.js +3 -0
- package/lib/types/api/binanceGetAddress.d.ts +4 -0
- package/lib/types/api/binanceGetAddress.js +3 -0
- package/lib/types/api/binanceGetPublicKey.d.ts +4 -0
- package/lib/types/api/binanceGetPublicKey.js +3 -0
- package/lib/types/api/binanceSignTransaction.d.ts +31 -0
- package/lib/types/api/binanceSignTransaction.js +3 -0
- package/lib/types/api/blockchainDisconnect.d.ts +5 -0
- package/lib/types/api/blockchainDisconnect.js +3 -0
- package/lib/types/api/blockchainEstimateFee.d.ts +29 -0
- package/lib/types/api/blockchainEstimateFee.js +3 -0
- package/lib/types/api/blockchainGetAccountBalanceHistory.d.ts +4 -0
- package/lib/types/api/blockchainGetAccountBalanceHistory.js +3 -0
- package/lib/types/api/blockchainGetCurrentFiatRates.d.ts +4 -0
- package/lib/types/api/blockchainGetCurrentFiatRates.js +3 -0
- package/lib/types/api/blockchainGetFiatRatesForTimestamps.d.ts +4 -0
- package/lib/types/api/blockchainGetFiatRatesForTimestamps.js +3 -0
- package/lib/types/api/blockchainGetTransactions.d.ts +7 -0
- package/lib/types/api/blockchainGetTransactions.js +3 -0
- package/lib/types/api/blockchainSetCustomBackend.d.ts +7 -0
- package/lib/types/api/blockchainSetCustomBackend.js +3 -0
- package/lib/types/api/blockchainSubscribe.d.ts +7 -0
- package/lib/types/api/blockchainSubscribe.js +3 -0
- package/lib/types/api/blockchainSubscribeFiatRates.d.ts +7 -0
- package/lib/types/api/blockchainSubscribeFiatRates.js +3 -0
- package/lib/types/api/blockchainUnsubscribe.d.ts +5 -0
- package/lib/types/api/blockchainUnsubscribe.js +3 -0
- package/lib/types/api/blockchainUnsubscribeFiatRates.d.ts +5 -0
- package/lib/types/api/blockchainUnsubscribeFiatRates.js +3 -0
- package/lib/types/api/cancel.d.ts +2 -0
- package/lib/types/api/cancel.js +3 -0
- package/lib/types/api/cardanoGetAddress.d.ts +35 -0
- package/lib/types/api/cardanoGetAddress.js +3 -0
- package/lib/types/api/cardanoGetNativeScriptHash.d.ts +21 -0
- package/lib/types/api/cardanoGetNativeScriptHash.js +3 -0
- package/lib/types/api/cardanoGetPublicKey.d.ts +16 -0
- package/lib/types/api/cardanoGetPublicKey.js +3 -0
- package/lib/types/api/cardanoSignTransaction.d.ts +130 -0
- package/lib/types/api/cardanoSignTransaction.js +3 -0
- package/lib/types/api/changePin.d.ts +4 -0
- package/lib/types/api/changePin.js +3 -0
- package/lib/types/api/cipherKeyValue.d.ts +17 -0
- package/lib/types/api/cipherKeyValue.js +3 -0
- package/lib/types/api/composeTransaction.d.ts +92 -0
- package/lib/types/api/composeTransaction.js +3 -0
- package/lib/types/api/customMessage.d.ts +12 -0
- package/lib/types/api/customMessage.js +3 -0
- package/lib/types/api/disableWebUSB.d.ts +2 -0
- package/lib/types/api/disableWebUSB.js +3 -0
- package/lib/types/api/dispose.d.ts +2 -0
- package/lib/types/api/dispose.js +3 -0
- package/lib/types/api/eosGetPublicKey.d.ts +14 -0
- package/lib/types/api/eosGetPublicKey.js +3 -0
- package/lib/types/api/eosSignTransaction.d.ts +111 -0
- package/lib/types/api/eosSignTransaction.js +3 -0
- package/lib/types/api/ethereumGetAddress.d.ts +4 -0
- package/lib/types/api/ethereumGetAddress.js +3 -0
- package/lib/types/api/ethereumGetPublicKey.d.ts +5 -0
- package/lib/types/api/ethereumGetPublicKey.js +3 -0
- package/lib/types/api/ethereumSignMessage.d.ts +9 -0
- package/lib/types/api/ethereumSignMessage.js +3 -0
- package/lib/types/api/ethereumSignTransaction.d.ts +40 -0
- package/lib/types/api/ethereumSignTransaction.js +3 -0
- package/lib/types/api/ethereumSignTypedData.d.ts +42 -0
- package/lib/types/api/ethereumSignTypedData.js +3 -0
- package/lib/types/api/ethereumVerifyMessage.d.ts +10 -0
- package/lib/types/api/ethereumVerifyMessage.js +3 -0
- package/lib/types/api/firmwareUpdate.d.ts +14 -0
- package/lib/types/api/firmwareUpdate.js +3 -0
- package/lib/types/api/getAccountInfo.d.ts +14 -0
- package/lib/types/api/getAccountInfo.js +3 -0
- package/lib/types/api/getAddress.d.ts +13 -0
- package/lib/types/api/getAddress.js +3 -0
- package/lib/types/api/getCoinInfo.d.ts +4 -0
- package/lib/types/api/getCoinInfo.js +3 -0
- package/lib/types/api/getDeviceState.d.ts +6 -0
- package/lib/types/api/getDeviceState.js +3 -0
- package/lib/types/api/getFeatures.d.ts +4 -0
- package/lib/types/api/getFeatures.js +3 -0
- package/lib/types/api/getOwnershipId.d.ts +15 -0
- package/lib/types/api/getOwnershipId.js +3 -0
- package/lib/types/api/getOwnershipProof.d.ts +19 -0
- package/lib/types/api/getOwnershipProof.js +3 -0
- package/lib/types/api/getPublicKey.d.ts +19 -0
- package/lib/types/api/getPublicKey.js +3 -0
- package/lib/types/api/getSettings.d.ts +4 -0
- package/lib/types/api/getSettings.js +3 -0
- package/lib/types/api/index.d.ts +149 -0
- package/lib/types/api/index.js +3 -0
- package/lib/types/api/init.d.ts +5 -0
- package/lib/types/api/init.js +3 -0
- package/lib/types/api/manifest.d.ts +3 -0
- package/lib/types/api/manifest.js +3 -0
- package/lib/types/api/nemGetAddress.d.ts +7 -0
- package/lib/types/api/nemGetAddress.js +3 -0
- package/lib/types/api/nemSignTransaction.d.ts +92 -0
- package/lib/types/api/nemSignTransaction.js +3 -0
- package/lib/types/api/off.d.ts +11 -0
- package/lib/types/api/off.js +3 -0
- package/lib/types/api/on.d.ts +14 -0
- package/lib/types/api/on.js +3 -0
- package/lib/types/api/pushTransaction.d.ts +10 -0
- package/lib/types/api/pushTransaction.js +3 -0
- package/lib/types/api/rebootToBootloader.d.ts +4 -0
- package/lib/types/api/rebootToBootloader.js +3 -0
- package/lib/types/api/recoveryDevice.d.ts +7 -0
- package/lib/types/api/recoveryDevice.js +3 -0
- package/lib/types/api/removeAllListeners.d.ts +3 -0
- package/lib/types/api/removeAllListeners.js +3 -0
- package/lib/types/api/renderWebUSBButton.d.ts +2 -0
- package/lib/types/api/renderWebUSBButton.js +3 -0
- package/lib/types/api/requestLogin.d.ts +20 -0
- package/lib/types/api/requestLogin.js +3 -0
- package/lib/types/api/resetDevice.d.ts +16 -0
- package/lib/types/api/resetDevice.js +3 -0
- package/lib/types/api/rippleGetAddress.d.ts +4 -0
- package/lib/types/api/rippleGetAddress.js +3 -0
- package/lib/types/api/rippleSignTransaction.d.ts +23 -0
- package/lib/types/api/rippleSignTransaction.js +3 -0
- package/lib/types/api/setProxy.d.ts +9 -0
- package/lib/types/api/setProxy.js +3 -0
- package/lib/types/api/signMessage.d.ts +11 -0
- package/lib/types/api/signMessage.js +3 -0
- package/lib/types/api/signTransaction.d.ts +70 -0
- package/lib/types/api/signTransaction.js +3 -0
- package/lib/types/api/stellarGetAddress.d.ts +4 -0
- package/lib/types/api/stellarGetAddress.js +3 -0
- package/lib/types/api/stellarSignTransaction.d.ts +182 -0
- package/lib/types/api/stellarSignTransaction.js +3 -0
- package/lib/types/api/tezosGetAddress.d.ts +4 -0
- package/lib/types/api/tezosGetAddress.js +3 -0
- package/lib/types/api/tezosGetPublicKey.d.ts +4 -0
- package/lib/types/api/tezosGetPublicKey.js +3 -0
- package/lib/types/api/tezosSignTransaction.d.ts +61 -0
- package/lib/types/api/tezosSignTransaction.js +3 -0
- package/lib/types/api/uiResponse.d.ts +3 -0
- package/lib/types/api/uiResponse.js +3 -0
- package/lib/types/api/verifyMessage.d.ts +11 -0
- package/lib/types/api/verifyMessage.js +3 -0
- package/lib/types/api/wipeDevice.d.ts +4 -0
- package/lib/types/api/wipeDevice.js +3 -0
- package/lib/types/coinInfo.d.ts +79 -0
- package/lib/types/coinInfo.js +3 -0
- package/lib/types/device.d.ts +92 -0
- package/lib/types/device.js +3 -0
- package/lib/types/firmware.d.ts +36 -0
- package/lib/types/firmware.js +3 -0
- package/lib/types/index.d.ts +15 -0
- package/lib/types/index.js +11 -0
- package/lib/types/params.d.ts +56 -0
- package/lib/types/params.js +3 -0
- package/lib/types/settings.d.ts +34 -0
- package/lib/types/settings.js +3 -0
- package/lib/types/utils.d.ts +15 -0
- package/lib/types/utils.js +3 -0
- package/lib/utils/__fixtures__/accountUtils.d.ts +4 -0
- package/lib/utils/__fixtures__/accountUtils.js +32 -0
- package/lib/utils/__fixtures__/addressUtils.d.ts +10 -0
- package/lib/utils/__fixtures__/addressUtils.js +214 -0
- package/lib/utils/__fixtures__/ethereumUtils.d.ts +3 -0
- package/lib/utils/__fixtures__/ethereumUtils.js +20 -0
- package/lib/utils/__fixtures__/formatUtils.d.ts +3 -0
- package/lib/utils/__fixtures__/formatUtils.js +15 -0
- package/lib/utils/__fixtures__/hdnodeUtils.d.ts +186 -0
- package/lib/utils/__fixtures__/hdnodeUtils.js +206 -0
- package/lib/utils/accountUtils.d.ts +11 -0
- package/lib/utils/accountUtils.js +99 -0
- package/lib/utils/addressUtils.d.ts +3 -0
- package/lib/utils/addressUtils.js +32 -0
- package/lib/utils/assets-browser.d.ts +2 -0
- package/lib/utils/assets-browser.js +21 -0
- package/lib/utils/assets.d.ts +2 -0
- package/lib/utils/assets.js +28 -0
- package/lib/utils/bip39.d.ts +3 -0
- package/lib/utils/bip39.js +2053 -0
- package/lib/utils/browserUtils.d.ts +21 -0
- package/lib/utils/browserUtils.js +100 -0
- package/lib/utils/bufferUtils.d.ts +3 -0
- package/lib/utils/bufferUtils.js +11 -0
- package/lib/utils/debug.d.ts +24 -0
- package/lib/utils/debug.js +90 -0
- package/lib/utils/deferred.d.ts +18 -0
- package/lib/utils/deferred.js +66 -0
- package/lib/utils/deviceFeaturesUtils.d.ts +6 -0
- package/lib/utils/deviceFeaturesUtils.js +115 -0
- package/lib/utils/ethereumUtils.d.ts +3 -0
- package/lib/utils/ethereumUtils.js +12 -0
- package/lib/utils/firmwareUtils.d.ts +7 -0
- package/lib/utils/firmwareUtils.js +28 -0
- package/lib/utils/formatUtils.d.ts +8 -0
- package/lib/utils/formatUtils.js +57 -0
- package/lib/utils/hdnodeUtils.d.ts +8 -0
- package/lib/utils/hdnodeUtils.js +80 -0
- package/lib/utils/interactionTimeout.d.ts +10 -0
- package/lib/utils/interactionTimeout.js +34 -0
- package/lib/utils/objectUtils.d.ts +10 -0
- package/lib/utils/objectUtils.js +37 -0
- package/lib/utils/pathUtils.d.ts +20 -0
- package/lib/utils/pathUtils.js +159 -0
- package/lib/utils/promiseUtils.d.ts +2 -0
- package/lib/utils/promiseUtils.js +8 -0
- package/lib/utils/urlUtils.d.ts +5 -0
- package/lib/utils/urlUtils.js +27 -0
- package/lib/utils/versionUtils.d.ts +6 -0
- package/lib/utils/versionUtils.js +72 -0
- package/lib/utils/windowsUtils.d.ts +2 -0
- package/lib/utils/windowsUtils.js +6 -0
- package/lib/workers/RNUsbPlugin.d.ts +31 -0
- package/lib/workers/RNUsbPlugin.js +65 -0
- package/lib/workers/workers-browser.d.ts +8 -0
- package/lib/workers/workers-browser.js +19 -0
- package/lib/workers/workers-react-native.d.ts +8 -0
- package/lib/workers/workers-react-native.js +19 -0
- package/lib/workers/workers.d.ts +10 -0
- package/lib/workers/workers.js +17 -0
- package/package.json +62 -0
package/LICENSE.md
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# TREZOR REFERENCE SOURCE LICENSE (T-RSL)
|
|
2
|
+
|
|
3
|
+
This license governs use of the accompanying software. If you use the software,
|
|
4
|
+
you accept this license. If you do not accept the license, do not use the
|
|
5
|
+
software.
|
|
6
|
+
|
|
7
|
+
## 1. Definitions
|
|
8
|
+
|
|
9
|
+
The terms "reproduce," "reproduction" and "distribution" have the same meaning
|
|
10
|
+
here as under U.S. copyright law.
|
|
11
|
+
|
|
12
|
+
"You" means the licensee of the software.
|
|
13
|
+
|
|
14
|
+
"Your company" means the company you worked for when you downloaded the
|
|
15
|
+
software.
|
|
16
|
+
|
|
17
|
+
"Reference use" means use of the software within your company as a reference,
|
|
18
|
+
in read only form, for the sole purposes of debugging your products,
|
|
19
|
+
maintaining your products, or enhancing the interoperability of your products
|
|
20
|
+
with the software, and specifically excludes the right to distribute the
|
|
21
|
+
software outside of your company.
|
|
22
|
+
|
|
23
|
+
"Licensed patents" means any Licensor patent claims which read directly on the
|
|
24
|
+
software as distributed by the Licensor under this license.
|
|
25
|
+
|
|
26
|
+
## 2. Grant of Rights
|
|
27
|
+
|
|
28
|
+
(A) Copyright Grant - Subject to the terms of this license, the Licensor grants
|
|
29
|
+
you a non-transferable, non-exclusive, worldwide, royalty-free copyright
|
|
30
|
+
license to reproduce the software for reference use.
|
|
31
|
+
|
|
32
|
+
(B) Patent Grant - Subject to the terms of this license, the Licensor grants
|
|
33
|
+
you a non-transferable, non-exclusive, worldwide, royalty-free patent license
|
|
34
|
+
under licensed patents for reference use.
|
|
35
|
+
|
|
36
|
+
## 3. Limitations
|
|
37
|
+
|
|
38
|
+
(A) No Trademark License - This license does not grant you any rights to use
|
|
39
|
+
the Licensor's name, logo, or trademarks.
|
|
40
|
+
|
|
41
|
+
(B) If you begin patent litigation against the Licensor over patents that you
|
|
42
|
+
think may apply to the software (including a cross-claim or counterclaim in
|
|
43
|
+
a lawsuit), your license to the software ends automatically.
|
|
44
|
+
|
|
45
|
+
(C) The software is licensed "as-is." You bear the risk of using it. The
|
|
46
|
+
Licensor gives no express warranties, guarantees or conditions. You may have
|
|
47
|
+
additional consumer rights under your local laws which this license cannot
|
|
48
|
+
change. To the extent permitted under your local laws, the Licensor excludes
|
|
49
|
+
the implied warranties of merchantability, fitness for a particular purpose and
|
|
50
|
+
non-infringement.
|
package/README.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# @trezor/connect API version 9.0.0-beta.1
|
|
2
|
+
|
|
3
|
+
[](https://github.com/trezor/trezor-suite/actions/workflows/connect-test.yml)
|
|
4
|
+
[](https://www.npmjs.org/package/@trezor/connect)
|
|
5
|
+
[](https://snyk.io/test/github/trezor/trezor-suite?targetFile=packages/connect/package.json)
|
|
6
|
+
|
|
7
|
+
Trezor Connect is a platform for easy integration of Trezor into 3rd party services, as well as into Trezor Suite. It provides an API with functionality to access public keys, sign transactions and authenticate users.
|
|
8
|
+
|
|
9
|
+
User interface is presented in a secure popup window served from `connect.trezor.io/<version>/popup.html`. To try it out, use [@trezor/connect-explorer](../connect-explorer) hosted [here](https://trezor.github.io/trezor-suite/connect-explorer).
|
|
10
|
+
|
|
11
|
+
- [Integration](https://github.com/trezor/trezor-suite/blob/develop/docs/packages/connect/index.md)
|
|
12
|
+
|
|
13
|
+
## Versions
|
|
14
|
+
|
|
15
|
+
### Version 9+ (experimental)
|
|
16
|
+
|
|
17
|
+
Since version 9 we are adopting a new versioning strategy. With every release, we are going to update two urls
|
|
18
|
+
|
|
19
|
+
- A] The latest release will always be available on https://connect.trezor.io/9/trezor-connect.js.
|
|
20
|
+
- B] For those who like to have more control over their dependencies, there will be also a new url created in form of https://connect.trezor.io/9.1../trezor-connect.js. Please note that these endpoints will not receive any further updates including security updates.
|
|
21
|
+
|
|
22
|
+
Version 9+ will be available as `@trezor/connect` and `@trezor/connect-web` npm packages.
|
|
23
|
+
|
|
24
|
+
### Version 8 (stable)
|
|
25
|
+
|
|
26
|
+
Currently, we are at version 8, which has an url https://connect.trezor.io/8/trezor-connect.js.
|
|
27
|
+
|
|
28
|
+
Version 8 is available as `trezor-connect` npm package.
|
|
29
|
+
|
|
30
|
+
If you would like to find out which version is deployed precisely simply run:
|
|
31
|
+
|
|
32
|
+
`curl -s https://connect.trezor.io/8/trezor-connect.js | grep VERSION`
|
|
33
|
+
|
|
34
|
+
With regards to this repo - All updates should go to current version branch, the previous releases are in corresponding branches. The gh-pages is the same older version, that is used at trezor.github.io/connect/connect.js, and it's there for backwards compatibility; please don't touch.
|
|
35
|
+
|
|
36
|
+
## Tests
|
|
37
|
+
|
|
38
|
+
For integration testing against trezord and emulator refer to [this document](https://github.com/trezor/trezor-suite/blob/develop/packages/integration-tests/projects/connect/README.md).
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AbstractMethod } from '../core/AbstractMethod';
|
|
2
|
+
import type { PROTO } from '../constants';
|
|
3
|
+
export default class ApplyFlags extends AbstractMethod<'applyFlags', PROTO.ApplyFlags> {
|
|
4
|
+
init(): void;
|
|
5
|
+
confirmation(): Promise<boolean>;
|
|
6
|
+
run(): Promise<PROTO.Success>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=applyFlags.d.ts.map
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const AbstractMethod_1 = require("../core/AbstractMethod");
|
|
4
|
+
const paramsValidator_1 = require("./common/paramsValidator");
|
|
5
|
+
const events_1 = require("../events");
|
|
6
|
+
class ApplyFlags extends AbstractMethod_1.AbstractMethod {
|
|
7
|
+
init() {
|
|
8
|
+
this.requiredPermissions = ['management'];
|
|
9
|
+
this.useDeviceState = false;
|
|
10
|
+
const { payload } = this;
|
|
11
|
+
(0, paramsValidator_1.validateParams)(payload, [{ name: 'flags', type: 'number', required: true }]);
|
|
12
|
+
this.params = {
|
|
13
|
+
flags: payload.flags,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
async confirmation() {
|
|
17
|
+
await this.getPopupPromise().promise;
|
|
18
|
+
const uiPromise = this.createUiPromise(events_1.UI.RECEIVE_CONFIRMATION);
|
|
19
|
+
this.postMessage((0, events_1.createUiMessage)(events_1.UI.REQUEST_CONFIRMATION, {
|
|
20
|
+
view: 'device-management',
|
|
21
|
+
customConfirmButton: {
|
|
22
|
+
className: 'confirm',
|
|
23
|
+
label: 'Proceed',
|
|
24
|
+
},
|
|
25
|
+
label: 'Do you really want to apply flags?',
|
|
26
|
+
}));
|
|
27
|
+
const uiResp = await uiPromise.promise;
|
|
28
|
+
return uiResp.payload;
|
|
29
|
+
}
|
|
30
|
+
async run() {
|
|
31
|
+
const cmd = this.device.getCommands();
|
|
32
|
+
const response = await cmd.typedCall('ApplyFlags', 'Success', this.params);
|
|
33
|
+
return response.message;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.default = ApplyFlags;
|
|
37
|
+
//# sourceMappingURL=applyFlags.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AbstractMethod } from '../core/AbstractMethod';
|
|
2
|
+
import type { PROTO } from '../constants';
|
|
3
|
+
export default class ApplySettings extends AbstractMethod<'applySettings', PROTO.ApplySettings> {
|
|
4
|
+
init(): void;
|
|
5
|
+
confirmation(): Promise<boolean>;
|
|
6
|
+
run(): Promise<PROTO.Success>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=applySettings.d.ts.map
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const AbstractMethod_1 = require("../core/AbstractMethod");
|
|
4
|
+
const events_1 = require("../events");
|
|
5
|
+
const paramsValidator_1 = require("./common/paramsValidator");
|
|
6
|
+
class ApplySettings extends AbstractMethod_1.AbstractMethod {
|
|
7
|
+
init() {
|
|
8
|
+
this.requiredPermissions = ['management'];
|
|
9
|
+
this.useDeviceState = false;
|
|
10
|
+
const { payload } = this;
|
|
11
|
+
(0, paramsValidator_1.validateParams)(payload, [
|
|
12
|
+
{ name: 'language', type: 'string' },
|
|
13
|
+
{ name: 'label', type: 'string' },
|
|
14
|
+
{ name: 'use_passphrase', type: 'boolean' },
|
|
15
|
+
{ name: 'homescreen', type: 'string' },
|
|
16
|
+
{ name: 'passphrase_source', type: 'number' },
|
|
17
|
+
{ name: 'passphrase_always_on_device', type: 'boolean' },
|
|
18
|
+
{ name: 'auto_lock_delay_ms', type: 'number' },
|
|
19
|
+
{ name: 'display_rotation', type: 'number' },
|
|
20
|
+
{ name: 'safety_checks', type: 'string' },
|
|
21
|
+
{ name: 'experimental_features', type: 'boolean' },
|
|
22
|
+
]);
|
|
23
|
+
this.params = {
|
|
24
|
+
language: payload.language,
|
|
25
|
+
label: payload.label,
|
|
26
|
+
use_passphrase: payload.use_passphrase,
|
|
27
|
+
homescreen: payload.homescreen,
|
|
28
|
+
passphrase_always_on_device: payload.passphrase_always_on_device,
|
|
29
|
+
auto_lock_delay_ms: payload.auto_lock_delay_ms,
|
|
30
|
+
display_rotation: payload.display_rotation,
|
|
31
|
+
safety_checks: payload.safety_checks,
|
|
32
|
+
experimental_features: payload.experimental_features,
|
|
33
|
+
_passphrase_source: payload.passphrase_source,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
async confirmation() {
|
|
37
|
+
await this.getPopupPromise().promise;
|
|
38
|
+
const uiPromise = this.createUiPromise(events_1.UI.RECEIVE_CONFIRMATION);
|
|
39
|
+
this.postMessage((0, events_1.createUiMessage)(events_1.UI.REQUEST_CONFIRMATION, {
|
|
40
|
+
view: 'device-management',
|
|
41
|
+
customConfirmButton: {
|
|
42
|
+
className: 'confirm',
|
|
43
|
+
label: 'Proceed',
|
|
44
|
+
},
|
|
45
|
+
label: 'Do you really want to change device settings?',
|
|
46
|
+
}));
|
|
47
|
+
const uiResp = await uiPromise.promise;
|
|
48
|
+
return uiResp.payload;
|
|
49
|
+
}
|
|
50
|
+
async run() {
|
|
51
|
+
const cmd = this.device.getCommands();
|
|
52
|
+
const response = await cmd.typedCall('ApplySettings', 'Success', this.params);
|
|
53
|
+
return response.message;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.default = ApplySettings;
|
|
57
|
+
//# sourceMappingURL=applySettings.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AbstractMethod } from '../core/AbstractMethod';
|
|
2
|
+
import { PROTO } from '../constants';
|
|
3
|
+
export default class AuthorizeCoinJoin extends AbstractMethod<'authorizeCoinJoin', PROTO.AuthorizeCoinJoin> {
|
|
4
|
+
init(): void;
|
|
5
|
+
run(): Promise<PROTO.Success>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=authorizeCoinJoin.d.ts.map
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const AbstractMethod_1 = require("../core/AbstractMethod");
|
|
4
|
+
const paramsValidator_1 = require("./common/paramsValidator");
|
|
5
|
+
const pathUtils_1 = require("../utils/pathUtils");
|
|
6
|
+
const coinInfo_1 = require("../data/coinInfo");
|
|
7
|
+
class AuthorizeCoinJoin extends AbstractMethod_1.AbstractMethod {
|
|
8
|
+
init() {
|
|
9
|
+
const { payload } = this;
|
|
10
|
+
(0, paramsValidator_1.validateParams)(payload, [
|
|
11
|
+
{ name: 'path', required: true },
|
|
12
|
+
{ name: 'coordinator', type: 'string', required: true },
|
|
13
|
+
{ name: 'maxRounds', type: 'number', required: true },
|
|
14
|
+
{ name: 'maxCoordinatorFeeRate', type: 'number', required: true },
|
|
15
|
+
{ name: 'maxFeePerKvbyte', type: 'number', required: true },
|
|
16
|
+
{ name: 'coin', type: 'string' },
|
|
17
|
+
{ name: 'scriptType', type: 'string' },
|
|
18
|
+
{ name: 'amountUnit', type: 'uint' },
|
|
19
|
+
]);
|
|
20
|
+
const address_n = (0, pathUtils_1.validatePath)(payload.path, 3);
|
|
21
|
+
const script_type = payload.scriptType || (0, pathUtils_1.getScriptType)(address_n);
|
|
22
|
+
const coinInfo = (0, coinInfo_1.getBitcoinNetwork)(payload.coin || address_n);
|
|
23
|
+
this.firmwareRange = (0, paramsValidator_1.getFirmwareRange)(this.name, coinInfo, this.firmwareRange);
|
|
24
|
+
this.params = {
|
|
25
|
+
coordinator: payload.coordinator,
|
|
26
|
+
max_rounds: payload.maxRounds,
|
|
27
|
+
max_coordinator_fee_rate: payload.maxCoordinatorFeeRate,
|
|
28
|
+
max_fee_per_kvbyte: payload.maxFeePerKvbyte,
|
|
29
|
+
address_n,
|
|
30
|
+
coin_name: coinInfo === null || coinInfo === void 0 ? void 0 : coinInfo.name,
|
|
31
|
+
script_type,
|
|
32
|
+
amount_unit: payload.amountUnit,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
async run() {
|
|
36
|
+
const cmd = this.device.getCommands();
|
|
37
|
+
if (!this.device.features.experimental_features) {
|
|
38
|
+
await cmd.typedCall('ApplySettings', 'Success', { experimental_features: true });
|
|
39
|
+
}
|
|
40
|
+
const response = await cmd.typedCall('AuthorizeCoinJoin', 'Success', this.params);
|
|
41
|
+
return response.message;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.default = AuthorizeCoinJoin;
|
|
45
|
+
//# sourceMappingURL=authorizeCoinJoin.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AbstractMethod } from '../core/AbstractMethod';
|
|
2
|
+
export default class BackupDevice extends AbstractMethod<'backupDevice'> {
|
|
3
|
+
init(): void;
|
|
4
|
+
confirmation(): Promise<boolean>;
|
|
5
|
+
run(): Promise<import("packages/transport/lib/types/messages").Success>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=backupDevice.d.ts.map
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const AbstractMethod_1 = require("../core/AbstractMethod");
|
|
4
|
+
const events_1 = require("../events");
|
|
5
|
+
class BackupDevice extends AbstractMethod_1.AbstractMethod {
|
|
6
|
+
init() {
|
|
7
|
+
this.requiredPermissions = ['management'];
|
|
8
|
+
this.useDeviceState = false;
|
|
9
|
+
}
|
|
10
|
+
async confirmation() {
|
|
11
|
+
await this.getPopupPromise().promise;
|
|
12
|
+
const uiPromise = this.createUiPromise(events_1.UI.RECEIVE_CONFIRMATION);
|
|
13
|
+
this.postMessage((0, events_1.createUiMessage)(events_1.UI.REQUEST_CONFIRMATION, {
|
|
14
|
+
view: 'device-management',
|
|
15
|
+
customConfirmButton: {
|
|
16
|
+
className: 'confirm',
|
|
17
|
+
label: 'Proceed',
|
|
18
|
+
},
|
|
19
|
+
label: 'Do you want to initiate backup procedure?',
|
|
20
|
+
}));
|
|
21
|
+
const uiResp = await uiPromise.promise;
|
|
22
|
+
return uiResp.payload;
|
|
23
|
+
}
|
|
24
|
+
async run() {
|
|
25
|
+
const cmd = this.device.getCommands();
|
|
26
|
+
const response = await cmd.typedCall('BackupDevice', 'Success');
|
|
27
|
+
return response.message;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.default = BackupDevice;
|
|
31
|
+
//# sourceMappingURL=backupDevice.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { PROTO } from '../../constants';
|
|
2
|
+
import type { BinanceSDKTransaction, BinancePreparedTransaction } from '../../types/api/binanceSignTransaction';
|
|
3
|
+
import type { TypedCall } from '../../device/DeviceCommands';
|
|
4
|
+
export declare const validate: (tx: BinanceSDKTransaction) => BinancePreparedTransaction;
|
|
5
|
+
export declare const signTx: (typedCall: TypedCall, address_n: number[], tx: BinancePreparedTransaction) => Promise<PROTO.BinanceSignedTx>;
|
|
6
|
+
//# sourceMappingURL=binanceSignTx.d.ts.map
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.signTx = exports.validate = void 0;
|
|
4
|
+
const constants_1 = require("../../constants");
|
|
5
|
+
const paramsValidator_1 = require("../common/paramsValidator");
|
|
6
|
+
const processTxRequest = async (typedCall, messages, index) => {
|
|
7
|
+
const { type, ...params } = messages[index];
|
|
8
|
+
const lastOp = index + 1 >= messages.length;
|
|
9
|
+
if (lastOp) {
|
|
10
|
+
const response = await typedCall(type, 'BinanceSignedTx', params);
|
|
11
|
+
return response.message;
|
|
12
|
+
}
|
|
13
|
+
await typedCall(type, 'BinanceTxRequest', params);
|
|
14
|
+
index++;
|
|
15
|
+
return processTxRequest(typedCall, messages, index);
|
|
16
|
+
};
|
|
17
|
+
const validate = (tx) => {
|
|
18
|
+
(0, paramsValidator_1.validateParams)(tx, [
|
|
19
|
+
{ name: 'chain_id', type: 'string', required: true },
|
|
20
|
+
{ name: 'account_number', type: 'number' },
|
|
21
|
+
{ name: 'memo', type: 'string' },
|
|
22
|
+
{ name: 'sequence', type: 'number' },
|
|
23
|
+
{ name: 'source', type: 'number' },
|
|
24
|
+
{ name: 'message', type: 'object' },
|
|
25
|
+
]);
|
|
26
|
+
const preparedTx = {
|
|
27
|
+
chain_id: tx.chain_id,
|
|
28
|
+
account_number: tx.account_number || 0,
|
|
29
|
+
memo: tx.memo,
|
|
30
|
+
sequence: tx.sequence || 0,
|
|
31
|
+
source: tx.source || 0,
|
|
32
|
+
messages: [],
|
|
33
|
+
};
|
|
34
|
+
const { transfer, placeOrder, cancelOrder } = tx;
|
|
35
|
+
if (transfer) {
|
|
36
|
+
(0, paramsValidator_1.validateParams)(transfer, [
|
|
37
|
+
{ name: 'inputs', type: 'array', required: true },
|
|
38
|
+
{ name: 'outputs', type: 'array', required: true },
|
|
39
|
+
]);
|
|
40
|
+
preparedTx.messages.push({
|
|
41
|
+
...transfer,
|
|
42
|
+
type: 'BinanceTransferMsg',
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
if (placeOrder) {
|
|
46
|
+
(0, paramsValidator_1.validateParams)(placeOrder, [
|
|
47
|
+
{ name: 'id', type: 'string' },
|
|
48
|
+
{ name: 'ordertype', type: 'number' },
|
|
49
|
+
{ name: 'price', type: 'number' },
|
|
50
|
+
{ name: 'quantity', type: 'number' },
|
|
51
|
+
{ name: 'sender', type: 'string' },
|
|
52
|
+
{ name: 'side', type: 'number' },
|
|
53
|
+
]);
|
|
54
|
+
preparedTx.messages.push({
|
|
55
|
+
...placeOrder,
|
|
56
|
+
type: 'BinanceOrderMsg',
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
if (cancelOrder) {
|
|
60
|
+
(0, paramsValidator_1.validateParams)(cancelOrder, [
|
|
61
|
+
{ name: 'refid', type: 'string', required: true },
|
|
62
|
+
{ name: 'sender', type: 'string', required: true },
|
|
63
|
+
{ name: 'symbol', type: 'string', required: true },
|
|
64
|
+
]);
|
|
65
|
+
preparedTx.messages.push({
|
|
66
|
+
...cancelOrder,
|
|
67
|
+
type: 'BinanceCancelMsg',
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
if (preparedTx.messages.length < 1) {
|
|
71
|
+
throw constants_1.ERRORS.TypedError('Method_InvalidParameter', 'Transaction does not have any message');
|
|
72
|
+
}
|
|
73
|
+
return preparedTx;
|
|
74
|
+
};
|
|
75
|
+
exports.validate = validate;
|
|
76
|
+
const signTx = async (typedCall, address_n, tx) => {
|
|
77
|
+
const { account_number, chain_id, memo, sequence, source, messages } = tx;
|
|
78
|
+
const msg_count = messages.length;
|
|
79
|
+
await typedCall('BinanceSignTx', 'BinanceTxRequest', {
|
|
80
|
+
address_n,
|
|
81
|
+
msg_count,
|
|
82
|
+
account_number,
|
|
83
|
+
chain_id,
|
|
84
|
+
memo,
|
|
85
|
+
sequence,
|
|
86
|
+
source,
|
|
87
|
+
});
|
|
88
|
+
return processTxRequest(typedCall, messages, 0);
|
|
89
|
+
};
|
|
90
|
+
exports.signTx = signTx;
|
|
91
|
+
//# sourceMappingURL=binanceSignTx.js.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { AbstractMethod } from '../core/AbstractMethod';
|
|
2
|
+
import { PROTO } from '../constants';
|
|
3
|
+
declare type Params = PROTO.BinanceGetAddress & {
|
|
4
|
+
address?: string;
|
|
5
|
+
};
|
|
6
|
+
export default class BinanceGetAddress extends AbstractMethod<'binanceGetAddress', Params[]> {
|
|
7
|
+
hasBundle?: boolean;
|
|
8
|
+
progress: number;
|
|
9
|
+
confirmed?: boolean;
|
|
10
|
+
init(): void;
|
|
11
|
+
getButtonRequestData(code: string): {
|
|
12
|
+
type: "address";
|
|
13
|
+
serializedPath: string;
|
|
14
|
+
address: string;
|
|
15
|
+
} | undefined;
|
|
16
|
+
confirmation(): Promise<boolean>;
|
|
17
|
+
noBackupConfirmation(): Promise<boolean>;
|
|
18
|
+
_call({ address_n, show_display }: Params): Promise<PROTO.BinanceAddress>;
|
|
19
|
+
run(): Promise<import("..").Address | import("..").Address[]>;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=binanceGetAddress.d.ts.map
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const AbstractMethod_1 = require("../core/AbstractMethod");
|
|
4
|
+
const paramsValidator_1 = require("./common/paramsValidator");
|
|
5
|
+
const coinInfo_1 = require("../data/coinInfo");
|
|
6
|
+
const pathUtils_1 = require("../utils/pathUtils");
|
|
7
|
+
const constants_1 = require("../constants");
|
|
8
|
+
const events_1 = require("../events");
|
|
9
|
+
class BinanceGetAddress extends AbstractMethod_1.AbstractMethod {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.progress = 0;
|
|
13
|
+
}
|
|
14
|
+
init() {
|
|
15
|
+
this.requiredPermissions = ['read'];
|
|
16
|
+
this.firmwareRange = (0, paramsValidator_1.getFirmwareRange)(this.name, (0, coinInfo_1.getMiscNetwork)('BNB'), this.firmwareRange);
|
|
17
|
+
this.hasBundle = !!this.payload.bundle;
|
|
18
|
+
const payload = !this.payload.bundle
|
|
19
|
+
? { ...this.payload, bundle: [this.payload] }
|
|
20
|
+
: this.payload;
|
|
21
|
+
(0, paramsValidator_1.validateParams)(payload, [
|
|
22
|
+
{ name: 'bundle', type: 'array' },
|
|
23
|
+
{ name: 'useEventListener', type: 'boolean' },
|
|
24
|
+
]);
|
|
25
|
+
this.params = payload.bundle.map(batch => {
|
|
26
|
+
(0, paramsValidator_1.validateParams)(batch, [
|
|
27
|
+
{ name: 'path', required: true },
|
|
28
|
+
{ name: 'address', type: 'string' },
|
|
29
|
+
{ name: 'showOnTrezor', type: 'boolean' },
|
|
30
|
+
]);
|
|
31
|
+
const path = (0, pathUtils_1.validatePath)(batch.path, 3);
|
|
32
|
+
return {
|
|
33
|
+
address_n: path,
|
|
34
|
+
address: batch.address,
|
|
35
|
+
show_display: typeof batch.showOnTrezor === 'boolean' ? batch.showOnTrezor : true,
|
|
36
|
+
};
|
|
37
|
+
});
|
|
38
|
+
const useEventListener = payload.useEventListener &&
|
|
39
|
+
this.params.length === 1 &&
|
|
40
|
+
typeof this.params[0].address === 'string' &&
|
|
41
|
+
this.params[0].show_display;
|
|
42
|
+
this.confirmed = useEventListener;
|
|
43
|
+
this.useUi = !useEventListener;
|
|
44
|
+
if (this.params.length === 1) {
|
|
45
|
+
this.info = `Export Binance address for account #${(0, pathUtils_1.fromHardened)(this.params[0].address_n[2]) + 1}`;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
this.info = 'Export multiple Binance addresses';
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
getButtonRequestData(code) {
|
|
52
|
+
if (code === 'ButtonRequest_Address') {
|
|
53
|
+
return {
|
|
54
|
+
type: 'address',
|
|
55
|
+
serializedPath: (0, pathUtils_1.getSerializedPath)(this.params[this.progress].address_n),
|
|
56
|
+
address: this.params[this.progress].address || 'not-set',
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
async confirmation() {
|
|
61
|
+
if (this.confirmed)
|
|
62
|
+
return true;
|
|
63
|
+
await this.getPopupPromise().promise;
|
|
64
|
+
const uiPromise = this.createUiPromise(events_1.UI.RECEIVE_CONFIRMATION);
|
|
65
|
+
this.postMessage((0, events_1.createUiMessage)(events_1.UI.REQUEST_CONFIRMATION, {
|
|
66
|
+
view: 'export-address',
|
|
67
|
+
label: this.info,
|
|
68
|
+
}));
|
|
69
|
+
const uiResp = await uiPromise.promise;
|
|
70
|
+
this.confirmed = uiResp.payload;
|
|
71
|
+
return this.confirmed;
|
|
72
|
+
}
|
|
73
|
+
async noBackupConfirmation() {
|
|
74
|
+
await this.getPopupPromise().promise;
|
|
75
|
+
const uiPromise = this.createUiPromise(events_1.UI.RECEIVE_CONFIRMATION);
|
|
76
|
+
this.postMessage((0, events_1.createUiMessage)(events_1.UI.REQUEST_CONFIRMATION, {
|
|
77
|
+
view: 'no-backup',
|
|
78
|
+
}));
|
|
79
|
+
const uiResp = await uiPromise.promise;
|
|
80
|
+
return uiResp.payload;
|
|
81
|
+
}
|
|
82
|
+
async _call({ address_n, show_display }) {
|
|
83
|
+
const cmd = this.device.getCommands();
|
|
84
|
+
const response = await cmd.typedCall('BinanceGetAddress', 'BinanceAddress', {
|
|
85
|
+
address_n,
|
|
86
|
+
show_display,
|
|
87
|
+
});
|
|
88
|
+
return response.message;
|
|
89
|
+
}
|
|
90
|
+
async run() {
|
|
91
|
+
const responses = [];
|
|
92
|
+
for (let i = 0; i < this.params.length; i++) {
|
|
93
|
+
const batch = this.params[i];
|
|
94
|
+
if (batch.show_display) {
|
|
95
|
+
const silent = await this._call({
|
|
96
|
+
...batch,
|
|
97
|
+
show_display: false,
|
|
98
|
+
});
|
|
99
|
+
if (typeof batch.address === 'string') {
|
|
100
|
+
if (batch.address !== silent.address) {
|
|
101
|
+
throw constants_1.ERRORS.TypedError('Method_AddressNotMatch');
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
batch.address = silent.address;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
const response = await this._call(batch);
|
|
109
|
+
responses.push({
|
|
110
|
+
path: batch.address_n,
|
|
111
|
+
serializedPath: (0, pathUtils_1.getSerializedPath)(batch.address_n),
|
|
112
|
+
address: response.address,
|
|
113
|
+
});
|
|
114
|
+
if (this.hasBundle) {
|
|
115
|
+
this.postMessage((0, events_1.createUiMessage)(events_1.UI.BUNDLE_PROGRESS, {
|
|
116
|
+
progress: i,
|
|
117
|
+
response,
|
|
118
|
+
}));
|
|
119
|
+
}
|
|
120
|
+
this.progress++;
|
|
121
|
+
}
|
|
122
|
+
return this.hasBundle ? responses : responses[0];
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
exports.default = BinanceGetAddress;
|
|
126
|
+
//# sourceMappingURL=binanceGetAddress.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AbstractMethod } from '../core/AbstractMethod';
|
|
2
|
+
import type { PROTO } from '../constants';
|
|
3
|
+
export default class BinanceGetPublicKey extends AbstractMethod<'binanceGetPublicKey', PROTO.BinanceGetPublicKey[]> {
|
|
4
|
+
hasBundle?: boolean;
|
|
5
|
+
confirmed?: boolean;
|
|
6
|
+
init(): void;
|
|
7
|
+
confirmation(): Promise<boolean>;
|
|
8
|
+
run(): Promise<import("..").PublicKey | import("..").PublicKey[]>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=binanceGetPublicKey.d.ts.map
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const AbstractMethod_1 = require("../core/AbstractMethod");
|
|
4
|
+
const paramsValidator_1 = require("./common/paramsValidator");
|
|
5
|
+
const coinInfo_1 = require("../data/coinInfo");
|
|
6
|
+
const pathUtils_1 = require("../utils/pathUtils");
|
|
7
|
+
const events_1 = require("../events");
|
|
8
|
+
class BinanceGetPublicKey extends AbstractMethod_1.AbstractMethod {
|
|
9
|
+
init() {
|
|
10
|
+
this.requiredPermissions = ['read'];
|
|
11
|
+
this.firmwareRange = (0, paramsValidator_1.getFirmwareRange)(this.name, (0, coinInfo_1.getMiscNetwork)('BNB'), this.firmwareRange);
|
|
12
|
+
this.info = 'Export Binance public key';
|
|
13
|
+
this.hasBundle = !!this.payload.bundle;
|
|
14
|
+
const payload = !this.payload.bundle
|
|
15
|
+
? { ...this.payload, bundle: [this.payload] }
|
|
16
|
+
: this.payload;
|
|
17
|
+
(0, paramsValidator_1.validateParams)(payload, [{ name: 'bundle', type: 'array' }]);
|
|
18
|
+
this.params = payload.bundle.map(batch => {
|
|
19
|
+
(0, paramsValidator_1.validateParams)(batch, [
|
|
20
|
+
{ name: 'path', required: true },
|
|
21
|
+
{ name: 'showOnTrezor', type: 'boolean' },
|
|
22
|
+
]);
|
|
23
|
+
const path = (0, pathUtils_1.validatePath)(batch.path, 3);
|
|
24
|
+
return {
|
|
25
|
+
address_n: path,
|
|
26
|
+
show_display: typeof batch.showOnTrezor === 'boolean' ? batch.showOnTrezor : true,
|
|
27
|
+
};
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
async confirmation() {
|
|
31
|
+
if (this.confirmed)
|
|
32
|
+
return true;
|
|
33
|
+
await this.getPopupPromise().promise;
|
|
34
|
+
const uiPromise = this.createUiPromise(events_1.UI.RECEIVE_CONFIRMATION);
|
|
35
|
+
let label;
|
|
36
|
+
if (this.params.length > 1) {
|
|
37
|
+
label = 'Export multiple Binance public keys';
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
label = `Export Binance public key for account #${(0, pathUtils_1.fromHardened)(this.params[0].address_n[2]) + 1}`;
|
|
41
|
+
}
|
|
42
|
+
this.postMessage((0, events_1.createUiMessage)(events_1.UI.REQUEST_CONFIRMATION, {
|
|
43
|
+
view: 'export-address',
|
|
44
|
+
label,
|
|
45
|
+
}));
|
|
46
|
+
const uiResp = await uiPromise.promise;
|
|
47
|
+
this.confirmed = uiResp.payload;
|
|
48
|
+
return this.confirmed;
|
|
49
|
+
}
|
|
50
|
+
async run() {
|
|
51
|
+
const responses = [];
|
|
52
|
+
const cmd = this.device.getCommands();
|
|
53
|
+
for (let i = 0; i < this.params.length; i++) {
|
|
54
|
+
const batch = this.params[i];
|
|
55
|
+
const { message } = await cmd.typedCall('BinanceGetPublicKey', 'BinancePublicKey', batch);
|
|
56
|
+
responses.push({
|
|
57
|
+
path: batch.address_n,
|
|
58
|
+
serializedPath: (0, pathUtils_1.getSerializedPath)(batch.address_n),
|
|
59
|
+
publicKey: message.public_key,
|
|
60
|
+
});
|
|
61
|
+
if (this.hasBundle) {
|
|
62
|
+
this.postMessage((0, events_1.createUiMessage)(events_1.UI.BUNDLE_PROGRESS, {
|
|
63
|
+
progress: i,
|
|
64
|
+
response: message,
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return this.hasBundle ? responses : responses[0];
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.default = BinanceGetPublicKey;
|
|
72
|
+
//# sourceMappingURL=binanceGetPublicKey.js.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AbstractMethod } from '../core/AbstractMethod';
|
|
2
|
+
import type { BinancePreparedTransaction } from '../types/api/binanceSignTransaction';
|
|
3
|
+
declare type Params = {
|
|
4
|
+
path: number[];
|
|
5
|
+
transaction: BinancePreparedTransaction;
|
|
6
|
+
};
|
|
7
|
+
export default class BinanceSignTransaction extends AbstractMethod<'binanceSignTransaction', Params> {
|
|
8
|
+
init(): void;
|
|
9
|
+
run(): Promise<import("packages/transport/lib/types/messages").BinanceSignedTx>;
|
|
10
|
+
}
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=binanceSignTransaction.d.ts.map
|